oazapfts
Version:
OpenApi TypeScript client generator
1 lines • 4.33 kB
Source Map (JSON)
{"version":3,"file":"cli.cjs","names":[],"sources":["../src/cli.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport { readFile, writeFile } from \"fs/promises\";\nimport minimist, { type ParsedArgs } from \"minimist\";\nimport { join } from \"path\";\n\nimport { generateSource } from \"./\";\nimport { argumentStyleOptions } from \"./generate/generateClientMethod\";\nimport { enumStyleOptions } from \"./helpers/getEnumStyle\";\n\nasync function run(argv: ParsedArgs) {\n const {\n include,\n exclude,\n optimistic,\n useEnumType,\n enumStyle,\n mergeReadWriteOnly,\n useUnknown,\n argumentStyle,\n allSchemas,\n numericBooleanQueryParameters,\n futureStripLegacyMethods,\n help,\n version,\n } = argv;\n const [spec, dest] = argv._;\n\n if (help) {\n printUsage();\n process.exit(0);\n }\n\n if (version) {\n const pkg = JSON.parse(\n await readFile(join(__dirname, \"..\", \"package.json\"), \"utf8\"),\n );\n console.log(pkg.version);\n process.exit(0);\n }\n\n if (!spec) {\n printUsage();\n process.exit(1);\n }\n\n if (\n argumentStyle !== undefined &&\n !argumentStyleOptions.includes(argumentStyle)\n ) {\n console.error(\n `--argumentStyle should be one of <${argumentStyleOptions.join(\n \" | \",\n )}>, but got \"${argumentStyle}\"`,\n );\n process.exit(1);\n }\n\n if (enumStyle !== undefined && !enumStyleOptions.includes(enumStyle)) {\n console.error(\n `--enumStyle should be one of <${enumStyleOptions.join(\n \" | \",\n )}>, but got \"${enumStyle}\"`,\n );\n process.exit(1);\n }\n\n const code = await generateSource(spec, {\n include,\n exclude,\n optimistic,\n useEnumType,\n enumStyle,\n useUnknown,\n mergeReadWriteOnly,\n argumentStyle,\n allSchemas,\n numericBooleanQueryParameters,\n futureStripLegacyMethods,\n });\n\n if (dest) await writeFile(dest, code);\n else console.log(code);\n}\n\nfunction printUsage() {\n console.error(`\n Usage:\n oazapfts <spec> [filename]\n\n Options:\n --exclude, -e <tag to exclude>\n --include, -i <tag to include>\n --help, -h\n --version, -v\n --optimistic\n --useEnumType (deprecated, use --enumStyle=enum)\n --enumStyle=<${enumStyleOptions.join(\" | \")}> (default: union)\n --useUnknown\n --mergeReadWriteOnly\n --argumentStyle=<${argumentStyleOptions.join(\" | \")}> (default: positional)\n --allSchemas\n --numericBooleanQueryParameters\n --futureStripLegacyMethods\n`);\n}\n\nrun(\n minimist(process.argv.slice(2), {\n alias: {\n h: \"help\",\n v: \"version\",\n i: \"include\",\n e: \"exclude\",\n },\n boolean: [\n \"help\",\n \"version\",\n \"optimistic\",\n \"useEnumType\",\n \"mergeReadWriteOnly\",\n \"useUnknown\",\n \"allSchemas\",\n \"numericBooleanQueryParameters\",\n \"futureStripLegacyMethods\",\n ],\n string: [\"argumentStyle\", \"enumStyle\"],\n }),\n).catch((error) => {\n console.error(error);\n process.exit(1);\n});\n"],"mappings":";0PAUA,SAAe,EAAI,EAAA,sEAAkB,CACnC,GAAM,CACJ,UACA,UACA,aACA,cACA,YACA,qBACA,aACA,gBACA,aACA,gCACA,2BACA,OACA,WACE,EACE,CAAC,EAAM,GAAQ,EAAK,EAO1B,GALI,IACF,GAAY,CACZ,QAAQ,KAAK,EAAE,EAGb,EAAS,CACX,IAAM,EAAM,KAAK,MACf,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,MAAoB,UAAW,KAAM,eAAe,CAAE,OAAO,CAC9D,CACD,QAAQ,IAAI,EAAI,QAAQ,CACxB,QAAQ,KAAK,EAAE,CAGZ,IACH,GAAY,CACZ,QAAQ,KAAK,EAAE,EAIf,IAAkB,IAAA,IAClB,CAAC,EAAA,EAAqB,SAAS,EAAc,GAE7C,QAAQ,MACN,qCAAqC,EAAA,EAAqB,KACxD,MACD,CAAC,cAAc,EAAc,GAC/B,CACD,QAAQ,KAAK,EAAE,EAGb,IAAc,IAAA,IAAa,CAAC,EAAA,EAAiB,SAAS,EAAU,GAClE,QAAQ,MACN,iCAAiC,EAAA,EAAiB,KAChD,MACD,CAAC,cAAc,EAAU,GAC3B,CACD,QAAQ,KAAK,EAAE,EAGjB,IAAM,EAAO,MAAM,EAAA,EAAe,EAAM,CACtC,UACA,UACA,aACA,cACA,YACA,aACA,qBACA,gBACA,aACA,gCACA,2BACD,CAAC,CAEE,EAAM,MAAA,EAAA,EAAA,WAAgB,EAAM,EAAK,CAChC,QAAQ,IAAI,EAAK,2BAGxB,SAAS,GAAa,CACpB,QAAQ,MAAM;;;;;;;;;;;mBAWG,EAAA,EAAiB,KAAK,MAAM,CAAC;;;uBAGzB,EAAA,EAAqB,KAAK,MAAM,CAAC;;;;EAItD,CAGF,GAAA,EAAA,EAAA,SACW,QAAQ,KAAK,MAAM,EAAE,CAAE,CAC9B,MAAO,CACL,EAAG,OACH,EAAG,UACH,EAAG,UACH,EAAG,UACJ,CACD,QAAS,CACP,OACA,UACA,aACA,cACA,qBACA,aACA,aACA,gCACA,2BACD,CACD,OAAQ,CAAC,gBAAiB,YAAY,CACvC,CAAC,CACH,CAAC,MAAO,GAAU,CACjB,QAAQ,MAAM,EAAM,CACpB,QAAQ,KAAK,EAAE,EACf"}