aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/packages/turbo-types/src/scripts
diff options
context:
space:
mode:
author简律纯 <hsiangnianian@outlook.com>2023-04-28 01:36:44 +0800
committer简律纯 <hsiangnianian@outlook.com>2023-04-28 01:36:44 +0800
commitdd84b9d64fb98746a230cd24233ff50a562c39c9 (patch)
treeb583261ef00b3afe72ec4d6dacb31e57779a6faf /packages/turbo-types/src/scripts
parent0b46fcd72ac34382387b2bcf9095233efbcc52f4 (diff)
downloadHydroRoll-dd84b9d64fb98746a230cd24233ff50a562c39c9.tar.gz
HydroRoll-dd84b9d64fb98746a230cd24233ff50a562c39c9.zip
Diffstat (limited to 'packages/turbo-types/src/scripts')
-rw-r--r--packages/turbo-types/src/scripts/codegen.js22
1 files changed, 22 insertions, 0 deletions
diff --git a/packages/turbo-types/src/scripts/codegen.js b/packages/turbo-types/src/scripts/codegen.js
new file mode 100644
index 0000000..cbf0528
--- /dev/null
+++ b/packages/turbo-types/src/scripts/codegen.js
@@ -0,0 +1,22 @@
+#!/usr/bin/env node
+
+const tsj = require("ts-json-schema-generator");
+const fs = require("fs");
+const path = require("path");
+
+/** @type {import('ts-json-schema-generator/dist/src/Config').Config} */
+const config = {
+ path: path.join(__dirname, "../index.ts"),
+ tsconfig: path.join(__dirname, "../../tsconfig.json"),
+ type: "Schema",
+ minify: true,
+};
+
+const outputPath = process.argv[2];
+if (!outputPath) {
+ throw new Error("Missing output path");
+}
+const schema = tsj.createGenerator(config).createSchema(config.type);
+fs.writeFile(outputPath, JSON.stringify(schema), (err) => {
+ if (err) throw err;
+});