#!/usr/bin/env bash set -euo pipefail bun_path="$1" workdir="$(mktemp -d)" trap 'rm -rf "${workdir}"' EXIT cat > "${workdir}/package.json" <<'JSON' { "name": "stale-lockfile-test", "version": "1.0.0" } JSON "${bun_path}" install --cwd "${workdir}" >/dev/null cat > "${workdir}/package.json" <<'JSON' { "name": "stale-lockfile-test", "version": "1.0.0", "dependencies": { "left-pad": "1.3.0" } } JSON set +e output="$(${bun_path} install --cwd "${workdir}" --frozen-lockfile 2>&1)" code=$? set -e if [[ ${code} -eq 0 ]]; then echo "Expected frozen lockfile install to fail when package.json changes" >&2 exit 1 fi if [[ "${output}" != *"lockfile"* && "${output}" != *"frozen"* ]]; then echo "Expected lockfile-related error, got:" >&2 echo "${output}" >&2 exit 1 fi