@kubb/cli 5.0.0-beta.7 → 5.0.0-beta.70

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 (133) hide show
  1. package/LICENSE +17 -10
  2. package/README.md +45 -77
  3. package/bin/kubb.js +9 -3
  4. package/dist/Telemetry-CfPP7MYq.cjs +321 -0
  5. package/dist/Telemetry-CfPP7MYq.cjs.map +1 -0
  6. package/dist/Telemetry-uAr3lK_-.js +284 -0
  7. package/dist/Telemetry-uAr3lK_-.js.map +1 -0
  8. package/dist/{define-Bdn8j5VM.cjs → defineCommand-Bo3yZTWI.cjs} +3 -21
  9. package/dist/defineCommand-Bo3yZTWI.cjs.map +1 -0
  10. package/dist/{define-m_fp-Aqm.js → defineCommand-DMEeqliP.js} +4 -16
  11. package/dist/defineCommand-DMEeqliP.js.map +1 -0
  12. package/dist/{errors-CINO1EIv.js → errors-Dc_d7BfX.js} +2 -2
  13. package/dist/{errors-CINO1EIv.js.map → errors-Dc_d7BfX.js.map} +1 -1
  14. package/dist/{errors-CLCjoSg0.cjs → errors-gxFK0vrp.cjs} +2 -2
  15. package/dist/{errors-CLCjoSg0.cjs.map → errors-gxFK0vrp.cjs.map} +1 -1
  16. package/dist/{generate-BY-juRdH.js → generate-BdxIouwm.js} +21 -16
  17. package/dist/generate-BdxIouwm.js.map +1 -0
  18. package/dist/{generate-Bod9YCbF.cjs → generate-tRupKbnI.cjs} +21 -16
  19. package/dist/generate-tRupKbnI.cjs.map +1 -0
  20. package/dist/index.cjs +34 -81
  21. package/dist/index.cjs.map +1 -1
  22. package/dist/index.d.ts +6 -1
  23. package/dist/index.js +34 -81
  24. package/dist/index.js.map +1 -1
  25. package/dist/{init-Cs3Fp6nN.js → init-D_9I495E.js} +5 -5
  26. package/dist/{init-Cs3Fp6nN.js.map → init-D_9I495E.js.map} +1 -1
  27. package/dist/{init-BIkZU6mB.cjs → init-XlS3aia7.cjs} +6 -6
  28. package/dist/{init-BIkZU6mB.cjs.map → init-XlS3aia7.cjs.map} +1 -1
  29. package/dist/mcp-BlKi3z04.js +21 -0
  30. package/dist/mcp-BlKi3z04.js.map +1 -0
  31. package/dist/mcp-DSo5Ccwz.cjs +21 -0
  32. package/dist/mcp-DSo5Ccwz.cjs.map +1 -0
  33. package/dist/package-CsDaFmfZ.js +6 -0
  34. package/dist/package-CsDaFmfZ.js.map +1 -0
  35. package/dist/{package-DrUndPET.cjs → package-HWZRLSO4.cjs} +2 -2
  36. package/dist/package-HWZRLSO4.cjs.map +1 -0
  37. package/dist/{chunk-BvFE5Tac.js → rolldown-runtime-C0LytTxp.js} +0 -1
  38. package/dist/{run-YsoCk5we.cjs → run-AYlRjIX5.cjs} +136 -98
  39. package/dist/run-AYlRjIX5.cjs.map +1 -0
  40. package/dist/run-BM1t8CSM.cjs +33 -0
  41. package/dist/run-BM1t8CSM.cjs.map +1 -0
  42. package/dist/run-BlFVmIJl.js +32 -0
  43. package/dist/run-BlFVmIJl.js.map +1 -0
  44. package/dist/{run-CQbj3ley.cjs → run-CBc896in.cjs} +6 -6
  45. package/dist/run-CBc896in.cjs.map +1 -0
  46. package/dist/{run-CF97BWVa.js → run-D9mQoQHA.js} +123 -85
  47. package/dist/run-D9mQoQHA.js.map +1 -0
  48. package/dist/{run-CCZ24VKk.js → run-D_dWNFhX.js} +5 -5
  49. package/dist/run-D_dWNFhX.js.map +1 -0
  50. package/dist/run-DwylXpzM.cjs +1380 -0
  51. package/dist/run-DwylXpzM.cjs.map +1 -0
  52. package/dist/run-KlHwxNTr.js +1377 -0
  53. package/dist/run-KlHwxNTr.js.map +1 -0
  54. package/dist/tools-CZT9wSA6.cjs +175 -0
  55. package/dist/tools-CZT9wSA6.cjs.map +1 -0
  56. package/dist/tools-D0UogMU3.js +152 -0
  57. package/dist/tools-D0UogMU3.js.map +1 -0
  58. package/dist/{validate-Bfpf_UIh.cjs → validate-3gu3yglv.cjs} +6 -6
  59. package/dist/{validate-Bfpf_UIh.cjs.map → validate-3gu3yglv.cjs.map} +1 -1
  60. package/dist/{validate-lbUkWQ5o.js → validate-DBqdV14W.js} +5 -5
  61. package/dist/{validate-lbUkWQ5o.js.map → validate-DBqdV14W.js.map} +1 -1
  62. package/package.json +13 -25
  63. package/dist/agent-DN7o8nlE.js +0 -68
  64. package/dist/agent-DN7o8nlE.js.map +0 -1
  65. package/dist/agent-Fm9_8BBH.cjs +0 -70
  66. package/dist/agent-Fm9_8BBH.cjs.map +0 -1
  67. package/dist/constants-B2JTeRBb.js +0 -42
  68. package/dist/constants-B2JTeRBb.js.map +0 -1
  69. package/dist/constants-BINTA5VZ.cjs +0 -77
  70. package/dist/constants-BINTA5VZ.cjs.map +0 -1
  71. package/dist/constants-BYGmiFs0.cjs +0 -139
  72. package/dist/constants-BYGmiFs0.cjs.map +0 -1
  73. package/dist/constants-DSJ-Xrbv.js +0 -116
  74. package/dist/constants-DSJ-Xrbv.js.map +0 -1
  75. package/dist/define-Bdn8j5VM.cjs.map +0 -1
  76. package/dist/define-m_fp-Aqm.js.map +0 -1
  77. package/dist/generate-BY-juRdH.js.map +0 -1
  78. package/dist/generate-Bod9YCbF.cjs.map +0 -1
  79. package/dist/mcp-BSNulBcC.js +0 -39
  80. package/dist/mcp-BSNulBcC.js.map +0 -1
  81. package/dist/mcp-DcSrFhhP.cjs +0 -39
  82. package/dist/mcp-DcSrFhhP.cjs.map +0 -1
  83. package/dist/package-D5wmvFl4.js +0 -6
  84. package/dist/package-D5wmvFl4.js.map +0 -1
  85. package/dist/package-DrUndPET.cjs.map +0 -1
  86. package/dist/run-BAJubgdA.js +0 -1735
  87. package/dist/run-BAJubgdA.js.map +0 -1
  88. package/dist/run-BzpYYOQs.js +0 -121
  89. package/dist/run-BzpYYOQs.js.map +0 -1
  90. package/dist/run-CCZ24VKk.js.map +0 -1
  91. package/dist/run-CF97BWVa.js.map +0 -1
  92. package/dist/run-CQbj3ley.cjs.map +0 -1
  93. package/dist/run-CqKd6JNc.cjs +0 -1738
  94. package/dist/run-CqKd6JNc.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-YsoCk5we.cjs.map +0 -1
  102. package/dist/shell-475fQKaX.cjs +0 -62
  103. package/dist/shell-475fQKaX.cjs.map +0 -1
  104. package/dist/shell-CN6DNqeC.js +0 -51
  105. package/dist/shell-CN6DNqeC.js.map +0 -1
  106. package/dist/telemetry-B2iWkY5e.cjs +0 -280
  107. package/dist/telemetry-B2iWkY5e.cjs.map +0 -1
  108. package/dist/telemetry-BkektVz6.js +0 -243
  109. package/dist/telemetry-BkektVz6.js.map +0 -1
  110. package/src/commands/agent/start.ts +0 -50
  111. package/src/commands/agent.ts +0 -10
  112. package/src/commands/generate.ts +0 -59
  113. package/src/commands/init.ts +0 -51
  114. package/src/commands/mcp.ts +0 -36
  115. package/src/commands/validate.ts +0 -22
  116. package/src/constants.ts +0 -48
  117. package/src/index.ts +0 -45
  118. package/src/loggers/clackLogger.ts +0 -460
  119. package/src/loggers/fileSystemLogger.ts +0 -148
  120. package/src/loggers/githubActionsLogger.ts +0 -367
  121. package/src/loggers/plainLogger.ts +0 -243
  122. package/src/loggers/types.ts +0 -7
  123. package/src/loggers/utils.ts +0 -252
  124. package/src/runners/agent/run.ts +0 -113
  125. package/src/runners/agent/utils.ts +0 -98
  126. package/src/runners/generate/run.ts +0 -276
  127. package/src/runners/generate/utils.ts +0 -209
  128. package/src/runners/init/run.ts +0 -211
  129. package/src/runners/init/utils.ts +0 -33
  130. package/src/runners/mcp/run.ts +0 -55
  131. package/src/runners/validate/run.ts +0 -63
  132. package/src/telemetry.ts +0 -280
  133. /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'