UNPKG

rapini

Version:

Generate React Query hooks, SWR hooks, Axios requests and Typescript types from OpenAPI files

43 lines (42 loc) 2.19 kB
#!/usr/bin/env node "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var generator_1 = require("./react-query/generator"); var generator_2 = require("./swr/generator"); var commander_1 = require("commander"); var program = new commander_1.Command(); var sharedOptions = [ new commander_1.Option("-p, --path <path>", "Path to OpenAPI file"), new commander_1.Option("-n, --name [name]", "Name to use for the generated package").default("rapini-generated-package"), new commander_1.Option("-pv, --package-version [version]", "Semver version to use for the generated package").default("1.0.0"), new commander_1.Option("-o, --output-dir [directory]", "Directory to output the generated package").default("rapini-generated-package"), new commander_1.Option("-b, --base-url [url]", "Prefix every request with this url"), new commander_1.Option("-r, --replacer [oldString] [newString...]", "Replace part(s) of any route's path with simple string replacements. Ex: `-r /api/v1 /api/v2` would replace the v1 with v2 in every route"), ]; var rqCommand = new commander_1.Command("react-query") .description("Generate a Package for TanStack React Query") .addArgument(new commander_1.Argument("[version]") .choices(["v3", "v4", "v5"]) .default("v3", "React Query V3 is the default version")) .action(function (version, options) { console.log("Generating React Query ".concat(version, " package using OpenAPI file ").concat(options.path)); options.reactQueryVersion = version; (0, generator_1.generate)(options); }); var swrComamnd = new commander_1.Command("swr") .description("Generate a Package for SWR (stale-while-revalidate)") .action(function (options) { console.log("Generating SWR package using OpenAPI file ".concat(options.path)); (0, generator_2.generate)(options); }); sharedOptions.forEach(function (option) { rqCommand = rqCommand.addOption(option); swrComamnd = swrComamnd.addOption(option); }); program .name("rapini") .description("Generate a package based on OpenAPI") .version("3.5.0") .addCommand(rqCommand) .addCommand(swrComamnd); program.parse();