From bede1a2a71c0c712cbfb8fce04458a26a746774d Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Tue, 3 Jul 2012 21:38:56 -0400 Subject: [PATCH] Improve cache file generation --- modules/node/init.zsh | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/modules/node/init.zsh b/modules/node/init.zsh index b70f277..dc97f40 100644 --- a/modules/node/init.zsh +++ b/modules/node/init.zsh @@ -5,15 +5,18 @@ # Sorin Ionescu # -cache_file="${0:h}/cache.zsh" -if [[ ! -s "$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" +if (( ! $+commands[npm] )); then + return 1 fi + +cache_file="${0:h}/cache.zsh" + +if [[ "$commands[npm]" -nt "$cache_file" || ! -s "$cache_file" ]]; then + # npm is slow; cache its output. + npm completion >! "$cache_file" 2> /dev/null +fi + +source "$cache_file" + unset cache_file