Skip to content

chore(deps): upgrade Node.js to v24#48

Closed
tznthou wants to merge 1 commit into
mainfrom
chore/node-v24
Closed

chore(deps): upgrade Node.js to v24#48
tznthou wants to merge 1 commit into
mainfrom
chore/node-v24

Conversation

@tznthou
Copy link
Copy Markdown
Owner

@tznthou tznthou commented May 29, 2026

摘要

升級 Node.js v20/22 → v24,Renovate 第二波第二輪的綠燈項目之二。

改動(7 處 / 5 檔,純版本宣告)

  • .node-version 22 → 24
  • package.json engines <23.0.0<25.0.0
  • CI workflows setup-node '20''24':ci.yml(lint-typecheck + test)、electron-smoke.yml、release.yml(macOS + Windows)

為何低風險

  • Node 24 是 Active LTS(EOL 2028-04);node 20 剛 EOL
  • ccRewind runtime 用 Electron 41 內建的 Node(已是 v24),升級讓 dev/CI 環境對齊內建版本,非改變使用者 runtime
  • better-sqlite3 走 electron-rebuild(Electron ABI,與環境 node ABI 脫鉤)
  • 所有 workflow 已配 Python 3.11 fallback,node-gyp source build 兜底就位

驗證

  • ✅ root + web typecheck 綠
  • ✅ lint 綠
  • ✅ 469 tests 全綠
  • 真實 node 24 環境驗證在 CI(install / test / smoke 都在 setup-node 24 跑)

🤖 Generated with Claude Code

- .node-version 22 -> 24
- package.json engines: <23.0.0 -> <25.0.0
- CI workflows setup-node 20 -> 24 (ci.yml, electron-smoke.yml, release.yml)

Node 24 is Active LTS; Electron 41 already bundles Node 24, so dev/CI now
aligns with the runtime's built-in Node, and node 20 has reached EOL.
better-sqlite3 goes through electron-rebuild (Electron ABI, decoupled from
the environment node ABI), and every workflow already pins Python 3.11 for
the node-gyp fallback path, so native build risk is covered.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@tznthou
Copy link
Copy Markdown
Owner Author

tznthou commented May 29, 2026

暫緩 node 24 升級。

根因:node 24 + electron 41.7.0 在 linux/windows 的 postinstall「Done」卻不生成 path.txt(electron 套件 install.js × node 24 上游 bug,參見 electron/electron#49983 類問題,OPEN 未修),導致 Electron failed to install correctly。macOS + node 20 不受影響;已排除 cache(全新 install 亦重現)。

評估:升 node 非硬需求 —— app runtime 用 Electron 41 內建 node,與 CI/開發環境 node 完全解耦;node 20 EOL 僅影響 CI build 環境(短暫、不對外),實際風險極低;目前 node 20 CI 全綠。

決定:暫緩,維持 CI node 20。待 electron 修上游 bug 或有實際 dep 需求再升。

@tznthou tznthou closed this May 29, 2026
@tznthou tznthou deleted the chore/node-v24 branch May 29, 2026 02:27
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