chore: standardise internal node on 24.18.0 (#4254)

## Summary

Updates the internal development, CI, and runtime-image Node version to
24.18.0. SDK compatibility coverage continues to include Node 20, 22,
24, and 26.

The Node type definitions and the package-manager lockfiles now resolve
against Node 24 types.
This commit is contained in:
Chris Arderne
2026-07-15 12:49:12 +01:00
committed by GitHub
parent 976171ea16
commit b902e65dfb
33 changed files with 224 additions and 173 deletions
+1 -1
View File
@@ -36,7 +36,7 @@ jobs:
- name: Setup node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22.23.1
node-version: 24.18.0
cache: "pnpm"
- name: Install dependencies
+1 -1
View File
@@ -44,7 +44,7 @@ jobs:
- name: ⎔ Setup node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22.23.1
node-version: 24.18.0
cache: "pnpm"
- name: 📥 Download deps
+1 -1
View File
@@ -25,7 +25,7 @@ jobs:
- name: ⎔ Setup node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22.23.1
node-version: 24.18.0
cache: "pnpm"
- name: 📥 Download deps
+1 -1
View File
@@ -51,7 +51,7 @@ jobs:
- name: Setup node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22.23.1
node-version: 24.18.0
cache: "pnpm"
- name: Install + build the CLI and the agent's deps
+1 -1
View File
@@ -85,7 +85,7 @@ jobs:
- name: ⎔ Setup node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22.23.1
node-version: 24.18.0
cache: "pnpm"
- name: 🐳 Login to DockerHub
+1 -1
View File
@@ -59,7 +59,7 @@ jobs:
- name: ⎔ Setup node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22.23.1
node-version: 24.18.0
cache: "pnpm"
# ..to avoid rate limits when pulling images
+1 -1
View File
@@ -37,7 +37,7 @@ jobs:
- name: ⎔ Setup node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22.23.1
node-version: 24.18.0
- name: 📥 Download deps
run: pnpm install --frozen-lockfile --filter trigger.dev...
+1 -1
View File
@@ -59,7 +59,7 @@ jobs:
- name: ⎔ Setup node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22.23.1
node-version: 24.18.0
cache: "pnpm"
- name: 📥 Install dependencies
+2 -2
View File
@@ -90,7 +90,7 @@ jobs:
- name: Setup node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22.23.1
node-version: 24.18.0
cache: "pnpm"
# npm v11.5.1 or newer is required for OIDC support
@@ -303,7 +303,7 @@ jobs:
- name: Setup node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22.23.1
node-version: 24.18.0
cache: "pnpm"
# npm v11.5.1 or newer is required for OIDC support
+3 -3
View File
@@ -70,7 +70,7 @@ jobs:
- name: ⎔ Setup node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22.23.1
node-version: 24.18.0
cache: "pnpm"
- name: 🥟 Setup Bun
@@ -112,7 +112,7 @@ jobs:
- name: ⎔ Setup node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22.23.1
node-version: 24.18.0
cache: "pnpm"
- name: 🦕 Setup Deno
@@ -158,7 +158,7 @@ jobs:
- name: ⎔ Setup node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22.23.1
node-version: 24.18.0
cache: "pnpm"
- name: 📥 Download deps
+1 -1
View File
@@ -25,7 +25,7 @@ jobs:
- name: ⎔ Setup node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22.23.1
node-version: 24.18.0
cache: "pnpm"
- name: 📥 Download deps
+1 -1
View File
@@ -63,7 +63,7 @@ jobs:
- name: ⎔ Setup node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22.23.1
node-version: 24.18.0
cache: "pnpm"
# ..to avoid rate limits when pulling images
+2 -2
View File
@@ -66,7 +66,7 @@ jobs:
- name: ⎔ Setup node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22.23.1
node-version: 24.18.0
cache: "pnpm"
# ..to avoid rate limits when pulling images
@@ -146,7 +146,7 @@ jobs:
- name: ⎔ Setup node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22.23.1
node-version: 24.18.0
# no cache enabled, we're not installing deps
- name: Download blob reports from GitHub Actions Artifacts
+2 -2
View File
@@ -71,7 +71,7 @@ jobs:
- name: ⎔ Setup node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22.23.1
node-version: 24.18.0
cache: "pnpm"
# ..to avoid rate limits when pulling images
@@ -160,7 +160,7 @@ jobs:
- name: ⎔ Setup node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22.23.1
node-version: 24.18.0
# no cache enabled, we're not installing deps
- name: Download blob reports from GitHub Actions Artifacts
+1 -1
View File
@@ -1 +1 @@
v22.23.1
v24.18.0
+2 -2
View File
@@ -29,7 +29,7 @@ branch are tagged into a release periodically.
### Prerequisites
- [Node.js](https://nodejs.org/en) version 22.23.1
- [Node.js](https://nodejs.org/en) version 24.18.0
- [pnpm package manager](https://pnpm.io/installation) version 10.33.2
- [Docker](https://www.docker.com/get-started/)
- [protobuf](https://github.com/protocolbuffers/protobuf)
@@ -49,7 +49,7 @@ branch are tagged into a release periodically.
```
cd trigger.dev
```
3. Ensure you are on the correct version of Node.js (22.23.1). If you are using `nvm`, there is an `.nvmrc` file that will automatically select the correct version of Node.js when you navigate to the repository.
3. Ensure you are on the correct version of Node.js (24.18.0). If you are using `nvm`, there is an `.nvmrc` file that will automatically select the correct version of Node.js when you navigate to the repository.
4. Run `corepack enable` to use the correct version of pnpm (`10.33.2`) as specified in the root `package.json` file.
+1 -1
View File
@@ -1 +1 @@
v22.23.1
v24.18.0
+3 -3
View File
@@ -1,13 +1,13 @@
FROM node:22-alpine@sha256:9bef0ef1e268f60627da9ba7d7605e8831d5b56ad07487d24d1aa386336d1944 AS node-22-alpine
FROM node:24.18.0-alpine@sha256:a0b9bf06e4e6193cf7a0f58816cc935ff8c2a908f81e6f1a95432d679c54fbfd AS node-24-alpine
WORKDIR /app
FROM node-22-alpine AS pruner
FROM node-24-alpine AS pruner
COPY --chown=node:node . .
RUN npx -q turbo@2.10.0 prune --scope=supervisor --docker
FROM node-22-alpine AS base
FROM node-24-alpine AS base
RUN apk add --no-cache dumb-init
+1 -1
View File
@@ -1,4 +1,4 @@
ARG NODE_IMAGE=node:22.23.1-bookworm-slim@sha256:813a7480f28fdadac1f7f5c824bcdad435b5bc1322a5968bbbdef8d058f9dff4
ARG NODE_IMAGE=node:24.18.0-bookworm-slim@sha256:39a4259b6f744868a8228742ad45aa3026f97302e5eec2fa4a38b30ca0a66e12
FROM golang:1.26-alpine AS goose_builder
RUN go install github.com/pressly/goose/v3/cmd/goose@v3.27.1
+1 -1
View File
@@ -27,7 +27,7 @@
"typecheck": "tsc --noEmit"
},
"devDependencies": {
"@types/node": "^22.20.0",
"@types/node": "^24.13.3",
"rimraf": "^6.0.1",
"ts-proto": "^1.167.3"
},
+1 -1
View File
@@ -10,7 +10,7 @@
},
"devDependencies": {
"@trigger.dev/database": "workspace:*",
"@types/node": "^22.20.0",
"@types/node": "^24.13.3",
"rimraf": "6.0.1"
},
"scripts": {
@@ -352,7 +352,7 @@ export class RunQueueFullKeyProducer implements RunQueueKeyProducer {
projectId: parts[3],
envId: parts[5],
queue: parts[7],
concurrencyKey: parts.at(9),
concurrencyKey: parts[9],
};
}
@@ -2110,7 +2110,7 @@ export class PostgresRunStore implements RunStore {
WHERE id = ANY(${waitpointIds}::text[])
AND status = 'PENDING'
`;
return Number(pendingCheck.at(0)?.pending_count ?? 0);
return Number(pendingCheck[0]?.pending_count ?? 0);
}
const pendingCheck = await prisma.$queryRaw<{ pending_count: bigint }[]>`
@@ -2119,7 +2119,7 @@ export class PostgresRunStore implements RunStore {
WHERE id IN (${Prisma.join(waitpointIds)})
AND status = 'PENDING'
`;
return Number(pendingCheck.at(0)?.pending_count ?? 0);
return Number(pendingCheck[0]?.pending_count ?? 0);
}
async createWaitpoint<T extends Prisma.WaitpointCreateArgs>(
+1 -1
View File
@@ -11,7 +11,7 @@
},
"devDependencies": {
"@trigger.dev/database": "workspace:*",
"@types/node": "^22.20.0",
"@types/node": "^24.13.3",
"rimraf": "6.0.1"
},
"scripts": {
+2 -2
View File
@@ -58,7 +58,7 @@
"@manypkg/cli": "^0.19.2",
"@playwright/test": "^1.36.2",
"@trigger.dev/database": "workspace:*",
"@types/node": "22.20.0",
"@types/node": "24.13.3",
"@vitest/coverage-v8": "4.1.7",
"autoprefixer": "^10.4.12",
"knip": "6.25.0",
@@ -94,7 +94,7 @@
},
"overrides": {
"typescript": "5.5.4",
"@types/node": "22.20.0",
"@types/node": "24.13.3",
"react@^18": "18.3.1",
"react-dom@^18": "18.3.1",
"ai@^6": "6.0.116",
@@ -14,7 +14,7 @@
},
"devDependencies": {
"@trigger.dev/build": "0.0.0-prerelease-20250321122618",
"@types/node": "^22.20.0",
"@types/node": "^24.13.3",
"typescript": "5.5.4"
},
"engines": {
@@ -842,12 +842,12 @@
}
},
"node_modules/@types/node": {
"version": "22.20.0",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.20.0.tgz",
"integrity": "sha512-QWlFW2wf3nTjC13/DqRnBpR4ZO36VJH/JVBkA/vcnmbTBNQIlnObqyqZE1tUR7+Ni23Lda8R1BxMfbXRpCUx5g==",
"version": "24.13.3",
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.3.tgz",
"integrity": "sha512-Dh8vAsV36ig5wa9OX4pXvMc9D3Veibfw2wix0CUwYODLD8nkj9UsLjASr49nPg+2eKzxhBV+v7L8pXvT4e639Q==",
"license": "MIT",
"dependencies": {
"undici-types": "~6.21.0"
"undici-types": "~7.18.0"
}
},
"node_modules/@types/shimmer": {
@@ -2013,9 +2013,9 @@
"integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q=="
},
"node_modules/undici-types": {
"version": "6.21.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
"integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
"version": "7.18.2",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz",
"integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==",
"license": "MIT"
},
"node_modules/uuid": {
@@ -15,7 +15,7 @@
},
"devDependencies": {
"@trigger.dev/build": "0.0.0-prerelease-20250321122618",
"@types/node": "^22.20.0",
"@types/node": "^24.13.3",
"typescript": "5.5.4"
}
}
@@ -19,8 +19,8 @@ importers:
specifier: 0.0.0-prerelease-20250321122618
version: 0.0.0-prerelease-20250321122618(typescript@5.5.4)
'@types/node':
specifier: ^22.20.0
version: 22.20.0
specifier: ^24.13.3
version: 24.13.3
typescript:
specifier: 5.5.4
version: 5.5.4
@@ -243,8 +243,8 @@ packages:
'@types/cors@2.8.19':
resolution: {integrity: sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==}
'@types/node@22.20.0':
resolution: {integrity: sha512-QWlFW2wf3nTjC13/DqRnBpR4ZO36VJH/JVBkA/vcnmbTBNQIlnObqyqZE1tUR7+Ni23Lda8R1BxMfbXRpCUx5g==}
'@types/node@24.13.3':
resolution: {integrity: sha512-Dh8vAsV36ig5wa9OX4pXvMc9D3Veibfw2wix0CUwYODLD8nkj9UsLjASr49nPg+2eKzxhBV+v7L8pXvT4e639Q==}
'@types/shimmer@1.2.0':
resolution: {integrity: sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg==}
@@ -650,8 +650,8 @@ packages:
uncrypto@0.1.3:
resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==}
undici-types@6.21.0:
resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
undici-types@7.18.2:
resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==}
uuid@9.0.1:
resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
@@ -1021,11 +1021,11 @@ snapshots:
'@types/cors@2.8.19':
dependencies:
'@types/node': 22.20.0
'@types/node': 24.13.3
'@types/node@22.20.0':
'@types/node@24.13.3':
dependencies:
undici-types: 6.21.0
undici-types: 7.18.2
'@types/shimmer@1.2.0': {}
@@ -1119,7 +1119,7 @@ snapshots:
dependencies:
'@types/cookie': 0.4.1
'@types/cors': 2.8.19
'@types/node': 22.20.0
'@types/node': 24.13.3
accepts: 1.3.8
base64id: 2.0.0
cookie: 0.4.2
@@ -1271,7 +1271,7 @@ snapshots:
'@protobufjs/path': 1.1.2
'@protobufjs/pool': 1.1.0
'@protobufjs/utf8': 1.1.1
'@types/node': 22.20.0
'@types/node': 24.13.3
long: 5.3.2
reflect-metadata@0.2.2: {}
@@ -1407,7 +1407,7 @@ snapshots:
uncrypto@0.1.3: {}
undici-types@6.21.0: {}
undici-types@7.18.2: {}
uuid@9.0.1: {}
@@ -562,12 +562,12 @@ __metadata:
languageName: node
linkType: hard
"@types/node@npm:^22.20.0":
version: 22.20.0
resolution: "@types/node@npm:22.20.0"
"@types/node@npm:^24.13.3":
version: 24.13.3
resolution: "@types/node@npm:24.13.3"
dependencies:
undici-types: "npm:~6.21.0"
checksum: 10c0/55d78223205bd5f81f043d71b7a5c8d8854b9ef44ef81291680943adb27fa5ba1f092658c87183d5bc8cf6baf6a57b81dad966eb3afa452cc301a615b6d9b20e
undici-types: "npm:~7.18.0"
checksum: 10c0/a5bc08f49b9581dcdca90e02cd77197a3c799840807664942e5cd5161a553d4d2ae8064f7e3294410d748d7d098b5c1848be7fa50c06f29c4193ab16be4e59eb
languageName: node
linkType: hard
@@ -769,7 +769,7 @@ __metadata:
dependencies:
"@trigger.dev/build": "npm:0.0.0-prerelease-20250321122618"
"@trigger.dev/sdk": "npm:0.0.0-prerelease-20250321122618"
"@types/node": "npm:^22.20.0"
"@types/node": "npm:^24.13.3"
reflect-metadata: "npm:0.2.2"
typescript: "npm:5.5.4"
languageName: unknown
@@ -1501,10 +1501,10 @@ __metadata:
languageName: node
linkType: hard
"undici-types@npm:~6.21.0":
version: 6.21.0
resolution: "undici-types@npm:6.21.0"
checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04
"undici-types@npm:~7.18.0":
version: 7.18.2
resolution: "undici-types@npm:7.18.2"
checksum: 10c0/85a79189113a238959d7a647368e4f7c5559c3a404ebdb8fc4488145ce9426fcd82252a844a302798dfc0e37e6fb178ff481ed03bc4caf634c5757d9ef43521d
languageName: node
linkType: hard
+1 -1
View File
@@ -24,7 +24,7 @@
"typecheck": "tsc --noEmit"
},
"devDependencies": {
"@types/node": "^22.20.0",
"@types/node": "^24.13.3",
"rimraf": "6.0.1",
"tsup": "^8.4.0",
"typescript": "^5.3.0"
+1 -1
View File
@@ -49,7 +49,7 @@
"tinyexec": "^0.3.2"
},
"devDependencies": {
"@types/node": "^22.20.0",
"@types/node": "^24.13.3",
"rimraf": "6.0.1",
"tshy": "^3.0.2",
"typescript": "^5.5.4",
+1 -1
View File
@@ -45,7 +45,7 @@
"devDependencies": {
"@arethetypeswrong/cli": "^0.15.4",
"@trigger.dev/build": "workspace:^4.5.4",
"@types/node": "^22.20.0",
"@types/node": "^24.13.3",
"@types/react": "*",
"@types/react-dom": "*",
"rimraf": "^6.0.1",
+155 -104
View File
File diff suppressed because it is too large Load Diff