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")