rapini
Version:
Generate React Query hooks, SWR hooks, Axios requests and Typescript types from OpenAPI files
43 lines (42 loc) • 2.19 kB
JavaScript
;
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();