Biome 2.5.7
Biome just dropped 2.5.7, and honestly? It is a banger of a linting update. I have been poking at the new rules all morning, and this is the kind of release that quietly cleans up your codebase while you are not looking.
TL;DR: three rule additions (two in nursery, one option upgrade), a fix for Vue users, and a stdin mode fix for people with nested configs. No breaking changes. Update when you get a coffee break.
What Dropped
- useNullishCoalescing gets an ignoreIfStatements option — Biome now flags
ifstatements that only assign to a nullish variable, likeif (!a) { a = b }, and can rewrite them to??=. Flip the option on if you want Biome to leave thoseifstatements alone. - New nursery rule: noExtendNative — Reports when you extend the prototype of a built-in object. You know, the thing we all did in 2013 and regret.
- New nursery rule: noTailwindArbitraryValue — Flags Tailwind arbitrary values like
w-[400px]in class attributes, configured utility functions, and tagged templates. Perfect for teams that want to keep utility classes in a strict allowlist.
Bug Bashes
- Vue users, this one is for you —
noUnknownPseudoClassnow recognizes Vue's:deep()pseudo-class inside.vuestyle blocks. No more false positives on your scoped styles. - Stdin mode + nested configs — The CLI previously ignored nested
biome.jsonfiles when piping through stdin with--stdin-file-path. That is fixed now, sobiome format --write --stdin-file-path=subdirectory/lib.jsactually respects the config insubdirectory/biome.json.
Upgrade Path
Grab 2.5.7 from npm (npm i -D @biomejs/biome) or your package manager of choice. The new rules start in nursery, so they will not scream at you until you promote them in biome.json. Safe update, zero drama.