Skip to content

Commit f5488be

Browse files
Update dependency @biomejs/biome to v2.5.6 (#641)
> ℹ️ **Note** > > This PR body was truncated due to platform limits. This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [@biomejs/biome](https://biomejs.dev) ([source](https://redirect.github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome)) | [`2.4.16` → `2.5.6`](https://renovatebot.com/diffs/npm/@biomejs%2fbiome/2.4.16/2.5.6) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@biomejs%2fbiome/2.5.6?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@biomejs%2fbiome/2.4.16/2.5.6?slim=true) | --- ### Release Notes <details> <summary>biomejs/biome (@&#8203;biomejs/biome)</summary> ### [`v2.5.6`](https://redirect.github.com/biomejs/biome/blob/HEAD/packages/@&#8203;biomejs/biome/CHANGELOG.md#256) [Compare Source](https://redirect.github.com/biomejs/biome/compare/@biomejs/biome@2.5.5...@biomejs/biome@2.5.6) ##### Patch Changes - [#&#8203;11035](https://redirect.github.com/biomejs/biome/pull/11035) [`0e4b03b`](https://redirect.github.com/biomejs/biome/commit/0e4b03be71b32120c6326e58e046260bcf5d3231) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed a performance regression in [`noMisusedPromises`](https://biomejs.dev/linter/rules/no-misused-promises/) that caused type inference to run repeatedly while linting a file. - [#&#8203;11043](https://redirect.github.com/biomejs/biome/pull/11043) [`22ec076`](https://redirect.github.com/biomejs/biome/commit/22ec076462d4590ea7c95f7693b69040c32a38aa) Thanks [@&#8203;denbezrukov](https://redirect.github.com/denbezrukov)! - Fixed CSS formatting for multiline function arguments preceded by comments: ```diff .example { value: outer( 1, /* comment */ nested( - first, - second - ) + first, + second + ) ); } ``` - [#&#8203;11007](https://redirect.github.com/biomejs/biome/pull/11007) [`c9acb25`](https://redirect.github.com/biomejs/biome/commit/c9acb25acbce7a6f632b5041ec546a604aea4343) Thanks [@&#8203;BTF-Kabir-2020](https://redirect.github.com/BTF-Kabir-2020)! - Fixed [#&#8203;9195](https://redirect.github.com/biomejs/biome/issues/9195): [`useHookAtTopLevel`](https://biomejs.dev/linter/rules/use-hook-at-top-level/) no longer reports hooks in named `forwardRef` components that receive a `ref` parameter. - [#&#8203;10152](https://redirect.github.com/biomejs/biome/pull/10152) [`50a9bd8`](https://redirect.github.com/biomejs/biome/commit/50a9bd84df852de305e94a91fb57f6b3b1378187) Thanks [@&#8203;Zelys-DFKH](https://redirect.github.com/Zelys-DFKH)! - Fixed [#&#8203;10131](https://redirect.github.com/biomejs/biome/issues/10131): Biome now correctly parses curried arrow functions in ternary consequents when the inner arrow's parameters use a destructuring pattern, e.g. `cond ? (x) => ({ a, b }) => body : alt`. - [#&#8203;11105](https://redirect.github.com/biomejs/biome/pull/11105) [`8ffe2b9`](https://redirect.github.com/biomejs/biome/commit/8ffe2b9f2f9224921a0bad4a772e6611006351e5) Thanks [@&#8203;dadavidtseng](https://redirect.github.com/dadavidtseng)! - Fixed [#&#8203;11092](https://redirect.github.com/biomejs/biome/issues/11092): The [`noUselessTernary`](https://biomejs.dev/linter/rules/no-useless-ternary/) quick fix now preserves operator spacing when simplifying or inverting boolean ternary expressions. - [#&#8203;10533](https://redirect.github.com/biomejs/biome/pull/10533) [`5809875`](https://redirect.github.com/biomejs/biome/commit/580987506a32cdde2f5498e0f712e3493ef9adde) Thanks [@&#8203;Mokto](https://redirect.github.com/Mokto)! - Fixed [#&#8203;10515](https://redirect.github.com/biomejs/biome/issues/10515): `biome check --write` was not idempotent on Svelte files — multi-line template literals in `<script>` blocks and block comments in `<style>` blocks gained an extra indent level on every run. - [#&#8203;11040](https://redirect.github.com/biomejs/biome/pull/11040) [`0abb620`](https://redirect.github.com/biomejs/biome/commit/0abb620b2f0bd748bf272a2bc56aa02f5a6d0fee) Thanks [@&#8203;Mokto](https://redirect.github.com/Mokto)! - Fixed an issue where the HTML formatter would duplicate a comment placed directly before a Svelte `{@&#8203;const ...}` or `{@&#8203;debug ...}` block. The duplication compounded on every subsequent `--write`, causing the file to grow exponentially. - [#&#8203;10858](https://redirect.github.com/biomejs/biome/pull/10858) [`6d18204`](https://redirect.github.com/biomejs/biome/commit/6d182043b1de76f8668464bfa5c295161135ee0e) Thanks [@&#8203;ruidosujeira](https://redirect.github.com/ruidosujeira)! - Fixed [#&#8203;10839](https://redirect.github.com/biomejs/biome/issues/10839): Svelte `{#each}` array destructuring no longer includes spaces inside square brackets, and multiline bind function expressions now indent their getter, setter, and function body correctly. - [#&#8203;11009](https://redirect.github.com/biomejs/biome/pull/11009) [`2c36626`](https://redirect.github.com/biomejs/biome/commit/2c36626bed58e63e49ecca8a40c717adae4c91ac) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Improved the accuracy of type-aware lint rules by resolving more inferred types. For example, [`noFloatingPromises`](https://biomejs.dev/linter/rules/no-floating-promises/) now detects floating Promises returned by aliased callbacks and arrays of Promises created by async mapping callbacks. The following statements are now reported: ```ts type AsyncCallback = () => Promise<void>; declare const callback: AsyncCallback; callback(); [1, 2, 3].map(async (value) => value); ``` - [#&#8203;10973](https://redirect.github.com/biomejs/biome/pull/10973) [`9cb044c`](https://redirect.github.com/biomejs/biome/commit/9cb044cf2c8971642942c302a6d2b0000964c2f0) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed false positives in [`noMisleadingReturnType`](https://biomejs.dev/linter/rules/no-misleading-return-type/) when generic-constraint, normalization, substitution, or structural return-type comparison cannot complete. The rule now suppresses diagnostics rather than suggesting a return type derived from partial information. For example, this unresolved return type is no longer reported: ```ts function unresolvedReturnType(): MissingType { return "value" as const; } ``` - [#&#8203;11071](https://redirect.github.com/biomejs/biome/pull/11071) [`15047a2`](https://redirect.github.com/biomejs/biome/commit/15047a2fff2aa2a5c0c096257b4718b0141431be) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - The HTML parser now accepts mixed-case `doctype` declarations. - [#&#8203;11030](https://redirect.github.com/biomejs/biome/pull/11030) [`cc90e65`](https://redirect.github.com/biomejs/biome/commit/cc90e65a6b14388a5fab1d893f782055fac34f91) Thanks [@&#8203;marschattha](https://redirect.github.com/marschattha)! - The `rdjson` reporter now populates the [severity](https://redirect.github.com/reviewdog/reviewdog/blob/master/proto/rdf/reviewdog.proto) field of each diagnostic (`ERROR`, `WARNING`, or `INFO`), so tools consuming Reviewdog Diagnostic Format output no longer need to assume a default severity. - [#&#8203;11009](https://redirect.github.com/biomejs/biome/pull/11009) [`2c36626`](https://redirect.github.com/biomejs/biome/commit/2c36626bed58e63e49ecca8a40c717adae4c91ac) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed a performance regression in type-aware JavaScript lint rules by inferring only requested types and memoizing export resolution. - [#&#8203;11056](https://redirect.github.com/biomejs/biome/pull/11056) [`903b177`](https://redirect.github.com/biomejs/biome/commit/903b1770528040484b5f8b71f652130a8e6bd960) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Added support for Svelte declaration tags using `let` and `const`. Biome can now parse, format, and lint bindings declared in these tags. - [#&#8203;11045](https://redirect.github.com/biomejs/biome/pull/11045) [`89c27c6`](https://redirect.github.com/biomejs/biome/commit/89c27c62541d2b628247563441e48f2303e53f4b) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Improved the performance of Biome formatter up to \~7% across the board. - [#&#8203;9806](https://redirect.github.com/biomejs/biome/pull/9806) [`781d68d`](https://redirect.github.com/biomejs/biome/commit/781d68dae5df6ad188efc8afb0972112654614fe) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Added the nursery rule [`noJsRestrictedProperties`](https://biomejs.dev/linter/rules/no-js-restricted-properties/), which ports ESLint's `no-restricted-properties` rule. Biome now flags restricted member access and object destructuring, and `biome migrate eslint` preserves the rule's options. ### [`v2.5.5`](https://redirect.github.com/biomejs/biome/blob/HEAD/packages/@&#8203;biomejs/biome/CHANGELOG.md#255) [Compare Source](https://redirect.github.com/biomejs/biome/compare/@biomejs/biome@2.5.4...@biomejs/biome@2.5.5) ##### Patch Changes - [#&#8203;10972](https://redirect.github.com/biomejs/biome/pull/10972) [`ab8c21b`](https://redirect.github.com/biomejs/biome/commit/ab8c21b35e81708276e4283a4a0ff86ea815e345) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed [`useExhaustiveSwitchCases`](https://biomejs.dev/linter/rules/use-exhaustive-switch-cases/) for unions of bigint literals. The rule now reports missing bigint cases and compares bigint literals by value, including binary, octal, hexadecimal, and separator-containing spellings. For example, this switch now reports the missing `2n` case: ```ts declare const value: 1n | 2n; switch (value) { case 1n: break; } ``` - [#&#8203;10972](https://redirect.github.com/biomejs/biome/pull/10972) [`ab8c21b`](https://redirect.github.com/biomejs/biome/commit/ab8c21b35e81708276e4283a4a0ff86ea815e345) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed false positives in [`noBaseToString`](https://biomejs.dev/linter/rules/no-base-to-string/) and [`useNullishCoalescing`](https://biomejs.dev/linter/rules/use-nullish-coalescing/) when member, stringification, or nullish inference cannot complete. These rules now suppress diagnostics instead of reporting from partial type information. For example, neither expression is reported when a recursive type cannot be fully resolved: ```ts type Recursive = Recursive; declare const value: Recursive; String(value); value || "fallback"; ``` - [#&#8203;10977](https://redirect.github.com/biomejs/biome/pull/10977) [`0bf7486`](https://redirect.github.com/biomejs/biome/commit/0bf748653e488d0b959d39847641438cdb28188b) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed [#&#8203;10922](https://redirect.github.com/biomejs/biome/issues/10922): the action [`useSortedAttributes`](https://biomejs.dev/assist/actions/use-sorted-attributes/) no longer triggers for HTML instructions. - [#&#8203;10957](https://redirect.github.com/biomejs/biome/pull/10957) [`cf263c4`](https://redirect.github.com/biomejs/biome/commit/cf263c4700e9f24115e541d1f142934a9b2d878f) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Fixed [`noThenProperty`](https://biomejs.dev/linter/rules/no-then-property/) failing to detect `Object.fromEntries`, `Object.defineProperty`, and `Reflect.defineProperty` calls with comments between their tokens. - [#&#8203;10983](https://redirect.github.com/biomejs/biome/pull/10983) [`edc0ed7`](https://redirect.github.com/biomejs/biome/commit/edc0ed738ab8da3d512d527196684bd668090854) Thanks [@&#8203;ayaangazali](https://redirect.github.com/ayaangazali)! - Fixed [#&#8203;10980](https://redirect.github.com/biomejs/biome/issues/10980): [`useAriaPropsSupportedByRole`](https://biomejs.dev/linter/rules/use-aria-props-supported-by-role/) no longer reports false positives when the attribute that determines an element's implicit ARIA role is written as a shorthand attribute, such as `<a {href} aria-label="...">` in Astro and Svelte files. Shorthand attributes are now taken into account when computing the implicit role, so the anchor above correctly resolves to the `link` role instead of `generic`. - [#&#8203;10889](https://redirect.github.com/biomejs/biome/pull/10889) [`89526e3`](https://redirect.github.com/biomejs/biome/commit/89526e3858c437408ec9ff192c35a866ad991d1b) Thanks [@&#8203;denbezrukov](https://redirect.github.com/denbezrukov)! - Fixed CSS formatter casing for syntax-owned names while preserving author-defined names, including scoped keyframes and container scroll-state queries. ```diff - A:HOVER { COLOR: INITIAL; } + A:hover { color: initial; } - @&#8203;KEYFRAMES :GLOBAL KeepFrames { FROM { COLOR: RED; } } + @&#8203;keyframes :GLOBAL KeepFrames { from { color: RED; } } - @&#8203;CONTAINER scroll-state((SCROLLED: TOP) AND (STUCK)) { A:HOVER { COLOR: RED; } } + @&#8203;container scroll-state((SCROLLED: TOP) AND (STUCK)) { A:hover { color: RED; } } ``` - [#&#8203;10964](https://redirect.github.com/biomejs/biome/pull/10964) [`794ccd0`](https://redirect.github.com/biomejs/biome/commit/794ccd0528345c4eaa87af1d86f02475277a0a22) Thanks [@&#8203;denbezrukov](https://redirect.github.com/denbezrukov)! - Fixed CSS formatting for comments between declaration values and `!important`. ```diff -a { color: /* before */ /* after */ red !important; } +a { color: /* before */ red /* after */ !important; } ``` - [#&#8203;10993](https://redirect.github.com/biomejs/biome/pull/10993) [`b7a9694`](https://redirect.github.com/biomejs/biome/commit/b7a969425d4292fc7c50440da7aea41ce5c9a9c2) Thanks [@&#8203;denbezrukov](https://redirect.github.com/denbezrukov)! - Fixed the CSS formatter to preserve comments on the correct side of selector combinators and before declaration blocks. ```diff -.before > /* comment */ .after {} +.before /* comment */ > .after {} ``` It now also keeps selectors with escaped newlines in attribute values inline when they fit. ```diff -div - span[foo="bar\ +div span[foo="bar\ value"] {} ``` - [#&#8203;10978](https://redirect.github.com/biomejs/biome/pull/10978) [`8ebafe1`](https://redirect.github.com/biomejs/biome/commit/8ebafe1c7489f1f7af379b8e52b8ad063c82d28a) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed [#&#8203;10870](https://redirect.github.com/biomejs/biome/issues/10870): [`noUnresolvedImports`](https://biomejs.dev/linter/rules/no-unresolved-imports/) no longer reports false positives such as `import type { NextRequest } from "next/server"`. - [#&#8203;10901](https://redirect.github.com/biomejs/biome/pull/10901) [`68c10e6`](https://redirect.github.com/biomejs/biome/commit/68c10e672fc886b31423b18be01e873d3bf77f43) Thanks [@&#8203;Socialpranker](https://redirect.github.com/Socialpranker)! - Fixed [#&#8203;10622](https://redirect.github.com/biomejs/biome/issues/10622): the HTML/Vue parser no longer panics on the argument-less `v-bind` shorthand (`:="props"`). This syntax is valid Vue and equivalent to `v-bind="props"`, so the parser now accepts it (along with the longhand `v-bind:="props"`) instead of crashing while building a diagnostic for a missing argument. - [#&#8203;10936](https://redirect.github.com/biomejs/biome/pull/10936) [`7df46f5`](https://redirect.github.com/biomejs/biome/commit/7df46f5be0880a02cb37453f01b83c1ba59b1e44) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Improved generic tuple inference for [`useIncludes`](https://biomejs.dev/linter/rules/use-includes/). The rule now recognizes specialised tuple element types returned through generic aliases. - [#&#8203;10941](https://redirect.github.com/biomejs/biome/pull/10941) [`f787725`](https://redirect.github.com/biomejs/biome/commit/f7877258271e20523d5c673e62912fce1d85cd56) Thanks [@&#8203;siketyan](https://redirect.github.com/siketyan)! - Fixed [`#10855`](https://redirect.github.com/biomejs/biome/issues/10855): Biome now supports parsing and formatting CSS custom media queries declared with [`@custom-media`](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/At-rules/@&#8203;custom-media). - [#&#8203;10969](https://redirect.github.com/biomejs/biome/pull/10969) [`72d309b`](https://redirect.github.com/biomejs/biome/commit/72d309b655cee70473e20b061f5a45112139688c) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed an issue where Biome logs became too verbose, dumping information not relevant to user's operations. - [`e62f6b6`](https://redirect.github.com/biomejs/biome/commit/e62f6b61461227bbfd57fdf1b50b2dc8c01ea5a0) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed [#&#8203;10963](https://redirect.github.com/biomejs/biome/issues/10963): Biome no longer panics when a type-aware rule such as [`noFloatingPromises`](https://biomejs.dev/linter/rules/no-floating-promises/) checks a call to a function with multiple call signatures imported from another module. - [#&#8203;10931](https://redirect.github.com/biomejs/biome/pull/10931) [`899c60d`](https://redirect.github.com/biomejs/biome/commit/899c60d506115b3f62030236cbd0901bf294e6ab) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed `check --write` command. Now the command reports code frame of the formatted code, if the formatter is enabled. - [#&#8203;10904](https://redirect.github.com/biomejs/biome/pull/10904) [`ceee4f4`](https://redirect.github.com/biomejs/biome/commit/ceee4f43dabf88d86b87c9a4ce6051b6738869c2) Thanks [@&#8203;qzwxsaedc](https://redirect.github.com/qzwxsaedc)! - Fixed [#&#8203;10892](https://redirect.github.com/biomejs/biome/issues/10892): [`noUnnecessaryConditions`](https://biomejs.dev/linter/rules/no-unnecessary-conditions/) no longer reports a false positive when checking a member of a discriminated union that is accessed through a default type-only namespace import. The following code is no longer flagged: ```ts import type Types from "./types"; declare function parse(): Types.Result<string>; const result = parse(); if (!result.success) { } ``` - [#&#8203;10962](https://redirect.github.com/biomejs/biome/pull/10962) [`f0a67f2`](https://redirect.github.com/biomejs/biome/commit/f0a67f2e56c0785595c5cf14a93dba5bb32acf2d) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Biome no longer removes embedded styles and scripts in HTML files. - [#&#8203;11000](https://redirect.github.com/biomejs/biome/pull/11000) [`5039a1e`](https://redirect.github.com/biomejs/biome/commit/5039a1ee35771d0193de65a6326781313ab77afb) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed a bug where closing one editor stopped a shared Biome daemon used by other editors. LSP proxy processes now exit when either the editor or daemon disconnects. - [#&#8203;10957](https://redirect.github.com/biomejs/biome/pull/10957) [`cf263c4`](https://redirect.github.com/biomejs/biome/commit/cf263c4700e9f24115e541d1f142934a9b2d878f) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Improved the performance of the [`noThenProperty`](https://biomejs.dev/linter/rules/no-then-property/) lint rule by about 50%. - [#&#8203;10992](https://redirect.github.com/biomejs/biome/pull/10992) [`4bf9b21`](https://redirect.github.com/biomejs/biome/commit/4bf9b21319df240e2c5ef2e5a9cb2e9582a0e1d1) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed [`noMisusedPromises`](https://biomejs.dev/linter/rules/no-misused-promises/): The rule now reports Promise-returning callbacks where a synchronous callback is expected when calls use tuple spreads or tuple rest parameters, including generic and deeply nested tuples, and when constructor signatures come from interface or object types. Recursive or excessively nested tuple spreads use a conservative fallback so analysis terminates. For example, the following callback is now reported. ```ts declare function consume(...args: [number, () => void]): void; const prefix: [number] = [1]; consume(...prefix, async () => {}); ``` - [#&#8203;10915](https://redirect.github.com/biomejs/biome/pull/10915) [`b3b12b3`](https://redirect.github.com/biomejs/biome/commit/b3b12b3fe390feabbd9ba097922d6c7e56823406) Thanks [@&#8203;Functionhx](https://redirect.github.com/Functionhx)! - Added the rule [`noNegationInEqualityCheck`](https://biomejs.dev/linter/rules/no-negation-in-equality-check/). The rule flags negated expressions on the left side of strict equality checks like `!foo === bar` — due to operator precedence this evaluates as `(!foo) === bar` which is almost always a mistake for `foo !== bar`. The rule provides an unsafe fix that flips the operator. ```js // Invalid !foo === bar; !foo !== bar; // Valid foo !== bar; foo === bar; ``` - [#&#8203;10970](https://redirect.github.com/biomejs/biome/pull/10970) [`bd1038b`](https://redirect.github.com/biomejs/biome/commit/bd1038be1ad110aae60bcdbe9a154c6a2fc85c14) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Improved overload selection for [`noMisusedPromises`](https://biomejs.dev/linter/rules/no-misused-promises/). Biome now handles overloaded calls, overloaded constructors, rest parameters, union arguments, and generic constraints without selecting an incompatible signature. For example, `noMisusedPromises` now reports the async callback passed to the synchronous overload: ```ts declare function consume(kind: "async", callback: () => Promise<void>): void; declare function consume(kind: "sync", callback: () => void): void; consume("sync", async () => {}); ``` - [#&#8203;10933](https://redirect.github.com/biomejs/biome/pull/10933) [`48a4abb`](https://redirect.github.com/biomejs/biome/commit/48a4abb99d41b1241b2a5812a12247b671d0dfed) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed [`useArrayFind`](https://biomejs.dev/linter/rules/use-array-find/) to recognize bigint zero indexes. - [#&#8203;10931](https://redirect.github.com/biomejs/biome/pull/10931) [`899c60d`](https://redirect.github.com/biomejs/biome/commit/899c60d506115b3f62030236cbd0901bf294e6ab) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed an orchestration issue that could lead to deadlocks when type-aware rules are enabled. - [#&#8203;10969](https://redirect.github.com/biomejs/biome/pull/10969) [`72d309b`](https://redirect.github.com/biomejs/biome/commit/72d309b655cee70473e20b061f5a45112139688c) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Hardened the Biome Language Server by improving its synchronisation logic. - [#&#8203;10972](https://redirect.github.com/biomejs/biome/pull/10972) [`ab8c21b`](https://redirect.github.com/biomejs/biome/commit/ab8c21b35e81708276e4283a4a0ff86ea815e345) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed false positives in [`noMisusedPromises`](https://biomejs.dev/linter/rules/no-misused-promises/) and [`useAwaitThenable`](https://biomejs.dev/linter/rules/use-await-thenable/) when Promise or thenable inference cannot complete. These rules now suppress diagnostics instead of treating incomplete type information as a definite result. For example, `useAwaitThenable` no longer reports `await value` when the value's thenability is unknown: ```ts declare const value: unknown; async function consume() { await value; } ``` ### [`v2.5.4`](https://redirect.github.com/biomejs/biome/blob/HEAD/packages/@&#8203;biomejs/biome/CHANGELOG.md#254) [Compare Source](https://redirect.github.com/biomejs/biome/compare/@biomejs/biome@2.5.3...@biomejs/biome@2.5.4) ##### Patch Changes - [#&#8203;10665](https://redirect.github.com/biomejs/biome/pull/10665) [`55ff995`](https://redirect.github.com/biomejs/biome/commit/55ff995098148446b7e7fdfc19053902bb987122) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Improved the performance of the HTML parser slightly in our synthetic benchmarks. - [#&#8203;10894](https://redirect.github.com/biomejs/biome/pull/10894) [`f4fb10e`](https://redirect.github.com/biomejs/biome/commit/f4fb10e176e537e8ce2cac0c3fd4c38a77f91886) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed [#&#8203;6392](https://redirect.github.com/biomejs/biome/issues/6392): On-type formatting no longer moves comments before an `if` statement into its body. - [#&#8203;10939](https://redirect.github.com/biomejs/biome/pull/10939) [`f2799db`](https://redirect.github.com/biomejs/biome/commit/f2799db38e3d8a644207d9b8f957abea6cb3d9fa) Thanks [@&#8203;Netail](https://redirect.github.com/Netail)! - Fixed [#&#8203;10930](https://redirect.github.com/biomejs/biome/issues/10930): [`noLabelWithoutControl`](https://biomejs.dev/linter/rules/no-label-without-control/) now correctly detects text interpolation in Astro, Svelte & Vue as valid accessible content. - [#&#8203;10945](https://redirect.github.com/biomejs/biome/pull/10945) [`ae15d98`](https://redirect.github.com/biomejs/biome/commit/ae15d98bbf2222fbb34e3e31832cba9676a6d01c) Thanks [@&#8203;Netail](https://redirect.github.com/Netail)! - Fixed [#&#8203;10942](https://redirect.github.com/biomejs/biome/issues/10942): Svelte directives don't throw an accidental debug log anymore. - [#&#8203;10842](https://redirect.github.com/biomejs/biome/pull/10842) [`5e1abfe`](https://redirect.github.com/biomejs/biome/commit/5e1abfee59155b5fdca8813314371ed54c06acfb) Thanks [@&#8203;JamBalaya56562](https://redirect.github.com/JamBalaya56562)! - Fixed [#&#8203;9196](https://redirect.github.com/biomejs/biome/issues/9196): `biome check --write --unsafe` no longer hangs forever when applying the [`noCommentText`](https://biomejs.dev/linter/rules/no-comment-text/) code fix. The rule's fix now wraps the comment in a real JSX expression container (`{/* comment */}`) instead of re-inserting the braces as plain JSX text, so the fixed code is no longer reported again by the same rule. - [#&#8203;10891](https://redirect.github.com/biomejs/biome/pull/10891) [`ecca79e`](https://redirect.github.com/biomejs/biome/commit/ecca79e8ff10f40aa676212c0db0a970c6091615) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed [`#10885`](https://redirect.github.com/biomejs/biome/issues/10885): prevented a module-inference regression introduced by a housekeeping change. - [#&#8203;10886](https://redirect.github.com/biomejs/biome/pull/10886) [`60c8043`](https://redirect.github.com/biomejs/biome/commit/60c8043527f7ccc7b505471e1042f2a4324e4d31) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Fixed [#&#8203;10727](https://redirect.github.com/biomejs/biome/issues/10727): Biome now breaks the arguments of curried `test.each`, `it.each`, `describe.each`, and `test.for` calls when they exceed the configured line width. ```diff - test.each([[1, 2]])("a description that is long enough to push the hugged opening line beyond the print width", (a, b) => { - expect(a).toBe(b); - }); + test.each([[1, 2]])( + "a description that is long enough to push the hugged opening line beyond the print width", + (a, b) => { + expect(a).toBe(b); + }, + ); ``` - [#&#8203;10895](https://redirect.github.com/biomejs/biome/pull/10895) [`01a85f0`](https://redirect.github.com/biomejs/biome/commit/01a85f04b09f0af05b16a15c137421e312ceada5) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Biome will now remove stale Unix daemon sockets from older Biome versions when starting a newer daemon. ### [`v2.5.3`](https://redirect.github.com/biomejs/biome/blob/HEAD/packages/@&#8203;biomejs/biome/CHANGELOG.md#253) [Compare Source](https://redirect.github.com/biomejs/biome/compare/@biomejs/biome@2.5.2...@biomejs/biome@2.5.3) ##### Patch Changes - [#&#8203;10815](https://redirect.github.com/biomejs/biome/pull/10815) [`86613d5`](https://redirect.github.com/biomejs/biome/commit/86613d5b01eb965b460ccefbf27f168d87774aaf) Thanks [@&#8203;WaterWhisperer](https://redirect.github.com/WaterWhisperer)! - Fixed a parser panic reported in [#&#8203;10708](https://redirect.github.com/biomejs/biome/issues/10708): Biome now recovers when unsupported CSS Modules `@value` rules or scoped `@keyframes` names end at EOF. - [#&#8203;10534](https://redirect.github.com/biomejs/biome/pull/10534) [`da9b403`](https://redirect.github.com/biomejs/biome/commit/da9b403b6bbacc8d75d56e327a46f4ed0285913e) Thanks [@&#8203;Mokto](https://redirect.github.com/Mokto)! - Fixed [`noUnusedVariables`](https://biomejs.dev/linter/rules/no-unused-variables/) false positives in Svelte files: Svelte store subscriptions (`$store` references in templates now keep the underlying `store` binding from being flagged), and `$bindable()` props that are only written to in the script block (write-only is intentional for bindable props) are no longer reported as unused. - [#&#8203;10827](https://redirect.github.com/biomejs/biome/pull/10827) [`098ba41`](https://redirect.github.com/biomejs/biome/commit/098ba41c99e6efaac8eb182eec258a567bb00123) Thanks [@&#8203;Aqu1bp](https://redirect.github.com/Aqu1bp)! - Fixed [#&#8203;10698](https://redirect.github.com/biomejs/biome/issues/10698): The [`noUnsafeOptionalChaining`](https://biomejs.dev/linter/rules/no-unsafe-optional-chaining/) rule now reports unsafe optional chains wrapped in TypeScript `as`, `satisfies`, type assertion, and instantiation expressions, such as `new (value?.constructor as Constructor)()`. - [#&#8203;10773](https://redirect.github.com/biomejs/biome/pull/10773) [`3c6513d`](https://redirect.github.com/biomejs/biome/commit/3c6513d4e9a82a195785144caa9d96093c3861ff) Thanks [@&#8203;otkrickey](https://redirect.github.com/otkrickey)! - Fixed [#&#8203;10772](https://redirect.github.com/biomejs/biome/issues/10772): [`useVueValidVOn`](https://biomejs.dev/linter/rules/use-vue-valid-v-on/) no longer reports a missing handler for v-on directives using a verb modifier (`.stop` / `.prevent`) without an expression, e.g. `<div @&#8203;click.stop></div>`. The rule also accepts the arg-less object syntax `<div v-on="$listeners"></div>` instead of reporting a missing event name. - [#&#8203;10721](https://redirect.github.com/biomejs/biome/pull/10721) [`d83c66b`](https://redirect.github.com/biomejs/biome/commit/d83c66b39a820703d94100f8a6502cc6dbad26a1) Thanks [@&#8203;minseong0324](https://redirect.github.com/minseong0324)! - Improved type-aware lint rule inference for built-in globals and indexed function calls. Biome now resolves `Error(...)`, `new Error(...)`, optional `Error#stack`, and calls through indexed function values such as `handlers[0]()` more accurately. - [#&#8203;10865](https://redirect.github.com/biomejs/biome/pull/10865) [`6450276`](https://redirect.github.com/biomejs/biome/commit/6450276764ee4794a0fcb46c139f95b68d892427) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed [#&#8203;10845](https://redirect.github.com/biomejs/biome/issues/10845). Biome Language Server no longer goes in deadlock when the scanner is enabled. - [#&#8203;10853](https://redirect.github.com/biomejs/biome/pull/10853) [`93d8e53`](https://redirect.github.com/biomejs/biome/commit/93d8e5352454bccfbd179db03b3155776599c52c) Thanks [@&#8203;Netail](https://redirect.github.com/Netail)! - Fixed [#&#8203;10840](https://redirect.github.com/biomejs/biome/issues/10840): Astro shorthand attribute syntax is now correctly being parsed from embedded nodes. - [#&#8203;10820](https://redirect.github.com/biomejs/biome/pull/10820) [`bba3092`](https://redirect.github.com/biomejs/biome/commit/bba30920715920142e933939f6270feedca933a5) Thanks [@&#8203;JamBalaya56562](https://redirect.github.com/JamBalaya56562)! - Fixed [#&#8203;10619](https://redirect.github.com/biomejs/biome/issues/10619): [`noProcessEnv`](https://biomejs.dev/linter/rules/no-process-env/) now also reports computed (bracket) member access. Previously only dot access was checked, so `process["env"]` and `env["NODE_ENV"]` (where `env` is imported from `node:process`) were missed. Both static and computed accesses are now reported. - [#&#8203;10835](https://redirect.github.com/biomejs/biome/pull/10835) [`3447b2f`](https://redirect.github.com/biomejs/biome/commit/3447b2f5a3c430efc8e917514260af5341c5509d) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Fixed [#&#8203;10824](https://redirect.github.com/biomejs/biome/issues/10824): [`useDomQuerySelector`](https://biomejs.dev/linter/rules/use-dom-query-selector/) now supports an `ignore` option for receiver identifiers that should not be reported. - [#&#8203;10875](https://redirect.github.com/biomejs/biome/pull/10875) [`b12e486`](https://redirect.github.com/biomejs/biome/commit/b12e486d0f0b80d02d2208e239190f8756d39d48) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Fixed [#&#8203;10795](https://redirect.github.com/biomejs/biome/issues/10795): `--profile-rules` now reports timings for each plugin separately as `plugin/<pluginName>`, matching the naming used by plugin suppressions, instead of aggregating all plugins under a single `plugin/plugin` entry. - [#&#8203;10877](https://redirect.github.com/biomejs/biome/pull/10877) [`d6bc447`](https://redirect.github.com/biomejs/biome/commit/d6bc4473a210758ee49f6cad41bc69587a7cf125) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed [biome-zed#164](https://redirect.github.com/biomejs/biome-zed/issues/164): Biome no longer inserts stray whitespace when format-on-type runs after closing delimiters such as `)`, `]`, and `}`. - [#&#8203;10867](https://redirect.github.com/biomejs/biome/pull/10867) [`a21463e`](https://redirect.github.com/biomejs/biome/commit/a21463e5f616a2db5035b470cd206ac9da4d9423) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Fixed [#&#8203;10864](https://redirect.github.com/biomejs/biome/issues/10864): Biome no longer crashes when checking or linting HTML files with unquoted attribute values such as `<textarea rows=4></textarea>`. ### [`v2.5.2`](https://redirect.github.com/biomejs/biome/blob/HEAD/packages/@&#8203;biomejs/biome/CHANGELOG.md#252) [Compare Source](https://redirect.github.com/biomejs/biome/compare/@biomejs/biome@2.5.1...@biomejs/biome@2.5.2) ##### Patch Changes - [#&#8203;10595](https://redirect.github.com/biomejs/biome/pull/10595) [`f458028`](https://redirect.github.com/biomejs/biome/commit/f4580289094a8fe5c85252adc3399c060bab811e) Thanks [@&#8203;pkallos](https://redirect.github.com/pkallos)! - Added the option `ignoreBooleanCoercion` to [useNullishCoalescing](https://biomejs.dev/linter/rules/use-nullish-coalescing/). When enabled, Biome ignores `||` and `||=` used inside a `Boolean()` call, where coalescing on falsy values is intentional. - [#&#8203;10798](https://redirect.github.com/biomejs/biome/pull/10798) [`4a32b63`](https://redirect.github.com/biomejs/biome/commit/4a32b63eb41f144dc8faf6b5cdb05e1de5dbcb63) Thanks [@&#8203;pkallos](https://redirect.github.com/pkallos)! - Added the option `ignorePrimitives` to [useNullishCoalescing](https://biomejs.dev/linter/rules/use-nullish-coalescing/). When enabled, Biome ignores `||`, `||=`, and ternary expressions whose non-nullish operands are all primitives the option opts out of. Use `true` to ignore all primitives, or an object selecting `string`, `number`, `boolean`, or `bigint`. - [#&#8203;10545](https://redirect.github.com/biomejs/biome/pull/10545) [`f3d4c00`](https://redirect.github.com/biomejs/biome/commit/f3d4c0082676c5188e9a6aa516318c7e3d59bda6) Thanks [@&#8203;Mokto](https://redirect.github.com/Mokto)! - Added the new nursery rule [`noSvelteUnnecessaryStateWrap`](https://biomejs.dev/linter/rules/no-svelte-unnecessary-state-wrap/), which reports unnecessary `$state()` wrapping of classes from `svelte/reactivity` that are already reactive. ```svelte <script> import { SvelteMap } from "svelte/reactivity"; const map = $state(new SvelteMap()); // redundant </script> ``` - [#&#8203;10752](https://redirect.github.com/biomejs/biome/pull/10752) [`f62fb8b`](https://redirect.github.com/biomejs/biome/commit/f62fb8b53092fe85e16f9d4ea0e584fee7031ab5) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed [#&#8203;10739](https://redirect.github.com/biomejs/biome/issues/10739). Now the rule [`useValidAutocomplete`](https://biomejs.dev/linter/rules/use-valid-autocomplete/) correctly flags the `autoComplete` attribute. - [#&#8203;10796](https://redirect.github.com/biomejs/biome/pull/10796) [`f1b3ab2`](https://redirect.github.com/biomejs/biome/commit/f1b3ab2c09522a52c93f669ce679675237b96813) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed [#&#8203;10768](https://redirect.github.com/biomejs/biome/issues/10768). Improved the performance of the Biome Language Server by cancelling certain in-flight operations when there are fast updates. - [#&#8203;10719](https://redirect.github.com/biomejs/biome/pull/10719) [`aa649b5`](https://redirect.github.com/biomejs/biome/commit/aa649b586a2221bf058af7ce80af6faa11faf846) Thanks [@&#8203;minseong0324](https://redirect.github.com/minseong0324)! - Fixed [`noMisleadingReturnType`](https://biomejs.dev/linter/rules/no-misleading-return-type/) false positive on returns that use a widening type assertion: `"a" as string` is no longer reported as misleading. The rule now also reports a literal-pinning assertion such as `false as false`, matching the existing `as const` behavior. ```ts // No longer flagged (returns are `string`): function getValue(b: boolean): string { if (b) return "a" as string; return "b" as string; } // Now also reported, like `as const` (returns `false`): function isReady(): boolean { return false as false; } ``` - [#&#8203;10678](https://redirect.github.com/biomejs/biome/pull/10678) [`8f073a7`](https://redirect.github.com/biomejs/biome/commit/8f073a7cd72b4cf46c2ebf2bc08f4068fc4b5e34) Thanks [@&#8203;PranavAchar01](https://redirect.github.com/PranavAchar01)! - Fixed [#&#8203;7718](https://redirect.github.com/biomejs/biome/issues/7718): Biome now correctly parses CSS nesting selectors when `&` appears as a trailing sub-selector after a type selector, e.g. `h1& { color: red; }`. - [#&#8203;10756](https://redirect.github.com/biomejs/biome/pull/10756) [`5ec965a`](https://redirect.github.com/biomejs/biome/commit/5ec965a2620dec7cb40aa4946ba1d41408b11fd9) Thanks [@&#8203;denbezrukov](https://redirect.github.com/denbezrukov)! - Fixed CSS formatter output for selector lists with `allowWrongLineComments` and `//` comments after a selector comma. Biome now keeps the selector before the line comment inline instead of breaking it across descendant combinators. ```diff -.powerPathNavigator - .helm - button.pressedButton, // pressed +.powerPathNavigator .helm button.pressedButton, // pressed .powerPathNavigator .helm button:active:not(.disabledButton) { } ``` - [#&#8203;10757](https://redirect.github.com/biomejs/biome/pull/10757) [`6232fcd`](https://redirect.github.com/biomejs/biome/commit/6232fcdef77471e6a6a74bcc33ff7b2b2a9f85a2) Thanks [@&#8203;PranavAchar01](https://redirect.github.com/PranavAchar01)! - Fixed [#&#8203;8269](https://redirect.github.com/biomejs/biome/issues/8269): the CSS parser now accepts Tailwind `@variant` and `@utility` names that start with a digit, such as the `2xl` breakpoint. ```css @&#8203;utility container { @&#8203;variant 2xl { max-width: 1400px; } } ``` - [#&#8203;10777](https://redirect.github.com/biomejs/biome/pull/10777) [`575ced6`](https://redirect.github.com/biomejs/biome/commit/575ced6fd7fe3597fdec36e572763e4a5d590244) Thanks [@&#8203;WaterWhisperer](https://redirect.github.com/WaterWhisperer)! - Fixed an issue reported in [#&#8203;10708](https://redirect.github.com/biomejs/biome/issues/10708): the GitLab reporter now handles `--verbose` diagnostics filtering correctly. - [#&#8203;10281](https://redirect.github.com/biomejs/biome/pull/10281) [`0efe244`](https://redirect.github.com/biomejs/biome/commit/0efe2442e9b81d83f7332fd792ad6096678f8b2c) Thanks [@&#8203;Zelys-DFKH](https://redirect.github.com/Zelys-DFKH)! - Fixed a bug where GritQL patterns rejected positional (unkeyed) arguments. - [#&#8203;10758](https://redirect.github.com/biomejs/biome/pull/10758) [`e36fd8a`](https://redirect.github.com/biomejs/biome/commit/e36fd8a9f1314744276df515a1137f21802d3aa5) Thanks [@&#8203;henrybrewer00-dotcom](https://redirect.github.com/henrybrewer00-dotcom)! - Fixed [#&#8203;10697](https://redirect.github.com/biomejs/biome/issues/10697): The formatter no longer removes the parentheses around an `await` or `yield` expression used as the target of a TypeScript instantiation expression. For example, `(await makeFactory)<Value>` is no longer reformatted to `await makeFactory<Value>`, which would change the meaning of the code. - [#&#8203;10586](https://redirect.github.com/biomejs/biome/pull/10586) [`3617094`](https://redirect.github.com/biomejs/biome/commit/3617094f00e90f7167ff20baf3c12b5014188b35) Thanks [@&#8203;IxxyDev](https://redirect.github.com/IxxyDev)! - Fixed [#&#8203;9568](https://redirect.github.com/biomejs/biome/issues/9568): [`noFloatingPromises`](https://biomejs.dev/linter/rules/no-floating-promises/) no longer reports a false positive when calling an overloaded function and the selected overload does not return a promise. ```ts function bestEffort(cb: () => Promise<number>): Promise<number>; function bestEffort(cb: () => number): number; function bestEffort( cb: () => number | Promise<number>, ): Promise<number> | number { return cb() as Promise<number> | number; } // This resolves to the second overload, which returns `number`, so it is no // longer flagged as a floating promise. bestEffort(() => 42); ``` - [#&#8203;10766](https://redirect.github.com/biomejs/biome/pull/10766) [`7aff4c1`](https://redirect.github.com/biomejs/biome/commit/7aff4c11900579a62dc27ef4e02a4c4760fbbff4) Thanks [@&#8203;JamBalaya56562](https://redirect.github.com/JamBalaya56562)! - Fixed [#&#8203;2862](https://redirect.github.com/biomejs/biome/issues/2862): [`noInteractiveElementToNoninteractiveRole`](https://biomejs.dev/linter/rules/no-interactive-element-to-noninteractive-role/) no longer reports custom elements (a tag name containing a dash, e.g. `<my-button role="img" />`). Per the [W3C HTML-ARIA specification](https://www.w3.org/TR/html-aria/#el-autonomous-custom-element), a custom element may be given any role or none. - [#&#8203;10680](https://redirect.github.com/biomejs/biome/pull/10680) [`771daa4`](https://redirect.github.com/biomejs/biome/commit/771daa4f7d229a8754f47923f03b899dc0fc5630) Thanks [@&#8203;WaterWhisperer](https://redirect.github.com/WaterWhisperer)! - Fixed [#&#8203;10635](https://redirect.github.com/biomejs/biome/issues/10635): Biome now recognizes chained table tests such as `test.concurrent.each()` and `it.concurrent.each()` as test calls, fixing `noMisplacedAssertion` false positives and improving formatting for those test declarations. - [#&#8203;10759](https://redirect.github.com/biomejs/biome/pull/10759) [`34570b5`](https://redirect.github.com/biomejs/biome/commit/34570b5b793c44e978b12589dafcfda22dba7df1) Thanks [@&#8203;henrybrewer00-dotcom](https://redirect.github.com/henrybrewer00-dotcom)! - Fixed [#&#8203;10636](https://redirect.github.com/biomejs/biome/issues/10636): [noStaticElementInteractions](https://biomejs.dev/linter/rules/no-static-element-interactions/) no longer reports a false positive for event handlers on Svelte special elements such as `<svelte:window>`, `<svelte:document>`, and `<svelte:body>`. These are not real DOM elements, so they are now ignored by the rule. - [#&#8203;10741](https://redirect.github.com/biomejs/biome/pull/10741) [`bd2364e`](https://redirect.github.com/biomejs/biome/commit/bd2364e3d077e3a77addcab6dbe127db38654e4a) Thanks [@&#8203;JamBalaya56562](https://redirect.github.com/JamBalaya56562)! - Fixed [#&#8203;6686](https://redirect.github.com/biomejs/biome/issues/6686): the `rage` command now respects the `--config-path` option and the `BIOME_CONFIG_PATH` environment variable when loading the Biome configuration. Previously it always used the default configuration resolution and reported the configuration as `Not set` when no `biome.json` existed in the working directory. - [#&#8203;10763](https://redirect.github.com/biomejs/biome/pull/10763) [`2c3e82d`](https://redirect.github.com/biomejs/biome/commit/2c3e82d0235ad2f8331744aefc708d1b71f7177c) Thanks [@&#8203;Aqu1bp](https://redirect.github.com/Aqu1bp)! - Fixed [#&#8203;10742](https://redirect.github.com/biomejs/biome/issues/10742): [`noSolidDestructuredProps`](https://biomejs.dev/linter/rules/no-solid-destructured-props) now reports destructured props in Solid function components and JSX children. - [#&#8203;10606](https://redirect.github.com/biomejs/biome/pull/10606) [`a4cc4ab`](https://redirect.github.com/biomejs/biome/commit/a4cc4ab0b01a8ef1731d37cb44bccc5522876f2e) Thanks [@&#8203;Mokto](https://redirect.github.com/Mokto)! - Fixed false positives in `noUnusedImports`, `noUnusedVariables`, and `useImportType` for Svelte components that use both a `<script module>` and a `<script>` block. The two blocks compile to a single module and share a top-level scope, so a binding (import, function, or variable) declared in one block and used only in the other is no longer reported as unused. - [#&#8203;10767](https://redirect.github.com/biomejs/biome/pull/10767) [`36d5aa7`](https://redirect.github.com/biomejs/biome/commit/36d5aa77d751bf33485cd2c92d89e4c5764e1e50) Thanks [@&#8203;otkrickey](https://redirect.github.com/otkrickey)! - Fixed [#&#8203;10754](https://redirect.github.com/biomejs/biome/issues/10754): [`useVueValidVBind`](https://biomejs.dev/linter/rules/use-vue-valid-v-bind/) no longer reports the Vue 3.4+ same-name shorthand as missing a value. `:foo` and `v-bind:foo` are now accepted as equivalent to `:foo="foo"`, while `v-bind`, `v-bind:[dynamicArg]`, and `:[dynamicArg]` without a value continue to be reported. - [#&#8203;10775](https://redirect.github.com/biomejs/biome/pull/10775) [`a918af0`](https://redirect.github.com/biomejs/biome/commit/a918af0ba827a7fd60a12c96b58daebc8af61db2) Thanks [@&#8203;WaterWhisperer](https://redirect.github.com/WaterWhisperer)! - Fixed an issue reported in [#&#8203;10708](https://redirect.github.com/biomejs/biome/issues/10708): `biome rage` didn't detect running Biome daemon pipes on Windows. - [#&#8203;10730](https://redirect.github.com/biomejs/biome/pull/10730) [`5a2e65b`](https://redirect.github.com/biomejs/biome/commit/5a2e65b9929ef0f2294c20e028fd396d760d2b26) Thanks [@&#8203;dinocosta](https://redirect.github.com/dinocosta)! - Fixed an issue where Biome was resolving [the well-known Zed settings file](https://biomejs.dev/guides/configure-biome/#well-known-files) from the wrong location on macOS and Windows. - [#&#8203;10807](https://redirect.github.com/biomejs/biome/pull/10807) [`d97fffe`](https://redirect.github.com/biomejs/biome/commit/d97fffe0aba04cddec66943d6bff3e99d440b451) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed an issue where `.scss` files were incorrectly analyzed when running `biome check`. - [#&#8203;10672](https://redirect.github.com/biomejs/biome/pull/10672) [`53c6efc`](https://redirect.github.com/biomejs/biome/commit/53c6efcd3e5e2769bf8edbe14b8c06ee9fda52d2) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed a bug where Biome incorrectly formatted snippets that have parsing errors. - [#&#8203;10719](https://redirect.github.com/biomejs/biome/pull/10719) [`aa649b5`](https://redirect.github.com/biomejs/biome/commit/aa649b586a2221bf058af7ce80af6faa11faf846) Thanks [@&#8203;minseong0324](https://redirect.github.com/minseong0324)! - Fixed [`useAwaitThenable`](https://biomejs.dev/linter/rules/use-await-thenable/) false positive when awaiting a custom thenable that is not the global `Promise`. A value with a callable `then` member is now recognized as awaitable. ```ts interface Thenable<T> { then(onfulfilled: (value: T) => void): void; } declare const t: Thenable<number>; async function f() { await t; } ``` - [#&#8203;10734](https://redirect.github.com/biomejs/biome/pull/10734) [`4396496`](https://redirect.github.com/biomejs/biome/commit/43964961c88ca0f93ee83d10621844fa2dc7515c) Thanks [@&#8203;BangDori](https://redirect.github.com/BangDori)! - Fixed [#&#8203;10708](https://redirect.github.com/biomejs/biome/issues/10708): `biome migrate` now preserves trivia when migrating the deprecated `recommended` option to `preset`. - [#&#8203;10683](https://redirect.github.com/biomejs/biome/pull/10683) [`ae31a00`](https://redirect.github.com/biomejs/biome/commit/ae31a004a20ed33d6aa35d5ec8bb4c433273a517) Thanks [@&#8203;Netail](https://redirect.github.com/Netail)! - Fixed [#&#8203;10657](https://redirect.github.com/biomejs/biome/issues/10657) [#&#8203;10671](https://redirect.github.com/biomejs/biome/issues/10671) [#&#8203;10661](https://redirect.github.com/biomejs/biome/issues/10661) [#&#8203;10637](https://redirect.github.com/biomejs/biome/issues/10637) [#&#8203;10718](https://redirect.github.com/biomejs/biome/issues/10718): HTML rules now correctly handle dynamic attributes. - [#&#8203;10746](https://redirect.github.com/biomejs/biome/pull/10746) [`54e8239`](https://redirect.github.com/biomejs/biome/commit/54e8239bba3f598d7923ac1e446d658714ea7832) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed an issue where [`noUndeclaredClasses`](https://biomejs.dev/linter/rules/no-undeclared-classes) didn't correctly detect styles defined inside the Astro directive `is:global`. - [#&#8203;10770](https://redirect.github.com/biomejs/biome/pull/10770) [`dd1429c`](https://redirect.github.com/biomejs/biome/commit/dd1429c604f58b89524a3f5329e2920d198e8d9f) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Improved the Biome Language Server DX by orchestrating certain operations, so that they won't block the editor during typing. This improvement is more visible in large documents. - [#&#8203;10473](https://redirect.github.com/biomejs/biome/pull/10473) [`d9b5133`](https://redirect.github.com/biomejs/biome/commit/d9b5133de7e211b22f4531fe220070690a18c8d1) Thanks [@&#8203;Mokto](https://redirect.github.com/Mokto)! - Improved [`noUnusedImports`](https://biomejs.dev/linter/rules/no-unused-imports/), [`noUnusedVariables`](https://biomejs.dev/linter/rules/no-unused-variables/), [`noUnusedFunctionParameters`](https://biomejs.dev/linter/rules/no-unused-function-parameters/), and [`useImportType`](https://biomejs.dev/linter/rules/use-import-type/) for Svelte, Vue, and Astro files (with `html.experimentalFullSupportEnabled`). Bindings used only in the template — including component tags, attribute interpolations, directives, `bind:` shorthand, and snippet parameters — are no longer reported as unused, while genuinely unused ones still are. - [#&#8203;10796](https://redirect.github.com/biomejs/biome/pull/10796) [`f1b3ab2`](https://redirect.github.com/biomejs/biome/commit/f1b3ab2c09522a52c93f669ce679675237b96813) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed an issue where the Biome Language Server didn't enable project or type-aware lint rules, even when they were explicitly enabled. - [#&#8203;10746](https://redirect.github.com/biomejs/biome/pull/10746) [`54e8239`](https://redirect.github.com/biomejs/biome/commit/54e8239bba3f598d7923ac1e446d658714ea7832) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed an issue where [`noUndeclaredClasses`](https://biomejs.dev/linter/rules/no-undeclared-classes) didn't detect styles declared inside HTML documents. - [#&#8203;10774](https://redirect.github.com/biomejs/biome/pull/10774) [`bde945b`](https://redirect.github.com/biomejs/biome/commit/bde945bee29cb566086828ad788153d9111a125a) Thanks [@&#8203;pattrickrice](https://redirect.github.com/pattrickrice)! - Fixed [#&#8203;10268](https://redirect.github.com/biomejs/biome/issues/10268) where a race condition resulted in internal errors such as: `The file biome.json does not exist in the workspace`. ### [`v2.5.1`](https://redirect.github.com/biomejs/biome/blob/HEAD/packages/@&#8203;biomejs/biome/CHANGELOG.md#251) [Compare Source](https://redirect.github.com/biomejs/biome/compare/@biomejs/biome@2.5.0...@biomejs/biome@2.5.1) ##### Patch Changes - [#&#8203;10722](https://redirect.github.com/biomejs/biome/pull/10722) [`f8a303d`](https://redirect.github.com/biomejs/biome/commit/f8a303d08b6b22f56edb8ff5e7caa665532d613a) Thanks [@&#8203;denbezrukov](https://redirect.github.com/denbezrukov)! - Fixed CSS formatter output for comments between import media queries. ```diff -@&#8203;import url("print.css") print, -/* comment */ -screen; +@&#8203;import url("print.css") print, /* comment */ screen; ``` - [#&#8203;10738](https://redirect.github.com/biomejs/biome/pull/10738) [`9fdc560`](https://redirect.github.com/biomejs/biome/commit/9fdc5600997ef59ca7ed55ac212473de9bdb0b2a) Thanks [@&#8203;JamBalaya56562](https://redirect.github.com/JamBalaya56562)! - Fixed [#&#8203;9899](https://redirect.github.com/biomejs/biome/issues/9899): the `json` and `json-pretty` reporters now escape backslashes in a diagnostic's `location.path`. Previously, paths containing backslashes (such as Windows-style paths) were emitted unescaped, producing invalid JSON. ```diff - "path": "src\account\setup-passkey.tsx", + "path": "src\\account\\setup-passkey.tsx", ``` - [#&#8203;10626](https://redirect.github.com/biomejs/biome/pull/10626) [`5f837df`](https://redirect.github.com/biomejs/biome/commit/5f837df033afc34d43b398aeddc06c1d4fa491d9) Thanks [@&#8203;tom-groves](https://redirect.github.com/tom-groves)! - Fixed [#&#8203;10625](https://redirect.github.com/biomejs/biome/issues/10625): `biome migrate` no longer emits an invalid trailing comma when a renamed rule (such as `noConsoleLog` → `noConsole`) is the last member of its rule group. Previously this produced malformed output that aborted the migration of a strict-JSON `biome.json` with a parsing error. - [#&#8203;10535](https://redirect.github.com/biomejs/biome/pull/10535) [`c245f9d`](https://redirect.github.com/biomejs/biome/commit/c245f9d9e239471d5437cd08f9cfa4601a85abd5) Thanks [@&#8203;Mokto](https://redirect.github.com/Mokto)! - Fixed a false positive in [`noUnusedVariables`](https://biomejs.dev/linter/rules/no-unused-variables/) for Svelte files where variables referenced inside `{@&#8203;html expr}` blocks were incorrectly reported as unused. - [#&#8203;10668](https://redirect.github.com/biomejs/biome/pull/10668) [`a0f197e`](https://redirect.github.com/biomejs/biome/commit/a0f197eb1a6974539927f105ff1dde1f51d07d74) Thanks [@&#8203;Netail](https://redirect.github.com/Netail)! - The `biome init` command has been updated to include a more up-to-date URL to [the first-party extensions page](https://biomejs.dev/editors/first-party-extensions/). - [#&#8203;10667](https://redirect.github.com/biomejs/biome/pull/10667) [`d8c3e87`](https://redirect.github.com/biomejs/biome/commit/d8c3e878d53515c02bd6c5cb899b2eaec046c542) Thanks [@&#8203;Netail](https://redirect.github.com/Netail)! - Fixed [#&#8203;10664](https://redirect.github.com/biomejs/biome/issues/10664): [useErrorCause](https://biomejs.dev/linter/rules/use-error-cause/) now correctly detects a shorthand property. - [#&#8203;10696](https://redirect.github.com/biomejs/biome/pull/10696) [`ef2373f`](https://redirect.github.com/biomejs/biome/commit/ef2373f29be15673705884d345c9af189e30b581) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed [#&#8203;9566](https://redirect.github.com/biomejs/biome/issues/9566). Improved how the Biome Language Server loads multiple configuration files inside a workspace. - [#&#8203;10705](https://redirect.github.com/biomejs/biome/pull/10705) [`4ccb410`](https://redirect.github.com/biomejs/biome/commit/4ccb410dc00a6fb243934dad2e8681a9d5d9529e) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed [#&#8203;10652](https://redirect.github.com/biomejs/biome/issues/10652). Biome plugins are now properly filtered when using `--only` and `--skip` flags. - [#&#8203;10669](https://redirect.github.com/biomejs/biome/pull/10669) [`aa0a6eb`](https://redirect.github.com/biomejs/biome/commit/aa0a6eb8007493961cd578f04201248c15fd809a) Thanks [@&#8203;Netail](https://redirect.github.com/Netail)! - Fixed [#&#8203;10651](https://redirect.github.com/biomejs/biome/issues/10651): [useInlineScriptId](https://biomejs.dev/linter/rules/use-inline-script-id/) now correctly trims trivia to detect if an id attribute has been set. - [#&#8203;10689](https://redirect.github.com/biomejs/biome/pull/10689) [`844b1be`](https://red > ✂ **Note** > > PR body was truncated to here. </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/RobinTail/merge-sx). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMTkuMCIsInVwZGF0ZWRJblZlciI6IjQ0LjMuMiIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Anna Bocharova <robin_tail@me.com>
1 parent 483c7ef commit f5488be

3 files changed

Lines changed: 13 additions & 13 deletions

File tree

bun.lock

Lines changed: 11 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
},
1919
"devDependencies": {
2020
"@arethetypeswrong/cli": "^0.18.0",
21-
"@biomejs/biome": "2.4.16",
21+
"@biomejs/biome": "2.5.6",
2222
"@tsconfig/bun": "^1.0.7",
2323
"@types/bun": "^1.2.6",
2424
"@types/semver": "^7.7.0",

performance.svg

Lines changed: 1 addition & 1 deletion
Loading

0 commit comments

Comments
 (0)