Skip to content

feat: migrate to Node.js 24 LTS#11

Merged
smdion merged 1 commit intomainfrom
node-24-lts
Mar 25, 2026
Merged

feat: migrate to Node.js 24 LTS#11
smdion merged 1 commit intomainfrom
node-24-lts

Conversation

@smdion
Copy link
Copy Markdown
Owner

@smdion smdion commented Mar 25, 2026

Summary

  • Dockerfile: node:20-alpinenode:24-alpine (all 3 stages)
  • CI: node-version: 2024
  • @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.

Verified locally

  • Type-check: clean
  • Full test suite: 2,326 passed, 0 failed
  • Next.js 14 engine requirement is >=18.17.0 — Node 24 is compatible

Test plan

  • CI passes (type-check, lint, build, tests, E2E)
  • Docker build succeeds (validates better-sqlite3 native addon compiles on Node 24 alpine)
  • Health endpoint returns correct version after deploy

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Updated Node.js runtime and related development dependencies to the latest stable version across build systems and configuration files.

- 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>
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 25, 2026

📝 Walkthrough

Walkthrough

Node.js runtime version updated from 20 to 24 across CI workflow, Docker build configuration, and TypeScript type definitions. All changes reflect this single version increment across development and deployment infrastructure without functional logic modifications.

Changes

Cohort / File(s) Summary
Node.js Version Upgrade
.github/workflows/ci.yml, Dockerfile, package.json
Updated Node.js from v20 to v24 in CI workflow setup, Docker base images (node:20-alpine → node:24-alpine), and @types/node dev dependency (^20 → ^24.12.0).

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Poem

🐰 Hop, hop—Node's now twenty-four!

From twenty's nest to futures bright,

The Docker seeds and configs soar,

TypeScript types take graceful flight!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat: migrate to Node.js 24 LTS' directly and clearly summarizes the main change—upgrading the runtime from Node.js 20 to Node.js 24 across all configuration files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch node-24-lts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@package.json`:
- Line 63: The dependency "better-sqlite3" pinned at version "12.8.0" is
incompatible with Node.js 24; update package.json to use a better-sqlite3
release that officially supports Node 24 (or change the runtime Node version).
Locate the "better-sqlite3" entry in package.json and replace "12.8.0" with a
compatible version from the better-sqlite3 releases (or update your engines
field or CI/runtime to a supported Node LTS), then run npm/yarn install and
rebuild to verify the native module compiles successfully.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: b850de7a-2e0b-4bfc-863d-a88279f531e3

📥 Commits

Reviewing files that changed from the base of the PR and between 424d6f5 and 8baa464.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (3)
  • .github/workflows/ci.yml
  • Dockerfile
  • package.json

@smdion smdion merged commit efc9ec1 into main Mar 25, 2026
3 checks passed
@smdion smdion deleted the node-24-lts branch March 25, 2026 01:40
@coderabbitai coderabbitai bot mentioned this pull request Mar 25, 2026
8 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant