|
オープンソースのライブラリやフレームワークにプルリクエスト (PR) を送信したことがありますか? そうでない場合、今日の記事ではオープンソース ライブラリに PR を送信する方法を説明します。 オープンソース プロジェクトに PR を送信する理由は何ですか?この話は数年前(2019年)、私が仮想DOMのおもちゃをいじっていた頃に遡ります(以前の記事「仮想DOMとは一体何なのか?」参照)。標準的なフロントエンドプロジェクトでは、ビルドツール、Lintツール、そしてコードフォーマットはどれも不可欠です。 ビルドツールにはRollupを選択しました。ビルドのたびに自動的にコードをLintしてくれることを期待していたからです。そこで、Rollupプラグイン(rollup-plugin-eslint)を導入しました。
このプラグインを使用している間、Webpackの同等のプラグインであるeslint-webpack-pluginと比べていくつか違いがあることに気付きました。Webpackのeslint-webpack-pluginを使用する場合は、保存時にコードを自動的に修正するには、`fix`プロパティを設定するだけで済みます。
rollup-plugin-eslint を使用する場合、ドキュメントにはこのオプションについて何も記載されていないようです。つまり、rollup-plugin-eslint はこの機能を全くサポートしていないということです。そこで、問題を検索してみたところ、驚くべき発見がありました。2016年に既に誰かがこの質問をしていたのです! 著者の返答もシンプルでした。PR の提出は歓迎します。 「この機能はずっと前からあるのに、まだ誰も実装していない。きっとすごく難しいんだろうな」と思いました。でも、隣にあるeslint-webpack-pluginが明らかにこの機能をサポートしていたので、実装方法を見てみることにしました。🐶 そこで、eslint-webpack-plugin のコードを複製して検索したところ、この機能を実現するのに必要なコードは 3 行だけであることがわかりました。
私は興奮した心と震える手で、すぐに rollup-plugin-eslint に PR を送信しました。
重要な点は、作者自身もこれがこんなに簡単に実装できるとは思っていなかったということです。 GitHub でプル リクエスト (PR) を送信するにはどうすればよいですか?上記は、私が初めてPRを提出する際の考え方です。現在使用しているオープンソースフレームワークに改善点が見つかった場合は、GitHubでPRを提出する方法をこちらでご確認ください。 オープンソースプロジェクトのフォークまず、PR を送信するプロジェクトを自分のリポジトリにフォークします。 次に、独自のリポジトリに移動し、フォークされたプロジェクトをローカル マシンに複製します。
新しいブランチに切り替えて変更をコミットし、リモートにプッシュします。 コードをローカル マシンに複製した後、できればこの更新の内容に近いブランチ名を持つ新しいブランチに切り替えます。
新しいブランチのコードを変更します。
変更を送信:
最後に、新しいブランチをリモートにプッシュします。
新しいPRを作成するGitHub リポジトリで対応するプロジェクトを見つけて、「プル リクエスト」タブを開き、「新しいプル リクエスト」ボタンをクリックして、新しい PR を作成します。 次に、下のインターフェースで、コミットしたブランチを選択し、最後に「プル リクエストの作成」をクリックします。 クリック後、該当プロジェクトにPR(Public Retrieval Program)を送信します。すべてがうまくいけば、オープンソースプロジェクトの貢献者の称号を獲得できます。 |