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,173 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Workspace Entity
|
|
3
|
-
*
|
|
4
|
-
* Represents a pnpm workspace with catalog configuration.
|
|
5
|
-
* This is a core domain entity that encapsulates workspace business logic.
|
|
6
|
-
*/
|
|
7
|
-
export class Workspace {
|
|
8
|
-
id;
|
|
9
|
-
path;
|
|
10
|
-
config;
|
|
11
|
-
catalogs;
|
|
12
|
-
packages;
|
|
13
|
-
constructor(id, path, config, catalogs, packages) {
|
|
14
|
-
this.id = id;
|
|
15
|
-
this.path = path;
|
|
16
|
-
this.config = config;
|
|
17
|
-
this.catalogs = catalogs;
|
|
18
|
-
this.packages = packages;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Create a new Workspace instance
|
|
22
|
-
*/
|
|
23
|
-
static create(id, path, config, catalogs, packages) {
|
|
24
|
-
return new Workspace(id, path, config, catalogs, packages);
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Get workspace identifier
|
|
28
|
-
*/
|
|
29
|
-
getId() {
|
|
30
|
-
return this.id;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Get workspace path
|
|
34
|
-
*/
|
|
35
|
-
getPath() {
|
|
36
|
-
return this.path;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Get workspace configuration
|
|
40
|
-
*/
|
|
41
|
-
getConfig() {
|
|
42
|
-
return this.config;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Get all catalogs in this workspace
|
|
46
|
-
*/
|
|
47
|
-
getCatalogs() {
|
|
48
|
-
return this.catalogs;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Get all packages in this workspace
|
|
52
|
-
*/
|
|
53
|
-
getPackages() {
|
|
54
|
-
return this.packages;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Check if workspace has a specific catalog
|
|
58
|
-
*/
|
|
59
|
-
hasCatalog(catalogName) {
|
|
60
|
-
return this.catalogs.has(catalogName);
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Get packages that use a specific catalog dependency
|
|
64
|
-
*/
|
|
65
|
-
getPackagesUsingCatalogDependency(catalogName, packageName) {
|
|
66
|
-
return this.packages.filterByCatalogDependency(catalogName, packageName);
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Validate workspace consistency
|
|
70
|
-
* Ensures all catalog references in packages exist in catalogs
|
|
71
|
-
*/
|
|
72
|
-
validateConsistency() {
|
|
73
|
-
const errors = [];
|
|
74
|
-
const warnings = [];
|
|
75
|
-
// Check if all catalog references in packages exist
|
|
76
|
-
for (const pkg of this.packages.getAll()) {
|
|
77
|
-
const catalogRefs = pkg.getCatalogReferences();
|
|
78
|
-
for (const ref of catalogRefs) {
|
|
79
|
-
if (!this.catalogs.has(ref.getCatalogName())) {
|
|
80
|
-
errors.push(`Package "${pkg.getName()}" references unknown catalog "${ref.getCatalogName()}"`);
|
|
81
|
-
}
|
|
82
|
-
const catalog = this.catalogs.get(ref.getCatalogName());
|
|
83
|
-
if (catalog && !catalog.hasDependency(ref.getPackageName())) {
|
|
84
|
-
warnings.push(`Package "${pkg.getName()}" references "${ref.getPackageName()}" ` +
|
|
85
|
-
`from catalog "${ref.getCatalogName()}" but it's not defined in the catalog`);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
return new ValidationResult(errors.length === 0, errors, warnings);
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Get outdated catalog dependencies
|
|
93
|
-
*/
|
|
94
|
-
async getOutdatedCatalogDependencies() {
|
|
95
|
-
// This would typically use a domain service to check versions
|
|
96
|
-
// For now, return empty array as placeholder
|
|
97
|
-
return [];
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Update a catalog dependency version
|
|
101
|
-
*/
|
|
102
|
-
updateCatalogDependency(catalogName, packageName, newVersion) {
|
|
103
|
-
const catalog = this.catalogs.get(catalogName);
|
|
104
|
-
if (!catalog) {
|
|
105
|
-
throw new Error(`Catalog "${catalogName}" not found`);
|
|
106
|
-
}
|
|
107
|
-
// Update the catalog in the collection
|
|
108
|
-
catalog.updateDependencyVersion(packageName, newVersion);
|
|
109
|
-
// Also update the WorkspaceConfig to ensure consistency
|
|
110
|
-
this.config = this.config.updateCatalogDependency(catalogName, packageName, newVersion);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Validation result value object
|
|
115
|
-
*/
|
|
116
|
-
export class ValidationResult {
|
|
117
|
-
isValid;
|
|
118
|
-
errors;
|
|
119
|
-
warnings;
|
|
120
|
-
constructor(isValid, errors, warnings) {
|
|
121
|
-
this.isValid = isValid;
|
|
122
|
-
this.errors = errors;
|
|
123
|
-
this.warnings = warnings;
|
|
124
|
-
}
|
|
125
|
-
getIsValid() {
|
|
126
|
-
return this.isValid;
|
|
127
|
-
}
|
|
128
|
-
getErrors() {
|
|
129
|
-
return [...this.errors];
|
|
130
|
-
}
|
|
131
|
-
getWarnings() {
|
|
132
|
-
return [...this.warnings];
|
|
133
|
-
}
|
|
134
|
-
hasErrors() {
|
|
135
|
-
return this.errors.length > 0;
|
|
136
|
-
}
|
|
137
|
-
hasWarnings() {
|
|
138
|
-
return this.warnings.length > 0;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Outdated dependency value object
|
|
143
|
-
*/
|
|
144
|
-
export class OutdatedDependency {
|
|
145
|
-
catalogName;
|
|
146
|
-
packageName;
|
|
147
|
-
currentVersion;
|
|
148
|
-
latestVersion;
|
|
149
|
-
updateType;
|
|
150
|
-
constructor(catalogName, packageName, currentVersion, latestVersion, updateType) {
|
|
151
|
-
this.catalogName = catalogName;
|
|
152
|
-
this.packageName = packageName;
|
|
153
|
-
this.currentVersion = currentVersion;
|
|
154
|
-
this.latestVersion = latestVersion;
|
|
155
|
-
this.updateType = updateType;
|
|
156
|
-
}
|
|
157
|
-
getCatalogName() {
|
|
158
|
-
return this.catalogName;
|
|
159
|
-
}
|
|
160
|
-
getPackageName() {
|
|
161
|
-
return this.packageName;
|
|
162
|
-
}
|
|
163
|
-
getCurrentVersion() {
|
|
164
|
-
return this.currentVersion;
|
|
165
|
-
}
|
|
166
|
-
getLatestVersion() {
|
|
167
|
-
return this.latestVersion;
|
|
168
|
-
}
|
|
169
|
-
getUpdateType() {
|
|
170
|
-
return this.updateType;
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
//# sourceMappingURL=Workspace.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Workspace.js","sourceRoot":"","sources":["../../../src/domain/entities/Workspace.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Workspace Repository Interface
|
|
3
|
-
*
|
|
4
|
-
* Defines the contract for workspace persistence and retrieval operations.
|
|
5
|
-
* This is a domain interface implemented by infrastructure layer.
|
|
6
|
-
*/
|
|
7
|
-
import { Workspace } from '../entities/Workspace.js';
|
|
8
|
-
import { WorkspaceId } from '../value-objects/WorkspaceId.js';
|
|
9
|
-
import { WorkspacePath } from '../value-objects/WorkspacePath.js';
|
|
10
|
-
import { WorkspaceConfig } from '../value-objects/WorkspaceConfig.js';
|
|
11
|
-
export interface WorkspaceRepository {
|
|
12
|
-
/**
|
|
13
|
-
* Find a workspace by its path
|
|
14
|
-
*/
|
|
15
|
-
findByPath(path: WorkspacePath): Promise<Workspace | null>;
|
|
16
|
-
/**
|
|
17
|
-
* Find a workspace by its ID
|
|
18
|
-
*/
|
|
19
|
-
findById(id: WorkspaceId): Promise<Workspace | null>;
|
|
20
|
-
/**
|
|
21
|
-
* Save a workspace
|
|
22
|
-
*/
|
|
23
|
-
save(workspace: Workspace): Promise<void>;
|
|
24
|
-
/**
|
|
25
|
-
* Load workspace configuration from path
|
|
26
|
-
*/
|
|
27
|
-
loadConfiguration(path: WorkspacePath): Promise<WorkspaceConfig>;
|
|
28
|
-
/**
|
|
29
|
-
* Save workspace configuration to path
|
|
30
|
-
*/
|
|
31
|
-
saveConfiguration(path: WorkspacePath, config: WorkspaceConfig): Promise<void>;
|
|
32
|
-
/**
|
|
33
|
-
* Check if a path contains a valid pnpm workspace
|
|
34
|
-
*/
|
|
35
|
-
isValidWorkspace(path: WorkspacePath): Promise<boolean>;
|
|
36
|
-
/**
|
|
37
|
-
* Discover workspace from current working directory or given path
|
|
38
|
-
*/
|
|
39
|
-
discoverWorkspace(searchPath?: WorkspacePath): Promise<Workspace | null>;
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=WorkspaceRepository.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceRepository.d.ts","sourceRoot":"","sources":["../../../src/domain/repositories/WorkspaceRepository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAEtE,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAE3D;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAErD;;OAEG;IACH,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAEjE;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/E;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAExD;;OAEG;IACH,iBAAiB,CAAC,UAAU,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;CAC1E"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceRepository.js","sourceRoot":"","sources":["../../../src/domain/repositories/WorkspaceRepository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CatalogCollection Value Object
|
|
3
|
-
*
|
|
4
|
-
* Represents a collection of catalogs in a workspace.
|
|
5
|
-
* Provides operations for managing and querying multiple catalogs.
|
|
6
|
-
*/
|
|
7
|
-
import { Catalog, CatalogName } from '../entities/Catalog.js';
|
|
8
|
-
export declare class CatalogCollection {
|
|
9
|
-
private readonly catalogs;
|
|
10
|
-
private constructor();
|
|
11
|
-
/**
|
|
12
|
-
* Create an empty catalog collection
|
|
13
|
-
*/
|
|
14
|
-
static empty(): CatalogCollection;
|
|
15
|
-
/**
|
|
16
|
-
* Create a catalog collection from an array of catalogs
|
|
17
|
-
*/
|
|
18
|
-
static fromCatalogs(catalogs: Catalog[]): CatalogCollection;
|
|
19
|
-
/**
|
|
20
|
-
* Create a catalog collection from a Map
|
|
21
|
-
*/
|
|
22
|
-
static fromMap(catalogMap: Map<CatalogName, Catalog>): CatalogCollection;
|
|
23
|
-
/**
|
|
24
|
-
* Check if collection contains a catalog with the given name
|
|
25
|
-
*/
|
|
26
|
-
has(catalogName: CatalogName): boolean;
|
|
27
|
-
/**
|
|
28
|
-
* Get a catalog by name
|
|
29
|
-
*/
|
|
30
|
-
get(catalogName: CatalogName): Catalog | undefined;
|
|
31
|
-
/**
|
|
32
|
-
* Get all catalogs as an array
|
|
33
|
-
*/
|
|
34
|
-
getAll(): Catalog[];
|
|
35
|
-
/**
|
|
36
|
-
* Get all catalog names
|
|
37
|
-
*/
|
|
38
|
-
getCatalogNames(): CatalogName[];
|
|
39
|
-
/**
|
|
40
|
-
* Get the number of catalogs
|
|
41
|
-
*/
|
|
42
|
-
size(): number;
|
|
43
|
-
/**
|
|
44
|
-
* Check if collection is empty
|
|
45
|
-
*/
|
|
46
|
-
isEmpty(): boolean;
|
|
47
|
-
/**
|
|
48
|
-
* Add a catalog to the collection
|
|
49
|
-
*/
|
|
50
|
-
add(catalog: Catalog): CatalogCollection;
|
|
51
|
-
/**
|
|
52
|
-
* Remove a catalog from the collection
|
|
53
|
-
*/
|
|
54
|
-
remove(catalogName: CatalogName): CatalogCollection;
|
|
55
|
-
/**
|
|
56
|
-
* Update a catalog in the collection
|
|
57
|
-
*/
|
|
58
|
-
update(catalog: Catalog): CatalogCollection;
|
|
59
|
-
/**
|
|
60
|
-
* Get the default catalog (named 'default' or the first one)
|
|
61
|
-
*/
|
|
62
|
-
getDefault(): Catalog | undefined;
|
|
63
|
-
/**
|
|
64
|
-
* Filter catalogs by a predicate function
|
|
65
|
-
*/
|
|
66
|
-
filter(predicate: (catalog: Catalog) => boolean): CatalogCollection;
|
|
67
|
-
/**
|
|
68
|
-
* Find catalogs that contain a specific package
|
|
69
|
-
*/
|
|
70
|
-
findCatalogsWithPackage(packageName: string): Catalog[];
|
|
71
|
-
/**
|
|
72
|
-
* Get all unique package names across all catalogs
|
|
73
|
-
*/
|
|
74
|
-
getAllPackageNames(): string[];
|
|
75
|
-
/**
|
|
76
|
-
* Validate all catalogs in the collection
|
|
77
|
-
*/
|
|
78
|
-
validate(): CatalogCollectionValidationResult;
|
|
79
|
-
/**
|
|
80
|
-
* Convert to a Map for serialization
|
|
81
|
-
*/
|
|
82
|
-
toMap(): Map<CatalogName, Catalog>;
|
|
83
|
-
/**
|
|
84
|
-
* Iterate over catalogs
|
|
85
|
-
*/
|
|
86
|
-
[Symbol.iterator](): Iterator<[CatalogName, Catalog]>;
|
|
87
|
-
/**
|
|
88
|
-
* Check equality with another catalog collection
|
|
89
|
-
*/
|
|
90
|
-
equals(other: CatalogCollection): boolean;
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Catalog Collection Validation Result
|
|
94
|
-
*/
|
|
95
|
-
export declare class CatalogCollectionValidationResult {
|
|
96
|
-
private readonly isValid;
|
|
97
|
-
private readonly errors;
|
|
98
|
-
private readonly warnings;
|
|
99
|
-
constructor(isValid: boolean, errors: string[], warnings: string[]);
|
|
100
|
-
getIsValid(): boolean;
|
|
101
|
-
getErrors(): string[];
|
|
102
|
-
getWarnings(): string[];
|
|
103
|
-
hasErrors(): boolean;
|
|
104
|
-
hasWarnings(): boolean;
|
|
105
|
-
}
|
|
106
|
-
//# sourceMappingURL=CatalogCollection.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CatalogCollection.d.ts","sourceRoot":"","sources":["../../../src/domain/value-objects/CatalogCollection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE9D,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IAErD,OAAO;IAIP;;OAEG;WACW,KAAK,IAAI,iBAAiB;IAIxC;;OAEG;WACW,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,iBAAiB;IAUlE;;OAEG;WACW,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,iBAAiB;IAI/E;;OAEG;IACI,GAAG,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO;IAI7C;;OAEG;IACI,GAAG,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,GAAG,SAAS;IAIzD;;OAEG;IACI,MAAM,IAAI,OAAO,EAAE;IAI1B;;OAEG;IACI,eAAe,IAAI,WAAW,EAAE;IAIvC;;OAEG;IACI,IAAI,IAAI,MAAM;IAIrB;;OAEG;IACI,OAAO,IAAI,OAAO;IAIzB;;OAEG;IACI,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB;IAM/C;;OAEG;IACI,MAAM,CAAC,WAAW,EAAE,WAAW,GAAG,iBAAiB;IAM1D;;OAEG;IACI,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB;IAUlD;;OAEG;IACI,UAAU,IAAI,OAAO,GAAG,SAAS;IAYxC;;OAEG;IACI,MAAM,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,GAAG,iBAAiB;IAY1E;;OAEG;IACI,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,EAAE;IAI9D;;OAEG;IACI,kBAAkB,IAAI,MAAM,EAAE;IAYrC;;OAEG;IACI,QAAQ,IAAI,iCAAiC;IA0CpD;;OAEG;IACI,KAAK,IAAI,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC;IAIzC;;OAEG;IACK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAI7D;;OAEG;IACI,MAAM,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO;CAcjD;AAED;;GAEG;AACH,qBAAa,iCAAiC;IAE1C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAFR,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,EAAE,MAAM,EAAE;IAG9B,UAAU,IAAI,OAAO;IAIrB,SAAS,IAAI,MAAM,EAAE;IAIrB,WAAW,IAAI,MAAM,EAAE;IAIvB,SAAS,IAAI,OAAO;IAIpB,WAAW,IAAI,OAAO;CAG9B"}
|
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CatalogCollection Value Object
|
|
3
|
-
*
|
|
4
|
-
* Represents a collection of catalogs in a workspace.
|
|
5
|
-
* Provides operations for managing and querying multiple catalogs.
|
|
6
|
-
*/
|
|
7
|
-
export class CatalogCollection {
|
|
8
|
-
catalogs;
|
|
9
|
-
constructor(catalogs) {
|
|
10
|
-
this.catalogs = new Map(catalogs);
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Create an empty catalog collection
|
|
14
|
-
*/
|
|
15
|
-
static empty() {
|
|
16
|
-
return new CatalogCollection(new Map());
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Create a catalog collection from an array of catalogs
|
|
20
|
-
*/
|
|
21
|
-
static fromCatalogs(catalogs) {
|
|
22
|
-
const catalogMap = new Map();
|
|
23
|
-
for (const catalog of catalogs) {
|
|
24
|
-
catalogMap.set(catalog.getName(), catalog);
|
|
25
|
-
}
|
|
26
|
-
return new CatalogCollection(catalogMap);
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Create a catalog collection from a Map
|
|
30
|
-
*/
|
|
31
|
-
static fromMap(catalogMap) {
|
|
32
|
-
return new CatalogCollection(catalogMap);
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Check if collection contains a catalog with the given name
|
|
36
|
-
*/
|
|
37
|
-
has(catalogName) {
|
|
38
|
-
return this.catalogs.has(catalogName);
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Get a catalog by name
|
|
42
|
-
*/
|
|
43
|
-
get(catalogName) {
|
|
44
|
-
return this.catalogs.get(catalogName);
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Get all catalogs as an array
|
|
48
|
-
*/
|
|
49
|
-
getAll() {
|
|
50
|
-
return Array.from(this.catalogs.values());
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Get all catalog names
|
|
54
|
-
*/
|
|
55
|
-
getCatalogNames() {
|
|
56
|
-
return Array.from(this.catalogs.keys());
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Get the number of catalogs
|
|
60
|
-
*/
|
|
61
|
-
size() {
|
|
62
|
-
return this.catalogs.size;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Check if collection is empty
|
|
66
|
-
*/
|
|
67
|
-
isEmpty() {
|
|
68
|
-
return this.catalogs.size === 0;
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Add a catalog to the collection
|
|
72
|
-
*/
|
|
73
|
-
add(catalog) {
|
|
74
|
-
const newCatalogs = new Map(this.catalogs);
|
|
75
|
-
newCatalogs.set(catalog.getName(), catalog);
|
|
76
|
-
return new CatalogCollection(newCatalogs);
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Remove a catalog from the collection
|
|
80
|
-
*/
|
|
81
|
-
remove(catalogName) {
|
|
82
|
-
const newCatalogs = new Map(this.catalogs);
|
|
83
|
-
newCatalogs.delete(catalogName);
|
|
84
|
-
return new CatalogCollection(newCatalogs);
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Update a catalog in the collection
|
|
88
|
-
*/
|
|
89
|
-
update(catalog) {
|
|
90
|
-
if (!this.has(catalog.getName())) {
|
|
91
|
-
throw new Error(`Catalog "${catalog.getName()}" not found in collection`);
|
|
92
|
-
}
|
|
93
|
-
const newCatalogs = new Map(this.catalogs);
|
|
94
|
-
newCatalogs.set(catalog.getName(), catalog);
|
|
95
|
-
return new CatalogCollection(newCatalogs);
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Get the default catalog (named 'default' or the first one)
|
|
99
|
-
*/
|
|
100
|
-
getDefault() {
|
|
101
|
-
// First, try to find a catalog named 'default'
|
|
102
|
-
const defaultCatalog = this.catalogs.get('default');
|
|
103
|
-
if (defaultCatalog) {
|
|
104
|
-
return defaultCatalog;
|
|
105
|
-
}
|
|
106
|
-
// If no 'default' catalog, return the first one
|
|
107
|
-
const firstCatalog = this.catalogs.values().next().value;
|
|
108
|
-
return firstCatalog;
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Filter catalogs by a predicate function
|
|
112
|
-
*/
|
|
113
|
-
filter(predicate) {
|
|
114
|
-
const filteredCatalogs = new Map();
|
|
115
|
-
for (const [name, catalog] of this.catalogs) {
|
|
116
|
-
if (predicate(catalog)) {
|
|
117
|
-
filteredCatalogs.set(name, catalog);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
return new CatalogCollection(filteredCatalogs);
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Find catalogs that contain a specific package
|
|
124
|
-
*/
|
|
125
|
-
findCatalogsWithPackage(packageName) {
|
|
126
|
-
return this.getAll().filter((catalog) => catalog.hasDependency(packageName));
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Get all unique package names across all catalogs
|
|
130
|
-
*/
|
|
131
|
-
getAllPackageNames() {
|
|
132
|
-
const packageNames = new Set();
|
|
133
|
-
for (const catalog of this.catalogs.values()) {
|
|
134
|
-
for (const packageName of catalog.getPackageNames()) {
|
|
135
|
-
packageNames.add(packageName);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
return Array.from(packageNames);
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Validate all catalogs in the collection
|
|
142
|
-
*/
|
|
143
|
-
validate() {
|
|
144
|
-
const errors = [];
|
|
145
|
-
const warnings = [];
|
|
146
|
-
// Check for empty collection
|
|
147
|
-
if (this.isEmpty()) {
|
|
148
|
-
warnings.push('No catalogs found in workspace');
|
|
149
|
-
}
|
|
150
|
-
// Validate each catalog
|
|
151
|
-
for (const catalog of this.catalogs.values()) {
|
|
152
|
-
const result = catalog.validate();
|
|
153
|
-
errors.push(...result.getErrors().map((err) => `Catalog "${catalog.getName()}": ${err}`));
|
|
154
|
-
warnings.push(...result.getWarnings().map((warn) => `Catalog "${catalog.getName()}": ${warn}`));
|
|
155
|
-
}
|
|
156
|
-
// Check for duplicate package definitions across catalogs
|
|
157
|
-
const packageCatalogMap = new Map();
|
|
158
|
-
for (const catalog of this.catalogs.values()) {
|
|
159
|
-
for (const packageName of catalog.getPackageNames()) {
|
|
160
|
-
if (!packageCatalogMap.has(packageName)) {
|
|
161
|
-
packageCatalogMap.set(packageName, []);
|
|
162
|
-
}
|
|
163
|
-
packageCatalogMap.get(packageName).push(catalog.getName());
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
// Warn about packages defined in multiple catalogs
|
|
167
|
-
for (const [packageName, catalogNames] of packageCatalogMap) {
|
|
168
|
-
if (catalogNames.length > 1) {
|
|
169
|
-
warnings.push(`Package "${packageName}" is defined in multiple catalogs: ${catalogNames.join(', ')}`);
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
return new CatalogCollectionValidationResult(errors.length === 0, errors, warnings);
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Convert to a Map for serialization
|
|
176
|
-
*/
|
|
177
|
-
toMap() {
|
|
178
|
-
return new Map(this.catalogs);
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* Iterate over catalogs
|
|
182
|
-
*/
|
|
183
|
-
*[Symbol.iterator]() {
|
|
184
|
-
yield* this.catalogs;
|
|
185
|
-
}
|
|
186
|
-
/**
|
|
187
|
-
* Check equality with another catalog collection
|
|
188
|
-
*/
|
|
189
|
-
equals(other) {
|
|
190
|
-
if (this.size() !== other.size()) {
|
|
191
|
-
return false;
|
|
192
|
-
}
|
|
193
|
-
for (const [name, catalog] of this.catalogs) {
|
|
194
|
-
const otherCatalog = other.get(name);
|
|
195
|
-
if (!otherCatalog || !catalog.equals(otherCatalog)) {
|
|
196
|
-
return false;
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
return true;
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
/**
|
|
203
|
-
* Catalog Collection Validation Result
|
|
204
|
-
*/
|
|
205
|
-
export class CatalogCollectionValidationResult {
|
|
206
|
-
isValid;
|
|
207
|
-
errors;
|
|
208
|
-
warnings;
|
|
209
|
-
constructor(isValid, errors, warnings) {
|
|
210
|
-
this.isValid = isValid;
|
|
211
|
-
this.errors = errors;
|
|
212
|
-
this.warnings = warnings;
|
|
213
|
-
}
|
|
214
|
-
getIsValid() {
|
|
215
|
-
return this.isValid;
|
|
216
|
-
}
|
|
217
|
-
getErrors() {
|
|
218
|
-
return [...this.errors];
|
|
219
|
-
}
|
|
220
|
-
getWarnings() {
|
|
221
|
-
return [...this.warnings];
|
|
222
|
-
}
|
|
223
|
-
hasErrors() {
|
|
224
|
-
return this.errors.length > 0;
|
|
225
|
-
}
|
|
226
|
-
hasWarnings() {
|
|
227
|
-
return this.warnings.length > 0;
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
//# sourceMappingURL=CatalogCollection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CatalogCollection.js","sourceRoot":"","sources":["../../../src/domain/value-objects/CatalogCollection.ts"],"names":[],"mappings":"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"}
|