mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-06-05 21:03:40 +00:00
pnpmBuildHook: init
This commit is contained in:
10
pkgs/by-name/pn/pnpmBuildHook/package.nix
Normal file
10
pkgs/by-name/pn/pnpmBuildHook/package.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
makeSetupHook,
|
||||
}:
|
||||
makeSetupHook {
|
||||
# Shouldn't need to propagate anything because for this to do anything useful,
|
||||
# the config hook must also be used.
|
||||
name = "pnpm-build-hook";
|
||||
|
||||
__structuredAttrs = true;
|
||||
} ./pnpm-build-hook.sh
|
||||
52
pkgs/by-name/pn/pnpmBuildHook/pnpm-build-hook.sh
Normal file
52
pkgs/by-name/pn/pnpmBuildHook/pnpm-build-hook.sh
Normal file
@@ -0,0 +1,52 @@
|
||||
# shellcheck shell=bash
|
||||
|
||||
pnpmBuildHook() {
|
||||
echo "Executing pnpmBuildHook"
|
||||
|
||||
if [[ $pnpmRoot ]]; then
|
||||
pushd "$pnpmRoot"
|
||||
fi
|
||||
|
||||
# Add workspace flags before the other flags
|
||||
local -a pnpmWorkspacesArray
|
||||
concatTo pnpmWorkspacesArray pnpmWorkspaces
|
||||
|
||||
local -a pnpmBuildFlagsArray
|
||||
concatTo pnpmBuildFlagsArray pnpmFlags pnpmBuildFlags
|
||||
|
||||
|
||||
echo
|
||||
echo "Running"
|
||||
echo "pnpm run ${pnpmWorkspacesArray[*]/#/--filter=} ${pnpmBuildScript:-build} ${pnpmBuildFlagsArray[*]}"
|
||||
echo
|
||||
|
||||
if ! pnpm run "${pnpmWorkspacesArray[@]/#/--filter=}" "${pnpmBuildScript:-build}" "${pnpmBuildFlagsArray[@]}"; then
|
||||
echo
|
||||
echo "ERROR: 'pnpm run ${pnpmBuildScript:-build}' failed"
|
||||
echo
|
||||
echo "Here are a few things you can try, depending on the error:"
|
||||
echo "1. Make sure your build script (${pnpmBuildScript:-build}) exists"
|
||||
echo ' If there isnt one, set `dontPnpmBuild = true`.'
|
||||
echo
|
||||
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ $pnpmRoot ]]; then
|
||||
popd
|
||||
fi
|
||||
|
||||
echo "Finished pnpmBuildHook"
|
||||
}
|
||||
|
||||
pnpmBuildPhase() {
|
||||
runHook preBuild
|
||||
|
||||
pnpmBuildHook
|
||||
|
||||
runHook postBuild
|
||||
}
|
||||
|
||||
if [ -z "${dontPnpmBuild-}" ] && [ -z "${buildPhase-}" ]; then
|
||||
buildPhase=pnpmBuildPhase
|
||||
fi
|
||||
Reference in New Issue
Block a user