Unverified Commit 9d02a59f authored by Alexey Orlenko's avatar Alexey Orlenko
Browse files

prisma_7: use `pnpm pack` instead of `npm pack`

parent ec230043
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -73,13 +73,22 @@ stdenv.mkDerivation (finalAttrs: {
    pnpm install --offline --ignore-scripts --frozen-lockfile --prod
    cp -r node_modules $out/lib/prisma

    # Resolve workspace references so pnpm pack works
    for package in packages/*; do
      jq --arg version $version '
        def resolve_deps: with_entries(.value |= if . == "workspace:*" then $version else . end);
        if has("dependencies") then .dependencies |= resolve_deps else . end
        | if has("devDependencies") then .devDependencies |= resolve_deps else . end
      ' $package/package.json | sponge $package/package.json
    done

    # Only install cli and its workspace dependencies
    for package in cli $deps; do
      filename=$(npm pack --json ./packages/$package | jq -r '.[].filename')
      filename=$(cd packages/$package && pnpm pack | tail -1)
      mkdir -p $out/lib/prisma/packages/$package
      [ -d "packages/$package/node_modules" ] && \
        cp -r packages/$package/node_modules $out/lib/prisma/packages/$package
      tar xf $filename --strip-components=1 -C $out/lib/prisma/packages/$package
      tar xf "packages/$package/$filename" --strip-components=1 -C $out/lib/prisma/packages/$package
    done

    # Remove dangling symlinks to packages we didn't copy to $out