Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
1ff398b
Change to nginx-unprivileged image for better kubernetes support
hsolberg Oct 8, 2024
9272798
Fixed image ref.
hsolberg Oct 8, 2024
378d535
Updated docker commands in `README.md` with new port number used by n…
hsolberg Oct 28, 2024
7580845
Make compatible with node >=22
GCHQDeveloper581 Oct 28, 2025
840f6bf
Fix some "assert{type:" occurences missed in the previous pass
GCHQDeveloper581 Nov 3, 2025
3f591af
Update node version used in GitHub actions
GCHQDeveloper581 Nov 3, 2025
34cd7db
Further bump minimum/default node to 22
GCHQDeveloper581 Feb 6, 2026
53d99e4
Use a base image that actually exists
GCHQDeveloper581 Feb 6, 2026
a6fbf3e
Update .nvmrc to reflect new default Node version
GCHQDeveloper581 Feb 6, 2026
a868ddc
Upgrade to Node 22.
lzandman Feb 28, 2026
0889507
Upgrade Dockerfile to Node 22.
lzandman Feb 28, 2026
6883a28
More assert replacements.
lzandman Feb 28, 2026
4b81dae
Updated readme.
lzandman Feb 28, 2026
30be1f6
Update node version in Github workflows.
lzandman Feb 28, 2026
f180b5e
Devcontainer Node 22.
lzandman Feb 28, 2026
fc9418f
Upgrade Node.js from 22 to 24 across all configs and CI.
lzandman Feb 28, 2026
2b032ab
npm update
lzandman Mar 20, 2026
05ebb7e
Webpack-related updates.
lzandman Mar 20, 2026
5acd5eb
Test fix: add WASM fetch polyfill for Node.js 22+ compatibility
lzandman Mar 20, 2026
480f8d7
Fix linting.
lzandman Mar 20, 2026
15ba421
chore: update dependencies in package.json
lzandman Mar 21, 2026
968269f
Pin jimp explicitly to 1.6.0
GCHQDeveloper581 Apr 19, 2026
cfc84f5
Downgrade jq-web back to 0.5.1
GCHQDeveloper581 Apr 19, 2026
212a2c6
fix(node): enable asynchronous operation support in Node.js API
engin0223 Mar 5, 2026
0614e83
fix(node): enable asynchronous support for chef.bake tests
engin0223 Mar 5, 2026
2a577fb
fix(tests): enable asynchronous operation support in CJS and ESM cons…
engin0223 Mar 5, 2026
d8cb1bb
Fix linting warning
GCHQDeveloper581 Apr 19, 2026
afde9bf
Explicitly pull in the punycode.js userland module
GCHQDeveloper581 Apr 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
{
"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-18-bookworm",
"image": "mcr.microsoft.com/devcontainers/javascript-node:24-trixie",

// Features to add to the dev container. More info: https://containers.dev/features.
"features": {
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- name: Set node version
uses: actions/setup-node@v6
with:
node-version: 18
node-version: 24
registry-url: "https://registry.npmjs.org"

- name: Install
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pull_requests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
- name: Set node version
uses: actions/setup-node@v6
with:
node-version: 18
node-version: 24
registry-url: "https://registry.npmjs.org"

- name: Install
Expand Down
10 changes: 2 additions & 8 deletions .github/workflows/releases.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
- name: Set node version
uses: actions/setup-node@v6
with:
node-version: 18
node-version: 24
registry-url: "https://registry.npmjs.org"

- name: Install
Expand Down Expand Up @@ -106,7 +106,7 @@ jobs:
- name: Set node version
uses: actions/setup-node@v6
with:
node-version: 18
node-version: 24
registry-url: "https://registry.npmjs.org"

- name: Install
Expand All @@ -115,11 +115,5 @@ jobs:
- name: Create machine generated files
run: npm run node

- name: Reset node version ready for publish
uses: actions/setup-node@v6
with:
node-version: ^24.5
registry-url: "https://registry.npmjs.org"

- name: Publish to NPM
run: npm publish
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
18
24
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# Modifier --platform=$BUILDPLATFORM limits the platform to "BUILDPLATFORM" during buildx multi-platform builds
# This is because npm "chromedriver" package is not compatiable with all platforms
# For more info see: https://docs.docker.com/build/building/multi-platform/#cross-compilation
FROM --platform=$BUILDPLATFORM node:18-alpine AS builder
FROM --platform=$BUILDPLATFORM node:24-alpine AS builder

WORKDIR /app

Expand All @@ -27,7 +27,7 @@ RUN npm run build
#########################################
# Package static build files into nginx #
#########################################
FROM nginx:stable-alpine AS cyberchef
FROM nginxinc/nginx-unprivileged:1.25.1-alpine3.18 AS cyberchef

LABEL maintainer="GCHQ <oss@gchq.gov.uk>"

Expand Down
2 changes: 1 addition & 1 deletion Gruntfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ const BundleAnalyzerPlugin = require("webpack-bundle-analyzer").BundleAnalyzerPl
const glob = require("glob");
const path = require("path");

const nodeFlags = "--experimental-modules --experimental-json-modules --experimental-specifier-resolution=node --no-warnings --no-deprecation";
const nodeFlags = "--no-warnings --no-deprecation";

/**
* Grunt configuration for building the app in various formats.
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ docker build --tag cyberchef --ulimit nofile=10000 .
```
2. Run the docker container
```bash
docker run -it -p 8080:80 cyberchef
docker run -it -p 8080:8080 cyberchef
```
3. Navigate to `http://localhost:8080` in your browser

Expand All @@ -45,7 +45,7 @@ docker run -it -p 8080:80 cyberchef
If you prefer to skip the build process, you can use the pre-built image

```bash
docker run -it -p 8080:80 ghcr.io/gchq/cyberchef:latest
docker run -it -p 8080:8080 ghcr.io/gchq/cyberchef:latest
```

Just like before, navigate to `http://localhost:8080` in your browser.
Expand Down Expand Up @@ -120,7 +120,7 @@ CyberChef is built to support

## Node.js support

CyberChef is built to fully support Node.js `v16`. For more information, see the ["Node API" wiki page](https://github.com/gchq/CyberChef/wiki/Node-API)
CyberChef is built to fully support Node.js `v24`. For more information, see the ["Node API" wiki page](https://github.com/gchq/CyberChef/wiki/Node-API)


## Contributing
Expand Down
5 changes: 4 additions & 1 deletion babel.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ module.exports = function(api) {
"regenerator": true
}
]
]
],
"generatorOpts": {
"importAttributesKeyword": "with"
}
};
};
Loading
Loading