@kubb/cli
Version:
Command-line interface for Kubb, enabling easy generation of TypeScript, React-Query, Zod, and other code from OpenAPI specifications.
53 lines (51 loc) • 1.4 kB
JavaScript
const require_chunk = require('./chunk-CNbaEX1y.cjs');
let citty = require("citty");
let node_process = require("node:process");
node_process = require_chunk.__toESM(node_process);
let jiti = require("jiti");
//#region src/commands/validate.ts
const jiti$1 = (0, jiti.createJiti)(require("url").pathToFileURL(__filename).href, { sourceMaps: true });
const command = (0, citty.defineCommand)({
meta: {
name: "validate",
description: "Validate a Swagger/OpenAPI file"
},
args: {
input: {
type: "string",
description: "Path to Swagger/OpenAPI file",
alias: "i"
},
help: {
type: "boolean",
description: "Show help",
alias: "h",
default: false
}
},
async run(commandContext) {
const { args } = commandContext;
if (args.help) return (0, citty.showUsage)(command);
if (args.input) {
let mod;
try {
mod = await jiti$1.import("@kubb/oas", { default: true });
} catch (_e) {
console.error(`Import of '@kubb/oas' is required to do validation`);
node_process.default.exit(1);
}
const { parse } = mod;
try {
await (await parse(args.input)).validate();
console.log("✅ Validation success");
} catch (error) {
console.error("❌ Validation failed");
console.log(error?.message);
node_process.default.exit(1);
}
}
}
});
//#endregion
exports.default = command;
//# sourceMappingURL=validate-BgYhe_55.cjs.map