@kubb/cli 3.0.0-alpha.9 → 3.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,14 +1,14 @@
1
- import {
2
- generate
3
- } from "./chunk-CZ3C3WQD.js";
4
-
5
- // src/commands/generate.ts
6
- import { defineCommand, showUsage } from "citty";
7
- import { execa } from "execa";
8
- import c2 from "tinyrainbow";
9
-
10
- // src/utils/getConfig.ts
11
- import { isPromise } from "@kubb/core/utils";
1
+ import { generate } from './chunk-LA3QWVJI.js';
2
+ import { defineCommand, showUsage } from 'citty';
3
+ import 'execa';
4
+ import c from 'tinyrainbow';
5
+ import { isPromise } from '@kubb/core/utils';
6
+ import { cosmiconfig } from 'cosmiconfig';
7
+ import { createJiti } from 'jiti';
8
+ import { LogMapper, createLogger } from '@kubb/core/logger';
9
+ import path from 'node:path';
10
+ import * as process from 'node:process';
11
+ import { isInputPath, PromiseManager } from '@kubb/core';
12
12
 
13
13
  // src/utils/getPlugins.ts
14
14
  function isJSONPlugins(plugins) {
@@ -56,16 +56,10 @@ async function getConfig(result, args2) {
56
56
  };
57
57
  return JSONConfig;
58
58
  }
59
-
60
- // src/utils/getCosmiConfig.ts
61
- import { bundleRequire } from "bundle-require";
62
- import { cosmiconfig } from "cosmiconfig";
63
59
  var tsLoader = async (configFile) => {
64
- const { mod } = await bundleRequire({
65
- filepath: configFile,
66
- preserveTemporaryFile: false
67
- });
68
- return mod.default;
60
+ const jiti = createJiti(import.meta.url, { jsx: true });
61
+ const mod = await jiti.import(configFile);
62
+ return mod;
69
63
  };
70
64
  async function getCosmiConfig(moduleName, config) {
71
65
  const searchPlaces = [
@@ -104,33 +98,23 @@ async function getCosmiConfig(moduleName, config) {
104
98
  }
105
99
  return result;
106
100
  }
107
-
108
- // src/utils/watcher.ts
109
- import c from "tinyrainbow";
110
- import { createLogger } from "@kubb/core/logger";
111
101
  async function startWatcher(path2, cb) {
112
- const { watch } = await import("chokidar");
113
- const ignored = ["**/{.git,node_modules}/**"];
102
+ const { watch } = await import('chokidar');
114
103
  const logger = createLogger();
104
+ const ignored = "**/{.git,node_modules}/**";
115
105
  const watcher = watch(path2, {
116
106
  ignorePermissionErrors: true,
117
107
  ignored
118
108
  });
119
109
  watcher.on("all", (type, file) => {
120
- logger.emit("info", c.yellow(c.bold(`Change detected: ${type} ${file}`)));
110
+ logger?.emit("info", c.yellow(c.bold(`Change detected: ${type} ${file}`)));
121
111
  try {
122
112
  cb(path2);
123
113
  } catch (e) {
124
114
  logger?.emit("warning", c.red("Watcher failed"));
125
115
  }
126
116
  });
127
- return;
128
117
  }
129
-
130
- // src/commands/generate.ts
131
- import { PromiseManager, isInputPath } from "@kubb/core";
132
- import path from "node:path";
133
- import { createLogger as createLogger2, LogMapper } from "@kubb/core/logger";
134
118
  var args = {
135
119
  config: {
136
120
  type: "string",
@@ -150,12 +134,6 @@ var args = {
150
134
  alias: "w",
151
135
  default: false
152
136
  },
153
- bun: {
154
- type: "boolean",
155
- description: "Run Kubb with Bun",
156
- alias: "b",
157
- default: false
158
- },
159
137
  debug: {
160
138
  type: "boolean",
161
139
  description: "Override logLevel to debug",
@@ -175,7 +153,8 @@ var command = defineCommand({
175
153
  description: "[input] Generate files based on a 'kubb.config.ts' file"
176
154
  },
177
155
  args,
178
- async run({ args: args2 }) {
156
+ async run(commandContext) {
157
+ const { args: args2 } = commandContext;
179
158
  const input = args2._[0];
180
159
  if (args2.help) {
181
160
  showUsage(command);
@@ -184,18 +163,13 @@ var command = defineCommand({
184
163
  if (args2.debug) {
185
164
  args2.logLevel = "debug";
186
165
  }
187
- if (args2.bun) {
188
- const command2 = process.argv.splice(2).filter((item) => item !== "--bun");
189
- await execa("bkubb", command2, { stdout: process.stdout, stderr: process.stderr });
190
- return;
191
- }
192
166
  const logLevel = LogMapper[args2.logLevel] || 3;
193
- const logger = createLogger2({
167
+ const logger = createLogger({
194
168
  logLevel
195
169
  });
196
170
  logger.emit("start", "Loading config");
197
171
  const result = await getCosmiConfig("kubb", args2.config);
198
- logger.emit("success", `Config loaded(${c2.dim(path.relative(process.cwd(), result.filepath))})`);
172
+ logger.emit("success", `Config loaded(${c.dim(path.relative(process.cwd(), result.filepath))})`);
199
173
  const config = await getConfig(result, args2);
200
174
  if (args2.watch) {
201
175
  if (Array.isArray(config)) {
@@ -203,8 +177,8 @@ var command = defineCommand({
203
177
  }
204
178
  if (isInputPath(config)) {
205
179
  return startWatcher([input || config.input.path], async (paths) => {
206
- await generate({ config, args: args2 });
207
- logger.emit("start", c2.yellow(c2.bold(`Watching for changes in ${paths.join(" and ")}`)));
180
+ await generate({ config, args: args2, input });
181
+ logger.emit("start", c.yellow(c.bold(`Watching for changes in ${paths.join(" and ")}`)));
208
182
  });
209
183
  }
210
184
  }
@@ -214,10 +188,21 @@ var command = defineCommand({
214
188
  return promiseManager.run("seq", promises);
215
189
  }
216
190
  await generate({ input, config, args: args2 });
191
+ if (globalThis.isDevtoolsEnabled) {
192
+ const restart = await logger.consola?.prompt("Restart(could be used to validate the profiler)?", {
193
+ type: "confirm",
194
+ initial: false
195
+ });
196
+ if (restart) {
197
+ await command.run?.(commandContext);
198
+ } else {
199
+ process.exit(1);
200
+ }
201
+ }
217
202
  }
218
203
  });
219
204
  var generate_default = command;
220
- export {
221
- generate_default as default
222
- };
223
- //# sourceMappingURL=generate-IFZ2Y6PO.js.map
205
+
206
+ export { generate_default as default };
207
+ //# sourceMappingURL=generate-JA5KME2H.js.map
208
+ //# sourceMappingURL=generate-JA5KME2H.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/getPlugins.ts","../src/utils/getConfig.ts","../src/utils/getCosmiConfig.ts","../src/utils/watcher.ts","../src/commands/generate.ts"],"names":["args","path","createLogger","c"],"mappings":"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","file":"generate-JA5KME2H.js","sourcesContent":["import type { UserConfig } from '@kubb/core'\n\nfunction isJSONPlugins(plugins: UserConfig['plugins']) {\n return !!(plugins as any)?.some((plugin: any) => {\n return Array.isArray(plugin) && typeof plugin?.at(0) === 'string'\n })\n}\n\nfunction isObjectPlugins(plugins: UserConfig['plugins']): plugins is any {\n return plugins instanceof Object && !Array.isArray(plugins)\n}\n\nexport function getPlugins(plugins: UserConfig['plugins']): Promise<UserConfig['plugins']> {\n if (isObjectPlugins(plugins)) {\n throw new Error('Object plugins are not supported anymore, best to use http://kubb.dev/getting-started/configure#json')\n }\n\n if (isJSONPlugins(plugins)) {\n throw new Error('JSON plugins are not supported anymore, best to use http://kubb.dev/getting-started/configure#json')\n }\n\n return Promise.resolve(plugins)\n}\n","import { isPromise } from '@kubb/core/utils'\n\nimport { getPlugins } from './getPlugins.ts'\n\nimport type { Config, UserConfig } from '@kubb/core'\nimport type { Args } from '../commands/generate.ts'\nimport type { CosmiconfigResult } from './getCosmiConfig.ts'\n\n/**\n * Converting UserConfig to Config without a change in the object beside the JSON convert.\n */\nexport async function getConfig(result: CosmiconfigResult, args: Args): Promise<Array<Config> | Config> {\n const config = result?.config\n let kubbUserConfig = Promise.resolve(config) as Promise<UserConfig | Array<UserConfig>>\n\n // for ts or js files\n if (typeof config === 'function') {\n const possiblePromise = config(args)\n if (isPromise(possiblePromise)) {\n kubbUserConfig = possiblePromise\n }\n kubbUserConfig = Promise.resolve(possiblePromise)\n }\n\n let JSONConfig = await kubbUserConfig\n\n if (Array.isArray(JSONConfig)) {\n const promises = JSONConfig.map(async (item) => {\n return {\n ...item,\n plugins: item.plugins ? await getPlugins(item.plugins) : undefined,\n }\n }) as unknown as Array<Promise<Config>>\n\n return Promise.all(promises)\n }\n\n JSONConfig = {\n ...JSONConfig,\n plugins: JSONConfig.plugins ? await getPlugins(JSONConfig.plugins) : undefined,\n }\n\n return JSONConfig as Config\n}\n","import { cosmiconfig } from 'cosmiconfig'\nimport { createJiti } from 'jiti'\n\nimport type { UserConfig, defineConfig } from '@kubb/core'\n\nexport type CosmiconfigResult = {\n filepath: string\n isEmpty?: boolean\n config: ReturnType<typeof defineConfig> | UserConfig\n}\n\nconst tsLoader = async (configFile: string) => {\n const jiti = createJiti(import.meta.url, { jsx: true })\n\n const mod = await jiti.import(configFile)\n\n return mod\n}\n\nexport async function getCosmiConfig(moduleName: string, config?: string): Promise<CosmiconfigResult> {\n const searchPlaces = [\n 'package.json',\n `.${moduleName}rc`,\n `.${moduleName}rc.json`,\n `.${moduleName}rc.yaml`,\n `.${moduleName}rc.yml`,\n\n `.${moduleName}rc.ts`,\n `.${moduleName}rc.js`,\n `.${moduleName}rc.mjs`,\n `.${moduleName}rc.cjs`,\n\n `${moduleName}.config.ts`,\n `${moduleName}.config.js`,\n `${moduleName}.config.mjs`,\n `${moduleName}.config.cjs`,\n ]\n const explorer = cosmiconfig(moduleName, {\n cache: false,\n searchPlaces: [\n ...searchPlaces.map((searchPlace) => {\n return `.config/${searchPlace}`\n }),\n ...searchPlaces.map((searchPlace) => {\n return `configs/${searchPlace}`\n }),\n ...searchPlaces,\n ],\n loaders: {\n '.ts': tsLoader,\n },\n })\n\n const result = config ? await explorer.load(config) : await explorer.search()\n\n if (result?.isEmpty || !result || !result.config) {\n throw new Error('Config not defined, create a kubb.config.js or pass through your config with the option --config')\n }\n\n return result as CosmiconfigResult\n}\n","import { createLogger } from '@kubb/core/logger'\nimport c from 'tinyrainbow'\n\nexport async function startWatcher(path: string[], cb: (path: string[]) => Promise<void>): Promise<void> {\n const { watch } = await import('chokidar')\n const logger = createLogger()\n\n const ignored = '**/{.git,node_modules}/**'\n\n const watcher = watch(path, {\n ignorePermissionErrors: true,\n ignored,\n })\n watcher.on('all', (type, file) => {\n logger?.emit('info', c.yellow(c.bold(`Change detected: ${type} ${file}`)))\n\n try {\n cb(path)\n } catch (e) {\n logger?.emit('warning', c.red('Watcher failed'))\n }\n })\n}\n","import { defineCommand, showUsage } from 'citty'\nimport type { ArgsDef, ParsedArgs } from 'citty'\nimport { execa } from 'execa'\nimport c from 'tinyrainbow'\n\nimport { getConfig } from '../utils/getConfig.ts'\nimport { getCosmiConfig } from '../utils/getCosmiConfig.ts'\nimport { startWatcher } from '../utils/watcher.ts'\n\nimport path from 'node:path'\nimport * as process from 'node:process'\nimport { PromiseManager, isInputPath } from '@kubb/core'\nimport { LogMapper, createLogger } from '@kubb/core/logger'\nimport { generate } from '../generate.ts'\n\ndeclare global {\n var isDevtoolsEnabled: any\n}\n\nconst args = {\n config: {\n type: 'string',\n description: 'Path to the Kubb config',\n alias: 'c',\n },\n logLevel: {\n type: 'string',\n description: 'Info, silent or debug',\n alias: 'l',\n default: 'info',\n valueHint: 'silent|info|debug',\n },\n watch: {\n type: 'boolean',\n description: 'Watch mode based on the input file',\n alias: 'w',\n default: false,\n },\n debug: {\n type: 'boolean',\n description: 'Override logLevel to debug',\n alias: 'd',\n default: false,\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: 'generate',\n description: \"[input] Generate files based on a 'kubb.config.ts' file\",\n },\n args,\n async run(commandContext) {\n const { args } = commandContext\n const input = args._[0]\n\n if (args.help) {\n showUsage(command)\n return\n }\n\n if (args.debug) {\n args.logLevel = 'debug'\n }\n\n const logLevel = LogMapper[args.logLevel as keyof typeof LogMapper] || 3\n const logger = createLogger({\n logLevel,\n })\n\n logger.emit('start', 'Loading config')\n\n const result = await getCosmiConfig('kubb', args.config)\n logger.emit('success', `Config loaded(${c.dim(path.relative(process.cwd(), result.filepath))})`)\n\n const config = await getConfig(result, args)\n\n if (args.watch) {\n if (Array.isArray(config)) {\n throw new Error('Cannot use watcher with multiple Configs(array)')\n }\n\n if (isInputPath(config)) {\n return startWatcher([input || config.input.path], async (paths) => {\n await generate({ config, args, input })\n logger.emit('start', c.yellow(c.bold(`Watching for changes in ${paths.join(' and ')}`)))\n })\n }\n }\n\n if (Array.isArray(config)) {\n const promiseManager = new PromiseManager()\n const promises = config.map((item) => () => generate({ input, config: item, args }))\n\n return promiseManager.run('seq', promises)\n }\n\n await generate({ input, config, args })\n\n if (globalThis.isDevtoolsEnabled) {\n const restart = await logger.consola?.prompt('Restart(could be used to validate the profiler)?', {\n type: 'confirm',\n initial: false,\n })\n\n if (restart) {\n await command.run?.(commandContext)\n } else {\n process.exit(1)\n }\n }\n },\n})\n\nexport default command\n"]}
package/dist/index.cjs CHANGED
@@ -1,21 +1,23 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1
+ 'use strict';
2
2
 
3
+ var chunk53UZIH3L_cjs = require('./chunk-53UZIH3L.cjs');
4
+ var citty = require('citty');
5
+ var getLatestVersion = require('latest-version');
6
+ var semver = require('semver');
7
+ var consola = require('consola');
3
8
 
4
- var _chunkLK3JKOEHcjs = require('./chunk-LK3JKOEH.cjs');
9
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
+
11
+ var getLatestVersion__default = /*#__PURE__*/_interopDefault(getLatestVersion);
12
+ var consola__default = /*#__PURE__*/_interopDefault(consola);
5
13
 
6
14
  // src/index.ts
7
- _chunkLK3JKOEHcjs.init_cjs_shims.call(void 0, );
8
- var _citty = require('citty');
9
- var _latestversion = require('latest-version'); var _latestversion2 = _interopRequireDefault(_latestversion);
10
- var _semver = require('semver');
11
- var _consola = require('consola'); var _consola2 = _interopRequireDefault(_consola);
15
+ chunk53UZIH3L_cjs.init_cjs_shims();
12
16
 
13
17
  // package.json
14
- var version = "3.0.0-alpha.9";
15
-
16
- // src/index.ts
18
+ var version = "3.0.0-beta.2";
17
19
  var name = "kubb";
18
- var main = _citty.defineCommand.call(void 0, {
20
+ var main = citty.defineCommand({
19
21
  meta: {
20
22
  name,
21
23
  version,
@@ -23,9 +25,9 @@ var main = _citty.defineCommand.call(void 0, {
23
25
  },
24
26
  async setup({ rawArgs }) {
25
27
  try {
26
- const latestVersion = await _latestversion2.default.call(void 0, "@kubb/cli");
27
- if (_semver.lt.call(void 0, version, latestVersion)) {
28
- _consola2.default.box({
28
+ const latestVersion = await getLatestVersion__default.default("@kubb/cli");
29
+ if (semver.lt(version, latestVersion)) {
30
+ consola__default.default.box({
29
31
  title: "Update available for `Kubb` ",
30
32
  message: `\`v${version}\` \u2192 \`v${latestVersion}\`
31
33
  Run \`npm install -g @kubb/cli\` to update`,
@@ -39,20 +41,23 @@ Run \`npm install -g @kubb/cli\` to update`,
39
41
  } catch (_e) {
40
42
  }
41
43
  if (rawArgs[0] !== "generate") {
42
- const generateCommand = await Promise.resolve().then(() => _interopRequireWildcard(require("./generate-CMBXNVHT.cjs"))).then((r) => r.default);
43
- await _citty.runCommand.call(void 0, generateCommand, { rawArgs });
44
+ const generateCommand = await import('./generate-GY5YTAID.cjs').then((r) => r.default);
45
+ await citty.runCommand(generateCommand, { rawArgs });
44
46
  process.exit(0);
45
47
  }
46
48
  },
47
49
  subCommands: {
48
- generate: () => Promise.resolve().then(() => _interopRequireWildcard(require("./generate-CMBXNVHT.cjs"))).then((r) => r.default)
50
+ generate: () => import('./generate-GY5YTAID.cjs').then((r) => r.default)
49
51
  }
50
52
  });
51
53
  async function run(_argv) {
52
- await _citty.runMain.call(void 0, main);
54
+ await citty.runMain(main);
53
55
  }
54
56
 
55
-
56
-
57
- exports.generate = _chunkLK3JKOEHcjs.generate; exports.run = run;
57
+ Object.defineProperty(exports, "generate", {
58
+ enumerable: true,
59
+ get: function () { return chunk53UZIH3L_cjs.generate; }
60
+ });
61
+ exports.run = run;
62
+ //# sourceMappingURL=index.cjs.map
58
63
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/kubb/kubb/packages/cli/dist/index.cjs","../src/index.ts","../package.json"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,wDAA6B;AAC7B;AACA;ACLA,8CAAA,CAAA;AAAA,8BAAmD;AACnD,6GAA6B;AAC7B,gCAAmB;AAEnB,oFAAoB;ADOpB;AACA;AEVE,IAAA,QAAA,EAAW,eAAA;AFYb;AACA;ACRA,IAAM,KAAA,EAAO,MAAA;AAEb,IAAM,KAAA,EAAO,kCAAA;AAAc,EACzB,IAAA,EAAM;AAAA,IACJ,IAAA;AAAA,IACA,OAAA;AAAA,IACA,WAAA,EAAa;AAAA,EACf,CAAA;AAAA,EACA,MAAM,KAAA,CAAM,EAAE,QAAQ,CAAA,EAAG;AACvB,IAAA,IAAI;AACF,MAAA,MAAM,cAAA,EAAgB,MAAM,qCAAA,WAA4B,CAAA;AAExD,MAAA,GAAA,CAAI,wBAAA,OAAG,EAAS,aAAa,CAAA,EAAG;AAC9B,QAAA,iBAAA,CAAQ,GAAA,CAAI;AAAA,UACV,KAAA,EAAO,8BAAA;AAAA,UACP,OAAA,EAAS,CAAA,GAAA,EAAM,OAAO,CAAA,aAAA,EAAW,aAAa,CAAA;AAAA,0CAAA,CAAA;AAAA,UAE9C,KAAA,EAAO;AAAA,YACL,OAAA,EAAS,CAAA;AAAA,YACT,WAAA,EAAa,QAAA;AAAA,YACb,WAAA,EAAa;AAAA,UACf;AAAA,QACF,CAAC,CAAA;AAAA,MACH;AAAA,IACF,EAAA,MAAA,CAAS,EAAA,EAAI;AAAA,IAAC;AAEd,IAAA,GAAA,CAAI,OAAA,CAAQ,CAAC,EAAA,IAAM,UAAA,EAAY;AAE7B,MAAA,MAAM,gBAAA,EAAkB,MAAM,4DAAA,CAAO,yBAAwB,GAAA,CAAE,IAAA,CAAK,CAAC,CAAA,EAAA,GAAM,CAAA,CAAE,OAAO,CAAA;AAEpF,MAAA,MAAM,+BAAA,eAAW,EAAiB,EAAE,QAAQ,CAAC,CAAA;AAE7C,MAAA,OAAA,CAAQ,IAAA,CAAK,CAAC,CAAA;AAAA,IAChB;AAAA,EACF,CAAA;AAAA,EACA,WAAA,EAAa;AAAA,IACX,QAAA,EAAU,CAAA,EAAA,GAAM,4DAAA,CAAO,yBAAwB,GAAA,CAAE,IAAA,CAAK,CAAC,CAAA,EAAA,GAAM,CAAA,CAAE,OAAO;AAAA,EACxE;AACF,CAAC,CAAA;AAED,MAAA,SAAsB,GAAA,CAAI,KAAA,EAAiC;AACzD,EAAA,MAAM,4BAAA,IAAY,CAAA;AACpB;ADIA;AACE;AACA;AACF,iEAAC","file":"/home/runner/work/kubb/kubb/packages/cli/dist/index.cjs","sourcesContent":[null,"import { defineCommand, runCommand, runMain } from 'citty'\nimport getLatestVersion from 'latest-version'\nimport { lt } from 'semver'\n\nimport consola from 'consola'\nimport { version } from '../package.json'\n\nconst name = 'kubb'\n\nconst main = defineCommand({\n meta: {\n name,\n version,\n description: 'Kubb generation',\n },\n async setup({ rawArgs }) {\n try {\n const latestVersion = await getLatestVersion('@kubb/cli')\n\n if (lt(version, latestVersion)) {\n consola.box({\n title: 'Update available for `Kubb` ',\n message: `\\`v${version}\\` → \\`v${latestVersion}\\`\nRun \\`npm install -g @kubb/cli\\` to update`,\n style: {\n padding: 2,\n borderColor: 'yellow',\n borderStyle: 'rounded',\n },\n })\n }\n } catch (_e) {}\n\n if (rawArgs[0] !== 'generate') {\n // generate is not being used\n const generateCommand = await import('./commands/generate.ts').then((r) => r.default)\n\n await runCommand(generateCommand, { rawArgs })\n\n process.exit(0)\n }\n },\n subCommands: {\n generate: () => import('./commands/generate.ts').then((r) => r.default),\n },\n})\n\nexport async function run(_argv?: string[]): Promise<void> {\n await runMain(main)\n}\n\nexport { generate } from './generate.ts'\n","{\n \"name\": \"@kubb/cli\",\n \"version\": \"3.0.0-alpha.9\",\n \"description\": \"Generator cli\",\n \"keywords\": [\n \"typescript\",\n \"plugins\",\n \"kubb\",\n \"codegen\",\n \"cli\"\n ],\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git://github.com/kubb-labs/kubb.git\",\n \"directory\": \"packages/cli\"\n },\n \"license\": \"MIT\",\n \"author\": \"Stijn Van Hulle <stijn@stijnvanhulle.be\",\n \"sideEffects\": false,\n \"type\": \"module\",\n \"main\": \"dist/index.cjs\",\n \"module\": \"dist/index.js\",\n \"types\": \"./dist/index.d.ts\",\n \"exports\": {\n \".\": {\n \"import\": \"./dist/index.js\",\n \"require\": \"./dist/index.cjs\",\n \"default\": \"./dist/index.cjs\"\n }\n },\n \"bin\": {\n \"kubb\": \"bin/kubb.cjs\",\n \"bkubb\": \"bin/bkubb.cjs\"\n },\n \"files\": [\n \"src\",\n \"dist\",\n \"bin\",\n \"!/**/**.test.**\",\n \"!/**/__tests__/**\"\n ],\n \"scripts\": {\n \"build\": \"tsup\",\n \"clean\": \"npx rimraf ./dist\",\n \"lint\": \"bun biome lint .\",\n \"lint:fix\": \"bun biome lint --apply-unsafe .\",\n \"release\": \"pnpm publish --no-git-check\",\n \"release:canary\": \"bash ../../.github/canary.sh && node ../../scripts/build.js canary && pnpm publish --no-git-check\",\n \"start\": \"tsup --watch\",\n \"test\": \"vitest --passWithNoTests\",\n \"typecheck\": \"tsc -p ./tsconfig.json --noEmit --emitDeclarationOnly false\"\n },\n \"dependencies\": {\n \"@kubb/core\": \"workspace:*\",\n \"@kubb/fs\": \"workspace:*\",\n \"bundle-require\": \"^5.0.0\",\n \"chokidar\": \"^3.6.0\",\n \"citty\": \"^0.1.6\",\n \"cli-progress\": \"^3.12.0\",\n \"consola\": \"^3.2.3\",\n \"cosmiconfig\": \"^9.0.0\",\n \"esbuild\": \"^0.23.1\",\n \"execa\": \"^9.3.1\",\n \"js-runtime\": \"^0.0.8\",\n \"latest-version\": \"^9.0.0\",\n \"p-queue\": \"^8.0.1\",\n \"semver\": \"^7.6.3\",\n \"string-argv\": \"^0.3.2\",\n \"tinyrainbow\": \"^1.2.0\"\n },\n \"devDependencies\": {\n \"@kubb/config-ts\": \"workspace:*\",\n \"@kubb/config-tsup\": \"workspace:*\",\n \"@kubb/plugin-oas\": \"workspace:*\",\n \"@types/cli-progress\": \"^3.11.6\",\n \"@types/node\": \"^20.16.2\",\n \"@types/semver\": \"^7.5.8\",\n \"source-map-support\": \"^0.5.21\",\n \"tsup\": \"^8.2.4\",\n \"typescript\": \"^5.5.4\"\n },\n \"engines\": {\n \"node\": \">=20\"\n },\n \"preferGlobal\": true,\n \"publishConfig\": {\n \"access\": \"public\",\n \"registry\": \"https://registry.npmjs.org/\"\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/index.ts","../package.json"],"names":["init_cjs_shims","defineCommand","getLatestVersion","lt","consola","runCommand","runMain"],"mappings":";;;;;;;;;;;;;;AAAAA,gCAAA,EAAA,CAAA;;;ACEE,IAAW,OAAA,GAAA,cAAA,CAAA;ADKb,IAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAM,OAAOC,mBAAc,CAAA;AAAA,EACzB,IAAM,EAAA;AAAA,IACJ,IAAA;AAAA,IACA,OAAA;AAAA,IACA,WAAa,EAAA,iBAAA;AAAA,GACf;AAAA,EACA,MAAM,KAAA,CAAM,EAAE,OAAA,EAAW,EAAA;AACvB,IAAI,IAAA;AACF,MAAM,MAAA,aAAA,GAAgB,MAAMC,iCAAA,CAAiB,WAAW,CAAA,CAAA;AAExD,MAAI,IAAAC,SAAA,CAAG,OAAS,EAAA,aAAa,CAAG,EAAA;AAC9B,QAAAC,wBAAA,CAAQ,GAAI,CAAA;AAAA,UACV,KAAO,EAAA,8BAAA;AAAA,UACP,OAAS,EAAA,CAAA,GAAA,EAAM,OAAO,CAAA,aAAA,EAAW,aAAa,CAAA;AAAA,0CAAA,CAAA;AAAA,UAE9C,KAAO,EAAA;AAAA,YACL,OAAS,EAAA,CAAA;AAAA,YACT,WAAa,EAAA,QAAA;AAAA,YACb,WAAa,EAAA,SAAA;AAAA,WACf;AAAA,SACD,CAAA,CAAA;AAAA,OACH;AAAA,aACO,EAAI,EAAA;AAAA,KAAC;AAEd,IAAI,IAAA,OAAA,CAAQ,CAAC,CAAA,KAAM,UAAY,EAAA;AAE7B,MAAM,MAAA,eAAA,GAAkB,MAAM,OAAO,yBAAwB,EAAE,IAAK,CAAA,CAAC,CAAM,KAAA,CAAA,CAAE,OAAO,CAAA,CAAA;AAEpF,MAAA,MAAMC,gBAAW,CAAA,eAAA,EAAiB,EAAE,OAAA,EAAS,CAAA,CAAA;AAE7C,MAAA,OAAA,CAAQ,KAAK,CAAC,CAAA,CAAA;AAAA,KAChB;AAAA,GACF;AAAA,EACA,WAAa,EAAA;AAAA,IACX,QAAA,EAAU,MAAM,OAAO,yBAAwB,EAAE,IAAK,CAAA,CAAC,CAAM,KAAA,CAAA,CAAE,OAAO,CAAA;AAAA,GACxE;AACF,CAAC,CAAA,CAAA;AAED,eAAsB,IAAI,KAAiC,EAAA;AACzD,EAAA,MAAMC,cAAQ,IAAI,CAAA,CAAA;AACpB","file":"index.cjs","sourcesContent":["import { defineCommand, runCommand, runMain } from 'citty'\nimport getLatestVersion from 'latest-version'\nimport { lt } from 'semver'\n\nimport { version } from '../package.json'\nimport consola from 'consola'\n\nconst name = 'kubb'\n\nconst main = defineCommand({\n meta: {\n name,\n version,\n description: 'Kubb generation',\n },\n async setup({ rawArgs }) {\n try {\n const latestVersion = await getLatestVersion('@kubb/cli')\n\n if (lt(version, latestVersion)) {\n consola.box({\n title: 'Update available for `Kubb` ',\n message: `\\`v${version}\\` → \\`v${latestVersion}\\`\nRun \\`npm install -g @kubb/cli\\` to update`,\n style: {\n padding: 2,\n borderColor: 'yellow',\n borderStyle: 'rounded',\n },\n })\n }\n } catch (_e) {}\n\n if (rawArgs[0] !== 'generate') {\n // generate is not being used\n const generateCommand = await import('./commands/generate.ts').then((r) => r.default)\n\n await runCommand(generateCommand, { rawArgs })\n\n process.exit(0)\n }\n },\n subCommands: {\n generate: () => import('./commands/generate.ts').then((r) => r.default),\n },\n})\n\nexport async function run(_argv?: string[]): Promise<void> {\n await runMain(main)\n}\n\nexport { generate } from './generate.ts'\n","{\n \"name\": \"@kubb/cli\",\n \"version\": \"3.0.0-beta.2\",\n \"description\": \"Generator cli\",\n \"keywords\": [\n \"typescript\",\n \"plugins\",\n \"kubb\",\n \"codegen\",\n \"cli\"\n ],\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git://github.com/kubb-labs/kubb.git\",\n \"directory\": \"packages/cli\"\n },\n \"license\": \"MIT\",\n \"author\": \"Stijn Van Hulle <stijn@stijnvanhulle.be\",\n \"sideEffects\": false,\n \"type\": \"module\",\n \"exports\": {\n \".\": {\n \"import\": \"./dist/index.js\",\n \"require\": \"./dist/index.cjs\",\n \"default\": \"./dist/index.cjs\"\n }\n },\n \"main\": \"dist/index.cjs\",\n \"module\": \"dist/index.js\",\n \"types\": \"./dist/index.d.ts\",\n \"bin\": {\n \"kubb\": \"bin/kubb.cjs\"\n },\n \"files\": [\n \"src\",\n \"dist\",\n \"bin\",\n \"!/**/**.test.**\",\n \"!/**/__tests__/**\"\n ],\n \"scripts\": {\n \"build\": \"tsup\",\n \"clean\": \"npx rimraf ./dist\",\n \"lint\": \"bun biome lint .\",\n \"lint:fix\": \"bun biome lint --apply-unsafe .\",\n \"release\": \"pnpm publish --no-git-check\",\n \"release:canary\": \"bash ../../.github/canary.sh && node ../../scripts/build.js canary && pnpm publish --no-git-check\",\n \"start\": \"tsup --watch\",\n \"test\": \"vitest --passWithNoTests\",\n \"typecheck\": \"tsc -p ./tsconfig.json --noEmit --emitDeclarationOnly false\"\n },\n \"dependencies\": {\n \"@kubb/core\": \"workspace:*\",\n \"chokidar\": \"^4.0.1\",\n \"citty\": \"^0.1.6\",\n \"cli-progress\": \"^3.12.0\",\n \"consola\": \"^3.2.3\",\n \"cosmiconfig\": \"^9.0.0\",\n \"execa\": \"^9.4.0\",\n \"jiti\": \"^2.1.2\",\n \"latest-version\": \"^9.0.0\",\n \"p-queue\": \"^8.0.1\",\n \"semver\": \"^7.6.3\",\n \"string-argv\": \"^0.3.2\",\n \"tinyrainbow\": \"^1.2.0\"\n },\n \"devDependencies\": {\n \"@kubb/config-ts\": \"workspace:*\",\n \"@kubb/config-tsup\": \"workspace:*\",\n \"@kubb/plugin-oas\": \"workspace:*\",\n \"@types/cli-progress\": \"^3.11.6\",\n \"@types/node\": \"^20.16.10\",\n \"@types/semver\": \"^7.5.8\",\n \"source-map-support\": \"^0.5.21\",\n \"tsup\": \"^8.3.0\",\n \"typescript\": \"^5.6.2\"\n },\n \"engines\": {\n \"node\": \">=20\"\n },\n \"preferGlobal\": true,\n \"publishConfig\": {\n \"access\": \"public\",\n \"registry\": \"https://registry.npmjs.org/\"\n }\n}\n"]}
package/dist/index.d.cts CHANGED
@@ -1,6 +1,9 @@
1
1
  import { Config } from '@kubb/core';
2
2
  import { ParsedArgs } from 'citty';
3
3
 
4
+ declare global {
5
+ var isDevtoolsEnabled: any;
6
+ }
4
7
  declare const args: {
5
8
  readonly config: {
6
9
  readonly type: "string";
@@ -20,12 +23,6 @@ declare const args: {
20
23
  readonly alias: "w";
21
24
  readonly default: false;
22
25
  };
23
- readonly bun: {
24
- readonly type: "boolean";
25
- readonly description: "Run Kubb with Bun";
26
- readonly alias: "b";
27
- readonly default: false;
28
- };
29
26
  readonly debug: {
30
27
  readonly type: "boolean";
31
28
  readonly description: "Override logLevel to debug";
package/dist/index.d.ts CHANGED
@@ -1,6 +1,9 @@
1
1
  import { Config } from '@kubb/core';
2
2
  import { ParsedArgs } from 'citty';
3
3
 
4
+ declare global {
5
+ var isDevtoolsEnabled: any;
6
+ }
4
7
  declare const args: {
5
8
  readonly config: {
6
9
  readonly type: "string";
@@ -20,12 +23,6 @@ declare const args: {
20
23
  readonly alias: "w";
21
24
  readonly default: false;
22
25
  };
23
- readonly bun: {
24
- readonly type: "boolean";
25
- readonly description: "Run Kubb with Bun";
26
- readonly alias: "b";
27
- readonly default: false;
28
- };
29
26
  readonly debug: {
30
27
  readonly type: "boolean";
31
28
  readonly description: "Override logLevel to debug";
package/dist/index.js CHANGED
@@ -1,17 +1,11 @@
1
- import {
2
- generate
3
- } from "./chunk-CZ3C3WQD.js";
4
-
5
- // src/index.ts
6
- import { defineCommand, runCommand, runMain } from "citty";
7
- import getLatestVersion from "latest-version";
8
- import { lt } from "semver";
9
- import consola from "consola";
1
+ export { generate } from './chunk-LA3QWVJI.js';
2
+ import { defineCommand, runCommand, runMain } from 'citty';
3
+ import getLatestVersion from 'latest-version';
4
+ import { lt } from 'semver';
5
+ import consola from 'consola';
10
6
 
11
7
  // package.json
12
- var version = "3.0.0-alpha.9";
13
-
14
- // src/index.ts
8
+ var version = "3.0.0-beta.2";
15
9
  var name = "kubb";
16
10
  var main = defineCommand({
17
11
  meta: {
@@ -37,20 +31,19 @@ Run \`npm install -g @kubb/cli\` to update`,
37
31
  } catch (_e) {
38
32
  }
39
33
  if (rawArgs[0] !== "generate") {
40
- const generateCommand = await import("./generate-IFZ2Y6PO.js").then((r) => r.default);
34
+ const generateCommand = await import('./generate-JA5KME2H.js').then((r) => r.default);
41
35
  await runCommand(generateCommand, { rawArgs });
42
36
  process.exit(0);
43
37
  }
44
38
  },
45
39
  subCommands: {
46
- generate: () => import("./generate-IFZ2Y6PO.js").then((r) => r.default)
40
+ generate: () => import('./generate-JA5KME2H.js').then((r) => r.default)
47
41
  }
48
42
  });
49
43
  async function run(_argv) {
50
44
  await runMain(main);
51
45
  }
52
- export {
53
- generate,
54
- run
55
- };
46
+
47
+ export { run };
48
+ //# sourceMappingURL=index.js.map
56
49
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../package.json"],"sourcesContent":["import { defineCommand, runCommand, runMain } from 'citty'\nimport getLatestVersion from 'latest-version'\nimport { lt } from 'semver'\n\nimport consola from 'consola'\nimport { version } from '../package.json'\n\nconst name = 'kubb'\n\nconst main = defineCommand({\n meta: {\n name,\n version,\n description: 'Kubb generation',\n },\n async setup({ rawArgs }) {\n try {\n const latestVersion = await getLatestVersion('@kubb/cli')\n\n if (lt(version, latestVersion)) {\n consola.box({\n title: 'Update available for `Kubb` ',\n message: `\\`v${version}\\` → \\`v${latestVersion}\\`\nRun \\`npm install -g @kubb/cli\\` to update`,\n style: {\n padding: 2,\n borderColor: 'yellow',\n borderStyle: 'rounded',\n },\n })\n }\n } catch (_e) {}\n\n if (rawArgs[0] !== 'generate') {\n // generate is not being used\n const generateCommand = await import('./commands/generate.ts').then((r) => r.default)\n\n await runCommand(generateCommand, { rawArgs })\n\n process.exit(0)\n }\n },\n subCommands: {\n generate: () => import('./commands/generate.ts').then((r) => r.default),\n },\n})\n\nexport async function run(_argv?: string[]): Promise<void> {\n await runMain(main)\n}\n\nexport { generate } from './generate.ts'\n","{\n \"name\": \"@kubb/cli\",\n \"version\": \"3.0.0-alpha.9\",\n \"description\": \"Generator cli\",\n \"keywords\": [\n \"typescript\",\n \"plugins\",\n \"kubb\",\n \"codegen\",\n \"cli\"\n ],\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git://github.com/kubb-labs/kubb.git\",\n \"directory\": \"packages/cli\"\n },\n \"license\": \"MIT\",\n \"author\": \"Stijn Van Hulle <stijn@stijnvanhulle.be\",\n \"sideEffects\": false,\n \"type\": \"module\",\n \"main\": \"dist/index.cjs\",\n \"module\": \"dist/index.js\",\n \"types\": \"./dist/index.d.ts\",\n \"exports\": {\n \".\": {\n \"import\": \"./dist/index.js\",\n \"require\": \"./dist/index.cjs\",\n \"default\": \"./dist/index.cjs\"\n }\n },\n \"bin\": {\n \"kubb\": \"bin/kubb.cjs\",\n \"bkubb\": \"bin/bkubb.cjs\"\n },\n \"files\": [\n \"src\",\n \"dist\",\n \"bin\",\n \"!/**/**.test.**\",\n \"!/**/__tests__/**\"\n ],\n \"scripts\": {\n \"build\": \"tsup\",\n \"clean\": \"npx rimraf ./dist\",\n \"lint\": \"bun biome lint .\",\n \"lint:fix\": \"bun biome lint --apply-unsafe .\",\n \"release\": \"pnpm publish --no-git-check\",\n \"release:canary\": \"bash ../../.github/canary.sh && node ../../scripts/build.js canary && pnpm publish --no-git-check\",\n \"start\": \"tsup --watch\",\n \"test\": \"vitest --passWithNoTests\",\n \"typecheck\": \"tsc -p ./tsconfig.json --noEmit --emitDeclarationOnly false\"\n },\n \"dependencies\": {\n \"@kubb/core\": \"workspace:*\",\n \"@kubb/fs\": \"workspace:*\",\n \"bundle-require\": \"^5.0.0\",\n \"chokidar\": \"^3.6.0\",\n \"citty\": \"^0.1.6\",\n \"cli-progress\": \"^3.12.0\",\n \"consola\": \"^3.2.3\",\n \"cosmiconfig\": \"^9.0.0\",\n \"esbuild\": \"^0.23.1\",\n \"execa\": \"^9.3.1\",\n \"js-runtime\": \"^0.0.8\",\n \"latest-version\": \"^9.0.0\",\n \"p-queue\": \"^8.0.1\",\n \"semver\": \"^7.6.3\",\n \"string-argv\": \"^0.3.2\",\n \"tinyrainbow\": \"^1.2.0\"\n },\n \"devDependencies\": {\n \"@kubb/config-ts\": \"workspace:*\",\n \"@kubb/config-tsup\": \"workspace:*\",\n \"@kubb/plugin-oas\": \"workspace:*\",\n \"@types/cli-progress\": \"^3.11.6\",\n \"@types/node\": \"^20.16.2\",\n \"@types/semver\": \"^7.5.8\",\n \"source-map-support\": \"^0.5.21\",\n \"tsup\": \"^8.2.4\",\n \"typescript\": \"^5.5.4\"\n },\n \"engines\": {\n \"node\": \">=20\"\n },\n \"preferGlobal\": true,\n \"publishConfig\": {\n \"access\": \"public\",\n \"registry\": \"https://registry.npmjs.org/\"\n }\n}\n"],"mappings":";;;;;AAAA,SAAS,eAAe,YAAY,eAAe;AACnD,OAAO,sBAAsB;AAC7B,SAAS,UAAU;AAEnB,OAAO,aAAa;;;ACFlB,cAAW;;;ADKb,IAAM,OAAO;AAEb,IAAM,OAAO,cAAc;AAAA,EACzB,MAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,aAAa;AAAA,EACf;AAAA,EACA,MAAM,MAAM,EAAE,QAAQ,GAAG;AACvB,QAAI;AACF,YAAM,gBAAgB,MAAM,iBAAiB,WAAW;AAExD,UAAI,GAAG,SAAS,aAAa,GAAG;AAC9B,gBAAQ,IAAI;AAAA,UACV,OAAO;AAAA,UACP,SAAS,MAAM,OAAO,gBAAW,aAAa;AAAA;AAAA,UAE9C,OAAO;AAAA,YACL,SAAS;AAAA,YACT,aAAa;AAAA,YACb,aAAa;AAAA,UACf;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF,SAAS,IAAI;AAAA,IAAC;AAEd,QAAI,QAAQ,CAAC,MAAM,YAAY;AAE7B,YAAM,kBAAkB,MAAM,OAAO,wBAAwB,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO;AAEpF,YAAM,WAAW,iBAAiB,EAAE,QAAQ,CAAC;AAE7C,cAAQ,KAAK,CAAC;AAAA,IAChB;AAAA,EACF;AAAA,EACA,aAAa;AAAA,IACX,UAAU,MAAM,OAAO,wBAAwB,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO;AAAA,EACxE;AACF,CAAC;AAED,eAAsB,IAAI,OAAiC;AACzD,QAAM,QAAQ,IAAI;AACpB;","names":[]}
1
+ {"version":3,"sources":["../package.json","../src/index.ts"],"names":[],"mappings":";;;;;;;AAEE,IAAW,OAAA,GAAA,cAAA,CAAA;ACKb,IAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAM,OAAO,aAAc,CAAA;AAAA,EACzB,IAAM,EAAA;AAAA,IACJ,IAAA;AAAA,IACA,OAAA;AAAA,IACA,WAAa,EAAA,iBAAA;AAAA,GACf;AAAA,EACA,MAAM,KAAA,CAAM,EAAE,OAAA,EAAW,EAAA;AACvB,IAAI,IAAA;AACF,MAAM,MAAA,aAAA,GAAgB,MAAM,gBAAA,CAAiB,WAAW,CAAA,CAAA;AAExD,MAAI,IAAA,EAAA,CAAG,OAAS,EAAA,aAAa,CAAG,EAAA;AAC9B,QAAA,OAAA,CAAQ,GAAI,CAAA;AAAA,UACV,KAAO,EAAA,8BAAA;AAAA,UACP,OAAS,EAAA,CAAA,GAAA,EAAM,OAAO,CAAA,aAAA,EAAW,aAAa,CAAA;AAAA,0CAAA,CAAA;AAAA,UAE9C,KAAO,EAAA;AAAA,YACL,OAAS,EAAA,CAAA;AAAA,YACT,WAAa,EAAA,QAAA;AAAA,YACb,WAAa,EAAA,SAAA;AAAA,WACf;AAAA,SACD,CAAA,CAAA;AAAA,OACH;AAAA,aACO,EAAI,EAAA;AAAA,KAAC;AAEd,IAAI,IAAA,OAAA,CAAQ,CAAC,CAAA,KAAM,UAAY,EAAA;AAE7B,MAAM,MAAA,eAAA,GAAkB,MAAM,OAAO,wBAAwB,EAAE,IAAK,CAAA,CAAC,CAAM,KAAA,CAAA,CAAE,OAAO,CAAA,CAAA;AAEpF,MAAA,MAAM,UAAW,CAAA,eAAA,EAAiB,EAAE,OAAA,EAAS,CAAA,CAAA;AAE7C,MAAA,OAAA,CAAQ,KAAK,CAAC,CAAA,CAAA;AAAA,KAChB;AAAA,GACF;AAAA,EACA,WAAa,EAAA;AAAA,IACX,QAAA,EAAU,MAAM,OAAO,wBAAwB,EAAE,IAAK,CAAA,CAAC,CAAM,KAAA,CAAA,CAAE,OAAO,CAAA;AAAA,GACxE;AACF,CAAC,CAAA,CAAA;AAED,eAAsB,IAAI,KAAiC,EAAA;AACzD,EAAA,MAAM,QAAQ,IAAI,CAAA,CAAA;AACpB","file":"index.js","sourcesContent":["{\n \"name\": \"@kubb/cli\",\n \"version\": \"3.0.0-beta.2\",\n \"description\": \"Generator cli\",\n \"keywords\": [\n \"typescript\",\n \"plugins\",\n \"kubb\",\n \"codegen\",\n \"cli\"\n ],\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git://github.com/kubb-labs/kubb.git\",\n \"directory\": \"packages/cli\"\n },\n \"license\": \"MIT\",\n \"author\": \"Stijn Van Hulle <stijn@stijnvanhulle.be\",\n \"sideEffects\": false,\n \"type\": \"module\",\n \"exports\": {\n \".\": {\n \"import\": \"./dist/index.js\",\n \"require\": \"./dist/index.cjs\",\n \"default\": \"./dist/index.cjs\"\n }\n },\n \"main\": \"dist/index.cjs\",\n \"module\": \"dist/index.js\",\n \"types\": \"./dist/index.d.ts\",\n \"bin\": {\n \"kubb\": \"bin/kubb.cjs\"\n },\n \"files\": [\n \"src\",\n \"dist\",\n \"bin\",\n \"!/**/**.test.**\",\n \"!/**/__tests__/**\"\n ],\n \"scripts\": {\n \"build\": \"tsup\",\n \"clean\": \"npx rimraf ./dist\",\n \"lint\": \"bun biome lint .\",\n \"lint:fix\": \"bun biome lint --apply-unsafe .\",\n \"release\": \"pnpm publish --no-git-check\",\n \"release:canary\": \"bash ../../.github/canary.sh && node ../../scripts/build.js canary && pnpm publish --no-git-check\",\n \"start\": \"tsup --watch\",\n \"test\": \"vitest --passWithNoTests\",\n \"typecheck\": \"tsc -p ./tsconfig.json --noEmit --emitDeclarationOnly false\"\n },\n \"dependencies\": {\n \"@kubb/core\": \"workspace:*\",\n \"chokidar\": \"^4.0.1\",\n \"citty\": \"^0.1.6\",\n \"cli-progress\": \"^3.12.0\",\n \"consola\": \"^3.2.3\",\n \"cosmiconfig\": \"^9.0.0\",\n \"execa\": \"^9.4.0\",\n \"jiti\": \"^2.1.2\",\n \"latest-version\": \"^9.0.0\",\n \"p-queue\": \"^8.0.1\",\n \"semver\": \"^7.6.3\",\n \"string-argv\": \"^0.3.2\",\n \"tinyrainbow\": \"^1.2.0\"\n },\n \"devDependencies\": {\n \"@kubb/config-ts\": \"workspace:*\",\n \"@kubb/config-tsup\": \"workspace:*\",\n \"@kubb/plugin-oas\": \"workspace:*\",\n \"@types/cli-progress\": \"^3.11.6\",\n \"@types/node\": \"^20.16.10\",\n \"@types/semver\": \"^7.5.8\",\n \"source-map-support\": \"^0.5.21\",\n \"tsup\": \"^8.3.0\",\n \"typescript\": \"^5.6.2\"\n },\n \"engines\": {\n \"node\": \">=20\"\n },\n \"preferGlobal\": true,\n \"publishConfig\": {\n \"access\": \"public\",\n \"registry\": \"https://registry.npmjs.org/\"\n }\n}\n","import { defineCommand, runCommand, runMain } from 'citty'\nimport getLatestVersion from 'latest-version'\nimport { lt } from 'semver'\n\nimport { version } from '../package.json'\nimport consola from 'consola'\n\nconst name = 'kubb'\n\nconst main = defineCommand({\n meta: {\n name,\n version,\n description: 'Kubb generation',\n },\n async setup({ rawArgs }) {\n try {\n const latestVersion = await getLatestVersion('@kubb/cli')\n\n if (lt(version, latestVersion)) {\n consola.box({\n title: 'Update available for `Kubb` ',\n message: `\\`v${version}\\` → \\`v${latestVersion}\\`\nRun \\`npm install -g @kubb/cli\\` to update`,\n style: {\n padding: 2,\n borderColor: 'yellow',\n borderStyle: 'rounded',\n },\n })\n }\n } catch (_e) {}\n\n if (rawArgs[0] !== 'generate') {\n // generate is not being used\n const generateCommand = await import('./commands/generate.ts').then((r) => r.default)\n\n await runCommand(generateCommand, { rawArgs })\n\n process.exit(0)\n }\n },\n subCommands: {\n generate: () => import('./commands/generate.ts').then((r) => r.default),\n },\n})\n\nexport async function run(_argv?: string[]): Promise<void> {\n await runMain(main)\n}\n\nexport { generate } from './generate.ts'\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kubb/cli",
3
- "version": "3.0.0-alpha.9",
3
+ "version": "3.0.0-beta.2",
4
4
  "description": "Generator cli",
5
5
  "keywords": [
6
6
  "typescript",
@@ -18,9 +18,6 @@
18
18
  "author": "Stijn Van Hulle <stijn@stijnvanhulle.be",
19
19
  "sideEffects": false,
20
20
  "type": "module",
21
- "main": "dist/index.cjs",
22
- "module": "dist/index.js",
23
- "types": "./dist/index.d.ts",
24
21
  "exports": {
25
22
  ".": {
26
23
  "import": "./dist/index.js",
@@ -28,9 +25,11 @@
28
25
  "default": "./dist/index.cjs"
29
26
  }
30
27
  },
28
+ "main": "dist/index.cjs",
29
+ "module": "dist/index.js",
30
+ "types": "./dist/index.d.ts",
31
31
  "bin": {
32
- "kubb": "bin/kubb.cjs",
33
- "bkubb": "bin/bkubb.cjs"
32
+ "kubb": "bin/kubb.cjs"
34
33
  },
35
34
  "files": [
36
35
  "src",
@@ -40,33 +39,30 @@
40
39
  "!/**/__tests__/**"
41
40
  ],
42
41
  "dependencies": {
43
- "bundle-require": "^5.0.0",
44
- "chokidar": "^3.6.0",
42
+ "chokidar": "^4.0.1",
45
43
  "citty": "^0.1.6",
46
44
  "cli-progress": "^3.12.0",
47
45
  "consola": "^3.2.3",
48
46
  "cosmiconfig": "^9.0.0",
49
- "esbuild": "^0.23.1",
50
- "execa": "^9.3.1",
51
- "js-runtime": "^0.0.8",
47
+ "execa": "^9.4.0",
48
+ "jiti": "^2.1.2",
52
49
  "latest-version": "^9.0.0",
53
50
  "p-queue": "^8.0.1",
54
51
  "semver": "^7.6.3",
55
52
  "string-argv": "^0.3.2",
56
53
  "tinyrainbow": "^1.2.0",
57
- "@kubb/core": "3.0.0-alpha.9",
58
- "@kubb/fs": "3.0.0-alpha.9"
54
+ "@kubb/core": "3.0.0-beta.2"
59
55
  },
60
56
  "devDependencies": {
61
57
  "@types/cli-progress": "^3.11.6",
62
- "@types/node": "^20.16.2",
58
+ "@types/node": "^20.16.10",
63
59
  "@types/semver": "^7.5.8",
64
60
  "source-map-support": "^0.5.21",
65
- "tsup": "^8.2.4",
66
- "typescript": "^5.5.4",
67
- "@kubb/config-ts": "3.0.0-alpha.9",
68
- "@kubb/config-tsup": "3.0.0-alpha.9",
69
- "@kubb/plugin-oas": "3.0.0-alpha.9"
61
+ "tsup": "^8.3.0",
62
+ "typescript": "^5.6.2",
63
+ "@kubb/config-ts": "3.0.0-beta.2",
64
+ "@kubb/config-tsup": "3.0.0-beta.2",
65
+ "@kubb/plugin-oas": "3.0.0-beta.2"
70
66
  },
71
67
  "engines": {
72
68
  "node": ">=20"
@@ -7,10 +7,15 @@ import { getConfig } from '../utils/getConfig.ts'
7
7
  import { getCosmiConfig } from '../utils/getCosmiConfig.ts'
8
8
  import { startWatcher } from '../utils/watcher.ts'
9
9
 
10
+ import path from 'node:path'
11
+ import * as process from 'node:process'
10
12
  import { PromiseManager, isInputPath } from '@kubb/core'
13
+ import { LogMapper, createLogger } from '@kubb/core/logger'
11
14
  import { generate } from '../generate.ts'
12
- import path from 'node:path'
13
- import { createLogger, LogMapper } from '@kubb/core/logger'
15
+
16
+ declare global {
17
+ var isDevtoolsEnabled: any
18
+ }
14
19
 
15
20
  const args = {
16
21
  config: {
@@ -31,12 +36,6 @@ const args = {
31
36
  alias: 'w',
32
37
  default: false,
33
38
  },
34
- bun: {
35
- type: 'boolean',
36
- description: 'Run Kubb with Bun',
37
- alias: 'b',
38
- default: false,
39
- },
40
39
  debug: {
41
40
  type: 'boolean',
42
41
  description: 'Override logLevel to debug',
@@ -59,7 +58,8 @@ const command = defineCommand({
59
58
  description: "[input] Generate files based on a 'kubb.config.ts' file",
60
59
  },
61
60
  args,
62
- async run({ args }) {
61
+ async run(commandContext) {
62
+ const { args } = commandContext
63
63
  const input = args._[0]
64
64
 
65
65
  if (args.help) {
@@ -71,13 +71,6 @@ const command = defineCommand({
71
71
  args.logLevel = 'debug'
72
72
  }
73
73
 
74
- if (args.bun) {
75
- const command = process.argv.splice(2).filter((item) => item !== '--bun')
76
-
77
- await execa('bkubb', command, { stdout: process.stdout, stderr: process.stderr })
78
- return
79
- }
80
-
81
74
  const logLevel = LogMapper[args.logLevel as keyof typeof LogMapper] || 3
82
75
  const logger = createLogger({
83
76
  logLevel,
@@ -97,7 +90,7 @@ const command = defineCommand({
97
90
 
98
91
  if (isInputPath(config)) {
99
92
  return startWatcher([input || config.input.path], async (paths) => {
100
- await generate({ config, args })
93
+ await generate({ config, args, input })
101
94
  logger.emit('start', c.yellow(c.bold(`Watching for changes in ${paths.join(' and ')}`)))
102
95
  })
103
96
  }
@@ -111,6 +104,19 @@ const command = defineCommand({
111
104
  }
112
105
 
113
106
  await generate({ input, config, args })
107
+
108
+ if (globalThis.isDevtoolsEnabled) {
109
+ const restart = await logger.consola?.prompt('Restart(could be used to validate the profiler)?', {
110
+ type: 'confirm',
111
+ initial: false,
112
+ })
113
+
114
+ if (restart) {
115
+ await command.run?.(commandContext)
116
+ } else {
117
+ process.exit(1)
118
+ }
119
+ }
114
120
  },
115
121
  })
116
122