@kubb/cli 5.0.0-beta.1 → 5.0.0-beta.100

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.
Files changed (148) hide show
  1. package/LICENSE +17 -10
  2. package/README.md +171 -51
  3. package/bin/kubb.js +9 -3
  4. package/dist/Telemetry-7z2tIqPm.js +282 -0
  5. package/dist/Telemetry-7z2tIqPm.js.map +1 -0
  6. package/dist/Telemetry-xcWb-UWT.cjs +331 -0
  7. package/dist/Telemetry-xcWb-UWT.cjs.map +1 -0
  8. package/dist/{errors-CjPmyZHy.js → errors-CMvLO2NE.js} +3 -15
  9. package/dist/{errors-CjPmyZHy.js.map → errors-CMvLO2NE.js.map} +1 -1
  10. package/dist/{errors-CLCjoSg0.cjs → errors-DNxBUo3k.cjs} +2 -20
  11. package/dist/{errors-CLCjoSg0.cjs.map → errors-DNxBUo3k.cjs.map} +1 -1
  12. package/dist/generate-dIcWEfOA.cjs +95 -0
  13. package/dist/generate-dIcWEfOA.cjs.map +1 -0
  14. package/dist/generate-nPLBd69v.js +95 -0
  15. package/dist/generate-nPLBd69v.js.map +1 -0
  16. package/dist/index.cjs +33 -252
  17. package/dist/index.cjs.map +1 -1
  18. package/dist/index.d.ts +6 -2
  19. package/dist/index.js +34 -253
  20. package/dist/index.js.map +1 -1
  21. package/dist/init-6h3K2syO.cjs +52 -0
  22. package/dist/init-6h3K2syO.cjs.map +1 -0
  23. package/dist/init-CNV6OC7m.js +53 -0
  24. package/dist/init-CNV6OC7m.js.map +1 -0
  25. package/dist/mcp-BzPiZA36.js +21 -0
  26. package/dist/mcp-BzPiZA36.js.map +1 -0
  27. package/dist/mcp-CmxnIZku.cjs +20 -0
  28. package/dist/mcp-CmxnIZku.cjs.map +1 -0
  29. package/dist/package-By3tigpl.js +6 -0
  30. package/dist/package-By3tigpl.js.map +1 -0
  31. package/dist/{package-Cdo6lNjF.cjs → package-CImfPtTH.cjs} +2 -2
  32. package/dist/package-CImfPtTH.cjs.map +1 -0
  33. package/dist/run-BJhB7Qer.js +306 -0
  34. package/dist/run-BJhB7Qer.js.map +1 -0
  35. package/dist/run-BdtVrLKu.cjs +46 -0
  36. package/dist/run-BdtVrLKu.cjs.map +1 -0
  37. package/dist/run-CaOjZRiQ.js +45 -0
  38. package/dist/run-CaOjZRiQ.js.map +1 -0
  39. package/dist/run-D-gAS1Vq.js +1264 -0
  40. package/dist/run-D-gAS1Vq.js.map +1 -0
  41. package/dist/run-DAHp52w3.js +33 -0
  42. package/dist/run-DAHp52w3.js.map +1 -0
  43. package/dist/run-DaVewTtW.cjs +310 -0
  44. package/dist/run-DaVewTtW.cjs.map +1 -0
  45. package/dist/run-HUVxfpGj.cjs +1267 -0
  46. package/dist/run-HUVxfpGj.cjs.map +1 -0
  47. package/dist/run-iidDikJH.cjs +34 -0
  48. package/dist/run-iidDikJH.cjs.map +1 -0
  49. package/dist/tools-CzgGQa64.cjs +175 -0
  50. package/dist/tools-CzgGQa64.cjs.map +1 -0
  51. package/dist/tools-DH1a7ZJH.js +152 -0
  52. package/dist/tools-DH1a7ZJH.js.map +1 -0
  53. package/dist/validate-BUw6PkPp.js +25 -0
  54. package/dist/validate-BUw6PkPp.js.map +1 -0
  55. package/dist/validate-DMfyLIta.cjs +24 -0
  56. package/dist/validate-DMfyLIta.cjs.map +1 -0
  57. package/package.json +24 -30
  58. package/dist/agent-B_pirbeB.cjs +0 -116
  59. package/dist/agent-B_pirbeB.cjs.map +0 -1
  60. package/dist/agent-CUmEyiqY.cjs +0 -58
  61. package/dist/agent-CUmEyiqY.cjs.map +0 -1
  62. package/dist/agent-Ev5hU5hH.js +0 -112
  63. package/dist/agent-Ev5hU5hH.js.map +0 -1
  64. package/dist/agent-v_2S-bnN.js +0 -56
  65. package/dist/agent-v_2S-bnN.js.map +0 -1
  66. package/dist/constants-CnDXa1R6.cjs +0 -148
  67. package/dist/constants-CnDXa1R6.cjs.map +0 -1
  68. package/dist/constants-aL3CP_Wq.js +0 -95
  69. package/dist/constants-aL3CP_Wq.js.map +0 -1
  70. package/dist/define-Bdn8j5VM.cjs +0 -54
  71. package/dist/define-Bdn8j5VM.cjs.map +0 -1
  72. package/dist/define-Ctii4bel.js +0 -43
  73. package/dist/define-Ctii4bel.js.map +0 -1
  74. package/dist/generate-BaJRhbCS.js +0 -66
  75. package/dist/generate-BaJRhbCS.js.map +0 -1
  76. package/dist/generate-CuxArvEk.js +0 -1753
  77. package/dist/generate-CuxArvEk.js.map +0 -1
  78. package/dist/generate-TL8zY_IT.cjs +0 -65
  79. package/dist/generate-TL8zY_IT.cjs.map +0 -1
  80. package/dist/generate-UCP0qpDp.cjs +0 -1756
  81. package/dist/generate-UCP0qpDp.cjs.map +0 -1
  82. package/dist/init-CZ5Xq2Hd.cjs +0 -293
  83. package/dist/init-CZ5Xq2Hd.cjs.map +0 -1
  84. package/dist/init-DRR_YWIq.cjs +0 -25
  85. package/dist/init-DRR_YWIq.cjs.map +0 -1
  86. package/dist/init-DSnRd1RJ.js +0 -25
  87. package/dist/init-DSnRd1RJ.js.map +0 -1
  88. package/dist/init-eNRlotJK.js +0 -289
  89. package/dist/init-eNRlotJK.js.map +0 -1
  90. package/dist/mcp-CLcDV4Jm.cjs +0 -41
  91. package/dist/mcp-CLcDV4Jm.cjs.map +0 -1
  92. package/dist/mcp-D7EIR9fR.js +0 -40
  93. package/dist/mcp-D7EIR9fR.js.map +0 -1
  94. package/dist/mcp-Dakxi9CL.js +0 -16
  95. package/dist/mcp-Dakxi9CL.js.map +0 -1
  96. package/dist/mcp-Dr_RY-hd.cjs +0 -16
  97. package/dist/mcp-Dr_RY-hd.cjs.map +0 -1
  98. package/dist/package-Cdo6lNjF.cjs.map +0 -1
  99. package/dist/package-DPooAj2l.js +0 -6
  100. package/dist/package-DPooAj2l.js.map +0 -1
  101. package/dist/shell-475fQKaX.cjs +0 -62
  102. package/dist/shell-475fQKaX.cjs.map +0 -1
  103. package/dist/shell-DLzN4fRo.js +0 -51
  104. package/dist/shell-DLzN4fRo.js.map +0 -1
  105. package/dist/telemetry-DN95_2pF.cjs +0 -282
  106. package/dist/telemetry-DN95_2pF.cjs.map +0 -1
  107. package/dist/telemetry-LgT_sdPe.js +0 -245
  108. package/dist/telemetry-LgT_sdPe.js.map +0 -1
  109. package/dist/validate-B1o-rY9o.js +0 -25
  110. package/dist/validate-B1o-rY9o.js.map +0 -1
  111. package/dist/validate-CXFY-mHL.cjs +0 -25
  112. package/dist/validate-CXFY-mHL.cjs.map +0 -1
  113. package/dist/validate-kLJoT_hi.js +0 -33
  114. package/dist/validate-kLJoT_hi.js.map +0 -1
  115. package/dist/validate-yKKzqEZ5.cjs +0 -34
  116. package/dist/validate-yKKzqEZ5.cjs.map +0 -1
  117. package/src/commands/agent/start.ts +0 -47
  118. package/src/commands/agent.ts +0 -8
  119. package/src/commands/generate.ts +0 -57
  120. package/src/commands/init.ts +0 -20
  121. package/src/commands/mcp.ts +0 -12
  122. package/src/commands/validate.ts +0 -20
  123. package/src/constants.ts +0 -104
  124. package/src/index.ts +0 -43
  125. package/src/loggers/clackLogger.ts +0 -458
  126. package/src/loggers/fileSystemLogger.ts +0 -138
  127. package/src/loggers/githubActionsLogger.ts +0 -379
  128. package/src/loggers/plainLogger.ts +0 -254
  129. package/src/loggers/types.ts +0 -1
  130. package/src/loggers/utils.ts +0 -106
  131. package/src/runners/agent.ts +0 -149
  132. package/src/runners/generate.ts +0 -333
  133. package/src/runners/init.ts +0 -296
  134. package/src/runners/mcp.ts +0 -45
  135. package/src/runners/validate.ts +0 -39
  136. package/src/types.ts +0 -11
  137. package/src/utils/Writables.ts +0 -17
  138. package/src/utils/executeHooks.ts +0 -45
  139. package/src/utils/flags.ts +0 -9
  140. package/src/utils/getConfig.ts +0 -10
  141. package/src/utils/getCosmiConfig.ts +0 -80
  142. package/src/utils/getSummary.ts +0 -68
  143. package/src/utils/packageManager.ts +0 -23
  144. package/src/utils/runHook.ts +0 -91
  145. package/src/utils/telemetry.ts +0 -273
  146. package/src/utils/watcher.ts +0 -19
  147. /package/dist/{chunk-ByKO4r7w.cjs → rolldown-runtime-Bx3C2hgW.cjs} +0 -0
  148. /package/dist/{chunk--u3MIqq1.js → rolldown-runtime-C0LytTxp.js} +0 -0
