pnpmBuildHook: init

This commit is contained in:
Ross Smyth
2026-02-04 15:30:46 -05:00
parent b444726098
commit 93f0ac6a3b
2 changed files with 62 additions and 0 deletions

View 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

View 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