diff options
Diffstat (limited to 'plugins/npm')
-rw-r--r-- | plugins/npm/README.md | 26 | ||||
-rw-r--r-- | plugins/npm/npm.plugin.zsh | 37 |
2 files changed, 62 insertions, 1 deletions
diff --git a/plugins/npm/README.md b/plugins/npm/README.md new file mode 100644 index 000000000..202e2b0a4 --- /dev/null +++ b/plugins/npm/README.md @@ -0,0 +1,26 @@ +## npm plugin + +The npm plugin provides completion as well as adding many useful aliases. + +To use it, add npm to the plugins array of your zshrc file: +``` +plugins=(... npm) +``` + +## Aliases + +| Alias | Command | Descripton | +|:------ |:-----------------------------|:----------------------------------------------------------------| +| `npmg` | `npm i -g` | Install dependencies globally | +| `npmS` | `npm i -S` | Install and save to dependencies in your package.json | +| `npmD` | `npm i -D` | Install and save to dev-dependencies in your package.json | +| `npmE` | `PATH="$(npm bin)":"$PATH"` | Run command from node_modules folder based on current directory | +| `npmO` | `npm outdated` | Check which npm modules are outdated | +| `npmV` | `npm -v` | Check package versions | +| `npmL` | `npm list` | List installed packages | +| `npmL0` | `npm ls --depth=0` | List top-level installed packages | +| `npmst` | `npm start` | Run npm start | +| `npmt` | `npm test` | Run npm test | +| `npmR` | `npm run` | Run npm scripts | +| `npmP` | `npm publish` | Run npm publish | +| `npmI` | `npm init` | Run npm init | diff --git a/plugins/npm/npm.plugin.zsh b/plugins/npm/npm.plugin.zsh index 38e699ea0..f62174a4f 100644 --- a/plugins/npm/npm.plugin.zsh +++ b/plugins/npm/npm.plugin.zsh @@ -1,4 +1,15 @@ -eval "$(npm completion 2>/dev/null)" +(( $+commands[npm] )) && { + __NPM_COMPLETION_FILE="${ZSH_CACHE_DIR:-$ZSH/cache}/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 " @@ -20,3 +31,27 @@ 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" + +# List top-level installed packages +alias npmL0="npm ls --depth=0" + +# Run npm start +alias npmst="npm start" + +# Run npm test +alias npmt="npm test" + +# Run npm scripts +alias npmR="npm run" + +# Run npm publish +alias npmP="npm publish" + +# Run npm init +alias npmI="npm init" |