Skip to content

Commit 5ac27fb

Browse files
s-ch-Renovate-TechnicalUserwendlans
s-ch-Renovate-TechnicalUser
authored andcommitted
Merged PR 12242: Update Node.js to v20
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [node](https://github.com/nodejs/node) | engines | major | [`18.x` -> `20.x`](https://renovatebot.com/diffs/npm/node/v18.18.2/v20.9.0) | --- ### Release Notes <details> <summary>nodejs/node (node)</summary> ### [`v20.9.0`](https://github.com/nodejs/node/releases/tag/v20.9.0): 2023-10-24, Version 20.9.0 &#x27;Iron&#x27; (LTS), @&#8203;richardlau [Compare Source](nodejs/node@v20.8.1...v20.9.0) ##### Notable Changes This release marks the transition of Node.js 20.x into Long Term Support (LTS) with the codename 'Iron'. The 20.x release line now moves into "Active LTS" and will remain so until October 2024. After that time, it will move into "Maintenance" until end of life in April 2026. ##### Known issue Collecting code coverage via the `NODE_V8_COVERAGE` environment variable may lead to a hang. This is not thought to be a regression in Node.js 20 (some reports are on Node.js 18). For more information, including some potential workarounds, see issue [#&#8203;49344](nodejs/node#49344). ### [`v20.8.1`](https://github.com/nodejs/node/releases/tag/v20.8.1): 2023-10-13, Version 20.8.1 (Current), @&#8203;RafaelGSS [Compare Source](nodejs/node@v20.8.0...v20.8.1) This is a security release. ##### Notable Changes The following CVEs are fixed in this release: - [CVE-2023-44487](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-44487): `nghttp2` Security Release (High) - [CVE-2023-45143](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-45143): `undici` Security Release (High) - [CVE-2023-39332](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-39332): Path traversal through path stored in Uint8Array (High) - [CVE-2023-39331](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-39331): Permission model improperly protects against path traversal (High) - [CVE-2023-38552](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-38552): Integrity checks according to policies can be circumvented (Medium) - [CVE-2023-39333](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-39333): Code injection via WebAssembly export names (Low) More detailed information on each of the vulnerabilities can be found in [October 2023 Security Releases](https://nodejs.org/en/blog/vulnerability/october-2023-security-releases/) blog post. ##### Commits - \[[`c86883e844`](nodejs/node@c86883e844)] - **deps**: update nghttp2 to 1.57.0 (James M Snell) [#&#8203;50121](nodejs/node#50121) - \[[`2860631359`](nodejs/node@2860631359)] - **deps**: update undici to v5.26.3 (Matteo Collina) [#&#8203;50153](nodejs/node#50153) - \[[`cd37838bf8`](nodejs/node@cd37838bf8)] - **lib**: let deps require `node` prefixed modules (Matthew Aitken) [#&...
2 parents aa6e041 + eb6fbce commit 5ac27fb

File tree

7 files changed

+42
-16
lines changed

7 files changed

+42
-16
lines changed
+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
variables:
22
VM_IMAGE: 'ubuntu-latest'
3-
NODE_VERSION: '18.x'
3+
NODE_VERSION: '20.x'
44
NODE_OPTIONS: '--max_old_space_size=8192' # increase node memory size to avoid out-of-memory exceptions

.nvmrc

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
v20.8

Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM node:18.15-alpine AS build-app
1+
FROM node:20.8-alpine AS build-app
22

33
# Provide overrides for APP_VERSION and APP_RELEASE as build-args and expose them as ENV variables for the update-version.js script
44
ARG APP_VERSION

README.md

+22-6
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,28 @@ This project was generated with [Angular CLI](https://github.com/angular/angular
44

55
> # Table of Contents
66
>
7-
> 1. [Development server](#development-server)
8-
> 2. [Docker](#docker)
9-
> 3. [Local Backend](#local-backend)
10-
> 4. [Naming conventions](#naming-conventions)
11-
> 5. [Code documentation](#code-documentation)
12-
> 6. [Git conventions](#git-conventions)
7+
> 1. [Node version](#node-version)
8+
> 2. [Development server](#development-server)
9+
> 3. [Docker](#docker)
10+
> 4. [Local Backend](#local-backend)
11+
> 5. [Naming conventions](#naming-conventions)
12+
> 6. [Code documentation](#code-documentation)
13+
> 7. [Git conventions](#git-conventions)
14+
15+
## Node version
16+
17+
We strive to use the most recent LTS version. Whenever an update is due, make sure you adjust the following:
18+
19+
- `Dockerfile`
20+
- `.azure-pipelines/templates/variables.yaml`
21+
- `.nvmrc`
22+
- `package.json`, update the `@typed/node` package to the matching version; run `npm install` afterwards to freshly generate the `package-lock.json`
23+
- `renovate.json` update both `"matchManagers": ["dockerfile"]` and `"matchManagers": ["npm"]` to the matching version
24+
25+
You should point it towards the latest minor update (e.g. 20.x), such that we can control potentially larger updates.
26+
27+
If you're using [nvm](https://github.com/nvm-sh/nvm) on a Unix-based environment, you can conveniently use `nvm use` in
28+
the root directory and it will automatically set the node version to the correct one.
1329

1430
## Development server
1531

package-lock.json

+13-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
},
2222
"private": true,
2323
"engines": {
24-
"node": "18.x"
24+
"node": "20.x"
2525
},
2626
"dependencies": {
2727
"@angular-devkit/build-angular": "^16.1.0",
@@ -48,7 +48,7 @@
4848
"@ngrx/store-devtools": "^16.0.1",
4949
"@terraformer/arcgis": "^2.1.2",
5050
"@types/geojson": "^7946.0.10",
51-
"@types/node": "^18.13.0",
51+
"@types/node": "^20.8",
5252
"@types/terraformer__arcgis": "^2.0.2",
5353
"@types/twitter-for-web": "^0.0.4",
5454
"@types/uuid": "^9.0.4",

renovate.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@
1010
{
1111
"matchManagers": ["npm"],
1212
"matchPackageNames": ["@types/node"],
13-
"allowedVersions": "<18"
13+
"allowedVersions": "<20"
1414
},
1515
{
1616
"matchManagers": ["dockerfile"],
1717
"matchPackageNames": ["node"],
18-
"allowedVersions": "<18"
18+
"allowedVersions": "<20"
1919
},
2020
{
2121
"matchManagers": ["npm"],

0 commit comments

Comments
 (0)