pnpm v11 릴리즈

4 hours ago 1

pnpm 11 주요 변경 사항

  • Node.js 22+ 필요: 이제 Node.js 22 버전 이상이 필수입니다. Node 18, 19, 20, 21 버전에 대한 지원은 중단되었습니다. 독립 실행형(Standalone) 파일의 경우 glibc 2.27 이상이 필요합니다.
  • 공급망 보호(Supply-chain protection) 기본 활성화: 보안 강화를 위해 minimumReleaseAge 기본값이 1440(1일)으로 설정됩니다. (새로 배포된 패키지는 24시간이 지나야 설치 가능) 또한 blockExoticSubdeps가 기본적으로 true가 됩니다.
  • allowBuilds 도입: 기존의 복잡했던 빌드 관련 설정(onlyBuiltDependencies, onlyBuiltDependenciesFile, neverBuiltDependencies, ignoredBuiltDependencies, ignoreDepScripts)이 모두 제거되고, allowBuilds 하나로 통합 관리됩니다.
  • 글로벌 설치 격리: pnpm add -g를 통한 설치 시 각 패키지는 자체적인 package.json, node_modules, lockfile을 갖는 독립된 디렉토리에 설치됩니다. 이를 통해 글로벌 패키지 간의 의존성 충돌이 방지됩니다.
  • SQLite 기반 스토어 인덱스 (Store v11): 인덱스 관리에 SQLite를 도입하여 syscall을 줄이고 설치 속도를 획기적으로 개선했습니다.
  • 네이티브 퍼블리시(Publish) 흐름: pnpm publish, login, logout, view, deprecate, unpublish, dist-tag, version 명령어가 더 이상 npm CLI에 의존하지 않고 pnpm 네이티브로 동작합니다.
  • .npmrc 역할 제한: 이제 .npmrc는 인증(auth) 및 레지스트리 설정용으로만 사용됩니다. 그 외의 모든 설정은 pnpm-workspace.yaml이나 새로운 글로벌 config.yaml로 옮겨야 하며, 환경 변수 접두사는 pnpm_config_*를 사용합니다.
Read Entire Article