こんにちは、19の翠(sappi_red)です。
この記事では自分が2022年に行ったOSS活動を振り返ります。(もう2023年になって一週間以上経っていますが…)
2021年まではちょこちょこコントリビュートしていたのですが、昨年はかなりがっつり活動していました。
最初に統計情報を見て、そのあと時系列順に振り返っていきます。
統計情報
以下はパブリックリポジトリから一部のリポジトリを除いた値を利用しています。
プルリクエスト
2022年の合計プルリクエスト数は556件でした。365日で割ると日に1.5件程度です。
Repository | Values |
---|---|
vitejs/vite | 303 |
traPtitech/traQ_S-UI | 58 |
vitejs/docs-ja | 49 |
traPtitech/booQ-UI | 22 |
vitejs/vite-ecosystem-ci | 14 |
sapphi-red/vitepress-plugins | 11 |
sapphi-red/vite-setup-catalogue | 9 |
vitest-dev/vitest | 9 |
vitejs/vite-plugin-vue | 5 |
リポジトリ別で見るとVite関連で6割強、traP関連で1割~2割といった感じでした。Vite関連が大体1日に1件程度ですね。
イシューとディスカッション
2022年のイシューへのコメント数は1980件でした。日に5.4件程度です。
Repository | Values |
---|---|
vitejs/vite | 1550 |
traPtitech/traQ_S-UI | 64 |
vitejs/docs-ja | 53 |
sapphi-red/vite-plugin-static-copy | 42 |
vitejs/vite-plugin-vue | 29 |
traPtitech/traQ | 28 |
evanw/esbuild | 23 |
vitejs/vite-plugin-react | 20 |
vitest-dev/vitest | 17 |
vitejs/viteのコメントは基本的にイシューのトライアージのコメントとプルリクエストへのコメントですね。こう見るとイシューの対応をかなりしていたと感じます。evanw/esbuildはViteで見つかったバグを報告していた分ですね。
2022年のディスカッションへのコメント数は174件でした。日に0.5件程度です。
Repository | Values |
---|---|
vitejs/vite | 169 |
sapphi-red/vite-plugin-static-copy | 3 |
vitejs/rfcs | 2 |
基本的に質問への対応です。イシューとディスカッションを合わせるとVite関連だけで日に5件くらいでした。
1月
traQで利用するためにつくったノイズ抑制ライブラリを公開しました。(traQに関しては部内製チャットサービス「traQ」UIのこれまで を参照)
あとは前年に出していたprettierのHTMLのフォーマットを8倍くらい速くするPRがレビューしていただけたのでそれの対応をしました。
2月
Viteにパフォーマンス改善のアイデアのイシューをたてたりバグ修正したりしました。それ以外には vite-plugin-inspect
にViteのプラグインのパフォーマンスを計測できる機能を追加しました。パフォーマンスが大きく変動した場合にこれを利用すると、どのプラグインが原因かを特定できます。
3月
3月はViteに開発中のCSSのソースマップの実装をしました。細かいところだとViteのflakyなテストを直すのもしてました。
vitest-github-actions-reporter
というVitestの落ちたテストのエラーをGitHubでいい感じに表示するやつをつくりました。
4月
Viteでは、CSS周りのバグを直しつつ、組み込みのWasmプラグインの改善の提案をまとめていました。
古いイシューのトライアージもしていました。
また、Vitestの改善を二つしていました。一つ目は、Vitest実行時の出力がぐちゃぐちゃになるというバグの修正をしました。二つ目は、カバレッジの集計にかかる時間を10分の1にしました。
5月
Viteのチームメンバーになりました。
Vite 3の開発が始まったのでそれ関連のプルリクエストをつくったりしました。主に前述のWasmプラグインの改善の提案の実装をしたのと、terserをオプショナルな依存関係に変更しました。
この月からプルリクエストのレビューを毎月25件くらいやってるみたいです。
6月
引き続きVite 3の実装をしていました。
一番大きなものは、Dockerで実行している場合などでも可能な限り server.hmr
の設定が不要になるようデフォルトを変更して、それが今後も動作するように、そして設定の参考になるように vite-setup-catalogue を用意したことです。これによりポートのマッピングを変更していない場合であれば、基本的に設定不要で動作するようになりました。
ほかには、localhostの扱いの変更 (日本語での説明)をしました。
7月
Vite 3がリリースされました。
Vite 3でのクリティカルなバグの修正をしたり、トラブルシューティングのページ(英語版)をドキュメントに追加しました。
それとvite-ecosystem-ci (Viteに依存しているフレームワークを担保するためのテストを実行する機構、ViteConfでの説明動画) の実行結果をdiscordで見やすくしました。
この月にGitHub Sponsorsを有効化しました。
8月
/ecosystem-ci run
とコメントするとそのPRのViteでvite-ecosystem-ciを実行して結果を表示する機能を追加しました。
ほかにはViteの日本語ドキュメントの翻訳をしました。
9月
ドキュメントの整備などのViteの細かいメンテナンス作業をしていました。
引き続き日本語ドキュメントの翻訳もしました。
10月
Viteのクリティカルなバグの修正をいくつかしていました。
11月
SSRでのdepOptimizerの修正やVite 4でのCSSのインポートのワーニングの改善などをしていました。
また、flakyなテストの修正をしていました。
Vite以外ではvitepressのプラグインをつくっていました。
それと、Node.jsの仕様が更新し忘れられていたところがあったので直しました。
12月
Vite 4がリリースされました。plugin-legacy以外のプラグインを別リポジトリに切り出したのでその対応をしたりしました。
引き続きflakyなテストの修正をしていました。これでテストがかなり安定しました。
最後に
昨年はずっとViteにコントリビュートしていました。今ではViteのコミット数3位になっていて、日本で一番Viteに詳しい人間を名乗れそうです。
Viteに深くかかわりはじめた3月ごろには60万ダウンロード/週だったのが、今では260万ダウンロード/週になっていて嬉しい限りです。Viteを利用したメタフレームワークのメジャーバージョンもいくつもリリースされて(Astro 1.0 (8/9)、Nuxt 3 (11/16)、SvelteKit 1.0 (12/14))、エコシステムの成長を感じています。
また、スポンサーなどOSS活動を支えてくださった方に感謝します。ありがとうございます。
今年も燃え尽き症候群にならないことを気にしつつViteにコントリビュートしていこうと思います。
OSS活動に割ける時間が増えるという点だけでなく、燃え尽き症候群の防止という点でもスポンサーは有効なので、ご検討いただけると幸いです。
追記
記事を書き終えた後にState of JS 2022の結果が出ました。
Usageが増えているのにも関わらずRetentionが90%後半を維持どころか微増しているという信じられない結果が出ていて驚いています。自分の貢献がこれに影響していればうれしいです。また、イシュー/PR作成、ドキュメントの翻訳、エコシステムの発展、依存関係の維持・メンテナンス、スポンサーなどViteに貢献してくださった全ての方に再度感謝します。ありがとうございます。