Umi Uyuraのブログ

プログラミング関連の作業ログ

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.jsonhomepage があればそのURLを、なければ https://www.npmjs.com/<package> をブラウザで開きます。

また home というサブコマンドは、 docsエイリアスでした。

$ npm docs <package>
$ npm home <package>    # alias

view/info/show - 登録情報を見る

インストール前にどんなnpmパッケージなのかを確認する際に、私はよく npm info を使っていたのですが、どうやらこれは npm viewエイリアスだったようです。

また npm shownpm viewエイリアスでした。

これらは、npmリポジトリに登録されているパッケージの情報(つまりpackage.json)を閲覧するためのコマンドでした。

$ npm view <package>
$ npm info <package>    # alias
$ npm show <package>    # alias

repo - リポジトリを開く

これは単純にパッケージのリポジトリをブラウザで開く、というものでした。

package.jsonrepository.url を参照しているようです。

$ npm repo

結論

結局のところ、 npm repoGitHubリポジトリを開いて、コミットログをざっと追っかけるのがわかりやすいのかなーと思いました。

参考