Skip to content

Instantly share code, notes, and snippets.

@danielbayley
Last active August 4, 2023 18:19
Show Gist options
  • Star 6 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save danielbayley/62a3076902f664391b1cfbcd09d78918 to your computer and use it in GitHub Desktop.
Save danielbayley/62a3076902f664391b1cfbcd09d78918 to your computer and use it in GitHub Desktop.
A shim to seamlessly alias @npm to @pnpm.
#! /bin/zsh --no-rcs --err-exit
export PATH=node_modules/.bin:$PATH
alias -g i=install
if (($+commands[pnpm])) then
local p=p
alias pnpm=npm npx=pnpx
# FIXME https://github.com/pnpm/pnpm/issues/1360
npm config get -g global-dir | read
path+=$REPLY/bin
fi
npm () {
case $1 in
env) command npx --call env;;
*) command ${p}npm ${@/uninstall/remove}
esac
}
source <(npx --shell-auto-fallback --no-install zsh)
[ $ZSH_EVAL_CONTEXT = toplevel ] && $0:t:r $@
@martian17
Copy link

I use bash instead of zsh. I would like to use a bash version of this.

@loganpowell
Copy link

FYI, this broke my xcode-select installation on macbook air m1 silicon (ventura 13.3.1)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment