import { readSchemaFiles } from "../generateLexiconSchema"; import { generateDefinitions } from "../generateLexiconSchema"; import fs from "fs"; const lexiconIds = (await import("../../lexicons.json")).lexicons; const args = process.argv.slice(2); let output: string | null = null; let appendSchema: string[] | null = null; // Parse arguments let i = 0; while (i < args.length) { const arg = args[i]; if (arg === "--output" || arg === "-o") { i++; if (i < args.length) { output = args[i]; i++; } } else if (arg === "--append-schema" || arg === "-a") { i++; if (i < args.length) { appendSchema = appendSchema || []; appendSchema.push(args[i]); i++; } } else { // Positional arguments (lexicon IDs) lexiconIds.push(arg); i++; } } let outputContent = ""; // Append additional schemas if provided via --append-schema if (appendSchema) { const additionalSchemas = await readSchemaFiles(appendSchema); outputContent += additionalSchemas; } // Append the new schema. outputContent += generateDefinitions(lexiconIds).chunks.join("\n\n"); // Write to output file if (output) { fs.writeFileSync(output, outputContent); } else { console.log(outputContent); }