前回までjQueryプラグイン作成シリーズを書いてきましたが、こちらの先輩から「GitHubでバージョン管理して欲しい」とリクエストがありました。自分でも前々から興味があったので勉強も兼ねて、GitHub、さらにnpmで公開してみました。
そこで、今回はその時に得た知見を書きたいと思います。
何のためにGitHubとnpmで公開するの?と疑問に思った方もいるかもしれません。
確かに、"自分が頑張って作ったコードを他人に見られたくない"と思う方もいるでしょう。
しかし、メリットもあるんです。
コードの改善点などについて他のエンジニアと議論することができます。
議論することで自分では思いつかなかったアイデアが生まれやすくなります。
他のエンジニアに機能の追加やバグの修正などをしてもらい、それをマージすることでより良いものになります。
通常はソフトウェアの公式サイトなどからインストーラや圧縮ファイルでダウンロード&解凍しなければなりませんが、npmで公開している場合は、コマンドプロンプト(ターミナル)から
npm install <パッケージ名>
例:
npm install jquery.initscroll
このように簡単にインストール出来ます。
最新バージョンがリリースされた時も、コマンドプロンプト(ターミナル)から
npm update
これだけでアップデート出来ます。
公開する前に"READMEを作っておきましょう。
READMEとは、簡単に言うと"説明書です。
使用上の注意や使い方などが書かれていることが多いです。
GitHubやnpmのプロジェクトを色々参考にして、下記のようなテンプレートを作りましたので、参考にしてください。
※GitHubやnpmではマークダウン記法で書きます
Title === Summary ### Installation ### ### Usage ### ### Options ### ### OS Support ### - Windows - Mac OS - Android - iOS ### Browser Support ### - Google Chrome - Safari - Firefox - Edge - IE 11+ ### License ### MIT
それでは早速公開してみましょう。まずはGitHubからです。
Gitの基本的な使い方は下記を参考にすると良いかと思います。
GitHubで公開する方法はコミットしてプッシュするだけなので簡単にできます。
それだと書くことがなくなってしまうので、リリース機能というものを使ってみたいと思います。
それを使うカギはコミットにタグを付ける事です。
git tag <タグ名>
例:
git tag v1.0.0
このようにしてタグを付けます。
リリースに使うタグ名は v1.0.0 のような形にしてください。
コミットを指定しない場合は最新のコミットにタグが付きます。
コミットを指定したい場合は
git tag <タグ名> <コミット>
例:
git tag v1.0.0 5a46abcaa7777e2b171683a6cdc80f0c13fb1ecb
このようにコミットを指定します。
ただ、このままではリモートに反映されていないので、プッシュする必要があります。
git push origin <タグ名>
例:
git push origin v1.0.0
これでタグの作成は完了です。
続いてGitHubのリポジトリページにアクセスします。
そしてreleasesページに行き、右上にある「Draft a new release」をクリックします。
そして、必要な情報を入力していきます。
これでリリースの完了です!
続いてnpmの公開方法です。
npmの使い方は公式サイトをご覧ください。
パッケージを公開するには開発者として登録する必要があります。
サインアップのページにアクセスし、必要な情報を入力していきます。
これでアカウントの取得は完了です。
続いてコマンドプロンプト(ターミナル)から
npm adduser
を実行します。
そして、ユーザ名・パスワード・メールアドレスを入力します。
これで開発者登録は完了です。
次は公開するのに必要な情報をpackage.jsonに入力していきます。
必須なものは
それ以外は無くても問題ないですが、
この辺りは入力しておきましょう。
記入例:package.json
{ "name": "jquery.initscroll", "version": "0.0.1", "main": "dist/jquery.initscroll.js", "description": "jquery initial scroll plugin", "keywords": [ "jquery-plugin", "scroll" ], "author": "monsterdive, inc.", "license": "MIT", "dependencies": { "jquery": "3.2.1" } }
準備が完了したので、パッケージを登録します。
コマンドプロンプト(ターミナル)から
cd
で移動して、
npm publish
を実行します。
これで公開完了です!
更新したい場合は、package.jsonのversionを上げます。
package.json(version以外は割愛)
{ "version": "1.0.0" }
↓
{ "version": "1.0.1" }
そして、再び
npm publish
を実行すれば完了です。
最近はオープンソースとして数多くのプロジェクトが公開されています。
Webがここまで急速に発展した要因はオープンソースの力が大きいと思っています。
みなさんも作成したライブラリなど積極的に公開していきましょう!