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