@kubb/cli 5.0.0-beta.9 → 5.0.0-beta.93

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 (136) hide show
  1. package/LICENSE +17 -10
  2. package/README.md +48 -79
  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-B2iWkY5e.cjs → Telemetry-xcWb-UWT.cjs} +167 -116
  7. package/dist/Telemetry-xcWb-UWT.cjs.map +1 -0
  8. package/dist/{errors-CINO1EIv.js → errors-CMvLO2NE.js} +3 -15
  9. package/dist/{errors-CINO1EIv.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-Cc9j2-lg.js +87 -0
  13. package/dist/generate-Cc9j2-lg.js.map +1 -0
  14. package/dist/generate-DwTTaSpB.cjs +87 -0
  15. package/dist/generate-DwTTaSpB.cjs.map +1 -0
  16. package/dist/index.cjs +33 -261
  17. package/dist/index.cjs.map +1 -1
  18. package/dist/index.d.ts +6 -1
  19. package/dist/index.js +34 -262
  20. package/dist/index.js.map +1 -1
  21. package/dist/{init-DOSXtcyb.js → init-BlTepVY_.js} +13 -13
  22. package/dist/init-BlTepVY_.js.map +1 -0
  23. package/dist/{init-bKtEOvhK.cjs → init-CvVRvhfJ.cjs} +12 -13
  24. package/dist/init-CvVRvhfJ.cjs.map +1 -0
  25. package/dist/mcp-CTs7ogBF.js +21 -0
  26. package/dist/mcp-CTs7ogBF.js.map +1 -0
  27. package/dist/mcp-szP8HzB7.cjs +20 -0
  28. package/dist/mcp-szP8HzB7.cjs.map +1 -0
  29. package/dist/package-CfWW74Ug.js +6 -0
  30. package/dist/package-CfWW74Ug.js.map +1 -0
  31. package/dist/{package-DHGhrRW-.cjs → package-DPdskCYh.cjs} +2 -2
  32. package/dist/package-DPdskCYh.cjs.map +1 -0
  33. package/dist/{chunk-BvFE5Tac.js → rolldown-runtime-C0LytTxp.js} +0 -1
  34. package/dist/run-B8sdHsE4.js +1262 -0
  35. package/dist/run-B8sdHsE4.js.map +1 -0
  36. package/dist/{run-YsoCk5we.cjs → run-BNOCBw2y.cjs} +152 -98
  37. package/dist/run-BNOCBw2y.cjs.map +1 -0
  38. package/dist/{run-CQbj3ley.cjs → run-BdtVrLKu.cjs} +9 -15
  39. package/dist/run-BdtVrLKu.cjs.map +1 -0
  40. package/dist/{run-CF97BWVa.js → run-CINOocLR.js} +138 -84
  41. package/dist/run-CINOocLR.js.map +1 -0
  42. package/dist/{run-CCZ24VKk.js → run-CaOjZRiQ.js} +7 -13
  43. package/dist/run-CaOjZRiQ.js.map +1 -0
  44. package/dist/run-D2vd34xp.cjs +33 -0
  45. package/dist/run-D2vd34xp.cjs.map +1 -0
  46. package/dist/run-DFXppyRD.cjs +1265 -0
  47. package/dist/run-DFXppyRD.cjs.map +1 -0
  48. package/dist/run-lgrTO14E.js +32 -0
  49. package/dist/run-lgrTO14E.js.map +1 -0
  50. package/dist/tools-B23ltmWP.js +152 -0
  51. package/dist/tools-B23ltmWP.js.map +1 -0
  52. package/dist/tools-CeIABV0T.cjs +175 -0
  53. package/dist/tools-CeIABV0T.cjs.map +1 -0
  54. package/dist/{validate-Bj8vbvPt.cjs → validate-BhSbvuiq.cjs} +9 -10
  55. package/dist/validate-BhSbvuiq.cjs.map +1 -0
  56. package/dist/{validate-bHUrnYBv.js → validate-Cfi4pIS0.js} +10 -10
  57. package/dist/validate-Cfi4pIS0.js.map +1 -0
  58. package/package.json +14 -28
  59. package/dist/agent-C5F4itrc.js +0 -68
  60. package/dist/agent-C5F4itrc.js.map +0 -1
  61. package/dist/agent-d-lmeOr1.cjs +0 -70
  62. package/dist/agent-d-lmeOr1.cjs.map +0 -1
  63. package/dist/constants-B2JTeRBb.js +0 -42
  64. package/dist/constants-B2JTeRBb.js.map +0 -1
  65. package/dist/constants-BINTA5VZ.cjs +0 -77
  66. package/dist/constants-BINTA5VZ.cjs.map +0 -1
  67. package/dist/constants-BYGmiFs0.cjs +0 -139
  68. package/dist/constants-BYGmiFs0.cjs.map +0 -1
  69. package/dist/constants-DSJ-Xrbv.js +0 -116
  70. package/dist/constants-DSJ-Xrbv.js.map +0 -1
  71. package/dist/define-Bdn8j5VM.cjs +0 -54
  72. package/dist/define-Bdn8j5VM.cjs.map +0 -1
  73. package/dist/define-m_fp-Aqm.js +0 -43
  74. package/dist/define-m_fp-Aqm.js.map +0 -1
  75. package/dist/generate-BhfRufgh.js +0 -72
  76. package/dist/generate-BhfRufgh.js.map +0 -1
  77. package/dist/generate-BvuSxNYj.cjs +0 -71
  78. package/dist/generate-BvuSxNYj.cjs.map +0 -1
  79. package/dist/init-DOSXtcyb.js.map +0 -1
  80. package/dist/init-bKtEOvhK.cjs.map +0 -1
  81. package/dist/mcp-CKkbG0kp.cjs +0 -39
  82. package/dist/mcp-CKkbG0kp.cjs.map +0 -1
  83. package/dist/mcp-DzOfqX_j.js +0 -39
  84. package/dist/mcp-DzOfqX_j.js.map +0 -1
  85. package/dist/package-BgAYWN7y.js +0 -6
  86. package/dist/package-BgAYWN7y.js.map +0 -1
  87. package/dist/package-DHGhrRW-.cjs.map +0 -1
  88. package/dist/run-BObDb2qe.cjs +0 -1741
  89. package/dist/run-BObDb2qe.cjs.map +0 -1
  90. package/dist/run-BzpYYOQs.js +0 -121
  91. package/dist/run-BzpYYOQs.js.map +0 -1
  92. package/dist/run-CCZ24VKk.js.map +0 -1
  93. package/dist/run-CF97BWVa.js.map +0 -1
  94. package/dist/run-CQbj3ley.cjs.map +0 -1
  95. package/dist/run-D0hmRpHy.js +0 -49
  96. package/dist/run-D0hmRpHy.js.map +0 -1
  97. package/dist/run-DwdAwnLG.cjs +0 -125
  98. package/dist/run-DwdAwnLG.cjs.map +0 -1
  99. package/dist/run-Lr0Ctnu0.cjs +0 -50
  100. package/dist/run-Lr0Ctnu0.cjs.map +0 -1
  101. package/dist/run-P6D8TnXf.js +0 -1738
  102. package/dist/run-P6D8TnXf.js.map +0 -1
  103. package/dist/run-YsoCk5we.cjs.map +0 -1
  104. package/dist/shell-475fQKaX.cjs +0 -62
  105. package/dist/shell-475fQKaX.cjs.map +0 -1
  106. package/dist/shell-CN6DNqeC.js +0 -51
  107. package/dist/shell-CN6DNqeC.js.map +0 -1
  108. package/dist/telemetry-B2iWkY5e.cjs.map +0 -1
  109. package/dist/telemetry-BkektVz6.js +0 -243
  110. package/dist/telemetry-BkektVz6.js.map +0 -1
  111. package/dist/validate-Bj8vbvPt.cjs.map +0 -1
  112. package/dist/validate-bHUrnYBv.js.map +0 -1
  113. package/src/commands/agent/start.ts +0 -50
  114. package/src/commands/agent.ts +0 -10
  115. package/src/commands/generate.ts +0 -59
  116. package/src/commands/init.ts +0 -51
  117. package/src/commands/mcp.ts +0 -36
  118. package/src/commands/validate.ts +0 -22
  119. package/src/constants.ts +0 -48
  120. package/src/index.ts +0 -45
  121. package/src/loggers/clackLogger.ts +0 -460
  122. package/src/loggers/fileSystemLogger.ts +0 -151
  123. package/src/loggers/githubActionsLogger.ts +0 -367
  124. package/src/loggers/plainLogger.ts +0 -243
  125. package/src/loggers/types.ts +0 -7
  126. package/src/loggers/utils.ts +0 -252
  127. package/src/runners/agent/run.ts +0 -113
  128. package/src/runners/agent/utils.ts +0 -98
  129. package/src/runners/generate/run.ts +0 -276
  130. package/src/runners/generate/utils.ts +0 -209
  131. package/src/runners/init/run.ts +0 -211
  132. package/src/runners/init/utils.ts +0 -33
  133. package/src/runners/mcp/run.ts +0 -55
  134. package/src/runners/validate/run.ts +0 -63
  135. package/src/telemetry.ts +0 -280
  136. /package/dist/{chunk-ByKO4r7w.cjs → rolldown-runtime-Bx3C2hgW.cjs} +0 -0
@@ -1,367 +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 { buildProgressLine, formatCommandWithArgs, formatMessage } from './utils.ts'
5
-
6
- /**
7
- * GitHub Actions logger using group annotations for collapsible sections in CI.
8
- */
9
- export const githubActionsLogger = defineLogger({
10
- name: 'github-actions',
11
- install(context, options) {
12
- const logLevel = options?.logLevel ?? logLevelMap.info
13
- const state = {
14
- totalPlugins: 0,
15
- completedPlugins: 0,
16
- failedPlugins: 0,
17
- totalFiles: 0,
18
- processedFiles: 0,
19
- hrStart: process.hrtime(),
20
- currentConfigs: [] as Array<Config>,
21
- }
22
-
23
- function reset() {
24
- state.totalPlugins = 0
25
- state.completedPlugins = 0
26
- state.failedPlugins = 0
27
- state.totalFiles = 0
28
- state.processedFiles = 0
29
- state.hrStart = process.hrtime()
30
- state.currentConfigs = []
31
- }
32
-
33
- function showProgressStep() {
34
- if (logLevel <= logLevelMap.silent) {
35
- return
36
- }
37
-
38
- const line = buildProgressLine(state)
39
- if (line) {
40
- console.log(getMessage(line))
41
- }
42
- }
43
-
44
- function getMessage(message: string): string {
45
- return formatMessage(message, logLevel)
46
- }
47
-
48
- function openGroup(name: string) {
49
- console.log(`::group::${name}`)
50
- }
51
-
52
- function closeGroup(_name: string) {
53
- console.log('::endgroup::')
54
- }
55
-
56
- context.on('kubb:info', ({ message, info = '' }) => {
57
- if (logLevel <= logLevelMap.silent) {
58
- return
59
- }
60
-
61
- const text = getMessage([styleText('blue', 'ℹ'), message, styleText('dim', info)].join(' '))
62
-
63
- console.log(text)
64
- })
65
-
66
- context.on('kubb:success', ({ message, info = '' }) => {
67
- if (logLevel <= logLevelMap.silent) {
68
- return
69
- }
70
-
71
- const text = getMessage([styleText('blue', '✓'), message, logLevel >= logLevelMap.info ? styleText('dim', info) : undefined].filter(Boolean).join(' '))
72
-
73
- console.log(text)
74
- })
75
-
76
- context.on('kubb:warn', ({ message, info = '' }) => {
77
- if (logLevel <= logLevelMap.silent) {
78
- return
79
- }
80
-
81
- const text = getMessage([styleText('yellow', '⚠'), message, logLevel >= logLevelMap.info ? styleText('dim', info) : undefined].filter(Boolean).join(' '))
82
-
83
- console.warn(`::warning::${text}`)
84
- })
85
-
86
- context.on('kubb:error', ({ error }) => {
87
- const caused = toCause(error)
88
-
89
- if (logLevel <= logLevelMap.silent) {
90
- return
91
- }
92
- const message = error.message || String(error)
93
- console.error(`::error::${message}`)
94
-
95
- // Show stack trace in debug mode (first 3 frames)
96
- if (logLevel >= logLevelMap.debug && error.stack) {
97
- const frames = error.stack.split('\n').slice(1, 4)
98
- for (const frame of frames) {
99
- console.log(getMessage(styleText('dim', frame.trim())))
100
- }
101
-
102
- if (caused?.stack) {
103
- console.log(styleText('dim', `└─ caused by ${caused.message}`))
104
-
105
- const frames = caused.stack.split('\n').slice(1, 4)
106
- for (const frame of frames) {
107
- console.log(getMessage(` ${styleText('dim', frame.trim())}`))
108
- }
109
- }
110
- }
111
- })
112
-
113
- context.on('kubb:lifecycle:start', ({ version }) => {
114
- console.log(styleText('yellow', `Kubb ${version} 🧩`))
115
- reset()
116
- })
117
-
118
- context.on('kubb:config:start', () => {
119
- if (logLevel <= logLevelMap.silent) {
120
- return
121
- }
122
-
123
- const text = getMessage('Configuration started')
124
-
125
- openGroup('Configuration')
126
-
127
- console.log(text)
128
- })
129
-
130
- context.on('kubb:config:end', ({ configs }) => {
131
- state.currentConfigs = configs
132
-
133
- if (logLevel <= logLevelMap.silent) {
134
- return
135
- }
136
-
137
- const text = getMessage('Configuration completed')
138
-
139
- console.log(text)
140
-
141
- closeGroup('Configuration')
142
- })
143
-
144
- context.on('kubb:generation:start', ({ config }) => {
145
- reset()
146
-
147
- // Initialize progress tracking for this generation
148
- state.totalPlugins = config.plugins?.length ?? 0
149
-
150
- const text = config.name ? `Generation for ${styleText('bold', config.name)}` : 'Generation'
151
-
152
- if (state.currentConfigs.length > 1) {
153
- openGroup(text)
154
- }
155
-
156
- if (state.currentConfigs.length === 1) {
157
- console.log(getMessage(text))
158
- }
159
- })
160
-
161
- context.on('kubb:plugin:start', ({ plugin }) => {
162
- if (logLevel <= logLevelMap.silent) {
163
- return
164
- }
165
- const text = getMessage(`Generating ${styleText('bold', plugin.name)}`)
166
-
167
- if (state.currentConfigs.length === 1) {
168
- openGroup(`Plugin: ${plugin.name}`)
169
- }
170
-
171
- console.log(text)
172
- })
173
-
174
- context.on('kubb:plugin:end', ({ plugin, duration, success }) => {
175
- if (logLevel <= logLevelMap.silent) {
176
- return
177
- }
178
-
179
- if (success) {
180
- state.completedPlugins++
181
- } else {
182
- state.failedPlugins++
183
- }
184
-
185
- const durationStr = formatMsWithColor(duration)
186
- const text = getMessage(
187
- success
188
- ? `${styleText('bold', plugin.name)} completed in ${durationStr}`
189
- : `${styleText('bold', plugin.name)} failed in ${styleText('red', formatMs(duration))}`,
190
- )
191
-
192
- console.log(text)
193
- if (state.currentConfigs.length > 1) {
194
- console.log(' ')
195
- }
196
-
197
- if (state.currentConfigs.length === 1) {
198
- closeGroup(`Plugin: ${plugin.name}`)
199
- }
200
-
201
- // Show progress step after each plugin
202
- showProgressStep()
203
- })
204
-
205
- context.on('kubb:files:processing:start', ({ files }) => {
206
- if (logLevel <= logLevelMap.silent) {
207
- return
208
- }
209
-
210
- state.totalFiles = files.length
211
- state.processedFiles = 0
212
-
213
- if (state.currentConfigs.length === 1) {
214
- openGroup('File Generation')
215
- }
216
- const text = getMessage(`Writing ${files.length} files`)
217
-
218
- console.log(text)
219
- })
220
-
221
- context.on('kubb:files:processing:end', () => {
222
- if (logLevel <= logLevelMap.silent) {
223
- return
224
- }
225
- const text = getMessage('Files written successfully')
226
-
227
- console.log(text)
228
-
229
- if (state.currentConfigs.length === 1) {
230
- closeGroup('File Generation')
231
- }
232
-
233
- // Show final progress step after files are written
234
- showProgressStep()
235
- })
236
-
237
- context.on('kubb:file:processing:update', () => {
238
- if (logLevel <= logLevelMap.silent) {
239
- return
240
- }
241
-
242
- state.processedFiles++
243
- })
244
-
245
- context.on('kubb:generation:end', ({ config }) => {
246
- const text = getMessage(
247
- config.name ? `${styleText('blue', '✓')} Generation completed for ${styleText('dim', config.name)}` : `${styleText('blue', '✓')} Generation completed`,
248
- )
249
-
250
- console.log(text)
251
- })
252
-
253
- context.on('kubb:format:start', () => {
254
- if (logLevel <= logLevelMap.silent) {
255
- return
256
- }
257
-
258
- const text = getMessage('Format started')
259
-
260
- if (state.currentConfigs.length === 1) {
261
- openGroup('Formatting')
262
- }
263
-
264
- console.log(text)
265
- })
266
-
267
- context.on('kubb:format:end', () => {
268
- if (logLevel <= logLevelMap.silent) {
269
- return
270
- }
271
-
272
- const text = getMessage('Format completed')
273
-
274
- console.log(text)
275
-
276
- if (state.currentConfigs.length === 1) {
277
- closeGroup('Formatting')
278
- }
279
- })
280
-
281
- context.on('kubb:lint:start', () => {
282
- if (logLevel <= logLevelMap.silent) {
283
- return
284
- }
285
-
286
- const text = getMessage('Lint started')
287
-
288
- if (state.currentConfigs.length === 1) {
289
- openGroup('Linting')
290
- }
291
-
292
- console.log(text)
293
- })
294
-
295
- context.on('kubb:lint:end', () => {
296
- if (logLevel <= logLevelMap.silent) {
297
- return
298
- }
299
-
300
- const text = getMessage('Lint completed')
301
-
302
- console.log(text)
303
-
304
- if (state.currentConfigs.length === 1) {
305
- closeGroup('Linting')
306
- }
307
- })
308
-
309
- context.on('kubb:hook:start', ({ command, args }) => {
310
- if (logLevel <= logLevelMap.silent) {
311
- return
312
- }
313
-
314
- const commandWithArgs = formatCommandWithArgs(command, args)
315
- const text = getMessage(`Hook ${styleText('dim', commandWithArgs)} started`)
316
-
317
- if (state.currentConfigs.length === 1) {
318
- openGroup(`Hook ${commandWithArgs}`)
319
- }
320
- console.log(text)
321
- })
322
-
323
- context.on('kubb:hook:end', ({ command, args }) => {
324
- if (logLevel <= logLevelMap.silent) {
325
- return
326
- }
327
-
328
- const commandWithArgs = formatCommandWithArgs(command, args)
329
- const text = getMessage(`Hook ${styleText('dim', commandWithArgs)} completed`)
330
-
331
- console.log(text)
332
-
333
- if (state.currentConfigs.length === 1) {
334
- closeGroup(`Hook ${commandWithArgs}`)
335
- }
336
- })
337
-
338
- context.on('kubb:generation:summary', ({ config, status, hrStart, failedPlugins }) => {
339
- const pluginsCount = config.plugins?.length ?? 0
340
- const successCount = pluginsCount - failedPlugins.size
341
- const duration = formatHrtime(hrStart)
342
-
343
- if (state.currentConfigs.length > 1) {
344
- console.log(' ')
345
- }
346
-
347
- console.log(
348
- status === 'success'
349
- ? `Kubb Summary: ${styleText('blue', '✓')} ${`${successCount} successful`}, ${pluginsCount} total, ${styleText('green', duration)}`
350
- : `Kubb Summary: ${styleText('blue', '✓')} ${`${successCount} successful`}, ✗ ${`${failedPlugins.size} failed`}, ${pluginsCount} total, ${styleText('green', duration)}`,
351
- )
352
-
353
- if (state.currentConfigs.length > 1) {
354
- closeGroup(config.name ? `Generation for ${styleText('bold', config.name)}` : 'Generation')
355
- }
356
- })
357
-
358
- context.on('kubb:lifecycle:end', () => {
359
- reset()
360
- })
361
-
362
- return (_commandWithArgs: string) => ({
363
- onStdout: logLevel > logLevelMap.silent ? (s: string) => console.log(s) : undefined,
364
- onStderr: logLevel > logLevelMap.silent ? (s: string) => console.error(`::error::${s}`) : undefined,
365
- })
366
- },
367
- })
@@ -1,243 +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.ts'
6
- import { formatCommandWithArgs, formatMessage } from './utils.ts'
7
-
8
- /**
9
- * Plain console adapter for non-TTY environments with simple `console.log` output.
10
- */
11
- export const plainLogger = defineLogger({
12
- name: 'plain',
13
- install(context, options) {
14
- const logLevel = options?.logLevel ?? logLevelMap.info
15
-
16
- function getMessage(message: string): string {
17
- return formatMessage(message, logLevel)
18
- }
19
-
20
- context.on('kubb:info', ({ message, info }) => {
21
- if (logLevel <= logLevelMap.silent) {
22
- return
23
- }
24
-
25
- const text = getMessage(['ℹ', message, info].join(' '))
26
-
27
- console.log(text)
28
- })
29
-
30
- context.on('kubb:success', ({ message, info = '' }) => {
31
- if (logLevel <= logLevelMap.silent) {
32
- return
33
- }
34
-
35
- const text = getMessage(['✓', message, logLevel >= logLevelMap.info ? info : undefined].filter(Boolean).join(' '))
36
-
37
- console.log(text)
38
- })
39
-
40
- context.on('kubb:warn', ({ message, info }) => {
41
- if (logLevel < logLevelMap.warn) {
42
- return
43
- }
44
-
45
- const text = getMessage(['⚠', message, logLevel >= logLevelMap.info ? info : undefined].filter(Boolean).join(' '))
46
-
47
- console.log(text)
48
- })
49
-
50
- context.on('kubb:error', ({ error }) => {
51
- const caused = toCause(error)
52
-
53
- const text = getMessage(['✗', error.message].join(' '))
54
-
55
- console.log(text)
56
-
57
- // Show stack trace in debug mode (first 3 frames)
58
- if (logLevel >= logLevelMap.debug && error.stack) {
59
- const frames = error.stack.split('\n').slice(1, 4)
60
- for (const frame of frames) {
61
- console.log(getMessage(frame.trim()))
62
- }
63
-
64
- if (caused?.stack) {
65
- console.log(`└─ caused by ${caused.message}`)
66
-
67
- const frames = caused.stack.split('\n').slice(1, 4)
68
- for (const frame of frames) {
69
- console.log(getMessage(` ${frame.trim()}`))
70
- }
71
- }
72
- }
73
- })
74
-
75
- context.on('kubb:lifecycle:start', () => {
76
- console.log('Kubb CLI 🧩')
77
- })
78
-
79
- context.on('kubb:config:start', () => {
80
- if (logLevel <= logLevelMap.silent) {
81
- return
82
- }
83
-
84
- const text = getMessage('Configuration started')
85
-
86
- console.log(text)
87
- })
88
-
89
- context.on('kubb:config:end', () => {
90
- if (logLevel <= logLevelMap.silent) {
91
- return
92
- }
93
-
94
- const text = getMessage('Configuration completed')
95
-
96
- console.log(text)
97
- })
98
-
99
- context.on('kubb:generation:start', () => {
100
- const text = getMessage('Generation started')
101
-
102
- console.log(text)
103
- })
104
-
105
- context.on('kubb:plugin:start', ({ plugin }) => {
106
- if (logLevel <= logLevelMap.silent) {
107
- return
108
- }
109
- const text = getMessage(`Generating ${plugin.name}`)
110
-
111
- console.log(text)
112
- })
113
-
114
- context.on('kubb:plugin:end', ({ plugin, duration, success }) => {
115
- if (logLevel <= logLevelMap.silent) {
116
- return
117
- }
118
-
119
- const durationStr = formatMs(duration)
120
- const text = getMessage(success ? `${plugin.name} completed in ${durationStr}` : `${plugin.name} failed in ${durationStr}`)
121
-
122
- console.log(text)
123
- })
124
-
125
- context.on('kubb:files:processing:start', ({ files }) => {
126
- if (logLevel <= logLevelMap.silent) {
127
- return
128
- }
129
-
130
- const text = getMessage(`Writing ${files.length} files`)
131
-
132
- console.log(text)
133
- })
134
-
135
- context.on('kubb:file:processing:update', ({ file, config }) => {
136
- if (logLevel <= logLevelMap.silent) {
137
- return
138
- }
139
-
140
- const text = getMessage(`Writing ${relative(config.root, file.path)}`)
141
-
142
- console.log(text)
143
- })
144
-
145
- context.on('kubb:files:processing:end', () => {
146
- if (logLevel <= logLevelMap.silent) {
147
- return
148
- }
149
-
150
- const text = getMessage('Files written successfully')
151
-
152
- console.log(text)
153
- })
154
-
155
- context.on('kubb:generation:end', ({ config }) => {
156
- const text = getMessage(config.name ? `Generation completed for ${config.name}` : 'Generation completed')
157
-
158
- console.log(text)
159
- })
160
-
161
- context.on('kubb:format:start', () => {
162
- if (logLevel <= logLevelMap.silent) {
163
- return
164
- }
165
-
166
- const text = getMessage('Format started')
167
-
168
- console.log(text)
169
- })
170
-
171
- context.on('kubb:format:end', () => {
172
- if (logLevel <= logLevelMap.silent) {
173
- return
174
- }
175
-
176
- const text = getMessage('Format completed')
177
-
178
- console.log(text)
179
- })
180
-
181
- context.on('kubb:lint:start', () => {
182
- if (logLevel <= logLevelMap.silent) {
183
- return
184
- }
185
-
186
- const text = getMessage('Lint started')
187
-
188
- console.log(text)
189
- })
190
-
191
- context.on('kubb:lint:end', () => {
192
- if (logLevel <= logLevelMap.silent) {
193
- return
194
- }
195
-
196
- const text = getMessage('Lint completed')
197
-
198
- console.log(text)
199
- })
200
-
201
- context.on('kubb:hook:start', ({ command, args }) => {
202
- if (logLevel <= logLevelMap.silent) {
203
- return
204
- }
205
-
206
- const commandWithArgs = formatCommandWithArgs(command, args)
207
- const text = getMessage(`Hook ${commandWithArgs} started`)
208
-
209
- console.log(text)
210
- })
211
-
212
- context.on('kubb:hook:end', ({ command, args }) => {
213
- if (logLevel <= logLevelMap.silent) {
214
- return
215
- }
216
-
217
- const commandWithArgs = formatCommandWithArgs(command, args)
218
- const text = getMessage(`Hook ${commandWithArgs} completed`)
219
-
220
- console.log(text)
221
- })
222
-
223
- context.on('kubb:generation:summary', ({ config, pluginTimings, status, hrStart, failedPlugins, filesCreated }) => {
224
- const summary = getSummary({
225
- failedPlugins,
226
- filesCreated,
227
- config,
228
- status,
229
- hrStart,
230
- pluginTimings: logLevel >= logLevelMap.verbose ? pluginTimings : undefined,
231
- })
232
-
233
- console.log(SUMMARY_SEPARATOR)
234
- console.log(summary.join('\n'))
235
- console.log(SUMMARY_SEPARATOR)
236
- })
237
-
238
- return (_commandWithArgs: string) => ({
239
- onStdout: logLevel > logLevelMap.silent ? (s: string) => console.log(s) : undefined,
240
- onStderr: logLevel > logLevelMap.silent ? (s: string) => console.error(s) : undefined,
241
- })
242
- },
243
- })
@@ -1,7 +0,0 @@
1
- /**
2
- * Logger adapter selected by `setupLogger` based on the runtime environment.
3
- * - `'clack'`: TTY-aware output with spinners and progress bars.
4
- * - `'github-actions'`: CI output using `::group::` annotations.
5
- * - `'plain'`: Plain `console.log` output for non-TTY environments.
6
- */
7
- export type LoggerType = 'clack' | 'github-actions' | 'plain'