pnpm-catalog-updates 0.7.18 → 1.0.0
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/README.md +1 -1
- package/bin/pcu.js +3 -1
- package/dist/index.js +10212 -6761
- package/dist/index.js.map +1 -1
- package/package.json +14 -14
- package/src/cli/commands/checkCommand.ts +62 -62
- package/src/cli/commands/initCommand.ts +90 -90
- package/src/cli/commands/securityCommand.ts +172 -172
- package/src/cli/commands/updateCommand.ts +227 -68
- package/src/cli/formatters/outputFormatter.ts +500 -280
- package/src/cli/formatters/progressBar.ts +228 -228
- package/src/cli/index.ts +407 -167
- package/src/cli/interactive/interactivePrompts.ts +100 -98
- package/src/cli/options/globalOptions.ts +143 -86
- package/src/cli/options/index.ts +1 -1
- package/src/cli/themes/colorTheme.ts +70 -70
- package/src/cli/validators/commandValidator.ts +118 -122
- package/src/cli/validators/index.ts +1 -1
- package/src/index.ts +1 -1
|
@@ -4,45 +4,45 @@
|
|
|
4
4
|
* Provides consistent color schemes and styling across the CLI
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import chalk from 'chalk'
|
|
7
|
+
import chalk from 'chalk'
|
|
8
8
|
|
|
9
9
|
export interface ColorTheme {
|
|
10
10
|
// Brand colors
|
|
11
|
-
primary: (text: string) => string
|
|
12
|
-
secondary: (text: string) => string
|
|
13
|
-
accent: (text: string) => string
|
|
11
|
+
primary: (text: string) => string
|
|
12
|
+
secondary: (text: string) => string
|
|
13
|
+
accent: (text: string) => string
|
|
14
14
|
|
|
15
15
|
// Semantic colors
|
|
16
|
-
success: (text: string) => string
|
|
17
|
-
warning: (text: string) => string
|
|
18
|
-
error: (text: string) => string
|
|
19
|
-
info: (text: string) => string
|
|
16
|
+
success: (text: string) => string
|
|
17
|
+
warning: (text: string) => string
|
|
18
|
+
error: (text: string) => string
|
|
19
|
+
info: (text: string) => string
|
|
20
20
|
|
|
21
21
|
// UI colors
|
|
22
|
-
text: (text: string) => string
|
|
23
|
-
muted: (text: string) => string
|
|
24
|
-
border: (text: string) => string
|
|
25
|
-
background: (text: string) => string
|
|
22
|
+
text: (text: string) => string
|
|
23
|
+
muted: (text: string) => string
|
|
24
|
+
border: (text: string) => string
|
|
25
|
+
background: (text: string) => string
|
|
26
26
|
|
|
27
27
|
// Status colors
|
|
28
|
-
pending: (text: string) => string
|
|
29
|
-
processing: (text: string) => string
|
|
30
|
-
completed: (text: string) => string
|
|
28
|
+
pending: (text: string) => string
|
|
29
|
+
processing: (text: string) => string
|
|
30
|
+
completed: (text: string) => string
|
|
31
31
|
|
|
32
32
|
// Version colors
|
|
33
|
-
major: (text: string) => string
|
|
34
|
-
minor: (text: string) => string
|
|
35
|
-
patch: (text: string) => string
|
|
36
|
-
prerelease: (text: string) => string
|
|
33
|
+
major: (text: string) => string
|
|
34
|
+
minor: (text: string) => string
|
|
35
|
+
patch: (text: string) => string
|
|
36
|
+
prerelease: (text: string) => string
|
|
37
37
|
|
|
38
38
|
// Risk levels
|
|
39
|
-
riskHigh: (text: string) => string
|
|
40
|
-
riskMedium: (text: string) => string
|
|
41
|
-
riskLow: (text: string) => string
|
|
39
|
+
riskHigh: (text: string) => string
|
|
40
|
+
riskMedium: (text: string) => string
|
|
41
|
+
riskLow: (text: string) => string
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
export class ThemeManager {
|
|
45
|
-
private static currentTheme: ColorTheme
|
|
45
|
+
private static currentTheme: ColorTheme
|
|
46
46
|
|
|
47
47
|
static themes = {
|
|
48
48
|
default: {
|
|
@@ -160,18 +160,18 @@ export class ThemeManager {
|
|
|
160
160
|
riskMedium: (text: string) => chalk.hex('#ffff00')(text),
|
|
161
161
|
riskLow: (text: string) => chalk.hex('#00ff00')(text),
|
|
162
162
|
},
|
|
163
|
-
}
|
|
163
|
+
}
|
|
164
164
|
|
|
165
165
|
static setTheme(themeName: keyof typeof ThemeManager.themes): void {
|
|
166
|
-
|
|
166
|
+
ThemeManager.currentTheme = ThemeManager.themes[themeName]
|
|
167
167
|
}
|
|
168
168
|
|
|
169
169
|
static getTheme(): ColorTheme {
|
|
170
|
-
return
|
|
170
|
+
return ThemeManager.currentTheme || ThemeManager.themes.default
|
|
171
171
|
}
|
|
172
172
|
|
|
173
173
|
static listThemes(): string[] {
|
|
174
|
-
return Object.keys(
|
|
174
|
+
return Object.keys(ThemeManager.themes)
|
|
175
175
|
}
|
|
176
176
|
}
|
|
177
177
|
|
|
@@ -179,149 +179,149 @@ export class ThemeManager {
|
|
|
179
179
|
* Styled text utilities
|
|
180
180
|
*/
|
|
181
181
|
export class StyledText {
|
|
182
|
-
private static theme = ThemeManager.getTheme()
|
|
182
|
+
private static theme = ThemeManager.getTheme()
|
|
183
183
|
|
|
184
184
|
static updateTheme(): void {
|
|
185
|
-
|
|
185
|
+
StyledText.theme = ThemeManager.getTheme()
|
|
186
186
|
}
|
|
187
187
|
|
|
188
188
|
// Brand styles
|
|
189
189
|
static brand(text: string): string {
|
|
190
|
-
return
|
|
190
|
+
return StyledText.theme.primary(text)
|
|
191
191
|
}
|
|
192
192
|
|
|
193
193
|
static secondary(text: string): string {
|
|
194
|
-
return
|
|
194
|
+
return StyledText.theme.secondary(text)
|
|
195
195
|
}
|
|
196
196
|
|
|
197
197
|
static accent(text: string): string {
|
|
198
|
-
return
|
|
198
|
+
return StyledText.theme.accent(text)
|
|
199
199
|
}
|
|
200
200
|
|
|
201
201
|
// Semantic styles
|
|
202
202
|
static success(text: string): string {
|
|
203
|
-
return
|
|
203
|
+
return StyledText.theme.success(text)
|
|
204
204
|
}
|
|
205
205
|
|
|
206
206
|
static warning(text: string): string {
|
|
207
|
-
return
|
|
207
|
+
return StyledText.theme.warning(text)
|
|
208
208
|
}
|
|
209
209
|
|
|
210
210
|
static error(text: string): string {
|
|
211
|
-
return
|
|
211
|
+
return StyledText.theme.error(text)
|
|
212
212
|
}
|
|
213
213
|
|
|
214
214
|
static info(text: string): string {
|
|
215
|
-
return
|
|
215
|
+
return StyledText.theme.info(text)
|
|
216
216
|
}
|
|
217
217
|
|
|
218
218
|
// UI styles
|
|
219
219
|
static text(text: string): string {
|
|
220
|
-
return
|
|
220
|
+
return StyledText.theme.text(text)
|
|
221
221
|
}
|
|
222
222
|
|
|
223
223
|
static muted(text: string): string {
|
|
224
|
-
return
|
|
224
|
+
return StyledText.theme.muted(text)
|
|
225
225
|
}
|
|
226
226
|
|
|
227
227
|
static border(text: string): string {
|
|
228
|
-
return
|
|
228
|
+
return StyledText.theme.border(text)
|
|
229
229
|
}
|
|
230
230
|
|
|
231
231
|
// Status styles
|
|
232
232
|
static pending(text: string): string {
|
|
233
|
-
return
|
|
233
|
+
return StyledText.theme.pending(text)
|
|
234
234
|
}
|
|
235
235
|
|
|
236
236
|
static processing(text: string): string {
|
|
237
|
-
return
|
|
237
|
+
return StyledText.theme.processing(text)
|
|
238
238
|
}
|
|
239
239
|
|
|
240
240
|
static completed(text: string): string {
|
|
241
|
-
return
|
|
241
|
+
return StyledText.theme.completed(text)
|
|
242
242
|
}
|
|
243
243
|
|
|
244
244
|
// Version styles
|
|
245
245
|
static versionMajor(text: string): string {
|
|
246
|
-
return
|
|
246
|
+
return StyledText.theme.major(text)
|
|
247
247
|
}
|
|
248
248
|
|
|
249
249
|
static versionMinor(text: string): string {
|
|
250
|
-
return
|
|
250
|
+
return StyledText.theme.minor(text)
|
|
251
251
|
}
|
|
252
252
|
|
|
253
253
|
static versionPatch(text: string): string {
|
|
254
|
-
return
|
|
254
|
+
return StyledText.theme.patch(text)
|
|
255
255
|
}
|
|
256
256
|
|
|
257
257
|
static versionPrerelease(text: string): string {
|
|
258
|
-
return
|
|
258
|
+
return StyledText.theme.prerelease(text)
|
|
259
259
|
}
|
|
260
260
|
|
|
261
261
|
// Risk styles
|
|
262
262
|
static riskHigh(text: string): string {
|
|
263
|
-
return
|
|
263
|
+
return StyledText.theme.riskHigh(text)
|
|
264
264
|
}
|
|
265
265
|
|
|
266
266
|
static riskMedium(text: string): string {
|
|
267
|
-
return
|
|
267
|
+
return StyledText.theme.riskMedium(text)
|
|
268
268
|
}
|
|
269
269
|
|
|
270
270
|
static riskLow(text: string): string {
|
|
271
|
-
return
|
|
271
|
+
return StyledText.theme.riskLow(text)
|
|
272
272
|
}
|
|
273
273
|
|
|
274
274
|
// Icons
|
|
275
275
|
static icon(icon: string, text?: string): string {
|
|
276
|
-
return text ? `${icon} ${text}` : icon
|
|
276
|
+
return text ? `${icon} ${text}` : icon
|
|
277
277
|
}
|
|
278
278
|
|
|
279
279
|
static iconSuccess(text?: string): string {
|
|
280
|
-
return
|
|
280
|
+
return StyledText.icon('✅', text)
|
|
281
281
|
}
|
|
282
282
|
|
|
283
283
|
static iconWarning(text?: string): string {
|
|
284
|
-
return
|
|
284
|
+
return StyledText.icon('⚠️', text)
|
|
285
285
|
}
|
|
286
286
|
|
|
287
287
|
static iconError(text?: string): string {
|
|
288
|
-
return
|
|
288
|
+
return StyledText.icon('❌', text)
|
|
289
289
|
}
|
|
290
290
|
|
|
291
291
|
static iconInfo(text?: string): string {
|
|
292
|
-
return
|
|
292
|
+
return StyledText.icon('ℹ️', text)
|
|
293
293
|
}
|
|
294
294
|
|
|
295
295
|
static iconPackage(text?: string): string {
|
|
296
|
-
return
|
|
296
|
+
return StyledText.icon('📦', text)
|
|
297
297
|
}
|
|
298
298
|
|
|
299
299
|
static iconCatalog(text?: string): string {
|
|
300
|
-
return
|
|
300
|
+
return StyledText.icon('📋', text)
|
|
301
301
|
}
|
|
302
302
|
|
|
303
303
|
static iconUpdate(text?: string): string {
|
|
304
|
-
return
|
|
304
|
+
return StyledText.icon('🔄', text)
|
|
305
305
|
}
|
|
306
306
|
|
|
307
307
|
static iconSecurity(text?: string): string {
|
|
308
|
-
return
|
|
308
|
+
return StyledText.icon('🔒', text)
|
|
309
309
|
}
|
|
310
310
|
|
|
311
311
|
static iconAnalysis(text?: string): string {
|
|
312
|
-
return
|
|
312
|
+
return StyledText.icon('🔍', text)
|
|
313
313
|
}
|
|
314
314
|
|
|
315
315
|
static iconCheck(text?: string): string {
|
|
316
|
-
return
|
|
316
|
+
return StyledText.icon('✅', text)
|
|
317
317
|
}
|
|
318
318
|
|
|
319
319
|
static iconProgress(text?: string): string {
|
|
320
|
-
return
|
|
320
|
+
return StyledText.icon('⏳', text)
|
|
321
321
|
}
|
|
322
322
|
|
|
323
323
|
static iconComplete(text?: string): string {
|
|
324
|
-
return
|
|
324
|
+
return StyledText.icon('🎉', text)
|
|
325
325
|
}
|
|
326
326
|
}
|
|
327
327
|
|
|
@@ -330,15 +330,15 @@ export class StyledText {
|
|
|
330
330
|
*/
|
|
331
331
|
export class TableStyles {
|
|
332
332
|
static createHeaderStyle(color: any) {
|
|
333
|
-
return (text: string) => color.bold(text)
|
|
333
|
+
return (text: string) => color.bold(text)
|
|
334
334
|
}
|
|
335
335
|
|
|
336
336
|
static createBorderStyle(color: any) {
|
|
337
|
-
return (text: string) => color.dim(text)
|
|
337
|
+
return (text: string) => color.dim(text)
|
|
338
338
|
}
|
|
339
339
|
|
|
340
340
|
static createCellStyle(color: any) {
|
|
341
|
-
return (text: string) => color(text)
|
|
341
|
+
return (text: string) => color(text)
|
|
342
342
|
}
|
|
343
343
|
}
|
|
344
344
|
|
|
@@ -346,10 +346,10 @@ export class TableStyles {
|
|
|
346
346
|
* Theme configuration interface
|
|
347
347
|
*/
|
|
348
348
|
export interface ThemeConfig {
|
|
349
|
-
name: string
|
|
350
|
-
colors: Partial<ColorTheme
|
|
351
|
-
icons: Record<string, string
|
|
352
|
-
styles: Record<string, any
|
|
349
|
+
name: string
|
|
350
|
+
colors: Partial<ColorTheme>
|
|
351
|
+
icons: Record<string, string>
|
|
352
|
+
styles: Record<string, any>
|
|
353
353
|
}
|
|
354
354
|
|
|
355
355
|
/**
|
|
@@ -376,4 +376,4 @@ export const themePresets = {
|
|
|
376
376
|
description: 'Balanced colors for general use',
|
|
377
377
|
theme: 'default',
|
|
378
378
|
},
|
|
379
|
-
}
|
|
379
|
+
}
|