pnpm-catalog-updates 0.1.1

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 (156) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +335 -0
  3. package/bin/pcu.js +15 -0
  4. package/dist/application/services/CatalogUpdateService.d.ts +190 -0
  5. package/dist/application/services/CatalogUpdateService.d.ts.map +1 -0
  6. package/dist/application/services/CatalogUpdateService.js +521 -0
  7. package/dist/application/services/CatalogUpdateService.js.map +1 -0
  8. package/dist/application/services/WorkspaceService.d.ts +139 -0
  9. package/dist/application/services/WorkspaceService.d.ts.map +1 -0
  10. package/dist/application/services/WorkspaceService.js +340 -0
  11. package/dist/application/services/WorkspaceService.js.map +1 -0
  12. package/dist/cli/commands/CheckCommand.d.ts +41 -0
  13. package/dist/cli/commands/CheckCommand.d.ts.map +1 -0
  14. package/dist/cli/commands/CheckCommand.js +168 -0
  15. package/dist/cli/commands/CheckCommand.js.map +1 -0
  16. package/dist/cli/commands/UpdateCommand.d.ts +69 -0
  17. package/dist/cli/commands/UpdateCommand.d.ts.map +1 -0
  18. package/dist/cli/commands/UpdateCommand.js +361 -0
  19. package/dist/cli/commands/UpdateCommand.js.map +1 -0
  20. package/dist/cli/formatters/OutputFormatter.d.ts +95 -0
  21. package/dist/cli/formatters/OutputFormatter.d.ts.map +1 -0
  22. package/dist/cli/formatters/OutputFormatter.js +437 -0
  23. package/dist/cli/formatters/OutputFormatter.js.map +1 -0
  24. package/dist/cli/index.d.ts +12 -0
  25. package/dist/cli/index.d.ts.map +1 -0
  26. package/dist/cli/index.js +244 -0
  27. package/dist/cli/index.js.map +1 -0
  28. package/dist/cli/options/GlobalOptions.d.ts +117 -0
  29. package/dist/cli/options/GlobalOptions.d.ts.map +1 -0
  30. package/dist/cli/options/GlobalOptions.js +278 -0
  31. package/dist/cli/options/GlobalOptions.js.map +1 -0
  32. package/dist/cli/options/index.d.ts +5 -0
  33. package/dist/cli/options/index.d.ts.map +1 -0
  34. package/dist/cli/options/index.js +5 -0
  35. package/dist/cli/options/index.js.map +1 -0
  36. package/dist/cli/validators/CommandValidator.d.ts +60 -0
  37. package/dist/cli/validators/CommandValidator.d.ts.map +1 -0
  38. package/dist/cli/validators/CommandValidator.js +319 -0
  39. package/dist/cli/validators/CommandValidator.js.map +1 -0
  40. package/dist/cli/validators/index.d.ts +5 -0
  41. package/dist/cli/validators/index.d.ts.map +1 -0
  42. package/dist/cli/validators/index.js +5 -0
  43. package/dist/cli/validators/index.js.map +1 -0
  44. package/dist/common/config/Config.d.ts +142 -0
  45. package/dist/common/config/Config.d.ts.map +1 -0
  46. package/dist/common/config/Config.js +355 -0
  47. package/dist/common/config/Config.js.map +1 -0
  48. package/dist/common/config/index.d.ts +6 -0
  49. package/dist/common/config/index.d.ts.map +1 -0
  50. package/dist/common/config/index.js +6 -0
  51. package/dist/common/config/index.js.map +1 -0
  52. package/dist/common/logger/Logger.d.ts +110 -0
  53. package/dist/common/logger/Logger.d.ts.map +1 -0
  54. package/dist/common/logger/Logger.js +289 -0
  55. package/dist/common/logger/Logger.js.map +1 -0
  56. package/dist/common/logger/index.d.ts +6 -0
  57. package/dist/common/logger/index.d.ts.map +1 -0
  58. package/dist/common/logger/index.js +6 -0
  59. package/dist/common/logger/index.js.map +1 -0
  60. package/dist/common/types/cli.d.ts +265 -0
  61. package/dist/common/types/cli.d.ts.map +1 -0
  62. package/dist/common/types/cli.js +5 -0
  63. package/dist/common/types/cli.js.map +1 -0
  64. package/dist/common/types/core.d.ts +270 -0
  65. package/dist/common/types/core.d.ts.map +1 -0
  66. package/dist/common/types/core.js +32 -0
  67. package/dist/common/types/core.js.map +1 -0
  68. package/dist/common/types/index.d.ts +8 -0
  69. package/dist/common/types/index.d.ts.map +1 -0
  70. package/dist/common/types/index.js +8 -0
  71. package/dist/common/types/index.js.map +1 -0
  72. package/dist/common/utils/async.d.ts +74 -0
  73. package/dist/common/utils/async.d.ts.map +1 -0
  74. package/dist/common/utils/async.js +228 -0
  75. package/dist/common/utils/async.js.map +1 -0
  76. package/dist/common/utils/format.d.ts +32 -0
  77. package/dist/common/utils/format.d.ts.map +1 -0
  78. package/dist/common/utils/format.js +121 -0
  79. package/dist/common/utils/format.js.map +1 -0
  80. package/dist/common/utils/git.d.ts +44 -0
  81. package/dist/common/utils/git.d.ts.map +1 -0
  82. package/dist/common/utils/git.js +147 -0
  83. package/dist/common/utils/git.js.map +1 -0
  84. package/dist/common/utils/index.d.ts +11 -0
  85. package/dist/common/utils/index.d.ts.map +1 -0
  86. package/dist/common/utils/index.js +11 -0
  87. package/dist/common/utils/index.js.map +1 -0
  88. package/dist/common/utils/string.d.ts +56 -0
  89. package/dist/common/utils/string.d.ts.map +1 -0
  90. package/dist/common/utils/string.js +134 -0
  91. package/dist/common/utils/string.js.map +1 -0
  92. package/dist/common/utils/validation.d.ts +88 -0
  93. package/dist/common/utils/validation.d.ts.map +1 -0
  94. package/dist/common/utils/validation.js +281 -0
  95. package/dist/common/utils/validation.js.map +1 -0
  96. package/dist/domain/entities/Catalog.d.ts +117 -0
  97. package/dist/domain/entities/Catalog.d.ts.map +1 -0
  98. package/dist/domain/entities/Catalog.js +240 -0
  99. package/dist/domain/entities/Catalog.js.map +1 -0
  100. package/dist/domain/entities/Package.d.ts +142 -0
  101. package/dist/domain/entities/Package.d.ts.map +1 -0
  102. package/dist/domain/entities/Package.js +275 -0
  103. package/dist/domain/entities/Package.js.map +1 -0
  104. package/dist/domain/entities/Workspace.d.ts +95 -0
  105. package/dist/domain/entities/Workspace.d.ts.map +1 -0
  106. package/dist/domain/entities/Workspace.js +170 -0
  107. package/dist/domain/entities/Workspace.js.map +1 -0
  108. package/dist/domain/repositories/WorkspaceRepository.d.ts +41 -0
  109. package/dist/domain/repositories/WorkspaceRepository.d.ts.map +1 -0
  110. package/dist/domain/repositories/WorkspaceRepository.js +8 -0
  111. package/dist/domain/repositories/WorkspaceRepository.js.map +1 -0
  112. package/dist/domain/value-objects/CatalogCollection.d.ts +106 -0
  113. package/dist/domain/value-objects/CatalogCollection.d.ts.map +1 -0
  114. package/dist/domain/value-objects/CatalogCollection.js +230 -0
  115. package/dist/domain/value-objects/CatalogCollection.js.map +1 -0
  116. package/dist/domain/value-objects/PackageCollection.d.ts +122 -0
  117. package/dist/domain/value-objects/PackageCollection.d.ts.map +1 -0
  118. package/dist/domain/value-objects/PackageCollection.js +263 -0
  119. package/dist/domain/value-objects/PackageCollection.js.map +1 -0
  120. package/dist/domain/value-objects/Version.d.ts +141 -0
  121. package/dist/domain/value-objects/Version.d.ts.map +1 -0
  122. package/dist/domain/value-objects/Version.js +268 -0
  123. package/dist/domain/value-objects/Version.js.map +1 -0
  124. package/dist/domain/value-objects/WorkspaceConfig.d.ts +135 -0
  125. package/dist/domain/value-objects/WorkspaceConfig.d.ts.map +1 -0
  126. package/dist/domain/value-objects/WorkspaceConfig.js +307 -0
  127. package/dist/domain/value-objects/WorkspaceConfig.js.map +1 -0
  128. package/dist/domain/value-objects/WorkspaceId.d.ts +51 -0
  129. package/dist/domain/value-objects/WorkspaceId.d.ts.map +1 -0
  130. package/dist/domain/value-objects/WorkspaceId.js +104 -0
  131. package/dist/domain/value-objects/WorkspaceId.js.map +1 -0
  132. package/dist/domain/value-objects/WorkspacePath.d.ts +75 -0
  133. package/dist/domain/value-objects/WorkspacePath.d.ts.map +1 -0
  134. package/dist/domain/value-objects/WorkspacePath.js +128 -0
  135. package/dist/domain/value-objects/WorkspacePath.js.map +1 -0
  136. package/dist/infrastructure/cache/Cache.d.ts +161 -0
  137. package/dist/infrastructure/cache/Cache.d.ts.map +1 -0
  138. package/dist/infrastructure/cache/Cache.js +398 -0
  139. package/dist/infrastructure/cache/Cache.js.map +1 -0
  140. package/dist/infrastructure/cache/index.d.ts +6 -0
  141. package/dist/infrastructure/cache/index.d.ts.map +1 -0
  142. package/dist/infrastructure/cache/index.js +6 -0
  143. package/dist/infrastructure/cache/index.js.map +1 -0
  144. package/dist/infrastructure/external-services/NpmRegistryService.d.ts +106 -0
  145. package/dist/infrastructure/external-services/NpmRegistryService.d.ts.map +1 -0
  146. package/dist/infrastructure/external-services/NpmRegistryService.js +303 -0
  147. package/dist/infrastructure/external-services/NpmRegistryService.js.map +1 -0
  148. package/dist/infrastructure/file-system/FileSystemService.d.ts +100 -0
  149. package/dist/infrastructure/file-system/FileSystemService.d.ts.map +1 -0
  150. package/dist/infrastructure/file-system/FileSystemService.js +284 -0
  151. package/dist/infrastructure/file-system/FileSystemService.js.map +1 -0
  152. package/dist/infrastructure/repositories/FileWorkspaceRepository.d.ts +57 -0
  153. package/dist/infrastructure/repositories/FileWorkspaceRepository.d.ts.map +1 -0
  154. package/dist/infrastructure/repositories/FileWorkspaceRepository.js +179 -0
  155. package/dist/infrastructure/repositories/FileWorkspaceRepository.js.map +1 -0
  156. package/package.json +125 -0
