Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Biome: The community successor of Rome!
Search
nissy-dev
September 06, 2023
Technology
300
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Biome: The community successor of Rome!
Nihonbashi.js #7 (9/6) での発表資料
nissy-dev
September 06, 2023
More Decks by nissy-dev
See All by nissy-dev
Deep dive into Biome in JSConf 2023
nissydev
7
6.1k
学生最後の年に、 3ヶ月間のOSS開発をした話 / GSoC 2020
nissydev
0
150
Other Decks in Technology
See All in Technology
LayerXにおけるセキュリティ管理の現在地と次の一手
tosho
0
110
Disciplined Vibes: Scaling AI-Assisted Engineering
sheharyar
0
140
スキルと MCP ツール、責務をどう分けるか? AI が迷わないインターフェース設計の戦略
cdataj
1
1k
自律型AIエージェントは何を破壊するのか
kojira
0
160
フロンティアAIのゲート化と地政学リスク
nagatsu
0
130
Android の公式 Skill / Android skills
yanzm
0
140
AmazonRoute 53ではじめてのドメイン取得!HTTPS化までの道のりを整理してみた
usanchuu
3
140
Building applications in the Gemini API family.
line_developers_tw
PRO
0
3.2k
日本 Fintech 未来予測レポート 2027〜2028年(オリジナル版)
8maki
0
2.1k
AAIFに入ってみた ~内から見えるコミュニティ動向~
sato4
0
190
EventBridge Connection
_kensh
5
700
"何を作るか"を任される エンジニアは、どう育つのか
yutaokafuji
1
660
Featured
See All Featured
Music & Morning Musume
bryan
47
7.2k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
Mind Mapping
helmedeiros
PRO
1
250
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
330
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
380
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
390
Thoughts on Productivity
jonyablonski
76
5.2k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
Building the Perfect Custom Keyboard
takai
2
790
The untapped power of vector embeddings
frankvandijk
2
1.8k
Paper Plane
katiecoart
PRO
1
51k
Transcript
The community successor of Rome!
自己紹介 Daiki Nishikawa GitHub (nissy-dev) X (@nissy_dev) にっしーと読んでもらえると嬉しいです Cybozu のフロントエンドエンジニア
Biome のコアメンバー
今日話すこと これまでの Rome Rome を forkした経緯 Biome の今後
フロントエンド開発に必要なツールチェーンを統合しようというプロジェクト bundler, linter, formatter, test runner... 各ツールの設定が大変なので、統合し開発者体験を向上したい Yarn/Babel を作った Sebastian
さんが開発をはじめた Rome の始まり
2021/3 2022/4 2020/8 2021/9 2022/10 OSS として 開発を本格化 4.5 million
USD を資金調達し、 Rome Tools, Inc を設立 Rust でコードを 全て書き直す決断 Rust で開発をはじめてから 初の formatter のリリース formatter の stable 化と linter のリリース 昨年までの Rome
2021/3 2022/4 2021/9 2022/10 Rome Tools, Inc の想定していたタイムライン beta 1.0
の リリース 参考資料: https://drive.google.com/file/d/1gOUJshwbJpxmrqLjOmrpTCKjBWT6dp7Y/view 事業の 立ち上げ ファースト リリース ユーザー 1万人 クラウド ファンディング 2020/8 OSS として 開発を本格化
今年の1月に資金ショートが発生 給料が支払われなくなったことを理由に、2人のコアメンバーが会社を辞める Micha Reiser さん → Astral (Python の linter
の開発) Emanuele Stoppa さん→ Astro (コンパイラの開発) Emanuele Stoppa さんを中心としたコミュニティーベースの開発が始まる Emanuele Stoppa さんが2月中旬から開発を再開 自分も含め何人かがコアメンバーに招待され、開発が本格化 3月と5月にコミュニティ主体のリリースも行った
コミュニティベースでの開発の問題点 開発に必要な権限の移譲が不可能だった 権限を持っている Sebastian さんとどうやっても連絡が取れない discord, npm, VSCode... ライセンスの所属が Rome
Tools, Inc のまま 会社が存続しているかどうかが分からず、コードの帰属が曖昧 Open Collective などの funding も始められない
Rome を fork して Biome を発足 “Bis” + “Rome” →
“Biome” ツールチェーンの統合という Rome の哲学はそのまま受け継ぐ Biome の発足
JSON 内のコメントへの対応 tsconfig.json や JSONC ファイルなども format できるように Prettier でサポートされている
formatter オプションの追加 JSX quotes style・arrow function parenthesiss の追加 Angular/NestJS ユーザー向けの decorator に関する構文の対応 class method parameter decorators のサポート biome lint コマンドの追加 TypeScript 5.2 の対応 同時に v1 のリリース
今後の開発 マイルストーンは明確に決めてない 5人のコアメンバーが注力しそうなところ (あくまで自分の推測) Emanuele Stoppa さん→ Transpiler Denis Bezrukov
さん, nissy-dev → CSS の parser Victorien Elvinger さん, unvalley さん→ Linter の安定化 ちなみに unvalley さんは、会場にいらしているはず 🙌
Biome は Rome の意思を受け継いで これからも開発を進めていきます コントリビュートしてみたい人は ぜひ声かけてもらえると!
新しい Lint ルールの追加も welocome です! Rust を書いてみたい人におすすめです ドキュメントが手厚く、開発者体験も良い Linter を追加するときのドキュメント
実装の雛形が自動で生成されるので、ロジックの実装に集中できる ノードの操作に関する API が直感的で書きやすい 親ノードも node.parent() で簡単に取得できる 興味ある人は issue をみてもらえると→ help wanted / good first issue Appendix: コントリビュートしてみませんか?