@kubb/cli 3.0.0-alpha.1 → 3.0.0-alpha.10
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/dist/chunk-EKC3Q472.js +220 -0
- package/dist/chunk-EKC3Q472.js.map +1 -0
- package/dist/{chunk-NKSXZ2SM.cjs → chunk-JSNVO6QV.cjs} +1021 -3435
- package/dist/chunk-JSNVO6QV.cjs.map +1 -0
- package/dist/{generate-IC27XOTA.js → generate-72VOKAFH.js} +20 -20
- package/dist/generate-72VOKAFH.js.map +1 -0
- package/dist/{generate-SW6IGE4J.cjs → generate-XCM5NDJ6.cjs} +27 -27
- package/dist/generate-XCM5NDJ6.cjs.map +1 -0
- package/dist/index.cjs +7 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/package.json +10 -8
- package/src/commands/generate.ts +15 -13
- package/src/generate.ts +79 -57
- package/src/index.ts +1 -1
- package/src/utils/Writables.ts +23 -0
- package/src/utils/executeHooks.ts +24 -44
- package/src/utils/getPlugins.ts +0 -10
- package/src/utils/getSummary.ts +10 -36
- package/src/utils/watcher.ts +4 -6
- package/dist/chunk-NKSXZ2SM.cjs.map +0 -1
- package/dist/chunk-VGYRBGKV.js +0 -252
- package/dist/chunk-VGYRBGKV.js.map +0 -1
- package/dist/generate-IC27XOTA.js.map +0 -1
- package/dist/generate-SW6IGE4J.cjs.map +0 -1
- package/src/utils/OraWritable.ts +0 -22
- package/src/utils/spinner.ts +0 -5
- package/src/utils/writeLog.ts +0 -18
|
@@ -1,20 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
|
-
generate
|
|
3
|
-
|
|
4
|
-
} from "./chunk-VGYRBGKV.js";
|
|
2
|
+
generate
|
|
3
|
+
} from "./chunk-EKC3Q472.js";
|
|
5
4
|
|
|
6
5
|
// src/commands/generate.ts
|
|
7
|
-
import { LogLevel } from "@kubb/core/logger";
|
|
8
6
|
import { defineCommand, showUsage } from "citty";
|
|
9
7
|
import { execa } from "execa";
|
|
10
8
|
import c2 from "tinyrainbow";
|
|
11
|
-
import path from "path";
|
|
12
9
|
|
|
13
10
|
// src/utils/getConfig.ts
|
|
14
11
|
import { isPromise } from "@kubb/core/utils";
|
|
15
12
|
|
|
16
13
|
// src/utils/getPlugins.ts
|
|
17
|
-
import { PackageManager } from "@kubb/core";
|
|
18
14
|
function isJSONPlugins(plugins) {
|
|
19
15
|
return !!plugins?.some((plugin) => {
|
|
20
16
|
return Array.isArray(plugin) && typeof plugin?.at(0) === "string";
|
|
@@ -111,20 +107,21 @@ async function getCosmiConfig(moduleName, config) {
|
|
|
111
107
|
|
|
112
108
|
// src/utils/watcher.ts
|
|
113
109
|
import c from "tinyrainbow";
|
|
110
|
+
import { createLogger } from "@kubb/core/logger";
|
|
114
111
|
async function startWatcher(path2, cb) {
|
|
115
112
|
const { watch } = await import("chokidar");
|
|
113
|
+
const logger = createLogger();
|
|
116
114
|
const ignored = ["**/{.git,node_modules}/**"];
|
|
117
115
|
const watcher = watch(path2, {
|
|
118
116
|
ignorePermissionErrors: true,
|
|
119
117
|
ignored
|
|
120
118
|
});
|
|
121
119
|
watcher.on("all", (type, file) => {
|
|
122
|
-
|
|
123
|
-
spinner.spinner = "clock";
|
|
120
|
+
logger?.emit("info", c.yellow(c.bold(`Change detected: ${type} ${file}`)));
|
|
124
121
|
try {
|
|
125
122
|
cb(path2);
|
|
126
123
|
} catch (e) {
|
|
127
|
-
|
|
124
|
+
logger?.emit("warning", c.red("Watcher failed"));
|
|
128
125
|
}
|
|
129
126
|
});
|
|
130
127
|
return;
|
|
@@ -132,6 +129,8 @@ async function startWatcher(path2, cb) {
|
|
|
132
129
|
|
|
133
130
|
// src/commands/generate.ts
|
|
134
131
|
import { PromiseManager, isInputPath } from "@kubb/core";
|
|
132
|
+
import path from "node:path";
|
|
133
|
+
import { createLogger as createLogger2, LogMapper } from "@kubb/core/logger";
|
|
135
134
|
var args = {
|
|
136
135
|
config: {
|
|
137
136
|
type: "string",
|
|
@@ -142,8 +141,8 @@ var args = {
|
|
|
142
141
|
type: "string",
|
|
143
142
|
description: "Info, silent or debug",
|
|
144
143
|
alias: "l",
|
|
145
|
-
default:
|
|
146
|
-
valueHint:
|
|
144
|
+
default: "info",
|
|
145
|
+
valueHint: "silent|info|debug"
|
|
147
146
|
},
|
|
148
147
|
watch: {
|
|
149
148
|
type: "boolean",
|
|
@@ -176,9 +175,6 @@ var command = defineCommand({
|
|
|
176
175
|
description: "[input] Generate files based on a 'kubb.config.ts' file"
|
|
177
176
|
},
|
|
178
177
|
args,
|
|
179
|
-
setup() {
|
|
180
|
-
spinner.start("\u{1F50D} Loading config");
|
|
181
|
-
},
|
|
182
178
|
async run({ args: args2 }) {
|
|
183
179
|
const input = args2._[0];
|
|
184
180
|
if (args2.help) {
|
|
@@ -186,15 +182,20 @@ var command = defineCommand({
|
|
|
186
182
|
return;
|
|
187
183
|
}
|
|
188
184
|
if (args2.debug) {
|
|
189
|
-
args2.logLevel =
|
|
185
|
+
args2.logLevel = "debug";
|
|
190
186
|
}
|
|
191
187
|
if (args2.bun) {
|
|
192
188
|
const command2 = process.argv.splice(2).filter((item) => item !== "--bun");
|
|
193
189
|
await execa("bkubb", command2, { stdout: process.stdout, stderr: process.stderr });
|
|
194
190
|
return;
|
|
195
191
|
}
|
|
192
|
+
const logLevel = LogMapper[args2.logLevel] || 3;
|
|
193
|
+
const logger = createLogger2({
|
|
194
|
+
logLevel
|
|
195
|
+
});
|
|
196
|
+
logger.emit("start", "Loading config");
|
|
196
197
|
const result = await getCosmiConfig("kubb", args2.config);
|
|
197
|
-
|
|
198
|
+
logger.emit("success", `Config loaded(${c2.dim(path.relative(process.cwd(), result.filepath))})`);
|
|
198
199
|
const config = await getConfig(result, args2);
|
|
199
200
|
if (args2.watch) {
|
|
200
201
|
if (Array.isArray(config)) {
|
|
@@ -202,9 +203,8 @@ var command = defineCommand({
|
|
|
202
203
|
}
|
|
203
204
|
if (isInputPath(config)) {
|
|
204
205
|
return startWatcher([input || config.input.path], async (paths) => {
|
|
205
|
-
await generate({ config, args: args2 });
|
|
206
|
-
|
|
207
|
-
spinner.start(c2.yellow(c2.bold(`Watching for changes in ${paths.join(" and ")}`)));
|
|
206
|
+
await generate({ config, args: args2, input });
|
|
207
|
+
logger.emit("start", c2.yellow(c2.bold(`Watching for changes in ${paths.join(" and ")}`)));
|
|
208
208
|
});
|
|
209
209
|
}
|
|
210
210
|
}
|
|
@@ -220,4 +220,4 @@ var generate_default = command;
|
|
|
220
220
|
export {
|
|
221
221
|
generate_default as default
|
|
222
222
|
};
|
|
223
|
-
//# sourceMappingURL=generate-
|
|
223
|
+
//# sourceMappingURL=generate-72VOKAFH.js.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"],"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 { PromiseManager, isInputPath } from '@kubb/core'\nimport { generate } from '../generate.ts'\nimport path from 'node:path'\nimport { createLogger, LogMapper } from '@kubb/core/logger'\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({ args }) {\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})\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"],"mappings":"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","names":["c","args","path","createLogger","args","command","c"]}
|
|
@@ -3,22 +3,18 @@
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
var _chunkNKSXZ2SMcjs = require('./chunk-NKSXZ2SM.cjs');
|
|
6
|
+
var _chunkJSNVO6QVcjs = require('./chunk-JSNVO6QV.cjs');
|
|
8
7
|
|
|
9
8
|
// src/commands/generate.ts
|
|
10
|
-
|
|
11
|
-
var _logger = require('@kubb/core/logger');
|
|
9
|
+
_chunkJSNVO6QVcjs.init_cjs_shims.call(void 0, );
|
|
12
10
|
var _citty = require('citty');
|
|
13
|
-
var _path = require('path'); var _path2 = _interopRequireDefault(_path);
|
|
14
11
|
|
|
15
12
|
// src/utils/getConfig.ts
|
|
16
|
-
|
|
13
|
+
_chunkJSNVO6QVcjs.init_cjs_shims.call(void 0, );
|
|
17
14
|
var _utils = require('@kubb/core/utils');
|
|
18
15
|
|
|
19
16
|
// src/utils/getPlugins.ts
|
|
20
|
-
|
|
21
|
-
var _core = require('@kubb/core');
|
|
17
|
+
_chunkJSNVO6QVcjs.init_cjs_shims.call(void 0, );
|
|
22
18
|
function isJSONPlugins(plugins) {
|
|
23
19
|
return !!_optionalChain([plugins, 'optionalAccess', _2 => _2.some, 'call', _3 => _3((plugin) => {
|
|
24
20
|
return Array.isArray(plugin) && typeof _optionalChain([plugin, 'optionalAccess', _4 => _4.at, 'call', _5 => _5(0)]) === "string";
|
|
@@ -66,7 +62,7 @@ async function getConfig(result, args2) {
|
|
|
66
62
|
}
|
|
67
63
|
|
|
68
64
|
// src/utils/getCosmiConfig.ts
|
|
69
|
-
|
|
65
|
+
_chunkJSNVO6QVcjs.init_cjs_shims.call(void 0, );
|
|
70
66
|
var _bundlerequire = require('bundle-require');
|
|
71
67
|
var _cosmiconfig = require('cosmiconfig');
|
|
72
68
|
var tsLoader = async (configFile) => {
|
|
@@ -115,27 +111,30 @@ async function getCosmiConfig(moduleName, config) {
|
|
|
115
111
|
}
|
|
116
112
|
|
|
117
113
|
// src/utils/watcher.ts
|
|
118
|
-
|
|
114
|
+
_chunkJSNVO6QVcjs.init_cjs_shims.call(void 0, );
|
|
115
|
+
var _logger = require('@kubb/core/logger');
|
|
119
116
|
async function startWatcher(path2, cb) {
|
|
120
117
|
const { watch } = await Promise.resolve().then(() => _interopRequireWildcard(require("chokidar")));
|
|
118
|
+
const logger = _logger.createLogger.call(void 0, );
|
|
121
119
|
const ignored = ["**/{.git,node_modules}/**"];
|
|
122
120
|
const watcher = watch(path2, {
|
|
123
121
|
ignorePermissionErrors: true,
|
|
124
122
|
ignored
|
|
125
123
|
});
|
|
126
124
|
watcher.on("all", (type, file) => {
|
|
127
|
-
|
|
128
|
-
_chunkNKSXZ2SMcjs.spinner.spinner = "clock";
|
|
125
|
+
_optionalChain([logger, 'optionalAccess', _8 => _8.emit, 'call', _9 => _9("info", _chunkJSNVO6QVcjs.p.yellow(_chunkJSNVO6QVcjs.p.bold(`Change detected: ${type} ${file}`)))]);
|
|
129
126
|
try {
|
|
130
127
|
cb(path2);
|
|
131
128
|
} catch (e) {
|
|
132
|
-
|
|
129
|
+
_optionalChain([logger, 'optionalAccess', _10 => _10.emit, 'call', _11 => _11("warning", _chunkJSNVO6QVcjs.p.red("Watcher failed"))]);
|
|
133
130
|
}
|
|
134
131
|
});
|
|
135
132
|
return;
|
|
136
133
|
}
|
|
137
134
|
|
|
138
135
|
// src/commands/generate.ts
|
|
136
|
+
var _core = require('@kubb/core');
|
|
137
|
+
var _path = require('path'); var _path2 = _interopRequireDefault(_path);
|
|
139
138
|
|
|
140
139
|
var args = {
|
|
141
140
|
config: {
|
|
@@ -147,8 +146,8 @@ var args = {
|
|
|
147
146
|
type: "string",
|
|
148
147
|
description: "Info, silent or debug",
|
|
149
148
|
alias: "l",
|
|
150
|
-
default:
|
|
151
|
-
valueHint:
|
|
149
|
+
default: "info",
|
|
150
|
+
valueHint: "silent|info|debug"
|
|
152
151
|
},
|
|
153
152
|
watch: {
|
|
154
153
|
type: "boolean",
|
|
@@ -181,9 +180,6 @@ var command = _citty.defineCommand.call(void 0, {
|
|
|
181
180
|
description: "[input] Generate files based on a 'kubb.config.ts' file"
|
|
182
181
|
},
|
|
183
182
|
args,
|
|
184
|
-
setup() {
|
|
185
|
-
_chunkNKSXZ2SMcjs.spinner.start("\u{1F50D} Loading config");
|
|
186
|
-
},
|
|
187
183
|
async run({ args: args2 }) {
|
|
188
184
|
const input = args2._[0];
|
|
189
185
|
if (args2.help) {
|
|
@@ -191,15 +187,20 @@ var command = _citty.defineCommand.call(void 0, {
|
|
|
191
187
|
return;
|
|
192
188
|
}
|
|
193
189
|
if (args2.debug) {
|
|
194
|
-
args2.logLevel =
|
|
190
|
+
args2.logLevel = "debug";
|
|
195
191
|
}
|
|
196
192
|
if (args2.bun) {
|
|
197
193
|
const command2 = process.argv.splice(2).filter((item) => item !== "--bun");
|
|
198
|
-
await
|
|
194
|
+
await _chunkJSNVO6QVcjs.execa.call(void 0, "bkubb", command2, { stdout: process.stdout, stderr: process.stderr });
|
|
199
195
|
return;
|
|
200
196
|
}
|
|
197
|
+
const logLevel = _logger.LogMapper[args2.logLevel] || 3;
|
|
198
|
+
const logger = _logger.createLogger.call(void 0, {
|
|
199
|
+
logLevel
|
|
200
|
+
});
|
|
201
|
+
logger.emit("start", "Loading config");
|
|
201
202
|
const result = await getCosmiConfig("kubb", args2.config);
|
|
202
|
-
|
|
203
|
+
logger.emit("success", `Config loaded(${_chunkJSNVO6QVcjs.p.dim(_path2.default.relative(process.cwd(), result.filepath))})`);
|
|
203
204
|
const config = await getConfig(result, args2);
|
|
204
205
|
if (args2.watch) {
|
|
205
206
|
if (Array.isArray(config)) {
|
|
@@ -207,22 +208,21 @@ var command = _citty.defineCommand.call(void 0, {
|
|
|
207
208
|
}
|
|
208
209
|
if (_core.isInputPath.call(void 0, config)) {
|
|
209
210
|
return startWatcher([input || config.input.path], async (paths) => {
|
|
210
|
-
await
|
|
211
|
-
|
|
212
|
-
_chunkNKSXZ2SMcjs.spinner.start(_chunkNKSXZ2SMcjs.p.yellow(_chunkNKSXZ2SMcjs.p.bold(`Watching for changes in ${paths.join(" and ")}`)));
|
|
211
|
+
await _chunkJSNVO6QVcjs.generate.call(void 0, { config, args: args2, input });
|
|
212
|
+
logger.emit("start", _chunkJSNVO6QVcjs.p.yellow(_chunkJSNVO6QVcjs.p.bold(`Watching for changes in ${paths.join(" and ")}`)));
|
|
213
213
|
});
|
|
214
214
|
}
|
|
215
215
|
}
|
|
216
216
|
if (Array.isArray(config)) {
|
|
217
217
|
const promiseManager = new (0, _core.PromiseManager)();
|
|
218
|
-
const promises = config.map((item) => () =>
|
|
218
|
+
const promises = config.map((item) => () => _chunkJSNVO6QVcjs.generate.call(void 0, { input, config: item, args: args2 }));
|
|
219
219
|
return promiseManager.run("seq", promises);
|
|
220
220
|
}
|
|
221
|
-
await
|
|
221
|
+
await _chunkJSNVO6QVcjs.generate.call(void 0, { input, config, args: args2 });
|
|
222
222
|
}
|
|
223
223
|
});
|
|
224
224
|
var generate_default = command;
|
|
225
225
|
|
|
226
226
|
|
|
227
227
|
exports.default = generate_default;
|
|
228
|
-
//# sourceMappingURL=generate-
|
|
228
|
+
//# sourceMappingURL=generate-XCM5NDJ6.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/kubb/kubb/packages/cli/dist/generate-XCM5NDJ6.cjs","../src/commands/generate.ts","../src/utils/getConfig.ts","../src/utils/getPlugins.ts","../src/utils/getCosmiConfig.ts","../src/utils/watcher.ts"],"names":["args"],"mappings":"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","file":"/home/runner/work/kubb/kubb/packages/cli/dist/generate-XCM5NDJ6.cjs","sourcesContent":[null,"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 { PromiseManager, isInputPath } from '@kubb/core'\nimport { generate } from '../generate.ts'\nimport path from 'node:path'\nimport { createLogger, LogMapper } from '@kubb/core/logger'\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({ args }) {\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})\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"]}
|
package/dist/index.cjs
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
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 }; }
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkJSNVO6QVcjs = require('./chunk-JSNVO6QV.cjs');
|
|
5
5
|
|
|
6
6
|
// src/index.ts
|
|
7
|
-
|
|
7
|
+
_chunkJSNVO6QVcjs.init_cjs_shims.call(void 0, );
|
|
8
8
|
var _citty = require('citty');
|
|
9
9
|
var _latestversion = require('latest-version'); var _latestversion2 = _interopRequireDefault(_latestversion);
|
|
10
10
|
var _semver = require('semver');
|
|
11
|
-
var _consola = require('consola'); var _consola2 = _interopRequireDefault(_consola);
|
|
12
11
|
|
|
13
12
|
// package.json
|
|
14
|
-
var version = "3.0.0-alpha.
|
|
13
|
+
var version = "3.0.0-alpha.10";
|
|
15
14
|
|
|
16
15
|
// src/index.ts
|
|
16
|
+
var _consola = require('consola'); var _consola2 = _interopRequireDefault(_consola);
|
|
17
17
|
var name = "kubb";
|
|
18
18
|
var main = _citty.defineCommand.call(void 0, {
|
|
19
19
|
meta: {
|
|
@@ -39,13 +39,13 @@ Run \`npm install -g @kubb/cli\` to update`,
|
|
|
39
39
|
} catch (_e) {
|
|
40
40
|
}
|
|
41
41
|
if (rawArgs[0] !== "generate") {
|
|
42
|
-
const generateCommand = await Promise.resolve().then(() => _interopRequireWildcard(require("./generate-
|
|
42
|
+
const generateCommand = await Promise.resolve().then(() => _interopRequireWildcard(require("./generate-XCM5NDJ6.cjs"))).then((r) => r.default);
|
|
43
43
|
await _citty.runCommand.call(void 0, generateCommand, { rawArgs });
|
|
44
44
|
process.exit(0);
|
|
45
45
|
}
|
|
46
46
|
},
|
|
47
47
|
subCommands: {
|
|
48
|
-
generate: () => Promise.resolve().then(() => _interopRequireWildcard(require("./generate-
|
|
48
|
+
generate: () => Promise.resolve().then(() => _interopRequireWildcard(require("./generate-XCM5NDJ6.cjs"))).then((r) => r.default)
|
|
49
49
|
}
|
|
50
50
|
});
|
|
51
51
|
async function run(_argv) {
|
|
@@ -54,5 +54,5 @@ async function run(_argv) {
|
|
|
54
54
|
|
|
55
55
|
|
|
56
56
|
|
|
57
|
-
exports.generate =
|
|
57
|
+
exports.generate = _chunkJSNVO6QVcjs.generate; exports.run = run;
|
|
58
58
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -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;
|
|
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;ADQnB;AACA;AETE,IAAA,QAAA,EAAW,gBAAA;AFWb;AACA;ACTA,oFAAoB;AAEpB,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 { 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.10\",\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"]}
|
package/dist/index.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
2
|
generate
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-EKC3Q472.js";
|
|
4
4
|
|
|
5
5
|
// src/index.ts
|
|
6
6
|
import { defineCommand, runCommand, runMain } from "citty";
|
|
7
7
|
import getLatestVersion from "latest-version";
|
|
8
8
|
import { lt } from "semver";
|
|
9
|
-
import consola from "consola";
|
|
10
9
|
|
|
11
10
|
// package.json
|
|
12
|
-
var version = "3.0.0-alpha.
|
|
11
|
+
var version = "3.0.0-alpha.10";
|
|
13
12
|
|
|
14
13
|
// src/index.ts
|
|
14
|
+
import consola from "consola";
|
|
15
15
|
var name = "kubb";
|
|
16
16
|
var main = defineCommand({
|
|
17
17
|
meta: {
|
|
@@ -37,13 +37,13 @@ Run \`npm install -g @kubb/cli\` to update`,
|
|
|
37
37
|
} catch (_e) {
|
|
38
38
|
}
|
|
39
39
|
if (rawArgs[0] !== "generate") {
|
|
40
|
-
const generateCommand = await import("./generate-
|
|
40
|
+
const generateCommand = await import("./generate-72VOKAFH.js").then((r) => r.default);
|
|
41
41
|
await runCommand(generateCommand, { rawArgs });
|
|
42
42
|
process.exit(0);
|
|
43
43
|
}
|
|
44
44
|
},
|
|
45
45
|
subCommands: {
|
|
46
|
-
generate: () => import("./generate-
|
|
46
|
+
generate: () => import("./generate-72VOKAFH.js").then((r) => r.default)
|
|
47
47
|
}
|
|
48
48
|
});
|
|
49
49
|
async function run(_argv) {
|
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
|
|
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 { 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.10\",\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;;;ACAjB,cAAW;;;ADGb,OAAO,aAAa;AAEpB,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":[]}
|
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.10",
|
|
4
4
|
"description": "Generator cli",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript",
|
|
@@ -43,28 +43,30 @@
|
|
|
43
43
|
"bundle-require": "^5.0.0",
|
|
44
44
|
"chokidar": "^3.6.0",
|
|
45
45
|
"citty": "^0.1.6",
|
|
46
|
+
"cli-progress": "^3.12.0",
|
|
46
47
|
"consola": "^3.2.3",
|
|
47
48
|
"cosmiconfig": "^9.0.0",
|
|
48
49
|
"esbuild": "^0.23.1",
|
|
49
50
|
"execa": "^9.3.1",
|
|
50
51
|
"js-runtime": "^0.0.8",
|
|
51
52
|
"latest-version": "^9.0.0",
|
|
52
|
-
"
|
|
53
|
+
"p-queue": "^8.0.1",
|
|
53
54
|
"semver": "^7.6.3",
|
|
54
55
|
"string-argv": "^0.3.2",
|
|
55
56
|
"tinyrainbow": "^1.2.0",
|
|
56
|
-
"@kubb/core": "3.0.0-alpha.
|
|
57
|
-
"@kubb/fs": "3.0.0-alpha.
|
|
57
|
+
"@kubb/core": "3.0.0-alpha.10",
|
|
58
|
+
"@kubb/fs": "3.0.0-alpha.10"
|
|
58
59
|
},
|
|
59
60
|
"devDependencies": {
|
|
60
|
-
"@types/
|
|
61
|
+
"@types/cli-progress": "^3.11.6",
|
|
62
|
+
"@types/node": "^20.16.2",
|
|
61
63
|
"@types/semver": "^7.5.8",
|
|
62
64
|
"source-map-support": "^0.5.21",
|
|
63
65
|
"tsup": "^8.2.4",
|
|
64
66
|
"typescript": "^5.5.4",
|
|
65
|
-
"@kubb/config-ts": "3.0.0-alpha.
|
|
66
|
-
"@kubb/config-tsup": "3.0.0-alpha.
|
|
67
|
-
"@kubb/plugin-oas": "3.0.0-alpha.
|
|
67
|
+
"@kubb/config-ts": "3.0.0-alpha.10",
|
|
68
|
+
"@kubb/config-tsup": "3.0.0-alpha.10",
|
|
69
|
+
"@kubb/plugin-oas": "3.0.0-alpha.10"
|
|
68
70
|
},
|
|
69
71
|
"engines": {
|
|
70
72
|
"node": ">=20"
|
package/src/commands/generate.ts
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
import { LogLevel } from '@kubb/core/logger'
|
|
2
1
|
import { defineCommand, showUsage } from 'citty'
|
|
3
2
|
import type { ArgsDef, ParsedArgs } from 'citty'
|
|
4
3
|
import { execa } from 'execa'
|
|
5
4
|
import c from 'tinyrainbow'
|
|
6
5
|
|
|
7
|
-
import path from 'node:path'
|
|
8
6
|
import { getConfig } from '../utils/getConfig.ts'
|
|
9
7
|
import { getCosmiConfig } from '../utils/getCosmiConfig.ts'
|
|
10
|
-
import { spinner } from '../utils/spinner.ts'
|
|
11
8
|
import { startWatcher } from '../utils/watcher.ts'
|
|
12
9
|
|
|
13
10
|
import { PromiseManager, isInputPath } from '@kubb/core'
|
|
14
11
|
import { generate } from '../generate.ts'
|
|
12
|
+
import path from 'node:path'
|
|
13
|
+
import { createLogger, LogMapper } from '@kubb/core/logger'
|
|
15
14
|
|
|
16
15
|
const args = {
|
|
17
16
|
config: {
|
|
@@ -23,8 +22,8 @@ const args = {
|
|
|
23
22
|
type: 'string',
|
|
24
23
|
description: 'Info, silent or debug',
|
|
25
24
|
alias: 'l',
|
|
26
|
-
default:
|
|
27
|
-
valueHint:
|
|
25
|
+
default: 'info',
|
|
26
|
+
valueHint: 'silent|info|debug',
|
|
28
27
|
},
|
|
29
28
|
watch: {
|
|
30
29
|
type: 'boolean',
|
|
@@ -60,9 +59,6 @@ const command = defineCommand({
|
|
|
60
59
|
description: "[input] Generate files based on a 'kubb.config.ts' file",
|
|
61
60
|
},
|
|
62
61
|
args,
|
|
63
|
-
setup() {
|
|
64
|
-
spinner.start('🔍 Loading config')
|
|
65
|
-
},
|
|
66
62
|
async run({ args }) {
|
|
67
63
|
const input = args._[0]
|
|
68
64
|
|
|
@@ -72,7 +68,7 @@ const command = defineCommand({
|
|
|
72
68
|
}
|
|
73
69
|
|
|
74
70
|
if (args.debug) {
|
|
75
|
-
args.logLevel =
|
|
71
|
+
args.logLevel = 'debug'
|
|
76
72
|
}
|
|
77
73
|
|
|
78
74
|
if (args.bun) {
|
|
@@ -82,8 +78,15 @@ const command = defineCommand({
|
|
|
82
78
|
return
|
|
83
79
|
}
|
|
84
80
|
|
|
81
|
+
const logLevel = LogMapper[args.logLevel as keyof typeof LogMapper] || 3
|
|
82
|
+
const logger = createLogger({
|
|
83
|
+
logLevel,
|
|
84
|
+
})
|
|
85
|
+
|
|
86
|
+
logger.emit('start', 'Loading config')
|
|
87
|
+
|
|
85
88
|
const result = await getCosmiConfig('kubb', args.config)
|
|
86
|
-
|
|
89
|
+
logger.emit('success', `Config loaded(${c.dim(path.relative(process.cwd(), result.filepath))})`)
|
|
87
90
|
|
|
88
91
|
const config = await getConfig(result, args)
|
|
89
92
|
|
|
@@ -94,9 +97,8 @@ const command = defineCommand({
|
|
|
94
97
|
|
|
95
98
|
if (isInputPath(config)) {
|
|
96
99
|
return startWatcher([input || config.input.path], async (paths) => {
|
|
97
|
-
await generate({ config, args })
|
|
98
|
-
|
|
99
|
-
spinner.start(c.yellow(c.bold(`Watching for changes in ${paths.join(' and ')}`)))
|
|
100
|
+
await generate({ config, args, input })
|
|
101
|
+
logger.emit('start', c.yellow(c.bold(`Watching for changes in ${paths.join(' and ')}`)))
|
|
100
102
|
})
|
|
101
103
|
}
|
|
102
104
|
}
|