#!/usr/bin/env bash
set -euo pipefail

cd "$(dirname "$0")/.."

lint () {
  echo "::group::lint"
  pnpm lint
  echo "::endgroup::"
}

check () {
  echo "::group::typecheck"
  pnpm check
  echo "::endgroup::"
}

build () {
  echo "::group::build"
  pnpm build
  echo "::endgroup::"
}

no_local_overrides () {
  echo "::group::no-local-overrides"
  # Make sure no "link:" overrides are committed — those break every other clone
  if grep -q 'link:' package.json pnpm-workspace.yaml 2>/dev/null; then
    echo "Some packages are linked to local files!"
    exit 1
  fi
  echo "::endgroup::"
}

steps="${*:-lint check no_local_overrides build}"

for step in $steps; do
  "$step"
done
