Murga

個人的に言いたいコト・主張・気持ち。

初めて GitHub でプルリクを出してマージしてもらった

GitHubの教科書 チーム開発を円滑、かつ正確に行うための実践方法

GitHubの教科書 チーム開発を円滑、かつ正確に行うための実践方法

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

Web制作者のためのGitHubの教科書 チームの効率を最大化する共同開発ツール Web制作者のための教科書シリーズ

Web制作者のためのGitHubの教科書 チームの効率を最大化する共同開発ツール Web制作者のための教科書シリーズ

GitHubツールビルディング ―GitHub APIを活用したワークフローの拡張とカスタマイズ

GitHubツールビルディング ―GitHub APIを活用したワークフローの拡張とカスタマイズ

この前、初めて GitHub でよその人が作っているオープンソースライブラリにプルリクを出して、めでたくマージしてもらった。

ngx-bootstrap

プルリクを出したのは、ngx-bootstrap というライブラリ。コレは Angular 上で Bootstrap のプラグイン部分を動作させるためのモノで、他にこれ以上機能が揃っている Angular + Bootstrap なライブラリも見当たらないので、実質的にデファクトなヤツ。

とはいってもまだまだ機能は出揃っておらず、不完全なところも散見されるライブラリだ。開発中、って感じで良い。

自分が作ったモノ

そんなワケで今回僕がプルリクを出したのは、カレンダーから日付を選択入力できる「DatePicker」の日本語対応部分の一処理だ。

入力値をパースして Date オブジェクトに直す時に、「年月日」などの表記をスラッシュ記号に直したりして、パース可能にするための関数 #preparse() を作った。

別の言語ではこの #preparse() 処理が実装されているモノもあったので、そのコードを参考に、日本語環境で入力されうる漢字などを置換しておく処理を書いた。

プルリクの様子

以下がそのプルリク。

ロクにコントリビューションのルールも読まずに preparse() メソッドだけ追加したコードをプルリクに出していて、オーナーの Valorkin 氏から「イイネ!でもテスト書いてくれる?」とレスされている。

ただ、同時に貼られていた URL が moment.js のテストで、「ワイが作った関数に合致するテストコードないンゴ…」な状態だったので、既に作られていた英語版のテストコードを流用して日本語版のテストコードを書いた。その上でコードカバレッジが不足しているところはテストを追加した。

そしたら fdescribe() と書いたままコミットしてしまうという凡ミスをやらかしていたのですぐに修正。

とりあえず直したら CI のテストがクリアできて、YevheniiaMazur 氏から「良いんじゃない?」とお墨付きをもらえた。

コレを確認した Valorkin 氏によって、めでたく development ブランチにマージしていただいた、というワケ。

初めてマージされたので、「人生で初めてプルリクをマージしてもらえて嬉しいです」と伝えたら、

Hohoho, my congratulations! Welcome to open source :)

「おめでとう。オープンソースにようこそ」

と言ってもらえた。

小さな「貢献できた」感

ネット上の小さなライブラリの、すごく小さな一機能だけど、自分がやったら喜ばれた、自分がやったことを受け入れてもらえた、という喜びは案外大きかった。

コレ自体で何かお金になるワケでもないし、正直僕自身はこの DatePicker という機能を全然使ってはいないのだが、何かちょっとでも役に立ったのなら良いのかなぁ、とか思った。

…バグが出たらゴメンナサイ…w