fix(cli): resolve symlinked global launcher path
This commit is contained in:
parent
55f16460d0
commit
9f4c71c783
15
bin/qmd
15
bin/qmd
@ -1,8 +1,19 @@
|
||||
#!/bin/sh
|
||||
# Resolve symlinks so global installs (npm link / npm install -g) can find the
|
||||
# actual package directory instead of the global bin directory.
|
||||
SOURCE="$0"
|
||||
while [ -L "$SOURCE" ]; do
|
||||
SOURCE_DIR="$(cd -P "$(dirname "$SOURCE")" && pwd)"
|
||||
TARGET="$(readlink "$SOURCE")"
|
||||
case "$TARGET" in
|
||||
/*) SOURCE="$TARGET" ;;
|
||||
*) SOURCE="$SOURCE_DIR/$TARGET" ;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Detect the runtime used to install this package and use the matching one
|
||||
# to avoid native module ABI mismatches (e.g., better-sqlite3 compiled for bun vs node)
|
||||
|
||||
DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
DIR="$(cd -P "$(dirname "$SOURCE")/.." && pwd)"
|
||||
|
||||
# Check if we were installed with bun (look for bun.lock or bun-lockb)
|
||||
if [ -f "$DIR/bun.lock" ] || [ -f "$DIR/bun.lockb" ] || [ -n "$BUN_INSTALL" ]; then
|
||||
|
||||
Loading…
Reference in New Issue
Block a user