Skip to content

Commit 5c4b1cc

Browse files
committed
feat: switch to using quicktype to generate types
1 parent 37a957e commit 5c4b1cc

File tree

3 files changed

+1171
-4
lines changed

3 files changed

+1171
-4
lines changed

bin/build.js

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,34 @@
11
#!/usr/bin/env node
22

33
const schema = require('../schema.json');
4-
const { compile } = require('json-schema-to-typescript');
54
const fs = require('fs');
65
const path = require('path');
76
const { promisify } = require('util');
87
const writeFile = promisify(fs.writeFile);
98
const { ensureDir } = require('fs-extra');
109
const {listReleases} = require("@etclabscore/dl-github-releases");
10+
const { quicktype } = require("quicktype");
1111

1212
// errors if you try to run with $ref to draft 7 json schema
1313
schema.definitions.schema.$ref = undefined;
1414

15+
const getQuickTypeSources = (s) => {
16+
return [{
17+
kind: "schema",
18+
name: "OpenRPC",
19+
schema: JSON.stringify(s),
20+
}];
21+
};
22+
1523
const generateTypes = async (s) => {
16-
const ts = await compile(s, "OpenRPC");
24+
const sources = getQuickTypeSources(s);
25+
const result = await quicktype({
26+
lang: "typescript",
27+
leadingComments: undefined,
28+
rendererOptions: { "just-types": true },
29+
sources,
30+
});
31+
const ts = result.lines.join("\n");
1732
const dir = path.resolve(__dirname, "../build/src/");
1833
await ensureDir(dir);
1934
await writeFile(`${dir}/index.d.ts`, ts, "utf8");

0 commit comments

Comments
 (0)