159e378cbb
GitOrigin-RevId: c04d5652cfa9742b1d519688f65d1bbccea9eb7e
50 lines
977 B
Bash
50 lines
977 B
Bash
# 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)
|