pnpm pkg

추가된 버전: v11.3.0

package.json의 내용을 명령줄에서 관리합니다.

pnpm pkg get [<key> [<key> ...]]
pnpm pkg set <key>=<value> [<key>=<value> ...]
pnpm pkg delete <key> [<key> ...]
pnpm pkg fix

중첩된 필드는 점으로 구분된 경로로 지정합니다 (예를 들어 scripts.test, repository.url).

Commands#

get#

package.json에서 값을 가져옵니다. 인수가 없으면 전체 매니페스트를 출력합니다. 하나 이상의 키를 지정하면 요청한 필드를 출력합니다.

pnpm pkg get name
pnpm pkg get name version
pnpm pkg get scripts.test

키를 하나만 요청하고 그 값이 문자열이면 값을 그대로 출력하고, 그렇지 않으면 JSON으로 인코딩된 값을 출력합니다. 항상 JSON을 출력하려면 --json을 전달하세요.

set#

package.json에 하나 이상의 값을 설정합니다. 각 인수는 key=value 형식입니다.

pnpm pkg set name=my-package
pnpm pkg set scripts.build="tsc -p ."
pnpm pkg set 'keywords[0]'=cli

기본적으로 값은 문자열로 저장됩니다. --json을 전달하면 저장하기 전에 값을 JSON으로 구문 분석합니다 (불리언, 숫자, 배열, 객체에 유용합니다):

pnpm pkg set private=true --json
pnpm pkg set 'engines={"node":">=22"}' --json

delete#

package.json에서 하나 이상의 키를 제거합니다.

pnpm pkg delete scripts.test
pnpm pkg delete keywords

fix#

package.json의 일반적인 오류를 자동으로 수정합니다 (예를 들어 문자열이 아닌 name 또는 version을 제거하고, 값이 객체가 아닌 종속성 / scripts 블록을 삭제하며, 문자열도 객체도 아닌 bin 필드를 삭제합니다).

pnpm pkg fix

옵션#

--json#

설정할 때 쓰기 전에 각 value를 JSON으로 구문 분석합니다. 단일 키를 가져올 때 값을 그대로 반환하는 대신 JSON으로 인코딩된 형식을 반환합니다.

--recursive, -r#

모든 워크스페이스 프로젝트 또는 --filter로 선택한 모든 프로젝트에서 하위 명령을 실행합니다.

pnpm -r pkg get name
pnpm -r pkg set version=1.0.0
pnpm --filter "./packages/*" pkg get name

pnpm -r pkg get은 패키지 이름을 키로 하는 JSON 객체를 반환하며, set, delete, fix는 일치하는 각 프로젝트에 적용됩니다.