#!/usr/bin/env bash

KIT=$(cd "$(dirname $(readlink -f ${BASH_SOURCE[0]}))/.." &>/dev/null && pwd)
# Check if "kit" is in node_modules/.bin
[ -L $BASH_SOURCE ] &&
    [[ $BASH_SOURCE =~ "node_modules" ]] &&
    KIT="$(
        cd "$(dirname "$0")/.."
        pwd
    )/@johnlindquist/kit" &&
    KENV="$(
        cd "$(dirname "$0")/../.."
        pwd
    )"

NODE_PATH="${NODE_PATH:=$($KIT/node_modules/.bin/pnpm node -p "process.execPath" 2>/dev/null || pnpm node -p "process.execPath" 2>/dev/null || node -p "process.execPath" 2>/dev/null)}"
if ! command -v "$NODE_PATH" &> /dev/null; then
    NODE_PATH=$(which node)
    if [ -z "$NODE_PATH" ]; then
        echo "Error: Node.js not found in PATH. Provide an NODE_PATH in your environment." >&2
        exit 1
    fi
fi

if [[ $KIT =~ ^/[a-zA-Z]/ ]]; then
    drive_letter=${KIT:1:1}
    KIT="${KIT/\/$drive_letter\//\/$drive_letter:/}"
fi

KIT_TARGET="terminal" \
KIT="$KIT" \
KENV="$KENV" \
NODE_NO_WARNINGS=1 \
"$NODE_PATH" \
--loader "file://$KIT/build/loader.js" \
"$KIT/run/terminal.js" \
"$@"