5分で簡単公開!Gistでnpmパッケージを公開してみよう

npmパッケージを利用することは多くても、実際に作って公開したことがある人はそこまで多くないのではないでしょうか。今回はGistを利用して、簡単にnpmパッケージを公開する方法を紹介します。
2020.01.23

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。サービスグループの武田です。

Node.jsではnpmパッケージという便利なモジュールが公開されています。利用者はそのモジュールをインストールすることで、簡単に利用できます。

さてnpmパッケージを利用することは多くても、実際に作って公開したことがある人はそこまで多くないのではないでしょうか。いきなりパッケージを作ってnpmリポジトリに公開するのはハードルが高いですよね。今回はGistを利用して、簡単にnpmパッケージを公開する方法を紹介します。

環境

次の環境で実行しています。

$ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.14.6
BuildVersion:	18G2022

$ node -v
v10.16.3

また当然ながら、GtiHubのアカウントも必要です。

npmパッケージに必須のファイル

npmパッケージを作成する前に、パッケージを作成するのに必須のファイルを確認しておきます。実は必須のファイルは次の2つだけです。

  • package.json
    • パッケージを定義するファイル
  • 実行ファイル
    • index.jsなど、実行するプログラムファイル

これらに加えてREADMEなどもあるとより丁寧ですね。さらに、package.jsonは名前のとおりJSONファイルなのですが、nameversionフィールドが必須で実行ファイルを指定するbinフィールドも必要です。そのため次のJSONが基本形となります。

package.json

{
    "name": "package-name",
    "version": "0.0.1",
    "bin": "./index.js"
}

実際に作って公開してみよう

それではさっそく、Gistを使ってnpmパッケージを公開する手順を見ていきます。

まずはGistにアクセスします。descriptionは適当に埋めて、1つ目のファイルとして、package.jsonを追加します。

package.json

{"name":"hello-npm-package", "version":"0.0.1", "bin":"./index.js"}

次に実行ファイルも追加したいので、[Add file]ボタンをクリックします。

ファイル欄が追加されたら、実行ファイルを追加します。先ほどpackage.jsonのbinフィールドで指定したファイル名と同じ名前にする必要があります(今回はindex.js)。

index.js

#!/usr/bin/env node

console.log('Hello NPM Package!');

あとは公開するだけです。[Create secret gist]または[Create public gist]をクリックします。なおSecret GistにしてもURLがわかれば誰でも見れますので、センシティブな情報は含めないよう気をつけてください。

公開したパッケージを使ってみよう

最後に、先ほど公開したパッケージを実行してみましょう。いくつか指定方法がありますが、Gistのハッシュ値を指定する方法が一番簡単です(GistのURLを確認してください)。

$ npx gist:4ba392cbf90501de0bed39e2d001c64a
npx: 1個のパッケージを5.772秒でインストールしました。
Hello NPM Package!

実行できましたね!

まとめ

Gistを利用することで難しい手順なく、簡単にnpmパッケージを公開できました。がっつりバージョン管理などが必要なプログラムはGitHubなどを使うべきですが、ちょっとしたスクリプトであればとても便利に使えるのではないでしょうか。またnpxコマンドを使うことで、実行するときも超お手軽ですね!

知らないのは損!npmに同梱されているnpxがすごい便利なコマンドだった

参考リンク