Skip to content

Commit 4827d1b

Browse files
alan-agius4clydin
authored andcommitted
feat(@angular/cli): add support for Node.js version 18
Pacote version 14 does requires `14.17.x` or `16.13.x`. BREAKING CHANGE: The Angular CLI no longer supports `16.10.x`, `16.11.x` and `16.12.x`. Current supported versions of Node.js are `14.20.x`, `16.13.x` and `18.10.x`.
1 parent 93adeeb commit 4827d1b

File tree

8 files changed

+18
-18
lines changed

8 files changed

+18
-18
lines changed

.circleci/dynamic_config.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ parameters:
2424
# Windows needs its own cache key because binaries in node_modules are different.
2525
# See https://circleci.com/docs/2.0/caching/#restoring-cache for how prefixes work in CircleCI.
2626
var_1: &cache_key v1-angular_devkit-14.20-{{ checksum "yarn.lock" }}
27-
var_1_win: &cache_key_win v1-angular_devkit-win-16.10-{{ checksum "yarn.lock" }}
27+
var_1_win: &cache_key_win v1-angular_devkit-win-16.13-{{ checksum "yarn.lock" }}
2828
var_3: &default_nodeversion '14.20'
2929
var_3_major: &default_nodeversion_major '14'
3030
# The major version of node toolchains. See tools/toolchain_info.bzl
@@ -114,8 +114,8 @@ commands:
114114
setup_windows:
115115
steps:
116116
- initialize_env
117-
- run: nvm install 16.10
118-
- run: nvm use 16.10
117+
- run: nvm install 16.13
118+
- run: nvm use 16.13
119119
- run: npm install -g yarn@1.22.10
120120
- run: node --version
121121
- run: yarn --version
@@ -421,15 +421,15 @@ workflows:
421421
matrix:
422422
alias: e2e-cli
423423
parameters:
424-
nodeversion: ['14.20', '16.10']
424+
nodeversion: ['14.20', '16.13', '18.10']
425425
subset: *all_e2e_subsets
426426
requires:
427427
- build
428428
<<: *only_release_branches
429429

430430
- e2e-tests:
431431
name: e2e-snapshots-<< matrix.subset >>
432-
nodeversion: '16.10'
432+
nodeversion: '16.13'
433433
matrix:
434434
parameters:
435435
subset: *all_e2e_subsets

constants.bzl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Engine versions to stamp in a release package.json
2-
RELEASE_ENGINES_NODE = "^14.20.0 || >=16.10.0"
2+
RELEASE_ENGINES_NODE = "^14.20.0 || ^16.13.0 || >=18.10.0"
33
RELEASE_ENGINES_NPM = "^6.11.0 || ^7.5.6 || >=8.0.0"
44
RELEASE_ENGINES_YARN = ">= 1.13.0"
55

docs/DEVELOPER.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ To get started locally, follow these instructions:
66

77
1. If you haven't done it already, [make a fork of this repo](https://github.com/angular/angular-cli/fork).
88
1. Clone to your local computer using `git`.
9-
1. Make sure that you have Node `v14.20`, or `v16.10` installed. See instructions [here](https://nodejs.org/en/download/).
9+
1. Make sure that you have Node `v14.20`, `v16.13` or `v18.10` installed. See instructions [here](https://nodejs.org/en/download/).
1010
1. Make sure that you have `yarn` installed; see instructions [here](https://yarnpkg.com/lang/en/docs/install/).
1111
1. Run `yarn` (no arguments) from the root of your clone of this project to install dependencies.
1212

lib/packages.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ function loadPackageJson(p: string) {
8585
// Overwrite engines to a common default.
8686
case 'engines':
8787
pkg['engines'] = {
88-
'node': '^14.20.0 || >=16.10.0',
88+
'node': '^14.20.0 || ^16.13.0 || >=18.10.0',
8989
'npm': '^6.11.0 || ^7.5.6 || >=8.0.0',
9090
'yarn': '>= 1.13.0',
9191
};

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
"url": "https://github.com/angular/angular-cli.git"
4242
},
4343
"engines": {
44-
"node": "^14.20.0 || ^16.10.0",
44+
"node": "^14.20.0 || ^16.13.0 || ^18.10.0",
4545
"yarn": ">=1.21.1 <2",
4646
"npm": "Please use yarn instead of NPM to install dependencies"
4747
},

packages/angular/cli/bin/ng.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ try {
2424
// These may not support ES2015 features such as const/let/async/await/etc.
2525
// These would then crash with a hard to diagnose error message.
2626
var version = process.versions.node.split('.').map((part) => Number(part));
27-
if (version[0] % 2 === 1 && version[0] > 16) {
27+
if (version[0] % 2 === 1) {
2828
// Allow new odd numbered releases with a warning (currently v17+)
2929
console.warn(
3030
'Node.js version ' +
@@ -37,16 +37,16 @@ if (version[0] % 2 === 1 && version[0] > 16) {
3737
require('./bootstrap');
3838
} else if (
3939
version[0] < 14 ||
40-
version[0] === 15 ||
41-
(version[0] === 14 && version[1] < 15) ||
42-
(version[0] === 16 && version[1] < 10)
40+
(version[0] === 14 && version[1] < 20) ||
41+
(version[0] === 16 && version[1] < 13) ||
42+
(version[0] === 18 && version[1] < 10)
4343
) {
44-
// Error and exit if less than 14.20 or 15.x or less than 16.10
44+
// Error and exit if less than 14.20, 16.13 or 18.10
4545
console.error(
4646
'Node.js version ' +
4747
process.version +
4848
' detected.\n' +
49-
'The Angular CLI requires a minimum Node.js version of either v14.20, or v16.10.\n\n' +
49+
'The Angular CLI requires a minimum Node.js version of either v14.20, v16.13 or v18.10.\n\n' +
5050
'Please update your Node.js version or visit https://nodejs.org/ for additional instructions.\n',
5151
);
5252

packages/angular/cli/src/commands/version/cli.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ interface PartialPackageInfo {
2222
/**
2323
* Major versions of Node.js that are officially supported by Angular.
2424
*/
25-
const SUPPORTED_NODE_MAJORS = [14, 16];
25+
const SUPPORTED_NODE_MAJORS = [14, 16, 18];
2626

2727
const PACKAGE_PATTERNS = [
2828
/^@angular\/.*/,
@@ -118,7 +118,7 @@ export class VersionCommandModule extends CommandModule implements CommandModule
118118
`
119119
Angular CLI: ${ngCliVersion}
120120
Node: ${process.versions.node}${unsupportedNodeVersion ? ' (Unsupported)' : ''}
121-
Package Manager: ${packageManager.name} ${packageManager.version ?? '<error>'}
121+
Package Manager: ${packageManager.name} ${packageManager.version ?? '<error>'}
122122
OS: ${process.platform} ${process.arch}
123123
124124
Angular: ${angularCoreVersion}

tools/test/expected_package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
}
3636
},
3737
"engines": {
38-
"node": "^14.20.0 || >=16.10.0",
38+
"node": "^14.20.0 || ^16.13.0 || >=18.10.0",
3939
"npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
4040
"yarn": ">= 1.13.0"
4141
}

0 commit comments

Comments
 (0)