Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Biome: The community successor of Rome!

nissy-dev
September 06, 2023

Biome: The community successor of Rome!

Nihonbashi.js #7 (9/6) での発表資料

nissy-dev

September 06, 2023
Tweet

More Decks by nissy-dev

Other Decks in Technology

Transcript

  1. 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
  2. 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 として 開発を本格化
  3. 今年の1月に資金ショートが発生 給料が支払われなくなったことを理由に、2人のコアメンバーが会社を辞める Micha Reiser さん → Astral (Python の linter

    の開発) Emanuele Stoppa さん→ Astro (コンパイラの開発) Emanuele Stoppa さんを中心としたコミュニティーベースの開発が始まる Emanuele Stoppa さんが2月中旬から開発を再開 自分も含め何人かがコアメンバーに招待され、開発が本格化 3月と5月にコミュニティ主体のリリースも行った
  4. Rome を fork して Biome を発足 “Bis” + “Rome” →

    “Biome” ツールチェーンの統合という Rome の哲学はそのまま受け継ぐ Biome の発足
  5. 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 のリリース
  6. 今後の開発 マイルストーンは明確に決めてない 5人のコアメンバーが注力しそうなところ (あくまで自分の推測) Emanuele Stoppa さん→ Transpiler Denis Bezrukov

    さん, nissy-dev → CSS の parser Victorien Elvinger さん, unvalley さん→ Linter の安定化 ちなみに unvalley さんは、会場にいらしているはず 🙌
  7. 新しい Lint ルールの追加も welocome です! Rust を書いてみたい人におすすめです ドキュメントが手厚く、開発者体験も良い Linter を追加するときのドキュメント

    実装の雛形が自動で生成されるので、ロジックの実装に集中できる ノードの操作に関する API が直感的で書きやすい 親ノードも node.parent() で簡単に取得できる 興味ある人は issue をみてもらえると→ help wanted / good first issue Appendix: コントリビュートしてみませんか?