Skip to content

chore(deps): update dependency @biomejs/biome to v2.5.13 - #4456

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/npm-dependencies-not-major-update
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/npm-dependencies-not-major-update

Conversation

@renovate

@renovate renovate Bot commented Mar 5, 2026

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
@biomejs/biome (source) 2.4.42.5.13 age confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

biomejs/biome (@​biomejs/biome)

v2.5.13

Compare Source

Patch Changes

v2.5.12

Compare Source

Patch Changes
  • #​11440 b88f1ea Thanks @​Princesseuh! - Fixed Astro attribute expressions rejecting TypeScript and JSX syntax that is accepted in text expressions.

    <Component icon={<Icon />} count={total as number} onSelect={(e: Event) => e} />
  • #​11440 b88f1ea Thanks @​Princesseuh! - Fixed Astro attribute names being split on : and . inside an expression, such as {x && <button x-on:keyup.enter={go} client:load.foo />}.

  • #​11440 b88f1ea Thanks @​Princesseuh! - Fixed a bare > in the children of an Astro expression being treated as markup, such as {x && <div>a > b</div>}.

  • #​11440 b88f1ea Thanks @​Princesseuh! - Fixed HTML comments inside an Astro expression failing to parse. They are now read as trivia, wherever they appear among the children.

    {x && <div><!-- first -->text<!-- last --></div>}
    {cond && <a></a><!-- c --><b></b>}
  • #​11440 b88f1ea Thanks @​Princesseuh! - Fixed is:raw children inside an Astro expression being read as JSX, such as {x && <div is:raw>{not js} < & text</div>}.

  • #​11440 b88f1ea Thanks @​Princesseuh! - Fixed an apostrophe or quote in the text of a JSX element inside an Astro expression ending the expression early, such as {items.map((i) => <li>it's {i}</li>)}.

  • #​11440 b88f1ea Thanks @​Princesseuh! - Fixed the children of a <script> or <style> inside an Astro expression being read as JSX. Their contents are text, so braces and comparisons no longer have to be escaped.

    {cond && <style>a { color: red }</style>}
    {cond && <script>let x = {a: 1};</script>}
  • #​11440 b88f1ea Thanks @​Princesseuh! - Added support for template literal attribute values inside an Astro expression, such as {x && <C data-x=`t${x}` />}.

  • #​11440 b88f1ea Thanks @​Princesseuh! - Fixed unquoted attribute values being rejected inside an Astro expression, such as {x && <a class=foo maxlength=255 href=/about>go</a>}.

  • #​11440 b88f1ea Thanks @​Princesseuh! - Fixed a template literal nested inside ${} breaking the rest of an Astro file, such as const href = `/blog${page === 0 ? '' : `/${page + 1}`}`;.

  • #​11440 b88f1ea Thanks @​Princesseuh! - Fixed a quote inside a regex character class breaking the rest of an Astro file, such as const unsafe = /[/"]/;.

  • #​11508 54f3a2e Thanks @​dyc3! - Added the nursery rule useFlatMathMinMax. Because Math.min() and Math.max() accept any number of arguments, the rule reports unnecessary nested calls to the same method:

    Math.max(Math.max(a, b), c);

    The fix flattens this expression to Math.max(a, b, c).

  • #​11585 c5c8315 Thanks @​Netail! - Fixed #​11475: noUnresolvedImports no longer reports Bun runtime built-in modules (bun, bun:bundle, bun:ffi, bun:jsc, bun:sqlite, bun:test).

  • #​11368 52a57b3 Thanks @​Austin1serb! - Fixed #​6830: Biome now reports a diagnostic for excessively deep syntax instead of overflowing the native stack while releasing the parsed tree.

  • #​11596 1fc42ed Thanks @​dyc3! - Added the nursery rule noThisOutsideOfClass. The rule reports this outside class members and TypeScript functions with an explicit this parameter.

    function Person(name) {
        this.name = name;
    }
  • #​11555 2516335 Thanks @​dyc3! - Fixed #​11529, where noFloatingPromises missed unhandled Promise chains when the imported function's module belonged to an import cycle. Cyclic modules now preserve types for exports that do not participate in recursive type dependencies.

  • #​11518 0fee70c Thanks @​HarperZ9! - Fixed #​11500: the formatter now prints the declare modifier before accessibility modifiers on class properties. private declare readonly name: string is now formatted as declare private readonly name: string, matching Prettier and TypeScript's canonical modifier order.

  • #​11580 1277af2 Thanks @​ematipico! - Fixed #​5091: Biome no longer moves comments next to the < of a generic, which causes invalid TypeScript syntax:

    - Generic<// a comment
    + Generic<
    +   // a comment
  • #​11577 42995d2 Thanks @​ematipico! - Fixed #​4592. Biome no longer crashes while parsing malformed delete expressions.

  • #​11590 67963b4 Thanks @​ematipico! - Fixed #​6427 so Grit plugins can use function = ... as a node argument.

  • #​11600 a689cb5 Thanks @​ematipico! - Fixed #​6644: noUnusedVariables now recognizes all interface declarations in a TypeScript declaration-merging group when the interface is referenced.

    The following snippet no longer triggers the rule.

    interface Things {
        foo: string;
    }
    
    interface Things {
        bar: string;
    }
    
    export type Key = keyof Things;
    
    interface Things {
        baz: string;
    }
  • #​11591 d4a0716 Thanks @​ematipico! - Fixed #​6615. noDuplicateProperties no longer reports declarations nested in block at-rules as duplicates of declarations in their parent block.

  • #​11492 f2a07aa Thanks @​santichausis! - Fixed #​11454: noMisplacedAssertion now recognises @fast-check/vitest's test.prop(...) (and .concurrent.prop, .skip.prop, etc.) as a test function, the same way it already recognises test.each. The JS formatter picks up the same recognition, so a curried test.prop(...)(...) call is now formatted with the regular breakable argument layout used for test.each/test.for, instead of the single-line-hugging layout used for plain it/test calls.

    For example, Biome no longer reports the assertion below as misplaced:

    import { fc, test } from "@fast-check/vitest";
    
    test.prop([fc.string()])("round-trips", (s) => {
      expect(s).toBe(s);
    });
  • #​11589 65742b3 Thanks @​ematipico! - Fixed #​4928: noUnusedVariables no longer reports a value declaration as unused when its merged namespace is referenced.

  • #​11559 472dbc2 Thanks @​levrik! - Fixed a false positive in noVueDuplicateKeys where a <script setup> variable initialized from props was reported as a duplicate of the prop it derives from. Biome now exempts any variable whose initializer references props, instead of only recognizing defineProps() and toRefs(props).

    For example, Biome no longer reports foo below as a duplicate key:

    <script setup>
    import { toRef } from 'vue';
    const props = defineProps(['foo']);
    const foo = toRef(props, 'foo');
    </script>
  • #​11594 6586ceb Thanks @​ematipico! - Fixed #​6640. Biome no longer crashes when linting malformed for...of statements.

  • #​11571 85b197d Thanks @​ematipico! - Fixed #​10838: useSortedAttributes no longer corrupts JSX attributes when nested JSX elements also require sorting.

  • #​11533 97e76c0 Thanks @​ematipico! - Fixed #​11520, where the Biome scanner would start analysing dependencies multiple times, leading to long and unresponsive sessions.

  • #​11564 18a0e1f Thanks @​Netail! - Fixed the diagnostic range of noInferrableTypes so it now highlights only the type instead of including the leading : colon, spaces and comments.

  • #​11540 124fdaa Thanks @​ematipico! - Fixed #11537: noShorthandPropertyOverrides now compares declarations only within the same block. The rule no longer reports @supports feature queries and correctly checks nested, @keyframes, and @page blocks.

  • #​11532 7ceb0ee Thanks @​dyc3! - Fixed #​11528: noFloatingPromises no longer reports statement-level await expressions that handle Promise values, including overloaded calls returning Promise aliases. Awaited values that resolve to arrays of Promises remain reported because their element Promises are not handled by await.

  • #​11474 3c6412e Thanks @​dyc3! - Fixed #​10241. Biome no longer reports unsupported text expression diagnostics for double-curly text in vanilla HTML, and the formatter preserves adjacent curly-brace text.

  • #​11593 6c7fd27 Thanks @​dyc3! - Added the nursery rule noVueDeprecatedScopedSlots. It reports deprecated $scopedSlots references in Vue templates and component objects, and offers an unsafe replacement with $slots. For example, Biome now reports this.$scopedSlots.default inside a Vue component.

  • #​11440 b88f1ea Thanks @​Princesseuh! - Fixed the formatter crashing on an Astro or Svelte expression spanning several lines in a file with CRLF line endings, such as <p>{a +\r\n b}</p>.

  • #​11581 f4e5ebb Thanks @​dyc3! - Added the nursery rule useModernMathApis. The rule reports legacy mathematical patterns that have direct modern Math equivalents.

    Math.sqrt(a * a + b * b);
  • #​11597 a20f44a Thanks @​Netail! - Added the nursery rule noBunModules, which forbids the use of Bun builtin modules (e.g. bun:sqlite, bun:ffi).

  • #​11545 7d54688 Thanks @​dyc3! - Fixed #​11542: Biome now reports HTML comments between Svelte tag attributes as parse errors.

  • #​11582 b6611dd Thanks @​ematipico! - Fixed #​3862. Biome now parses legacy Internet Explorer filter and -ms-filter values such as progid:DXImageTransform... and alpha(opacity=40).

  • #​11575 65da251 Thanks @​dyc3! - Improved the Tailwind parser's ability to recover from parsing failures. Whitespace now always allows the parser to recover and start parsing a new class.

  • #​11576 0f78499 Thanks @​ematipico! - Fixed #​3515 and #​10395, where Biome could corrupt Unicode characters while writing source received through standard input to standard output. Characters such as and are now preserved.

  • #​11539 0fca643 Thanks @​ematipico! - Fixed #​11512, where style/noDescendingSpecificity missed lower-specificity selectors after a later higher-specificity selector with the same tail selector.

  • #​11544 040f867 Thanks @​dyc3! - Fixed #​11541: formatting a Svelte render tag followed by an HTML comment no longer duplicates the comment.

     <div>
       {@render children?.()}
       <!-- comment -->
    -  <!-- comment -->
     </div>
  • #​11565 ee69e0e Thanks @​ematipico! - Fixed #​11525. Now the configuration schema correctly provides auto-completion for linter domains.

  • #​11583 b19390c Thanks @​dyc3! - Fixed #​11352: useExplicitLengthCheck no longer reports length-like properties used as value-producing || fallbacks or optional chains, and it no longer offers fixes for value-producing && checks or unsafe negations.

  • #​11562 753e955 Thanks @​ematipico! - Fixed an issue where the Biome Language Server would start with logging level set to debug. This would cause logs to grow exponentially in long sessions.

  • #​11217 7d3ee9c Thanks @​dyc3! - Fixed handling of biome-ignore format suppression comments on TypeScript declared class properties with string literal names.

    class A {
    	declare /* biome-ignore format: exercise suppression checking */ 'a-b': 0;
    }
  • #​11497 f5d7896 Thanks @​dyc3! - Added the noInvalidFileInputAccept nursery rule. The rule reports invalid literal accept values on file inputs in JSX and HTML, and normalizes common mistakes.

    <input type="file" accept="image/jpg" />
  • #​11345 ac58958 Thanks @​jakeleventhal! - Improved type inference performance by avoiding resolution of unused members in object arguments.

  • #​11554 2d55931 Thanks @​Netail! - Added the new nursery rule useReactNamingConvention, which enforces naming conventions for React values assigned from createContext, useId, and useRef. A value from createContext must be a PascalCase component name ending with Context, a value from useId must be named id or end with Id, and a value from useRef must be named ref or end with Ref.

  • #​11491 1d6210b Thanks @​dyc3! - Added the nursery rule noUnmodifiedLoopCondition, which reports variables in loop conditions that are never modified in the loop.

    let node = getNode();
    while (node) {
        process(node);
    }

