npmHooks.npmInstallHook: pass install flags to prune

Changed files
+3 -3
doc
languages-frameworks
pkgs
build-support
node
build-npm-package
+1 -1
doc/languages-frameworks/javascript.section.md
···
* `makeCacheWritable`: Whether to make the cache writable prior to installing dependencies. Don't set this unless npm tries to write to the cache directory, as it can slow down the build.
* `npmBuildScript`: The script to run to build the project. Defaults to `"build"`.
* `npmFlags`: Flags to pass to all npm commands.
-
* `npmInstallFlags`: Flags to pass to `npm ci`.
+
* `npmInstallFlags`: Flags to pass to `npm ci` and `npm prune`.
* `npmBuildFlags`: Flags to pass to `npm run ${npmBuildScript}`.
* `npmPackFlags`: Flags to pass to `npm pack`.
+1 -1
pkgs/build-support/node/build-npm-package/default.nix
···
, npmBuildScript ? "build"
# Flags to pass to all npm commands.
, npmFlags ? [ ]
-
# Flags to pass to `npm ci`.
+
# Flags to pass to `npm ci` and `npm prune`.
, npmInstallFlags ? [ ]
# Flags to pass to `npm rebuild`.
, npmRebuildFlags ? [ ]
+1 -1
pkgs/build-support/node/build-npm-package/hooks/npm-install-hook.sh
···
local -r nodeModulesPath="$packageOut/node_modules"
if [ ! -d "$nodeModulesPath" ]; then
-
npm prune --omit dev
+
npm prune --omit dev $npmInstallFlags "${npmInstallFlagsArray[@]}" $npmFlags "${npmFlagsArray[@]}"
find node_modules -maxdepth 1 -type d -empty -delete
cp -r node_modules "$nodeModulesPath"