41 lines
782 B
Bash
41 lines
782 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"
|
||
|
|
||
|
pnpm install --offline --frozen-lockfile --ignore-script
|
||
|
|
||
|
echo "Patching scripts"
|
||
|
|
||
|
patchShebangs node_modules/{*,.*}
|
||
|
|
||
|
if [ -n "${pnpmRoot-}" ]; then
|
||
|
popd
|
||
|
fi
|
||
|
|
||
|
echo "Finished pnpmConfigHook"
|
||
|
}
|
||
|
|
||
|
postConfigureHooks+=(pnpmConfigHook)
|