こんにちは。フロントエンドエンジニアの花谷です。
LINEヤフーでは、さまざまな技術領域でオープンソースソフトウェアやコミュニティへの貢献を行っています。オープンソースへの貢献の形としては新規ソフトウェアの開発、既存オープンソースソフトウェアへの貢献、コミュニティへの参画やスポンサーなど、さまざまなものがあります。そんな中で、本記事ではそれらのうち、LINEヤフーのメンバーたちがフロントエンド領域において実際に行ったものを紹介していきます。
会社としてのオープンソースとの関わり方を紹介しつつ、LINEヤフーのことをより詳しく知るきっかけにもなれば幸いです。
LINEヤフー発のフロントエンド オープンソース資産
まずはLINEヤフーが所有・管理するオープンソース資産の様子から紹介します。
TypeScript Remove(旧: line/ts-remove-unused) の v1.0 公開
最も大きなトピックは AST を活用した TypeScript の dead code 削除ツール『TypeScript Remove』の正式公開です。
以前 ts-remove-unused という名称で本ブログにて取り上げた JavaScript 向けの dead code 削除ツールについて、開発者である@kazushisan自らの手で機能面の整備や内部アーキテクチャの刷新を行い、『TypeScript Remove(略称: tsr)』としてリブランディングされ正式リリースへと至りました。
さらに継続的なメンテナンスを経て、現在では以下のように実行時のパフォーマンスやパッケージサイズなどを切り詰めることに成功しています。
TypeScript Remove はこの一年で非常に話題となったオープンソースであり、今年のフロントエンド領域の活動を代表するものとなっています。
既存オープンソースのメンテナンス
その他には、 LINE Developers Product のメンテナンスも継続的に行われています。
特に LIFF SDK や LINE Bot SDK 周りのパッケージは積極的に更新が行われており、多くの資産が GitHub 上にてパブリックな形で公開されています。個別のパッケージメンテナンス状況については、以下をご確認ください。
外部のオープンソースソフトウェアのコントリビューション
また、LINEヤフー発ではないオープンソースへのコントリビューションも積極的に行われています。所属メンバーが自由に行っているものや、細かな改善を含めると非常に多くなるため、ここでは業務と関わりの深いものや、LINEヤフーの名義でコントリビューションの詳細を外部へと発信を行ったものを紹介します。
nuxt/content のパフォーマンス改善
Pull Request による直接的なコントリビューションでは、@coffeephileが nuxt/content へのパフォーマンス改善を行いました。
LINE Developersの開発で nuxt/content を利用している中で感じたボトルネックを解消するためにコードリーディングを行い、Pull Request を出して自ら改善を行いました。
https://github.com/nuxt/content/pull/2675
この経緯についてはLINEヤフーのフロントエンド開発者が情報を発信する Podcast メディア UIT INSIDE にて紹介しています。
ep.161『大規模ドキュメント特有の課題を OSSコントリビューションで解消!nuxt/content のパフォーマンス改善』にて語られていますので、興味のあるかたはそちらをご覧ください。
Vue.js への Trusted Types API の提案
また、今期は Pull Request 以外での貢献として、@kazuma0129が RFC の提出も行いました。
https://speakerdeck.com/lycorptech_jp/20241024a
また、オープンソースへの RFC の提出ノウハウについては、こちらも UIT INSIDE のエピソードep.169『Trusted Types API が気になったので Vue.js に RFC を提出してみた』にて紹介しています。
Pull Request 以外の貢献方法について興味があるかたは、ぜひそちらもご覧ください。
オープンソースへの金銭支援
また、LINE株式会社の時代より引き続き、2024年も Vue.js への金銭支援を継続しました。ゴールドスポンサーとして、USD$500/月の支援を行っています。
おわりに
例年オープンソースへの Pull Request へのコントリビューションは多く見られますが、今年は特に自社初のオープンソース資産の飛躍や、ソースコード以外でのオープンソースプロジェクトへの貢献が見られる一年でした。フロントエンド領域については、新しい組織活動の走り出しを支援するチーム「インキュベーションチーム」にて、オープンソースへの直接的な貢献やコミュニティカンファレンスへの協賛、貢献を行う社員にフィーチャーしたコンテンツ発信などを行っています。
今後も継続的にオープンソースへの貢献を模索するとともに、特徴的な取り組みが見られた際には都度このブログ、またはUIT INSIDEにて取り上げていく予定ですので、ぜひオープンソース活動の参考にしてみていただければと思います。