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

if [ $# -eq 0 ]; then
  echo "Usage: ./scripts/with-env-local.sh <command...>"
  exit 1
fi

if [ -f .env.local ]; then
  while IFS= read -r line || [ -n "$line" ]; do
    case "$line" in
      ''|'#'*) continue ;;
    esac
    key=${line%%=*}
    value=${line#*=}
    if [ -z "${!key+x}" ]; then
      export "$key=$value"
    fi
  done < .env.local
fi

exec "$@"
