ni
- use the right package manager
You can run npm/yarn/pnpm/bun with same command!
- Original: https://github.com/antfu/ni
zinit load azu/ni.zsh
antigen bundle azu/ni.zsh@main
[plugins.ni]
github = "azu/ni.zsh"
curl https://raw.githubusercontent.com/azu/ni.zsh/main/ni.zsh > ni.zsh
source ni.zsh
ni.zsh
requires compdef
command.
If you got command not found: compdef
error, you need to enable compinit
in your .zshrc
.
# .zshrc
# load compdef
autoload -Uz compinit && compinit
# load ni.zsh
source /path/to/ni.zsh
- npm
- yarn (yarn v1)
- yarn-berry (yarn v2+)
- pnpm
- bun
- zsh
- require to enable
autoload -Uz compinit && compinit
- require to enable
- jq
- npm-check if you want to use
npm
+ni upgrade-interactive
ni -- install current package.json
ni add <pkg> -- add package
ni remove <pkg> -- remove package
ni run <script> -- run scripts
ni test -- run test script
ni upgrade [<pkg>] -- upgrade packages
ni upgrade-interactive -- upgrade package interactively
ni exec <command> -- execute command
ni dlx <pkg> -- download package and execute command
ni | npm | yarn | yarn-berry | pnpm | bun | deno |
---|---|---|---|---|---|---|
ni |
npm install |
yarn install |
yarn install |
pnpm install |
bun install |
deno install |
ni add <pkg> |
npm install |
yarn add |
yarn add |
pnpm add |
bun add |
deno add |
ni remove <pkg> |
npm uninstall |
yarn remove |
yarn remove |
pnpm remove |
bun remove |
deno uninstall |
ni run <script> |
npm run |
yarn run |
yarn run |
pnpm run |
bun run |
deno run |
ni test |
npm run test |
yarn run test |
yarn run test |
pnpm run test |
bun run test |
deno run test |
ni upgrade |
npm upgrade |
yarn upgrade |
yarn up |
pnpm update |
bun update |
○ |
ni upgrade-interactive |
npm-check ^1 |
yarn up --interactive "*" |
yarn upgrade-interactive |
pnpm update -i |
○ | ○ |
ni exec <command> |
npm exec --no |
yarn <command> |
yarn exec |
pnpm exec |
bunx |
○ |
ni dlx <pkg> |
npx |
npx |
yarn dlx |
pnpm dlx |
bunx |
○ |
- ^1: require npm-check globally.
Notes
- Installing devDependencies:
ni add --dev <pkg>
- Additional arguments for
ni run
:ni run dev --port 8080
- Update specific package:
ni upgrade <pkg>
ni <TAB>
You can integrate https://socket.dev/ to detect supply chain attacks.
Aug-26-2023.09-51-59_optimized.mp4
If NI_SOCKETDEV_TOKEN
is set, ni add
will check the package is safe or not before installing.
export NI_SOCKETDEV_TOKEN="<socket-token>"
How to get socket.dev token?
- Go to https://socket.dev/
- Sign up
- Create a project
- Visit
https://socket.dev/dashboard/org/gh/{user}/settings/api-tokens
- Copy token
MIT © azu