mirror of
https://github.com/coder/coder.git
synced 2025-07-12 00:14:10 +00:00
chore: add script to install yarn dependencies
* Use frozen lockfile in build for reproducible builds * Do not install optional dependencies * Suppress interactive prompts in build
This commit is contained in:
42
scripts/yarn_install.sh
Executable file
42
scripts/yarn_install.sh
Executable file
@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Run "yarn install" with flags appropriate to the environment
|
||||
# (local development vs build system)
|
||||
#
|
||||
# Usage: yarn_install.sh [optional extra flags]
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
PROJECT_ROOT=$(git rev-parse --show-toplevel)
|
||||
cd "$PROJECT_ROOT/site"
|
||||
|
||||
yarn_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
|
||||
|
||||
# Do not install optional dependencies
|
||||
--ignore-optional
|
||||
)
|
||||
|
||||
if [ -n "${CI:-}" ]; then
|
||||
yarn_flags+=(
|
||||
# Install dependencies from lockfile, ensuring builds are fully
|
||||
# reproducible
|
||||
--frozen-lockfile
|
||||
# Suppress progress information
|
||||
--silent
|
||||
# Disable interactive prompts for build
|
||||
--non-interactive
|
||||
)
|
||||
fi
|
||||
|
||||
# Append whatever is specified on the command line
|
||||
yarn_flags+=("$@")
|
||||
|
||||
echo "+ yarn install ${yarn_flags[*]}"
|
||||
yarn install "${yarn_flags[@]}"
|
Reference in New Issue
Block a user