prefetch-npm-deps: add support for npm-shrinkwrap.json

This commit is contained in:
Antoine du Hamel
2025-11-09 16:23:13 +01:00
parent 00d4ea150f
commit 5b74cebfbc

View File

@@ -242,12 +242,16 @@
buildPhase = '' buildPhase = ''
runHook preBuild runHook preBuild
if [[ ! -e package-lock.json ]]; then if [[ -f npm-shrinkwrap.json ]]; then
local -r srcLockfile="npm-shrinkwrap.json"
elif [[ -f package-lock.json ]]; then
local -r srcLockfile="package-lock.json"
else
echo echo
echo "ERROR: The package-lock.json file does not exist!" echo "ERROR: No lock file!"
echo echo
echo "package-lock.json is required to make sure that npmDepsHash doesn't change" echo "package-lock.json or npm-shrinkwrap.json is required to make sure"
echo "when packages are updated on npm." echo "that npmDepsHash doesn't change when packages are updated on npm."
echo echo
echo "Hint: You can copy a vendored package-lock.json file via postPatch." echo "Hint: You can copy a vendored package-lock.json file via postPatch."
echo echo
@@ -255,7 +259,7 @@
exit 1 exit 1
fi fi
prefetch-npm-deps package-lock.json $out prefetch-npm-deps $srcLockfile $out
runHook postBuild runHook postBuild
''; '';