Skip to content
Search
See the whole radar
Biome 2.5

Biome 2.5.14: reglas nuevas y arreglos en formateo

Suma reglas nursery para promesas, Svelte y estilo de funciones, y corrige varios bugs de formateo en HTML, Vue, Svelte y Astro.

Reglas nuevas en el linter

Se agregaron cuatro reglas nursery. noReturnInFinally marca los return dentro de callbacks de Promise.prototype.finally(), porque ese valor no reemplaza el resultado original de la promesa. noSvelteAtDebugTags detecta tags {@debug} que quedaron olvidados en componentes Svelte y ofrece un fix seguro para borrarlos. useConsistentFunctionStyle exige que definas funciones como expresiones asignadas a una variable en vez de function declarations. useValidTestTitle chequea que los títulos de test y suite sean válidos.

javascript
// Invalid: return in finally callback
Promise.resolve(1).finally(() => { return 2 })
​
// Valid: no return in finally callback
Promise.resolve(1).finally(() => { console.log(2) })

Formateo de HTML en Vue, Svelte y Astro

El formateador de HTML dejó de tratar componentes con nombre PascalCase (como <Body> o <Ul>) como elementos nativos, y dejó de aplicarle formateo de bloque SVG a elementos desconocidos que coinciden en nombre con tags SVG. También se corrigió un bug donde biome check --write o biome lint --write reportaba un fix como aplicable pero no escribía nada dentro de expresiones de atributos HTML, por ejemplo un handler onclick en Svelte.

diff
-<Body>
- <div>content</div>
-</Body>
+<Body><div>content</div></Body>

Modificadores accessor y override en TypeScript

Ahora Biome reporta error si combinás readonly y accessor en cualquier orden, porque no pueden usarse juntos. Además, override accessor value = 1 ya parsea correctamente, mientras que el orden invertido, accessor override, reporta que override tiene que ir antes que accessor.

Otros arreglos puntuales

source.fixAll.biome ya no ignora la opción formatter.formatWithErrors: aplica fixes seguros sin formatear archivos con errores de parseo cuando la opción está desactivada. Se resolvió una lentitud cuadrática al formatear o revisar objetos parentizados grandes, y un cuelgue de noUndeclaredCustomProperties al chequear hojas de estilo importadas desde módulos JS con muchas dependencias compartidas. También se agregó la opción requireExplicitCase a useExhaustiveSwitchCases para exigir todos los casos de una unión aunque exista un default.

What you get

  • Cuatro reglas nursery nuevas: promesas con finally, tags de debug de Svelte, estilo de funciones y títulos de test

  • Varios bugs de formateo HTML corregidos en componentes Vue, Svelte y Astro

  • Fixes de rendimiento: se eliminó una lentitud cuadrática y un cuelgue en un linter rule

  • TypeScript valida mejor las combinaciones de readonly, accessor y override

We wrote this summary from the official release notes. What wasn't there isn't here.

Original announcement from Biome

Want a class on this?

If enough people ask for it, it goes on the schedule. No email, no name needed.