스크립트
이 페이지에서는 pnpm이 package.json의 scripts 필드를 처리하는 방법을 설명합니다.
숨겨진 스크립트#
추가된 버전: v11.0.0
이름이 .으로 시작하는 스크립트는 숨겨집니다. 이러한 스크립트는 pnpm run으로 직접 실행할 수 없으며 pnpm run 목록에서 생략됩니다. 숨겨진 스크립트는 다른 스크립트에서만 호출할 수 있습니다.
{
"scripts": {
".helper": "echo 'I am hidden'",
"build": "pnpm run .helper && tsc"
}
}
이 예시에서 pnpm run .helper는 실패하지만, .helper가 다른 스크립트에서 호출되므로 pnpm run build는 성공합니다.
환경 변수#
pnpm은 라이프사이클 스크립트 실행 중에 다음 환경 변수를 설정합니다:
npm_package_name— 패키지 이름npm_package_version— 패키지 버전npm_lifecycle_event— 실행 중인 스크립트의 이름(예:postinstall)
참고
버전 v11부터 pnpm은 더 이상 pnpm 설정으로부터 npm_config_* 환경 변수를 채우지 않습니다. Yarn의 동작과 마찬가지로 위의 잘 알려진 npm_* 변수만 설정됩니다.
내장 명령과 스크립트 이름 충돌#
추가된 버전: v11.0.0
다음 내장 명령은 사용자 스크립트를 우선합니다: clean, setup, deploy, rebuild. package.json에 이러한 이름 중 하나로 스크립트가 정의되어 있으면, pnpm <name>은 내장 명령 대신 해당 스크립트를 실행합니다.
내장 명령을 강제로 실행하려면 pnpm pm <name>을 사용하세요.
라이프사이클 스크립트#
pnpm:devPreinstall#
로컬 pnpm install에서만 실행됩니다.
의존성이 설치되기 전에 실행됩니다.
이 스크립트는 루트 프로젝트의 package.json에 설정된 경우에만 실행됩니다.