#
# Completes npm.
#
# Authors:
#   Sorin Ionescu <sorin.ionescu@gmail.com>
#

cache_file="${0:h}/cache.zsh"
if [[ ! -f "$cache_file" ]]; then
  if (( $+commands[npm] )); then
    # npm is slow; cache its output.
    npm completion >! "$cache_file" 2> /dev/null
    source "$cache_file"
  fi
else
  source "$cache_file"
fi
unset cache_file


#
# Completes npm.
#
# Authors:
#   Sorin Ionescu <sorin.ionescu@gmail.com>
#

cache_file="${0:h}/cache.zsh"
if [[ ! -f "$cache_file" ]] && (( $+commands[npm] )); then
  # npm is slow; cache its output.
  npm completion >! "$cache_file" 2> /dev/null
  source "$cache_file"
else
  source "$cache_file"
fi
unset cache_file


--- 
+++ 
@@ -6,10 +6,12 @@
 #
 
 cache_file="${0:h}/cache.zsh"
-if [[ ! -f "$cache_file" ]] && (( $+commands[npm] )); then
-  # npm is slow; cache its output.
-  npm completion >! "$cache_file" 2> /dev/null
-  source "$cache_file"
+if [[ ! -f "$cache_file" ]]; then
+  if (( $+commands[npm] )); then
+    # npm is slow; cache its output.
+    npm completion >! "$cache_file" 2> /dev/null
+    source "$cache_file"
+  fi
 else
   source "$cache_file"
 fi
Fix node cache file sourcing
