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 | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 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 # +if (( ! $+commands[npm] )); then + return 1 +fi + 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]" -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