Los viernes exploramos nuevas tecnologías que marcan tendencia. Hoy spotlight en **Biome**, la herramienta que promete reemplazar ESLint + Prettier con performance y simplicidad superiores.
### 🚀 ¿Qué es Biome?
Biome es un toolchain unificado para JavaScript, TypeScript, JSX y JSON que combina linting, formatting, y análisis de código en una sola herramienta ultra-rápida escrita en Rust.
**La propuesta de valor:** Una herramienta, cero configuración, máxima velocidad.
### ⚡ Performance que Impresiona
Los benchmarks oficiales muestran diferencias dramáticas:
**🔥 Linting (proyecto con 171,127 líneas):**
- **ESLint:** 12.5 segundos
- **Biome:** 0.4 segundos (31x más rápido)
**🎨 Formatting (mismo proyecto):**
- **Prettier:** 3.2 segundos
- **Biome:** 0.1 segundos (32x más rápido)
Esta velocidad se traduce en feedback instantáneo durante desarrollo y CI/CD más rápidos.
### 🛠️ Setup Ultra-Simple
**Instalación:**
```bash
# Con npm
npm install -D @biomejs/biome
# Con pnpm
pnpm add -D @biomejs/biome
# Inicializar configuración
npx @biomejs/biome init
Configuración mínima ( biome.json ):
json
{
"$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
"vcs": {
"enabled": true,
"clientKind": "git",
"useIgnoreFile": true
},
"files": {
"ignoreUnknown": false,
"ignore": ["dist/**", "node_modules/**"]
},
"formatter": {
"enabled": true,
"indentStyle": "space",
"indentWidth": 2,
"lineWidth": 100
},
"linter": {
"enabled": true,
"rules": {
"recommended": true
}
},
"javascript": {
"formatter": {
"quoteStyle": "single",
"trailingCommas": "es5",
"semicolons": "always"
}
}
}
Comparativa con el Stack Tradicional
ESLint + Prettier + Configuraciones:
Dependencias: 15+ paquetes mínimo
Configuración: Multiple archivos (.eslintrc, .prettierrc, etc.)
Performance: Lento en proyectos grandes
Conflictos: Reglas que se pisan entre herramientas
Mantenimiento: Updates complejos con breaking changes
Biome:
Dependencias: 1 sola herramienta
Configuración: 1 archivo JSON simple
Performance: 30x más rápido
Consistencia: Linting y formatting alineados
Mantenimiento: Updates simples y compatibles
Features Destacadas
Zero-config por defecto:
Funciona out-of-the-box con configuraciones sensatas para la mayoría de proyectos.
Soporte incremental:
Puedes migrar gradualmente desde ESLint/Prettier sin reescribir todo de una vez.
Diagnósticos avanzados:
Errores más claros con sugerencias de fix automático:
× Use === instead of ==
╭─[src/utils.js:15:10]
15 │ if (value == null) {
│ ──
│ ╰── Use === for exact equality
16 │ return false;
╰────
ℹ Using == can lead to unexpected type coercion
✔ Safe fix: Replace == with ===
Adopción en la Industria
Proyectos que ya han migrado a Biome:
- Astro: Migración completa, reportan 90% reducción en tiempo de CI
- Remix: Adoptado para desarrollo interno
- Shopify: Usando en múltiples repositorios
- WordPress.com: Piloto en equipos de frontend
Veredicto
Biome representa la próxima generación de herramientas de desarrollo: rápidas, simples, y potentes. Aunque todavía está madurando, su velocidad y simplicidad lo convierten en una opción seria para proyectos nuevos y migraciones graduales.
Recomendado para:
- Proyectos nuevos sin configuraciones legacy complejas
- Equipos que priorizan velocidad de desarrollo
- Monorepos grandes donde performance importa
- Equipos cansados de mantener configuraciones complejas
¿Han probado Biome en sus proyectos? ¿Qué los detiene de migrar desde ESLint/Prettier? ¿Ven valor en herramientas unificadas vs stack modular? Compartamos experiencias con tooling moderno.
featurefriday biome eslint prettier devtools performance javascript