4ef188cebf054896b47aa91181dacc2c674b5063

Author
Marc Cornellà <hello@mcornella.com>
Committer
Marc Cornellà <hello@mcornella.com>
Date

Message

perf(yarn): skip `yarn` call if default global bin directory exists (#10290)

Fixes #10290

Diff

 1diff --git a/plugins/yarn/yarn.plugin.zsh b/plugins/yarn/yarn.plugin.zsh
 2index a4f595c61077a0b2ef1d0f915c5a4e200b0f859e..9ba24420ad3be706e97465ccb96eb368931fa842 100644
 3--- a/plugins/yarn/yarn.plugin.zsh
 4+++ b/plugins/yarn/yarn.plugin.zsh
 5@@ -1,5 +1,8 @@
 6-# Add yarn bin directory to $PATH if it exists and not in $PATH already
 7-bindir=$(yarn global bin 2>/dev/null) \
 8+# Skip yarn call if default global bin dir exists
 9+[[ -d "$HOME/.yarn/bin" ]] && bindir="$HOME/.yarn/bin" || bindir="$(yarn global bin 2>/dev/null)"
10+
11+# Add yarn bin directory to $PATH if it exists and not already in $PATH
12+[[ $? -eq 0 ]] \
13   && [[ -d "$bindir" ]] \
14   && (( ! ${path[(Ie)$bindir]} )) \
15   && path+=("$bindir")