mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-01-30 14:22:02 +00:00
52 lines
1.9 KiB
Bash
Executable File
52 lines
1.9 KiB
Bash
Executable File
#!/usr/bin/env sh
|
|
|
|
# Try to load nvm if available (optional - works without it too)
|
|
if [ -z "$NVM_DIR" ]; then
|
|
# Check for Herd's nvm first (macOS with Herd)
|
|
if [ -s "$HOME/Library/Application Support/Herd/config/nvm/nvm.sh" ]; then
|
|
export NVM_DIR="$HOME/Library/Application Support/Herd/config/nvm"
|
|
# Then check standard nvm location
|
|
elif [ -s "$HOME/.nvm/nvm.sh" ]; then
|
|
export NVM_DIR="$HOME/.nvm"
|
|
fi
|
|
fi
|
|
|
|
# Source nvm if found (silently skip if not available)
|
|
[ -n "$NVM_DIR" ] && [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" 2>/dev/null
|
|
|
|
# Load node version from .nvmrc if using nvm (silently skip if nvm not available or fails)
|
|
if [ -f .nvmrc ] && command -v nvm >/dev/null 2>&1; then
|
|
# Check if Unix nvm was sourced (it's a shell function with NVM_DIR set)
|
|
if [ -n "$NVM_DIR" ] && type nvm 2>/dev/null | grep -q "function"; then
|
|
# Unix nvm: reads .nvmrc automatically
|
|
nvm use >/dev/null 2>&1 || true
|
|
else
|
|
# nvm-windows: needs explicit version from .nvmrc
|
|
NODE_VERSION=$(cat .nvmrc | tr -d '[:space:]')
|
|
if [ -n "$NODE_VERSION" ]; then
|
|
nvm use "$NODE_VERSION" >/dev/null 2>&1 || true
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# Ensure common system paths are in PATH (for systems without nvm)
|
|
# This helps find node/npm installed via Homebrew, system packages, etc.
|
|
if [ -n "$WINDIR" ]; then
|
|
export PATH="$PATH:/c/Program Files/nodejs:/c/Program Files (x86)/nodejs"
|
|
export PATH="$PATH:$APPDATA/npm:$LOCALAPPDATA/Programs/nodejs"
|
|
else
|
|
export PATH="$PATH:/usr/local/bin:/opt/homebrew/bin:/usr/bin"
|
|
fi
|
|
|
|
# Run lint-staged - works with or without nvm
|
|
# Prefer npx, fallback to npm exec, both work with system-installed Node.js
|
|
if command -v npx >/dev/null 2>&1; then
|
|
npx lint-staged
|
|
elif command -v npm >/dev/null 2>&1; then
|
|
npm exec -- lint-staged
|
|
else
|
|
echo "Error: Neither npx nor npm found in PATH."
|
|
echo "Please ensure Node.js is installed (via nvm, Homebrew, system package manager, etc.)"
|
|
exit 1
|
|
fi
|