biome-come-to-rescue-you preview

Biome ยุติสงครามระหว่าง ESLint และ Prettier

One toolchain for your web project

นี่คือ Headline ของ Biome ที่อยู่ใน Official Website โดยหลักๆการทำงานของ Biome ทำได้ทั้ง Lint, Format, และ Code Analyzer ที่มีประสิทธิภาพสูงมากๆ พัฒนาด้วย Rust และสามารถ Migrate configuration จากทั้ง ESLint และ Prettier ได้

โดย Biome นั้นมีให้ใช้งานได้ทั้งแบบ IDE Extension, Node Package, หรือเรียกใช้แบบ Global CLI ผ่าน npx, bunx ได้แบบโคตรง่าย หรือถ้าใครไม่อยากติดตั้ง Node ก็สามารถติดตั้ง Biome ผ่าน package manager ในรูปแบบ standalone executable ได้ เช่น homebrew เป็นต้น

Getting Started

มาลองใช้งานกันดีกว่า

สำหรับ VSCode Extensions สามารถดาวโหลดได้ที่นี่

ติดตั้งกันก่อน

เริ่มจากติดตั้ง biome เป็น dev dependencies กัน

pnpm add --save-dev --save-exact @biomejs/biome

จากนั้นเราจะทำการ initialize config ของ biome ในโปรเจคของเรา

pnpm biome init

เราก็จะได้ไฟล์ biome.json ซึ่งจะมีคอนฟิกพื้นฐานมาให้ เช่น linter.enabled เป็นการเปิด linter และตัว formatter.enabled จะเป็น true ตั้งแต่ต้น ถ้าหากอยากปิดก็ใส่ value เป็น false ได้เลย

วิธีใช้งานก็ง่ายๆ ตัว CLI มีคำสั่งให้ใช้ค่อนข้างเยอะ ส่วนใหญ่ผมก็จะใช้แค่ 2 อันเป็นหลัก

pnpm biome format --write <files>

จะเป้นการสั่ง format ไฟล์

pnpm biome lint --write <files>

จะเป็นการ lint ไฟล์ และจะแก้ให้ด้วย

Migration

หลายๆ โปรเจคที่เราทำอยู่ก็น่าจะมี configuration file ของ ESLint หรือ Prettier หรือมีทั้งสองไฟล์เลย ทาง biome ก็เตรียมคำสั่งสำหรับ migrate ง่ายๆ มาให้

Migrate ESLint

pnpm biome migrate eslint --write

เราจะได้ไฟล์ biome.json ที่มีการเพิ่มพวก rules จาก eslint เข้ามา

Migrate Prettier

pnpm biome migrate prettier --write

ไฟล์ biome.json เราก็จะมี formatter config เพิ่มขึ้นมาสำหรับกำหนด coding style ที่จะใช้อ้างอิงในการทำ formattting

VSCode Extension

สำหรับการใช้งาน Format on Save บน VSCode ก็ทำได้ง่ายๆ โดยการติดตั้ง Extension ของ Biome

จากนั้นไปที่ไฟล์ที่เราต้องการตั้งค่า Formatter ก็กด cmd + shift + P พิมพ์ Format Document With ... แล้วเลือก Configure Default Formatter...

จะมี Formatter ที่เราติดตั้งเอาไว้ให้เลือก เช่น Prettier, Biome, หรือ default languauge server ของภาษานั้นๆ ให้เราเลือก Biome จบ

สำหรับบทความนี้ก็จบเพียงเท่านี้ ขอให้สนุกกับการเขียนโค้ดนะคร้าบ

← จัดการ dotfiles ด้วย chezmoi