aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/packages/turbo-types/src/scripts
diff options
context:
space:
mode:
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;
+});