coder/scripts/pnpm_install.sh

36 lines
832 B
Bash
Executable File

#!/usr/bin/env bash
#
# Run "pnpm install" with flags appropriate to the environment (local
# development vs build system). The install is always run within the current
# directory.
#
# Usage: pnpm_install.sh [optional extra flags]
set -euo pipefail
pnpm_flags=(
# Do not execute install scripts
# TODO: check if build works properly with this enabled
# --ignore-scripts
# Check if existing node_modules are valid
# TODO: determine if this is necessary
# --check-files
)
if [[ -n ${CI:-} ]]; then
pnpm_flags+=(
# Install dependencies from lockfile, ensuring builds are fully
# reproducible
--frozen-lockfile
# Disable interactive prompts.
--reporter append-only
)
fi
# Append whatever is specified on the command line
pnpm_flags+=("$@")
echo "+ pnpm install ${pnpm_flags[*]}"
pnpm install "${pnpm_flags[@]}"