# shellcheck shell=bash pnpmConfigHook() { echo "Executing pnpmConfigHook" if [ -n "${pnpmRoot-}" ]; then pushd "$pnpmRoot" fi if [ -z "${pnpmDeps-}" ]; then echo "Error: 'pnpmDeps' must be set when using pnpmConfigHook." exit 1 fi echo "Configuring pnpm store" export HOME=$(mktemp -d) export STORE_PATH=$(mktemp -d) cp -Tr "$pnpmDeps" "$STORE_PATH" chmod -R +w "$STORE_PATH" pnpm config set store-dir "$STORE_PATH" echo "Installing dependencies" if [[ -n "$pnpmWorkspace" ]]; then pnpmInstallFlags+=("--filter=$pnpmWorkspace") fi runHook prePnpmInstall pnpm install \ --offline \ --ignore-scripts \ "${pnpmInstallFlags[@]}" \ --frozen-lockfile echo "Patching scripts" patchShebangs node_modules/{*,.*} if [ -n "${pnpmRoot-}" ]; then popd fi echo "Finished pnpmConfigHook" } postConfigureHooks+=(pnpmConfigHook)