@angular/cli 17.2.0-next.0 → 17.2.0-rc.0
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/lib/config/schema.json +39 -3
- package/lib/config/workspace-schema.d.ts +1 -0
- package/lib/config/workspace-schema.js +1 -0
- package/package.json +14 -14
- package/src/commands/deploy/cli.js +2 -6
- package/src/commands/update/schematic/schema.d.ts +1 -0
- package/src/commands/update/schematic/schema.js +1 -0
- package/src/commands/update/schematic/schema.json +1 -1
- package/src/utilities/package-manager.js +23 -3
- package/src/utilities/version.js +1 -1
package/lib/config/schema.json
CHANGED
|
@@ -53,7 +53,8 @@
|
|
|
53
53
|
"npm",
|
|
54
54
|
"cnpm",
|
|
55
55
|
"yarn",
|
|
56
|
-
"pnpm"
|
|
56
|
+
"pnpm",
|
|
57
|
+
"bun"
|
|
57
58
|
]
|
|
58
59
|
},
|
|
59
60
|
"warnings": {
|
|
@@ -119,7 +120,8 @@
|
|
|
119
120
|
"npm",
|
|
120
121
|
"cnpm",
|
|
121
122
|
"yarn",
|
|
122
|
-
"pnpm"
|
|
123
|
+
"pnpm",
|
|
124
|
+
"bun"
|
|
123
125
|
]
|
|
124
126
|
},
|
|
125
127
|
"warnings": {
|
|
@@ -1574,7 +1576,8 @@
|
|
|
1574
1576
|
"npm",
|
|
1575
1577
|
"yarn",
|
|
1576
1578
|
"pnpm",
|
|
1577
|
-
"cnpm"
|
|
1579
|
+
"cnpm",
|
|
1580
|
+
"bun"
|
|
1578
1581
|
]
|
|
1579
1582
|
},
|
|
1580
1583
|
"standalone": {
|
|
@@ -1850,6 +1853,11 @@
|
|
|
1850
1853
|
},
|
|
1851
1854
|
"default": []
|
|
1852
1855
|
},
|
|
1856
|
+
"clearScreen": {
|
|
1857
|
+
"type": "boolean",
|
|
1858
|
+
"default": false,
|
|
1859
|
+
"description": "Automatically clear the terminal screen during rebuilds."
|
|
1860
|
+
},
|
|
1853
1861
|
"optimization": {
|
|
1854
1862
|
"description": "Enables optimization of the build output. Including minification of scripts and styles, tree-shaking, dead-code elimination, inlining of critical CSS and fonts inlining. For more information, see https://angular.io/guide/workspace-config#optimization-configuration.",
|
|
1855
1863
|
"default": true,
|
|
@@ -1934,6 +1942,13 @@
|
|
|
1934
1942
|
}
|
|
1935
1943
|
}
|
|
1936
1944
|
},
|
|
1945
|
+
"define": {
|
|
1946
|
+
"description": "Defines global identifiers that will be replaced with a specified constant value when found in any JavaScript or TypeScript code including libraries. The value will be used directly. String values must be put in quotes. Identifiers within Angular metadata such as Component Decorators will not be replaced.",
|
|
1947
|
+
"type": "object",
|
|
1948
|
+
"additionalProperties": {
|
|
1949
|
+
"type": "string"
|
|
1950
|
+
}
|
|
1951
|
+
},
|
|
1937
1952
|
"fileReplacements": {
|
|
1938
1953
|
"description": "Replace compilation source files with other compilation source files in the build.",
|
|
1939
1954
|
"type": "array",
|
|
@@ -3627,6 +3642,27 @@
|
|
|
3627
3642
|
"type": "boolean",
|
|
3628
3643
|
"description": "Force the development server to use the 'browser-esbuild' builder when building. This is a developer preview option for the esbuild-based build system.",
|
|
3629
3644
|
"default": false
|
|
3645
|
+
},
|
|
3646
|
+
"prebundle": {
|
|
3647
|
+
"description": "Enable and control the Vite-based development server's prebundling capabilities. To enable prebundling, the Angular CLI cache must also be enabled. This option has no effect when using the 'browser' or other Webpack-based builders.",
|
|
3648
|
+
"oneOf": [
|
|
3649
|
+
{
|
|
3650
|
+
"type": "boolean"
|
|
3651
|
+
},
|
|
3652
|
+
{
|
|
3653
|
+
"type": "object",
|
|
3654
|
+
"properties": {
|
|
3655
|
+
"exclude": {
|
|
3656
|
+
"description": "List of package imports that should not be prebundled by the development server. The packages will be bundled into the application code itself.",
|
|
3657
|
+
"type": "array",
|
|
3658
|
+
"items": {
|
|
3659
|
+
"type": "string"
|
|
3660
|
+
}
|
|
3661
|
+
}
|
|
3662
|
+
},
|
|
3663
|
+
"additionalProperties": false
|
|
3664
|
+
}
|
|
3665
|
+
]
|
|
3630
3666
|
}
|
|
3631
3667
|
},
|
|
3632
3668
|
"additionalProperties": false,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular/cli",
|
|
3
|
-
"version": "17.2.0-
|
|
3
|
+
"version": "17.2.0-rc.0",
|
|
4
4
|
"description": "CLI tool for Angular",
|
|
5
5
|
"main": "lib/cli/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -25,14 +25,14 @@
|
|
|
25
25
|
},
|
|
26
26
|
"homepage": "https://github.com/angular/angular-cli",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@angular-devkit/architect": "0.1702.0-
|
|
29
|
-
"@angular-devkit/core": "17.2.0-
|
|
30
|
-
"@angular-devkit/schematics": "17.2.0-
|
|
31
|
-
"@schematics/angular": "17.2.0-
|
|
28
|
+
"@angular-devkit/architect": "0.1702.0-rc.0",
|
|
29
|
+
"@angular-devkit/core": "17.2.0-rc.0",
|
|
30
|
+
"@angular-devkit/schematics": "17.2.0-rc.0",
|
|
31
|
+
"@schematics/angular": "17.2.0-rc.0",
|
|
32
32
|
"@yarnpkg/lockfile": "1.1.0",
|
|
33
33
|
"ansi-colors": "4.1.3",
|
|
34
34
|
"ini": "4.1.1",
|
|
35
|
-
"inquirer": "9.2.
|
|
35
|
+
"inquirer": "9.2.14",
|
|
36
36
|
"jsonc-parser": "3.2.1",
|
|
37
37
|
"npm-package-arg": "11.0.1",
|
|
38
38
|
"npm-pick-manifest": "9.0.0",
|
|
@@ -40,20 +40,20 @@
|
|
|
40
40
|
"ora": "5.4.1",
|
|
41
41
|
"pacote": "17.0.6",
|
|
42
42
|
"resolve": "1.22.8",
|
|
43
|
-
"semver": "7.
|
|
43
|
+
"semver": "7.6.0",
|
|
44
44
|
"symbol-observable": "4.0.0",
|
|
45
45
|
"yargs": "17.7.2"
|
|
46
46
|
},
|
|
47
47
|
"ng-update": {
|
|
48
48
|
"migrations": "@schematics/angular/migrations/migration-collection.json",
|
|
49
49
|
"packageGroup": {
|
|
50
|
-
"@angular/cli": "17.2.0-
|
|
51
|
-
"@angular/ssr": "17.2.0-
|
|
52
|
-
"@angular-devkit/architect": "0.1702.0-
|
|
53
|
-
"@angular-devkit/build-angular": "17.2.0-
|
|
54
|
-
"@angular-devkit/build-webpack": "0.1702.0-
|
|
55
|
-
"@angular-devkit/core": "17.2.0-
|
|
56
|
-
"@angular-devkit/schematics": "17.2.0-
|
|
50
|
+
"@angular/cli": "17.2.0-rc.0",
|
|
51
|
+
"@angular/ssr": "17.2.0-rc.0",
|
|
52
|
+
"@angular-devkit/architect": "0.1702.0-rc.0",
|
|
53
|
+
"@angular-devkit/build-angular": "17.2.0-rc.0",
|
|
54
|
+
"@angular-devkit/build-webpack": "0.1702.0-rc.0",
|
|
55
|
+
"@angular-devkit/core": "17.2.0-rc.0",
|
|
56
|
+
"@angular-devkit/schematics": "17.2.0-rc.0"
|
|
57
57
|
}
|
|
58
58
|
},
|
|
59
59
|
"engines": {
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* found in the LICENSE file at https://angular.io/license
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
const
|
|
10
|
+
const node_path_1 = require("node:path");
|
|
11
11
|
const architect_command_module_1 = require("../../command-builder/architect-command-module");
|
|
12
12
|
class DeployCommandModule extends architect_command_module_1.ArchitectCommandModule {
|
|
13
13
|
// The below choices should be kept in sync with the list in https://angular.io/guide/deployment
|
|
@@ -24,10 +24,6 @@ class DeployCommandModule extends architect_command_module_1.ArchitectCommandMod
|
|
|
24
24
|
name: 'Netlify',
|
|
25
25
|
value: '@netlify-builder/deploy',
|
|
26
26
|
},
|
|
27
|
-
{
|
|
28
|
-
name: 'NPM',
|
|
29
|
-
value: 'ngx-deploy-npm',
|
|
30
|
-
},
|
|
31
27
|
{
|
|
32
28
|
name: 'GitHub Pages',
|
|
33
29
|
value: 'angular-cli-ghpages',
|
|
@@ -35,7 +31,7 @@ class DeployCommandModule extends architect_command_module_1.ArchitectCommandMod
|
|
|
35
31
|
];
|
|
36
32
|
multiTarget = false;
|
|
37
33
|
command = 'deploy [project]';
|
|
38
|
-
longDescriptionPath = (0,
|
|
34
|
+
longDescriptionPath = (0, node_path_1.join)(__dirname, 'long-description.md');
|
|
39
35
|
describe = 'Invokes the deploy builder for a specified project or for the default project in the workspace.';
|
|
40
36
|
}
|
|
41
37
|
exports.default = DeployCommandModule;
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"description": "The preferred package manager configuration files to use for registry settings.",
|
|
58
58
|
"type": "string",
|
|
59
59
|
"default": "npm",
|
|
60
|
-
"enum": ["npm", "yarn", "cnpm", "pnpm"]
|
|
60
|
+
"enum": ["npm", "yarn", "cnpm", "pnpm", "bun"]
|
|
61
61
|
}
|
|
62
62
|
},
|
|
63
63
|
"required": []
|
|
@@ -113,6 +113,14 @@ class PackageManagerUtils {
|
|
|
113
113
|
prefix: '--prefix',
|
|
114
114
|
noLockfile: '--no-lockfile',
|
|
115
115
|
};
|
|
116
|
+
case workspace_schema_1.PackageManager.Bun:
|
|
117
|
+
return {
|
|
118
|
+
saveDev: '--development',
|
|
119
|
+
install: 'add',
|
|
120
|
+
installAll: 'install',
|
|
121
|
+
prefix: '--cwd',
|
|
122
|
+
noLockfile: '',
|
|
123
|
+
};
|
|
116
124
|
default:
|
|
117
125
|
return {
|
|
118
126
|
saveDev: '--save-dev',
|
|
@@ -175,12 +183,13 @@ class PackageManagerUtils {
|
|
|
175
183
|
const hasNpmLock = this.hasLockfile(workspace_schema_1.PackageManager.Npm);
|
|
176
184
|
const hasYarnLock = this.hasLockfile(workspace_schema_1.PackageManager.Yarn);
|
|
177
185
|
const hasPnpmLock = this.hasLockfile(workspace_schema_1.PackageManager.Pnpm);
|
|
186
|
+
const hasBunLock = this.hasLockfile(workspace_schema_1.PackageManager.Bun);
|
|
178
187
|
// PERF NOTE: `this.getVersion` spawns the package a the child_process which can take around ~300ms at times.
|
|
179
188
|
// Therefore, we should only call this method when needed. IE: don't call `this.getVersion(PackageManager.Pnpm)` unless truly needed.
|
|
180
189
|
// The result of this method is not stored in a variable because it's memoized.
|
|
181
190
|
if (hasNpmLock) {
|
|
182
191
|
// Has NPM lock file.
|
|
183
|
-
if (!hasYarnLock && !hasPnpmLock && this.getVersion(workspace_schema_1.PackageManager.Npm)) {
|
|
192
|
+
if (!hasYarnLock && !hasPnpmLock && !hasBunLock && this.getVersion(workspace_schema_1.PackageManager.Npm)) {
|
|
184
193
|
// Only NPM lock file and NPM binary is available.
|
|
185
194
|
return workspace_schema_1.PackageManager.Npm;
|
|
186
195
|
}
|
|
@@ -195,17 +204,25 @@ class PackageManagerUtils {
|
|
|
195
204
|
// PNPM lock file and PNPM binary is available.
|
|
196
205
|
return workspace_schema_1.PackageManager.Pnpm;
|
|
197
206
|
}
|
|
207
|
+
else if (hasBunLock && this.getVersion(workspace_schema_1.PackageManager.Bun)) {
|
|
208
|
+
// Bun lock file and Bun binary is available.
|
|
209
|
+
return workspace_schema_1.PackageManager.Bun;
|
|
210
|
+
}
|
|
198
211
|
}
|
|
199
212
|
if (!this.getVersion(workspace_schema_1.PackageManager.Npm)) {
|
|
200
213
|
// Doesn't have NPM installed.
|
|
201
214
|
const hasYarn = !!this.getVersion(workspace_schema_1.PackageManager.Yarn);
|
|
202
215
|
const hasPnpm = !!this.getVersion(workspace_schema_1.PackageManager.Pnpm);
|
|
203
|
-
|
|
216
|
+
const hasBun = !!this.getVersion(workspace_schema_1.PackageManager.Bun);
|
|
217
|
+
if (hasYarn && !hasPnpm && !hasBun) {
|
|
204
218
|
return workspace_schema_1.PackageManager.Yarn;
|
|
205
219
|
}
|
|
206
|
-
else if (!hasYarn &&
|
|
220
|
+
else if (hasPnpm && !hasYarn && !hasBun) {
|
|
207
221
|
return workspace_schema_1.PackageManager.Pnpm;
|
|
208
222
|
}
|
|
223
|
+
else if (hasBun && !hasYarn && !hasPnpm) {
|
|
224
|
+
return workspace_schema_1.PackageManager.Bun;
|
|
225
|
+
}
|
|
209
226
|
}
|
|
210
227
|
// TODO: This should eventually inform the user of ambiguous package manager usage.
|
|
211
228
|
// Potentially with a prompt to choose and optionally set as the default.
|
|
@@ -220,6 +237,9 @@ class PackageManagerUtils {
|
|
|
220
237
|
case workspace_schema_1.PackageManager.Pnpm:
|
|
221
238
|
lockfileName = 'pnpm-lock.yaml';
|
|
222
239
|
break;
|
|
240
|
+
case workspace_schema_1.PackageManager.Bun:
|
|
241
|
+
lockfileName = 'bun.lockb';
|
|
242
|
+
break;
|
|
223
243
|
case workspace_schema_1.PackageManager.Npm:
|
|
224
244
|
default:
|
|
225
245
|
lockfileName = 'package-lock.json';
|
package/src/utilities/version.js
CHANGED
|
@@ -25,5 +25,5 @@ class Version {
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
// TODO(bazel): Convert this to use build-time version stamping after flipping the build script to use bazel
|
|
28
|
-
// export const VERSION = new Version('17.2.0-
|
|
28
|
+
// export const VERSION = new Version('17.2.0-rc.0');
|
|
29
29
|
exports.VERSION = new Version(JSON.parse((0, fs_1.readFileSync)((0, path_1.resolve)(__dirname, '../../package.json'), 'utf-8')).version);
|