🌱 Update project to use nodejs 20, npm >=10.5.2 (#2062) #2064
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Upgrade the project to use nodejs-20 in the
Dockerfile
, and package.json engine block. More specific entries for.dockerignore
will help keep theCOPY
step quick (especially for local dev image builds).Reasoning:
nodejs-18 is in LTS until May 2025, but nodejs-20 will be in LTS until May 2026. 1
node and npm are distributed together, and the
ubi9/nodejs-20
container has a newer version of npm included (10.7.0) than the currentubi9/nodejs-18
container (10.5.0)Given github issues 2 and 3, we can assume that the only versions of npm that will be stable in CI during the
npm install
phase arenpm@9
andnpm@>=10.5.2
. Any npm version <10.5.2 is at severe risk of encountering network errors when installing packages, especially when running in a qemu environment for non-native architecture builds.Being very specific in the
package.json
engines
block will help keep everyone on working versions of npm.Backport-of: #2062
Footnotes
https://nodejs.org/en/about/previous-releases ↩
https://github.com/npm/cli/issues/7231 ↩
https://github.com/npm/cli/issues/7072 ↩