🌐

OSSコントリビュート、意外と簡単説

2024/12/21に公開

大学4年生のkawaiです!
憧れだったOSSコントリビュートをすることができたので共有したいと思います。

概要

今回コントリビュートしたのは日本初のUIライブラリ「Yamada UI」です

https://yamada-ui.com/ja

https://x.com/hirotomoyamada/status/1738868143949508785

OSSコミット、チャレンジしてみるか、、

一年ほど前にリリースされ、「なんだか凄そう、、」と思って、Hiroto YamadaさんのXをフォローしていました。

フォローしていると時々以下のようなポストが流れてきます。恐らく新しくOSSコントリビューターを増やすために、簡単なタスク(good first issue)を用意してくださっているのだと思います。
このようなポストを見るうちにOSSコントリビュートするしかない!と思い立って今回挑戦してみました。

https://x.com/hirotomoyamada/status/1866450692115972487

今回担当したissue

https://github.com/yamada-ui/yamada-ui/issues/3746

issueの内容

Provide the exact quote of the error or issue
We should use <For /> component when repeating a component
e.g.

<For each={items}>{(item, index) => <Text key={index} fontWeight="bold">{item}</Text>}</For>

以下ののドキュメントのコードのリファクタリングです。
Cardコンポーネントのコードが繰り返されている箇所があったので、Forコンポーネントに置き換えるというissueでした。

Card以外のコンポーネントも同じように、Forでリファクタリングするというissueやマージ済みのPRがたくさんあったので、参考にしながら進めることができました。

https://yamada-ui.com/components/data-display/card#change-variant

実装したプルリクエスト

https://github.com/yamada-ui/yamada-ui/pull/4079

コード

以下のようにForコンポーネントを使うことで、コードを簡潔にすることができました。

-<Card variant="subtle" colorScheme="green">
-    <CardHeader>
-      <Heading size="md">『SLAM DUNK』(スラムダンク)</Heading>
-    </CardHeader>
-
-    <CardBody>
-      <Text>
-        『SLAM
-        DUNK』(スラムダンク)は、バスケットボールを題材にした井上雄彦による日本の漫画作品。-主人公の不良少年桜木花道の挑戦と成長を軸にしたバスケットボール漫画。
-      </Text>
-    </CardBody>
-  </Card>
-
-  <Card variant="solid" colorScheme="pink">
-    <CardHeader>
-      <Heading size="md">『SLAM DUNK』(スラムダンク)</Heading>
-    </CardHeader>
-
-    <CardBody>
-      <Text>
-        『SLAM
-        DUNK』(スラムダンク)は、バスケットボールを題材にした井上雄彦による日本の漫画作品。-主人公の不良少年桜木花道の挑戦と成長を軸にしたバスケットボール漫画。
-      </Text>
-    </CardBody>
-  </Card>

+  <For each={["sm", "md", "normal", "lg"]}>
+    {(size, index) => (
+      <Card key={index} size={size}>
+        <CardHeader>
+          <Heading size="md">『SLAM DUNK』(スラムダンク)</Heading>
+        </CardHeader>
+
+        <CardBody>
+          <Text>
+            『SLAM
+            DUNK』(スラムダンク)は、バスケットボールを題材にした井上雄彦による日本の漫画+作品。主人公の不良少年桜木花道の挑戦と成長を軸にしたバスケットボール漫画。
+          </Text>
+        </CardBody>
+      </Card>
+    )}
+  </For>

最後に

実装は修正も含めて1時間もかからなかったと思いますし、初心者の方でも時間をかければできそうなIssueだと感じました!

日本からリリースされたUIライブラリということでドキュメントも日本語で書かれていて、スムーズにIssueにアサインされるところからマージまで達成できました

初心者向けのgood first issueはまだまだあるのでぜひ取り組んでみてください!
https://github.com/yamada-ui/yamada-ui/issues

Discussion