@@ -0,0 +1,361 @@
1
+ /**
2
+ * Update Command
3
+ *
4
+ * CLI command to update catalog dependencies.
5
+ * Supports interactive mode, dry-run, and various update strategies.
6
+ */
7
+ import chalk from 'chalk';
8
+ import inquirer from 'inquirer';
9
+ export class UpdateCommand {
10
+ catalogUpdateService;
11
+ outputFormatter;
12
+ constructor(catalogUpdateService, outputFormatter) {
13
+ this.catalogUpdateService = catalogUpdateService;
14
+ this.outputFormatter = outputFormatter;
15
+ }
16
+ /**
17
+ * Execute the update command
18
+ */
19
+ async execute(options = {}) {
20
+ try {
21
+ // Show loading message
22
+ if (options.verbose) {
23
+ console.log(chalk.blue('🔄 Planning catalog dependency updates...'));
24
+ console.log(chalk.gray(`Workspace: ${options.workspace || process.cwd()}`));
25
+ if (options.catalog) {
26
+ console.log(chalk.gray(`Catalog: ${options.catalog}`));
27
+ }
28
+ if (options.dryRun) {
29
+ console.log(chalk.yellow('🔍 Dry run mode - no files will be modified'));
30
+ }
31
+ console.log('');
32
+ }
33
+ // Prepare update options
34
+ const updateOptions = {
35
+ workspacePath: options.workspace,
36
+ catalogName: options.catalog,
37
+ target: options.target || 'latest',
38
+ interactive: options.interactive || false,
39
+ dryRun: options.dryRun || false,
40
+ force: options.force || false,
41
+ includePrerelease: options.prerelease || false,
42
+ include: options.include,
43
+ exclude: options.exclude,
44
+ createBackup: options.createBackup || false,
45
+ };
46
+ // Plan updates
47
+ const plan = await this.catalogUpdateService.planUpdates(updateOptions);
48
+ // Show plan
49
+ if (options.verbose || options.dryRun) {
50
+ this.showUpdatePlan(plan, options);
51
+ }
52
+ // Check if there are any updates
53
+ if (plan.totalUpdates === 0) {
54
+ console.log(chalk.green('✅ All catalog dependencies are already up to date!'));
55
+ return;
56
+ }
57
+ // Show conflicts if any
58
+ if (plan.hasConflicts && !options.force) {
59
+ this.showConflicts(plan, options);
60
+ if (!options.interactive) {
61
+ console.log(chalk.red('❌ Cannot proceed due to conflicts. Use --force to override or --interactive to resolve.'));
62
+ process.exit(1);
63
+ }
64
+ }
65
+ // Interactive selection
66
+ let finalPlan = plan;
67
+ if (options.interactive) {
68
+ finalPlan = await this.interactiveSelection(plan, options);
69
+ }
70
+ // Confirm before proceeding (unless in non-interactive mode)
71
+ if (!options.dryRun && options.interactive) {
72
+ const confirmed = await this.confirmUpdates(finalPlan, options);
73
+ if (!confirmed) {
74
+ console.log(chalk.yellow('❌ Update cancelled by user'));
75
+ return;
76
+ }
77
+ }
78
+ // Execute updates
79
+ if (!options.dryRun) {
80
+ if (options.verbose) {
81
+ console.log(chalk.blue('🚀 Executing updates...'));
82
+ }
83
+ const result = await this.catalogUpdateService.executeUpdates(finalPlan, updateOptions);
84
+ // Show results
85
+ const formattedOutput = this.outputFormatter.formatUpdateResult(result);
86
+ console.log(formattedOutput);
87
+ // Show summary
88
+ if (options.verbose || options.format === 'table') {
89
+ this.showUpdateSummary(result, options);
90
+ }
91
+ // Exit with appropriate code
92
+ process.exit(result.success ? 0 : 1);
93
+ }
94
+ else {
95
+ console.log(chalk.blue('🔍 Dry run completed - no changes made'));
96
+ console.log(chalk.gray(`Would update ${finalPlan.totalUpdates} dependencies`));
97
+ }
98
+ }
99
+ catch (error) {
100
+ console.error(chalk.red('❌ Error updating dependencies:'));
101
+ console.error(chalk.red(String(error)));
102
+ if (options.verbose && error instanceof Error) {
103
+ console.error(chalk.gray('Stack trace:'));
104
+ console.error(chalk.gray(error.stack || 'No stack trace available'));
105
+ }
106
+ process.exit(1);
107
+ }
108
+ }
109
+ /**
110
+ * Show the update plan
111
+ */
112
+ showUpdatePlan(plan, options) {
113
+ console.log(chalk.bold(`📋 Update Plan (${plan.totalUpdates} updates):`));
114
+ console.log('');
115
+ const updatesByType = { major: 0, minor: 0, patch: 0 };
116
+ for (const update of plan.updates) {
117
+ const typeColor = this.getUpdateTypeColor(update.updateType);
118
+ console.log(` ${chalk.cyan(update.catalogName)}:${chalk.white(update.packageName)} ${chalk.gray(update.currentVersion)} → ${typeColor(update.newVersion)} ${chalk.gray(`(${update.updateType})`)}`);
119
+ updatesByType[update.updateType]++;
120
+ if (options.verbose && update.affectedPackages.length > 0) {
121
+ console.log(chalk.gray(` Affects: ${update.affectedPackages.join(', ')}`));
122
+ }
123
+ }
124
+ console.log('');
125
+ console.log(chalk.gray(`Summary: ${updatesByType.major} major, ${updatesByType.minor} minor, ${updatesByType.patch} patch`));
126
+ console.log('');
127
+ }
128
+ /**
129
+ * Show version conflicts
130
+ */
131
+ showConflicts(plan, _options) {
132
+ console.log(chalk.red('⚠️ Version Conflicts Detected:'));
133
+ console.log('');
134
+ for (const conflict of plan.conflicts) {
135
+ console.log(chalk.yellow(`${conflict.packageName}:`));
136
+ for (const catalog of conflict.catalogs) {
137
+ console.log(` ${catalog.catalogName}: ${catalog.currentVersion} → ${catalog.proposedVersion}`);
138
+ }
139
+ console.log(chalk.gray(` Recommendation: ${conflict.recommendation}`));
140
+ console.log('');
141
+ }
142
+ }
143
+ /**
144
+ * Interactive update selection
145
+ */
146
+ async interactiveSelection(plan, _options) {
147
+ console.log(chalk.blue('🎯 Interactive Update Selection'));
148
+ console.log('');
149
+ const selectedUpdates = [];
150
+ // Group updates by type for better UX
151
+ const updatesByType = {
152
+ major: plan.updates.filter((u) => u.updateType === 'major'),
153
+ minor: plan.updates.filter((u) => u.updateType === 'minor'),
154
+ patch: plan.updates.filter((u) => u.updateType === 'patch'),
155
+ };
156
+ // Ask about patch updates first (safest)
157
+ if (updatesByType.patch.length > 0) {
158
+ const patchChoice = await inquirer.prompt([
159
+ {
160
+ type: 'confirm',
161
+ name: 'applyPatch',
162
+ message: `Apply all ${updatesByType.patch.length} patch updates? (recommended)`,
163
+ default: true,
164
+ },
165
+ ]);
166
+ if (patchChoice.applyPatch) {
167
+ selectedUpdates.push(...updatesByType.patch);
168
+ }
169
+ else {
170
+ // Let user select individual patch updates
171
+ const patchSelections = await this.selectIndividualUpdates(updatesByType.patch, 'patch');
172
+ selectedUpdates.push(...patchSelections);
173
+ }
174
+ }
175
+ // Ask about minor updates
176
+ if (updatesByType.minor.length > 0) {
177
+ const minorChoice = await inquirer.prompt([
178
+ {
179
+ type: 'confirm',
180
+ name: 'applyMinor',
181
+ message: `Apply all ${updatesByType.minor.length} minor updates?`,
182
+ default: true,
183
+ },
184
+ ]);
185
+ if (minorChoice.applyMinor) {
186
+ selectedUpdates.push(...updatesByType.minor);
187
+ }
188
+ else {
189
+ const minorSelections = await this.selectIndividualUpdates(updatesByType.minor, 'minor');
190
+ selectedUpdates.push(...minorSelections);
191
+ }
192
+ }
193
+ // Ask about major updates (most risky)
194
+ if (updatesByType.major.length > 0) {
195
+ const majorChoice = await inquirer.prompt([
196
+ {
197
+ type: 'confirm',
198
+ name: 'applyMajor',
199
+ message: chalk.yellow(`Apply ${updatesByType.major.length} major updates? (may contain breaking changes)`),
200
+ default: false,
201
+ },
202
+ ]);
203
+ if (majorChoice.applyMajor) {
204
+ selectedUpdates.push(...updatesByType.major);
205
+ }
206
+ else {
207
+ const majorSelections = await this.selectIndividualUpdates(updatesByType.major, 'major');
208
+ selectedUpdates.push(...majorSelections);
209
+ }
210
+ }
211
+ return {
212
+ ...plan,
213
+ updates: selectedUpdates,
214
+ totalUpdates: selectedUpdates.length,
215
+ };
216
+ }
217
+ /**
218
+ * Select individual updates
219
+ */
220
+ async selectIndividualUpdates(updates, type) {
221
+ if (updates.length === 0)
222
+ return [];
223
+ const choices = updates.map((update) => ({
224
+ name: `${update.catalogName}:${update.packageName} ${update.currentVersion} → ${update.newVersion}`,
225
+ value: update,
226
+ checked: type === 'patch', // Default to checked for patch updates
227
+ }));
228
+ const selection = await inquirer.prompt([
229
+ {
230
+ type: 'checkbox',
231
+ name: 'selectedUpdates',
232
+ message: `Select ${type} updates to apply:`,
233
+ choices,
234
+ pageSize: 10,
235
+ },
236
+ ]);
237
+ return selection.selectedUpdates;
238
+ }
239
+ /**
240
+ * Confirm updates before execution
241
+ */
242
+ async confirmUpdates(plan, options) {
243
+ if (plan.totalUpdates === 0) {
244
+ return false;
245
+ }
246
+ console.log(chalk.blue(`\n🚀 Ready to update ${plan.totalUpdates} dependencies`));
247
+ if (plan.hasConflicts && !options.force) {
248
+ console.log(chalk.yellow('⚠️ Some conflicts will be resolved with --force behavior'));
249
+ }
250
+ const confirmation = await inquirer.prompt([
251
+ {
252
+ type: 'confirm',
253
+ name: 'proceed',
254
+ message: 'Proceed with updates?',
255
+ default: true,
256
+ },
257
+ ]);
258
+ return confirmation.proceed;
259
+ }
260
+ /**
261
+ * Show update summary
262
+ */
263
+ showUpdateSummary(result, _options) {
264
+ const lines = [];
265
+ if (result.success) {
266
+ lines.push(chalk.green('\n🎉 Update completed successfully!'));
267
+ }
268
+ else {
269
+ lines.push(chalk.red('\n❌ Update completed with errors'));
270
+ }
271
+ lines.push('');
272
+ lines.push(`📊 Summary:`);
273
+ lines.push(` • ${result.totalUpdated} dependencies updated`);
274
+ lines.push(` • ${result.totalSkipped} dependencies skipped`);
275
+ lines.push(` • ${result.totalErrors} errors occurred`);
276
+ if (result.totalUpdated > 0) {
277
+ lines.push('');
278
+ lines.push(chalk.blue('💡 Next steps:'));
279
+ lines.push(' • Test your application thoroughly');
280
+ lines.push(' • Update package-lock.json/pnpm-lock.yaml if needed');
281
+ lines.push(' • Check for any breaking changes in updated packages');
282
+ }
283
+ console.log(lines.join('\n'));
284
+ }
285
+ /**
286
+ * Get color for update type
287
+ */
288
+ getUpdateTypeColor(updateType) {
289
+ switch (updateType) {
290
+ case 'major':
291
+ return chalk.red;
292
+ case 'minor':
293
+ return chalk.yellow;
294
+ case 'patch':
295
+ return chalk.green;
296
+ default:
297
+ return chalk.gray;
298
+ }
299
+ }
300
+ /**
301
+ * Validate command options
302
+ */
303
+ static validateOptions(options) {
304
+ const errors = [];
305
+ // Validate format
306
+ if (options.format && !['table', 'json', 'yaml', 'minimal'].includes(options.format)) {
307
+ errors.push('Invalid format. Must be one of: table, json, yaml, minimal');
308
+ }
309
+ // Validate target
310
+ if (options.target &&
311
+ !['latest', 'greatest', 'minor', 'patch', 'newest'].includes(options.target)) {
312
+ errors.push('Invalid target. Must be one of: latest, greatest, minor, patch, newest');
313
+ }
314
+ // Interactive and dry-run conflict
315
+ if (options.interactive && options.dryRun) {
316
+ errors.push('Cannot use --interactive with --dry-run');
317
+ }
318
+ return errors;
319
+ }
320
+ /**
321
+ * Get command help text
322
+ */
323
+ static getHelpText() {
324
+ return `
325
+ Update catalog dependencies
326
+
327
+ Usage:
328
+ pcu update [options]
329
+
330
+ Options:
331
+ --workspace <path> Workspace directory (default: current directory)
332
+ --catalog <name> Update specific catalog only
333
+ --format <type> Output format: table, json, yaml, minimal (default: table)
334
+ --target <type> Update target: latest, greatest, minor, patch, newest (default: latest)
335
+ -i, --interactive Interactive mode to choose updates
336
+ -d, --dry-run Preview changes without writing files
337
+ --force Force updates even if conflicts exist
338
+ --prerelease Include prerelease versions
339
+ --include <pattern> Include packages matching pattern (can be used multiple times)
340
+ --exclude <pattern> Exclude packages matching pattern (can be used multiple times)
341
+ --create-backup Create backup files before updating
342
+ --verbose Show detailed information
343
+ --no-color Disable colored output
344
+
345
+ Examples:
346
+ pcu update # Update all catalogs
347
+ pcu update --interactive # Interactive update selection
348
+ pcu update --dry-run # Preview updates without applying
349
+ pcu update --catalog react17 # Update specific catalog
350
+ pcu update --target minor # Update to latest minor versions only
351
+ pcu update --force # Force updates despite conflicts
352
+ pcu update --include "react*" # Update only React packages
353
+
354
+ Exit Codes:
355
+ 0 Updates completed successfully
356
+ 1 Updates failed or were cancelled
357
+ 2 Error occurred
358
+ `;
359
+ }
360
+ }
361
+ //# sourceMappingURL=UpdateCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpdateCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/UpdateCommand.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Output Formatter
3
+ *
4
+ * Provides formatted output for CLI commands in various formats.
5
+ * Supports table, JSON, YAML, and minimal output formats.
6
+ */
7
+ import { OutdatedReport, UpdateResult, ImpactAnalysis } from '../../application/services/CatalogUpdateService.js';
8
+ import { WorkspaceValidationReport, WorkspaceStats } from '../../application/services/WorkspaceService.js';
9
+ export type OutputFormat = 'table' | 'json' | 'yaml' | 'minimal';
10
+ export declare class OutputFormatter {
11
+ private readonly format;
12
+ private readonly useColor;
13
+ constructor(format?: OutputFormat, useColor?: boolean);
14
+ /**
15
+ * Format outdated dependencies report
16
+ */
17
+ formatOutdatedReport(report: OutdatedReport): string;
18
+ /**
19
+ * Format update result
20
+ */
21
+ formatUpdateResult(result: UpdateResult): string;
22
+ /**
23
+ * Format impact analysis
24
+ */
25
+ formatImpactAnalysis(analysis: ImpactAnalysis): string;
26
+ /**
27
+ * Format workspace validation report
28
+ */
29
+ formatValidationReport(report: WorkspaceValidationReport): string;
30
+ /**
31
+ * Format workspace statistics
32
+ */
33
+ formatWorkspaceStats(stats: WorkspaceStats): string;
34
+ /**
35
+ * Format simple message with optional styling
36
+ */
37
+ formatMessage(message: string, type?: 'success' | 'error' | 'warning' | 'info'): string;
38
+ /**
39
+ * Format outdated dependencies as table
40
+ */
41
+ private formatOutdatedTable;
42
+ /**
43
+ * Format outdated dependencies minimally
44
+ */
45
+ private formatOutdatedMinimal;
46
+ /**
47
+ * Format update result as table
48
+ */
49
+ private formatUpdateTable;
50
+ /**
51
+ * Format update result minimally
52
+ */
53
+ private formatUpdateMinimal;
54
+ /**
55
+ * Format impact analysis as table
56
+ */
57
+ private formatImpactTable;
58
+ /**
59
+ * Format impact analysis minimally
60
+ */
61
+ private formatImpactMinimal;
62
+ /**
63
+ * Format validation report as table
64
+ */
65
+ private formatValidationTable;
66
+ /**
67
+ * Format validation report minimally
68
+ */
69
+ private formatValidationMinimal;
70
+ /**
71
+ * Format workspace statistics as table
72
+ */
73
+ private formatStatsTable;
74
+ /**
75
+ * Format workspace statistics minimally
76
+ */
77
+ private formatStatsMinimal;
78
+ /**
79
+ * Apply color if color is enabled
80
+ */
81
+ private colorize;
82
+ /**
83
+ * Colorize table headers
84
+ */
85
+ private colorizeHeaders;
86
+ /**
87
+ * Get color for update type
88
+ */
89
+ private getUpdateTypeColor;
90
+ /**
91
+ * Get color for risk level
92
+ */
93
+ private getRiskColor;
94
+ }
95
+ //# sourceMappingURL=OutputFormatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OutputFormatter.d.ts","sourceRoot":"","sources":["../../../src/cli/formatters/OutputFormatter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EACL,cAAc,EACd,YAAY,EACZ,cAAc,EACf,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EACL,yBAAyB,EACzB,cAAc,EACf,MAAM,gDAAgD,CAAC;AAExD,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAEjE,qBAAa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,MAAM,GAAE,YAAsB,EAC9B,QAAQ,GAAE,OAAc;IAG3C;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM;IAcpD;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM;IAchD;;OAEG;IACH,oBAAoB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM;IActD;;OAEG;IACH,sBAAsB,CAAC,MAAM,EAAE,yBAAyB,GAAG,MAAM;IAcjE;;OAEG;IACH,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM;IAcnD;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAe,GAAG,MAAM;IAkB/F;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgD3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA8DzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA4EzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgD7B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAQ/B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgCxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAIhB;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACH,OAAO,CAAC,YAAY;CAYrB"}