pnpm-catalog-updates 0.5.7 → 0.6.5

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 (224) hide show
  1. package/bin/pcu.js +1 -1
  2. package/dist/index.js +9559 -32
  3. package/dist/index.js.map +1 -1
  4. package/package.json +61 -103
  5. package/src/cli/commands/checkCommand.ts +227 -0
  6. package/src/cli/commands/initCommand.ts +394 -0
  7. package/src/cli/commands/securityCommand.ts +569 -0
  8. package/src/cli/commands/updateCommand.ts +245 -0
  9. package/src/cli/formatters/outputFormatter.ts +830 -0
  10. package/src/cli/formatters/progressBar.ts +700 -0
  11. package/src/cli/index.ts +565 -0
  12. package/src/cli/interactive/interactivePrompts.ts +517 -0
  13. package/src/cli/options/globalOptions.ts +380 -0
  14. package/src/cli/options/index.ts +5 -0
  15. package/src/cli/themes/colorTheme.ts +379 -0
  16. package/src/cli/validators/commandValidator.ts +395 -0
  17. package/src/cli/validators/index.ts +5 -0
  18. package/src/index.ts +4 -0
  19. package/LICENSE +0 -21
  20. package/README.ja.md +0 -587
  21. package/README.md +0 -694
  22. package/README.zh-CN.md +0 -634
  23. package/dist/application/services/CatalogUpdateService.d.ts +0 -209
  24. package/dist/application/services/CatalogUpdateService.d.ts.map +0 -1
  25. package/dist/application/services/CatalogUpdateService.js +0 -839
  26. package/dist/application/services/CatalogUpdateService.js.map +0 -1
  27. package/dist/application/services/WorkspaceService.d.ts +0 -139
  28. package/dist/application/services/WorkspaceService.d.ts.map +0 -1
  29. package/dist/application/services/WorkspaceService.js +0 -340
  30. package/dist/application/services/WorkspaceService.js.map +0 -1
  31. package/dist/cli/commands/CheckCommand.d.ts +0 -40
  32. package/dist/cli/commands/CheckCommand.d.ts.map +0 -1
  33. package/dist/cli/commands/CheckCommand.js +0 -177
  34. package/dist/cli/commands/CheckCommand.js.map +0 -1
  35. package/dist/cli/commands/InitCommand.d.ts +0 -53
  36. package/dist/cli/commands/InitCommand.d.ts.map +0 -1
  37. package/dist/cli/commands/InitCommand.js +0 -338
  38. package/dist/cli/commands/InitCommand.js.map +0 -1
  39. package/dist/cli/commands/SecurityCommand.d.ts +0 -113
  40. package/dist/cli/commands/SecurityCommand.d.ts.map +0 -1
  41. package/dist/cli/commands/SecurityCommand.js +0 -410
  42. package/dist/cli/commands/SecurityCommand.js.map +0 -1
  43. package/dist/cli/commands/UpdateCommand.d.ts +0 -44
  44. package/dist/cli/commands/UpdateCommand.d.ts.map +0 -1
  45. package/dist/cli/commands/UpdateCommand.js +0 -189
  46. package/dist/cli/commands/UpdateCommand.js.map +0 -1
  47. package/dist/cli/formatters/OutputFormatter.d.ts +0 -116
  48. package/dist/cli/formatters/OutputFormatter.d.ts.map +0 -1
  49. package/dist/cli/formatters/OutputFormatter.js +0 -664
  50. package/dist/cli/formatters/OutputFormatter.js.map +0 -1
  51. package/dist/cli/formatters/ProgressBar.d.ts +0 -195
  52. package/dist/cli/formatters/ProgressBar.d.ts.map +0 -1
  53. package/dist/cli/formatters/ProgressBar.js +0 -622
  54. package/dist/cli/formatters/ProgressBar.js.map +0 -1
  55. package/dist/cli/index.d.ts +0 -12
  56. package/dist/cli/index.d.ts.map +0 -1
  57. package/dist/cli/index.js +0 -492
  58. package/dist/cli/index.js.map +0 -1
  59. package/dist/cli/interactive/InteractivePrompts.d.ts +0 -85
  60. package/dist/cli/interactive/InteractivePrompts.d.ts.map +0 -1
  61. package/dist/cli/interactive/InteractivePrompts.js +0 -434
  62. package/dist/cli/interactive/InteractivePrompts.js.map +0 -1
  63. package/dist/cli/options/GlobalOptions.d.ts +0 -117
  64. package/dist/cli/options/GlobalOptions.d.ts.map +0 -1
  65. package/dist/cli/options/GlobalOptions.js +0 -278
  66. package/dist/cli/options/GlobalOptions.js.map +0 -1
  67. package/dist/cli/options/index.d.ts +0 -5
  68. package/dist/cli/options/index.d.ts.map +0 -1
  69. package/dist/cli/options/index.js +0 -5
  70. package/dist/cli/options/index.js.map +0 -1
  71. package/dist/cli/themes/ColorTheme.d.ts +0 -211
  72. package/dist/cli/themes/ColorTheme.d.ts.map +0 -1
  73. package/dist/cli/themes/ColorTheme.js +0 -267
  74. package/dist/cli/themes/ColorTheme.js.map +0 -1
  75. package/dist/cli/validators/CommandValidator.d.ts +0 -60
  76. package/dist/cli/validators/CommandValidator.d.ts.map +0 -1
  77. package/dist/cli/validators/CommandValidator.js +0 -319
  78. package/dist/cli/validators/CommandValidator.js.map +0 -1
  79. package/dist/cli/validators/index.d.ts +0 -5
  80. package/dist/cli/validators/index.d.ts.map +0 -1
  81. package/dist/cli/validators/index.js +0 -5
  82. package/dist/cli/validators/index.js.map +0 -1
  83. package/dist/common/config/Config.d.ts +0 -142
  84. package/dist/common/config/Config.d.ts.map +0 -1
  85. package/dist/common/config/Config.js +0 -382
  86. package/dist/common/config/Config.js.map +0 -1
  87. package/dist/common/config/ConfigLoader.d.ts +0 -49
  88. package/dist/common/config/ConfigLoader.d.ts.map +0 -1
  89. package/dist/common/config/ConfigLoader.js +0 -180
  90. package/dist/common/config/ConfigLoader.js.map +0 -1
  91. package/dist/common/config/PackageFilterConfig.d.ts +0 -56
  92. package/dist/common/config/PackageFilterConfig.d.ts.map +0 -1
  93. package/dist/common/config/PackageFilterConfig.js +0 -94
  94. package/dist/common/config/PackageFilterConfig.js.map +0 -1
  95. package/dist/common/config/index.d.ts +0 -8
  96. package/dist/common/config/index.d.ts.map +0 -1
  97. package/dist/common/config/index.js +0 -8
  98. package/dist/common/config/index.js.map +0 -1
  99. package/dist/common/error-handling/ErrorTracker.d.ts +0 -48
  100. package/dist/common/error-handling/ErrorTracker.d.ts.map +0 -1
  101. package/dist/common/error-handling/ErrorTracker.js +0 -93
  102. package/dist/common/error-handling/ErrorTracker.js.map +0 -1
  103. package/dist/common/error-handling/UserFriendlyErrorHandler.d.ts +0 -74
  104. package/dist/common/error-handling/UserFriendlyErrorHandler.d.ts.map +0 -1
  105. package/dist/common/error-handling/UserFriendlyErrorHandler.js +0 -703
  106. package/dist/common/error-handling/UserFriendlyErrorHandler.js.map +0 -1
  107. package/dist/common/error-handling/index.d.ts +0 -11
  108. package/dist/common/error-handling/index.d.ts.map +0 -1
  109. package/dist/common/error-handling/index.js +0 -9
  110. package/dist/common/error-handling/index.js.map +0 -1
  111. package/dist/common/logger/Logger.d.ts +0 -110
  112. package/dist/common/logger/Logger.d.ts.map +0 -1
  113. package/dist/common/logger/Logger.js +0 -289
  114. package/dist/common/logger/Logger.js.map +0 -1
  115. package/dist/common/logger/index.d.ts +0 -6
  116. package/dist/common/logger/index.d.ts.map +0 -1
  117. package/dist/common/logger/index.js +0 -6
  118. package/dist/common/logger/index.js.map +0 -1
  119. package/dist/common/types/cli.d.ts +0 -265
  120. package/dist/common/types/cli.d.ts.map +0 -1
  121. package/dist/common/types/cli.js +0 -5
  122. package/dist/common/types/cli.js.map +0 -1
  123. package/dist/common/types/core.d.ts +0 -270
  124. package/dist/common/types/core.d.ts.map +0 -1
  125. package/dist/common/types/core.js +0 -32
  126. package/dist/common/types/core.js.map +0 -1
  127. package/dist/common/types/index.d.ts +0 -8
  128. package/dist/common/types/index.d.ts.map +0 -1
  129. package/dist/common/types/index.js +0 -8
  130. package/dist/common/types/index.js.map +0 -1
  131. package/dist/common/utils/VersionChecker.d.ts +0 -54
  132. package/dist/common/utils/VersionChecker.d.ts.map +0 -1
  133. package/dist/common/utils/VersionChecker.js +0 -180
  134. package/dist/common/utils/VersionChecker.js.map +0 -1
  135. package/dist/common/utils/async.d.ts +0 -74
  136. package/dist/common/utils/async.d.ts.map +0 -1
  137. package/dist/common/utils/async.js +0 -228
  138. package/dist/common/utils/async.js.map +0 -1
  139. package/dist/common/utils/format.d.ts +0 -32
  140. package/dist/common/utils/format.d.ts.map +0 -1
  141. package/dist/common/utils/format.js +0 -121
  142. package/dist/common/utils/format.js.map +0 -1
  143. package/dist/common/utils/git.d.ts +0 -44
  144. package/dist/common/utils/git.d.ts.map +0 -1
  145. package/dist/common/utils/git.js +0 -147
  146. package/dist/common/utils/git.js.map +0 -1
  147. package/dist/common/utils/index.d.ts +0 -12
  148. package/dist/common/utils/index.d.ts.map +0 -1
  149. package/dist/common/utils/index.js +0 -12
  150. package/dist/common/utils/index.js.map +0 -1
  151. package/dist/common/utils/string.d.ts +0 -56
  152. package/dist/common/utils/string.d.ts.map +0 -1
  153. package/dist/common/utils/string.js +0 -134
  154. package/dist/common/utils/string.js.map +0 -1
  155. package/dist/common/utils/validation.d.ts +0 -88
  156. package/dist/common/utils/validation.d.ts.map +0 -1
  157. package/dist/common/utils/validation.js +0 -308
  158. package/dist/common/utils/validation.js.map +0 -1
  159. package/dist/domain/entities/Catalog.d.ts +0 -117
  160. package/dist/domain/entities/Catalog.d.ts.map +0 -1
  161. package/dist/domain/entities/Catalog.js +0 -240
  162. package/dist/domain/entities/Catalog.js.map +0 -1
  163. package/dist/domain/entities/Package.d.ts +0 -143
  164. package/dist/domain/entities/Package.d.ts.map +0 -1
  165. package/dist/domain/entities/Package.js +0 -272
  166. package/dist/domain/entities/Package.js.map +0 -1
  167. package/dist/domain/entities/Workspace.d.ts +0 -95
  168. package/dist/domain/entities/Workspace.d.ts.map +0 -1
  169. package/dist/domain/entities/Workspace.js +0 -173
  170. package/dist/domain/entities/Workspace.js.map +0 -1
  171. package/dist/domain/repositories/WorkspaceRepository.d.ts +0 -41
  172. package/dist/domain/repositories/WorkspaceRepository.d.ts.map +0 -1
  173. package/dist/domain/repositories/WorkspaceRepository.js +0 -8
  174. package/dist/domain/repositories/WorkspaceRepository.js.map +0 -1
  175. package/dist/domain/value-objects/CatalogCollection.d.ts +0 -106
  176. package/dist/domain/value-objects/CatalogCollection.d.ts.map +0 -1
  177. package/dist/domain/value-objects/CatalogCollection.js +0 -230
  178. package/dist/domain/value-objects/CatalogCollection.js.map +0 -1
  179. package/dist/domain/value-objects/PackageCollection.d.ts +0 -122
  180. package/dist/domain/value-objects/PackageCollection.d.ts.map +0 -1
  181. package/dist/domain/value-objects/PackageCollection.js +0 -263
  182. package/dist/domain/value-objects/PackageCollection.js.map +0 -1
  183. package/dist/domain/value-objects/Version.d.ts +0 -141
  184. package/dist/domain/value-objects/Version.d.ts.map +0 -1
  185. package/dist/domain/value-objects/Version.js +0 -268
  186. package/dist/domain/value-objects/Version.js.map +0 -1
  187. package/dist/domain/value-objects/WorkspaceConfig.d.ts +0 -144
  188. package/dist/domain/value-objects/WorkspaceConfig.d.ts.map +0 -1
  189. package/dist/domain/value-objects/WorkspaceConfig.js +0 -357
  190. package/dist/domain/value-objects/WorkspaceConfig.js.map +0 -1
  191. package/dist/domain/value-objects/WorkspaceId.d.ts +0 -51
  192. package/dist/domain/value-objects/WorkspaceId.d.ts.map +0 -1
  193. package/dist/domain/value-objects/WorkspaceId.js +0 -104
  194. package/dist/domain/value-objects/WorkspaceId.js.map +0 -1
  195. package/dist/domain/value-objects/WorkspacePath.d.ts +0 -75
  196. package/dist/domain/value-objects/WorkspacePath.d.ts.map +0 -1
  197. package/dist/domain/value-objects/WorkspacePath.js +0 -128
  198. package/dist/domain/value-objects/WorkspacePath.js.map +0 -1
  199. package/dist/index.d.ts +0 -25
  200. package/dist/index.d.ts.map +0 -1
  201. package/dist/infrastructure/cache/Cache.d.ts +0 -161
  202. package/dist/infrastructure/cache/Cache.d.ts.map +0 -1
  203. package/dist/infrastructure/cache/Cache.js +0 -398
  204. package/dist/infrastructure/cache/Cache.js.map +0 -1
  205. package/dist/infrastructure/cache/index.d.ts +0 -6
  206. package/dist/infrastructure/cache/index.d.ts.map +0 -1
  207. package/dist/infrastructure/cache/index.js +0 -6
  208. package/dist/infrastructure/cache/index.js.map +0 -1
  209. package/dist/infrastructure/external-services/NpmRegistryService.d.ts +0 -153
  210. package/dist/infrastructure/external-services/NpmRegistryService.d.ts.map +0 -1
  211. package/dist/infrastructure/external-services/NpmRegistryService.js +0 -511
  212. package/dist/infrastructure/external-services/NpmRegistryService.js.map +0 -1
  213. package/dist/infrastructure/file-system/FileSystemService.d.ts +0 -120
  214. package/dist/infrastructure/file-system/FileSystemService.d.ts.map +0 -1
  215. package/dist/infrastructure/file-system/FileSystemService.js +0 -663
  216. package/dist/infrastructure/file-system/FileSystemService.js.map +0 -1
  217. package/dist/infrastructure/repositories/FileWorkspaceRepository.d.ts +0 -57
  218. package/dist/infrastructure/repositories/FileWorkspaceRepository.d.ts.map +0 -1
  219. package/dist/infrastructure/repositories/FileWorkspaceRepository.js +0 -179
  220. package/dist/infrastructure/repositories/FileWorkspaceRepository.js.map +0 -1
  221. package/dist/infrastructure/utils/NpmrcParser.d.ts +0 -40
  222. package/dist/infrastructure/utils/NpmrcParser.d.ts.map +0 -1
  223. package/dist/infrastructure/utils/NpmrcParser.js +0 -157
  224. package/dist/infrastructure/utils/NpmrcParser.js.map +0 -1
