use-node-version.sh 658 B

12345678910111213141516171819202122232425
  1. #!/bin/bash
  2. set -e
  3. PROJECT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
  4. NODE_VERSION="$(cat "$PROJECT_DIR/.nvmrc")"
  5. NVM_SCRIPT="${NVM_DIR:-$HOME/.nvm}/nvm.sh"
  6. if [ -s "$NVM_SCRIPT" ]; then
  7. . "$NVM_SCRIPT"
  8. if ! nvm ls "$NODE_VERSION" > /dev/null 2>&1; then
  9. echo "Required Node.js version $NODE_VERSION is not installed"
  10. echo "Installing Node.js $NODE_VERSION..."
  11. nvm install "$NODE_VERSION"
  12. fi
  13. echo "Switching to Node.js $NODE_VERSION..."
  14. nvm use "$NODE_VERSION"
  15. else
  16. echo "nvm is not available; validating the current Node.js version instead."
  17. node "$PROJECT_DIR/scripts/check-node-version.js"
  18. fi
  19. if [ $# -gt 0 ]; then
  20. exec "$@"
  21. fi