v2.5.11

Compare Source

Patch Changes
  • #​11499 9743d0c Thanks @​scs0209! - Fixed #​11496: useValidAnchor now treats Astro JSX shorthand attributes like <a {href}> as a valid href.

  • #​11437 88f805e Thanks @​Princesseuh! - Fixed #​9944: adjacent elements inside an Astro expression now parse as an implicit fragment instead of raising an error.

    {options.map(() =>
      <div />
      <div />
    )}
  • #​11437 88f805e Thanks @​Princesseuh! - Fixed Astro templates rejecting unclosed HTML void elements, such as {cond && <br>}.

  • #​11507 e2fc036 Thanks @​dyc3! - Fixed #​11157: noUnusedVariables no longer reports Vue <script setup> bindings used by CSS v-bind() as unused.

  • #​11398 afc4615 Thanks @​dyc3! - Fixed #​11389: Files passed through --stdin-file-path now use full HTML support for Astro, Svelte, and Vue when it is enabled.

  • #​11526 372cd68 Thanks @​dyc3! - Fixed noVueRefAsOperand to track Vue refs through declaration aliases and toRefs() properties, and to recognize useTemplateRef() results. The rule no longer reports false positives such as plain ref transfers, plain toRefs() property access, defineModel() modifiers, or the supported .effect member as operands.

    The refactor enabling these fixes also improves the performance of the rule.

  • #​11458 a7cd286 Thanks @​dyc3! - Fixed #​11436: GritQL snippets such as export { $specifiers } from $source now match named re-exports with aliases, inline type modifiers, and multiple specifiers.

  • #​11515 382b15d Thanks @​dyc3! - Fixed #​11390, where noFloatingPromises performed expensive full type inference for calls to non-Promise methods declared on third-party TypeScript classes. The rule now classifies those calls using targeted type information.

  • #​11516 6f40e82 Thanks @​levrik! - Fixed noVueRefAsOperand so it no longer reports a callback parameter (e.g. from .find(), .map()) as an unwrapped ref value just because it's nested inside a ref(), computed(), or similar call.

    const result = computed(() => list.find((item) => item.label === "a"));

    Previously, item here was incorrectly treated as a ref value because the rule attributed it to the outer computed() call.

  • #​11495 496268d Thanks @​Netail! - Fixed useGraphqlNamingConvention so it no longer reports GraphQL enum value definitions with comments & descriptions and now displays a more accurate diagnostic range.

  • #​11407 6ef52b0 Thanks @​1678092075! - Fixed #​11214: noUnusedVariables no longer reports type parameters declared by non-default function overload signatures that have an implementation.

  • #​11322 5c353e6 Thanks @​jp-knj! - Added a new nursery rule noAstroSetHtmlDirective, which disallows Astro's set:html directive because untrusted content can introduce cross-site scripting vulnerabilities.

    For example, the following snippet triggers the rule:

    <div set:html={content} />
  • #​11462 18883b7 Thanks @​dyc3! - Fixed #​10776: useVueHyphenatedAttributes no longer reports lowercase attribute names containing punctuation, such as pt:header:data-test-id and some_attr.

  • #​11476 3270ca4 Thanks @​dyc3! - Fixed #​10330: Vue interpolation delimiters now stay attached to whitespace-sensitive element boundaries and adjacent inline siblings, wrapping their expression when needed to fit the configured line width. Interpolations followed by text now also converge after one formatting pass.

    -<v-btn v-if="store.state.user" variant="text" to="/my-rooms"
    -  >{{ $t("nav.my-rooms") }}</v-btn
    ->
    +<v-btn v-if="store.state.user" variant="text" to="/my-rooms">{{
    +  $t("nav.my-rooms")
    +}}</v-btn>
  • #​11191 3e5367f Thanks @​ematipico! - Added the nursery rule noUndeclaredCustomProperties, which reports references to custom properties that are not defined in available CSS, static HTML-like style attributes, or JSX string style attributes.

    For example, the following snippet triggers the rule:

    a { color: var(--undefined-color); }
  • #​11435 7754894 Thanks @​levrik! - Fixed: Variables and imports used as custom Vue directives are no longer reported as unused.

    For example:

    <script setup>
    const vHighlight = {
      mounted: (element) => {
        element.style.color = "red";
      },
    };
    </script>
    
    <template>
      <p v-highlight>Hello</p>
    </template>
  • #​11501 e6acded Thanks @​aminya! - Improved the performance of useArraySortCompare by skipping type inference for calls to unrelated methods.

  • #​11467 66b282c Thanks @​dyc3! - Fixed #​11464: Biome now parses parenthesized object literals returned from arrow functions when they contain a conditional expression and a nested arrow function.

  • #​11456 db9aa2a Thanks @​dyc3! - Fixed #​10278: Marked the fix for noThisInStatic as unsafe by default.

  • #​11502 652aedb Thanks @​levrik! - noGlobalAssign no longer reports assignments to a Vue <script setup> binding from a template expression, when the binding's name happens to match a built-in global (e.g. open, parent, top).

    For example, this no longer triggers a diagnostic:

    <script setup>
    const open = defineModel();
    </script>
    
    <template>
      <button @click="open = !open">Toggle</button>
    </template>