@@ -1,177 +0,0 @@
1
- /**
2
- * Check Command
3
- *
4
- * CLI command to check for outdated catalog dependencies.
5
- * Provides detailed information about available updates.
6
- */
7
- import { OutputFormatter } from '../formatters/OutputFormatter.js';
8
- import { StyledText, ThemeManager } from '../themes/ColorTheme.js';
9
- import { ConfigLoader } from '../../common/config/ConfigLoader.js';
10
- export class CheckCommand {
11
- catalogUpdateService;
12
- constructor(catalogUpdateService) {
13
- this.catalogUpdateService = catalogUpdateService;
14
- }
15
- /**
16
- * Execute the check command
17
- */
18
- async execute(options = {}) {
19
- try {
20
- // Initialize theme
21
- ThemeManager.setTheme('default');
22
- if (options.verbose) {
23
- console.log(StyledText.iconAnalysis('Checking for outdated catalog dependencies'));
24
- console.log(StyledText.muted(`Workspace: ${options.workspace || process.cwd()}`));
25
- if (options.catalog) {
26
- console.log(StyledText.muted(`Catalog: ${options.catalog}`));
27
- }
28
- if (options.target && options.target !== 'latest') {
29
- console.log(StyledText.muted(`Target: ${options.target}`));
30
- }
31
- console.log('');
32
- }
33
- // Load configuration file first
34
- const config = ConfigLoader.loadConfig(options.workspace || process.cwd());
35
- // Use format from CLI options first, then config file, then default
36
- const effectiveFormat = options.format || config.defaults?.format || 'table';
37
- // Create output formatter with effective format
38
- const formatter = new OutputFormatter(effectiveFormat, options.color !== false);
39
- // Merge CLI options with configuration file settings
40
- const checkOptions = {
41
- workspacePath: options.workspace,
42
- catalogName: options.catalog,
43
- target: options.target || config.defaults?.target || 'latest',
44
- includePrerelease: options.prerelease ?? config.defaults?.includePrerelease ?? false,
45
- // CLI include/exclude options take priority over config file
46
- include: options.include?.length ? options.include : config.include,
47
- exclude: options.exclude?.length ? options.exclude : config.exclude,
48
- };
49
- // Execute check
50
- const report = await this.catalogUpdateService.checkOutdatedDependencies(checkOptions);
51
- // Format and display results
52
- const formattedOutput = formatter.formatOutdatedReport(report);
53
- console.log(formattedOutput);
54
- // Show summary
55
- if (options.verbose || options.format === 'table') {
56
- this.showSummary(report, options);
57
- }
58
- // Always exit with 0 since this is just a check command
59
- // and finding updates is not an error condition
60
- process.exit(0);
61
- }
62
- catch (error) {
63
- console.error(StyledText.iconError('Error checking dependencies:'));
64
- console.error(StyledText.error(String(error)));
65
- if (options.verbose && error instanceof Error) {
66
- console.error(StyledText.muted('Stack trace:'));
67
- console.error(StyledText.muted(error.stack || 'No stack trace available'));
68
- }
69
- process.exit(1);
70
- }
71
- }
72
- /**
73
- * Show command summary
74
- */
75
- showSummary(report, _options) {
76
- const lines = [];
77
- const theme = ThemeManager.getTheme();
78
- if (!report.hasUpdates) {
79
- lines.push(StyledText.iconSuccess('All catalog dependencies are up to date!'));
80
- }
81
- else {
82
- lines.push(StyledText.iconInfo('Summary:'));
83
- lines.push(` • ${report.totalOutdated} outdated dependencies found`);
84
- lines.push(` • ${report.catalogs.length} catalogs checked`);
85
- const totalPackages = report.catalogs.reduce((sum, cat) => sum + cat.totalPackages, 0);
86
- lines.push(` • ${totalPackages} total catalog entries`);
87
- // Show breakdown by update type
88
- const updateTypes = { major: 0, minor: 0, patch: 0 };
89
- for (const catalog of report.catalogs) {
90
- for (const dep of catalog.outdatedDependencies) {
91
- updateTypes[dep.updateType]++;
92
- }
93
- }
94
- if (updateTypes.major > 0) {
95
- lines.push(theme.major(` • ${updateTypes.major} major updates`));
96
- }
97
- if (updateTypes.minor > 0) {
98
- lines.push(theme.minor(` • ${updateTypes.minor} minor updates`));
99
- }
100
- if (updateTypes.patch > 0) {
101
- lines.push(theme.patch(` • ${updateTypes.patch} patch updates`));
102
- }
103
- // Security updates
104
- const securityUpdates = report.catalogs.reduce((sum, cat) => {
105
- return sum + cat.outdatedDependencies.filter((dep) => dep.isSecurityUpdate).length;
106
- }, 0);
107
- if (securityUpdates > 0) {
108
- lines.push(StyledText.iconSecurity(`${securityUpdates} security updates`));
109
- }
110
- lines.push('');
111
- lines.push(StyledText.iconUpdate('Run with --update to apply updates'));
112
- if (updateTypes.major > 0) {
113
- lines.push(StyledText.iconWarning('Major updates may contain breaking changes'));
114
- }
115
- }
116
- console.log(lines.join('\n'));
117
- }
118
- /**
119
- * Validate command options
120
- */
121
- static validateOptions(options) {
122
- const errors = [];
123
- // Validate format
124
- if (options.format && !['table', 'json', 'yaml', 'minimal'].includes(options.format)) {
125
- errors.push('Invalid format. Must be one of: table, json, yaml, minimal');
126
- }
127
- // Validate target
128
- if (options.target &&
129
- !['latest', 'greatest', 'minor', 'patch', 'newest'].includes(options.target)) {
130
- errors.push('Invalid target. Must be one of: latest, greatest, minor, patch, newest');
131
- }
132
- // Validate include/exclude patterns
133
- if (options.include && options.include.some((pattern) => !pattern.trim())) {
134
- errors.push('Include patterns cannot be empty');
135
- }
136
- if (options.exclude && options.exclude.some((pattern) => !pattern.trim())) {
137
- errors.push('Exclude patterns cannot be empty');
138
- }
139
- return errors;
140
- }
141
- /**
142
- * Get command help text
143
- */
144
- static getHelpText() {
145
- return `
146
- Check for outdated catalog dependencies
147
-
148
- Usage:
149
- pcu check [options]
150
-
151
- Options:
152
- --workspace <path> Workspace directory (default: current directory)
153
- --catalog <name> Check specific catalog only
154
- --format <type> Output format: table, json, yaml, minimal (default: table)
155
- --target <type> Update target: latest, greatest, minor, patch, newest (default: latest)
156
- --prerelease Include prerelease versions
157
- --include <pattern> Include packages matching pattern (can be used multiple times)
158
- --exclude <pattern> Exclude packages matching pattern (can be used multiple times)
159
- --verbose Show detailed information
160
- --no-color Disable colored output
161
-
162
- Examples:
163
- pcu check # Check all catalogs
164
- pcu check --catalog react17 # Check specific catalog
165
- pcu check --target minor # Check for minor updates only
166
- pcu check --format json # Output as JSON
167
- pcu check --include "react*" # Include only React packages
168
- pcu check --exclude "@types/*" # Exclude TypeScript types
169
-
170
- Exit Codes:
171
- 0 All dependencies are up to date
172
- 1 Updates are available
173
- 2 Error occurred
174
- `;
175
- }
176
- }
177
- //# sourceMappingURL=CheckCommand.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CheckCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/CheckCommand.ts"],"names":[],"mappings":"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"}
@@ -1,53 +0,0 @@
1
- /**
2
- * Init Command
3
- *
4
- * CLI command to initialize PCU configuration in a workspace.
5
- * Creates a basic .pcurc.json configuration file with sensible defaults.
6
- */
7
- export interface InitCommandOptions {
8
- workspace?: string;
9
- force?: boolean;
10
- verbose?: boolean;
11
- color?: boolean;
12
- createWorkspace?: boolean;
13
- full?: boolean;
14
- }
15
- export declare class InitCommand {
16
- /**
17
- * Execute the init command
18
- */
19
- execute(options?: InitCommandOptions): Promise<void>;
20
- /**
21
- * Create PNPM workspace structure
22
- */
23
- private createWorkspaceStructure;
24
- /**
25
- * Generate workspace package.json
26
- */
27
- private generateWorkspacePackageJson;
28
- /**
29
- * Generate pnpm-workspace.yaml
30
- */
31
- private generateWorkspaceYaml;
32
- /**
33
- * Generate basic configuration with sensible defaults
34
- */
35
- private generateBasicConfig;
36
- /**
37
- * Generate full configuration with all options
38
- */
39
- private generateFullConfig;
40
- /**
41
- * Show next steps to the user
42
- */
43
- private showNextSteps;
44
- /**
45
- * Validate command options
46
- */
47
- static validateOptions(options: InitCommandOptions): string[];
48
- /**
49
- * Get command help text
50
- */
51
- static getHelpText(): string;
52
- }
53
- //# sourceMappingURL=InitCommand.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InitCommand.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/InitCommand.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,qBAAa,WAAW;IACtB;;OAEG;IACG,OAAO,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyF9D;;OAEG;YACW,wBAAwB;IAuCtC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAiBpC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqC7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiB3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAuD1B;;OAEG;IACH,OAAO,CAAC,aAAa;IA0BrB;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,EAAE;IAW7D;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,MAAM;CA8C7B"}
@@ -1,338 +0,0 @@
1
- /**
2
- * Init Command
3
- *
4
- * CLI command to initialize PCU configuration in a workspace.
5
- * Creates a basic .pcurc.json configuration file with sensible defaults.
6
- */
7
- import { existsSync, writeFileSync, mkdirSync } from 'fs';
8
- import { join, dirname } from 'path';
9
- import { StyledText, ThemeManager } from '../themes/ColorTheme.js';
10
- export class InitCommand {
11
- /**
12
- * Execute the init command
13
- */
14
- async execute(options = {}) {
15
- try {
16
- // Initialize theme
17
- ThemeManager.setTheme('default');
18
- const workspacePath = options.workspace || process.cwd();
19
- const configPath = join(workspacePath, '.pcurc.json');
20
- const packageJsonPath = join(workspacePath, 'package.json');
21
- const workspaceYamlPath = join(workspacePath, 'pnpm-workspace.yaml');
22
- if (options.verbose) {
23
- console.log(StyledText.iconInfo('Initializing PCU configuration'));
24
- console.log(StyledText.muted(`Workspace: ${workspacePath}`));
25
- console.log(StyledText.muted(`Config file: ${configPath}`));
26
- console.log('');
27
- }
28
- // Check if this is a pnpm workspace
29
- const hasPackageJson = existsSync(packageJsonPath);
30
- const hasWorkspaceYaml = existsSync(workspaceYamlPath);
31
- const isWorkspace = hasPackageJson && hasWorkspaceYaml;
32
- if (!isWorkspace && options.createWorkspace !== false) {
33
- if (options.verbose) {
34
- console.log(StyledText.iconWarning('PNPM workspace structure not detected'));
35
- if (!hasPackageJson) {
36
- console.log(StyledText.muted('Missing: package.json'));
37
- }
38
- if (!hasWorkspaceYaml) {
39
- console.log(StyledText.muted('Missing: pnpm-workspace.yaml'));
40
- }
41
- console.log('');
42
- }
43
- // Create workspace structure
44
- if (options.verbose) {
45
- console.log(StyledText.iconInfo('Creating PNPM workspace structure...'));
46
- }
47
- await this.createWorkspaceStructure(workspacePath, hasPackageJson, hasWorkspaceYaml, options);
48
- if (options.verbose) {
49
- console.log(StyledText.iconSuccess('PNPM workspace structure created'));
50
- console.log('');
51
- }
52
- }
53
- // Check if config file already exists
54
- if (existsSync(configPath) && !options.force) {
55
- console.log(StyledText.iconWarning('Configuration file already exists!'));
56
- console.log(StyledText.muted(`Found: ${configPath}`));
57
- console.log(StyledText.muted('Use --force to overwrite existing configuration'));
58
- process.exit(1);
59
- }
60
- // Create directory if it doesn't exist
61
- const configDir = dirname(configPath);
62
- if (!existsSync(configDir)) {
63
- mkdirSync(configDir, { recursive: true });
64
- }
65
- // Generate basic configuration
66
- const basicConfig = this.generateBasicConfig(options.full);
67
- // Write configuration file
68
- writeFileSync(configPath, JSON.stringify(basicConfig, null, 2), 'utf-8');
69
- // Success message
70
- console.log(StyledText.iconSuccess('PCU configuration initialized successfully!'));
71
- console.log(StyledText.muted(`Created: ${configPath}`));
72
- console.log('');
73
- // Show next steps
74
- this.showNextSteps(configPath);
75
- process.exit(0);
76
- }
77
- catch (error) {
78
- console.error(StyledText.iconError('Error initializing configuration:'));
79
- console.error(StyledText.error(String(error)));
80
- if (options.verbose && error instanceof Error) {
81
- console.error(StyledText.muted('Stack trace:'));
82
- console.error(StyledText.muted(error.stack || 'No stack trace available'));
83
- }
84
- process.exit(1);
85
- }
86
- }
87
- /**
88
- * Create PNPM workspace structure
89
- */
90
- async createWorkspaceStructure(workspacePath, hasPackageJson, hasWorkspaceYaml, options) {
91
- // Create package.json if it doesn't exist
92
- if (!hasPackageJson) {
93
- const packageJsonPath = join(workspacePath, 'package.json');
94
- const packageJson = this.generateWorkspacePackageJson();
95
- writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2), 'utf-8');
96
- if (options.verbose) {
97
- console.log(StyledText.muted('Created: package.json'));
98
- }
99
- }
100
- // Create pnpm-workspace.yaml if it doesn't exist
101
- if (!hasWorkspaceYaml) {
102
- const workspaceYamlPath = join(workspacePath, 'pnpm-workspace.yaml');
103
- const workspaceYaml = this.generateWorkspaceYaml();
104
- writeFileSync(workspaceYamlPath, workspaceYaml, 'utf-8');
105
- if (options.verbose) {
106
- console.log(StyledText.muted('Created: pnpm-workspace.yaml'));
107
- }
108
- }
109
- // Create basic directories structure
110
- const packagesDir = join(workspacePath, 'packages');
111
- if (!existsSync(packagesDir)) {
112
- mkdirSync(packagesDir, { recursive: true });
113
- if (options.verbose) {
114
- console.log(StyledText.muted('Created: packages/ directory'));
115
- }
116
- }
117
- }
118
- /**
119
- * Generate workspace package.json
120
- */
121
- generateWorkspacePackageJson() {
122
- return {
123
- name: 'my-workspace',
124
- version: '1.0.0',
125
- private: true,
126
- description: 'PNPM workspace with catalog dependency management',
127
- scripts: {
128
- 'check-updates': 'pcu check',
129
- 'update-deps': 'pcu update --interactive',
130
- 'security-audit': 'pcu security'
131
- },
132
- devDependencies: {
133
- 'pnpm-catalog-updates': 'latest'
134
- }
135
- };
136
- }
137
- /**
138
- * Generate pnpm-workspace.yaml
139
- */
140
- generateWorkspaceYaml() {
141
- return `# PNPM Workspace Configuration
142
- # Learn more: https://pnpm.io/pnpm-workspace_yaml
143
-
144
- packages:
145
- # Include all packages in packages directory
146
- - 'packages/*'
147
-
148
- # Include apps directory if you have applications
149
- # - 'apps/*'
150
-
151
- # Include tools directory if you have development tools
152
- # - 'tools/*'
153
-
154
- # Catalog Configuration
155
- # Centrally manage dependency versions across workspace packages
156
- # Learn more: https://pnpm.io/catalogs
157
- catalogs:
158
- # Default catalog for common dependencies
159
- default:
160
- # React ecosystem
161
- # react: ^18.2.0
162
- # react-dom: ^18.2.0
163
- # '@types/react': ^18.2.0
164
- # '@types/react-dom': ^18.2.0
165
-
166
- # TypeScript and Node.js
167
- # typescript: ^5.0.0
168
- # '@types/node': ^20.0.0
169
-
170
- # Development tools
171
- # eslint: ^8.0.0
172
- # prettier: ^3.0.0
173
- # vitest: ^1.0.0
174
- `;
175
- }
176
- /**
177
- * Generate basic configuration with sensible defaults
178
- */
179
- generateBasicConfig(full) {
180
- if (full) {
181
- return this.generateFullConfig();
182
- }
183
- // Minimal configuration
184
- return {
185
- defaults: {
186
- target: 'latest',
187
- createBackup: true,
188
- format: 'table'
189
- },
190
- exclude: [],
191
- include: []
192
- };
193
- }
194
- /**
195
- * Generate full configuration with all options
196
- */
197
- generateFullConfig() {
198
- return {
199
- defaults: {
200
- target: 'latest',
201
- includePrerelease: false,
202
- interactive: false,
203
- dryRun: false,
204
- createBackup: true,
205
- format: 'table'
206
- },
207
- packageRules: [
208
- {
209
- patterns: ['react', 'react-dom'],
210
- target: 'minor',
211
- autoUpdate: false,
212
- requireConfirmation: true,
213
- groupUpdate: true,
214
- relatedPackages: ['@types/react', '@types/react-dom']
215
- },
216
- {
217
- patterns: ['@types/*'],
218
- target: 'latest',
219
- autoUpdate: true,
220
- requireConfirmation: false,
221
- groupUpdate: false
222
- },
223
- {
224
- patterns: ['eslint*', 'prettier', '@typescript-eslint/*'],
225
- target: 'minor',
226
- autoUpdate: false,
227
- requireConfirmation: false,
228
- groupUpdate: true
229
- }
230
- ],
231
- security: {
232
- autoFixVulnerabilities: true,
233
- allowMajorForSecurity: true,
234
- notifyOnSecurityUpdate: false
235
- },
236
- advanced: {
237
- concurrency: 5,
238
- timeout: 30000,
239
- retries: 3,
240
- cacheValidityMinutes: 60,
241
- checkForUpdates: true
242
- },
243
- monorepo: {
244
- syncVersions: [],
245
- catalogPriority: ['default']
246
- },
247
- exclude: [],
248
- include: []
249
- };
250
- }
251
- /**
252
- * Show next steps to the user
253
- */
254
- showNextSteps(configPath) {
255
- const lines = [];
256
- lines.push(StyledText.iconInfo('Next steps:'));
257
- lines.push('');
258
- lines.push(StyledText.muted('1. Review and customize the configuration:'));
259
- lines.push(StyledText.muted(` ${configPath}`));
260
- lines.push('');
261
- lines.push(StyledText.muted('2. Add packages to your workspace:'));
262
- lines.push(StyledText.muted(' mkdir packages/my-app && cd packages/my-app'));
263
- lines.push(StyledText.muted(' pnpm init'));
264
- lines.push('');
265
- lines.push(StyledText.muted('3. Install dependencies and check for updates:'));
266
- lines.push(StyledText.muted(' pnpm install'));
267
- lines.push(StyledText.muted(' pcu check'));
268
- lines.push('');
269
- lines.push(StyledText.muted('4. Update dependencies interactively:'));
270
- lines.push(StyledText.muted(' pcu update --interactive'));
271
- lines.push('');
272
- lines.push(StyledText.muted('5. Learn more about PNPM workspace and PCU:'));
273
- lines.push(StyledText.muted(' https://pnpm.io/workspaces'));
274
- lines.push(StyledText.muted(' https://github.com/your-repo/pnpm-catalog-updates#configuration'));
275
- console.log(lines.join('\n'));
276
- }
277
- /**
278
- * Validate command options
279
- */
280
- static validateOptions(options) {
281
- const errors = [];
282
- // Validate workspace path exists if provided
283
- if (options.workspace && !existsSync(options.workspace)) {
284
- errors.push(`Workspace directory does not exist: ${options.workspace}`);
285
- }
286
- return errors;
287
- }
288
- /**
289
- * Get command help text
290
- */
291
- static getHelpText() {
292
- return `
293
- Initialize PCU configuration and PNPM workspace
294
-
295
- Usage:
296
- pcu init [options]
297
-
298
- Options:
299
- --workspace <path> Workspace directory (default: current directory)
300
- --force Overwrite existing configuration file
301
- --full Generate full configuration with all options
302
- --create-workspace Create PNPM workspace structure if missing (default: true)
303
- --no-create-workspace Skip creating PNPM workspace structure
304
- --verbose Show detailed information
305
- --no-color Disable colored output
306
-
307
- Description:
308
- Creates a complete PNPM workspace environment with:
309
- - Basic .pcurc.json configuration file with sensible defaults
310
- - package.json for workspace root (if missing)
311
- - pnpm-workspace.yaml configuration (if missing)
312
- - packages/ directory structure (if missing)
313
-
314
- By default, creates a minimal configuration. Use --full to generate
315
- a complete configuration with package rules for React, TypeScript,
316
- ESLint, and other common dependencies with security settings.
317
-
318
- Examples:
319
- pcu init # Initialize with minimal configuration
320
- pcu init --full # Initialize with full configuration
321
- pcu init --workspace ./my-project # Initialize in specific directory
322
- pcu init --force # Overwrite existing configuration
323
- pcu init --no-create-workspace # Only create .pcurc.json configuration
324
-
325
- Files Created:
326
- .pcurc.json PCU configuration (minimal by default, full with --full)
327
- package.json Workspace root package.json (if missing)
328
- pnpm-workspace.yaml PNPM workspace configuration (if missing)
329
- packages/ Directory for workspace packages (if missing)
330
-
331
- Exit Codes:
332
- 0 Configuration initialized successfully
333
- 1 Configuration already exists (use --force to overwrite)
334
- 2 Error occurred
335
- `;
336
- }
337
- }
338
- //# sourceMappingURL=InitCommand.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InitCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/InitCommand.ts"],"names":[],"mappings":"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"}