53 lines
1.5 KiB
Bash
Executable File
53 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
project_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
runtime_root="${SITES_RUNTIME_ROOT:-${project_root}/.sites-runtime}"
|
|
|
|
mkdir -p \
|
|
"${runtime_root}/home" \
|
|
"${runtime_root}/npm-cache" \
|
|
"${runtime_root}/xdg-config" \
|
|
"${runtime_root}/tmp" \
|
|
"${runtime_root}/wrangler/logs"
|
|
|
|
export SITES_ENV_READY=1
|
|
export SITES_PROJECT_ROOT="${project_root}"
|
|
export HOME="${runtime_root}/home"
|
|
export XDG_CONFIG_HOME="${runtime_root}/xdg-config"
|
|
export TMPDIR="${runtime_root}/tmp"
|
|
export WRANGLER_WRITE_LOGS=false
|
|
export WRANGLER_LOG_PATH="${runtime_root}/wrangler/logs"
|
|
export MINIFLARE_REGISTRY_PATH="${runtime_root}/wrangler/registry"
|
|
|
|
# The runtime may provide a global npm cache. Keep the image's read-only Sites
|
|
# seed separate and make this project's writable cache authoritative.
|
|
unset NPM_CONFIG_CACHE npm_config_cache || true
|
|
export npm_config_cache="${runtime_root}/npm-cache"
|
|
export npm_config_audit=false
|
|
export npm_config_fund=false
|
|
export npm_config_update_notifier=false
|
|
|
|
# The runtime already supplies the standard HTTP(S)_PROXY variables. Remove
|
|
# npm-specific aliases so npm 11 does not reinterpret or warn about them.
|
|
unset \
|
|
npm_config_proxy \
|
|
npm_config_http_proxy \
|
|
npm_config_https_proxy \
|
|
NPM_CONFIG_PROXY \
|
|
NPM_CONFIG_HTTP_PROXY \
|
|
NPM_CONFIG_HTTPS_PROXY \
|
|
|| true
|
|
|
|
if [[ "${1:-}" == "--" ]]; then
|
|
shift
|
|
fi
|
|
|
|
if [[ "$#" -eq 0 ]]; then
|
|
echo "usage: scripts/sites-env.sh -- command [args...]" >&2
|
|
exit 64
|
|
fi
|
|
|
|
cd "${project_root}"
|
|
exec "$@"
|