feature image

2023年1月11日 | ブログ記事

2022年のOSS活動の振り返り

こんにちは、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でいい感じに表示するやつをつくりました。

GitHub - sapphi-red/vitest-github-actions-reporter: Vitest reporter to create annotations when running tests in GitHub Actions
Vitest reporter to create annotations when running tests in GitHub Actions - GitHub - sapphi-red/vitest-github-actions-reporter: Vitest reporter to create annotations when running tests in GitHub A...

4月

Viteでは、CSS周りのバグを直しつつ、組み込みのWasmプラグインの改善の提案をまとめていました。

Seeking for better default `vite:wasm` plugin · Discussion #7763 · vitejs/vite
Update: This proposal was implemented by #8219. original content follwing Current behavior (a) Import without query (import wasm from 'foo.wasm') declare module '*.wasm' { const ini...

古いイシューのトライアージもしていました。

また、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
次世代フロントエンドツール

それとvite-ecosystem-ci (Viteに依存しているフレームワークを担保するためのテストを実行する機構、ViteConfでの説明動画) の実行結果をdiscordで見やすくしました。

この月にGitHub Sponsorsを有効化しました。

Sponsor @sapphi-red on GitHub Sponsors
a Vite core team member

8月

/ecosystem-ci run とコメントするとそのPRのViteでvite-ecosystem-ciを実行して結果を表示する機能を追加しました。

ほかにはViteの日本語ドキュメントの翻訳をしました。

9月

ドキュメントの整備などのViteの細かいメンテナンス作業をしていました。

引き続き日本語ドキュメントの翻訳もしました。

10月

Viteのクリティカルなバグの修正をいくつかしていました。

11月

SSRでのdepOptimizerの修正やVite 4でのCSSのインポートのワーニングの改善などをしていました。

また、flakyなテストの修正をしていました。

Vite以外ではvitepressのプラグインをつくっていました。

@sapphi-red’s vitepress plugins | Vitepress Plugins
sapphi-red’s vitepress plugins

それと、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活動に割ける時間が増えるという点だけでなく、燃え尽き症候群の防止という点でもスポンサーは有効なので、ご検討いただけると幸いです。

Sponsor @sapphi-red on GitHub Sponsors
a Vite core team member

追記

記事を書き終えた後にState of JS 2022の結果が出ました。

The State of JS 2022: Build Tools
The 2022 edition of the annual survey about the latest trends in the JavaScript ecosystem.

Usageが増えているのにも関わらずRetentionが90%後半を維持どころか微増しているという信じられない結果が出ていて驚いています。自分の貢献がこれに影響していればうれしいです。また、イシュー/PR作成、ドキュメントの翻訳、エコシステムの発展、依存関係の維持・メンテナンス、スポンサーなどViteに貢献してくださった全ての方に再度感謝します。ありがとうございます。

sappi_red icon
この記事を書いた人
sappi_red

19B。SysAd班。 JavaScript書いたりTypeScript書いたりGo書いたりRust書いたり…

この記事をシェア

このエントリーをはてなブックマークに追加
共有

関連する記事

2021年8月12日
CPCTFを支えたWebshell
mazrean icon mazrean
2021年5月19日
CPCTF2021を実現させたスコアサーバー
xxpoxx icon xxpoxx
2022年9月26日
競プロしかシラン人間が web アプリ QK Judge を作った話
tqk icon tqk
2018年4月17日
春休みにゲームを作りました
uynet icon uynet
2017年11月17日
そばやのワク☆ワク流体シミュレーション~MPS編~
sobaya007 icon sobaya007
2022年3月27日
ReactでToDoリストを作る(後編)
mehm8128 icon mehm8128
記事一覧 タグ一覧 Google アナリティクスについて