@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
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
// src/generate.ts
|
|
2
|
+
import { LogMapper as LogMapper2 } from "@kubb/core/logger";
|
|
3
|
+
import c4 from "tinyrainbow";
|
|
4
|
+
import { safeBuild } from "@kubb/core";
|
|
5
|
+
|
|
6
|
+
// src/utils/executeHooks.ts
|
|
7
|
+
import { execa } from "execa";
|
|
8
|
+
import { parseArgsStringToArgv } from "string-argv";
|
|
9
|
+
import c2 from "tinyrainbow";
|
|
10
|
+
|
|
11
|
+
// src/utils/Writables.ts
|
|
12
|
+
import { Writable } from "node:stream";
|
|
13
|
+
import c from "tinyrainbow";
|
|
14
|
+
import * as process2 from "node:process";
|
|
15
|
+
var ConsolaWritable = class extends Writable {
|
|
16
|
+
consola;
|
|
17
|
+
command;
|
|
18
|
+
constructor(consola, command, opts) {
|
|
19
|
+
super(opts);
|
|
20
|
+
this.command = command;
|
|
21
|
+
this.consola = consola;
|
|
22
|
+
}
|
|
23
|
+
_write(chunk, _encoding, callback) {
|
|
24
|
+
process2.stdout.write(`${c.dim(chunk?.toString())}`);
|
|
25
|
+
callback();
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
// src/utils/executeHooks.ts
|
|
30
|
+
import { LogMapper } from "@kubb/core/logger";
|
|
31
|
+
import PQueue from "p-queue";
|
|
32
|
+
async function executeHooks({ hooks, logger }) {
|
|
33
|
+
const commands = Array.isArray(hooks.done) ? hooks.done : [hooks.done].filter(Boolean);
|
|
34
|
+
const queue = new PQueue({ concurrency: 1 });
|
|
35
|
+
const promises = commands.map(async (command) => {
|
|
36
|
+
const consolaWritable = new ConsolaWritable(logger.consola, command);
|
|
37
|
+
const [cmd, ..._args] = [...parseArgsStringToArgv(command)];
|
|
38
|
+
if (!cmd) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
await queue.add(async () => {
|
|
42
|
+
logger?.emit("start", `Executing hook ${logger.logLevel !== LogMapper.silent ? c2.dim(command) : ""}`);
|
|
43
|
+
await execa(cmd, _args, {
|
|
44
|
+
detached: true,
|
|
45
|
+
stdout: logger?.logLevel === LogMapper.silent ? void 0 : ["pipe", consolaWritable],
|
|
46
|
+
stripFinalNewline: true
|
|
47
|
+
});
|
|
48
|
+
logger?.emit("success", `Executed hook ${logger.logLevel !== LogMapper.silent ? c2.dim(command) : ""}`);
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
await Promise.all(promises);
|
|
52
|
+
logger?.emit("success", "Executed hooks");
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// src/utils/getErrorCauses.ts
|
|
56
|
+
function getErrorCauses(errors) {
|
|
57
|
+
return errors.reduce((prev, error) => {
|
|
58
|
+
const causedError = error?.cause;
|
|
59
|
+
if (causedError) {
|
|
60
|
+
prev = [...prev, ...getErrorCauses([causedError])];
|
|
61
|
+
return prev;
|
|
62
|
+
}
|
|
63
|
+
prev = [...prev, error];
|
|
64
|
+
return prev;
|
|
65
|
+
}, []).filter(Boolean);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// src/utils/getSummary.ts
|
|
69
|
+
import path from "node:path";
|
|
70
|
+
import { randomCliColour } from "@kubb/core/logger";
|
|
71
|
+
import c3 from "tinyrainbow";
|
|
72
|
+
|
|
73
|
+
// src/utils/parseHrtimeToSeconds.ts
|
|
74
|
+
function parseHrtimeToSeconds(hrtime) {
|
|
75
|
+
const seconds = (hrtime[0] + hrtime[1] / 1e9).toFixed(3);
|
|
76
|
+
return seconds;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// src/utils/getSummary.ts
|
|
80
|
+
function getSummary({ pluginManager, filesCreated, status, hrStart, config }) {
|
|
81
|
+
const logs = [];
|
|
82
|
+
const elapsedSeconds = parseHrtimeToSeconds(process.hrtime(hrStart));
|
|
83
|
+
const buildStartPlugins = pluginManager.executed.filter((item) => item.hookName === "buildStart" && item.plugin.name !== "core").map((item) => item.plugin.name);
|
|
84
|
+
const buildEndPlugins = pluginManager.executed.filter((item) => item.hookName === "buildEnd" && item.plugin.name !== "core").map((item) => item.plugin.name);
|
|
85
|
+
const failedPlugins = config.plugins?.filter((plugin) => !buildEndPlugins.includes(plugin.name))?.map((plugin) => plugin.name);
|
|
86
|
+
const pluginsCount = config.plugins?.length || 0;
|
|
87
|
+
const meta = {
|
|
88
|
+
plugins: status === "success" ? `${c3.green(`${buildStartPlugins.length} successful`)}, ${pluginsCount} total` : `${c3.red(`${failedPlugins?.length ?? 1} failed`)}, ${pluginsCount} total`,
|
|
89
|
+
pluginsFailed: status === "failed" ? failedPlugins?.map((name) => randomCliColour(name))?.join(", ") : void 0,
|
|
90
|
+
filesCreated,
|
|
91
|
+
time: `${c3.yellow(`${elapsedSeconds}s`)}`,
|
|
92
|
+
output: path.isAbsolute(config.root) ? path.resolve(config.root, config.output.path) : config.root
|
|
93
|
+
};
|
|
94
|
+
logs.push(
|
|
95
|
+
[
|
|
96
|
+
[`${c3.bold("Plugins:")} ${meta.plugins}`, true],
|
|
97
|
+
[`${c3.dim("Failed:")} ${meta.pluginsFailed || "none"}`, !!meta.pluginsFailed],
|
|
98
|
+
[`${c3.bold("Generated:")} ${meta.filesCreated} files in ${meta.time}`, true],
|
|
99
|
+
[`${c3.bold("Output:")} ${meta.output}`, true]
|
|
100
|
+
].map((item) => {
|
|
101
|
+
if (item.at(1)) {
|
|
102
|
+
return item.at(0);
|
|
103
|
+
}
|
|
104
|
+
return void 0;
|
|
105
|
+
}).filter(Boolean).join("\n")
|
|
106
|
+
);
|
|
107
|
+
return logs;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// src/generate.ts
|
|
111
|
+
import { Presets, SingleBar } from "cli-progress";
|
|
112
|
+
import { createLogger } from "@kubb/core/logger";
|
|
113
|
+
async function generate({ input, config, args }) {
|
|
114
|
+
const logLevel = LogMapper2[args.logLevel] || 3;
|
|
115
|
+
const logger = createLogger({
|
|
116
|
+
logLevel,
|
|
117
|
+
name: config.name
|
|
118
|
+
});
|
|
119
|
+
const { root = process.cwd(), ...userConfig } = config;
|
|
120
|
+
const inputPath = input ?? ("path" in userConfig.input ? userConfig.input.path : void 0);
|
|
121
|
+
if (logger.logLevel !== LogMapper2.debug) {
|
|
122
|
+
const progressCache = /* @__PURE__ */ new Map();
|
|
123
|
+
logger.on("progress_start", ({ id, size, message = "" }) => {
|
|
124
|
+
logger.consola?.pauseLogs();
|
|
125
|
+
const payload = { id, message };
|
|
126
|
+
const progressBar = new SingleBar(
|
|
127
|
+
{
|
|
128
|
+
format: "{percentage}% {bar} {value}/{total} | {message}",
|
|
129
|
+
barsize: 30,
|
|
130
|
+
clearOnComplete: true,
|
|
131
|
+
emptyOnZero: true
|
|
132
|
+
},
|
|
133
|
+
Presets.shades_grey
|
|
134
|
+
);
|
|
135
|
+
if (!progressCache.has(id)) {
|
|
136
|
+
progressCache.set(id, progressBar);
|
|
137
|
+
progressBar.start(size, 1, payload);
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
logger.on("progress_stop", ({ id }) => {
|
|
141
|
+
progressCache.get(id)?.stop();
|
|
142
|
+
logger.consola?.resumeLogs();
|
|
143
|
+
});
|
|
144
|
+
logger.on("progressed", ({ id, message = "" }) => {
|
|
145
|
+
const payload = { id, message };
|
|
146
|
+
progressCache.get(id)?.increment(1, payload);
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
logger.emit("start", `Building ${logger.logLevel !== LogMapper2.silent ? c4.dim(inputPath) : ""}`);
|
|
150
|
+
const definedConfig = {
|
|
151
|
+
root,
|
|
152
|
+
...userConfig,
|
|
153
|
+
input: inputPath ? {
|
|
154
|
+
...userConfig.input,
|
|
155
|
+
path: inputPath
|
|
156
|
+
} : userConfig.input,
|
|
157
|
+
output: {
|
|
158
|
+
write: true,
|
|
159
|
+
exportType: "barrelNamed",
|
|
160
|
+
...userConfig.output
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
const hrStart = process.hrtime();
|
|
164
|
+
const { pluginManager, files, error } = await safeBuild({
|
|
165
|
+
config: definedConfig,
|
|
166
|
+
logger
|
|
167
|
+
});
|
|
168
|
+
if (logger.logLevel === LogMapper2.debug) {
|
|
169
|
+
logger.consola?.start("Writing logs");
|
|
170
|
+
const logFiles = await logger.writeLogs();
|
|
171
|
+
logger.consola?.success(`Written logs:
|
|
172
|
+
${logFiles.join("\n")}`);
|
|
173
|
+
}
|
|
174
|
+
const summary = getSummary({
|
|
175
|
+
filesCreated: files.length,
|
|
176
|
+
pluginManager,
|
|
177
|
+
config: definedConfig,
|
|
178
|
+
status: error ? "failed" : "success",
|
|
179
|
+
hrStart
|
|
180
|
+
});
|
|
181
|
+
if (error && logger.consola) {
|
|
182
|
+
logger.consola?.resumeLogs();
|
|
183
|
+
logger.consola.error(`Build failed ${logger.logLevel !== LogMapper2.silent ? c4.dim(inputPath) : ""}`);
|
|
184
|
+
logger.consola.box({
|
|
185
|
+
title: `${config.name || ""}`,
|
|
186
|
+
message: summary.join(""),
|
|
187
|
+
style: {
|
|
188
|
+
padding: 2,
|
|
189
|
+
borderColor: "red",
|
|
190
|
+
borderStyle: "rounded"
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
const errors = getErrorCauses([error]);
|
|
194
|
+
if (logger.consola && errors.length && logger.logLevel === LogMapper2.debug) {
|
|
195
|
+
errors.forEach((err) => {
|
|
196
|
+
logger.consola?.error(err);
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
logger.consola?.error(error);
|
|
200
|
+
process.exit(0);
|
|
201
|
+
}
|
|
202
|
+
if (config.hooks) {
|
|
203
|
+
await executeHooks({ hooks: config.hooks, logger });
|
|
204
|
+
}
|
|
205
|
+
logger.consola?.log(`\u26A1Build completed ${logger.logLevel !== LogMapper2.silent ? c4.dim(inputPath) : ""}`);
|
|
206
|
+
logger.consola?.box({
|
|
207
|
+
title: `${config.name || ""}`,
|
|
208
|
+
message: summary.join(""),
|
|
209
|
+
style: {
|
|
210
|
+
padding: 2,
|
|
211
|
+
borderColor: "green",
|
|
212
|
+
borderStyle: "rounded"
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
export {
|
|
218
|
+
generate
|
|
219
|
+
};
|
|
220
|
+
//# sourceMappingURL=chunk-EKC3Q472.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/generate.ts","../src/utils/executeHooks.ts","../src/utils/Writables.ts","../src/utils/getErrorCauses.ts","../src/utils/getSummary.ts","../src/utils/parseHrtimeToSeconds.ts"],"sourcesContent":["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","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","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","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","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","export function parseHrtimeToSeconds(hrtime: [number, number]): string {\n const seconds = (hrtime[0] + hrtime[1] / 1e9).toFixed(3)\n return seconds\n}\n"],"mappings":"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","names":["LogMapper","c","c","process","c","c","c","LogMapper","c"]}
|