v2.5.10

Compare Source

Patch Changes
  • #​11403 8f7786f Thanks @​Princesseuh! - Fixed Astro rejecting JavaScript comments between attributes.

    <div /* block comment */ class="something"></div>
    <Component /* c */ client:load />
  • #​11403 8f7786f Thanks @​Princesseuh! - Fixed a bare < in Astro text being treated as the start of a tag, such as <p>5 < 6 and 7 > 6</p>. As in HTML, a < that cannot open a tag is text and needs no escaping.

  • #​11438 3133ffa Thanks @​Princesseuh! - Fixed #​8294: an Astro expression holding only a comment is no longer reported as a parse error, which also stopped the whole file from being formatted.

    <div>{/* a note */}</div>
    <div class={/* a note */}>x</div>
  • #​11403 8f7786f Thanks @​Princesseuh! - Fixed #​9165: an empty Astro expression such as <div>{}</div> no longer fails to parse. Astro renders {} as nothing.

  • #​11403 8f7786f Thanks @​Princesseuh! - Fixed Astro expressions containing a comment failing to parse.

    <div>{/* block comment */ x}</div>
    <div>{/* only a comment */}</div>
  • #​11403 8f7786f Thanks @​Princesseuh! - Added support for Astro's fragment shorthand.

    <>
      <p>a</p>
    </>
  • [#​114

Important

✂ PR body was truncated to here.


Configuration

📅 Schedule: (in timezone Europe/Berlin)

  • Branch creation
    • Every minute (* * * * *)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot enabled auto-merge (squash) March 5, 2026 15:50
@renovate
renovate Bot force-pushed the renovate/npm-dependencies-not-major-update branch from 9a6d1e9 to c5b9a55 Compare March 8, 2026 16:43
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.4.5 chore(deps): update dependency @biomejs/biome to v2.4.6 Mar 8, 2026
@renovate
renovate Bot force-pushed the renovate/npm-dependencies-not-major-update branch 7 times, most recently from 53fc74b to 1440c17 Compare March 16, 2026 21:10
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.4.6 chore(deps): update dependency @biomejs/biome to v2.4.7 Mar 16, 2026
@renovate
renovate Bot force-pushed the renovate/npm-dependencies-not-major-update branch 2 times, most recently from e892476 to bc82a85 Compare March 21, 2026 17:03
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.4.7 chore(deps): update dependency @biomejs/biome to v2.4.8 Mar 21, 2026
@renovate
renovate Bot force-pushed the renovate/npm-dependencies-not-major-update branch 3 times, most recently from 742d100 to 6233f13 Compare March 28, 2026 12:59
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.4.8 chore(deps): update dependency @biomejs/biome to v2.4.9 Mar 28, 2026
@renovate
renovate Bot force-pushed the renovate/npm-dependencies-not-major-update branch from 6233f13 to ff1bf76 Compare April 2, 2026 17:13
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.4.9 chore(deps): update dependency @biomejs/biome to v2.4.10 Apr 2, 2026
@renovate
renovate Bot force-pushed the renovate/npm-dependencies-not-major-update branch from ff1bf76 to 28e7594 Compare April 12, 2026 17:49
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.4.10 chore(deps): update dependency @biomejs/biome to v2.4.11 Apr 12, 2026
@renovate
renovate Bot force-pushed the renovate/npm-dependencies-not-major-update branch 3 times, most recently from 3354111 to d4d1fa9 Compare April 17, 2026 18:35
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.4.11 chore(deps): update dependency @biomejs/biome to v2.4.12 Apr 17, 2026
@renovate
renovate Bot force-pushed the renovate/npm-dependencies-not-major-update branch from d4d1fa9 to 72890ec Compare April 20, 2026 08:21
@renovate
renovate Bot force-pushed the renovate/npm-dependencies-not-major-update branch from 72890ec to 8fd05ca Compare April 26, 2026 17:04
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.4.12 chore(deps): update dependency @biomejs/biome to v2.4.13 Apr 26, 2026
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.4.15 chore(deps): update dependency @biomejs/biome to v2.4.16 May 30, 2026
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.4.16 chore(deps): update npm dependencies not major update to v2.4.16 Jun 2, 2026
@renovate
renovate Bot force-pushed the renovate/npm-dependencies-not-major-update branch 13 times, most recently from 0ad5256 to 43b2091 Compare June 16, 2026 01:04
@renovate renovate Bot changed the title chore(deps): update npm dependencies not major update to v2.4.16 chore(deps): update npm dependencies not major update to v2.5.0 Jun 16, 2026
@renovate
renovate Bot force-pushed the renovate/npm-dependencies-not-major-update branch 4 times, most recently from 98e3fdb to 37f5039 Compare June 19, 2026 10:51
@renovate renovate Bot changed the title chore(deps): update npm dependencies not major update to v2.5.0 chore(deps): update npm dependencies not major update Jun 22, 2026
@renovate
renovate Bot force-pushed the renovate/npm-dependencies-not-major-update branch 6 times, most recently from 1ade2d2 to c47b690 Compare June 25, 2026 06:16
@renovate renovate Bot changed the title chore(deps): update npm dependencies not major update chore(deps): update dependency @biomejs/biome to v2.5.0 Jun 25, 2026
@coderabbitai

coderabbitai Bot commented Sep 10, 2026

Copy link
Copy Markdown

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: dd6bec2b-e7b3-44c1-bff4-43e44bbb98d2

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants