@kubb/cli 3.0.0-alpha.11 → 3.0.0-alpha.13
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.
- package/README.md +13 -0
- package/dist/{chunk-EKC3Q472.js → chunk-BB43CQBG.js} +5 -5
- package/dist/chunk-BB43CQBG.js.map +1 -0
- package/dist/{chunk-IO6NJ3A2.cjs → chunk-CUBO53J7.cjs} +7 -7
- package/dist/chunk-CUBO53J7.cjs.map +1 -0
- package/dist/{generate-XNK7VVP4.cjs → generate-Q7JKLLL3.cjs} +50 -18
- package/dist/generate-Q7JKLLL3.cjs.map +1 -0
- package/dist/{generate-USO6RHZL.js → generate-WAEFR5I3.js} +17 -4
- package/dist/generate-WAEFR5I3.js.map +1 -0
- package/dist/index.cjs +6 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
- package/src/commands/generate.ts +20 -1
- package/src/utils/getSummary.ts +3 -3
- package/dist/chunk-EKC3Q472.js.map +0 -1
- package/dist/chunk-IO6NJ3A2.cjs.map +0 -1
- package/dist/generate-USO6RHZL.js.map +0 -1
- package/dist/generate-XNK7VVP4.cjs.map +0 -1
|
@@ -1,26 +1,46 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkCUBO53J7_cjs = require('./chunk-CUBO53J7.cjs');
|
|
4
4
|
var citty = require('citty');
|
|
5
5
|
var utils = require('@kubb/core/utils');
|
|
6
6
|
var bundleRequire = require('bundle-require');
|
|
7
7
|
var cosmiconfig = require('cosmiconfig');
|
|
8
8
|
var logger = require('@kubb/core/logger');
|
|
9
9
|
var path = require('path');
|
|
10
|
+
var process = require('process');
|
|
10
11
|
var core = require('@kubb/core');
|
|
11
12
|
|
|
12
13
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
14
|
|
|
15
|
+
function _interopNamespace(e) {
|
|
16
|
+
if (e && e.__esModule) return e;
|
|
17
|
+
var n = Object.create(null);
|
|
18
|
+
if (e) {
|
|
19
|
+
Object.keys(e).forEach(function (k) {
|
|
20
|
+
if (k !== 'default') {
|
|
21
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
22
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
23
|
+
enumerable: true,
|
|
24
|
+
get: function () { return e[k]; }
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
n.default = e;
|
|
30
|
+
return Object.freeze(n);
|
|
31
|
+
}
|
|
32
|
+
|
|
14
33
|
var path__default = /*#__PURE__*/_interopDefault(path);
|
|
34
|
+
var process__namespace = /*#__PURE__*/_interopNamespace(process);
|
|
15
35
|
|
|
16
36
|
// src/commands/generate.ts
|
|
17
|
-
|
|
37
|
+
chunkCUBO53J7_cjs.init_cjs_shims();
|
|
18
38
|
|
|
19
39
|
// src/utils/getConfig.ts
|
|
20
|
-
|
|
40
|
+
chunkCUBO53J7_cjs.init_cjs_shims();
|
|
21
41
|
|
|
22
42
|
// src/utils/getPlugins.ts
|
|
23
|
-
|
|
43
|
+
chunkCUBO53J7_cjs.init_cjs_shims();
|
|
24
44
|
function isJSONPlugins(plugins) {
|
|
25
45
|
return !!plugins?.some((plugin) => {
|
|
26
46
|
return Array.isArray(plugin) && typeof plugin?.at(0) === "string";
|
|
@@ -68,7 +88,7 @@ async function getConfig(result, args2) {
|
|
|
68
88
|
}
|
|
69
89
|
|
|
70
90
|
// src/utils/getCosmiConfig.ts
|
|
71
|
-
|
|
91
|
+
chunkCUBO53J7_cjs.init_cjs_shims();
|
|
72
92
|
var tsLoader = async (configFile) => {
|
|
73
93
|
const { mod } = await bundleRequire.bundleRequire({
|
|
74
94
|
filepath: configFile,
|
|
@@ -115,7 +135,7 @@ async function getCosmiConfig(moduleName, config) {
|
|
|
115
135
|
}
|
|
116
136
|
|
|
117
137
|
// src/utils/watcher.ts
|
|
118
|
-
|
|
138
|
+
chunkCUBO53J7_cjs.init_cjs_shims();
|
|
119
139
|
async function startWatcher(path2, cb) {
|
|
120
140
|
const { watch } = await import('chokidar');
|
|
121
141
|
const logger$1 = logger.createLogger();
|
|
@@ -125,11 +145,11 @@ async function startWatcher(path2, cb) {
|
|
|
125
145
|
ignored
|
|
126
146
|
});
|
|
127
147
|
watcher.on("all", (type, file) => {
|
|
128
|
-
logger$1?.emit("info",
|
|
148
|
+
logger$1?.emit("info", chunkCUBO53J7_cjs.p.yellow(chunkCUBO53J7_cjs.p.bold(`Change detected: ${type} ${file}`)));
|
|
129
149
|
try {
|
|
130
150
|
cb(path2);
|
|
131
151
|
} catch (e) {
|
|
132
|
-
logger$1?.emit("warning",
|
|
152
|
+
logger$1?.emit("warning", chunkCUBO53J7_cjs.p.red("Watcher failed"));
|
|
133
153
|
}
|
|
134
154
|
});
|
|
135
155
|
return;
|
|
@@ -178,7 +198,8 @@ var command = citty.defineCommand({
|
|
|
178
198
|
description: "[input] Generate files based on a 'kubb.config.ts' file"
|
|
179
199
|
},
|
|
180
200
|
args,
|
|
181
|
-
async run(
|
|
201
|
+
async run(commandContext) {
|
|
202
|
+
const { args: args2 } = commandContext;
|
|
182
203
|
const input = args2._[0];
|
|
183
204
|
if (args2.help) {
|
|
184
205
|
citty.showUsage(command);
|
|
@@ -188,8 +209,8 @@ var command = citty.defineCommand({
|
|
|
188
209
|
args2.logLevel = "debug";
|
|
189
210
|
}
|
|
190
211
|
if (args2.bun) {
|
|
191
|
-
const command2 =
|
|
192
|
-
await
|
|
212
|
+
const command2 = process__namespace.argv.splice(2).filter((item) => item !== "--bun");
|
|
213
|
+
await chunkCUBO53J7_cjs.execa("bkubb", command2, { stdout: process__namespace.stdout, stderr: process__namespace.stderr });
|
|
193
214
|
return;
|
|
194
215
|
}
|
|
195
216
|
const logLevel = logger.LogMapper[args2.logLevel] || 3;
|
|
@@ -198,7 +219,7 @@ var command = citty.defineCommand({
|
|
|
198
219
|
});
|
|
199
220
|
logger$1.emit("start", "Loading config");
|
|
200
221
|
const result = await getCosmiConfig("kubb", args2.config);
|
|
201
|
-
logger$1.emit("success", `Config loaded(${
|
|
222
|
+
logger$1.emit("success", `Config loaded(${chunkCUBO53J7_cjs.p.dim(path__default.default.relative(process__namespace.cwd(), result.filepath))})`);
|
|
202
223
|
const config = await getConfig(result, args2);
|
|
203
224
|
if (args2.watch) {
|
|
204
225
|
if (Array.isArray(config)) {
|
|
@@ -206,21 +227,32 @@ var command = citty.defineCommand({
|
|
|
206
227
|
}
|
|
207
228
|
if (core.isInputPath(config)) {
|
|
208
229
|
return startWatcher([input || config.input.path], async (paths) => {
|
|
209
|
-
await
|
|
210
|
-
logger$1.emit("start",
|
|
230
|
+
await chunkCUBO53J7_cjs.generate({ config, args: args2, input });
|
|
231
|
+
logger$1.emit("start", chunkCUBO53J7_cjs.p.yellow(chunkCUBO53J7_cjs.p.bold(`Watching for changes in ${paths.join(" and ")}`)));
|
|
211
232
|
});
|
|
212
233
|
}
|
|
213
234
|
}
|
|
214
235
|
if (Array.isArray(config)) {
|
|
215
236
|
const promiseManager = new core.PromiseManager();
|
|
216
|
-
const promises = config.map((item) => () =>
|
|
237
|
+
const promises = config.map((item) => () => chunkCUBO53J7_cjs.generate({ input, config: item, args: args2 }));
|
|
217
238
|
return promiseManager.run("seq", promises);
|
|
218
239
|
}
|
|
219
|
-
await
|
|
240
|
+
await chunkCUBO53J7_cjs.generate({ input, config, args: args2 });
|
|
241
|
+
if (globalThis.isDevtoolsEnabled) {
|
|
242
|
+
const restart = await logger$1.consola?.prompt("Restart(could be used to validate the profiler)?", {
|
|
243
|
+
type: "confirm",
|
|
244
|
+
initial: false
|
|
245
|
+
});
|
|
246
|
+
if (restart) {
|
|
247
|
+
await command.run?.(commandContext);
|
|
248
|
+
} else {
|
|
249
|
+
process__namespace.exit(1);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
220
252
|
}
|
|
221
253
|
});
|
|
222
254
|
var generate_default = command;
|
|
223
255
|
|
|
224
256
|
module.exports = generate_default;
|
|
225
|
-
//# sourceMappingURL=generate-
|
|
226
|
-
//# sourceMappingURL=generate-
|
|
257
|
+
//# sourceMappingURL=generate-Q7JKLLL3.cjs.map
|
|
258
|
+
//# sourceMappingURL=generate-Q7JKLLL3.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/generate.ts","../src/utils/getConfig.ts","../src/utils/getPlugins.ts","../src/utils/getCosmiConfig.ts","../src/utils/watcher.ts"],"names":["init_cjs_shims","args","isPromise","bundleRequire","cosmiconfig","path","logger","createLogger","p","defineCommand","showUsage","command","process","execa","LogMapper","isInputPath","generate","PromiseManager"],"mappings":"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","file":"generate-Q7JKLLL3.cjs","sourcesContent":["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 bun: {\n type: 'boolean',\n description: 'Run Kubb with Bun',\n alias: 'b',\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 if (args.bun) {\n const command = process.argv.splice(2).filter((item) => item !== '--bun')\n\n await execa('bkubb', command, { stdout: process.stdout, stderr: process.stderr })\n return\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","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 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 { bundleRequire } from 'bundle-require'\nimport { cosmiconfig } from 'cosmiconfig'\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 { mod } = await bundleRequire({\n filepath: configFile,\n preserveTemporaryFile: false,\n })\n\n return mod.default\n}\n\nconst jsLoader = async (configFile: string) => {\n const { mod } = await bundleRequire({\n filepath: configFile,\n preserveTemporaryFile: false,\n format: 'cjs',\n })\n\n return mod.default || 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 c from 'tinyrainbow'\nimport { createLogger } from '@kubb/core/logger'\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 return\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { generate } from './chunk-
|
|
1
|
+
import { generate } from './chunk-BB43CQBG.js';
|
|
2
2
|
import { defineCommand, showUsage } from 'citty';
|
|
3
3
|
import { execa } from 'execa';
|
|
4
4
|
import c from 'tinyrainbow';
|
|
@@ -7,6 +7,7 @@ import { bundleRequire } from 'bundle-require';
|
|
|
7
7
|
import { cosmiconfig } from 'cosmiconfig';
|
|
8
8
|
import { LogMapper, createLogger } from '@kubb/core/logger';
|
|
9
9
|
import path from 'node:path';
|
|
10
|
+
import * as process from 'node:process';
|
|
10
11
|
import { isInputPath, PromiseManager } from '@kubb/core';
|
|
11
12
|
|
|
12
13
|
// src/utils/getPlugins.ts
|
|
@@ -161,7 +162,8 @@ var command = defineCommand({
|
|
|
161
162
|
description: "[input] Generate files based on a 'kubb.config.ts' file"
|
|
162
163
|
},
|
|
163
164
|
args,
|
|
164
|
-
async run(
|
|
165
|
+
async run(commandContext) {
|
|
166
|
+
const { args: args2 } = commandContext;
|
|
165
167
|
const input = args2._[0];
|
|
166
168
|
if (args2.help) {
|
|
167
169
|
showUsage(command);
|
|
@@ -200,10 +202,21 @@ var command = defineCommand({
|
|
|
200
202
|
return promiseManager.run("seq", promises);
|
|
201
203
|
}
|
|
202
204
|
await generate({ input, config, args: args2 });
|
|
205
|
+
if (globalThis.isDevtoolsEnabled) {
|
|
206
|
+
const restart = await logger.consola?.prompt("Restart(could be used to validate the profiler)?", {
|
|
207
|
+
type: "confirm",
|
|
208
|
+
initial: false
|
|
209
|
+
});
|
|
210
|
+
if (restart) {
|
|
211
|
+
await command.run?.(commandContext);
|
|
212
|
+
} else {
|
|
213
|
+
process.exit(1);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
203
216
|
}
|
|
204
217
|
});
|
|
205
218
|
var generate_default = command;
|
|
206
219
|
|
|
207
220
|
export { generate_default as default };
|
|
208
|
-
//# sourceMappingURL=generate-
|
|
209
|
-
//# sourceMappingURL=generate-
|
|
221
|
+
//# sourceMappingURL=generate-WAEFR5I3.js.map
|
|
222
|
+
//# sourceMappingURL=generate-WAEFR5I3.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","command","createLogger","c"],"mappings":"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","file":"generate-WAEFR5I3.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 { bundleRequire } from 'bundle-require'\nimport { cosmiconfig } from 'cosmiconfig'\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 { mod } = await bundleRequire({\n filepath: configFile,\n preserveTemporaryFile: false,\n })\n\n return mod.default\n}\n\nconst jsLoader = async (configFile: string) => {\n const { mod } = await bundleRequire({\n filepath: configFile,\n preserveTemporaryFile: false,\n format: 'cjs',\n })\n\n return mod.default || 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 c from 'tinyrainbow'\nimport { createLogger } from '@kubb/core/logger'\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 return\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 bun: {\n type: 'boolean',\n description: 'Run Kubb with Bun',\n alias: 'b',\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 if (args.bun) {\n const command = process.argv.splice(2).filter((item) => item !== '--bun')\n\n await execa('bkubb', command, { stdout: process.stdout, stderr: process.stderr })\n return\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,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkCUBO53J7_cjs = require('./chunk-CUBO53J7.cjs');
|
|
4
4
|
var citty = require('citty');
|
|
5
5
|
var getLatestVersion = require('latest-version');
|
|
6
6
|
var semver = require('semver');
|
|
@@ -12,10 +12,10 @@ var getLatestVersion__default = /*#__PURE__*/_interopDefault(getLatestVersion);
|
|
|
12
12
|
var consola__default = /*#__PURE__*/_interopDefault(consola);
|
|
13
13
|
|
|
14
14
|
// src/index.ts
|
|
15
|
-
|
|
15
|
+
chunkCUBO53J7_cjs.init_cjs_shims();
|
|
16
16
|
|
|
17
17
|
// package.json
|
|
18
|
-
var version = "3.0.0-alpha.
|
|
18
|
+
var version = "3.0.0-alpha.13";
|
|
19
19
|
var name = "kubb";
|
|
20
20
|
var main = citty.defineCommand({
|
|
21
21
|
meta: {
|
|
@@ -41,13 +41,13 @@ Run \`npm install -g @kubb/cli\` to update`,
|
|
|
41
41
|
} catch (_e) {
|
|
42
42
|
}
|
|
43
43
|
if (rawArgs[0] !== "generate") {
|
|
44
|
-
const generateCommand = await import('./generate-
|
|
44
|
+
const generateCommand = await import('./generate-Q7JKLLL3.cjs').then((r) => r.default);
|
|
45
45
|
await citty.runCommand(generateCommand, { rawArgs });
|
|
46
46
|
process.exit(0);
|
|
47
47
|
}
|
|
48
48
|
},
|
|
49
49
|
subCommands: {
|
|
50
|
-
generate: () => import('./generate-
|
|
50
|
+
generate: () => import('./generate-Q7JKLLL3.cjs').then((r) => r.default)
|
|
51
51
|
}
|
|
52
52
|
});
|
|
53
53
|
async function run(_argv) {
|
|
@@ -56,7 +56,7 @@ async function run(_argv) {
|
|
|
56
56
|
|
|
57
57
|
Object.defineProperty(exports, "generate", {
|
|
58
58
|
enumerable: true,
|
|
59
|
-
get: function () { return
|
|
59
|
+
get: function () { return chunkCUBO53J7_cjs.generate; }
|
|
60
60
|
});
|
|
61
61
|
exports.run = run;
|
|
62
62
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,gBAAA,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-alpha.
|
|
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,gBAAA,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-alpha.13\",\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 \"bkubb\": \"bin/bkubb.cjs\",\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 \"@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.3\",\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"]}
|
package/dist/index.d.cts
CHANGED
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { generate } from './chunk-
|
|
1
|
+
export { generate } from './chunk-BB43CQBG.js';
|
|
2
2
|
import { defineCommand, runCommand, runMain } from 'citty';
|
|
3
3
|
import getLatestVersion from 'latest-version';
|
|
4
4
|
import { lt } from 'semver';
|
|
5
5
|
import consola from 'consola';
|
|
6
6
|
|
|
7
7
|
// package.json
|
|
8
|
-
var version = "3.0.0-alpha.
|
|
8
|
+
var version = "3.0.0-alpha.13";
|
|
9
9
|
var name = "kubb";
|
|
10
10
|
var main = defineCommand({
|
|
11
11
|
meta: {
|
|
@@ -31,13 +31,13 @@ Run \`npm install -g @kubb/cli\` to update`,
|
|
|
31
31
|
} catch (_e) {
|
|
32
32
|
}
|
|
33
33
|
if (rawArgs[0] !== "generate") {
|
|
34
|
-
const generateCommand = await import('./generate-
|
|
34
|
+
const generateCommand = await import('./generate-WAEFR5I3.js').then((r) => r.default);
|
|
35
35
|
await runCommand(generateCommand, { rawArgs });
|
|
36
36
|
process.exit(0);
|
|
37
37
|
}
|
|
38
38
|
},
|
|
39
39
|
subCommands: {
|
|
40
|
-
generate: () => import('./generate-
|
|
40
|
+
generate: () => import('./generate-WAEFR5I3.js').then((r) => r.default)
|
|
41
41
|
}
|
|
42
42
|
});
|
|
43
43
|
async function run(_argv) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../package.json","../src/index.ts"],"names":[],"mappings":";;;;;;;AAEE,IAAW,OAAA,GAAA,gBAAA,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-alpha.
|
|
1
|
+
{"version":3,"sources":["../package.json","../src/index.ts"],"names":[],"mappings":";;;;;;;AAEE,IAAW,OAAA,GAAA,gBAAA,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-alpha.13\",\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 \"bkubb\": \"bin/bkubb.cjs\",\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 \"@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.3\",\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","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.
|
|
3
|
+
"version": "3.0.0-alpha.13",
|
|
4
4
|
"description": "Generator cli",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript",
|
|
@@ -54,19 +54,19 @@
|
|
|
54
54
|
"semver": "^7.6.3",
|
|
55
55
|
"string-argv": "^0.3.2",
|
|
56
56
|
"tinyrainbow": "^1.2.0",
|
|
57
|
-
"@kubb/core": "3.0.0-alpha.
|
|
58
|
-
"@kubb/fs": "3.0.0-alpha.
|
|
57
|
+
"@kubb/core": "3.0.0-alpha.13",
|
|
58
|
+
"@kubb/fs": "3.0.0-alpha.13"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
61
|
"@types/cli-progress": "^3.11.6",
|
|
62
|
-
"@types/node": "^20.16.
|
|
62
|
+
"@types/node": "^20.16.3",
|
|
63
63
|
"@types/semver": "^7.5.8",
|
|
64
64
|
"source-map-support": "^0.5.21",
|
|
65
65
|
"tsup": "^8.2.4",
|
|
66
66
|
"typescript": "^5.5.4",
|
|
67
|
-
"@kubb/config-ts": "3.0.0-alpha.
|
|
68
|
-
"@kubb/config-tsup": "3.0.0-alpha.
|
|
69
|
-
"@kubb/plugin-oas": "3.0.0-alpha.
|
|
67
|
+
"@kubb/config-ts": "3.0.0-alpha.13",
|
|
68
|
+
"@kubb/config-tsup": "3.0.0-alpha.13",
|
|
69
|
+
"@kubb/plugin-oas": "3.0.0-alpha.13"
|
|
70
70
|
},
|
|
71
71
|
"engines": {
|
|
72
72
|
"node": ">=20"
|
package/src/commands/generate.ts
CHANGED
|
@@ -8,10 +8,15 @@ import { getCosmiConfig } from '../utils/getCosmiConfig.ts'
|
|
|
8
8
|
import { startWatcher } from '../utils/watcher.ts'
|
|
9
9
|
|
|
10
10
|
import path from 'node:path'
|
|
11
|
+
import * as process from 'node:process'
|
|
11
12
|
import { PromiseManager, isInputPath } from '@kubb/core'
|
|
12
13
|
import { LogMapper, createLogger } from '@kubb/core/logger'
|
|
13
14
|
import { generate } from '../generate.ts'
|
|
14
15
|
|
|
16
|
+
declare global {
|
|
17
|
+
var isDevtoolsEnabled: any
|
|
18
|
+
}
|
|
19
|
+
|
|
15
20
|
const args = {
|
|
16
21
|
config: {
|
|
17
22
|
type: 'string',
|
|
@@ -59,7 +64,8 @@ const command = defineCommand({
|
|
|
59
64
|
description: "[input] Generate files based on a 'kubb.config.ts' file",
|
|
60
65
|
},
|
|
61
66
|
args,
|
|
62
|
-
async run(
|
|
67
|
+
async run(commandContext) {
|
|
68
|
+
const { args } = commandContext
|
|
63
69
|
const input = args._[0]
|
|
64
70
|
|
|
65
71
|
if (args.help) {
|
|
@@ -111,6 +117,19 @@ const command = defineCommand({
|
|
|
111
117
|
}
|
|
112
118
|
|
|
113
119
|
await generate({ input, config, args })
|
|
120
|
+
|
|
121
|
+
if (globalThis.isDevtoolsEnabled) {
|
|
122
|
+
const restart = await logger.consola?.prompt('Restart(could be used to validate the profiler)?', {
|
|
123
|
+
type: 'confirm',
|
|
124
|
+
initial: false,
|
|
125
|
+
})
|
|
126
|
+
|
|
127
|
+
if (restart) {
|
|
128
|
+
await command.run?.(commandContext)
|
|
129
|
+
} else {
|
|
130
|
+
process.exit(1)
|
|
131
|
+
}
|
|
132
|
+
}
|
|
114
133
|
},
|
|
115
134
|
})
|
|
116
135
|
|
package/src/utils/getSummary.ts
CHANGED
|
@@ -17,7 +17,7 @@ type SummaryProps = {
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
export function getSummary({ pluginManager, filesCreated, status, hrStart, config }: SummaryProps): string[] {
|
|
20
|
-
const logs
|
|
20
|
+
const logs = new Set<string>()
|
|
21
21
|
const elapsedSeconds = parseHrtimeToSeconds(process.hrtime(hrStart))
|
|
22
22
|
|
|
23
23
|
const buildStartPlugins = pluginManager.executed
|
|
@@ -40,7 +40,7 @@ export function getSummary({ pluginManager, filesCreated, status, hrStart, confi
|
|
|
40
40
|
output: path.isAbsolute(config.root) ? path.resolve(config.root, config.output.path) : config.root,
|
|
41
41
|
} as const
|
|
42
42
|
|
|
43
|
-
logs.
|
|
43
|
+
logs.add(
|
|
44
44
|
[
|
|
45
45
|
[`${c.bold('Plugins:')} ${meta.plugins}`, true],
|
|
46
46
|
[`${c.dim('Failed:')} ${meta.pluginsFailed || 'none'}`, !!meta.pluginsFailed],
|
|
@@ -57,5 +57,5 @@ export function getSummary({ pluginManager, filesCreated, status, hrStart, confi
|
|
|
57
57
|
.join('\n'),
|
|
58
58
|
)
|
|
59
59
|
|
|
60
|
-
return logs
|
|
60
|
+
return [...logs]
|
|
61
61
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/Writables.ts","../src/utils/executeHooks.ts","../src/utils/getErrorCauses.ts","../src/utils/parseHrtimeToSeconds.ts","../src/utils/getSummary.ts","../src/generate.ts"],"names":["c","LogMapper"],"mappings":"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","file":"chunk-EKC3Q472.js","sourcesContent":["import { Writable } from 'node:stream'\n\nimport c from 'tinyrainbow'\n\nimport * as process from 'node:process'\nimport type { WritableOptions } from 'node:stream'\nimport type { ConsolaInstance } from 'consola'\n\nexport class ConsolaWritable extends Writable {\n consola: ConsolaInstance | undefined\n command: string\n constructor(consola: ConsolaInstance | undefined, command: string, opts?: WritableOptions) {\n super(opts)\n\n this.command = command\n this.consola = consola\n }\n _write(chunk: any, _encoding: BufferEncoding, callback: (error?: Error | null) => void): void {\n process.stdout.write(`${c.dim(chunk?.toString())}`)\n\n callback()\n }\n}\n","import type { Logger } from '@kubb/core/logger'\nimport { execa } from 'execa'\nimport { parseArgsStringToArgv } from 'string-argv'\nimport c from 'tinyrainbow'\n\nimport { ConsolaWritable } from './Writables.ts'\n\nimport type { Config } from '@kubb/core'\nimport { LogMapper } from '@kubb/core/logger'\nimport PQueue from 'p-queue'\n\ntype ExecutingHooksProps = {\n hooks: NonNullable<Config['hooks']>\n logger: Logger\n}\n\nexport async function executeHooks({ hooks, logger }: ExecutingHooksProps): Promise<void> {\n const commands = Array.isArray(hooks.done) ? hooks.done : [hooks.done].filter(Boolean)\n const queue = new PQueue({ concurrency: 1 })\n\n const promises = commands.map(async (command) => {\n const consolaWritable = new ConsolaWritable(logger.consola!, command)\n const [cmd, ..._args] = [...parseArgsStringToArgv(command)]\n\n if (!cmd) {\n return null\n }\n\n await queue.add(async () => {\n logger?.emit('start', `Executing hook ${logger.logLevel !== LogMapper.silent ? c.dim(command) : ''}`)\n\n await execa(cmd, _args, {\n detached: true,\n stdout: logger?.logLevel === LogMapper.silent ? undefined : ['pipe', consolaWritable],\n stripFinalNewline: true,\n })\n\n logger?.emit('success', `Executed hook ${logger.logLevel !== LogMapper.silent ? c.dim(command) : ''}`)\n })\n })\n\n await Promise.all(promises)\n\n logger?.emit('success', 'Executed hooks')\n}\n","export function getErrorCauses(errors: Error[]): Error[] {\n return errors\n .reduce((prev, error) => {\n const causedError = error?.cause as Error\n if (causedError) {\n prev = [...prev, ...getErrorCauses([causedError])]\n return prev\n }\n prev = [...prev, error]\n\n return prev\n }, [] as Error[])\n .filter(Boolean)\n}\n","export function parseHrtimeToSeconds(hrtime: [number, number]): string {\n const seconds = (hrtime[0] + hrtime[1] / 1e9).toFixed(3)\n return seconds\n}\n","import path from 'node:path'\n\nimport { randomCliColour } from '@kubb/core/logger'\n\nimport c from 'tinyrainbow'\n\nimport { parseHrtimeToSeconds } from './parseHrtimeToSeconds.ts'\n\nimport type { Config, PluginManager } from '@kubb/core'\n\ntype SummaryProps = {\n pluginManager: PluginManager\n status: 'success' | 'failed'\n hrStart: [number, number]\n filesCreated: number\n config: Config\n}\n\nexport function getSummary({ pluginManager, filesCreated, status, hrStart, config }: SummaryProps): string[] {\n const logs: string[] = []\n const elapsedSeconds = parseHrtimeToSeconds(process.hrtime(hrStart))\n\n const buildStartPlugins = pluginManager.executed\n .filter((item) => item.hookName === 'buildStart' && item.plugin.name !== 'core')\n .map((item) => item.plugin.name)\n\n const buildEndPlugins = pluginManager.executed.filter((item) => item.hookName === 'buildEnd' && item.plugin.name !== 'core').map((item) => item.plugin.name)\n\n const failedPlugins = config.plugins?.filter((plugin) => !buildEndPlugins.includes(plugin.name))?.map((plugin) => plugin.name)\n const pluginsCount = config.plugins?.length || 0\n\n const meta = {\n plugins:\n status === 'success'\n ? `${c.green(`${buildStartPlugins.length} successful`)}, ${pluginsCount} total`\n : `${c.red(`${failedPlugins?.length ?? 1} failed`)}, ${pluginsCount} total`,\n pluginsFailed: status === 'failed' ? failedPlugins?.map((name) => randomCliColour(name))?.join(', ') : undefined,\n filesCreated: filesCreated,\n time: `${c.yellow(`${elapsedSeconds}s`)}`,\n output: path.isAbsolute(config.root) ? path.resolve(config.root, config.output.path) : config.root,\n } as const\n\n logs.push(\n [\n [`${c.bold('Plugins:')} ${meta.plugins}`, true],\n [`${c.dim('Failed:')} ${meta.pluginsFailed || 'none'}`, !!meta.pluginsFailed],\n [`${c.bold('Generated:')} ${meta.filesCreated} files in ${meta.time}`, true],\n [`${c.bold('Output:')} ${meta.output}`, true],\n ]\n .map((item) => {\n if (item.at(1)) {\n return item.at(0)\n }\n return undefined\n })\n .filter(Boolean)\n .join('\\n'),\n )\n\n return logs\n}\n","import { LogMapper } from '@kubb/core/logger'\n\nimport c from 'tinyrainbow'\n\nimport { type Config, safeBuild } from '@kubb/core'\nimport { executeHooks } from './utils/executeHooks.ts'\nimport { getErrorCauses } from './utils/getErrorCauses.ts'\nimport { getSummary } from './utils/getSummary.ts'\n\nimport { Presets, SingleBar } from 'cli-progress'\nimport type { Args } from './commands/generate.ts'\nimport { createLogger } from '@kubb/core/logger'\n\ntype GenerateProps = {\n input?: string\n config: Config\n args: Args\n}\n\nexport async function generate({ input, config, args }: GenerateProps): Promise<void> {\n const logLevel = LogMapper[args.logLevel as keyof typeof LogMapper] || 3\n const logger = createLogger({\n logLevel,\n name: config.name,\n })\n const { root = process.cwd(), ...userConfig } = config\n const inputPath = input ?? ('path' in userConfig.input ? userConfig.input.path : undefined)\n\n if (logger.logLevel !== LogMapper.debug) {\n const progressCache = new Map<string, SingleBar>()\n\n logger.on('progress_start', ({ id, size, message = '' }) => {\n logger.consola?.pauseLogs()\n const payload = { id, message }\n const progressBar = new SingleBar(\n {\n format: '{percentage}% {bar} {value}/{total} | {message}',\n barsize: 30,\n clearOnComplete: true,\n emptyOnZero: true,\n },\n Presets.shades_grey,\n )\n\n if (!progressCache.has(id)) {\n progressCache.set(id, progressBar)\n progressBar.start(size, 1, payload)\n }\n })\n\n logger.on('progress_stop', ({ id }) => {\n progressCache.get(id)?.stop()\n logger.consola?.resumeLogs()\n })\n\n logger.on('progressed', ({ id, message = '' }) => {\n const payload = { id, message }\n\n progressCache.get(id)?.increment(1, payload)\n })\n }\n\n logger.emit('start', `Building ${logger.logLevel !== LogMapper.silent ? c.dim(inputPath) : ''}`)\n\n const definedConfig: Config = {\n root,\n ...userConfig,\n input: inputPath\n ? {\n ...userConfig.input,\n path: inputPath,\n }\n : userConfig.input,\n output: {\n write: true,\n exportType: 'barrelNamed',\n ...userConfig.output,\n },\n }\n const hrStart = process.hrtime()\n const { pluginManager, files, error } = await safeBuild({\n config: definedConfig,\n logger,\n })\n\n if (logger.logLevel === LogMapper.debug) {\n logger.consola?.start('Writing logs')\n\n const logFiles = await logger.writeLogs()\n\n logger.consola?.success(`Written logs: \\n${logFiles.join('\\n')}`)\n }\n\n const summary = getSummary({\n filesCreated: files.length,\n pluginManager,\n config: definedConfig,\n status: error ? 'failed' : 'success',\n hrStart,\n })\n\n if (error && logger.consola) {\n logger.consola?.resumeLogs()\n logger.consola.error(`Build failed ${logger.logLevel !== LogMapper.silent ? c.dim(inputPath) : ''}`)\n\n logger.consola.box({\n title: `${config.name || ''}`,\n message: summary.join(''),\n style: {\n padding: 2,\n borderColor: 'red',\n borderStyle: 'rounded',\n },\n })\n\n const errors = getErrorCauses([error])\n if (logger.consola && errors.length && logger.logLevel === LogMapper.debug) {\n errors.forEach((err) => {\n logger.consola?.error(err)\n })\n }\n\n logger.consola?.error(error)\n\n process.exit(0)\n }\n\n if (config.hooks) {\n await executeHooks({ hooks: config.hooks, logger })\n }\n\n logger.consola?.log(`⚡Build completed ${logger.logLevel !== LogMapper.silent ? c.dim(inputPath) : ''}`)\n\n logger.consola?.box({\n title: `${config.name || ''}`,\n message: summary.join(''),\n style: {\n padding: 2,\n borderColor: 'green',\n borderStyle: 'rounded',\n },\n })\n}\n"]}
|