Jelajahi Sumber

add lazy-nvm

Tom McKenzie 5 tahun lalu
induk
melakukan
a2621dc473
5 mengubah file dengan 31 tambahan dan 5 penghapusan
  1. 2 0
      .rc.d/aliases.sh
  2. 8 5
      .rc.d/applications.sh
  3. 2 0
      .rc.d/color.sh
  4. 1 0
      .rc.d/git.sh
  5. 18 0
      .rc.d/lazy-nvm.sh

+ 2 - 0
.rc.d/aliases.sh

@@ -1,3 +1,5 @@
+#!/bin/bash
+
 # ls
 alias l='ls -lFh'     # size,show type,human readable
 alias la='ls -lAFh'   # long list,show almost all,show type,human readable

+ 8 - 5
.rc.d/applications.sh

@@ -1,9 +1,12 @@
+#!/bin/bash
+
 # nvm
 if [ -d "${HOME}/.nvm" ]; then
-  export NVM_DIR="$HOME/.nvm"
-  [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
-  [ -s "$(brew --prefix nvm)/nvm.sh" ] && source $(brew --prefix nvm)/nvm.sh
-  [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion
+#   see .rc.d/lazy-npm.sh
+#   export NVM_DIR="$HOME/.nvm"
+#   [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # linux
+#   [ -s "$(brew --prefix nvm)/nvm.sh" ] && source $(brew --prefix nvm)/nvm.sh # osx
+  [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # nvm bash_completion
 fi
 
 # export golang bin path
@@ -19,6 +22,6 @@ if [ -d "$HOME/.rbenv" ]; then
 fi
 
 # node-prototype-repl (node >13)
-if [ ! -z $(which node-prototype-repl) ]; then
+if [[ -n "$(command -v node-prototype-repl)" ]]; then
   export NODE_REPL_EXTERNAL_MODULE=$(which node-prototype-repl)
 fi

+ 2 - 0
.rc.d/color.sh

@@ -1,2 +1,4 @@
+#!/bin/bash
+
 export CLICOLOR=1
 export LSCOLORS=ExGxBxDxCxEgEdxbxgxcxd

+ 1 - 0
.rc.d/git.sh

@@ -1,3 +1,4 @@
+#!/bin/bash
 alias g='git'
 
 alias ga='git add'

+ 18 - 0
.rc.d/lazy-nvm.sh

@@ -0,0 +1,18 @@
+#!/bin/bash
+
+function lazy_nvm {
+  unset -f nvm
+  unset -f npm
+  unset -f node
+  unset -f npx
+
+  export NVM_DIR="$HOME/.nvm"
+  [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # linux
+  [ -s "$(brew --prefix nvm)/nvm.sh" ] && source $(brew --prefix nvm)/nvm.sh # osx
+}
+
+# aliases
+function nvm { lazy_nvm; nvm "$@"; }
+function npm { lazy_nvm; npm "$@"; }
+function node { lazy_nvm; node "$@"; }
+function npx { lazy_nvm; npx "$@"; }