UNPKG

@kubb/cli

Version:

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

1 lines 2.9 kB
{"version":3,"sources":["../src/commands/validate.ts"],"names":["init_cjs_shims","createJiti","importMetaUrl","defineCommand","args","showUsage","consola","process"],"mappings":";;;;;;;;;;;;;;AAAAA,gCAAA,EAAA;AAMA,IAAM,IAAA,GAAOC,kBAAWC,+BAAiB,EAAA;AAAA,EACvC,UAAY,EAAA;AACd,CAAC,CAAA;AAED,IAAM,IAAO,GAAA;AAAA,EACX,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,QAAA;AAAA,IACN,WAAa,EAAA,8BAAA;AAAA,IACb,KAAO,EAAA;AAAA,GACT;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,SAAA;AAAA,IACN,WAAa,EAAA,WAAA;AAAA,IACb,KAAO,EAAA,GAAA;AAAA,IACP,OAAS,EAAA;AAAA;AAEb,CAAA;AAIA,IAAM,UAAUC,mBAAc,CAAA;AAAA,EAC5B,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,UAAA;AAAA,IACN,WAAa,EAAA;AAAA,GACf;AAAA,EACA,IAAA;AAAA,EACA,MAAM,IAAI,cAAgB,EAAA;AACxB,IAAM,MAAA,EAAE,IAAAC,EAAAA,KAAAA,EAAS,GAAA,cAAA;AAEjB,IAAA,IAAIA,MAAK,IAAM,EAAA;AACb,MAAA,OAAOC,gBAAU,OAAO,CAAA;AAAA;AAG1B,IAAA,IAAID,MAAK,KAAO,EAAA;AACd,MAAI,IAAA,GAAA;AACJ,MAAI,IAAA;AACF,QAAA,GAAA,GAAM,MAAM,IAAK,CAAA,MAAA,CAAO,aAAa,EAAE,OAAA,EAAS,MAAM,CAAA;AAAA,eAC/C,EAAI,EAAA;AACX,QAAAE,wBAAA,CAAQ,MAAM,CAAoD,kDAAA,CAAA,CAAA;AAAA;AAGpE,MAAM,MAAA,EAAE,OAAU,GAAA,GAAA;AAClB,MAAI,IAAA;AACF,QAAA,MAAM,GAAM,GAAA,MAAM,KAAMF,CAAAA,KAAAA,CAAK,KAAK,CAAA;AAClC,QAAA,MAAM,IAAI,QAAS,EAAA;AAEnB,QAAAE,wBAAA,CAAQ,QAAQ,oBAAoB,CAAA;AAAA,eAC7B,CAAG,EAAA;AACV,QAAAA,wBAAA,CAAQ,KAAK,mBAAmB,CAAA;AAChC,QAAQA,wBAAA,CAAA,GAAA,CAAK,GAAa,OAAO,CAAA;AACjC,QAAAC,wBAAA,CAAQ,KAAK,CAAC,CAAA;AAAA;AAChB;AACF;AAEJ,CAAC,CAAA;AAED,IAAO,gBAAQ,GAAA","file":"validate-534U6NKH.cjs","sourcesContent":["import process from 'node:process'\nimport type { ArgsDef, ParsedArgs } from 'citty'\nimport { defineCommand, showUsage } from 'citty'\nimport consola from 'consola'\nimport { createJiti } from 'jiti'\n\nconst jiti = createJiti(import.meta.url, {\n sourceMaps: true,\n})\n\nconst args = {\n input: {\n type: 'string',\n description: 'Path to Swagger/OpenAPI file',\n alias: 'i',\n },\n help: {\n type: 'boolean',\n description: 'Show help',\n alias: 'h',\n default: false,\n },\n} as const satisfies ArgsDef\n\nexport type Args = ParsedArgs<typeof args>\n\nconst command = defineCommand({\n meta: {\n name: 'validate',\n description: 'Validate a Swagger/OpenAPI file',\n },\n args,\n async run(commandContext) {\n const { args } = commandContext\n\n if (args.help) {\n return showUsage(command)\n }\n\n if (args.input) {\n let mod: any\n try {\n mod = await jiti.import('@kubb/oas', { default: true })\n } catch (_e) {\n consola.error(`Import of '@kubb/oas' is required to do validation`)\n }\n\n const { parse } = mod\n try {\n const oas = await parse(args.input)\n await oas.valdiate()\n\n consola.success('Validation success')\n } catch (e) {\n consola.fail('Validation failed')\n consola.log((e as Error)?.message)\n process.exit(1)\n }\n }\n },\n})\n\nexport default command\n"]}