ZSH
Run nvm before executing npm, yarn or bun commands
preexec() {
if [[ "$1" == @(npm|yarn|bun) ]] && [ -f .nvmrc ]; then
local nvmrc_node_version
nvmrc_node_version=$(nvm version "$(cat .nvmrc)")
if [ "$nvmrc_node_version" = "N/A" ]; then
nvm install
elif [ "$nvmrc_node_version" != "$(nvm version)" ]; then
nvm use
fi
fi
}