昨今のフロント開発に携わっている人はぜひ導入してほしい!
niというコマンドのご紹介です。
nodeのパッケージマネージャーは
- npm
- yarn
- pnpm
- bun
と沢山あります。
そしてプロジェクトによって採用しているパッケージマネージャーは様々です。
ややこしいことにそれぞれで同じ意味のコマンドが微妙に異なる実行名になっています
例えば、
パッケージを追加する際
npm i -D @types/node
yarn add -D @types/node
pnpm add -D @types/node
bun add -d @types/node
内部パッケージを実行する際
npx vitest
yarn run vitest(1系)
yarn dlx vitest(2系)
pnpm dlx vitest
bunx vitest
と微妙に違いがあります。
「このプロジェクトでは yarn
だから yarn add
して、こっちのプロジェクトはnpmだから、えーと。。。🫠」
といった経験をされた事がある人も多いのではないでしょうか?
niを使うとこのように迷うことなく、niがプロジェクトで使っているパッケージマネージャーを自動判別してそれに応じたコマンドを実行してくれます!
検証した環境
1 | ni | 0.20.0 |
インストール
インストールします
npm i -g @antfu/ni
使えることを確認
$ ni -v
@antfu/ni v0.21.12
niは nr
・nlx
など複数のコマンド集になっているため
その他のコマンドも使えるようなっています
$ nr -v
@antfu/ni v0.21.12
$ nlx -v
@antfu/ni v0.21.12
使用可能なコマンドは公式GitHubを参考下さい
コマンドの使い方
使い方は至ってシンプル!
例えば、プロジェクトをcloneして最初に実行するような npm i
や yarn install
は ni
と打てばいいだけ。
後はni
がプロジェクトが利用しているパッケージマネージャーを自動判別してそれに応じたコマンドで実行してくれます
# npmを使用しているプロジェクトの場合
$ ni
up to date, audited 1384 packages in 5s
・・
# yarnを使用しているプロジェクトの場合
$ ni
yarn install v1.22.21
[1/4] 🔍 Resolving packages...
・・・
# pnpmを使用しているプロジェクトの場合
$ ni
Lockfile is up to date, resolution step is skipped
・・・
公式を参考に利用出来る主なコマンドを書いていきます
ni - install
ni
# npm install
# yarn install
# pnpm install
# bun install
ni vite
# npm i vite
# yarn add vite
# pnpm add vite
# bun add vite
ni @types/node -D
# npm i @types/node -D
# yarn add @types/node -D
# pnpm add -D @types/node
# bun add -d @types/node
nr - run
これがとっても便利!
npm-scriptsをインクリメンタルサーチして実行出来ます!
nr
# interactively select the script to run
# supports https://www.npmjs.com/package/npm-scripts-info convention
nr dev --port=3000
# npm run dev -- --port=3000
# yarn run dev --port=3000
# pnpm run dev --port=3000
# bun run dev --port=3000
nlx - download & execute
nlx vitest
# npx vitest
# yarn dlx vitest
# pnpm dlx vitest
# bunx vitest
nu - upgrade
nu
# npm upgrade
# yarn upgrade (Yarn 1)
# yarn up (Yarn Berry)
# pnpm update
# bun update
nun - uninstall
nun webpack
# npm uninstall webpack
# yarn remove webpack
# pnpm remove webpack
# bun remove webpack
nun -g silent
# npm uninstall -g silent
# yarn global remove silent
# pnpm remove -g silent
# bun remove -g silent
niコマンドの使い方に迷った場合
ヘルプを見ると思い出せるようになっています
とりあえず使い方に迷ったら -h
を実行すればOKです!
$ ni -h
@antfu/ni use the right package manager v0.21.12
ni - install
nr - run
nlx - execute
nu - upgrade
nun - uninstall
nci - clean install
na - agent alias
ni -v - show used agent
ni -h
だけでなく nr -h
など、全て共通で同じ内容が表示されます。
どれか1つさえ覚えておいて -h
をつければ思い出せる仕組みですね✨
雑談
今回もChatGPT先生にアイキャッチを作ってもらいました。
1番最初に
「パッケージマネージャーの救世主、ni というイメージの画像を作成して下さい」
とお願いすると、↓のような画像を作ってくれました
ni が mi になっているのはさておき、ヒーロー感あっていいですよね〜🦸♂️