From 95db53b36de4df1aa56cd2caa24965ed2503c41f Mon Sep 17 00:00:00 2001 From: Newkoop Date: Thu, 10 Sep 2026 10:47:00 +0200 Subject: [PATCH 1/4] 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/4] 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": From a8366f712607618f56645b070a31454848d4d03c Mon Sep 17 00:00:00 2001 From: Newkoop Date: Mon, 5 Oct 2026 11:35:19 +0200 Subject: [PATCH 3/4] Update nixpkgs and bump yarn-berry fixture to 4.18.0 nixpkgs-unstable now ships yarn-berry 4.18.0, so the fixture lockfile is generated as lockfileVersion 10 without overriding the package. Co-Authored-By: Claude Opus 5.5 --- dev/flake.lock | 6 +++--- yarn-berry/.yarnrc.yml | 6 ++++++ yarn-berry/package.json | 2 +- yarn-berry/yarn.lock | 2 +- 4 files changed, 11 insertions(+), 5 deletions(-) create mode 100644 yarn-berry/.yarnrc.yml diff --git a/dev/flake.lock b/dev/flake.lock index 0ffbdbb..d01aade 100644 --- a/dev/flake.lock +++ b/dev/flake.lock @@ -20,11 +20,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1775095191, - "narHash": "sha256-CsqRiYbgQyv01LS0NlC7shwzhDhjNDQSrhBX8VuD3nM=", + "lastModified": 1791097562, + "narHash": "sha256-K9O9lG3UZNFCnwrz0ViWgP3Kgqukg1DvvzsrkFJfcvU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "106eb93cbb9d4e4726bf6bc367a3114f7ed6b32f", + "rev": "a322c65bf7233456788a9ebf03bc067db7dc090a", "type": "github" }, "original": { diff --git a/yarn-berry/.yarnrc.yml b/yarn-berry/.yarnrc.yml new file mode 100644 index 0000000..432cdbc --- /dev/null +++ b/yarn-berry/.yarnrc.yml @@ -0,0 +1,6 @@ +approvedGitRepositories: + - "**" + +enableScripts: true + +npmMinimalAgeGate: 0 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 3ece079b953680df120be8824b8a643f70ef9dd9 Mon Sep 17 00:00:00 2001 From: Newkoop Date: Mon, 5 Oct 2026 11:43:11 +0200 Subject: [PATCH 4/4] Removed not relevant files and changes --- lib/parsers.nix | 2 -- yarn-berry/.yarnrc.yml | 6 ------ 2 files changed, 8 deletions(-) delete mode 100644 yarn-berry/.yarnrc.yml diff --git a/lib/parsers.nix b/lib/parsers.nix index 732f3bf..6398a62 100644 --- a/lib/parsers.nix +++ b/lib/parsers.nix @@ -127,8 +127,6 @@ 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/.yarnrc.yml b/yarn-berry/.yarnrc.yml deleted file mode 100644 index 432cdbc..0000000 --- a/yarn-berry/.yarnrc.yml +++ /dev/null @@ -1,6 +0,0 @@ -approvedGitRepositories: - - "**" - -enableScripts: true - -npmMinimalAgeGate: 0