drop support for node 20 (#5937)

* node 24

* node types

* dockerfiles

* readme

* note
This commit is contained in:
Matt Fiddaman
2025-10-18 23:58:27 +01:00
committed by GitHub
parent 94332016e8
commit 155558ee62
16 changed files with 37 additions and 22 deletions

View File

@@ -17,7 +17,7 @@ runs:
- name: Install node
uses: actions/setup-node@v4
with:
node-version: 20
node-version: 22
- name: Install yarn
run: npm install -g yarn
shell: bash

View File

@@ -53,6 +53,6 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
node-version: 22
- name: Check migrations
run: node ./.github/actions/check-migrations.js

View File

@@ -27,7 +27,7 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
node-version: 22
- name: Handle feature requests
run: node .github/actions/handle-feature-requests.js
env:

View File

@@ -73,7 +73,7 @@ jobs:
- name: Setup node and npm registry
uses: actions/setup-node@v4
with:
node-version: 20
node-version: 22
registry-url: 'https://registry.npmjs.org'
- name: Publish Web

View File

@@ -56,7 +56,7 @@ jobs:
- name: Setup node and npm registry
uses: actions/setup-node@v4
with:
node-version: 20
node-version: 22
registry-url: 'https://registry.npmjs.org'
- name: Publish Web

2
.nvmrc
View File

@@ -1 +1 @@
v20/*
v22/*

View File

@@ -5,7 +5,7 @@
# you are doing.
###################################################
FROM node:20-bullseye as dev
FROM node:22-bookworm as dev
RUN apt-get update -y && apt-get upgrade -y && apt-get install -y openssl
WORKDIR /app
CMD ["sh", "./bin/docker-start"]

View File

@@ -58,7 +58,7 @@
},
"devDependencies": {
"@octokit/rest": "^22.0.0",
"@types/node": "^22.18.8",
"@types/node": "^22.18.11",
"@types/prompts": "^2.4.9",
"@typescript-eslint/parser": "^8.46.0",
"cross-env": "^10.1.0",
@@ -91,7 +91,7 @@
"socks": ">=2.8.3"
},
"engines": {
"node": ">=20",
"node": ">=22",
"yarn": "^4.9.1"
},
"lint-staged": {

View File

@@ -47,7 +47,7 @@
"@types/better-sqlite3": "^7.6.13",
"@types/emscripten": "^1.41.2",
"@types/jlongster__sql.js": "npm:@types/sql.js@latest",
"@types/node": "^22.18.8",
"@types/node": "^22.18.11",
"@types/pegjs": "^0.10.6",
"assert": "^2.1.0",
"browserify-zlib": "^0.2.0",

View File

@@ -14,7 +14,7 @@
"workbox-precaching": "^7.3.0"
},
"devDependencies": {
"@types/node": "^22.18.8",
"@types/node": "^22.18.11",
"cross-env": "^10.1.0",
"typescript": "^5.9.3",
"vite": "^7.1.9"

View File

@@ -10,7 +10,7 @@ Want to say thanks? Click the ⭐ at the top of the page.
### Using the CLI tool
Node.js v18 or higher is required for the @actual-app/sync-server npm package
Node.js v22 or higher is required for the @actual-app/sync-server npm package
**Install globally with npm:**

View File

@@ -1,4 +1,4 @@
FROM node:20-bookworm AS deps
FROM node:22-bookworm AS deps
# Install required packages
RUN apt-get update && apt-get install -y openssl
@@ -37,7 +37,7 @@ RUN rm -rf ./node_modules/@actual-app/web ./node_modules/@actual-app/sync-server
COPY packages/desktop-client/package.json ./node_modules/@actual-app/web/package.json
COPY packages/desktop-client/build ./node_modules/@actual-app/web/build
FROM node:20-bookworm-slim AS prod
FROM node:22-bookworm-slim AS prod
# Minimal runtime dependencies
RUN apt-get update && apt-get install tini && apt-get clean -y && rm -rf /var/lib/apt/lists/*

View File

@@ -57,7 +57,7 @@
"@types/cors": "^2.8.19",
"@types/express": "^5.0.3",
"@types/express-actuator": "^1.8.3",
"@types/node": "^22.18.8",
"@types/node": "^22.18.11",
"@types/supertest": "^6.0.3",
"@vitest/coverage-v8": "3.2.4",
"http-proxy-middleware": "^3.0.5",

View File

@@ -1,4 +1,4 @@
FROM node:20-bookworm AS deps
FROM node:22-bookworm AS deps
# Install required packages
RUN apt-get update && apt-get install -y openssl
@@ -43,7 +43,7 @@ RUN rm -rf ./node_modules/@actual-app/web ./node_modules/@actual-app/sync-server
COPY ./packages/desktop-client/package.json ./node_modules/@actual-app/web/package.json
RUN cp -r ./packages/desktop-client/build ./node_modules/@actual-app/web/build
FROM node:20-bookworm-slim AS prod
FROM node:22-bookworm-slim AS prod
# Minimal runtime dependencies
RUN apt-get update && apt-get install -y tini && apt-get clean -y && rm -rf /var/lib/apt/lists/*

View File

@@ -0,0 +1,6 @@
---
category: Maintenance
authors: [matt-fidd]
---
Drop support for Node.js v20

View File

@@ -94,7 +94,7 @@ __metadata:
"@types/cors": "npm:^2.8.19"
"@types/express": "npm:^5.0.3"
"@types/express-actuator": "npm:^1.8.3"
"@types/node": "npm:^22.18.8"
"@types/node": "npm:^22.18.11"
"@types/supertest": "npm:^6.0.3"
"@vitest/coverage-v8": "npm:3.2.4"
bcrypt: "npm:^6.0.0"
@@ -6203,7 +6203,16 @@ __metadata:
languageName: node
linkType: hard
"@types/node@npm:^22.18.8, @types/node@npm:^22.7.7":
"@types/node@npm:^22.18.11":
version: 22.18.11
resolution: "@types/node@npm:22.18.11"
dependencies:
undici-types: "npm:~6.21.0"
checksum: 10/787049231bf4655d57e6deb7e7be46da6b476f29f8184b470e49ce7db45acfd0ad106b67c4f4b09b77f205c83b6b0a0b3d6a69ba17c28a155d3ec4a608eb332d
languageName: node
linkType: hard
"@types/node@npm:^22.7.7":
version: 22.18.8
resolution: "@types/node@npm:22.18.8"
dependencies:
@@ -6942,7 +6951,7 @@ __metadata:
resolution: "actual@workspace:."
dependencies:
"@octokit/rest": "npm:^22.0.0"
"@types/node": "npm:^22.18.8"
"@types/node": "npm:^22.18.11"
"@types/prompts": "npm:^2.4.9"
"@typescript-eslint/parser": "npm:^8.46.0"
cross-env: "npm:^10.1.0"
@@ -13463,7 +13472,7 @@ __metadata:
"@types/better-sqlite3": "npm:^7.6.13"
"@types/emscripten": "npm:^1.41.2"
"@types/jlongster__sql.js": "npm:@types/sql.js@latest"
"@types/node": "npm:^22.18.8"
"@types/node": "npm:^22.18.11"
"@types/pegjs": "npm:^0.10.6"
absurd-sql: "npm:0.0.54"
adm-zip: "patch:adm-zip@npm%3A0.5.16#~/.yarn/patches/adm-zip-npm-0.5.16-4556fea098.patch"
@@ -15718,7 +15727,7 @@ __metadata:
version: 0.0.0-use.local
resolution: "plugins-service@workspace:packages/plugins-service"
dependencies:
"@types/node": "npm:^22.18.8"
"@types/node": "npm:^22.18.11"
cross-env: "npm:^10.1.0"
typescript: "npm:^5.9.3"
vite: "npm:^7.1.9"