Loading pkgs/build-support/node/build-npm-package/hooks/default.nix +1 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ name = "npm-config-hook"; substitutions = { nodeSrc = srcOnly nodejs; nodeGyp = "${buildPackages.nodejs}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js"; # Specify `diff`, `jq`, and `prefetch-npm-deps` by abspath to ensure that the user's build # inputs do not cause us to find the wrong binaries. Loading pkgs/build-support/node/build-npm-package/hooks/npm-config-hook.sh +6 −16 Original line number Diff line number Diff line Loading @@ -3,10 +3,15 @@ npmConfigHook() { echo "Executing npmConfigHook" # Use npm patches in the nodejs package export NIX_NODEJS_BUILDNPMPACKAGE=1 export prefetchNpmDeps="@prefetchNpmDeps@" echo "Configuring npm" export HOME="$TMPDIR" export npm_config_nodedir="@nodeSrc@" export npm_config_node_gyp="@nodeGyp@" if [ -z "${npmDeps-}" ]; then echo Loading Loading @@ -93,22 +98,7 @@ npmConfigHook() { patchShebangs node_modules local -r lockfileVersion="$(@jq@ .lockfileVersion package-lock.json)" if (( lockfileVersion < 2 )); then # This is required because npm consults a hidden lockfile in node_modules to figure out # what to create bin links for. When using an old lockfile offline, this hidden lockfile # contains insufficent data, making npm silently fail to create links. The hidden lockfile # is bypassed when any file in node_modules is newer than it. Thus, we create a file when # using an old lockfile, so bin links work as expected without having to downgrade Node or npm. touch node_modules/.meow fi npm rebuild "${npmRebuildFlags[@]}" "${npmFlags[@]}" if (( lockfileVersion < 2 )); then rm node_modules/.meow fi npm rebuild $npmRebuildFlags "${npmRebuildFlagsArray[@]}" $npmFlags "${npmFlagsArray[@]}" patchShebangs node_modules Loading Loading
pkgs/build-support/node/build-npm-package/hooks/default.nix +1 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ name = "npm-config-hook"; substitutions = { nodeSrc = srcOnly nodejs; nodeGyp = "${buildPackages.nodejs}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js"; # Specify `diff`, `jq`, and `prefetch-npm-deps` by abspath to ensure that the user's build # inputs do not cause us to find the wrong binaries. Loading
pkgs/build-support/node/build-npm-package/hooks/npm-config-hook.sh +6 −16 Original line number Diff line number Diff line Loading @@ -3,10 +3,15 @@ npmConfigHook() { echo "Executing npmConfigHook" # Use npm patches in the nodejs package export NIX_NODEJS_BUILDNPMPACKAGE=1 export prefetchNpmDeps="@prefetchNpmDeps@" echo "Configuring npm" export HOME="$TMPDIR" export npm_config_nodedir="@nodeSrc@" export npm_config_node_gyp="@nodeGyp@" if [ -z "${npmDeps-}" ]; then echo Loading Loading @@ -93,22 +98,7 @@ npmConfigHook() { patchShebangs node_modules local -r lockfileVersion="$(@jq@ .lockfileVersion package-lock.json)" if (( lockfileVersion < 2 )); then # This is required because npm consults a hidden lockfile in node_modules to figure out # what to create bin links for. When using an old lockfile offline, this hidden lockfile # contains insufficent data, making npm silently fail to create links. The hidden lockfile # is bypassed when any file in node_modules is newer than it. Thus, we create a file when # using an old lockfile, so bin links work as expected without having to downgrade Node or npm. touch node_modules/.meow fi npm rebuild "${npmRebuildFlags[@]}" "${npmFlags[@]}" if (( lockfileVersion < 2 )); then rm node_modules/.meow fi npm rebuild $npmRebuildFlags "${npmRebuildFlagsArray[@]}" $npmFlags "${npmFlagsArray[@]}" patchShebangs node_modules Loading