Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Biome: The community successor of Rome!
Search
nissy-dev
September 06, 2023
Technology
320
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.2k
学生最後の年に、 3ヶ月間のOSS開発をした話 / GSoC 2020
nissydev
0
160
Other Decks in Technology
See All in Technology
Antigravity SDK for the Java Developer
glaforge
0
200
Claude Codeを「使うほど育つ」AI秘書にするノウハウ
minorun365
PRO
33
32k
AIに書かせて、プラットフォームで縛る ― EKSプラットフォームで実践した責任境界と権限設計
elmodev09
0
450
ボードゲームの遊び相手をFoundation Modelsで作る / iOSDC Japan 2026
genda
0
180
AIエージェントを安全で速い現場監督にする:Jev・Obsidian・メタハーネス
x5gtrn
PRO
0
110
認知負荷を吸収し、プロダクトをまたぐPR Preview基盤の設計事例
taiki45
2
220
ScotSecure West 2026 - Glasgow
raybugg
0
170
その Lambda、8分で 管理者権限まで奪われます
k1nakayama
7
3.7k
時うどん〜Socket.getifaddrsで学ぶネットワーク編 / Tokiudon: The Socket.getifaddrs Edition
coe401_
4
260
高負荷プロダクション環境におけるAWS Lambdaのリアル 〜スケールとコストを左右する実行ライフサイクルの技術仕様〜
maimyyym
2
570
PQC移行の今 -- IETF からみた現在地
satokan
3
230
「どのログを見ればいい?」 から始めた サーバーレス障害解析
y_waka1
1
150
Featured
See All Featured
Deep Space Network (abreviated)
tonyrice
0
320
Designing for Timeless Needs
cassininazir
1
510
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
250
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
740
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
420
What's in a price? How to price your products and services
michaelherold
247
13k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
290
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
250
How to Ace a Technical Interview
jacobian
281
24k
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: コントリビュートしてみませんか?