Bower の パッケージ を 公開する 方法

0 件のコメント

最近の Webフロントエンド 開発 では Bower を使っている人が増えているのでしょうか。 そんな Bower に 自分が作った パッケージ を公開する手順 について まとめてみました。

目次

概要

チートシート的にコマンドだけ並べると以下のような流れで Bowerリポジトリ に公開します。 ここでは概要なので細かいコマンドの説明や注意点は以降に見ていきます。

  1. bower.json の作成

    bower init
    
  2. GitHubへコミット

    git commit
    
  3. GitHubにタグ作成

    git tag <バージョン>
    git push origin --tags
    
  4. Bowerリポジトリに公開

    bower register <パッケージ名> <GitHubプロジェクトURL>
    

bower.json の作成

Bower に パッケージ公開 するにあたり、公開するパッケージがどのようなものであるかを定義しておく必要があります。 ちょうどこれを行うのが "bower.json" です。 "bower.json" では パッケージ名、著者、ホームページ、他パッケージとの依存関係 等 の 情報 を 保存 できます。

  1. 公開したいパッケージを作成しているディレクトリへ移動

    > cd /d "D:\workspace\sample_prj"
    
  2. bower init コマンド を実行

    > bower init
    
  3. ウィザードの質問に答えていくと bower.json が作成される

    初期化時の質問については 別記事 に記載しているのでご参照ください。

GitHub プロジェクト に コミット & タグ 作成

GitHub に コミット

コミット は コマンドからでも UIからでも 行えます。

  • コマンドからコミット

    コマンドからのコミットは単純に git commit で実行できます。

    git commit
    
  • UIからコミット

    [Commit to master]ボタンを押下すればコミットできます。

タグ作成

タグ作成は残念ながら GUI で行えません。 Shell から行う必要があります。 PowerShell または コマンドプロンプト を起動して、プロジェクトが存在するパスへ移動し、以下のコマンドを実行します。 GitHub for Windows を利用している場合、プロジェクト名を右クリックすると「Open in Git Shell」という選択肢があるので、 これを実行するとプロジェクトフォルダを最初のディレクトリとして PowerShell が起動します。

実行するコマンド

git tag <バージョン>
git push origin --tags

コマンドサンプル

git tag v1.0.0
git push origin --tags

バージョンの付け方は「セマンティックバージョニング」に従う必要があります。 「セマンティックバージョニング」の詳しい説明は 本家サイト を参照いただければと思います。 概要だけ説明すると、以下の3点に従ってバージョン付けを行います。 ちなみにバージョン番号の前に "v" を付けるかどうかについて、Bower においては任意だそうです。

セマンティックバージョニング

  • APIの変更に互換性のない場合はメジャーバージョンを、
  • 後方互換性があり機能性を追加した場合はマイナーバージョンを、
  • 後方互換性を伴うバグ修正をした場合はパッチバージョンを上げます。

セマンティックバージョニング の 詳細は 「セマンティック バージョニング」 に記載があるのでご確認ください。

Bower リポジトリ に 公開

前述のタグ作成まで終わったら、いよいよ Bower の リポジトリ へ公開です。 引き続き、以下のコマンドを実行することで公開できます。

実行するコマンド

bower register <パッケージ名> <GitHubプロジェクトURL>

コマンドサンプル

bower register jquery.depend git://github.com/garafu/jquery.depend.git

GitHubプロジェクトへのURLは GitHub の以下の場所から取得できるURLにおいてスキーマを httpsgit へ変更したものになります。

以上で Bower リポジトリ へ パッケージ の公開ができたと思います。 車輪の再発明は避けたいので…世界中の人たちと便利なものを作っていけるといいですね ^^