@angular/cli 20.3.27 → 20.3.28
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular/cli",
|
|
3
|
-
"version": "20.3.
|
|
3
|
+
"version": "20.3.28",
|
|
4
4
|
"description": "CLI tool for Angular",
|
|
5
5
|
"main": "lib/cli/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -25,13 +25,13 @@
|
|
|
25
25
|
},
|
|
26
26
|
"homepage": "https://github.com/angular/angular-cli",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@angular-devkit/architect": "0.2003.
|
|
29
|
-
"@angular-devkit/core": "20.3.
|
|
30
|
-
"@angular-devkit/schematics": "20.3.
|
|
28
|
+
"@angular-devkit/architect": "0.2003.28",
|
|
29
|
+
"@angular-devkit/core": "20.3.28",
|
|
30
|
+
"@angular-devkit/schematics": "20.3.28",
|
|
31
31
|
"@inquirer/prompts": "7.8.2",
|
|
32
32
|
"@listr2/prompt-adapter-inquirer": "3.0.1",
|
|
33
33
|
"@modelcontextprotocol/sdk": "1.26.0",
|
|
34
|
-
"@schematics/angular": "20.3.
|
|
34
|
+
"@schematics/angular": "20.3.28",
|
|
35
35
|
"@yarnpkg/lockfile": "1.1.0",
|
|
36
36
|
"algoliasearch": "5.35.0",
|
|
37
37
|
"ini": "5.0.0",
|
|
@@ -47,14 +47,14 @@
|
|
|
47
47
|
"ng-update": {
|
|
48
48
|
"migrations": "@schematics/angular/migrations/migration-collection.json",
|
|
49
49
|
"packageGroup": {
|
|
50
|
-
"@angular/cli": "20.3.
|
|
51
|
-
"@angular/build": "20.3.
|
|
52
|
-
"@angular/ssr": "20.3.
|
|
53
|
-
"@angular-devkit/architect": "0.2003.
|
|
54
|
-
"@angular-devkit/build-angular": "20.3.
|
|
55
|
-
"@angular-devkit/build-webpack": "0.2003.
|
|
56
|
-
"@angular-devkit/core": "20.3.
|
|
57
|
-
"@angular-devkit/schematics": "20.3.
|
|
50
|
+
"@angular/cli": "20.3.28",
|
|
51
|
+
"@angular/build": "20.3.28",
|
|
52
|
+
"@angular/ssr": "20.3.28",
|
|
53
|
+
"@angular-devkit/architect": "0.2003.28",
|
|
54
|
+
"@angular-devkit/build-angular": "20.3.28",
|
|
55
|
+
"@angular-devkit/build-webpack": "0.2003.28",
|
|
56
|
+
"@angular-devkit/core": "20.3.28",
|
|
57
|
+
"@angular-devkit/schematics": "20.3.28"
|
|
58
58
|
}
|
|
59
59
|
},
|
|
60
60
|
"packageManager": "pnpm@10.19.0",
|
|
@@ -495,25 +495,24 @@ class UpdateCommandModule extends command_module_1.CommandModule {
|
|
|
495
495
|
case 'version':
|
|
496
496
|
manifest = metadata.versions[requestIdentifier.fetchSpec];
|
|
497
497
|
break;
|
|
498
|
-
case 'range':
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
// Update the used manifest if current potential is newer than existing or there is not one yet
|
|
511
|
-
if (!manifest ||
|
|
512
|
-
semver.gt(potentialManifest.version, manifest.version, { loose: true })) {
|
|
513
|
-
manifest = potentialManifest;
|
|
498
|
+
case 'range': {
|
|
499
|
+
const potentialManifests = Object.values(metadata.versions).filter((potentialManifest) => semver.satisfies(potentialManifest.version, requestIdentifier.fetchSpec, {
|
|
500
|
+
loose: true,
|
|
501
|
+
}));
|
|
502
|
+
const nonDeprecated = potentialManifests.filter((m) => !m.deprecated);
|
|
503
|
+
const deprecated = potentialManifests.filter((m) => !!m.deprecated);
|
|
504
|
+
const selectLatest = (manifests) => {
|
|
505
|
+
let max;
|
|
506
|
+
for (const m of manifests) {
|
|
507
|
+
if (!max || semver.gt(m.version, max.version, { loose: true })) {
|
|
508
|
+
max = m;
|
|
509
|
+
}
|
|
514
510
|
}
|
|
515
|
-
|
|
511
|
+
return max;
|
|
512
|
+
};
|
|
513
|
+
manifest = selectLatest(nonDeprecated) ?? selectLatest(deprecated);
|
|
516
514
|
break;
|
|
515
|
+
}
|
|
517
516
|
}
|
|
518
517
|
if (!manifest) {
|
|
519
518
|
logger.error(`Package specified by '${requestIdentifier.raw}' does not exist within the registry.`);
|
|
@@ -541,7 +541,7 @@ function _addPackageGroup(tree, packages, allDependencies, npmPackageJson, logge
|
|
|
541
541
|
let packageGroupNormalized = {};
|
|
542
542
|
if (Array.isArray(packageGroup) && !packageGroup.some((x) => typeof x != 'string')) {
|
|
543
543
|
packageGroupNormalized = packageGroup.reduce((acc, curr) => {
|
|
544
|
-
acc[curr] =
|
|
544
|
+
acc[curr] = version;
|
|
545
545
|
return acc;
|
|
546
546
|
}, {});
|
|
547
547
|
}
|
|
@@ -143,19 +143,6 @@ function normalizeOptions(rawOptions, location = process.cwd(), existingNormaliz
|
|
|
143
143
|
substitutedValue = value.replace(/\$\{([^}]+)\}/, (_, name) => process.env[name] || '');
|
|
144
144
|
}
|
|
145
145
|
switch (key) {
|
|
146
|
-
// Unless auth options are scope with the registry url it appears that npm-registry-fetch ignores them,
|
|
147
|
-
// even though they are documented.
|
|
148
|
-
// https://github.com/npm/npm-registry-fetch/blob/8954f61d8d703e5eb7f3d93c9b40488f8b1b62ac/README.md
|
|
149
|
-
// https://github.com/npm/npm-registry-fetch/blob/8954f61d8d703e5eb7f3d93c9b40488f8b1b62ac/auth.js#L45-L91
|
|
150
|
-
case '_authToken':
|
|
151
|
-
case 'token':
|
|
152
|
-
case 'username':
|
|
153
|
-
case 'password':
|
|
154
|
-
case '_auth':
|
|
155
|
-
case 'auth':
|
|
156
|
-
options['forceAuth'] ??= {};
|
|
157
|
-
options['forceAuth'][key] = substitutedValue;
|
|
158
|
-
break;
|
|
159
146
|
case 'noproxy':
|
|
160
147
|
case 'no-proxy':
|
|
161
148
|
options['noProxy'] = substitutedValue;
|
package/src/utilities/version.js
CHANGED