The Tooling Problem
Your JavaScript project has:
-
.eslintrc.js(150 rules configured) -
.prettierrc(formatting preferences) -
eslint-config-prettier(to make them not fight) - 50+ eslint plugins in node_modules
- 30-second lint time on CI
Biome replaces all of it. One tool. One config. Written in Rust. 35x faster than ESLint.
What Biome Gives You
Linting + Formatting in One Tool
# Format AND lint in one command
biome check --write .
# Just format
biome format --write .
# Just lint
biome lint .
No more ESLint-Prettier conflicts. Biome's formatter and linter are designed to work together.
300+ Lint Rules (Built In)
{
"linter": {
"rules": {
"suspicious": {
"noDoubleEquals": "error",
"noExplicitAny": "warn"
},
"complexity": {
"noForEach": "warn"
},
"correctness": {
"noUnusedVariables": "error"
}
}
}
}
Covers: ESLint core, typescript-eslint, eslint-plugin-react, eslint-plugin-jsx-a11y, eslint-plugin-import — all built in.
Performance
| Tool | 1,000 files | 10,000 files |
|---|---|---|
| ESLint + Prettier | 12s | 120s |
| Biome | 0.3s | 3.4s |
35x faster. On CI, that's the difference between a 2-minute wait and instant feedback.
Import Sorting
{
"organizeImports": {
"enabled": true
}
}
No more eslint-plugin-import or @trivago/prettier-plugin-sort-imports. Built in.
CSS and JSON Support
biome format --write "src/**/*.css"
biome lint "src/**/*.json"
Lints and formats CSS, JSON, and JSONC files too.
Migration From ESLint
biome migrate eslint --write
Reads your .eslintrc and generates equivalent biome.json. One command migration.
Quick Start
npm install --save-dev @biomejs/biome
npx biome init
npx biome check --write .
Why This Matters
JavaScript tooling shouldn't take longer than your code to run. Biome proves that linting + formatting can be instant, configured in one file, and installed as one dependency.
Building developer tools? Check out my web scraping actors on Apify Store — get structured data for your projects. For custom solutions, email spinov001@gmail.com.
Top comments (0)