Skip to content

chore(deps): better-sqlite3 13.x 업그레이드 + CI arm64 추가 - #1

Merged
tienne merged 1 commit into
mainfrom
chore/better-sqlite3-13
Aug 15, 2026
Merged

chore(deps): better-sqlite3 13.x 업그레이드 + CI arm64 추가#1
tienne merged 1 commit into
mainfrom
chore/better-sqlite3-13

Conversation

@tienne

@tienne tienne commented Aug 15, 2026

Copy link
Copy Markdown
Owner

Node 24.19.0이 node::ObjectWrap에 정리 훅을 붙이면서(nodejs/node#63642) better-sqlite3 11.x의 Database 소멸자가 RemoveEnvironmentCleanupHookCHECK_NOT_NULL(env)에서 abort한다. 8/15부터 CI가 7연속 빨간불이었고, main에는 러너를 24.18.0으로 묶어 임시로 껐다.

Node 쪽 수정(#65196)은 아직 미머지고 24.19.0 뒤로 24.x 릴리즈도 없어서 기다릴 수가 없다.

무엇을

  • better-sqlite3 11.10.0 → 13.0.3. 13.0.0이 N-API로 옮겨가며 node::ObjectWrap 경로가 사라졌다.
  • engines >=20.0.0>=22.0.0. 13.x가 Node 20을 안 받는다.
  • CI에 macos-latest(arm64) 추가. 네이티브 모듈은 아키텍처마다 따로 깨진다 — 11.x는 Node 24에서, 13.x는 darwin-arm64에서 사고가 났었다(#1514). 리눅스만 보면 둘 다 놓친다.
  • 24.18.0 핀 되돌림.

로컬 검증 (darwin-x64)

조합 결과
Node 22.21.0 + 13.0.3 1148개 통과
Node 24.19.0 + 13.0.3 1148개 통과
Node 24.19.0 + 11.10.0 네이티브 빌드 실패 (대조군)

이 PR이 확인해야 할 것

darwin-arm64에서 #1514가 재현되는지. 로컬 맥이 x64라 CI로만 볼 수 있다.

깨지는 변경

Node 20 사용자는 22 이상으로 올려야 한다. Node 20은 2026년 4월 EOL.

🤖 Generated with Claude Code

Node 24.19.0에서 11.x가 죽는 걸 근본에서 없앤다. 13.0.0이 N-API로 옮겨가며
node::ObjectWrap 소멸자 경로 자체가 사라져서, 24.19.0이 붙인 정리 훅에
걸릴 자리가 없다. 로컬 Node 24.19.0에서 1148개 전부 통과하는 걸 확인했다.
같은 환경에서 11.10.0은 네이티브 빌드조차 안 된다.

engines를 >=22로 좁힌다. 13.x가 Node 20을 안 받는다. Node 20은 2026년 4월에
EOL이라 붙잡고 있을 이유가 없지만, 20에서 쓰던 사용자는 올려야 한다.

CI에 macos-latest(arm64)를 더한다. 네이티브 모듈은 아키텍처마다 따로 깨진다 —
11.x는 Node 24에서, 13.x는 darwin-arm64에서 사고가 났었다(#1514). 리눅스만
보면 둘 다 놓친다. 24 핀도 되돌린다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@tienne
tienne merged commit c316cdb into main Aug 15, 2026
4 checks passed
@tienne
tienne deleted the chore/better-sqlite3-13 branch August 15, 2026 11:10
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