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.
- package/bin/pcu.js +1 -1
- package/dist/index.js +9559 -32
- package/dist/index.js.map +1 -1
- package/package.json +61 -103
- package/src/cli/commands/checkCommand.ts +227 -0
- package/src/cli/commands/initCommand.ts +394 -0
- package/src/cli/commands/securityCommand.ts +569 -0
- package/src/cli/commands/updateCommand.ts +245 -0
- package/src/cli/formatters/outputFormatter.ts +830 -0
- package/src/cli/formatters/progressBar.ts +700 -0
- package/src/cli/index.ts +565 -0
- package/src/cli/interactive/interactivePrompts.ts +517 -0
- package/src/cli/options/globalOptions.ts +380 -0
- package/src/cli/options/index.ts +5 -0
- package/src/cli/themes/colorTheme.ts +379 -0
- package/src/cli/validators/commandValidator.ts +395 -0
- package/src/cli/validators/index.ts +5 -0
- package/src/index.ts +4 -0
- package/LICENSE +0 -21
- package/README.ja.md +0 -582
- package/README.md +0 -690
- package/README.zh-CN.md +0 -630
- package/dist/application/services/CatalogUpdateService.d.ts +0 -209
- package/dist/application/services/CatalogUpdateService.d.ts.map +0 -1
- package/dist/application/services/CatalogUpdateService.js +0 -836
- package/dist/application/services/CatalogUpdateService.js.map +0 -1
- package/dist/application/services/WorkspaceService.d.ts +0 -139
- package/dist/application/services/WorkspaceService.d.ts.map +0 -1
- package/dist/application/services/WorkspaceService.js +0 -340
- package/dist/application/services/WorkspaceService.js.map +0 -1
- package/dist/cli/commands/CheckCommand.d.ts +0 -40
- package/dist/cli/commands/CheckCommand.d.ts.map +0 -1
- package/dist/cli/commands/CheckCommand.js +0 -177
- package/dist/cli/commands/CheckCommand.js.map +0 -1
- package/dist/cli/commands/InitCommand.d.ts +0 -53
- package/dist/cli/commands/InitCommand.d.ts.map +0 -1
- package/dist/cli/commands/InitCommand.js +0 -338
- package/dist/cli/commands/InitCommand.js.map +0 -1
- package/dist/cli/commands/SecurityCommand.d.ts +0 -113
- package/dist/cli/commands/SecurityCommand.d.ts.map +0 -1
- package/dist/cli/commands/SecurityCommand.js +0 -410
- package/dist/cli/commands/SecurityCommand.js.map +0 -1
- package/dist/cli/commands/UpdateCommand.d.ts +0 -44
- package/dist/cli/commands/UpdateCommand.d.ts.map +0 -1
- package/dist/cli/commands/UpdateCommand.js +0 -189
- package/dist/cli/commands/UpdateCommand.js.map +0 -1
- package/dist/cli/formatters/OutputFormatter.d.ts +0 -116
- package/dist/cli/formatters/OutputFormatter.d.ts.map +0 -1
- package/dist/cli/formatters/OutputFormatter.js +0 -664
- package/dist/cli/formatters/OutputFormatter.js.map +0 -1
- package/dist/cli/formatters/ProgressBar.d.ts +0 -195
- package/dist/cli/formatters/ProgressBar.d.ts.map +0 -1
- package/dist/cli/formatters/ProgressBar.js +0 -622
- package/dist/cli/formatters/ProgressBar.js.map +0 -1
- package/dist/cli/index.d.ts +0 -12
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js +0 -492
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/interactive/InteractivePrompts.d.ts +0 -85
- package/dist/cli/interactive/InteractivePrompts.d.ts.map +0 -1
- package/dist/cli/interactive/InteractivePrompts.js +0 -434
- package/dist/cli/interactive/InteractivePrompts.js.map +0 -1
- package/dist/cli/options/GlobalOptions.d.ts +0 -117
- package/dist/cli/options/GlobalOptions.d.ts.map +0 -1
- package/dist/cli/options/GlobalOptions.js +0 -278
- package/dist/cli/options/GlobalOptions.js.map +0 -1
- package/dist/cli/options/index.d.ts +0 -5
- package/dist/cli/options/index.d.ts.map +0 -1
- package/dist/cli/options/index.js +0 -5
- package/dist/cli/options/index.js.map +0 -1
- package/dist/cli/themes/ColorTheme.d.ts +0 -211
- package/dist/cli/themes/ColorTheme.d.ts.map +0 -1
- package/dist/cli/themes/ColorTheme.js +0 -267
- package/dist/cli/themes/ColorTheme.js.map +0 -1
- package/dist/cli/validators/CommandValidator.d.ts +0 -60
- package/dist/cli/validators/CommandValidator.d.ts.map +0 -1
- package/dist/cli/validators/CommandValidator.js +0 -319
- package/dist/cli/validators/CommandValidator.js.map +0 -1
- package/dist/cli/validators/index.d.ts +0 -5
- package/dist/cli/validators/index.d.ts.map +0 -1
- package/dist/cli/validators/index.js +0 -5
- package/dist/cli/validators/index.js.map +0 -1
- package/dist/common/config/Config.d.ts +0 -142
- package/dist/common/config/Config.d.ts.map +0 -1
- package/dist/common/config/Config.js +0 -382
- package/dist/common/config/Config.js.map +0 -1
- package/dist/common/config/ConfigLoader.d.ts +0 -49
- package/dist/common/config/ConfigLoader.d.ts.map +0 -1
- package/dist/common/config/ConfigLoader.js +0 -180
- package/dist/common/config/ConfigLoader.js.map +0 -1
- package/dist/common/config/PackageFilterConfig.d.ts +0 -56
- package/dist/common/config/PackageFilterConfig.d.ts.map +0 -1
- package/dist/common/config/PackageFilterConfig.js +0 -94
- package/dist/common/config/PackageFilterConfig.js.map +0 -1
- package/dist/common/config/index.d.ts +0 -8
- package/dist/common/config/index.d.ts.map +0 -1
- package/dist/common/config/index.js +0 -8
- package/dist/common/config/index.js.map +0 -1
- package/dist/common/error-handling/ErrorTracker.d.ts +0 -48
- package/dist/common/error-handling/ErrorTracker.d.ts.map +0 -1
- package/dist/common/error-handling/ErrorTracker.js +0 -93
- package/dist/common/error-handling/ErrorTracker.js.map +0 -1
- package/dist/common/error-handling/UserFriendlyErrorHandler.d.ts +0 -74
- package/dist/common/error-handling/UserFriendlyErrorHandler.d.ts.map +0 -1
- package/dist/common/error-handling/UserFriendlyErrorHandler.js +0 -703
- package/dist/common/error-handling/UserFriendlyErrorHandler.js.map +0 -1
- package/dist/common/error-handling/index.d.ts +0 -11
- package/dist/common/error-handling/index.d.ts.map +0 -1
- package/dist/common/error-handling/index.js +0 -9
- package/dist/common/error-handling/index.js.map +0 -1
- package/dist/common/logger/Logger.d.ts +0 -110
- package/dist/common/logger/Logger.d.ts.map +0 -1
- package/dist/common/logger/Logger.js +0 -289
- package/dist/common/logger/Logger.js.map +0 -1
- package/dist/common/logger/index.d.ts +0 -6
- package/dist/common/logger/index.d.ts.map +0 -1
- package/dist/common/logger/index.js +0 -6
- package/dist/common/logger/index.js.map +0 -1
- package/dist/common/types/cli.d.ts +0 -265
- package/dist/common/types/cli.d.ts.map +0 -1
- package/dist/common/types/cli.js +0 -5
- package/dist/common/types/cli.js.map +0 -1
- package/dist/common/types/core.d.ts +0 -270
- package/dist/common/types/core.d.ts.map +0 -1
- package/dist/common/types/core.js +0 -32
- package/dist/common/types/core.js.map +0 -1
- package/dist/common/types/index.d.ts +0 -8
- package/dist/common/types/index.d.ts.map +0 -1
- package/dist/common/types/index.js +0 -8
- package/dist/common/types/index.js.map +0 -1
- package/dist/common/utils/VersionChecker.d.ts +0 -54
- package/dist/common/utils/VersionChecker.d.ts.map +0 -1
- package/dist/common/utils/VersionChecker.js +0 -180
- package/dist/common/utils/VersionChecker.js.map +0 -1
- package/dist/common/utils/async.d.ts +0 -74
- package/dist/common/utils/async.d.ts.map +0 -1
- package/dist/common/utils/async.js +0 -228
- package/dist/common/utils/async.js.map +0 -1
- package/dist/common/utils/format.d.ts +0 -32
- package/dist/common/utils/format.d.ts.map +0 -1
- package/dist/common/utils/format.js +0 -121
- package/dist/common/utils/format.js.map +0 -1
- package/dist/common/utils/git.d.ts +0 -44
- package/dist/common/utils/git.d.ts.map +0 -1
- package/dist/common/utils/git.js +0 -147
- package/dist/common/utils/git.js.map +0 -1
- package/dist/common/utils/index.d.ts +0 -12
- package/dist/common/utils/index.d.ts.map +0 -1
- package/dist/common/utils/index.js +0 -12
- package/dist/common/utils/index.js.map +0 -1
- package/dist/common/utils/string.d.ts +0 -56
- package/dist/common/utils/string.d.ts.map +0 -1
- package/dist/common/utils/string.js +0 -134
- package/dist/common/utils/string.js.map +0 -1
- package/dist/common/utils/validation.d.ts +0 -88
- package/dist/common/utils/validation.d.ts.map +0 -1
- package/dist/common/utils/validation.js +0 -308
- package/dist/common/utils/validation.js.map +0 -1
- package/dist/domain/entities/Catalog.d.ts +0 -117
- package/dist/domain/entities/Catalog.d.ts.map +0 -1
- package/dist/domain/entities/Catalog.js +0 -240
- package/dist/domain/entities/Catalog.js.map +0 -1
- package/dist/domain/entities/Package.d.ts +0 -143
- package/dist/domain/entities/Package.d.ts.map +0 -1
- package/dist/domain/entities/Package.js +0 -272
- package/dist/domain/entities/Package.js.map +0 -1
- package/dist/domain/entities/Workspace.d.ts +0 -95
- package/dist/domain/entities/Workspace.d.ts.map +0 -1
- package/dist/domain/entities/Workspace.js +0 -173
- package/dist/domain/entities/Workspace.js.map +0 -1
- package/dist/domain/repositories/WorkspaceRepository.d.ts +0 -41
- package/dist/domain/repositories/WorkspaceRepository.d.ts.map +0 -1
- package/dist/domain/repositories/WorkspaceRepository.js +0 -8
- package/dist/domain/repositories/WorkspaceRepository.js.map +0 -1
- package/dist/domain/value-objects/CatalogCollection.d.ts +0 -106
- package/dist/domain/value-objects/CatalogCollection.d.ts.map +0 -1
- package/dist/domain/value-objects/CatalogCollection.js +0 -230
- package/dist/domain/value-objects/CatalogCollection.js.map +0 -1
- package/dist/domain/value-objects/PackageCollection.d.ts +0 -122
- package/dist/domain/value-objects/PackageCollection.d.ts.map +0 -1
- package/dist/domain/value-objects/PackageCollection.js +0 -263
- package/dist/domain/value-objects/PackageCollection.js.map +0 -1
- package/dist/domain/value-objects/Version.d.ts +0 -141
- package/dist/domain/value-objects/Version.d.ts.map +0 -1
- package/dist/domain/value-objects/Version.js +0 -268
- package/dist/domain/value-objects/Version.js.map +0 -1
- package/dist/domain/value-objects/WorkspaceConfig.d.ts +0 -144
- package/dist/domain/value-objects/WorkspaceConfig.d.ts.map +0 -1
- package/dist/domain/value-objects/WorkspaceConfig.js +0 -357
- package/dist/domain/value-objects/WorkspaceConfig.js.map +0 -1
- package/dist/domain/value-objects/WorkspaceId.d.ts +0 -51
- package/dist/domain/value-objects/WorkspaceId.d.ts.map +0 -1
- package/dist/domain/value-objects/WorkspaceId.js +0 -104
- package/dist/domain/value-objects/WorkspaceId.js.map +0 -1
- package/dist/domain/value-objects/WorkspacePath.d.ts +0 -75
- package/dist/domain/value-objects/WorkspacePath.d.ts.map +0 -1
- package/dist/domain/value-objects/WorkspacePath.js +0 -128
- package/dist/domain/value-objects/WorkspacePath.js.map +0 -1
- package/dist/index.d.ts +0 -25
- package/dist/index.d.ts.map +0 -1
- package/dist/infrastructure/cache/Cache.d.ts +0 -161
- package/dist/infrastructure/cache/Cache.d.ts.map +0 -1
- package/dist/infrastructure/cache/Cache.js +0 -398
- package/dist/infrastructure/cache/Cache.js.map +0 -1
- package/dist/infrastructure/cache/index.d.ts +0 -6
- package/dist/infrastructure/cache/index.d.ts.map +0 -1
- package/dist/infrastructure/cache/index.js +0 -6
- package/dist/infrastructure/cache/index.js.map +0 -1
- package/dist/infrastructure/external-services/NpmRegistryService.d.ts +0 -145
- package/dist/infrastructure/external-services/NpmRegistryService.d.ts.map +0 -1
- package/dist/infrastructure/external-services/NpmRegistryService.js +0 -466
- package/dist/infrastructure/external-services/NpmRegistryService.js.map +0 -1
- package/dist/infrastructure/file-system/FileSystemService.d.ts +0 -120
- package/dist/infrastructure/file-system/FileSystemService.d.ts.map +0 -1
- package/dist/infrastructure/file-system/FileSystemService.js +0 -663
- package/dist/infrastructure/file-system/FileSystemService.js.map +0 -1
- package/dist/infrastructure/repositories/FileWorkspaceRepository.d.ts +0 -57
- package/dist/infrastructure/repositories/FileWorkspaceRepository.d.ts.map +0 -1
- package/dist/infrastructure/repositories/FileWorkspaceRepository.js +0 -179
- 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"}
|