30
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

4つ目のPRでようやく Next.js にコントリビュートできた話

Posted at

短くまとめると

Next.js で Server Action の redirect のバグがあったから直したよ。

教訓

・テストやリントを通さないとPR は通りにくい
・PR を送る時はバッチなだけではなくて、バグの原因も書くといいかもしれない
・ある程度腕に自信があるなら、good first issue ではなくて、普通にissue からバグの調査をしよう

経緯

普段してたこと

去年の12月からNext.js のコードを読むようになり、年初と2月の初めにパッチとしてPR を合計3つ出していました。
good first issue は他の人が取り組んでいるものばっかりだったので、issue を一から調査する形でパッチを作っていました。
ただテストやリントを通すことを、

この記事を見るまでしてなかったので、あまり芳しくない結果でした。
ただ issue の調査を通して、Nextjsへの解像度を上げてはいたと思います。

Server Action のredirect のバグのissue を調査し始める

たまたま この issue を見つけて、

Server Action は読み飛ばしてた場所でしたが、調査することにしました。
最初はServer Action をよく理解しておらず、client の調査という違う方向に進んでしまったのですが、ちゃんとServer Action を調べると、一ヶ月前のコミットで

SearchParams を考慮できてないことが原因になってました。
なので、SearchParams を追加したPRを作りました。

メンテナからすぐ連絡が来る

テストとリントを通して、バグの原因も調査していたので、今までのPRとは違って、メンテナからの連絡はすぐ来ました。

IMG_0290.jpeg

テストを作って欲しい、とメンテナの方は言ってました。
自分はテストは数が多すぎてどこを修正すればいいか皆目分からなかったのですが、メンテナがちゃんとURLを送ってくれたので、テストも無事かけました。

1日待つと

朝起きたら、なんとPRがアプルーブされてるではないですか!(よく見ると自分の修正も少し修正されてましたが。)

IMG_0291.jpeg

少し経ったら、マージされました。
こうして、初のNext.js へのコントリビュートが出来ました。

まとめ

今回のPR はリントとテストを通して、原因も調査して書いてたのが功を奏したのだと思います。
自分のような実務一年ちょいのよわよわエンジニアでも、根気を持ってNextjsという大規模なコードを読めば、バグを修正してコントリビューターになれたので、皆さんも挑戦してみるといいと思います!

30
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?