chore: pnpm 10.33.0 → 11.17.0 + allowBuilds 설정 전환 - #92
Merged
Conversation
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 에러로 즉시 실패한다.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
배경
pnpm 11부터
pnpm-workspace.yaml의onlyBuiltDependencies/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/ignoredBuiltDependencies→allowBuilds맵으로 전환 (동작 동일 유지)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.yamldiff 없음 (lockfile 영향 없음)pnpm lint/pnpm typecheck/pnpm build/pnpm test전부 통과require('better-sqlite3')정상 로드 확인