Volver al blog

Biome 2.0: El Linter y Formatter Rust Que es 25x Mas Rapido

Hola HaWkers, una de las herramientas mas prometedoras del ecosistema JavaScript acaba de recibir una actualizacion masiva. Biome 2.0 llego con soporte para type-aware linting, trayendo funcionalidades que antes solo eran posibles con typescript-eslint, pero con performance hasta 25x superior.

Todavia estas esperando segundos para que tu linter se ejecute? Tal vez sea hora de conocer Biome.

Que es Biome

Biome es una herramienta unificada que reemplaza ESLint y Prettier en un unico paquete, escrito completamente en Rust. El proyecto nacio de Rome (ahora descontinuado) y evoluciono para convertirse en una alternativa viable y cada vez mas popular.

Destacados de Biome 2.0

  • Type-aware linting: Reglas que entienden tipos TypeScript
  • 25x mas rapido: Que Prettier para formateo
  • 15x mas rapido: Que ESLint para linting
  • Cero configuracion: Funciona out of the box
  • Ecosistema de plugins: Soporte a plugins en desarrollo

Contexto importante: En junio de 2025, Biome ya era usado por mas de 50,000 proyectos en GitHub, con crecimiento del 300% en relacion al ano anterior.

Benchmarks de Performance

Los numeros de Biome 2.0 son impresionantes.

Comparativo de Velocidad

Operacion ESLint + Prettier Biome 2.0 Mejora
Format 1000 archivos 12.5s 0.5s 25x
Lint 1000 archivos 8.3s 0.55s 15x
Format + Lint 20.8s 0.9s 23x
Watch mode (re-check) 2.1s 0.08s 26x

Uso de Memoria

Escenario ESLint Biome Reduccion
Proyecto pequeno 180MB 45MB 75%
Proyecto grande 850MB 120MB 86%
Monorepo 2.5GB 280MB 89%

💡 Por que tan rapido? Biome esta escrito en Rust, usa paralelizacion eficiente, y no depende del runtime JavaScript. Cada archivo es procesado en threads separados con overhead minimo.

Novedades de Biome 2.0

La version 2.0 trae recursos que faltaban para competir completamente con el ecosistema ESLint.

Type-Aware Linting

Ahora Biome puede analizar tipos TypeScript para reglas mas inteligentes:

// biome.json
{
  "linter": {
    "rules": {
      "nursery": {
        // Reglas que entienden tipos
        "noFloatingPromises": "error",
        "noMisusedPromises": "error",
        "awaitThenable": "error"
      }
    }
  }
}
async function fetchData() {
  // Biome avisa: Promise no tratada
  fetch('/api/data');

  // Correcto:
  await fetch('/api/data');
}

Nuevas Reglas de Seguridad

// Reglas para detectar problemas comunes de seguridad

// noSecrets: Detecta credenciales hardcoded
const apiKey = "sk_live_abc123"; // Aviso!

// noUnsafeRegex: Detecta regex vulnerables a ReDoS
const regex = /^(a+)+$/; // Aviso: potencial ReDoS

// noEval: Bloquea uso de eval
eval("alert('xss')"); // Error!

Migracion de ESLint a Biome

La migracion es mas simple de lo que imaginas.

Paso 1: Instalacion

# npm
npm install --save-dev @biomejs/biome

# yarn
yarn add --dev @biomejs/biome

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

Paso 2: Inicializacion

# Crear configuracion inicial
npx @biomejs/biome init

# Migrar configuracion de ESLint
npx @biomejs/biome migrate eslint --write

Comparacion de Reglas

Ve como las reglas de ESLint mapean a Biome.

Reglas Equivalentes

ESLint Biome Estado
no-unused-vars noUnusedVariables
no-console noConsole
prefer-const useConst
eqeqeq useStrictEquality
no-var noVar

Cuando Usar Biome

Biome es ideal para ciertos escenarios.

Casos de Uso Ideales

Proyectos nuevos:

  • Comienza con Biome desde el inicio
  • Sin bagaje de configuracion ESLint
  • Performance desde el dia 1

Monorepos:

  • Performance es critica
  • Configuracion unificada
  • Reduccion drastica de tiempo en CI

Equipos grandes:

  • Menos tiempo esperando herramientas
  • Configuracion simple
  • Onboarding rapido

Conclusion

Biome 2.0 representa un cambio significativo en el ecosistema de herramientas JavaScript. Con type-aware linting y performance 25x superior, la herramienta esta lista para reemplazar ESLint y Prettier en muchos proyectos.

Si estas comenzando un proyecto nuevo o tienes la flexibilidad de migrar, Biome ofrece una experiencia de desarrollo mas rapida y simplificada. El ahorro de tiempo en CI solo puede justificar la migracion.

Si quieres entender mas sobre como Rust esta transformando las herramientas JavaScript, te recomiendo echar un vistazo a nuestro articulo sobre Vite 8 y Rolldown donde discutimos otra herramienta revolucionaria escrita en Rust.

Vamos para arriba! 🦅

Comentarios (0)

Este artículo aún no tiene comentarios 😢. ¡Sé el primero! 🚀🦅

Añadir comentarios