summary refs log tree commit diff
path: root/api/scripts
diff options
context:
space:
mode:
authorMadeline <46743919+MaddyUnderStars@users.noreply.github.com>2022-07-02 20:41:40 +1000
committerMadeline <46743919+MaddyUnderStars@users.noreply.github.com>2022-07-02 20:41:40 +1000
commitef1ce8d3409a27c9421af11a49620f28cba81af1 (patch)
tree76a1f716100fd95c8d09c37d209d9920c38a0dbd /api/scripts
parentTypescript-json-schema does not crawl extends (diff)
downloadserver-ef1ce8d3409a27c9421af11a49620f28cba81af1.tar.xz
Filter out schemas that block generation instead, and also include util in files
Diffstat (limited to 'api/scripts')
-rw-r--r--api/scripts/generate_schema.js22
1 files changed, 19 insertions, 3 deletions
diff --git a/api/scripts/generate_schema.js b/api/scripts/generate_schema.js

index 7e742ec1..b56c3fbc 100644 --- a/api/scripts/generate_schema.js +++ b/api/scripts/generate_schema.js
@@ -27,7 +27,16 @@ const Excluded = [ "Response", "e.Response", "request.Response", - "supertest.Response" + "supertest.Response", + + // TODO: Figure out how to exclude schemas from node_modules? + "SomeJSONSchema", + "UncheckedPartialSchema", + "PartialSchema", + "UncheckedPropertiesSchema", + "PropertiesSchema", + "AsyncSchema", + "AnySchema", ]; function modify(obj) { @@ -39,11 +48,18 @@ function modify(obj) { } function main() { - const program = TJS.getProgramFromFiles(walk(path.join(__dirname, "..", "src", "routes")), compilerOptions); + const files = [ + ...walk(path.join(__dirname, "..", "src", "routes")), + ...walk(path.join(__dirname, "..", "..", "util", "src")), + ]; + const program = TJS.getProgramFromFiles( + files, + compilerOptions + ); const generator = TJS.buildGenerator(program, settings); if (!generator || !program) return; - const schemas = generator.getUserSymbols().filter((x) => (x.endsWith("Schema") || x.endsWith("Response")) && !Excluded.includes(x)); + let schemas = generator.getUserSymbols().filter((x) => (x.endsWith("Schema") || x.endsWith("Response")) && !Excluded.includes(x)); console.log(schemas); var definitions = {};