cyberchef/.devcontainer/devcontainer.json
Bart van Andel 97ae7e3a15 chore: require Node >=v18.20, and default to v22
Anything older than Node v22 is end-of-life, and doesn't get any more
support outside of commercial support.

See https://endoflife.date/nodejs

The current code is still compatible with Node v18.20 and up though,
which switched from import assertions (`assert` keyword) to import
attributes (`with` keyword).

See https://nodejs.org/en/blog/release/v18.20.0

We can't go higher than v22 yet due to certain dependencies depending
on obsolete behavior and `node` command line flags. For instance, the
current version of `argon2-browser` (which is 4 years old) breaks on
Node's native `fetch` behavior, which used to be experimental, but is
now mainstream, and can no longer be disabled in Node v23 and up.
2026-02-05 13:45:57 +01:00

42 lines
1.3 KiB
JSON

// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/javascript-node
{
"name": "CyberChef",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "mcr.microsoft.com/devcontainers/javascript-node:1-22",
// Features to add to the dev container. More info: https://containers.dev/features.
"features": {
"ghcr.io/devcontainers/features/github-cli": "latest"
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
"forwardPorts": [8080],
// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": {
"npm": "bash -c \"sudo chown node node_modules && npm install\""
},
"containerEnv": {
"DISPLAY": ":99"
},
"mounts": [
"source=${localWorkspaceFolderBasename}-node_modules,target=${containerWorkspaceFolder}/node_modules,type=volume"
],
// Configure tool-specific properties.
"customizations": {
"vscode": {
"extensions": [
"dbaeumer.vscode-eslint",
"GitHub.vscode-github-actions"
]
}
}
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
}