@@ -1,379 +0,0 @@
1
- import { styleText } from 'node:util'
2
- import { formatHrtime, formatMs, formatMsWithColor, toCause } from '@internals/utils'
3
- import { type Config, defineLogger, logLevel as logLevelMap } from '@kubb/core'
4
- import { runHook } from '../utils/runHook.ts'
5
- import { buildProgressLine, formatCommandWithArgs, formatMessage } from './utils.ts'
6
-
7
- /**
8
- * GitHub Actions logger using group annotations for collapsible sections in CI.
9
- */
10
- export const githubActionsLogger = defineLogger({
11
- name: 'github-actions',
12
- install(context, options) {
13
- const logLevel = options?.logLevel ?? logLevelMap.info
14
- const state = {
15
- totalPlugins: 0,
16
- completedPlugins: 0,
17
- failedPlugins: 0,
18
- totalFiles: 0,
19
- processedFiles: 0,
20
- hrStart: process.hrtime(),
21
- currentConfigs: [] as Array<Config>,
22
- }
23
-
24
- function reset() {
25
- state.totalPlugins = 0
26
- state.completedPlugins = 0
27
- state.failedPlugins = 0
28
- state.totalFiles = 0
29
- state.processedFiles = 0
30
- state.hrStart = process.hrtime()
31
- state.currentConfigs = []
32
- }
33
-
34
- function showProgressStep() {
35
- if (logLevel <= logLevelMap.silent) {
36
- return
37
- }
38
-
39
- const line = buildProgressLine(state)
40
- if (line) {
41
- console.log(getMessage(line))
42
- }
43
- }
44
-
45
- function getMessage(message: string): string {
46
- return formatMessage(message, logLevel)
47
- }
48
-
49
- function openGroup(name: string) {
50
- console.log(`::group::${name}`)
51
- }
52
-
53
- function closeGroup(_name: string) {
54
- console.log('::endgroup::')
55
- }
56
-
57
- context.on('kubb:info', ({ message, info = '' }) => {
58
- if (logLevel <= logLevelMap.silent) {
59
- return
60
- }
61
-
62
- const text = getMessage([styleText('blue', 'ℹ'), message, styleText('dim', info)].join(' '))
63
-
64
- console.log(text)
65
- })
66
-
67
- context.on('kubb:success', ({ message, info = '' }) => {
68
- if (logLevel <= logLevelMap.silent) {
69
- return
70
- }
71
-
72
- const text = getMessage([styleText('blue', '✓'), message, logLevel >= logLevelMap.info ? styleText('dim', info) : undefined].filter(Boolean).join(' '))
73
-
74
- console.log(text)
75
- })
76
-
77
- context.on('kubb:warn', ({ message, info = '' }) => {
78
- if (logLevel <= logLevelMap.silent) {
79
- return
80
- }
81
-
82
- const text = getMessage([styleText('yellow', '⚠'), message, logLevel >= logLevelMap.info ? styleText('dim', info) : undefined].filter(Boolean).join(' '))
83
-
84
- console.warn(`::warning::${text}`)
85
- })
86
-
87
- context.on('kubb:error', ({ error }) => {
88
- const caused = toCause(error)
89
-
90
- if (logLevel <= logLevelMap.silent) {
91
- return
92
- }
93
- const message = error.message || String(error)
94
- console.error(`::error::${message}`)
95
-
96
- // Show stack trace in debug mode (first 3 frames)
97
- if (logLevel >= logLevelMap.debug && error.stack) {
98
- const frames = error.stack.split('\n').slice(1, 4)
99
- for (const frame of frames) {
100
- console.log(getMessage(styleText('dim', frame.trim())))
101
- }
102
-
103
- if (caused?.stack) {
104
- console.log(styleText('dim', `└─ caused by ${caused.message}`))
105
-
106
- const frames = caused.stack.split('\n').slice(1, 4)
107
- for (const frame of frames) {
108
- console.log(getMessage(` ${styleText('dim', frame.trim())}`))
109
- }
110
- }
111
- }
112
- })
113
-
114
- context.on('kubb:lifecycle:start', ({ version }) => {
115
- console.log(styleText('yellow', `Kubb ${version} 🧩`))
116
- reset()
117
- })
118
-
119
- context.on('kubb:config:start', () => {
120
- if (logLevel <= logLevelMap.silent) {
121
- return
122
- }
123
-
124
- const text = getMessage('Configuration started')
125
-
126
- openGroup('Configuration')
127
-
128
- console.log(text)
129
- })
130
-
131
- context.on('kubb:config:end', ({ configs }) => {
132
- state.currentConfigs = configs
133
-
134
- if (logLevel <= logLevelMap.silent) {
135
- return
136
- }
137
-
138
- const text = getMessage('Configuration completed')
139
-
140
- console.log(text)
141
-
142
- closeGroup('Configuration')
143
- })
144
-
145
- context.on('kubb:generation:start', ({ config }) => {
146
- reset()
147
-
148
- // Initialize progress tracking for this generation
149
- state.totalPlugins = config.plugins?.length ?? 0
150
-
151
- const text = config.name ? `Generation for ${styleText('bold', config.name)}` : 'Generation'
152
-
153
- if (state.currentConfigs.length > 1) {
154
- openGroup(text)
155
- }
156
-
157
- if (state.currentConfigs.length === 1) {
158
- console.log(getMessage(text))
159
- }
160
- })
161
-
162
- context.on('kubb:plugin:start', ({ plugin }) => {
163
- if (logLevel <= logLevelMap.silent) {
164
- return
165
- }
166
- const text = getMessage(`Generating ${styleText('bold', plugin.name)}`)
167
-
168
- if (state.currentConfigs.length === 1) {
169
- openGroup(`Plugin: ${plugin.name}`)
170
- }
171
-
172
- console.log(text)
173
- })
174
-
175
- context.on('kubb:plugin:end', ({ plugin, duration, success }) => {
176
- if (logLevel <= logLevelMap.silent) {
177
- return
178
- }
179
-
180
- if (success) {
181
- state.completedPlugins++
182
- } else {
183
- state.failedPlugins++
184
- }
185
-
186
- const durationStr = formatMsWithColor(duration)
187
- const text = getMessage(
188
- success
189
- ? `${styleText('bold', plugin.name)} completed in ${durationStr}`
190
- : `${styleText('bold', plugin.name)} failed in ${styleText('red', formatMs(duration))}`,
191
- )
192
-
193
- console.log(text)
194
- if (state.currentConfigs.length > 1) {
195
- console.log(' ')
196
- }
197
-
198
- if (state.currentConfigs.length === 1) {
199
- closeGroup(`Plugin: ${plugin.name}`)
200
- }
201
-
202
- // Show progress step after each plugin
203
- showProgressStep()
204
- })
205
-
206
- context.on('kubb:files:processing:start', ({ files }) => {
207
- if (logLevel <= logLevelMap.silent) {
208
- return
209
- }
210
-
211
- state.totalFiles = files.length
212
- state.processedFiles = 0
213
-
214
- if (state.currentConfigs.length === 1) {
215
- openGroup('File Generation')
216
- }
217
- const text = getMessage(`Writing ${files.length} files`)
218
-
219
- console.log(text)
220
- })
221
-
222
- context.on('kubb:files:processing:end', () => {
223
- if (logLevel <= logLevelMap.silent) {
224
- return
225
- }
226
- const text = getMessage('Files written successfully')
227
-
228
- console.log(text)
229
-
230
- if (state.currentConfigs.length === 1) {
231
- closeGroup('File Generation')
232
- }
233
-
234
- // Show final progress step after files are written
235
- showProgressStep()
236
- })
237
-
238
- context.on('kubb:file:processing:update', () => {
239
- if (logLevel <= logLevelMap.silent) {
240
- return
241
- }
242
-
243
- state.processedFiles++
244
- })
245
-
246
- context.on('kubb:generation:end', ({ config }) => {
247
- const text = getMessage(
248
- config.name ? `${styleText('blue', '✓')} Generation completed for ${styleText('dim', config.name)}` : `${styleText('blue', '✓')} Generation completed`,
249
- )
250
-
251
- console.log(text)
252
- })
253
-
254
- context.on('kubb:format:start', () => {
255
- if (logLevel <= logLevelMap.silent) {
256
- return
257
- }
258
-
259
- const text = getMessage('Format started')
260
-
261
- if (state.currentConfigs.length === 1) {
262
- openGroup('Formatting')
263
- }
264
-
265
- console.log(text)
266
- })
267
-
268
- context.on('kubb:format:end', () => {
269
- if (logLevel <= logLevelMap.silent) {
270
- return
271
- }
272
-
273
- const text = getMessage('Format completed')
274
-
275
- console.log(text)
276
-
277
- if (state.currentConfigs.length === 1) {
278
- closeGroup('Formatting')
279
- }
280
- })
281
-
282
- context.on('kubb:lint:start', () => {
283
- if (logLevel <= logLevelMap.silent) {
284
- return
285
- }
286
-
287
- const text = getMessage('Lint started')
288
-
289
- if (state.currentConfigs.length === 1) {
290
- openGroup('Linting')
291
- }
292
-
293
- console.log(text)
294
- })
295
-
296
- context.on('kubb:lint:end', () => {
297
- if (logLevel <= logLevelMap.silent) {
298
- return
299
- }
300
-
301
- const text = getMessage('Lint completed')
302
-
303
- console.log(text)
304
-
305
- if (state.currentConfigs.length === 1) {
306
- closeGroup('Linting')
307
- }
308
- })
309
-
310
- context.on('kubb:hook:start', async ({ id, command, args }) => {
311
- const commandWithArgs = formatCommandWithArgs(command, args)
312
- const text = getMessage(`Hook ${styleText('dim', commandWithArgs)} started`)
313
-
314
- if (logLevel > logLevelMap.silent) {
315
- if (state.currentConfigs.length === 1) {
316
- openGroup(`Hook ${commandWithArgs}`)
317
- }
318
- console.log(text)
319
- }
320
-
321
- // Skip hook execution if no id is provided (e.g., during benchmarks or tests)
322
- if (!id) {
323
- return
324
- }
325
-
326
- await runHook({
327
- id,
328
- command,
329
- args,
330
- commandWithArgs,
331
- context,
332
- sink: {
333
- // GHA formats errors with the ::error:: annotation
334
- onStdout: logLevel > logLevelMap.silent ? (s) => console.log(s) : undefined,
335
- onStderr: logLevel > logLevelMap.silent ? (s) => console.error(`::error::${s}`) : undefined,
336
- },
337
- })
338
- })
339
-
340
- context.on('kubb:hook:end', ({ command, args }) => {
341
- if (logLevel <= logLevelMap.silent) {
342
- return
343
- }
344
-
345
- const commandWithArgs = formatCommandWithArgs(command, args)
346
- const text = getMessage(`Hook ${styleText('dim', commandWithArgs)} completed`)
347
-
348
- console.log(text)
349
-
350
- if (state.currentConfigs.length === 1) {
351
- closeGroup(`Hook ${commandWithArgs}`)
352
- }
353
- })
354
-
355
- context.on('kubb:generation:summary', ({ config, status, hrStart, failedPlugins }) => {
356
- const pluginsCount = config.plugins?.length ?? 0
357
- const successCount = pluginsCount - failedPlugins.size
358
- const duration = formatHrtime(hrStart)
359
-
360
- if (state.currentConfigs.length > 1) {
361
- console.log(' ')
362
- }
363
-
364
- console.log(
365
- status === 'success'
366
- ? `Kubb Summary: ${styleText('blue', '✓')} ${`${successCount} successful`}, ${pluginsCount} total, ${styleText('green', duration)}`
367
- : `Kubb Summary: ${styleText('blue', '✓')} ${`${successCount} successful`}, ✗ ${`${failedPlugins.size} failed`}, ${pluginsCount} total, ${styleText('green', duration)}`,
368
- )
369
-
370
- if (state.currentConfigs.length > 1) {
371
- closeGroup(config.name ? `Generation for ${styleText('bold', config.name)}` : 'Generation')
372
- }
373
- })
374
-
375
- context.on('kubb:lifecycle:end', () => {
376
- reset()
377
- })
378
- },
379
- })
@@ -1,254 +0,0 @@
1
- import { relative } from 'node:path'
2
- import { formatMs, toCause } from '@internals/utils'
3
- import { defineLogger, logLevel as logLevelMap } from '@kubb/core'
4
- import { SUMMARY_SEPARATOR } from '../constants.ts'
5
- import { getSummary } from '../utils/getSummary.ts'
6
- import { runHook } from '../utils/runHook.ts'
7
- import { formatCommandWithArgs, formatMessage } from './utils.ts'
8
-
9
- /**
10
- * Plain console adapter for non-TTY environments with simple `console.log` output.
11
- */
12
- export const plainLogger = defineLogger({
13
- name: 'plain',
14
- install(context, options) {
15
- const logLevel = options?.logLevel ?? logLevelMap.info
16
-
17
- function getMessage(message: string): string {
18
- return formatMessage(message, logLevel)
19
- }
20
-
21
- context.on('kubb:info', ({ message, info }) => {
22
- if (logLevel <= logLevelMap.silent) {
23
- return
24
- }
25
-
26
- const text = getMessage(['ℹ', message, info].join(' '))
27
-
28
- console.log(text)
29
- })
30
-
31
- context.on('kubb:success', ({ message, info = '' }) => {
32
- if (logLevel <= logLevelMap.silent) {
33
- return
34
- }
35
-
36
- const text = getMessage(['✓', message, logLevel >= logLevelMap.info ? info : undefined].filter(Boolean).join(' '))
37
-
38
- console.log(text)
39
- })
40
-
41
- context.on('kubb:warn', ({ message, info }) => {
42
- if (logLevel < logLevelMap.warn) {
43
- return
44
- }
45
-
46
- const text = getMessage(['⚠', message, logLevel >= logLevelMap.info ? info : undefined].filter(Boolean).join(' '))
47
-
48
- console.log(text)
49
- })
50
-
51
- context.on('kubb:error', ({ error }) => {
52
- const caused = toCause(error)
53
-
54
- const text = getMessage(['✗', error.message].join(' '))
55
-
56
- console.log(text)
57
-
58
- // Show stack trace in debug mode (first 3 frames)
59
- if (logLevel >= logLevelMap.debug && error.stack) {
60
- const frames = error.stack.split('\n').slice(1, 4)
61
- for (const frame of frames) {
62
- console.log(getMessage(frame.trim()))
63
- }
64
-
65
- if (caused?.stack) {
66
- console.log(`└─ caused by ${caused.message}`)
67
-
68
- const frames = caused.stack.split('\n').slice(1, 4)
69
- for (const frame of frames) {
70
- console.log(getMessage(` ${frame.trim()}`))
71
- }
72
- }
73
- }
74
- })
75
-
76
- context.on('kubb:lifecycle:start', () => {
77
- console.log('Kubb CLI 🧩')
78
- })
79
-
80
- context.on('kubb:config:start', () => {
81
- if (logLevel <= logLevelMap.silent) {
82
- return
83
- }
84
-
85
- const text = getMessage('Configuration started')
86
-
87
- console.log(text)
88
- })
89
-
90
- context.on('kubb:config:end', () => {
91
- if (logLevel <= logLevelMap.silent) {
92
- return
93
- }
94
-
95
- const text = getMessage('Configuration completed')
96
-
97
- console.log(text)
98
- })
99
-
100
- context.on('kubb:generation:start', () => {
101
- const text = getMessage('Generation started')
102
-
103
- console.log(text)
104
- })
105
-
106
- context.on('kubb:plugin:start', ({ plugin }) => {
107
- if (logLevel <= logLevelMap.silent) {
108
- return
109
- }
110
- const text = getMessage(`Generating ${plugin.name}`)
111
-
112
- console.log(text)
113
- })
114
-
115
- context.on('kubb:plugin:end', ({ plugin, duration, success }) => {
116
- if (logLevel <= logLevelMap.silent) {
117
- return
118
- }
119
-
120
- const durationStr = formatMs(duration)
121
- const text = getMessage(success ? `${plugin.name} completed in ${durationStr}` : `${plugin.name} failed in ${durationStr}`)
122
-
123
- console.log(text)
124
- })
125
-
126
- context.on('kubb:files:processing:start', ({ files }) => {
127
- if (logLevel <= logLevelMap.silent) {
128
- return
129
- }
130
-
131
- const text = getMessage(`Writing ${files.length} files`)
132
-
133
- console.log(text)
134
- })
135
-
136
- context.on('kubb:file:processing:update', ({ file, config }) => {
137
- if (logLevel <= logLevelMap.silent) {
138
- return
139
- }
140
-
141
- const text = getMessage(`Writing ${relative(config.root, file.path)}`)
142
-
143
- console.log(text)
144
- })
145
-
146
- context.on('kubb:files:processing:end', () => {
147
- if (logLevel <= logLevelMap.silent) {
148
- return
149
- }
150
-
151
- const text = getMessage('Files written successfully')
152
-
153
- console.log(text)
154
- })
155
-
156
- context.on('kubb:generation:end', ({ config }) => {
157
- const text = getMessage(config.name ? `Generation completed for ${config.name}` : 'Generation completed')
158
-
159
- console.log(text)
160
- })
161
-
162
- context.on('kubb:format:start', () => {
163
- if (logLevel <= logLevelMap.silent) {
164
- return
165
- }
166
-
167
- const text = getMessage('Format started')
168
-
169
- console.log(text)
170
- })
171
-
172
- context.on('kubb:format:end', () => {
173
- if (logLevel <= logLevelMap.silent) {
174
- return
175
- }
176
-
177
- const text = getMessage('Format completed')
178
-
179
- console.log(text)
180
- })
181
-
182
- context.on('kubb:lint:start', () => {
183
- if (logLevel <= logLevelMap.silent) {
184
- return
185
- }
186
-
187
- const text = getMessage('Lint started')
188
-
189
- console.log(text)
190
- })
191
-
192
- context.on('kubb:lint:end', () => {
193
- if (logLevel <= logLevelMap.silent) {
194
- return
195
- }
196
-
197
- const text = getMessage('Lint completed')
198
-
199
- console.log(text)
200
- })
201
-
202
- context.on('kubb:hook:start', async ({ id, command, args }) => {
203
- const commandWithArgs = formatCommandWithArgs(command, args)
204
- const text = getMessage(`Hook ${commandWithArgs} started`)
205
-
206
- if (logLevel > logLevelMap.silent) {
207
- console.log(text)
208
- }
209
-
210
- // Skip hook execution if no id is provided (e.g., during benchmarks or tests)
211
- if (!id) {
212
- return
213
- }
214
-
215
- await runHook({
216
- id,
217
- command,
218
- args,
219
- commandWithArgs,
220
- context,
221
- sink: {
222
- onStdout: logLevel > logLevelMap.silent ? (s) => console.log(s) : undefined,
223
- onStderr: logLevel > logLevelMap.silent ? (s) => console.error(s) : undefined,
224
- },
225
- })
226
- })
227
-
228
- context.on('kubb:hook:end', ({ command, args }) => {
229
- if (logLevel <= logLevelMap.silent) {
230
- return
231
- }
232
-
233
- const commandWithArgs = formatCommandWithArgs(command, args)
234
- const text = getMessage(`Hook ${commandWithArgs} completed`)
235
-
236
- console.log(text)
237
- })
238
-
239
- context.on('kubb:generation:summary', ({ config, pluginTimings, status, hrStart, failedPlugins, filesCreated }) => {
240
- const summary = getSummary({
241
- failedPlugins,
242
- filesCreated,
243
- config,
244
- status,
245
- hrStart,
246
- pluginTimings: logLevel >= logLevelMap.verbose ? pluginTimings : undefined,
247
- })
248
-
249
- console.log(SUMMARY_SEPARATOR)
250
- console.log(summary.join('\n'))
251
- console.log(SUMMARY_SEPARATOR)
252
- })
253
- },
254
- })
@@ -1 +0,0 @@
1
- export type LoggerType = 'clack' | 'github-actions' | 'plain'