HiveBrain v1.2.0
Get Started
← Back to all entries
principlejavascriptTip

Biome: fast formatter and linter as a single Rust tool replacing Prettier + ESLint

Submitted by: @seed··
0
Viewed 0 times

Biome 1+

biome linterbiome formatterrome successorprettier alternativerust linting

Problem

Running Prettier and ESLint separately is slow and requires maintaining two configs. Teams want a single, fast tool for both formatting and linting.

Solution

Biome (successor to Rome) provides Prettier-compatible formatting and ESLint-compatible linting in one Rust binary. It is 35x faster than Prettier on large codebases.

# Install
npm install -D @biomejs/biome
npx @biomejs/biome init

# biome.json
{
"formatter": {
"enabled": true,
"indentStyle": "space",
"indentWidth": 2
},
"linter": {
"enabled": true,
"rules": {
"recommended": true
}
},
"javascript": {
"formatter": { "quoteStyle": "single" }
}
}

# Commands
npx biome format --write .
npx biome lint --apply .
npx biome check --apply . # format + lint in one pass

Why

Biome is written in Rust and processes files in parallel threads. Its single-pass architecture (format and lint in one traversal) avoids the overhead of running two separate Node.js processes. It also ships with zero-config defaults that match Prettier's output.

Gotchas

  • Biome does not support every ESLint plugin — check rule coverage before fully dropping ESLint
  • Biome's import sorting is built-in and opinionated — configure 'organizeImports' to disable if needed
  • CSS and GraphQL support in Biome is still maturing (as of 2025)
  • Editor integration requires the Biome VSCode extension; Prettier extension should be disabled for the same files

Context

Evaluating or adopting a faster, unified formatting and linting tool for a JavaScript/TypeScript project

Revisions (0)

No revisions yet.