ohmyzsh/plugins/npm/npm.plugin.zsh
2017-10-06 23:28:43 -03:00

77 lines
2.3 KiB
Bash

(( $+commands[npm] )) && {
# Check if ZSH_CACHE_DIR is set.
# If not, proceeds to find any existing directories containing npm_completion.
# If can't find any, defaults to ZSH_CACHE_DEFAULT_DIR and sets ZSH_CACHE_DIR accordingly.
if [ !${ZSH_CACHE_DIR} ]; then
# Default cache directory in case none was found containing npm_completion file.
ZSH_CACHE_DEFAULT_DIR="${HOME}/.oh-my-zsh/cache"
# List of directories to look for npm_completion file.
ZSH_CACHE_POSSIBLE_DIR=(
"${HOME}/.oh-my-zsh/cache"
"${HOME}/.zsh/cache"
"${HOME}/.antigen/bundles/robbyrussell/oh-my-zsh/cache"
"${HOME}/.tmp/cache"
)
# Loop list of possible cache directories containing npm_completion file
# and set ZSH_CACHE_DIR to the first found.
for d in "${ZSH_CACHE_POSSIBLE_DIR[@]}"; do
# Exits loop if previous iteration already found an existing ${d}/npm_completion
# & already set ZSH_CACHE_DIR to ${d}.
[ ${ZSH_CACHE_DIR} ] && break
# If current exists then sets ZSH_CACHE_DIR to it
[ -f "${d}/npm_completion" ] && ZSH_CACHE_DIR=${d}
done
# If ZSH_CACHE_DIR still not set, then set to ZSH_CACHE_DEFAULT_DIR.
[ -z ${ZSH_CACHE_DIR} ] && ZSH_CACHE_DIR=${ZSH_CACHE_DEFAULT_DIR}
fi
__NPM_COMPLETION_FILE="${ZSH_CACHE_DIR}/npm_completion"
if [ ! -f $__NPM_COMPLETION_FILE ]; then
npm completion >! $__NPM_COMPLETION_FILE 2>/dev/null
[ $? -ne 0 ] && rm -f $__NPM_COMPLETION_FILE
fi
[ -f $__NPM_COMPLETION_FILE ] && source $__NPM_COMPLETION_FILE
unset __NPM_COMPLETION_FILE
}
# Install dependencies globally
alias npmg="npm i -g "
# npm package names are lowercase
# Thus, we've used camelCase for the following aliases:
# Install and save to dependencies in your package.json
# npms is used by https://www.npmjs.com/package/npms
alias npmS="npm i -S "
# Install and save to dev-dependencies in your package.json
# npmd is used by https://github.com/dominictarr/npmd
alias npmD="npm i -D "
# Execute command from node_modules folder based on current directory
# i.e npmE gulp
alias npmE='PATH="$(npm bin)":"$PATH"'
# Check which npm modules are outdated
alias npmO="npm outdated"
# Check package versions
alias npmV="npm -v"
# List packages
alias npmL="npm list"
# Run npm start
alias npmst="npm start"
# Run npm test
alias npmt="npm test"