@kubb/cli 3.0.0-alpha.6 → 3.0.0-alpha.8

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.
@@ -9,10 +9,12 @@ import { parseArgsStringToArgv } from "string-argv";
9
9
  import c2 from "tinyrainbow";
10
10
 
11
11
  // src/utils/Writables.ts
12
- import { Writable } from "stream";
12
+ import { Writable } from "node:stream";
13
13
  import c from "tinyrainbow";
14
- import * as process2 from "process";
14
+ import * as process2 from "node:process";
15
15
  var ConsolaWritable = class extends Writable {
16
+ consola;
17
+ command;
16
18
  constructor(consola, command, opts) {
17
19
  super(opts);
18
20
  this.command = command;
@@ -64,7 +66,7 @@ function getErrorCauses(errors) {
64
66
  }
65
67
 
66
68
  // src/utils/getSummary.ts
67
- import path from "path";
69
+ import path from "node:path";
68
70
  import { randomCliColour } from "@kubb/core/logger";
69
71
  import c3 from "tinyrainbow";
70
72
 
@@ -75,29 +77,17 @@ function parseHrtimeToSeconds(hrtime) {
75
77
  }
76
78
 
77
79
  // src/utils/getSummary.ts
78
- function getSummary({ pluginManager, status, hrStart, config }) {
80
+ function getSummary({ pluginManager, filesCreated, status, hrStart, config }) {
79
81
  const logs = [];
80
82
  const elapsedSeconds = parseHrtimeToSeconds(process.hrtime(hrStart));
81
83
  const buildStartPlugins = pluginManager.executed.filter((item) => item.hookName === "buildStart" && item.plugin.name !== "core").map((item) => item.plugin.name);
82
84
  const buildEndPlugins = pluginManager.executed.filter((item) => item.hookName === "buildEnd" && item.plugin.name !== "core").map((item) => item.plugin.name);
83
85
  const failedPlugins = config.plugins?.filter((plugin) => !buildEndPlugins.includes(plugin.name))?.map((plugin) => plugin.name);
84
86
  const pluginsCount = config.plugins?.length || 0;
85
- const files = pluginManager.fileManager.files.sort((a, b) => {
86
- if (!a.meta?.pluginKey?.[0] || !b.meta?.pluginKey?.[0]) {
87
- return 0;
88
- }
89
- if (a.meta?.pluginKey?.[0]?.length < b.meta?.pluginKey?.[0]?.length) {
90
- return 1;
91
- }
92
- if (a.meta?.pluginKey?.[0]?.length > b.meta?.pluginKey?.[0]?.length) {
93
- return -1;
94
- }
95
- return 0;
96
- });
97
87
  const meta = {
98
88
  plugins: status === "success" ? `${c3.green(`${buildStartPlugins.length} successful`)}, ${pluginsCount} total` : `${c3.red(`${failedPlugins?.length ?? 1} failed`)}, ${pluginsCount} total`,
99
89
  pluginsFailed: status === "failed" ? failedPlugins?.map((name) => randomCliColour(name))?.join(", ") : void 0,
100
- filesCreated: files.length,
90
+ filesCreated,
101
91
  time: `${c3.yellow(`${elapsedSeconds}s`)}`,
102
92
  output: path.isAbsolute(config.root) ? path.resolve(config.root, config.output.path) : config.root
103
93
  };
@@ -118,7 +108,7 @@ function getSummary({ pluginManager, status, hrStart, config }) {
118
108
  }
119
109
 
120
110
  // src/utils/writeLog.ts
121
- import { resolve } from "path";
111
+ import { resolve } from "node:path";
122
112
  import { read, write } from "@kubb/fs";
123
113
  async function writeLog({ data, override, fileName = "kubb.log" }) {
124
114
  if (data.trim() === "") {
@@ -150,9 +140,10 @@ async function generate({ input, config, args }) {
150
140
  if (!progressBars[id]) {
151
141
  progressBars[id] = new SingleBar(
152
142
  {
153
- format: logLevel === LogMapper2.info ? "{percentage}% {bar} {value}/{total} {id} | {data}" : "{percentage}% {bar} ETA: {eta}s",
143
+ format: logLevel === LogMapper2.info ? "{percentage}% {bar} {value}/{total} {id} | {data} | ETA: {eta_formatted} | Duration: {duration_formatted} " : "{percentage}% {bar} ETA: {eta_formatted}",
154
144
  barsize: 25,
155
- clearOnComplete: true
145
+ clearOnComplete: true,
146
+ emptyOnZero: true
156
147
  },
157
148
  Presets.shades_grey
158
149
  );
@@ -188,15 +179,17 @@ async function generate({ input, config, args }) {
188
179
  } : userConfig.input,
189
180
  output: {
190
181
  write: true,
182
+ exportType: "barrelNamed",
191
183
  ...userConfig.output
192
184
  }
193
185
  };
194
186
  const hrStart = process.hrtime();
195
- const { pluginManager, error } = await safeBuild({
187
+ const { pluginManager, files, error } = await safeBuild({
196
188
  config: definedConfig,
197
189
  logger
198
190
  });
199
191
  const summary = getSummary({
192
+ filesCreated: files.length,
200
193
  pluginManager,
201
194
  config: definedConfig,
202
195
  status: error ? "failed" : "success",
@@ -204,6 +197,7 @@ async function generate({ input, config, args }) {
204
197
  logger
205
198
  });
206
199
  if (error && logger.consola) {
200
+ logger.consola?.resumeLogs();
207
201
  logger.consola.error(`Build failed ${logLevel !== LogMapper2.silent ? c4.dim(inputPath) : ""}`);
208
202
  logger.consola.box({
209
203
  title: `${config.name || ""}`,
@@ -241,4 +235,4 @@ async function generate({ input, config, args }) {
241
235
  export {
242
236
  generate
243
237
  };
244
- //# sourceMappingURL=chunk-7EOWZACL.js.map
238
+ //# sourceMappingURL=chunk-OCZD7TTT.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","../src/utils/writeLog.ts"],"sourcesContent":["import { LogMapper, createLogger } from '@kubb/core/logger'\n\nimport c from 'tinyrainbow'\n\nimport { type Config, safeBuild } from '@kubb/core'\nimport type { Args } from './commands/generate.ts'\nimport { executeHooks } from './utils/executeHooks.ts'\nimport { getErrorCauses } from './utils/getErrorCauses.ts'\nimport { getSummary } from './utils/getSummary.ts'\nimport { writeLog } from './utils/writeLog.ts'\n\nimport { Presets, SingleBar } from 'cli-progress'\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\n const progressBars: Record<string, SingleBar> = {}\n\n logger.on('progress_start', ({ id, size }) => {\n logger.consola?.pauseLogs()\n if (!progressBars[id]) {\n progressBars[id] = new SingleBar(\n {\n format:\n logLevel === LogMapper.info\n ? '{percentage}% {bar} {value}/{total} {id} | {data} | ETA: {eta_formatted} | Duration: {duration_formatted} '\n : '{percentage}% {bar} ETA: {eta_formatted}',\n barsize: 25,\n clearOnComplete: true,\n emptyOnZero: true,\n },\n Presets.shades_grey,\n )\n progressBars[id].start(size, 1, { id, data: '' })\n }\n })\n\n logger.on('progress_stop', ({ id }) => {\n const progressBar = progressBars[id]\n progressBar?.stop()\n logger.consola?.resumeLogs()\n })\n\n logger.on('progress', ({ id, count, data = '' }) => {\n const progressBar = progressBars[id]\n const payload = { id, data }\n\n if (count) {\n progressBar?.update(count, payload)\n } else {\n progressBar?.increment(1, payload)\n }\n })\n\n logger.on('debug', async ({ logs, override, fileName }) => {\n await writeLog({ data: logs.join('\\n'), fileName, override })\n })\n\n const { root = process.cwd(), ...userConfig } = config\n const inputPath = input ?? ('path' in userConfig.input ? userConfig.input.path : undefined)\n\n logger.emit('start', `Building ${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 const summary = getSummary({\n filesCreated: files.length,\n pluginManager,\n config: definedConfig,\n status: error ? 'failed' : 'success',\n hrStart,\n logger,\n })\n\n if (error && logger.consola) {\n logger.consola?.resumeLogs()\n logger.consola.error(`Build failed ${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 && 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 ${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 const subProcess = 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\n command: string\n constructor(consola: ConsolaInstance, 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, FileMetaBase, PluginManager } from '@kubb/core'\nimport type { Logger } from '@kubb/core/logger'\n\ntype SummaryProps = {\n pluginManager: PluginManager\n status: 'success' | 'failed'\n hrStart: [number, number]\n filesCreated: number\n config: Config\n logger: Logger\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","import { resolve } from 'node:path'\nimport { read, write } from '@kubb/fs'\n\ntype Props = {\n data: string\n fileName?: string\n override?: boolean\n}\n\nexport async function writeLog({ data, override, fileName = 'kubb.log' }: Props): Promise<string | undefined> {\n if (data.trim() === '') {\n return undefined\n }\n const path = resolve(process.cwd(), fileName)\n let previousLogs = ''\n\n try {\n previousLogs = await read(resolve(path))\n } catch (_err) {\n /* empty */\n }\n\n if (override) {\n return write(path, data.trim(), { sanity: false })\n }\n\n return write(path, [previousLogs, data.trim()].filter(Boolean).join('\\n'), { sanity: false })\n}\n"],"mappings":"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","names":["LogMapper","c","c","process","c","c","c","path","LogMapper","c"]}