1
0

lazy-nvm.sh 783 B

123456789101112131415161718192021222324252627
  1. #!/bin/bash
  2. function lazy_nvm {
  3. unset -f nvm
  4. unset -f npm
  5. unset -f node
  6. unset -f npx
  7. unset -f yarn
  8. if [ -d "${HOME}/.nvm" ]; then
  9. export NVM_DIR="$HOME/.nvm"
  10. [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # linux
  11. [ -s "$(brew --prefix nvm)/nvm.sh" ] && source $(brew --prefix nvm)/nvm.sh # osx
  12. [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # nvm bash_completion
  13. fi
  14. # node-prototype-repl (node >13)
  15. if [[ -n "$(command -v node-prototype-repl)" ]]; then
  16. export NODE_REPL_EXTERNAL_MODULE=$(which node-prototype-repl)
  17. fi
  18. }
  19. # aliases
  20. function nvm { lazy_nvm; nvm "$@"; }
  21. function npm { lazy_nvm; npm "$@"; }
  22. function node { lazy_nvm; node "$@"; }
  23. function npx { lazy_nvm; npx "$@"; }
  24. function yarn { lazy_nvm; yarn "$@"; }