npm fundとは何か


npmバージョン6.13から npm fund というコマンドが実装されました。
このコマンドがどういう動きをするのか解説します。
2019/11/14更新

TL;DR

  • npm fundというコマンドが実装された
  • 資金提供を呼び掛けるためのURLなどが表示される(npm installの実行時などのタイミング)
  • 自分のパッケージにも funding フィールドを追加してURLを表示できる

細かい仕様は npm/rfcsを参照して下さい

npm fundとは何か

上記で述べた通り、このコマンドは利用者が開発者に対して金銭的支援をするための情報を表示します。
開発者から資金援助してもらうための情報提供手段が1つ増えたことになります。

This RFC identifies an initial means of tooling to describe & notify consumers of a package's monetary support information.

initial means(最初の手段)として提供されているので、もしかすると今後のアップデートでより開発者の支援を後押しする機能が入ってくる可能性もあるのかなと思います。

fundingフィールドの設定と挙動

npm fund で情報を表示させるには、自身が公開しているnpmパッケージの package.json に以下のように追記します。
typeフィールドはオプションで、urlフィールドには資金提供ページのURLを設定します。
※2019/11/14 現在はgithubのsponsorsのURLのみを設定する方が多いようです。

"funding": {
    "type": "patreon",
    "url": "https://www.patreon.com/yukisato"
}

上記を設定して npm fund コマンドを打つと、以下のように出力されます。


$ npm fund
[email protected]
├── type: patreon
└── url: https://www.patreon.com/yukisato

また、funding フィールドが設定されたパッケージを npm install などで仕様した場合には以下のようなメッセージが出てくるようになっていて、 npm fund コマンドでの確認を促すようになっている。

3 packages are looking for funding.
Run "npm fund" to find out more.

これで誰でも「このパッケージめっちゃ使いやすいじゃん!支援したい!」というときに爆速で資金提供できるようになりました!

おまけ

サンプルはGitHubに置いていますので良ければ使って下さい。
npmにも置いているので以下のコマンドを使えばマッハで挙動を確認できます。そのまま資金提供もできます(俺に)


npm i npm-fund-test
npm fund

以上です!