変更に合わせて追加するchangesetファイルをもとに、モノレポのパッケージのバージョン管理、変更履歴の作成、公開を行うCLIツール。
sindresorhus/np
公開前チェック、バージョン更新、git tagの作成、テスト、pushをまとめて実行する、npm publishの対話型CLIラッパーです。
- スター
- 7,710
- フォーク
- 311
- 未解決の Issue
- 7
- 最終コミット
- 先月
これは何?
npは、npmパッケージを公開する際の手作業による一連の手順を置き換えるコマンドラインツールです。プロジェクト内で実行すると、リリースブランチ上にいること、作業ディレクトリに変更がなくリモートと同期していること、Node.jsとnpmのバージョンがプロジェクトの要件に合っていることを確認します。その後、依存関係を再インストールしてテストを実行し、package.jsonとpackage-lock.jsonのバージョンを更新してgit tagを作成し、npmに公開します。
公開に失敗した場合、npはプロジェクトを元の状態に戻します。公開が成功すると、コミットとタグをGitHubまたはGitLabにpushし、GitHub Releasesの下書きを事前入力した状態で作成することもできます。また、プレリリース版をlatest dist-tagで誤って公開するのを防ぎ、二要素認証に対応しています。実行せずに全手順を確認できるdry-runモードもあります。
npはnpm、pnpm、Bun、Yarnで利用でき、GitHub Packagesやカスタムレジストリにも公開できます。CIではなくローカルでの対話的な利用を想定しており、モノレポには対応していません。
主な機能
- 01公開前にリリースブランチ、クリーンな作業ツリー、未取得の変更がないかを確認します。
- 02package.jsonとpackage-lock.jsonのバージョンを更新し、git tagを作成します。
- 03テストを実行し、公開に失敗した場合はプロジェクトを元の状態に戻します。
- 04コミットとタグをGitHubまたはGitLabにpushし、リリースの下書きを作成することもできます。
- 05対話型UIとdry-runモードを利用できます。
- 06npm、pnpm、Bun、Yarnに加え、GitHub Packagesに対応しています。
ユースケース
- 一貫したチェック付きのリリース手順で、ローカルマシンからライブラリをnpmに公開する。
- package.jsonにリリーススクリプトとしてnpを追加し、チーム内のリリース手順を統一する。
- latestタグを誤って更新するリスクを避けながら、betaなどの別のdist-tagでプレリリース版を公開する。
- npm publishの手順をスキップして、gitリポジトリからプライベートパッケージを公開する。
クイックスタート
- 1
npmでnpをグローバルインストールします
npm install --global np - 2
プロジェクト内でnpを実行し、対話形式のプロンプトに従います
np
使う前に知っておきたいこと
- モノレポには対応していません。
- CI環境は最適な実行環境ではありません。ローカルで使う対話型ツールとして設計されています。
- Node.js 22以降、npm 10以降、Git 2.11以降が必要です。
収録されている特集
トピック
よくある質問
- np とは?
- 公開前チェック、バージョン更新、git tagの作成、テスト、pushをまとめて実行する、npm publishの対話型CLIラッパーです。 npは、npmパッケージを公開する際の手作業による一連の手順を置き換えるコマンドラインツールです。プロジェクト内で実行すると、リリースブランチ上にいること、作業ディレクトリに変更がなくリモートと同期していること、Node.jsとnpmのバージョンがプロジェクトの要件に合っていることを確認します。その後、依存関係を再インストールしてテストを実行し、package.jsonとpackage-lock.jsonのバージョンを更新してgit tagを作成し、npmに公開します。
- np は無料で使えますか?ライセンスは?
- np は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- np は今もメンテナンスされていますか?
- 半年以内に更新あり。np の最終コミットは 2026年9月9日 です。
- np は何に使えますか?
- 一貫したチェック付きのリリース手順で、ローカルマシンからライブラリをnpmに公開する。 package.jsonにリリーススクリプトとしてnpを追加し、チーム内のリリース手順を統一する。 latestタグを誤って更新するリスクを避けながら、betaなどの別のdist-tagでプレリリース版を公開する。 npm publishの手順をスキップして、gitリポジトリからプライベートパッケージを公開する。
- np のインストール方法は?
- npmでnpをグローバルインストールします: npm install --global np プロジェクト内でnpを実行し、対話形式のプロンプトに従います: np
- np はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/sindresorhus/np
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
WinGet、Scoop、Chocolatey、Homebrew、APT、pip、npmなどを一元管理する、Windows中心のGUIアプリ。
逆アルファブレンディングで画像からGeminiの可視ウォーターマークを除去する、GUI・CLI・バッチ対応のオフラインC++ツール。
日常的なプログラミングのパターンを30秒以内で学べる、短く独立したJavaScriptの記事とコードスニペット集です。
安全な引数エスケープとクロスプラットフォーム向けヘルパーを備え、shell風スクリプトをJavaScriptで書けるツール。