Skip to content

Commit efc9ec1

Browse files
smdionclaude
andauthored
feat: migrate to Node.js 24 LTS (#11)
- Dockerfile: node:20-alpine → node:24-alpine (all 3 stages) - CI: node-version 20 → 24 - @types/node: 20.x → 24.x Node 20 reaches EOL April 30, 2026. Node 24 is the current Active LTS with support through April 2028. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 424d6f5 commit efc9ec1

4 files changed

Lines changed: 2798 additions & 5366 deletions

File tree

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717

1818
- uses: actions/setup-node@v6
1919
with:
20-
node-version: 20
20+
node-version: 24
2121
cache: pnpm
2222

2323
- run: pnpm install --frozen-lockfile

Dockerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
# Stage 1: Install dependencies
2-
FROM node:20-alpine AS deps
2+
FROM node:24-alpine AS deps
33
RUN apk add --no-cache python3 make g++
44
RUN corepack enable && corepack prepare pnpm@10.32.1 --activate
55
WORKDIR /app
66
COPY package.json pnpm-lock.yaml ./
77
RUN pnpm install --frozen-lockfile
88

99
# Stage 2: Build
10-
FROM node:20-alpine AS builder
10+
FROM node:24-alpine AS builder
1111
RUN corepack enable && corepack prepare pnpm@10.32.1 --activate
1212
WORKDIR /app
1313
COPY --from=deps /app/node_modules ./node_modules
@@ -34,7 +34,7 @@ RUN pnpm build
3434
# Compile db-migrate.ts to JS so the runner stage doesn't need tsx
3535

3636
# Stage 3: Production runner
37-
FROM node:20-alpine AS runner
37+
FROM node:24-alpine AS runner
3838
WORKDIR /app
3939

4040
ENV NODE_ENV=production

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
"@testing-library/jest-dom": "^6.9.1",
6161
"@testing-library/react": "^16.3.2",
6262
"@types/better-sqlite3": "^7.6.13",
63-
"@types/node": "^20",
63+
"@types/node": "^24.12.0",
6464
"@types/pg": "^8.20.0",
6565
"@types/react": "^18",
6666
"@types/react-dom": "^18",

0 commit comments

Comments
 (0)