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
0
230
Biome: The community successor of Rome!
Nihonbashi.js #7 (9/6) での発表資料
nissy-dev
September 06, 2023
Tweet
Share
More Decks by nissy-dev
See All by nissy-dev
Deep dive into Biome in JSConf 2023
nissydev
7
5.4k
学生最後の年に、 3ヶ月間のOSS開発をした話 / GSoC 2020
nissydev
0
110
Other Decks in Technology
See All in Technology
商品レコメンドでのexplicit negative feedbackの活用
alpicola
2
370
駆け出しリーダーとしての第一歩〜開発チームとの新しい関わり方〜 / Beginning Journey as Team Leader
kaonavi
0
120
0→1事業こそPMは営業すべし / pmconf #落選お披露目 / PM should do sales in zero to one
roki_n_
PRO
1
1.5k
2025年に挑戦したいこと
molmolken
0
160
iPadOS18でフローティングタブバーを解除してみた
sansantech
PRO
1
150
JuliaTokaiとJuliaLangJaの紹介 for NGK2025S
antimon2
1
120
機械学習を「社会実装」するということ 2025年版 / Social Implementation of Machine Learning 2025 Version
moepy_stats
5
1.3k
Unsafe.BitCast のすゝめ。
nenonaninu
0
200
#TRG24 / David Cuartielles / Post Open Source
tarugoconf
0
590
新卒1年目、はじめてのアプリケーションサーバー【IBM WebSphere Liberty】
ktgrryt
0
130
テストを書かないためのテスト/ Tests for not writing tests
sinsoku
1
170
今から、 今だからこそ始める Terraform で Azure 管理 / Managing Azure with Terraform: The Perfect Time to Start
nnstt1
0
240
Featured
See All Featured
Designing Experiences People Love
moore
139
23k
Scaling GitHub
holman
459
140k
Building Your Own Lightsaber
phodgson
104
6.2k
A designer walks into a library…
pauljervisheath
205
24k
Fireside Chat
paigeccino
34
3.1k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Become a Pro
speakerdeck
PRO
26
5.1k
How STYLIGHT went responsive
nonsquared
96
5.3k
How GitHub (no longer) Works
holman
312
140k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
Code Review Best Practice
trishagee
65
17k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
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: コントリビュートしてみませんか?