Skip to content

Commit 699366d

Browse files
authored
feat: node22 support (#4489)
https://nodejs.org/en/blog/announcements/v22-release-announce superchain: Changes how node is installed from [nodesource](https://github.com/nodesource/distributions), due to the following change. This also required updating the nodesource repo key. >Package Changes: DEB and RPM packages are now available under the nodistro codename. We no longer package the installer coupled to specific versions. This means you can install Node.js on almost any distro that meets the minimum requirements. --- By submitting this pull request, I confirm that my contribution is made under the terms of the [Apache 2.0 license]. [Apache 2.0 license]: https://www.apache.org/licenses/LICENSE-2.0
1 parent 3fee431 commit 699366d

File tree

8 files changed

+67
-81
lines changed

8 files changed

+67
-81
lines changed

.github/workflows/docker-images.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
debian:
2525
- 'bullseye' # 11
2626
- 'bookworm' # 12
27-
node: ['18', '20']
27+
node: ['18', '20', '22']
2828
exclude:
2929
# We publish bullseye only with Node >= 20
3030
- debian: 'bullseye'

.github/workflows/main.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,13 @@ jobs:
231231
node: '20' # EOL 2026-04-30
232232
os: ubuntu-latest
233233
python: '3.8'
234+
- title: 'Node 22'
235+
java: '8'
236+
dotnet: '6.0.x'
237+
go: '1.18'
238+
node: '22' # EOL 2027-04-30
239+
os: ubuntu-latest
240+
python: '3.8'
234241
# Test alternate .NETs
235242
- title: '.NET 7.0'
236243
java: '8'

CONTRIBUTING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ The following tools need to be installed to develop on JSII locally. We recommen
3939
using the docker image from the above section, but if you wish to, you can install
4040
in your development environment.
4141

42-
- [Node `14.6.0`] or later
42+
- [Node `18.0.0`] or later
4343
- [Yarn `1.19.1`] or later
4444
- An OpenJDK-8 distribution (e.g: [Oracle's OpenJDK8], [Amazon Corretto 8])
4545
+ [`maven >= 3.0.5`](https://maven.apache.org)
@@ -52,7 +52,7 @@ in your development environment.
5252
+ *Recommended:* [`twine`](https://pypi.org/project/twine/)
5353
- [Go] `1.18` or newer
5454

55-
[Node `14.6.0`]: https://nodejs.org/download/release/v14.6.0/
55+
[Node `18.0.0`]: https://nodejs.org/download/release/latest-v18.x/
5656
[Yarn `1.19.1`]: https://yarnpkg.com/en/docs/install
5757
[Oracle's OpenJDK8]: http://openjdk.java.net/install/
5858
[Amazon Corretto 8]: https://aws.amazon.com/corretto/

gh-pages/partials/node-support-table.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
| Release | Status | End-of-Life |
44
| --------- | ---------------------------- | ------------ |
5-
| `^14.6.0` | :white_check_mark: Supported | `2023-04-30` |
6-
| `^16.3.0` | :white_check_mark: Supported | `2024-09-11` |
75
| `^18.0.0` | :white_check_mark: Supported | `2025-04-30` |
6+
| `^20.0.0` | :white_check_mark: Supported | `2026-04-30` |
7+
| `^22.0.0` | :white_check_mark: Supported | `2027-04-30` |
88

99
??? question "Status Definitions"
1010
- **:white_check_mark: Supported**: Long Term Support (LTS) releases (those with an even major version) are

packages/@jsii/check-node/src/constants.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ export class NodeRelease {
5050
new NodeRelease(18, { endOfLife: new Date('2025-04-30') }),
5151
new NodeRelease(20, { endOfLife: new Date('2026-04-30') }),
5252
new NodeRelease(21, { endOfLife: new Date('2024-06-01'), untested: true }),
53+
new NodeRelease(22, { endOfLife: new Date('2027-04-30') }),
5354

5455
// Future (planned releases)
5556
];

superchain/Dockerfile

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -239,12 +239,12 @@ ARG NODE_MAJOR_VERSION="18"
239239
COPY superchain/gpg/nodesource.asc /tmp/nodesource.asc
240240
COPY superchain/gpg/yarn.asc /tmp/yarn.asc
241241
RUN apt-key add /tmp/nodesource.asc && rm /tmp/nodesource.asc \
242-
&& echo "deb https://deb.nodesource.com/node_${NODE_MAJOR_VERSION}.x ${DEBIAN_VERSION} main" \
243-
> /etc/apt/sources.list.d/nodesource.list \
244-
# Reduce priority of the "standard" nodejs package, so that the one from nodesource is always preferred...
242+
&& echo "deb https://deb.nodesource.com/node_${NODE_MAJOR_VERSION}.x nodistro main" \
243+
> /etc/apt/sources.list.d/nodesource.list \
244+
# Increase priority of the nodesource package
245245
&& echo "Package: nodejs" > /etc/apt/preferences.d/nodejs \
246-
&& echo 'Pin: origin "deb.debian.org"' >> /etc/apt/preferences.d/nodejs \
247-
&& echo "Pin-Priority: 50" >> /etc/apt/preferences.d/nodejs \
246+
&& echo 'Pin: origin deb.nodesource.com"' >> /etc/apt/preferences.d/nodejs \
247+
&& echo "Pin-Priority: 600" >> /etc/apt/preferences.d/nodejs \
248248
&& apt-key add /tmp/yarn.asc && rm /tmp/yarn.asc \
249249
&& echo "deb https://dl.yarnpkg.com/debian stable main" > /etc/apt/sources.list.d/yarnpkg.list \
250250
&& apt-get update \

superchain/README.md

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@ public.ecr.aws/jsii/superchain:1-bullseye-slim
1717

1818
## Included Language SDKs
1919

20-
| SDK | Version |
21-
| ------------ | ---------------------------------------- |
22-
| `OpenJDK 20` | Amazon Corretto `>= 20.0.2` |
23-
| `.NET SDK` | `>= 6.0.14` |
24-
| `mono` | `>= 6.12.0.200` |
25-
| `Javascript` | see [NodeJS and NPM](#nodejs-and-npm) |
26-
| `PowerShell` | `pwsh >= 7.2.16` |
27-
| `Python 3` | see [Python'](#python) |
28-
| `Go` | `go >= 1.18` |
20+
| SDK | Version |
21+
| ------------ | ------------------------------------- |
22+
| `OpenJDK 20` | Amazon Corretto `>= 20.0.2` |
23+
| `.NET SDK` | `>= 6.0.14` |
24+
| `mono` | `>= 6.12.0.200` |
25+
| `Javascript` | see [NodeJS and NPM](#nodejs-and-npm) |
26+
| `PowerShell` | `pwsh >= 7.2.16` |
27+
| `Python 3` | see [Python'](#python) |
28+
| `Go` | `go >= 1.18` |
2929

3030
## Image tags
3131

@@ -39,9 +39,10 @@ public.ecr.aws/jsii/superchain:<JSII-MAJOR>-<BASE>(-node<NODE-MAJOR>)(-nightly)
3939
- `<BASE>` is the base image tag, currently supported base images are
4040
- `bookworm-slim`
4141
- `bullseye-slim`
42-
- `<NODE-MAJOR>` is the major version of node contained in the image
43-
- `18` corresponds to node 18.x, this is the default
44-
- `20` corresponds to node 20.x
42+
- `<NODE-MAJOR>` is the major version of Node.js contained in the image
43+
- `18` corresponds to Node.js 18.x, this is the default
44+
- `20` corresponds to Node.js 20.x
45+
- `22` corresponds to Node.js 22.x
4546
- `-nightly` images are released from the `HEAD` of the [`aws/jsii`][jsii]
4647
repository and should typically not be used for production workloads
4748

@@ -82,11 +83,11 @@ public.ecr.aws/jsii/superchain:1-bullseye-slim-node20
8283

8384
We will stop publishing images for Node versions that are EOL.
8485

85-
| Debian | Node versions |
86-
| ----------------------------| -----------------|
87-
| `bookworm-slim` | `20` |
88-
| `bullseye-slim` | `20`, `18` |
89-
| `buster-slim` (deprecated) | `18`, `16`, `14` |
86+
| Debian | Node versions |
87+
| -------------------------- | ---------------- |
88+
| `bookworm-slim` | `20` |
89+
| `bullseye-slim` | `20`, `18` |
90+
| `buster-slim` (deprecated) | `18`, `16`, `14` |
9091

9192
If you are building this image from source, you can control the Node version with the
9293
`NODE_MAJOR_VERSION` build argument:
@@ -100,11 +101,11 @@ jsii$ docker build [...] --build-arg NODE_MAJOR_VERSION=16
100101
The image includes the most recent Python version available for the respecitve Debian distribution.
101102
A complete list can be viewed on the [Debian website](https://wiki.debian.org/Python#Supported_Python_Versions).
102103

103-
| Debian | Python version |
104-
| ----------------------------| ---------------|
105-
| `bookworm-slim` | `3.11` |
106-
| `bullseye-slim` | `3.9` |
107-
| `buster-slim` (deprecated) | `3.7` |
104+
| Debian | Python version |
105+
| -------------------------- | -------------- |
106+
| `bookworm-slim` | `3.11` |
107+
| `bullseye-slim` | `3.9` |
108+
| `buster-slim` (deprecated) | `3.7` |
108109

109110

110111
## Included Tools & Utilities

superchain/gpg/nodesource.asc

Lines changed: 26 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,29 @@
11
-----BEGIN PGP PUBLIC KEY BLOCK-----
2-
Version: GnuPG v1
3-
Comment: GPGTools - https://gpgtools.org
42

5-
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
51-
=CLGF
3+
mQENBFdDN1ABCADaNd/I3j3tn40deQNgz7hB2NvT+syXe6k4ZmdiEcOfBvFrkS8B
4+
hNS67t93etHsxEy7E0qwsZH32bKazMqe9zDwoa3aVImryjh6SHC9lMtW27JPHFeM
5+
Srkt9YmH1WMwWcRO6eSY9B3PpazquhnvbammLuUojXRIxkDroy6Fw4UKmUNSRr32
6+
9Ej87jRoR1B2/57Kfp2Y4+vFGGzSvh3AFQpBHq51qsNHALU6+8PjLfIt+5TPvaWR
7+
TB+kAZnQZkaIQM2nr1n3oj6ak2RATY/+kjLizgFWzgEfbCrbsyq68UoY5FPBnu4Z
8+
E3iDZpaIqwKr0seUC7iA1xM5eHi5kty1oB7HABEBAAG0Ik5Tb2xpZCA8bnNvbGlk
9+
LWdwZ0Bub2Rlc291cmNlLmNvbT6JATgEEwECACIFAldDN1ACGwMGCwkIBwMCBhUI
10+
AgkKCwQWAgMBAh4BAheAAAoJEC9ZtfmbG+C0y7wH/i4xnab36dtrYW7RZwL8i6Sc
11+
NjMx4j9+U1kr/F6YtqWd+JwCbBdar5zRghxPcYEq/qf7MbgAYcs1eSOuTOb7n7+o
12+
xUwdH2iCtHhKh3Jr2mRw1ks7BbFZPB5KmkxHaEBfLT4d+I91ZuUdPXJ+0SXs9gzk
13+
Dbz65Uhoz3W03aiF8HeL5JNARZFMbHHNVL05U1sTGTCOtu+1c/33f3TulQ/XZ3Y4
14+
hwGCpLe0Tv7g7Lp3iLMZMWYPEa0a7S4u8he5IEJQLd8bE8jltcQvrdr3Fm8kI2Jg
15+
BJmUmX4PSfhuTCFaR/yeCt3UoW883bs9LfbTzIx9DJGpRIu8Y0IL3b4sj/GoZVq5
16+
AQ0EV0M3UAEIAKrTaC62ayzqOIPa7nS90BHHck4Z33a2tZF/uof38xNOiyWGhT8u
17+
JeFoTTHn5SQq5Ftyu4K3K2fbbpuu/APQF05AaljzVkDGNMW4pSkgOasdysj831cu
18+
ssrHX2RYS22wg80k6C/Hwmh5F45faEuNxsV+bPx7oPUrt5n6GMx84vEP3i1+FDBi
19+
0pt/B/QnDFBXki1BGvJ35f5NwDefK8VaInxXP3ZN/WIbtn5dqxppkV/YkO7GiJlp
20+
Jlju9rf3kKUIQzKQWxFsbCAPIHoWv7rH9RSxgDithXtG6Yg5R1aeBbJaPNXL9wpJ
21+
YBJbiMjkAFaz4B95FOqZm3r7oHugiCGsHX0AEQEAAYkBHwQYAQIACQUCV0M3UAIb
22+
DAAKCRAvWbX5mxvgtE/OB/0VN88DR3Y3fuqy7lq/dthkn7Dqm9YXdorZl3L152eE
23+
IF882aG8FE3qZdaLGjQO4oShAyNWmRfSGuoH0XERXAI9n0r8m4mDMxE6rtP7tHet
24+
y/5M8x3CTyuMgx5GLDaEUvBusnTD+/v/fBMwRK/cZ9du5PSG4R50rtst+oYyC2ao
25+
x4I2SgjtF/cY7bECsZDplzatN3gv34PkcdIg8SLHAVlL4N5tzumDeizRspcSyoy2
26+
K2+hwKU4C4+dekLLTg8rjnRROvplV2KtaEk6rxKtIRFDCoQng8wfJuIMrDNKvqZw
27+
FRGt7cbvW5MCnuH8MhItOl9Uxp1wHp6gtav/h8Gp6MBa
28+
=MARt
5229
-----END PGP PUBLIC KEY BLOCK-----

0 commit comments

Comments
 (0)