pnpm-catalog-updates 0.5.6 → 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 (220) 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 -582
  21. package/README.md +0 -690
  22. package/README.zh-CN.md +0 -630
  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 -836
  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 -145
  210. package/dist/infrastructure/external-services/NpmRegistryService.d.ts.map +0 -1
  211. package/dist/infrastructure/external-services/NpmRegistryService.js +0 -466
  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
@@ -1,357 +0,0 @@
1
- /**
2
- * WorkspaceConfig Value Object
3
- *
4
- * Represents the configuration settings for a pnpm workspace.
5
- * Includes catalog mode, package patterns, and other workspace-specific settings.
6
- */
7
- import { CatalogMode } from '../entities/Catalog.js';
8
- export class WorkspaceConfig {
9
- catalogMode;
10
- packagePatterns;
11
- catalogs;
12
- shamefullyHoist;
13
- linkWorkspacePackages;
14
- originalData;
15
- constructor(catalogMode, packagePatterns, catalogs, shamefullyHoist = false, linkWorkspacePackages = true, originalData = {}) {
16
- this.catalogMode = catalogMode;
17
- this.packagePatterns = [...packagePatterns];
18
- this.catalogs = new Map(catalogs);
19
- this.shamefullyHoist = shamefullyHoist;
20
- this.linkWorkspacePackages = linkWorkspacePackages;
21
- this.originalData = { ...originalData };
22
- }
23
- /**
24
- * Create a WorkspaceConfig from pnpm-workspace.yaml data
25
- */
26
- static fromWorkspaceData(data) {
27
- const packagePatterns = data.packages || [];
28
- const catalogMode = data.catalogMode || CatalogMode.MANUAL;
29
- // Process catalogs
30
- const catalogs = new Map();
31
- // Add default catalog if exists
32
- if (data.catalog) {
33
- catalogs.set('default', new CatalogDefinition('default', data.catalog));
34
- }
35
- // Add named catalogs if they exist
36
- if (data.catalogs) {
37
- for (const [name, dependencies] of Object.entries(data.catalogs)) {
38
- catalogs.set(name, new CatalogDefinition(name, dependencies));
39
- }
40
- }
41
- return new WorkspaceConfig(catalogMode, packagePatterns, catalogs, data.shamefullyHoist, data.linkWorkspacePackages, data);
42
- }
43
- /**
44
- * Create a default WorkspaceConfig
45
- */
46
- static createDefault() {
47
- const defaultData = {
48
- packages: ['packages/*'],
49
- };
50
- return new WorkspaceConfig(CatalogMode.MANUAL, ['packages/*'], new Map(), false, true, defaultData);
51
- }
52
- /**
53
- * Get catalog mode
54
- */
55
- getCatalogMode() {
56
- return this.catalogMode;
57
- }
58
- /**
59
- * Get package patterns
60
- */
61
- getPackagePatterns() {
62
- return [...this.packagePatterns];
63
- }
64
- /**
65
- * Get catalog definitions
66
- */
67
- getCatalogDefinitions() {
68
- return new Map(this.catalogs);
69
- }
70
- /**
71
- * Get a specific catalog definition
72
- */
73
- getCatalogDefinition(name) {
74
- return this.catalogs.get(name);
75
- }
76
- /**
77
- * Check if a catalog is defined
78
- */
79
- hasCatalog(name) {
80
- return this.catalogs.has(name);
81
- }
82
- /**
83
- * Get all catalog names
84
- */
85
- getCatalogNames() {
86
- return Array.from(this.catalogs.keys());
87
- }
88
- /**
89
- * Check if shamefully hoist is enabled
90
- */
91
- isShamefullyHoist() {
92
- return this.shamefullyHoist;
93
- }
94
- /**
95
- * Get link workspace packages setting
96
- */
97
- getLinkWorkspacePackages() {
98
- return this.linkWorkspacePackages;
99
- }
100
- /**
101
- * Check if workspace has any catalogs
102
- */
103
- hasCatalogs() {
104
- return this.catalogs.size > 0;
105
- }
106
- /**
107
- * Update a catalog dependency (creates a new WorkspaceConfig)
108
- */
109
- updateCatalogDependency(catalogName, packageName, version) {
110
- const catalogDef = this.catalogs.get(catalogName);
111
- if (!catalogDef) {
112
- throw new Error(`Catalog "${catalogName}" not found`);
113
- }
114
- // Create updated catalog definition
115
- const updatedCatalogDef = catalogDef.updateDependencyVersion(packageName, version);
116
- // Create new catalogs map with the updated definition
117
- const updatedCatalogs = new Map(this.catalogs);
118
- updatedCatalogs.set(catalogName, updatedCatalogDef);
119
- // Return new WorkspaceConfig instance
120
- return new WorkspaceConfig(this.catalogMode, this.packagePatterns, updatedCatalogs, this.shamefullyHoist, this.linkWorkspacePackages, this.originalData);
121
- }
122
- /**
123
- * Get the default catalog definition
124
- */
125
- getDefaultCatalog() {
126
- return this.catalogs.get('default');
127
- }
128
- /**
129
- * Validate workspace configuration
130
- */
131
- validate() {
132
- const errors = [];
133
- const warnings = [];
134
- // Validate package patterns
135
- if (this.packagePatterns.length === 0) {
136
- warnings.push('No package patterns defined - workspace may not discover any packages');
137
- }
138
- // Validate package patterns format
139
- for (const pattern of this.packagePatterns) {
140
- if (!pattern || pattern.trim().length === 0) {
141
- errors.push('Empty package pattern found');
142
- }
143
- // Basic glob pattern validation
144
- if (pattern.includes('**') && pattern.indexOf('**') !== pattern.lastIndexOf('**')) {
145
- warnings.push(`Complex glob pattern may be inefficient: ${pattern}`);
146
- }
147
- }
148
- // Validate catalog definitions
149
- for (const [name, catalogDef] of this.catalogs) {
150
- const validationResult = catalogDef.validate();
151
- errors.push(...validationResult.getErrors().map((err) => `Catalog "${name}": ${err}`));
152
- warnings.push(...validationResult.getWarnings().map((warn) => `Catalog "${name}": ${warn}`));
153
- }
154
- // Check for conflicting settings
155
- if (this.catalogMode === CatalogMode.STRICT && this.catalogs.size === 0) {
156
- errors.push('Catalog mode is set to "strict" but no catalogs are defined');
157
- }
158
- return new WorkspaceConfigValidationResult(errors.length === 0, errors, warnings);
159
- }
160
- /**
161
- * Convert to pnpm-workspace.yaml data format
162
- */
163
- toPnpmWorkspaceData() {
164
- // Start with the original data to preserve all fields
165
- const data = { ...this.originalData };
166
- // Update the fields that we manage
167
- data.packages = this.packagePatterns;
168
- // Add catalog mode if not default
169
- if (this.catalogMode !== CatalogMode.MANUAL) {
170
- data.catalogMode = this.catalogMode;
171
- }
172
- else {
173
- // Remove catalogMode if it's back to default
174
- delete data.catalogMode;
175
- }
176
- // Update catalogs
177
- const defaultCatalog = this.catalogs.get('default');
178
- if (defaultCatalog) {
179
- data.catalog = defaultCatalog.getDependencies();
180
- }
181
- else {
182
- // Remove catalog if it no longer exists
183
- delete data.catalog;
184
- }
185
- const namedCatalogs = {};
186
- for (const [name, catalogDef] of this.catalogs) {
187
- if (name !== 'default') {
188
- namedCatalogs[name] = catalogDef.getDependencies();
189
- }
190
- }
191
- if (Object.keys(namedCatalogs).length > 0) {
192
- data.catalogs = namedCatalogs;
193
- }
194
- else {
195
- // Remove catalogs if none exist
196
- delete data.catalogs;
197
- }
198
- // Update other settings
199
- if (this.shamefullyHoist) {
200
- data.shamefullyHoist = this.shamefullyHoist;
201
- }
202
- else {
203
- // Remove if false/default
204
- delete data.shamefullyHoist;
205
- }
206
- if (this.linkWorkspacePackages !== true) {
207
- data.linkWorkspacePackages = this.linkWorkspacePackages;
208
- }
209
- else {
210
- // Remove if true/default
211
- delete data.linkWorkspacePackages;
212
- }
213
- return data;
214
- }
215
- /**
216
- * Check equality with another WorkspaceConfig
217
- */
218
- equals(other) {
219
- return (this.catalogMode === other.catalogMode &&
220
- JSON.stringify(this.packagePatterns) === JSON.stringify(other.packagePatterns) &&
221
- this.shamefullyHoist === other.shamefullyHoist &&
222
- this.linkWorkspacePackages === other.linkWorkspacePackages &&
223
- this.catalogsEqual(other.catalogs));
224
- }
225
- /**
226
- * Check if catalog definitions are equal
227
- */
228
- catalogsEqual(otherCatalogs) {
229
- if (this.catalogs.size !== otherCatalogs.size) {
230
- return false;
231
- }
232
- for (const [name, catalogDef] of this.catalogs) {
233
- const otherCatalogDef = otherCatalogs.get(name);
234
- if (!otherCatalogDef || !catalogDef.equals(otherCatalogDef)) {
235
- return false;
236
- }
237
- }
238
- return true;
239
- }
240
- }
241
- /**
242
- * Catalog Definition Value Object
243
- */
244
- export class CatalogDefinition {
245
- name;
246
- dependencies;
247
- constructor(name, dependencies) {
248
- this.name = name;
249
- this.dependencies = { ...dependencies };
250
- }
251
- getName() {
252
- return this.name;
253
- }
254
- getDependencies() {
255
- return { ...this.dependencies };
256
- }
257
- getDependencyNames() {
258
- return Object.keys(this.dependencies);
259
- }
260
- hasDependency(packageName) {
261
- return packageName in this.dependencies;
262
- }
263
- getDependencyVersion(packageName) {
264
- return this.dependencies[packageName];
265
- }
266
- /**
267
- * Update a dependency version (returns a new instance)
268
- */
269
- updateDependencyVersion(packageName, version) {
270
- const updatedDependencies = { ...this.dependencies };
271
- updatedDependencies[packageName] = version;
272
- return new CatalogDefinition(this.name, updatedDependencies);
273
- }
274
- validate() {
275
- const errors = [];
276
- const warnings = [];
277
- // Validate name
278
- if (!this.name || this.name.trim().length === 0) {
279
- errors.push('Catalog name cannot be empty');
280
- }
281
- // Validate dependencies
282
- for (const [packageName, version] of Object.entries(this.dependencies)) {
283
- if (!packageName || packageName.trim().length === 0) {
284
- errors.push('Package name cannot be empty');
285
- }
286
- if (!version || version.trim().length === 0) {
287
- errors.push(`Version for package "${packageName}" cannot be empty`);
288
- }
289
- // Basic package name validation
290
- if (!/^(@[a-z0-9-*~][a-z0-9-*._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/.test(packageName)) {
291
- warnings.push(`Package name "${packageName}" may not be valid`);
292
- }
293
- }
294
- return new CatalogDefinitionValidationResult(errors.length === 0, errors, warnings);
295
- }
296
- equals(other) {
297
- return (this.name === other.name &&
298
- JSON.stringify(this.dependencies) === JSON.stringify(other.dependencies));
299
- }
300
- }
301
- /**
302
- * Workspace Config Validation Result
303
- */
304
- export class WorkspaceConfigValidationResult {
305
- isValid;
306
- errors;
307
- warnings;
308
- constructor(isValid, errors, warnings) {
309
- this.isValid = isValid;
310
- this.errors = errors;
311
- this.warnings = warnings;
312
- }
313
- getIsValid() {
314
- return this.isValid;
315
- }
316
- getErrors() {
317
- return [...this.errors];
318
- }
319
- getWarnings() {
320
- return [...this.warnings];
321
- }
322
- hasErrors() {
323
- return this.errors.length > 0;
324
- }
325
- hasWarnings() {
326
- return this.warnings.length > 0;
327
- }
328
- }
329
- /**
330
- * Catalog Definition Validation Result
331
- */
332
- export class CatalogDefinitionValidationResult {
333
- isValid;
334
- errors;
335
- warnings;
336
- constructor(isValid, errors, warnings) {
337
- this.isValid = isValid;
338
- this.errors = errors;
339
- this.warnings = warnings;
340
- }
341
- getIsValid() {
342
- return this.isValid;
343
- }
344
- getErrors() {
345
- return [...this.errors];
346
- }
347
- getWarnings() {
348
- return [...this.warnings];
349
- }
350
- hasErrors() {
351
- return this.errors.length > 0;
352
- }
353
- hasWarnings() {
354
- return this.warnings.length > 0;
355
- }
356
- }
357
- //# sourceMappingURL=WorkspaceConfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorkspaceConfig.js","sourceRoot":"","sources":["../../../src/domain/value-objects/WorkspaceConfig.ts"],"names":[],"mappings":"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"}
@@ -1,51 +0,0 @@
1
- /**
2
- * WorkspaceId Value Object
3
- *
4
- * Represents a unique identifier for a pnpm workspace.
5
- * This is an immutable value object that ensures workspace identity.
6
- */
7
- export declare class WorkspaceId {
8
- private readonly value;
9
- private constructor();
10
- /**
11
- * Create a WorkspaceId from a string value
12
- */
13
- static fromString(value: string): WorkspaceId;
14
- /**
15
- * Generate a new unique WorkspaceId
16
- */
17
- static generate(): WorkspaceId;
18
- /**
19
- * Create a WorkspaceId from a workspace path
20
- */
21
- static fromPath(path: string): WorkspaceId;
22
- /**
23
- * Get the string value of this WorkspaceId
24
- */
25
- toString(): string;
26
- /**
27
- * Get the raw value
28
- */
29
- getValue(): string;
30
- /**
31
- * Check equality with another WorkspaceId
32
- */
33
- equals(other: WorkspaceId): boolean;
34
- /**
35
- * Check if this WorkspaceId is the same as another
36
- */
37
- isSameAs(other: WorkspaceId): boolean;
38
- /**
39
- * Get a hash code for this WorkspaceId
40
- */
41
- hashCode(): number;
42
- /**
43
- * Convert to JSON representation
44
- */
45
- toJSON(): string;
46
- /**
47
- * Create from JSON representation
48
- */
49
- static fromJSON(json: string): WorkspaceId;
50
- }
51
- //# sourceMappingURL=WorkspaceId.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorkspaceId.d.ts","sourceRoot":"","sources":["../../../src/domain/value-objects/WorkspaceId.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAE/B,OAAO;IAIP;;OAEG;WACW,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW;IAoBpD;;OAEG;WACW,QAAQ,IAAI,WAAW;IAMrC;;OAEG;WACW,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW;IAmBjD;;OAEG;IACI,QAAQ,IAAI,MAAM;IAIzB;;OAEG;IACI,QAAQ,IAAI,MAAM;IAIzB;;OAEG;IACI,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAI1C;;OAEG;IACI,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAI5C;;OAEG;IACI,QAAQ,IAAI,MAAM;IAUzB;;OAEG;IACI,MAAM,IAAI,MAAM;IAIvB;;OAEG;WACW,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW;CAGlD"}
@@ -1,104 +0,0 @@
1
- /**
2
- * WorkspaceId Value Object
3
- *
4
- * Represents a unique identifier for a pnpm workspace.
5
- * This is an immutable value object that ensures workspace identity.
6
- */
7
- export class WorkspaceId {
8
- value;
9
- constructor(value) {
10
- this.value = value;
11
- }
12
- /**
13
- * Create a WorkspaceId from a string value
14
- */
15
- static fromString(value) {
16
- if (!value || value.trim().length === 0) {
17
- throw new Error('WorkspaceId cannot be empty');
18
- }
19
- if (value.length > 255) {
20
- throw new Error('WorkspaceId cannot exceed 255 characters');
21
- }
22
- // Validate format - alphanumeric, hyphens, underscores only
23
- const validPattern = /^[a-zA-Z0-9_-]+$/;
24
- if (!validPattern.test(value.trim())) {
25
- throw new Error('WorkspaceId can only contain alphanumeric characters, hyphens, and underscores');
26
- }
27
- return new WorkspaceId(value.trim());
28
- }
29
- /**
30
- * Generate a new unique WorkspaceId
31
- */
32
- static generate() {
33
- const timestamp = Date.now().toString(36);
34
- const random = Math.random().toString(36).substring(2, 8);
35
- return new WorkspaceId(`workspace-${timestamp}-${random}`);
36
- }
37
- /**
38
- * Create a WorkspaceId from a workspace path
39
- */
40
- static fromPath(path) {
41
- // Extract a meaningful identifier from the path
42
- const normalizedPath = path.replace(/\\/g, '/');
43
- const pathParts = normalizedPath.split('/').filter(Boolean);
44
- const lastPart = pathParts[pathParts.length - 1] || 'workspace';
45
- // Sanitize the path part to create a valid ID
46
- const sanitized = lastPart
47
- .replace(/[^a-zA-Z0-9_-]/g, '-')
48
- .replace(/-+/g, '-')
49
- .replace(/^-|-$/g, '');
50
- if (sanitized.length === 0) {
51
- return WorkspaceId.generate();
52
- }
53
- return new WorkspaceId(sanitized);
54
- }
55
- /**
56
- * Get the string value of this WorkspaceId
57
- */
58
- toString() {
59
- return this.value;
60
- }
61
- /**
62
- * Get the raw value
63
- */
64
- getValue() {
65
- return this.value;
66
- }
67
- /**
68
- * Check equality with another WorkspaceId
69
- */
70
- equals(other) {
71
- return this.value === other.value;
72
- }
73
- /**
74
- * Check if this WorkspaceId is the same as another
75
- */
76
- isSameAs(other) {
77
- return this.equals(other);
78
- }
79
- /**
80
- * Get a hash code for this WorkspaceId
81
- */
82
- hashCode() {
83
- let hash = 0;
84
- for (let i = 0; i < this.value.length; i++) {
85
- const char = this.value.charCodeAt(i);
86
- hash = (hash << 5) - hash + char;
87
- hash = hash & hash; // Convert to 32-bit integer
88
- }
89
- return hash;
90
- }
91
- /**
92
- * Convert to JSON representation
93
- */
94
- toJSON() {
95
- return this.value;
96
- }
97
- /**
98
- * Create from JSON representation
99
- */
100
- static fromJSON(json) {
101
- return WorkspaceId.fromString(json);
102
- }
103
- }
104
- //# sourceMappingURL=WorkspaceId.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorkspaceId.js","sourceRoot":"","sources":["../../../src/domain/value-objects/WorkspaceId.ts"],"names":[],"mappings":"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"}
@@ -1,75 +0,0 @@
1
- /**
2
- * WorkspacePath Value Object
3
- *
4
- * Represents a file system path to a pnpm workspace.
5
- * This is an immutable value object that validates and normalizes workspace paths.
6
- */
7
- export declare class WorkspacePath {
8
- private readonly value;
9
- private constructor();
10
- /**
11
- * Create a WorkspacePath from a string
12
- */
13
- static fromString(pathString: string): WorkspacePath;
14
- /**
15
- * Create a WorkspacePath from the current working directory
16
- */
17
- static current(): WorkspacePath;
18
- /**
19
- * Create a WorkspacePath from file URL (useful for ES modules)
20
- */
21
- static fromFileURL(fileUrl: string): WorkspacePath;
22
- /**
23
- * Get the absolute path as a string
24
- */
25
- toString(): string;
26
- /**
27
- * Get the directory name (last part of the path)
28
- */
29
- getDirectoryName(): string;
30
- /**
31
- * Join with another path segment
32
- */
33
- join(...segments: string[]): WorkspacePath;
34
- /**
35
- * Get the parent directory
36
- */
37
- getParent(): WorkspacePath;
38
- /**
39
- * Check if this path is a subdirectory of another path
40
- */
41
- isSubdirectoryOf(other: WorkspacePath): boolean;
42
- /**
43
- * Get relative path from another WorkspacePath
44
- */
45
- relativeTo(other: WorkspacePath): string;
46
- /**
47
- * Check equality with another WorkspacePath
48
- */
49
- equals(other: WorkspacePath): boolean;
50
- /**
51
- * Get the value for serialization
52
- */
53
- getValue(): string;
54
- /**
55
- * Convert to JSON representation
56
- */
57
- toJSON(): string;
58
- /**
59
- * Create from JSON representation
60
- */
61
- static fromJSON(json: string): WorkspacePath;
62
- /**
63
- * Check if this path exists (requires async validation in infrastructure layer)
64
- */
65
- exists(): Promise<boolean>;
66
- /**
67
- * Get the path to pnpm-workspace.yaml
68
- */
69
- getPnpmWorkspaceConfigPath(): WorkspacePath;
70
- /**
71
- * Get the path to package.json
72
- */
73
- getPackageJsonPath(): WorkspacePath;
74
- }
75
- //# sourceMappingURL=WorkspacePath.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorkspacePath.d.ts","sourceRoot":"","sources":["../../../src/domain/value-objects/WorkspacePath.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAE/B,OAAO;IAIP;;OAEG;WACW,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa;IAW3D;;OAEG;WACW,OAAO,IAAI,aAAa;IAItC;;OAEG;WACW,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;IAMzD;;OAEG;IACI,QAAQ,IAAI,MAAM;IAIzB;;OAEG;IACI,gBAAgB,IAAI,MAAM;IAIjC;;OAEG;IACI,IAAI,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,aAAa;IAKjD;;OAEG;IACI,SAAS,IAAI,aAAa;IAKjC;;OAEG;IACI,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAKtD;;OAEG;IACI,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM;IAI/C;;OAEG;IACI,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAI5C;;OAEG;IACI,QAAQ,IAAI,MAAM;IAIzB;;OAEG;IACI,MAAM,IAAI,MAAM;IAIvB;;OAEG;WACW,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAInD;;OAEG;IACU,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAUvC;;OAEG;IACI,0BAA0B,IAAI,aAAa;IAIlD;;OAEG;IACI,kBAAkB,IAAI,aAAa;CAG3C"}