diff --git a/.husky/pre-commit b/.husky/pre-commit index 812732d5..276c2fa0 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -14,8 +14,20 @@ 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) -[ -f .nvmrc ] && command -v nvm >/dev/null 2>&1 && nvm use >/dev/null 2>&1 +# 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.