From 95db53b36de4df1aa56cd2caa24965ed2503c41f Mon Sep 17 00:00:00 2001 From: Newkoop Date: Thu, 10 Sep 2026 10:47:00 +0200 Subject: [PATCH 1/2] Added support for yarn Lockfile version 9 and 10 --- dev/checks.nix | 13 ++++++++++++- lib/parsers.nix | 2 ++ yarn-berry/package.json | 2 +- yarn-berry/yarn.lock | 2 +- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/dev/checks.nix b/dev/checks.nix index 92dd442..67d9898 100644 --- a/dev/checks.nix +++ b/dev/checks.nix @@ -9,10 +9,21 @@ runtimeInputs = [ pkgs.yarn ]; text = "yarn $@"; }; + # nixpkgs' yarn-berry is pinned to 4.14.1, which still emits lockfileVersion 9. + # override to the latest release so our fixture exercises real lockfileVersion 10. + yarn-berry-pkg = pkgs.yarn-berry.overrideAttrs (old: { + version = "4.18.0"; + src = pkgs.fetchFromGitHub { + owner = "yarnpkg"; + repo = "berry"; + tag = "@yarnpkg/cli/4.18.0"; + hash = "sha256-pO89wh17cW9/RGKjo70yiefr+9nlJAQs4ZEdUnzdgQM="; + }; + }); yarn-berry = pkgs.writeShellApplication { name = "yarn-berry"; checkPhase = ""; - runtimeInputs = [ pkgs.yarn-berry ]; + runtimeInputs = [ yarn-berry-pkg ]; text = "yarn $@"; }; in diff --git a/lib/parsers.nix b/lib/parsers.nix index 6398a62..732f3bf 100644 --- a/lib/parsers.nix +++ b/lib/parsers.nix @@ -127,6 +127,8 @@ in # "@prisma/engines-version@npm:6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0": yarnBerryLockParsers = { "8" = yarnLockParser1; + "9" = yarnLockParser1; + "10" = yarnLockParser1; }; lockfile = builtins.readFile path; diff --git a/yarn-berry/package.json b/yarn-berry/package.json index 88f6483..35e13f6 100644 --- a/yarn-berry/package.json +++ b/yarn-berry/package.json @@ -1,6 +1,6 @@ { "name": "yarn-berry", - "packageManager": "yarn@4.6.0", + "packageManager": "yarn@4.18.0", "dependencies": { "@prisma/client": "5.1.1" }, diff --git a/yarn-berry/yarn.lock b/yarn-berry/yarn.lock index 88395cc..065af4e 100644 --- a/yarn-berry/yarn.lock +++ b/yarn-berry/yarn.lock @@ -2,7 +2,7 @@ # Manual changes might be lost - proceed with caution! __metadata: - version: 8 + version: 10 cacheKey: 10c0 "@prisma/client@npm:5.1.1": From c9478da5f15f0f5c85913fb5aad57d1a7dc70014 Mon Sep 17 00:00:00 2001 From: Newkoop Date: Mon, 5 Oct 2026 11:32:15 +0200 Subject: [PATCH 2/2] Move yarn/nixpkgs bump into a separate PR Keep this PR limited to accepting yarn berry lockfile versions 9 and 10 in the parser. Co-Authored-By: Claude Opus 5.5 --- dev/checks.nix | 13 +------------ yarn-berry/package.json | 2 +- yarn-berry/yarn.lock | 2 +- 3 files changed, 3 insertions(+), 14 deletions(-) diff --git a/dev/checks.nix b/dev/checks.nix index 67d9898..92dd442 100644 --- a/dev/checks.nix +++ b/dev/checks.nix @@ -9,21 +9,10 @@ runtimeInputs = [ pkgs.yarn ]; text = "yarn $@"; }; - # nixpkgs' yarn-berry is pinned to 4.14.1, which still emits lockfileVersion 9. - # override to the latest release so our fixture exercises real lockfileVersion 10. - yarn-berry-pkg = pkgs.yarn-berry.overrideAttrs (old: { - version = "4.18.0"; - src = pkgs.fetchFromGitHub { - owner = "yarnpkg"; - repo = "berry"; - tag = "@yarnpkg/cli/4.18.0"; - hash = "sha256-pO89wh17cW9/RGKjo70yiefr+9nlJAQs4ZEdUnzdgQM="; - }; - }); yarn-berry = pkgs.writeShellApplication { name = "yarn-berry"; checkPhase = ""; - runtimeInputs = [ yarn-berry-pkg ]; + runtimeInputs = [ pkgs.yarn-berry ]; text = "yarn $@"; }; in diff --git a/yarn-berry/package.json b/yarn-berry/package.json index 35e13f6..88f6483 100644 --- a/yarn-berry/package.json +++ b/yarn-berry/package.json @@ -1,6 +1,6 @@ { "name": "yarn-berry", - "packageManager": "yarn@4.18.0", + "packageManager": "yarn@4.6.0", "dependencies": { "@prisma/client": "5.1.1" }, diff --git a/yarn-berry/yarn.lock b/yarn-berry/yarn.lock index 065af4e..88395cc 100644 --- a/yarn-berry/yarn.lock +++ b/yarn-berry/yarn.lock @@ -2,7 +2,7 @@ # Manual changes might be lost - proceed with caution! __metadata: - version: 10 + version: 8 cacheKey: 10c0 "@prisma/client@npm:5.1.1":