npmパッケージの変更内容を確認するには?
たまに npm update -g
をして、使っているnpmパッケージ群を最新バージョンに更新しているわけなんですが。
使用頻度が高いようなものだったりすると、何が変わったのか詳しく知りたい場合があります。
そこでふと、更新されたnpmパッケージの変更履歴を手軽に確認する方法はないものかと、調べてみることにしました。
※npm 2.5.1で調べています。
変更履歴を参照できそうなnpmコマンドは?
先日、 Keep a Changelog というサイトが話題にあがっていましたが、とは言えnpmのパッケージには、必ずしもChangeLogを用意してくれているわけではありません。
そこで、色々なサブコマンドが用意されているnpmで、変更履歴に関連しそうな情報を閲覧できるものがないか探してみることにしました。
npmを単独で実行すると、サブコマンドがズラズラっと出てきますね。
$ npm Usage: npm <command> where <command> is one of: access, add-user, adduser, apihelp, author, bin, bugs, c, cache, completion, config, ddp, dedupe, deprecate, dist-tag, dist-tags, docs, edit, explore, faq, find, find-dupes, get, help, help-search, home, i, info, init, install, issues, la, link, list, ll, ln, login, ls, outdated, owner, pack, prefix, prune, publish, r, rb, rebuild, remove, repo, restart, rm, root, run-script, s, se, search, set, show, shrinkwrap, star, stars, start, stop, t, tag, test, tst, un, uninstall, unlink, unpublish, unstar, up, update, v, verison, version, view, whoami
これを眺めつつ、何かしら情報の閲覧に関係しそうなものは以下のあたりかなーと目星をつけたので、それぞれの機能を調べてみました。
repo docs home view info show
docs/home - ドキュメント(Web)を見る
docs
なんて非常にそれらしいコマンドでしたが、ここで指しているドキュメントとは、主に関連するWeb上の情報ということのようです。
package.jsonの homepage
があればそのURLを、なければ https://www.npmjs.com/<package>
をブラウザで開きます。
また home
というサブコマンドは、 docs
のエイリアスでした。
$ npm docs <package> $ npm home <package> # alias
view/info/show - 登録情報を見る
インストール前にどんなnpmパッケージなのかを確認する際に、私はよく npm info
を使っていたのですが、どうやらこれは npm view
のエイリアスだったようです。
また npm show
も npm view
のエイリアスでした。
これらは、npmリポジトリに登録されているパッケージの情報(つまりpackage.json)を閲覧するためのコマンドでした。
$ npm view <package> $ npm info <package> # alias $ npm show <package> # alias
repo - リポジトリを開く
これは単純にパッケージのリポジトリをブラウザで開く、というものでした。
package.jsonの repository.url
を参照しているようです。
$ npm repo
結論
結局のところ、 npm repo
でGitHubリポジトリを開いて、コミットログをざっと追っかけるのがわかりやすいのかなーと思いました。