Skip to content

Commit 1a1b5b4

Browse files
committed
Add WASM module to convert schema.json to OpenAPI
1 parent ada969a commit 1a1b5b4

21 files changed

+4027
-2798
lines changed

compiler/package-lock.json

+11
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

compiler/package.json

+2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
"format:fix": "prettier --config .prettierrc.json --write ../specification/",
1111
"generate-schema": "ts-node src/index.ts",
1212
"transform-expand-generics": "ts-node src/transform/expand-generics.ts",
13+
"transform-to-openapi": "ts-node src/transform/schema-to-openapi.ts",
1314
"filter-by-availability": "ts-node src/transform/filter-by-availability.ts",
1415
"dump-routes": "ts-node src/dump/extract-routes.ts",
1516
"compile:specification": "tsc --project ../specification/tsconfig.json --noEmit",
@@ -36,6 +37,7 @@
3637
"fastest-levenshtein": "^1.0.12",
3738
"ora": "^5.4.1",
3839
"safe-stable-stringify": "^2.3.1",
40+
"schema-wasm-lib": "file:../openapi-converter/schema-wasm-lib/pkg",
3941
"semver": "^7.5.2",
4042
"ts-morph": "^13.0.3",
4143
"zx": "^4.3.0"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import {convert_schema_to_openapi} from 'schema-wasm-lib';
2+
import {argv} from "zx";
3+
import {join} from "path";
4+
import {readFileSync, writeFileSync} from "fs";
5+
6+
7+
const inputPath = argv.input ?? join(__dirname, '..', '..', '..', 'output', 'schema', 'schema.json')
8+
const outputPath = argv.output ?? join(__dirname, '..', '..', '..', 'output', 'openapi', 'elasticsearch-serverless-openapi.json')
9+
10+
const inputText = readFileSync(
11+
inputPath,
12+
{ encoding: 'utf8' }
13+
);
14+
15+
const output = convert_schema_to_openapi(inputText, "serverless");
16+
17+
writeFileSync(
18+
outputPath,
19+
output,
20+
'utf8'
21+
)

openapi-converter/Cargo.lock

+178-16
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

openapi-converter/Cargo.toml

+8-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
[workspace]
2+
resolver = "2"
23
members = [
34
"clients_schema",
45
"openapi_to_clients_schema",
5-
"clients_schema_to_openapi"
6+
"clients_schema_to_openapi",
7+
"schema-wasm-lib",
68
]
9+
10+
[profile.release]
11+
lto = true
12+
# Tell `rustc` to optimize for small code size.
13+
opt-level = "s"

0 commit comments

Comments
 (0)