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

Biome is for JavaScripters

unvalley
December 08, 2023
940

Biome is for JavaScripters

A Slide for We Are JavaScripters! @43rd

unvalley

December 08, 2023
Tweet

Transcript

  1. About me - unvalley - A core contributor of Biome

    - TypeScript / Rust / Scala @unvalley_ unvalley 2
  2. Biome - One toolchain for your web project - パフォーマンスに優れたRust製のWebツールチェーン

    - Analyzer / Linter / Formatterを提供(CLIとLSPで利用可能) - 採用事例が増えている Vercel (v0.dev)・Sentry (javascript-sdk)・ant-design, etc - Prettierと約97%の互換性(対象はJS, TS, JSX のフォーマット) - 181のLintルールを実装(ESLint, typescript-eslintなどからの移植や固有のもの) 3 Rome Biome
  3. Biomeを試す 5 - npm, yarn, pnpm, deno, bunで利用できます - Homebrewでもインストール可能:brew

    install biome - 業務で使ってるプロジェクトやOSSなどで試してみてください - Docs : https://biomejs.dev - Playground : https://biomejs.dev/playground npx @biomejs/biome check --apply . // format and lint with npx
  4. Prettier Challenge : Write a pretty printer in Rust 10

    Vjeux(Co creator of Prettier)・Guillermo Rauch(Vercel CEO)・ WASIX・napi-rs によるBountyプログラム。
  5. Prettier Challengeで得られたもの - Bounty - 新規コントリビュータ - 多くのコントリビュータがPrettier Challengeに参加した -

    @faultyserver, @TaKO8Ki がメンバーになった - Formatterのオプションに対する方向性 - https://biomejs.dev/formatter/option-philosophy/ - Prettierとは異なるフォーマットの判断(Divergence) - https://biomejs.dev/formatter/differences-with-prettier/ 11
  6. Rust Part 13 - CSTによるError ResilientなParser実装 - RustによるAnalyzer / Linter

    / Formatterの実装 - CLI / VS Code Extension - WASMによるWeb Playground 他いろいろ
  7. Web Part 14 - 対応言語(JavaScript / TypeScript / JSX /

    JSON / CSS)の仕様 - 対応言語の既存Lint実装 - (ESLint / typescript-eslint, eslint-plugin-jsx-a11y etc) - 対応言語の既存Formatter実装 (Prettier) 他いろいろ
  8. 開発のためのドキュメント 17 - CONTRIBUTING.md : https://github.com/biomejs/biome/blob/main/CONTRIBUTING.md - 開発に関する情報のハブ - @ematipicoによるParserとFormatterの解説動画のリンクなどもあります

    - Analyzer and Linter : https://docs.rs/biome_analyze/latest/biome_analyze/ - Parser : https://docs.rs/biome_parser/latest/biome_parser/ - JS Formatter: https://docs.rs/biome_js_formatter/latest/biome_js_formatter/
  9. We seek contributors:参加方法はいろいろ 18 - コードコントリビューション(機能追加・バグ修正等)をする - ウェブサイトのデザインアイデアを投げる・実装する - GitHub

    DiscussionやDiscordでアイデアを投げる・議論する・解決する - 他の利用者の質問に回答する - スポンサーになる Good First Issueがなくても、タスクは作れます(特にLintルール)。 興味があれば、気軽にDiscordやGitHub Discussionなどで、お声がけください。 自分ももっとBiomeの内部でも他のOSSでも、色々と幅を広げていきたい。