pnpm init

package.json 파일을 생성합니다.

옵션#

--bare#

버전 10.25.0에서 추가됨

필수 필드만 포함된 package.json을 생성합니다.

--init-type <type>#

  • 기본값: module
  • 유형: commonjs, module

패키지의 모듈 시스템을 설정합니다.

--init-package-manager#

Pin the project to a pnpm version.

Since v11, the pin is written as a devEngines.packageManager entry, so the resolved version is captured in pnpm-lock.yaml. Since v11.23.0 it is also written to the legacy packageManager field, as an exact version rather than a ^ range, because Corepack reads only packageManager and accepts nothing but an exact version.

Since v11.25.0, the pin can be newer than the pnpm that ran the command, so a project scaffolded by an outdated pnpm no longer inherits that staleness through its own pin (#7490). pnpm looks up the version published under the latest tag on the package-manager registries, and pins it only when it is newer than the running version. The lookup raises the pin, it never lowers it.

Two things follow from that. latest is a tag rather than "the newest release", so the pin tracks whichever line the tag points at: with latest on the pnpm 12 line, a pnpm 11.25 running pnpm init pins the newest pnpm 12, while a pnpm older than 11.25 predates the lookup and pins itself. And when the lookup cannot answer (no network, an unreachable or slow registry, --offline, or a latest that minimumReleaseAge or trustPolicy rejects), the running version is pinned, as before. The lookup never fails or hangs the command.

Inside a workspace subpackage this flag has no effect. The pin is only added to the workspace root's package.json, and the subpackage follows it. Pass --no-init-package-manager to scaffold a manifest with no pin at all.

환경설정#

These settings fill in fields of the scaffolded package.json. They may be set in pnpm-workspace.yaml, in the global configuration file, or through the environment as PNPM_CONFIG_INIT_VERSION and friends.

initVersion#

  • Default: 1.0.0
  • 유형: String

The version written into the new package.json.

initLicense#

  • Default: ISC
  • 유형: String

The license written into the new package.json.

initAuthorName, initAuthorEmail, initAuthorUrl#

  • 유형: String

Assembled into the author field, in npm's Name <email> (url) form. A field left unset is left out of the string; with none of the three set, no author field is written.

pnpm-workspace.yaml
initLicense: MIT
initAuthorName: Zoltan Kochan
initAuthorUrl: https://kochan.io