Skip to content

chore: pnpm 10.33.0 → 11.17.0 + allowBuilds 설정 전환 - #92

Merged
DaveDev42 merged 2 commits into
mainfrom
chore/pnpm-11
Jul 27, 2026
Merged

chore: pnpm 10.33.0 → 11.17.0 + allowBuilds 설정 전환#92
DaveDev42 merged 2 commits into
mainfrom
chore/pnpm-11

Conversation

@DaveDev42

Copy link
Copy Markdown
Contributor

배경

pnpm 11부터 pnpm-workspace.yamlonlyBuiltDependencies / ignoredBuiltDependencies가 더 이상 읽히지 않는다. 이 설정 없이 그냥 버전만 올리면 pnpm install --frozen-lockfile이 native build script를 막고 ERR_PNPM_IGNORED_BUILDS로 종료(1)한다 — CI red.

새 형식인 allowBuilds 맵(packageName: true|false)은 pnpm 10.33.0과 11.17.0 양쪽에서 동일하게 동작한다. 그래서 설정 전환과 버전 bump를 이 PR 하나로 안전하게 묶었다.

변경 내용

  • package.json: packageManager[email protected]으로
  • pnpm-workspace.yaml: onlyBuiltDependencies/ignoredBuiltDependenciesallowBuilds 맵으로 전환 (동작 동일 유지)
    • better-sqlite3: true, esbuild: true, protobufjs: true, workerd: true (기존 onlyBuiltDependencies)
    • sharp: false (기존 ignoredBuiltDependencies)
  • Dockerfile: corepack pin을 [email protected]으로
  • CLAUDE.md: 공통 스택 버전 표기 + native module 빌드 설명을 새 allowBuilds 형식 기준으로 갱신
  • docs/SELF_HOSTING.md: 요구 버전 표기 갱신

better-sqlite3는 alpine/musl prebuild를 제공하지 않아 native compile이 반드시 필요한 의존성이라 allowBuilds에서 true로 명시했다 — 여기가 잘못되면 Docker 이미지 빌드가 install 시점이 아니라 런타임에 조용히 깨진다.

검증

  • pnpm install --frozen-lockfile — exit 0, ERR_PNPM_IGNORED_BUILDS 없음
  • pnpm-lock.yaml diff 없음 (lockfile 영향 없음)
  • pnpm lint / pnpm typecheck / pnpm build / pnpm test 전부 통과
  • require('better-sqlite3') 정상 로드 확인

pnpm 11부터 onlyBuiltDependencies/ignoredBuiltDependencies가 더 이상
읽히지 않아 pnpm-workspace.yaml을 allowBuilds 맵으로 전환한다.
allowBuilds는 10.33.0/11.17.0 양쪽에서 동작해 설정 전환과 버전 bump를
한 커밋으로 안전하게 묶을 수 있다.
package.json packageManager와 어긋나면 action-setup이
Multiple versions of pnpm specified 에러로 즉시 실패한다.
@DaveDev42
DaveDev42 merged commit e5ec771 into main Jul 27, 2026
2 checks passed
@DaveDev42
DaveDev42 deleted the chore/pnpm-11 branch July 27, 2026 10:56
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