diff options
Diffstat (limited to 'pkgs/development/tools/pnpm/fetch-deps/default.nix')
-rw-r--r-- | pkgs/development/tools/pnpm/fetch-deps/default.nix | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/pkgs/development/tools/pnpm/fetch-deps/default.nix b/pkgs/development/tools/pnpm/fetch-deps/default.nix index 83972abf8b08a..eb8b847960c53 100644 --- a/pkgs/development/tools/pnpm/fetch-deps/default.nix +++ b/pkgs/development/tools/pnpm/fetch-deps/default.nix @@ -1,17 +1,17 @@ { + lib, stdenvNoCC, - fetchurl, callPackage, jq, moreutils, cacert, makeSetupHook, pnpm, + yq, }: { fetchDeps = { - src, hash ? "", pname, ... @@ -36,15 +36,22 @@ name = "${pname}-pnpm-deps"; nativeBuildInputs = [ + cacert jq moreutils pnpm - cacert + yq ]; installPhase = '' runHook preInstall + lockfileVersion="$(yq -r .lockfileVersion pnpm-lock.yaml)" + if [[ ''${lockfileVersion:0:1} -gt ${lib.versions.major pnpm.version} ]]; then + echo "ERROR: lockfileVersion $lockfileVersion in pnpm-lock.yaml is too new for the provided pnpm version ${lib.versions.major pnpm.version}!" + exit 1 + fi + export HOME=$(mktemp -d) pnpm config set store-dir $out # Some packages produce platform dependent outputs. We do not want to cache those in the global store |