From ad315647b3ce1d4b88cb66a8ad1c75d4938b47d3 Mon Sep 17 00:00:00 2001 From: Samruddhi Khandale Date: Thu, 20 Apr 2023 14:35:13 -0700 Subject: [PATCH] Javascript-Node: Support Node v20 (#531) --- src/javascript-node/.devcontainer/Dockerfile | 6 +- src/javascript-node/README.md | 3 +- src/javascript-node/manifest.json | 78 +++++++++++++++----- 3 files changed, 64 insertions(+), 23 deletions(-) diff --git a/src/javascript-node/.devcontainer/Dockerfile b/src/javascript-node/.devcontainer/Dockerfile index 881238281..db95962bd 100644 --- a/src/javascript-node/.devcontainer/Dockerfile +++ b/src/javascript-node/.devcontainer/Dockerfile @@ -1,8 +1,8 @@ -# [Choice] Node.js version (use -bullseye variants on local arm64/Apple Silicon): 18, 16, 14, 18-bullseye, 16-bullseye, 14-bullseye, 18-buster, 16-buster, 14-buster -ARG VARIANT=18-bullseye +# [Choice] Node.js version (use -bullseye variants on local arm64/Apple Silicon): 20, 18, 16, 14, 20-bullseye, 18-bullseye, 16-bullseye, 14-bullseye, 20-buster, 18-buster, 16-buster, 14-buster +ARG VARIANT=20-bullseye FROM node:${VARIANT} -ENV IMAGE_VARIANT="18-bullseye" +ENV IMAGE_VARIANT="20-bullseye" COPY library-scripts/add-patch.sh /tmp/library-scripts/ RUN bash /tmp/library-scripts/add-patch.sh "${IMAGE_VARIANT}" && rm -rf /tmp/library-scripts diff --git a/src/javascript-node/README.md b/src/javascript-node/README.md index 403386b6f..f195e27f6 100644 --- a/src/javascript-node/README.md +++ b/src/javascript-node/README.md @@ -9,7 +9,7 @@ | *Categories* | Core, Languages | | *Image type* | Dockerfile | | *Published image* | mcr.microsoft.com/devcontainers/javascript-node | -| *Available image variants* | 18 / 18-bullseye, 16 / 16-bullseye, 14 / 14-bullseye, 18-buster, 16-buster, 14-buster ([full list](https://mcr.microsoft.com/v2/devcontainers/javascript-node/tags/list)) | +| *Available image variants* | 20 / 20-bullseye, 18 / 18-bullseye, 16 / 16-bullseye, 14 / 14-bullseye, 20-buster, 18-buster, 16-buster, 14-buster ([full list](https://mcr.microsoft.com/v2/devcontainers/javascript-node/tags/list)) | | *Published image architecture(s)* | x86-64, arm64/aarch64 for `bullseye` variants | | *Container host OS support* | Linux, macOS, Windows | | *Container OS* | Debian | @@ -20,6 +20,7 @@ You can directly reference pre-built versions of `Dockerfile` by using the `image` property in `.devcontainer/devcontainer.json` or updating the `FROM` statement in your own `Dockerfile` to one of the following. An example `Dockerfile` is included in this repository. - `mcr.microsoft.com/devcontainers/javascript-node` (latest) +- `mcr.microsoft.com/devcontainers/javascript-node:20` (or `20-bullseye`, `20-buster` to pin to an OS version) - `mcr.microsoft.com/devcontainers/javascript-node:18` (or `18-bullseye`, `18-buster` to pin to an OS version) - `mcr.microsoft.com/devcontainers/javascript-node:16` (or `16-bullseye`, `16-buster` to pin to an OS version) - `mcr.microsoft.com/devcontainers/javascript-node:14` (or `14-bullseye`, `14-buster` to pin to an OS version) diff --git a/src/javascript-node/manifest.json b/src/javascript-node/manifest.json index a01bb6761..6acbfb80a 100644 --- a/src/javascript-node/manifest.json +++ b/src/javascript-node/manifest.json @@ -1,39 +1,79 @@ { "version": "0.204.20", - "variants": ["18-bullseye", "16-bullseye", "14-bullseye", "18-buster", "16-buster", "14-buster"], + "variants": [ + "20-bullseye", + "18-bullseye", + "16-bullseye", + "14-bullseye", + "20-buster", + "18-buster", + "16-buster", + "14-buster" + ], "build": { - "latest": "18-bullseye", + "latest": "20-bullseye", "rootDistro": "debian", "architectures": { - "18-bullseye": ["linux/amd64", "linux/arm64"], - "16-bullseye": ["linux/amd64", "linux/arm64"], - "14-bullseye": ["linux/amd64", "linux/arm64"], - "18-buster": ["linux/amd64"], - "16-buster": ["linux/amd64"], - "14-buster": ["linux/amd64"] + "20-bullseye": [ + "linux/amd64", + "linux/arm64" + ], + "18-bullseye": [ + "linux/amd64", + "linux/arm64" + ], + "16-bullseye": [ + "linux/amd64", + "linux/arm64" + ], + "14-bullseye": [ + "linux/amd64", + "linux/arm64" + ], + "20-buster": [ + "linux/amd64" + ], + "18-buster": [ + "linux/amd64" + ], + "16-buster": [ + "linux/amd64" + ], + "14-buster": [ + "linux/amd64" + ] }, "tags": [ "javascript-node:${VERSION}-${VARIANT}" ], "variantTags": { - "18-bullseye": [ - "javascript-node:${VERSION}-18", + "20-bullseye": [ + "javascript-node:${VERSION}-20", "javascript-node:${VERSION}-bullseye" ], - "16-bullseye": [ "javascript-node:${VERSION}-16" ], - "14-bullseye": [ "javascript-node:${VERSION}-14" ], - "18-buster": [ + "18-bullseye": [ + "javascript-node:${VERSION}-18" + ], + "16-bullseye": [ + "javascript-node:${VERSION}-16" + ], + "14-bullseye": [ + "javascript-node:${VERSION}-14" + ], + "20-buster": [ "javascript-node:${VERSION}-buster" ] } - }, + }, "dependencies": { "image": "node:${VARIANT}", "imageLink": "https://hub.docker.com/_/node", - "apt": [{ - "cgIgnore": false, - "name": "yarn" - }], + "apt": [ + { + "cgIgnore": false, + "name": "yarn" + } + ], "git": { "Oh My Zsh!": "/home/node/.oh-my-zsh", "nvm": "/usr/local/share/nvm" @@ -51,4 +91,4 @@ "git": {} } } -} \ No newline at end of file +}