From 9cb0a57a779132d0d4454e22e2c237d01b184ed1 Mon Sep 17 00:00:00 2001 From: Komiya <102408484+pHo9UBenaA@users.noreply.github.com> Date: Wed, 30 Sep 2026 10:19:53 +0900 Subject: [PATCH] feat(pnpm-workspace): support frozenLockfile setting (#6431) Co-authored-by: btea --- src/negative_test/pnpm-workspace/frozen-lockfile-type.yaml | 2 ++ src/schemas/json/pnpm-workspace.json | 4 ++++ src/test/pnpm-workspace/pnpm-workspace.yaml | 3 +++ src/test/pnpm-workspace/pnpm-workspace2.yaml | 3 +++ 4 files changed, 12 insertions(+) create mode 100644 src/negative_test/pnpm-workspace/frozen-lockfile-type.yaml diff --git a/src/negative_test/pnpm-workspace/frozen-lockfile-type.yaml b/src/negative_test/pnpm-workspace/frozen-lockfile-type.yaml new file mode 100644 index 00000000000..aaf455cf3a8 --- /dev/null +++ b/src/negative_test/pnpm-workspace/frozen-lockfile-type.yaml @@ -0,0 +1,2 @@ +# yaml-language-server: $schema=../../schemas/json/pnpm-workspace.json +frozenLockfile: 'true' diff --git a/src/schemas/json/pnpm-workspace.json b/src/schemas/json/pnpm-workspace.json index e643ca49569..bc7030fa044 100644 --- a/src/schemas/json/pnpm-workspace.json +++ b/src/schemas/json/pnpm-workspace.json @@ -542,6 +542,10 @@ "description": "When set to false, pnpm won't read or generate a pnpm-lock.yaml file.", "type": "boolean" }, + "frozenLockfile": { + "description": "When true, installation fails if the lockfile is missing or needs to be updated.", + "type": "boolean" + }, "preferFrozenLockfile": { "description": "When set to true and the available pnpm-lock.yaml satisfies the package.json dependencies directive, a headless installation is performed.", "type": "boolean" diff --git a/src/test/pnpm-workspace/pnpm-workspace.yaml b/src/test/pnpm-workspace/pnpm-workspace.yaml index d8dce8f2a2b..a4908074bde 100644 --- a/src/test/pnpm-workspace/pnpm-workspace.yaml +++ b/src/test/pnpm-workspace/pnpm-workspace.yaml @@ -25,6 +25,9 @@ saveExact: true # https://pnpm.io/settings/other#savetypes saveTypes: true +# https://pnpm.io/cli/install#--frozen-lockfile +frozenLockfile: true + # https://pnpm.io/cli/install#--prefer-offline preferOffline: true diff --git a/src/test/pnpm-workspace/pnpm-workspace2.yaml b/src/test/pnpm-workspace/pnpm-workspace2.yaml index 20330862517..1e9045e0036 100644 --- a/src/test/pnpm-workspace/pnpm-workspace2.yaml +++ b/src/test/pnpm-workspace/pnpm-workspace2.yaml @@ -1,3 +1,6 @@ # yaml-language-server: $schema=../../schemas/json/pnpm-workspace.json # https://pnpm.io/catalogs catalog: null + +# https://pnpm.io/cli/install#--frozen-lockfile +frozenLockfile: false