#!/bin/sh
# Neuron Technologies pre-push guard.
# Warns on bun version drift and blocks pushes that break the build.

set -e

BUN_EXPECTED=$(bun -e 'const pkg = await Bun.file("package.json").json(); console.log(pkg.packageManager?.split("@")[1] ?? "")')
if [ -n "$BUN_EXPECTED" ]; then
  if ! bun -e "import { semver } from 'bun'; if (!semver.satisfies(process.versions.bun, '^$BUN_EXPECTED')) process.exit(1)" 2>/dev/null; then
    echo "WARNING: bun $(bun --version) does not satisfy ^$BUN_EXPECTED — continuing, but consider aligning your toolchain."
  fi
fi

echo "Running typecheck before push..."
bun typecheck
