refactor(coding-agent/scripts): renamed dev-launch scripts and preload shim to omp paths
- Renamed `packages/coding-agent/scripts/dev-launch` to `packages/coding-agent/scripts/omp` and updated the preload script reference in that launcher. - Renamed `packages/coding-agent/scripts/dev-launch-preload.ts` to `packages/coding-agent/scripts/omp.ts` and adjusted its header comment. - Updated the `install:dev` script in `package.json` to symlink the global `omp` command from the renamed launcher path.
This commit is contained in:
Executable
+42
@@ -0,0 +1,42 @@
|
||||
#!/bin/sh
|
||||
# Dev launcher for the omp CLI, installed by `bun run install:dev`.
|
||||
#
|
||||
# Problem it solves: Bun reads `bunfig.toml` from the *current working
|
||||
# directory* at startup and evaluates its `preload` entries before running the
|
||||
# script. A bun-shebang bin (what `bun link` creates for `src/cli.ts`)
|
||||
# therefore inherits whatever `preload` the directory you happen to be in
|
||||
# declares. Running `omp`/`pi` inside an unrelated Bun project can execute — and
|
||||
# crash on — that project's preload, e.g.
|
||||
# error: Cannot find module '@v12sh/utils/frontmatter' from '.../loader.ts'
|
||||
#
|
||||
# Bun only reads the *exact* cwd (it does not walk parents) and ignores
|
||||
# `--config`/`BUN_BE_BUN` for this, so the fix is to launch Bun from an empty,
|
||||
# bunfig-free directory and restore the real cwd inside the process via the
|
||||
# preload shim alongside this file.
|
||||
set -e
|
||||
|
||||
# Resolve this script's real location even when invoked through a symlink
|
||||
# (`$HOME/.bun/bin/omp` -> this file).
|
||||
self=$0
|
||||
while [ -L "$self" ]; do
|
||||
link=$(readlink "$self")
|
||||
case $link in
|
||||
/*) self=$link ;;
|
||||
*) self=$(dirname "$self")/$link ;;
|
||||
esac
|
||||
done
|
||||
scripts_dir=$(CDPATH= cd -- "$(dirname -- "$self")" && pwd -P)
|
||||
cli=$scripts_dir/../src/cli.ts
|
||||
preload=$scripts_dir/omp.ts
|
||||
timing_preload=$scripts_dir/../../utils/src/module-timer.ts
|
||||
|
||||
launch_dir=${OMP_DEV_LAUNCH_DIR:-${HOME}/.omp/.dev-cwd}
|
||||
mkdir -p "$launch_dir"
|
||||
|
||||
OMP_LAUNCH_CWD=$PWD
|
||||
export OMP_LAUNCH_CWD
|
||||
cd "$launch_dir"
|
||||
if [ -n "${PI_TIMING:-}" ]; then
|
||||
exec bun --preload "$preload" --preload "$timing_preload" "$cli" "$@"
|
||||
fi
|
||||
exec bun --preload "$preload" "$cli" "$@"
|
||||
Reference in New Issue
Block a user