Unverified Commit 31efaed3 authored by Sandro Jäckel's avatar Sandro Jäckel Committed by GitHub
Browse files

Merge pull request #317739 from SuperSandro2000/pnpm-fetch-deps

pnpm.fetchDeps: error if lockfile version has a mismatch
parents 3e2d4a44 7a1cd1fc
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
{
  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