| 123456789101112131415161718192021 |
- #!/bin/sh
- # dsh launcher: runs the apps/cli `dsh` bin FROM SOURCE with this checkout's
- # tsx, so a symlink from anywhere (e.g. ~/.local/bin/dsh) always executes the
- # current working tree — code changes apply on the next launch, no 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)
- # tsx is imported by absolute path because bare `--import tsx` resolves from
- # the invoking cwd, which is usually outside this repository.
- export TSX_TSCONFIG_PATH="$root/tsconfig.json"
- exec node --import "$root/node_modules/tsx/dist/loader.mjs" "$root/apps/cli/src/bin.ts" "$@"
|