Skip to content

chore: pnpm v10 빌드 스크립트 허용 목록 추가 (CI dev build 복구)#53

Merged
hyejj19 merged 1 commit into
mainfrom
fix/pnpm-built-dependencies
May 11, 2026
Merged

chore: pnpm v10 빌드 스크립트 허용 목록 추가 (CI dev build 복구)#53
hyejj19 merged 1 commit into
mainfrom
fix/pnpm-built-dependencies

Conversation

@hyejj19
Copy link
Copy Markdown
Collaborator

@hyejj19 hyejj19 commented May 11, 2026

PR 제목 (Title)

chore: pnpm v10 빌드 스크립트 허용 목록 추가 (CI dev build 복구)

변경 사항 (Changes)

  • package.jsonpnpm.onlyBuiltDependencies 추가 (esbuild, msw)

변경 이유 (Reason for Changes)

PR #52 머지 직후 dev 도커 빌드가 다음 에러로 실패했습니다.

```
[ERR_PNPM_IGNORED_BUILDS] Ignored build scripts: esbuild@0.25.12, msw@2.12.7
Run "pnpm approve-builds" to pick which dependencies should be allowed to run scripts.
ERROR: process "/bin/sh -c pnpm install --frozen-lockfile" did not complete successfully: exit code: 1
```

이는 pnpm v10부터 의존성의 postinstall 스크립트가 기본 차단되면서 발생한 환경 이슈입니다 (코드 변경과 무관). Dockerfile이 `corepack prepare pnpm@latest --activate` 로 매번 최신 pnpm을 가져오는 구조라 v10으로 자동 승격된 시점에 같이 깨졌습니다.

`esbuild`는 플랫폼별 바이너리 다운로드, `msw`는 service worker 스크립트 복사 용도로 postinstall이 필요하므로 `pnpm.onlyBuiltDependencies` 에 명시적으로 허용해야 합니다.

참고: pnpm v10 changelog – onlyBuiltDependencies

테스트 방법 (Test Procedure)

로컬에서 동일 조건 재현:

```bash
rm -rf node_modules/.pnpm/esbuild* node_modules/.pnpm/msw*
pnpm install --frozen-lockfile
```

수정 전: `Ignored build scripts: esbuild, msw` 경고 + CI에선 exit 1
수정 후:
```
.../node_modules/msw postinstall: Done
.../esbuild@0.25.12/node_modules/esbuild postinstall: Done
```

머지 후 GitHub Actions의 `build-development` 워크플로우가 정상 통과하는지 확인 필요.

참고 사항 (Additional Information)

  • 장기 안정성 측면 권장: `Dockerfile`에서 `pnpm@latest` 대신 고정 버전(예: `pnpm@10.6.2`) 또는 `package.json`의 `packageManager` 필드를 명시해 재현 가능한 빌드를 보장하는 게 좋습니다. 이번 PR에는 포함하지 않았습니다.

🤖 Generated with Claude Code

pnpm v10부터 기본적으로 의존성의 postinstall 스크립트를 차단하면서
CI 도커 빌드(`pnpm install --frozen-lockfile`)가 다음 에러로 실패:

  [ERR_PNPM_IGNORED_BUILDS] Ignored build scripts: esbuild, msw

esbuild는 플랫폼 바이너리 설치, msw는 service worker 스크립트 복사 용도로
postinstall이 필요하므로 `pnpm.onlyBuiltDependencies` 에 명시한다.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@hyejj19 hyejj19 merged commit 1c13124 into main May 11, 2026
2 checks passed
@hyejj19 hyejj19 deleted the fix/pnpm-built-dependencies branch May 11, 2026 14:17
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