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
240
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.5k
学生最後の年に、 3ヶ月間のOSS開発をした話 / GSoC 2020
nissydev
0
110
Other Decks in Technology
See All in Technology
What's new in Go 1.24?
ciarana
1
110
いまからでも遅くない!コンテナでWebアプリを動かしてみよう!コンテナハンズオン編
nomu
0
150
Iceberg Meetup Japan #1 : Iceberg and Databricks
databricksjapan
0
370
データエンジニアリング領域におけるDuckDBのユースケース
chanyou0311
9
2.2k
php-conference-nagoya-2025
fuwasegu
0
150
クラウド関連のインシデントケースを収集して見えてきたもの
lhazy
8
1.1k
Visualize, Visualize, Visualize and rclone
tomoaki0705
9
83k
Exadata Database Service on Cloud@Customer セキュリティ、ネットワーク、および管理について
oracle4engineer
PRO
2
1.5k
LINE NEWSにおけるバックエンド開発
lycorptech_jp
PRO
0
250
AWSではじめる Web APIテスト実践ガイド / A practical guide to testing Web APIs on AWS
yokawasa
8
710
ディスプレイ広告(Yahoo!広告・LINE広告)におけるバックエンド開発
lycorptech_jp
PRO
0
380
Change Managerを活用して本番環境へのセキュアなGUIアクセスを統制する / Control Secure GUI Access to the Production Environment with Change Manager
yuj1osm
0
100
Featured
See All Featured
Become a Pro
speakerdeck
PRO
26
5.2k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
GraphQLとの向き合い方2022年版
quramy
44
14k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Statistics for Hackers
jakevdp
797
220k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
570
Adopting Sorbet at Scale
ufuk
74
9.2k
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: コントリビュートしてみませんか?