23 lines
814 B
Bash
Executable File
23 lines
814 B
Bash
Executable File
#!/bin/sh
|
|
# dsh launcher: runs the apps/cli `dsh` bin FROM SOURCE through Node's native
|
|
# TypeScript transform, so a symlink from anywhere (e.g. ~/.local/bin/dsh)
|
|
# always executes the current working tree without a build step.
|
|
set -eu
|
|
|
|
# Resolve symlink chains without readlink -f (not on every macOS).
|
|
script=$0
|
|
while [ -L "$script" ]; do
|
|
target=$(readlink "$script")
|
|
case $target in
|
|
/*) script=$target ;;
|
|
*) script=$(dirname "$script")/$target ;;
|
|
esac
|
|
done
|
|
root=$(CDPATH='' cd -- "$(dirname -- "$script")/.." && pwd)
|
|
|
|
# The preloader projects this checkout's tsconfig paths into Node resolution;
|
|
# TypeScript transformation itself remains Node-owned (no tsx/esbuild hook).
|
|
exec node --experimental-transform-types \
|
|
--import "$root/scripts/tspath-loader.ts" \
|
|
"$root/apps/cli/src/bin.ts" "$@"
|