42 lines
1.1 KiB
Bash
Executable File
42 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Build the current branch and link it as the global `codegraph` for
|
|
# hands-on testing. Replaces any existing global install for as long
|
|
# as the symlink is in place.
|
|
#
|
|
# Usage:
|
|
# ./scripts/local-install.sh # build + link
|
|
# ./scripts/local-install.sh --undo # unlink + restore the published version
|
|
|
|
set -euo pipefail
|
|
|
|
cd "$(dirname "$0")/.."
|
|
|
|
PKG=$(node -p "require('./package.json').name")
|
|
VERSION=$(node -p "require('./package.json').version")
|
|
BRANCH=$(git rev-parse --abbrev-ref HEAD)
|
|
|
|
if [ "${1:-}" = "--undo" ]; then
|
|
echo "→ unlinking ${PKG}"
|
|
npm unlink -g "${PKG}" >/dev/null 2>&1 || true
|
|
echo "→ reinstalling published ${PKG}"
|
|
npm install -g "${PKG}"
|
|
echo "done: global codegraph -> $(command -v codegraph)"
|
|
exit 0
|
|
fi
|
|
|
|
echo "→ building ${PKG} ${VERSION} (${BRANCH})"
|
|
npm run build
|
|
|
|
echo "→ linking globally"
|
|
npm link
|
|
|
|
LINKED=$(command -v codegraph || echo "(not on PATH)")
|
|
echo
|
|
echo "✓ global codegraph now points to this branch"
|
|
echo " binary: ${LINKED}"
|
|
echo " branch: ${BRANCH}"
|
|
echo " version: ${VERSION}"
|
|
echo
|
|
echo "To restore the published version:"
|
|
echo " ./scripts/local-install.sh --undo"
|