prisma_7: use pnpm pack instead of npm pack

This commit is contained in:
Alexey Orlenko
2026-02-12 19:21:22 +01:00
parent ec230043f3
commit 9d02a59f6f
+11 -2
View File
@@ -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