pnpm-catalog-updates 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +335 -0
- package/bin/pcu.js +15 -0
- package/dist/application/services/CatalogUpdateService.d.ts +190 -0
- package/dist/application/services/CatalogUpdateService.d.ts.map +1 -0
- package/dist/application/services/CatalogUpdateService.js +521 -0
- package/dist/application/services/CatalogUpdateService.js.map +1 -0
- package/dist/application/services/WorkspaceService.d.ts +139 -0
- package/dist/application/services/WorkspaceService.d.ts.map +1 -0
- package/dist/application/services/WorkspaceService.js +340 -0
- package/dist/application/services/WorkspaceService.js.map +1 -0
- package/dist/cli/commands/CheckCommand.d.ts +41 -0
- package/dist/cli/commands/CheckCommand.d.ts.map +1 -0
- package/dist/cli/commands/CheckCommand.js +168 -0
- package/dist/cli/commands/CheckCommand.js.map +1 -0
- package/dist/cli/commands/UpdateCommand.d.ts +69 -0
- package/dist/cli/commands/UpdateCommand.d.ts.map +1 -0
- package/dist/cli/commands/UpdateCommand.js +361 -0
- package/dist/cli/commands/UpdateCommand.js.map +1 -0
- package/dist/cli/formatters/OutputFormatter.d.ts +95 -0
- package/dist/cli/formatters/OutputFormatter.d.ts.map +1 -0
- package/dist/cli/formatters/OutputFormatter.js +437 -0
- package/dist/cli/formatters/OutputFormatter.js.map +1 -0
- package/dist/cli/index.d.ts +12 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +244 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/options/GlobalOptions.d.ts +117 -0
- package/dist/cli/options/GlobalOptions.d.ts.map +1 -0
- package/dist/cli/options/GlobalOptions.js +278 -0
- package/dist/cli/options/GlobalOptions.js.map +1 -0
- package/dist/cli/options/index.d.ts +5 -0
- package/dist/cli/options/index.d.ts.map +1 -0
- package/dist/cli/options/index.js +5 -0
- package/dist/cli/options/index.js.map +1 -0
- package/dist/cli/validators/CommandValidator.d.ts +60 -0
- package/dist/cli/validators/CommandValidator.d.ts.map +1 -0
- package/dist/cli/validators/CommandValidator.js +319 -0
- package/dist/cli/validators/CommandValidator.js.map +1 -0
- package/dist/cli/validators/index.d.ts +5 -0
- package/dist/cli/validators/index.d.ts.map +1 -0
- package/dist/cli/validators/index.js +5 -0
- package/dist/cli/validators/index.js.map +1 -0
- package/dist/common/config/Config.d.ts +142 -0
- package/dist/common/config/Config.d.ts.map +1 -0
- package/dist/common/config/Config.js +355 -0
- package/dist/common/config/Config.js.map +1 -0
- package/dist/common/config/index.d.ts +6 -0
- package/dist/common/config/index.d.ts.map +1 -0
- package/dist/common/config/index.js +6 -0
- package/dist/common/config/index.js.map +1 -0
- package/dist/common/logger/Logger.d.ts +110 -0
- package/dist/common/logger/Logger.d.ts.map +1 -0
- package/dist/common/logger/Logger.js +289 -0
- package/dist/common/logger/Logger.js.map +1 -0
- package/dist/common/logger/index.d.ts +6 -0
- package/dist/common/logger/index.d.ts.map +1 -0
- package/dist/common/logger/index.js +6 -0
- package/dist/common/logger/index.js.map +1 -0
- package/dist/common/types/cli.d.ts +265 -0
- package/dist/common/types/cli.d.ts.map +1 -0
- package/dist/common/types/cli.js +5 -0
- package/dist/common/types/cli.js.map +1 -0
- package/dist/common/types/core.d.ts +270 -0
- package/dist/common/types/core.d.ts.map +1 -0
- package/dist/common/types/core.js +32 -0
- package/dist/common/types/core.js.map +1 -0
- package/dist/common/types/index.d.ts +8 -0
- package/dist/common/types/index.d.ts.map +1 -0
- package/dist/common/types/index.js +8 -0
- package/dist/common/types/index.js.map +1 -0
- package/dist/common/utils/async.d.ts +74 -0
- package/dist/common/utils/async.d.ts.map +1 -0
- package/dist/common/utils/async.js +228 -0
- package/dist/common/utils/async.js.map +1 -0
- package/dist/common/utils/format.d.ts +32 -0
- package/dist/common/utils/format.d.ts.map +1 -0
- package/dist/common/utils/format.js +121 -0
- package/dist/common/utils/format.js.map +1 -0
- package/dist/common/utils/git.d.ts +44 -0
- package/dist/common/utils/git.d.ts.map +1 -0
- package/dist/common/utils/git.js +147 -0
- package/dist/common/utils/git.js.map +1 -0
- package/dist/common/utils/index.d.ts +11 -0
- package/dist/common/utils/index.d.ts.map +1 -0
- package/dist/common/utils/index.js +11 -0
- package/dist/common/utils/index.js.map +1 -0
- package/dist/common/utils/string.d.ts +56 -0
- package/dist/common/utils/string.d.ts.map +1 -0
- package/dist/common/utils/string.js +134 -0
- package/dist/common/utils/string.js.map +1 -0
- package/dist/common/utils/validation.d.ts +88 -0
- package/dist/common/utils/validation.d.ts.map +1 -0
- package/dist/common/utils/validation.js +281 -0
- package/dist/common/utils/validation.js.map +1 -0
- package/dist/domain/entities/Catalog.d.ts +117 -0
- package/dist/domain/entities/Catalog.d.ts.map +1 -0
- package/dist/domain/entities/Catalog.js +240 -0
- package/dist/domain/entities/Catalog.js.map +1 -0
- package/dist/domain/entities/Package.d.ts +142 -0
- package/dist/domain/entities/Package.d.ts.map +1 -0
- package/dist/domain/entities/Package.js +275 -0
- package/dist/domain/entities/Package.js.map +1 -0
- package/dist/domain/entities/Workspace.d.ts +95 -0
- package/dist/domain/entities/Workspace.d.ts.map +1 -0
- package/dist/domain/entities/Workspace.js +170 -0
- package/dist/domain/entities/Workspace.js.map +1 -0
- package/dist/domain/repositories/WorkspaceRepository.d.ts +41 -0
- package/dist/domain/repositories/WorkspaceRepository.d.ts.map +1 -0
- package/dist/domain/repositories/WorkspaceRepository.js +8 -0
- package/dist/domain/repositories/WorkspaceRepository.js.map +1 -0
- package/dist/domain/value-objects/CatalogCollection.d.ts +106 -0
- package/dist/domain/value-objects/CatalogCollection.d.ts.map +1 -0
- package/dist/domain/value-objects/CatalogCollection.js +230 -0
- package/dist/domain/value-objects/CatalogCollection.js.map +1 -0
- package/dist/domain/value-objects/PackageCollection.d.ts +122 -0
- package/dist/domain/value-objects/PackageCollection.d.ts.map +1 -0
- package/dist/domain/value-objects/PackageCollection.js +263 -0
- package/dist/domain/value-objects/PackageCollection.js.map +1 -0
- package/dist/domain/value-objects/Version.d.ts +141 -0
- package/dist/domain/value-objects/Version.d.ts.map +1 -0
- package/dist/domain/value-objects/Version.js +268 -0
- package/dist/domain/value-objects/Version.js.map +1 -0
- package/dist/domain/value-objects/WorkspaceConfig.d.ts +135 -0
- package/dist/domain/value-objects/WorkspaceConfig.d.ts.map +1 -0
- package/dist/domain/value-objects/WorkspaceConfig.js +307 -0
- package/dist/domain/value-objects/WorkspaceConfig.js.map +1 -0
- package/dist/domain/value-objects/WorkspaceId.d.ts +51 -0
- package/dist/domain/value-objects/WorkspaceId.d.ts.map +1 -0
- package/dist/domain/value-objects/WorkspaceId.js +104 -0
- package/dist/domain/value-objects/WorkspaceId.js.map +1 -0
- package/dist/domain/value-objects/WorkspacePath.d.ts +75 -0
- package/dist/domain/value-objects/WorkspacePath.d.ts.map +1 -0
- package/dist/domain/value-objects/WorkspacePath.js +128 -0
- package/dist/domain/value-objects/WorkspacePath.js.map +1 -0
- package/dist/infrastructure/cache/Cache.d.ts +161 -0
- package/dist/infrastructure/cache/Cache.d.ts.map +1 -0
- package/dist/infrastructure/cache/Cache.js +398 -0
- package/dist/infrastructure/cache/Cache.js.map +1 -0
- package/dist/infrastructure/cache/index.d.ts +6 -0
- package/dist/infrastructure/cache/index.d.ts.map +1 -0
- package/dist/infrastructure/cache/index.js +6 -0
- package/dist/infrastructure/cache/index.js.map +1 -0
- package/dist/infrastructure/external-services/NpmRegistryService.d.ts +106 -0
- package/dist/infrastructure/external-services/NpmRegistryService.d.ts.map +1 -0
- package/dist/infrastructure/external-services/NpmRegistryService.js +303 -0
- package/dist/infrastructure/external-services/NpmRegistryService.js.map +1 -0
- package/dist/infrastructure/file-system/FileSystemService.d.ts +100 -0
- package/dist/infrastructure/file-system/FileSystemService.d.ts.map +1 -0
- package/dist/infrastructure/file-system/FileSystemService.js +284 -0
- package/dist/infrastructure/file-system/FileSystemService.js.map +1 -0
- package/dist/infrastructure/repositories/FileWorkspaceRepository.d.ts +57 -0
- package/dist/infrastructure/repositories/FileWorkspaceRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/FileWorkspaceRepository.js +179 -0
- package/dist/infrastructure/repositories/FileWorkspaceRepository.js.map +1 -0
- package/package.json +125 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GlobalOptions.js","sourceRoot":"","sources":["../../../src/cli/options/GlobalOptions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/options/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/options/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI Command Validation
|
|
3
|
+
*
|
|
4
|
+
* Validates CLI command options and arguments before execution.
|
|
5
|
+
* Provides detailed error messages and suggestions.
|
|
6
|
+
*/
|
|
7
|
+
import { ValidationResult } from '../../common/utils/validation.js';
|
|
8
|
+
export interface ValidatedOptions {
|
|
9
|
+
workspace?: string;
|
|
10
|
+
catalog?: string;
|
|
11
|
+
format?: string;
|
|
12
|
+
target?: string;
|
|
13
|
+
interactive?: boolean;
|
|
14
|
+
dryRun?: boolean;
|
|
15
|
+
force?: boolean;
|
|
16
|
+
prerelease?: boolean;
|
|
17
|
+
include?: string[];
|
|
18
|
+
exclude?: string[];
|
|
19
|
+
createBackup?: boolean;
|
|
20
|
+
verbose?: boolean;
|
|
21
|
+
color?: boolean;
|
|
22
|
+
registry?: string;
|
|
23
|
+
timeout?: number;
|
|
24
|
+
}
|
|
25
|
+
export declare class CommandValidator {
|
|
26
|
+
private config;
|
|
27
|
+
/**
|
|
28
|
+
* Validate check command options
|
|
29
|
+
*/
|
|
30
|
+
validateCheckOptions(options: any): ValidationResult;
|
|
31
|
+
/**
|
|
32
|
+
* Validate update command options
|
|
33
|
+
*/
|
|
34
|
+
validateUpdateOptions(options: any): ValidationResult;
|
|
35
|
+
/**
|
|
36
|
+
* Validate analyze command arguments
|
|
37
|
+
*/
|
|
38
|
+
validateAnalyzeArgs(catalog: string, packageName: string, version?: string): ValidationResult;
|
|
39
|
+
/**
|
|
40
|
+
* Validate workspace command options
|
|
41
|
+
*/
|
|
42
|
+
validateWorkspaceOptions(options: any): ValidationResult;
|
|
43
|
+
/**
|
|
44
|
+
* Validate global options
|
|
45
|
+
*/
|
|
46
|
+
validateGlobalOptions(options: any): ValidationResult;
|
|
47
|
+
/**
|
|
48
|
+
* Validate configuration object
|
|
49
|
+
*/
|
|
50
|
+
validateConfigFile(configPath: string): ValidationResult;
|
|
51
|
+
/**
|
|
52
|
+
* Sanitize and normalize options
|
|
53
|
+
*/
|
|
54
|
+
sanitizeOptions(options: any): ValidatedOptions;
|
|
55
|
+
/**
|
|
56
|
+
* Get validation suggestions based on common mistakes
|
|
57
|
+
*/
|
|
58
|
+
getSuggestions(command: string, options: any): string[];
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=CommandValidator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommandValidator.d.ts","sourceRoot":"","sources":["../../../src/cli/validators/CommandValidator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAsB,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGxF,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAA2B;IAEzC;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,GAAG,GAAG,gBAAgB;IA8BpD;;OAEG;IACH,qBAAqB,CAAC,OAAO,EAAE,GAAG,GAAG,gBAAgB;IAyCrD;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,gBAAgB;IAsC7F;;OAEG;IACH,wBAAwB,CAAC,OAAO,EAAE,GAAG,GAAG,gBAAgB;IAsBxD;;OAEG;IACH,qBAAqB,CAAC,OAAO,EAAE,GAAG,GAAG,gBAAgB;IAgCrD;;OAEG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB;IAwExD;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,GAAG,GAAG,gBAAgB;IA0D/C;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,MAAM,EAAE;CA8CxD"}
|
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI Command Validation
|
|
3
|
+
*
|
|
4
|
+
* Validates CLI command options and arguments before execution.
|
|
5
|
+
* Provides detailed error messages and suggestions.
|
|
6
|
+
*/
|
|
7
|
+
import { validateCliOptions } from '../../common/utils/validation.js';
|
|
8
|
+
import { getConfig } from '../../common/config/Config.js';
|
|
9
|
+
export class CommandValidator {
|
|
10
|
+
config = getConfig().getConfig();
|
|
11
|
+
/**
|
|
12
|
+
* Validate check command options
|
|
13
|
+
*/
|
|
14
|
+
validateCheckOptions(options) {
|
|
15
|
+
const errors = [];
|
|
16
|
+
const warnings = [];
|
|
17
|
+
// Basic validation using utility
|
|
18
|
+
const basicValidation = validateCliOptions(options);
|
|
19
|
+
errors.push(...basicValidation.errors);
|
|
20
|
+
warnings.push(...basicValidation.warnings);
|
|
21
|
+
// Check-specific validations
|
|
22
|
+
if (options.catalog && typeof options.catalog !== 'string') {
|
|
23
|
+
errors.push('Catalog name must be a string');
|
|
24
|
+
}
|
|
25
|
+
// Validate mutually exclusive options
|
|
26
|
+
if (options.interactive && options.format === 'json') {
|
|
27
|
+
warnings.push('Interactive mode is not useful with JSON output format');
|
|
28
|
+
}
|
|
29
|
+
if (options.verbose && options.silent) {
|
|
30
|
+
errors.push('Cannot use both --verbose and --silent options');
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
isValid: errors.length === 0,
|
|
34
|
+
errors,
|
|
35
|
+
warnings,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Validate update command options
|
|
40
|
+
*/
|
|
41
|
+
validateUpdateOptions(options) {
|
|
42
|
+
const errors = [];
|
|
43
|
+
const warnings = [];
|
|
44
|
+
// Basic validation
|
|
45
|
+
const basicValidation = validateCliOptions(options);
|
|
46
|
+
errors.push(...basicValidation.errors);
|
|
47
|
+
warnings.push(...basicValidation.warnings);
|
|
48
|
+
// Update-specific validations
|
|
49
|
+
if (options.interactive && options.dryRun) {
|
|
50
|
+
errors.push('Cannot use --interactive with --dry-run');
|
|
51
|
+
}
|
|
52
|
+
if (options.force && !options.dryRun && !options.createBackup) {
|
|
53
|
+
warnings.push('Using --force without backup. Consider using --create-backup for safety');
|
|
54
|
+
}
|
|
55
|
+
if (options.target === 'major' && !options.force && !options.interactive) {
|
|
56
|
+
warnings.push('Major updates may contain breaking changes. Consider using --interactive or --force');
|
|
57
|
+
}
|
|
58
|
+
// Validate include/exclude patterns
|
|
59
|
+
if (options.include && options.exclude) {
|
|
60
|
+
const overlapping = options.include.some((inc) => options.exclude.some((exc) => inc === exc));
|
|
61
|
+
if (overlapping) {
|
|
62
|
+
warnings.push('Some patterns appear in both include and exclude lists');
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
isValid: errors.length === 0,
|
|
67
|
+
errors,
|
|
68
|
+
warnings,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Validate analyze command arguments
|
|
73
|
+
*/
|
|
74
|
+
validateAnalyzeArgs(catalog, packageName, version) {
|
|
75
|
+
const errors = [];
|
|
76
|
+
const warnings = [];
|
|
77
|
+
// Validate catalog name
|
|
78
|
+
if (!catalog || catalog.trim() === '') {
|
|
79
|
+
errors.push('Catalog name is required');
|
|
80
|
+
}
|
|
81
|
+
else if (catalog.includes('/') || catalog.includes('\\')) {
|
|
82
|
+
errors.push('Catalog name cannot contain path separators');
|
|
83
|
+
}
|
|
84
|
+
// Validate package name
|
|
85
|
+
if (!packageName || packageName.trim() === '') {
|
|
86
|
+
errors.push('Package name is required');
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
// Basic package name validation
|
|
90
|
+
const packageNameRegex = /^(?:@[a-z0-9-*~][a-z0-9-*._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/;
|
|
91
|
+
if (!packageNameRegex.test(packageName)) {
|
|
92
|
+
errors.push('Invalid package name format');
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
// Validate version if provided
|
|
96
|
+
if (version) {
|
|
97
|
+
const semverRegex = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;
|
|
98
|
+
if (!semverRegex.test(version)) {
|
|
99
|
+
errors.push('Invalid version format. Use semantic versioning (e.g., 1.2.3)');
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return {
|
|
103
|
+
isValid: errors.length === 0,
|
|
104
|
+
errors,
|
|
105
|
+
warnings,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Validate workspace command options
|
|
110
|
+
*/
|
|
111
|
+
validateWorkspaceOptions(options) {
|
|
112
|
+
const errors = [];
|
|
113
|
+
const warnings = [];
|
|
114
|
+
// Basic validation
|
|
115
|
+
const basicValidation = validateCliOptions(options);
|
|
116
|
+
errors.push(...basicValidation.errors);
|
|
117
|
+
warnings.push(...basicValidation.warnings);
|
|
118
|
+
// Workspace-specific validations
|
|
119
|
+
const actionCount = [options.validate, options.stats, options.info].filter(Boolean).length;
|
|
120
|
+
if (actionCount > 1) {
|
|
121
|
+
errors.push('Cannot use multiple workspace actions simultaneously');
|
|
122
|
+
}
|
|
123
|
+
return {
|
|
124
|
+
isValid: errors.length === 0,
|
|
125
|
+
errors,
|
|
126
|
+
warnings,
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Validate global options
|
|
131
|
+
*/
|
|
132
|
+
validateGlobalOptions(options) {
|
|
133
|
+
const errors = [];
|
|
134
|
+
const warnings = [];
|
|
135
|
+
// Validate workspace path
|
|
136
|
+
if (options.workspace) {
|
|
137
|
+
// Future: Add path validation logic here
|
|
138
|
+
// Currently skipped to avoid TypeScript errors
|
|
139
|
+
}
|
|
140
|
+
// Validate color options
|
|
141
|
+
if (options.noColor && options.color) {
|
|
142
|
+
errors.push('Cannot use both --color and --no-color');
|
|
143
|
+
}
|
|
144
|
+
// Check for deprecated options (future-proofing)
|
|
145
|
+
const deprecatedOptions = ['silent']; // Example
|
|
146
|
+
for (const deprecated of deprecatedOptions) {
|
|
147
|
+
if (options[deprecated]) {
|
|
148
|
+
warnings.push(`Option --${deprecated} is deprecated and will be removed in future versions`);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
return {
|
|
152
|
+
isValid: errors.length === 0,
|
|
153
|
+
errors,
|
|
154
|
+
warnings,
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Validate configuration object
|
|
159
|
+
*/
|
|
160
|
+
validateConfigFile(configPath) {
|
|
161
|
+
const errors = [];
|
|
162
|
+
const warnings = [];
|
|
163
|
+
try {
|
|
164
|
+
const fs = require('fs');
|
|
165
|
+
// const path = require('path'); // Reserved for future use
|
|
166
|
+
if (!fs.existsSync(configPath)) {
|
|
167
|
+
errors.push(`Configuration file not found: ${configPath}`);
|
|
168
|
+
return { isValid: false, errors, warnings };
|
|
169
|
+
}
|
|
170
|
+
let config;
|
|
171
|
+
if (configPath.endsWith('.js')) {
|
|
172
|
+
// JavaScript config file
|
|
173
|
+
try {
|
|
174
|
+
delete require.cache[require.resolve(configPath)];
|
|
175
|
+
config = require(configPath);
|
|
176
|
+
}
|
|
177
|
+
catch (error) {
|
|
178
|
+
errors.push(`Failed to load JavaScript config: ${error}`);
|
|
179
|
+
return { isValid: false, errors, warnings };
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
// JSON config file
|
|
184
|
+
try {
|
|
185
|
+
const content = fs.readFileSync(configPath, 'utf-8');
|
|
186
|
+
config = JSON.parse(content);
|
|
187
|
+
}
|
|
188
|
+
catch (error) {
|
|
189
|
+
errors.push(`Failed to parse JSON config: ${error}`);
|
|
190
|
+
return { isValid: false, errors, warnings };
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
// Validate config structure
|
|
194
|
+
if (typeof config !== 'object' || config === null) {
|
|
195
|
+
errors.push('Configuration must be an object');
|
|
196
|
+
return { isValid: false, errors, warnings };
|
|
197
|
+
}
|
|
198
|
+
// Validate known configuration sections
|
|
199
|
+
if (config.registry && typeof config.registry !== 'object') {
|
|
200
|
+
errors.push('registry configuration must be an object');
|
|
201
|
+
}
|
|
202
|
+
if (config.update && typeof config.update !== 'object') {
|
|
203
|
+
errors.push('update configuration must be an object');
|
|
204
|
+
}
|
|
205
|
+
if (config.output && typeof config.output !== 'object') {
|
|
206
|
+
errors.push('output configuration must be an object');
|
|
207
|
+
}
|
|
208
|
+
// Check for unknown top-level keys
|
|
209
|
+
const knownKeys = ['registry', 'update', 'output', 'workspace', 'notification', 'logging'];
|
|
210
|
+
const unknownKeys = Object.keys(config).filter((key) => !knownKeys.includes(key));
|
|
211
|
+
if (unknownKeys.length > 0) {
|
|
212
|
+
warnings.push(`Unknown configuration keys: ${unknownKeys.join(', ')}`);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
catch (error) {
|
|
216
|
+
errors.push(`Failed to validate configuration file: ${error}`);
|
|
217
|
+
}
|
|
218
|
+
return {
|
|
219
|
+
isValid: errors.length === 0,
|
|
220
|
+
errors,
|
|
221
|
+
warnings,
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Sanitize and normalize options
|
|
226
|
+
*/
|
|
227
|
+
sanitizeOptions(options) {
|
|
228
|
+
const sanitized = {};
|
|
229
|
+
// String options
|
|
230
|
+
if (options.workspace) {
|
|
231
|
+
sanitized.workspace = String(options.workspace).trim();
|
|
232
|
+
}
|
|
233
|
+
if (options.catalog) {
|
|
234
|
+
sanitized.catalog = String(options.catalog).trim();
|
|
235
|
+
}
|
|
236
|
+
if (options.format) {
|
|
237
|
+
sanitized.format = String(options.format).toLowerCase().trim();
|
|
238
|
+
}
|
|
239
|
+
if (options.target) {
|
|
240
|
+
sanitized.target = String(options.target).toLowerCase().trim();
|
|
241
|
+
}
|
|
242
|
+
if (options.registry) {
|
|
243
|
+
sanitized.registry = String(options.registry).trim();
|
|
244
|
+
}
|
|
245
|
+
// Boolean options
|
|
246
|
+
sanitized.interactive = Boolean(options.interactive);
|
|
247
|
+
sanitized.dryRun = Boolean(options.dryRun);
|
|
248
|
+
sanitized.force = Boolean(options.force);
|
|
249
|
+
sanitized.prerelease = Boolean(options.prerelease);
|
|
250
|
+
sanitized.createBackup = Boolean(options.createBackup);
|
|
251
|
+
sanitized.verbose = Boolean(options.verbose);
|
|
252
|
+
// Handle color option (tri-state: true, false, or undefined)
|
|
253
|
+
if (options.color !== undefined) {
|
|
254
|
+
sanitized.color = Boolean(options.color);
|
|
255
|
+
}
|
|
256
|
+
else if (options.noColor) {
|
|
257
|
+
sanitized.color = false;
|
|
258
|
+
}
|
|
259
|
+
// Number options
|
|
260
|
+
if (options.timeout) {
|
|
261
|
+
const timeout = parseInt(String(options.timeout), 10);
|
|
262
|
+
if (!isNaN(timeout) && timeout > 0) {
|
|
263
|
+
sanitized.timeout = timeout;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
// Array options
|
|
267
|
+
if (options.include) {
|
|
268
|
+
sanitized.include = Array.isArray(options.include)
|
|
269
|
+
? options.include.map((p) => String(p).trim()).filter(Boolean)
|
|
270
|
+
: [String(options.include).trim()].filter(Boolean);
|
|
271
|
+
}
|
|
272
|
+
if (options.exclude) {
|
|
273
|
+
sanitized.exclude = Array.isArray(options.exclude)
|
|
274
|
+
? options.exclude.map((p) => String(p).trim()).filter(Boolean)
|
|
275
|
+
: [String(options.exclude).trim()].filter(Boolean);
|
|
276
|
+
}
|
|
277
|
+
return sanitized;
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Get validation suggestions based on common mistakes
|
|
281
|
+
*/
|
|
282
|
+
getSuggestions(command, options) {
|
|
283
|
+
const suggestions = [];
|
|
284
|
+
switch (command) {
|
|
285
|
+
case 'check':
|
|
286
|
+
if (!options.workspace) {
|
|
287
|
+
suggestions.push('Consider specifying --workspace for non-standard directory structures');
|
|
288
|
+
}
|
|
289
|
+
if (options.format === 'json' && options.verbose) {
|
|
290
|
+
suggestions.push('JSON output already includes detailed info, --verbose may be redundant');
|
|
291
|
+
}
|
|
292
|
+
break;
|
|
293
|
+
case 'update':
|
|
294
|
+
if (!options.dryRun && !options.createBackup && !options.force) {
|
|
295
|
+
suggestions.push('Consider using --dry-run first to preview changes');
|
|
296
|
+
}
|
|
297
|
+
if (options.target === 'greatest' && !options.prerelease) {
|
|
298
|
+
suggestions.push('Add --prerelease to include pre-release versions with greatest target');
|
|
299
|
+
}
|
|
300
|
+
break;
|
|
301
|
+
case 'analyze':
|
|
302
|
+
if (!options.format) {
|
|
303
|
+
suggestions.push('Use --format json for programmatic consumption of analysis data');
|
|
304
|
+
}
|
|
305
|
+
break;
|
|
306
|
+
case 'workspace':
|
|
307
|
+
if (!options.validate && !options.stats) {
|
|
308
|
+
suggestions.push('Use --validate to check workspace integrity or --stats for detailed information');
|
|
309
|
+
}
|
|
310
|
+
break;
|
|
311
|
+
}
|
|
312
|
+
// General suggestions
|
|
313
|
+
if (this.config.output.verbose && !options.verbose) {
|
|
314
|
+
suggestions.push('Global verbose mode is enabled in config');
|
|
315
|
+
}
|
|
316
|
+
return suggestions;
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
//# sourceMappingURL=CommandValidator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommandValidator.js","sourceRoot":"","sources":["../../../src/cli/validators/CommandValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/validators/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/validators/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration System
|
|
3
|
+
*
|
|
4
|
+
* Handles application configuration from multiple sources:
|
|
5
|
+
* - CLI arguments
|
|
6
|
+
* - Configuration files (.pcurc, pcu.config.js)
|
|
7
|
+
* - Environment variables
|
|
8
|
+
* - Default values
|
|
9
|
+
*/
|
|
10
|
+
export interface PcuConfig {
|
|
11
|
+
registry: {
|
|
12
|
+
url: string;
|
|
13
|
+
timeout: number;
|
|
14
|
+
retries: number;
|
|
15
|
+
cache: boolean;
|
|
16
|
+
cacheTtl: number;
|
|
17
|
+
};
|
|
18
|
+
update: {
|
|
19
|
+
target: 'latest' | 'greatest' | 'minor' | 'patch' | 'newest';
|
|
20
|
+
includePrerelease: boolean;
|
|
21
|
+
interactive: boolean;
|
|
22
|
+
createBackup: boolean;
|
|
23
|
+
force: boolean;
|
|
24
|
+
};
|
|
25
|
+
output: {
|
|
26
|
+
format: 'table' | 'json' | 'yaml' | 'minimal';
|
|
27
|
+
color: boolean;
|
|
28
|
+
verbose: boolean;
|
|
29
|
+
silent: boolean;
|
|
30
|
+
};
|
|
31
|
+
workspace: {
|
|
32
|
+
autoDetect: boolean;
|
|
33
|
+
patterns: string[];
|
|
34
|
+
excludePatterns: string[];
|
|
35
|
+
};
|
|
36
|
+
notification: {
|
|
37
|
+
enabled: boolean;
|
|
38
|
+
onSuccess: boolean;
|
|
39
|
+
onError: boolean;
|
|
40
|
+
methods: Array<'console' | 'desktop' | 'webhook'>;
|
|
41
|
+
webhook?: {
|
|
42
|
+
url: string;
|
|
43
|
+
method: 'POST' | 'PUT';
|
|
44
|
+
headers: Record<string, string>;
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
logging: {
|
|
48
|
+
level: 'error' | 'warn' | 'info' | 'debug';
|
|
49
|
+
file?: string;
|
|
50
|
+
maxSize: string;
|
|
51
|
+
maxFiles: number;
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
export declare const DEFAULT_CONFIG: PcuConfig;
|
|
55
|
+
export declare class ConfigManager {
|
|
56
|
+
private config;
|
|
57
|
+
private configPath?;
|
|
58
|
+
constructor();
|
|
59
|
+
/**
|
|
60
|
+
* Get the current configuration
|
|
61
|
+
*/
|
|
62
|
+
getConfig(): Readonly<PcuConfig>;
|
|
63
|
+
/**
|
|
64
|
+
* Get a specific configuration value using dot notation
|
|
65
|
+
*/
|
|
66
|
+
get<T = any>(path: string): T;
|
|
67
|
+
/**
|
|
68
|
+
* Set a configuration value using dot notation
|
|
69
|
+
*/
|
|
70
|
+
set(path: string, value: any): void;
|
|
71
|
+
/**
|
|
72
|
+
* Merge configuration from CLI options
|
|
73
|
+
*/
|
|
74
|
+
mergeCliOptions(options: Partial<{
|
|
75
|
+
registry: string;
|
|
76
|
+
timeout: number;
|
|
77
|
+
target: string;
|
|
78
|
+
prerelease: boolean;
|
|
79
|
+
interactive: boolean;
|
|
80
|
+
dryRun: boolean;
|
|
81
|
+
force: boolean;
|
|
82
|
+
format: string;
|
|
83
|
+
color: boolean;
|
|
84
|
+
verbose: boolean;
|
|
85
|
+
silent: boolean;
|
|
86
|
+
workspace: string;
|
|
87
|
+
include: string[];
|
|
88
|
+
exclude: string[];
|
|
89
|
+
}>): void;
|
|
90
|
+
/**
|
|
91
|
+
* Load configuration from files and environment
|
|
92
|
+
*/
|
|
93
|
+
private loadConfig;
|
|
94
|
+
/**
|
|
95
|
+
* Find configuration file
|
|
96
|
+
*/
|
|
97
|
+
private findConfigFile;
|
|
98
|
+
/**
|
|
99
|
+
* Load configuration from file
|
|
100
|
+
*/
|
|
101
|
+
private loadFromFile;
|
|
102
|
+
/**
|
|
103
|
+
* Load configuration from environment variables
|
|
104
|
+
*/
|
|
105
|
+
private loadFromEnvironment;
|
|
106
|
+
/**
|
|
107
|
+
* Get nested value using dot notation
|
|
108
|
+
*/
|
|
109
|
+
private getNestedValue;
|
|
110
|
+
/**
|
|
111
|
+
* Set nested value using dot notation
|
|
112
|
+
*/
|
|
113
|
+
private setNestedValue;
|
|
114
|
+
/**
|
|
115
|
+
* Deep merge two objects
|
|
116
|
+
*/
|
|
117
|
+
private deepMerge;
|
|
118
|
+
/**
|
|
119
|
+
* Get configuration file path
|
|
120
|
+
*/
|
|
121
|
+
getConfigPath(): string | undefined;
|
|
122
|
+
/**
|
|
123
|
+
* Validate configuration
|
|
124
|
+
*/
|
|
125
|
+
validate(): {
|
|
126
|
+
isValid: boolean;
|
|
127
|
+
errors: string[];
|
|
128
|
+
};
|
|
129
|
+
/**
|
|
130
|
+
* Export current configuration to file
|
|
131
|
+
*/
|
|
132
|
+
exportConfig(filePath: string, format?: 'json' | 'js'): Promise<void>;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Get the global configuration instance
|
|
136
|
+
*/
|
|
137
|
+
export declare function getConfig(): ConfigManager;
|
|
138
|
+
/**
|
|
139
|
+
* Reset the global configuration instance (useful for testing)
|
|
140
|
+
*/
|
|
141
|
+
export declare function resetConfig(): void;
|
|
142
|
+
//# sourceMappingURL=Config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../../src/common/config/Config.ts"],"names":[],"mappings":"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"}
|