UNPKG

@kubb/cli

Version:

Command-line interface for Kubb, enabling easy generation of TypeScript, React-Query, Zod, and other code from OpenAPI specifications.

57 lines (53 loc) 1.64 kB
import { defineCommand, runCommand, runMain } from 'citty'; import consola from 'consola'; import gradientString from 'gradient-string'; import getLatestVersion from 'latest-version'; import { lt } from 'semver'; // src/index.ts // package.json var version = "3.16.1"; // src/index.ts var name = "kubb"; var main = defineCommand({ meta: { name, version, description: "Kubb generation" }, async setup({ rawArgs }) { try { consola.log(gradientString(["#F58517", "#F5A217", "#F55A17"])("Kubb CLI:")); const latestVersion = await getLatestVersion("@kubb/cli"); if (lt(version, latestVersion)) { consola.box({ title: "Update available for `Kubb` ", message: `\`v${version}\` \u2192 \`v${latestVersion}\` Run \`npm install -g @kubb/cli\` to update`, style: { padding: 2, borderColor: "yellow", borderStyle: "rounded" } }); } } catch (_e) { } if (!["generate", "validate", "mcp"].includes(rawArgs[0])) { console.log(rawArgs[0]); const generateCommand = await import('./generate-65TMSGIL.js').then((r) => r.default); await runCommand(generateCommand, { rawArgs }); process.exit(0); } }, subCommands: { generate: () => import('./generate-65TMSGIL.js').then((r) => r.default), validate: () => import('./validate-ONN45RYY.js').then((r) => r.default), mcp: () => import('./mcp-LTBICXYR.js').then((r) => r.default) } }); async function run(_argv) { await runMain(main); } export { run }; //# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map