Skip to content

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

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/biomejs-biome-2.x
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/biomejs-biome-2.x

Conversation

@renovate

@renovate renovate Bot commented Nov 30, 2025 •

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.3.7 → 2.6.4 age confidence
@biomejs/biome (source) 2.3.7 → 2.6.4 age confidence

Release Notes

biomejs/biome (@​biomejs/biome)

v2.6.4

Compare Source

Patch Changes
  • #​12261 19fbfb2 Thanks @​dyc3! - Added the new nursery rule noConsoleSpaces, which reports a leading or trailing space in a console.log(), console.debug(), console.info(), console.warn(), or console.error() argument that sits next to another argument. These methods already put a space between arguments, so such a space prints twice.

    console.log("abc ", "def");
  • #​12469 cd716d3 Thanks @​dyc3! - Added the new nursery rule noMagicArrayFlatDepth, which reports number literals other than 1 passed as the depth of Array.prototype.flat() unless a comment inside the parentheses explains them.

    const items = array.flat(2);
  • #​12470 92c9e81 Thanks @​dyc3! - Added the nursery rule noNull, which reports uses of the null literal and suggests undefined instead. Strict comparisons such as foo === null are allowed.

    let foo = null;
  • #​12483 9bd3527 Thanks @​dyc3! - Added the nursery rule noReturnArrayPush, which reports code that uses the return value of push() or unshift(). These methods return the new length of the array, not the added item or the array.

    function add(item) {
      return items.push(item);
    }
  • #​12477 a384892 Thanks @​dyc3! - Added the nursery rule noUnreadableIife, which reports arrow functions that are called right where they are defined and whose body is wrapped in parentheses.

    const foo = (bar => (bar ? bar.baz : baz))(getBar());
  • #​12447 0a963e4 Thanks @​dyc3! - Added the nursery rule noUselessRecursion, which reports functions that return a call to themselves when a loop can do the same work. Too many nested calls can crash the program with a stack overflow error.

    function findRoot(node) {
        if (node.parent) {
            return findRoot(node.parent);
        }
        return node;
    }
  • #​12554 2eddda9 Thanks @​dyc3! - Added the nursery rule noVueComputedPropertiesInData, which reports computed properties used inside the data function of a Vue component. Vue runs data before it sets up computed properties, so the value read there is undefined.

    <script>
    export default {
      data() {
        return { total: this.doubled };
      },
      computed: {
        doubled() {
          return 2;
        },
      },
    };
    </script>
  • #​12586 824df15 Thanks @​dyc3! - Added the nursery rule noVueDeprecatedDeleteSet, which reports calls to the $set and $delete functions, Vue.set and Vue.delete, and set and del imported from vue. Vue 3 removed these functions, so calling them throws an error.

    <script>
    export default {
      mounted() {
        this.$set(this.user, "name", "Alice");
      },
    };
    </script>
  • #​12648 6fc1a51 Thanks @​dyc3! - Added the nursery rule noVueDeprecatedRouterLinkTagProp, which disallows the tag prop on RouterLink. Vue Router 4 ignores this prop, so the link still renders as an <a> element.

    <template>
      <RouterLink tag="li" to="/">Home</RouterLink>
    </template>
  • #​12631 de1188f Thanks @​dyc3! - Added the new nursery rule noVueDeprecatedScopeAttribute, which reports the scope attribute on <template> elements in Vue files. Vue no longer supports this attribute, so use v-slot to receive slot props instead.

    <template>
      <ListComponent>
        <template scope="props">{{ props.title }}</template>
      </ListComponent>
    </template>
  • #​12562 5d7553b Thanks @​dyc3! - Added the new nursery rule noVueMultipleSlotArgs, which disallows passing more than one argument to a Vue slot from a render function. Slot content written in a template receives only the first argument.

    <script>
    export default {
      render() {
        return this.$slots.default(item, index); // reported
      },
    };
    </script>
  • #​12513 2e520d8 Thanks @​dyc3! - Added the nursery rule noVueMutatingProps, which reports code that changes the props of a Vue component, in the script or in the template. Props belong to the parent component, so the child should emit an event or copy the value instead.

    <script setup>
    const props = defineProps({ items: Array });
    
    props.items.push("new item");
    </script>
  • #​12567 144b786 Thanks @​dyc3! - Added the nursery rule noVueSideEffectsInComputed, which reports Vue computed properties that change state. Vue decides when to run a computed property, so changes made inside one happen at unpredictable times.

    <script setup>
    import { computed, ref } from "vue";
    
    const items = ref([]);
    // `reverse()` changes `items.value` in place.
    const reversedItems = computed(() => items.value.reverse());
    </script>
  • #​12603 861b288 Thanks @​dyc3! - Added the new nursery rule noVueUnusedRefs, which reports template refs in Vue components that nothing reads through $refs, useTemplateRef(), or a variable of the same name in <script setup>. The rule needs html.experimentalFullSupportEnabled to be true.

    <template>
      <input ref="input" />
    </template>
  • #​12285 68770e0 Thanks @​dyc3! - Added the new nursery rule noYamlBooleanKeys, which disallows boolean values as keys in YAML. For example, the following key is a boolean instead of text, so it is reported:

    true: enabled
  • #​12338 f46411b Thanks @​dyc3! - Added the nursery rule useSvelteEventDispatcherTypes, which reports createEventDispatcher() calls that don't declare the types of their events in Svelte components written in TypeScript.

    The rule accepts a call that declares its events:

    <script lang="ts">
      import { createEventDispatcher } from "svelte";
    
      const dispatch = createEventDispatcher<{ save: string }>();
    </script>
  • #​12615 ade9845 Thanks @​dyc3! - Added the nursery rule useVueDefineOptions, which reports the default export of a plain <script> block in Vue components that also use <script setup>, and suggests setting those options with defineOptions() instead.

    <script>
    export default { name: "MyComponent" }; // reported
    </script>
    
    <script setup>
    const props = defineProps(["title"]);
    </script>
  • #​12514 e74b4dc Thanks @​dyc3! - Added the nursery rule useVueDefinePropsDestructuring, which requires destructuring the props returned by defineProps() in Vue <script setup> blocks. It also reports withDefaults(), because destructured props can set their default values directly.

    <script setup lang="ts">
    const props = defineProps<{ foo?: string }>();
    </script>
  • #​12559 94985ba Thanks @​dyc3! - Added the nursery rule useVueTemplateRef, which requires useTemplateRef() instead of ref() or shallowRef() to access elements of the template in <script setup>.

    <template>
      <input ref="input" />
    </template>
    
    <script setup>
    import { ref } from "vue";
    
    const input = ref(); // reported
    </script>
  • #​12512 6be5078 Thanks @​dyc3! - Added the nursery rule useVueTypedProps, which reports Vue props declared without a type, in the props option, defineProps(), or defineModel(). Without a type, Vue accepts any value for the prop and can't warn when a component receives the wrong kind of value.

    <script setup>
    defineProps(["title"]);
    </script>
  • #​12653 f307633 Thanks @​dyc3! - Added the nursery rule useVueVModel, which reports a prop binding on a Vue component paired with an update: listener that only writes the new value back, and suggests v-model instead.

    <template>
      <MyComponent :title="title" @update:title="title = $event" />
    </template>
  • #​12591 a810209 Thanks @​dyc3! - Added the nursery rule useVueValidDefineEmits, which enforces valid usage of Vue's defineEmits macro in <script setup>.

    For example, the following code is now reported, because defineEmits declares its events with both a type and an argument:

    <script setup lang="ts">
    const emit = defineEmits<(e: "notify") => void>(["submit"]);
    </script>
  • #​12614 9308110 Thanks @​dyc3! - Added the nursery rule useVueValidDefineProps, which reports defineProps() calls that Vue can't compile or that declare props incorrectly. For example, it reports a component that calls defineProps() twice, or whose defineProps() argument uses a variable declared in <script setup>:

    <script setup>
    const definition = { msg: String };
    defineProps(definition);
    </script>
  • #​12570 222a230 Thanks @​dyc3! - Added the nursery rule useVueValidVIs, which reports v-is directives that have an argument or modifiers, have no value, or are used on a component instead of a native HTML element.

    For example, the following v-is directive has no value:

    <template>
      <tr v-is></tr>
    </template>
  • #​12521 4010bb7 Thanks @​dyc3! - Added the nursery rule useVueValidVMemo, which reports invalid v-memo directives in Vue templates. A v-memo directive must have an array value, can't have an argument or modifiers, and doesn't work inside an element with v-for.

    For example, the following value is an object instead of an array:

    <template>
      <div v-memo="{ id }"></div>
    </template>
  • #​12597 aff42a7 Thanks @​dyc3! - Added the nursery rule useVueValidVModel, which reports v-model directives that Vue can't use: on unsupported elements or file inputs, with an argument or unknown modifier on a native element, without a value, or with a value that can't be assigned to.

    For example, the following v-model directives are invalid:

    <template>
      <div v-model="foo"></div>
      <input v-model="foo + bar" />
    </template>
  • #​12569 3058597 Thanks @​dyc3! - Added the new nursery rule useVueValidVShow, which reports v-show directives that have an argument, a modifier, or no value, or that are placed on a <template> element.

    <template v-show="isVisible"><div></div></template>
  • #​12525 e2e5a36 Thanks @​dyc3! - Added the nursery rule useVueValidVSlot, which reports misplaced, duplicated, or malformed v-slot directives in Vue templates.

    For example, the rule reports two <template> elements that fill the same slot:

    <MyComponent>
      <template #header>First title</template>
      <template #header>Second title</template>
    </MyComponent>
  • #​12472 efd16bd Thanks @​dyc3! - Added the new nursery rule useWhileLoopCondition, which reports loops such as while (true) and for (;;) that start with an if statement containing only a break, and moves that condition into the while statement.

    while (true) {
      if (!hasMore()) {
        break;
      } // reported
      processNext();
    }
  • #​12640 167bb00 Thanks @​latin-1! - Updated useSortedProperties to follow stylelint-config-recess-order 7.9.0, adding sorting support for scroll-behavior, anchor positioning, multi-column layout, and other properties known to Biome.

  • #​12719 40a82b0 Thanks @​dyc3! - Improved the performance of the linter. Biome now spends less time setting up the enabled rules for each file it analyzes.

  • #​12722 f074730 Thanks @​dyc3! - Improved the performance of biome lint by about 1% to 3% on large projects, most noticeably with Biome's default rules and with rules that track variables or unreachable code.

  • #​12501 90a4d74 Thanks @​ematipico! - Fixed #​12466: the Biome daemon used more memory with every biome check --use-server run. The daemon now reuses the data that it stores for each file and project, and it keeps syntax trees only for the files that it read most recently.

  • #​12501 90a4d74 Thanks @​ematipico! - Fixed biomejs/biome-vscode#923: when a file open in the editor changed on disk, the language server replaced the editor's text with the text on disk. Biome now keeps the editor's text of open files until they are closed, so diagnostics, code actions and formatting stay at the right positions.

  • #​12652 59ff42a Thanks @​kurovskyiii! - Fixed #​12651: an imported name that the other module exports as both a type and a value now resolves to the type in type annotations, so noBaseToString no longer reports slug below as an object.

    // rule-slug.ts
    export type RuleSlug = string;
    export const RuleSlug = { create: (text: string): RuleSlug => text } as const;
    
    // main.ts
    import { RuleSlug } from "./rule-slug";
    export const label = (slug: RuleSlug): string => `rule ${slug}`;
  • #​12678 301402f Thanks @​nhedger! - Fixed biomejs/biome-vscode#1113: the language server now shows a warning when the configuration file can't be parsed. Previously, Biome stopped processing files without telling the user why.

  • #​12662 8c836eb Thanks @​dyc3! - Fixed #​12645: the Markdown formatter no longer removes the blank line between a blockquote and the list that follows it, matching Prettier.

    > A note.
    
    - one
    - two
  • #​12662 8c836eb Thanks @​dyc3! - Fixed #​12663: the Markdown formatter no longer removes the blank line between a table and the list that follows it, matching Prettier.

    | Table |
    | ----- |
    | Value |
    
    - Hello
  • #​12576 735d370 Thanks @​jfmcdowell! - Fixed #​12541: Markdown list items whose markers are indented 4 or more spaces now nest at the correct level. Previously the formatter could move such an item under the item before it, or join it to that item's text.

     1. Step
        - a
          - x
    -       - y
    -         - b
    +     - y
    +   - b
  • #​12575 0da9080 Thanks @​jfmcdowell! - Fixed formatting of Markdown block quotes inside deeply indented list items. With proseWrap: "always", consecutive quote lines now wrap together within the same quote, while setext headings and fenced code blocks keep their structure.

     10. item
    -    > first line
    -    > second line
    +    > first line second line
  • #​12607 896d53e Thanks @​xucian! - Fixed #​12542: the Markdown formatter is now idempotent when it formats tables.

    - | a        | b     |
    - | -------- | ----- |
    - | x        | `y` z |
    - | `p` z`q` | r     |
    + | a         | b     |
    + | --------- | ----- |
    + | x         | `y` z |
    + | `p` z `q` | r     |
  • #​12692 8ff63f4 Thanks @​NikitaCOEUR! - Fixed the linux-x64-musl binary not using jemalloc, which it already ships: it fell back to musl's allocator, and biome check on several threads could take minutes instead of seconds, for example in Alpine-based CI images.

  • #​12682 fa7cf4c Thanks @​dyc3! - Fixed #​12679: when markdown.parser.frontmatter and markdown.formatter.formatEmbeds are enabled, the Markdown formatter keeps the frontmatter of a fenced Markdown code block as written. Previously, it formatted the frontmatter as a thematic break and a paragraph, which removed the indentation of its YAML.

    ```markdown
    ---
    verified:
      by: human
    ---

Policy

  • #​12649 343c8ca Thanks @​JamBalaya56562! - Fixed #​12643 and #​12669: Biome now migrates the Prettier option bracketSpacing to formatter.bracketSpacing, both at the top level and inside overrides. JSON and GraphQL files are now formatted with the same bracket spacing as JavaScript files.

  • #​12640 167bb00 Thanks @​latin-1! - Fixed useSortedProperties to withhold sorting fixes that would change the effective values of overlapping declarations, physical/logical border or corner properties, or declarations followed by all.
    Updated noShorthandPropertyOverrides to recognize logical border, corner shape, position-try, text-box, and transition-behavior overrides.

  • #​12723 b6cbec8 Thanks @​dyc3! - Improved the performance of biome lint, biome check, and biome ci on files where rules report diagnostics with code fixes, by up to 12% with the default rules.

  • #​12664 6021da0 Thanks @​MindTooth! - Fixed Biome processing pnpm-lock.yaml files. These generated lockfiles are now protected from processing.

  • #​12501 90a4d74 Thanks @​ematipico! - Fixed an issue where the CLI, when it ran with --use-server alongside an editor connected to the same daemon, checked the unsaved text of the files open in the editor instead of the files on disk, and could make the editor's text get lost. The CLI now checks the files on disk, and every editor and CLI run connected to the daemon keeps its own text of the files it opens.

  • #​12519 9ae56ba Thanks @​dyc3! - The rule noVueVIfWithVFor now also reports v-else-if and v-else on the same element as v-for.

    <div v-if="loading">Loading...</div>
    <TodoItem v-else v-for="todo in todos" :todo="todo" />
  • #​12702 df0f7cc Thanks @​dyc3! - Fixed parsing of default values in Vue v-for bindings. Biome now parses the default value as JavaScript, so it is formatted and linted like other template expressions instead of being reported as a parse error.

    <div v-for="{ value = gt('v-for default') } in rows" />
  • #​12656 25a00a2 Thanks @​dyc3! - Fixed non-JSON files inside the global settings directories of Zed, VS Code, and Cursor being parsed as JSON.

  • #​12501 90a4d74 Thanks @​ematipico! - Fixed an issue where the language server kept using the previous parser options for open files after the configuration changed. Open files are now parsed again with the new options, for example json.parser.allowComments.

  • #​12656 25a00a2 Thanks @​dyc3! - Improved the performance of Biome when it processes many files by up to 7%.

  • #​12661 066a077 Thanks @​dyc3! - Added the nursery rule noVueDeprecatedListeners. It reports references to $listeners, which Vue 3 removed, in Vue templates and component objects. For example, Biome now reports <div v-on="$listeners" /> and this.$listeners inside a Vue component.

v2.6.3

Compare Source

Patch Changes
  • #​12275 807e616 Thanks @​dyc3! - Added the new nursery rule noArraySortForMinMax, which reports sorting an array only to read its smallest or largest value. Use Math.min() or Math.max() instead.

    const minimum = array.toSorted((a, b) => a - b)[0];
  • #​12432 cf61682 Thanks @​dyc3! - Added the nursery rule noBooleanSortComparator, which reports sort comparators that return a boolean instead of a number. For example, array.sort((a, b) => a > b) never puts the first item before the second, so the array isn't sorted correctly.

  • #​12304 b4654c5 Thanks @​dyc3! - Added the new nursery rule noEagerArrayMethodsInLoops, which reports .map() and .filter() calls in the header of for...of loops. These calls build a new array that is only used by the loop.

    for (const name of users.map((user) => user.name)) {
      console.log(name);
    }
  • #​12121 66c3791 Thanks @​dyc3! - Added the nursery rule noNewRequire, which disallows calling require with new, such as new require("app-header").

  • #​12316 34b520d Thanks @​dyc3! - Added the new nursery rule noObsoleteAttributes, which disallows obsolete attributes on HTML elements and suggests what to use instead.

    <table bgcolor="#ffffff" cellpadding="5"></table>
  • #​12258 cce2385 Thanks @​dyc3! - Added the nursery rule noPathConcat, which disallows building file paths and URLs by joining strings to __dirname, __filename, import.meta.dirname, import.meta.filename, or import.meta.url.

    const fullPath = __dirname + "/foo.js"; // reported
  • #​12287 e12ad78 Thanks @​dyc3! - Added the new nursery rule noPlaywrightNthMethods, which disallows selecting Playwright elements by position with first(), last(), and nth(). A test that relies on the position of an element can act on a different element when the page changes.

    await page.locator("button").first().click();
  • #​12343 62ad123 Thanks @​vibbix! - Added the nursery rule noSelfNestedLayer, which disallows nesting a cascade layer inside a layer with the same name. Layer names inside an @layer block are relative to it, so the inner layer below creates the sublayer components.components instead of adding to components.

    @layer components {
      @layer components {
        .button {
          color: red;
        }
      }
    }
  • #​12289 bbbd95d Thanks @​dyc3! - Added the nursery rule noShortTimeValues, which reports CSS animation and transition times that are shorter than the configured minimum number of milliseconds. The rule does nothing until minimum is set.

    For example, the following code is invalid when minimum is 100:

    a {
      transition-duration: 80ms;
    }
  • #​12431 f748ec0 Thanks @​dyc3! - Added the nursery rule noSvelteInternal, which disallows importing from svelte/internal and its submodules. These modules are private to Svelte and can change or disappear in any release.

    import { get_current_component } from "svelte/internal";
  • #​12270 8ae35c4 Thanks @​dyc3! - Added the nursery rule noTanstackQueryRestDestructuring, which disallows rest destructuring and object spread on TanStack Query results. Both read every property of the result, so the component updates on every change to the query.

    import { useQuery } from "@tanstack/react-query";
    
    const { data, ...rest } = useQuery({ queryKey: ["todos"], queryFn: fetchTodos });

    The rule belongs to the new tanstackQuery domain.

  • #​12308 372af2a Thanks @​dyc3! - Added the new nursery rule noUnreadableForOfExpression, which reports for...of and for await...of loops that go through the result of a complex expression instead of a variable, a property, or a short call.

    for (const item of getItems(createArgument(seed))) {} // reported
  • #​12422 0be8d10 Thanks @​dyc3! - Added the new nursery rule noUnsafeReturn, which disallows returning a value typed as any from a function.

    function parse(text: string) {
      return JSON.parse(text); // reported
    }
  • #​12311 8434c92 Thanks @​dyc3! - Added the nursery rule noUselessSplice, which reports splice() calls that have a simpler alternative. For example, array.splice(0, 1) can be written as array.shift().

  • #​12293 eaa4a2b Thanks @​dyc3! - Added the nursery rule noVueUnusedEmitDeclarations, which reports events that a Vue component declares but never emits.

    For example, the following component never emits close:

    <script setup>
    const emit = defineEmits(["change", "close"]);
    emit("change");
    </script>
  • #​12386 f01ebb0 Thanks @​dyc3! - Added the nursery rule noVueVTextVHtmlOnComponent, which disallows v-text and v-html on Vue components. These directives replace everything inside the component's root element instead of filling its slot.

    <template>
      <MyComponent v-html="html"></MyComponent>
    </template>
  • #​12385 7bd38b7 Thanks @​dyc3! - Added the new nursery rule noVueWatchAfterAwait, which disallows creating watchers after an await in a Vue component's setup() function. Vue doesn't stop these watchers when the component is removed. A watcher is allowed when the function it returns is stored, so that function can be called later to stop the watcher.

    <script>
    import { watch } from "vue";
    
    export default {
      async setup() {
        await fetchUser();
        watch(source, () => {});
      },
    };
    </script>
  • #​12286 50d2a4e Thanks @​dyc3! - Added the nursery rule noZeroLengthUnit, which disallows units on zero lengths in CSS. Biome can remove the unit.

    a {
      top: 0px;
    }
  • #​12300 ab2eb9e Thanks @​dyc3! - Added the nursery rule useBlockStatementOverIife, which reports functions that are called immediately when a block statement can replace them. Biome can replace these functions with a block statement.

    Invalid:

    (() => {
        const value = getValue();
        run(value);
    })();
  • #​12421 1c2cac0 Thanks @​dyc3! - Added the nursery rule useConsistentLightnessNotation, which enforces writing the lightness of lab(), lch(), oklab(), and oklch() colors as a percentage, or as a number with the notation option. For example, with the default options, oklch(0.85 0.17 88) is reported and can be fixed to oklch(85% 0.17 88).

  • #​12224 fef7ed4 Thanks @​dyc3! - Added the nursery rule useExpectToContain, which reports tests that compare the result of includes() to a boolean, and suggests using toContain() instead.

    expect(fruits.includes("apple")).toBe(true);
  • #​12299 0d5025d Thanks @​dyc3! - Added the new nursery rule useIteratorZip, which reports for loops that use an index only to read the same position from several arrays. Such loops can use Iterator.zip() instead.

    // reported
    for (let index = 0; index < Math.min(names.length, scores.length); index++) {
      save(names[index], scores[index]);
    }
  • #​12298 a234d2f Thanks @​dyc3! - Added the nursery rule useMathAbs, which reports manual absolute value calculations and range checks that can use Math.abs(). For example, value < 0 ? -value : value can be written as Math.abs(value), and value > limit || value < -limit can be written as Math.abs(value) > limit.

  • #​12499 bd024cc Thanks @​dyc3! - Added the nursery rule useMathTrunc, which requires Math.trunc() instead of bitwise operations or parseInt(String(x), 10) for removing the decimal part of a number. For example, const result = value | 0; and const result = ~~value; are now reported.

  • #​12314 9e875a4 Thanks @​dyc3! - Added the new nursery rule usePackageJsonValidCpu, which reports a cpu field in package.json that isn't an array of known processor types. The cpu field lists the processor types that the package supports.

    For example, the rule reports the following package.json file because x86 isn't a processor type that package managers recognize:

    {
      "name": "my-package",
      "cpu": ["x86"]
    }
  • #​12315 cb30544 Thanks @​dyc3! - Added the nursery rule usePackageJsonValidEngines, which reports an invalid engines field in package.json. The field must be an object, and each of its values must be a non-empty string.

    For example, the following engines field is reported because the version of node is a number:

    {
        "engines": {
            "node": 24
        }
    }
  • #​12400 407604d Thanks @​dyc3! - Added the nursery rule useVueComponentIs, which requires Vue <component> elements to bind the is attribute with :is or v-bind:is. Without it, Vue has no component to render.

    <template>
      <component :is="currentView" />
    </template>
  • [#​12337

[!IMPORTANT]
✂ PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At 12:00 AM through 04:59 AM and 10:00 PM through 11:59 PM, Monday through Friday (* 0-4,22-23 * * 1-5)
    • Only on Sunday and Saturday (* * * * 0,6)
  • 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 these updates again.


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

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

@codecov

codecov Bot commented Nov 30, 2025 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.12%. Comparing base (7f7f6aa) to head (5931fa0).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #145   +/-   ##
=======================================
  Coverage   98.12%   98.12%           
=======================================
  Files          15       15           
  Lines         586      586           
=======================================
  Hits          575      575           
  Misses         11       11           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions

github-actions Bot commented Nov 30, 2025 •

Copy link
Copy Markdown
Contributor

Renovate PR Review Results

⚖️ Safety Assessment: ✅ Safe

🔍 Release Content Analysis

  • Patch releases only: The update spans 4 patch versions (2.3.8 → 2.3.11), containing only bug fixes and new nursery rules
  • No breaking changes: All changes are additive or bug fixes, maintaining full backward compatibility
  • Security improvements: Enhanced noUndeclaredEnvVars rule with broader environment variable detection (Bun.env, Deno.env, bracket notation)
  • New nursery rules: Multiple new Vue.js, GraphQL, and general linting rules added to nursery (opt-in only)
  • Performance improvements: Reduced memory usage and system calls, improved rule performance
  • Bug fixes: Resolved false positives, parser improvements, formatter fixes

🎯 Impact Scope Investigation

  • Configuration impact: Only schema URL update from 2.3.7 to 2.3.11 - no configuration changes needed
  • Current rule usage: Project uses recommended: true with minimal overrides (noTemplateCurlyInString: off)
  • Biome ignore patterns: Single instance using biome-ignore-all lint/complexity/noBannedTypes in /lib/package/on.ts:1 remains compatible
  • Development workflow: Uses Biome for linting, formatting via lint-staged and VS Code integration - no changes needed
  • No nursery rules: Project doesn't use any nursery rules, so new additions don't affect current workflow

💡 Recommended Actions

  • Immediate merge: Safe to merge immediately - all changes are backward compatible
  • No manual migration required: Configuration and code remain fully functional
  • Optional review: Consider adopting new Vue.js rules if project expands to Vue development
  • Monitor performance: Expect potential performance improvements in large codebases

Generated by koki-develop/claude-renovate-review

@renovate
renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from 0c431e8 to 17cb070 Compare December 17, 2025 18:13
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.3.8 chore(deps): update dependency @biomejs/biome to v2.3.9 Dec 17, 2025
@renovate
renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from 17cb070 to 1008c98 Compare December 19, 2025 15:42
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.3.9 chore(deps): update dependency @biomejs/biome to v2.3.10 Dec 19, 2025
@renovate
renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from 1008c98 to b8877ba Compare January 5, 2026 17:53
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.3.10 chore(deps): update dependency @biomejs/biome to v2.3.11 Jan 5, 2026
@renovate
renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from b8877ba to b3cdcc8 Compare January 25, 2026 16:47
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.3.11 chore(deps): update dependency @biomejs/biome to v2.3.12 Jan 25, 2026
@renovate
renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from b3cdcc8 to 613d086 Compare January 28, 2026 16:52
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.3.12 chore(deps): update dependency @biomejs/biome to v2.3.13 Jan 28, 2026
@renovate
renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from 613d086 to 63bdc1e Compare February 5, 2026 18:13
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.3.13 chore(deps): update dependency @biomejs/biome to v2.3.14 Feb 5, 2026
@renovate
renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from 63bdc1e to 452c7a3 Compare February 14, 2026 13:27
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.3.14 chore(deps): update dependency @biomejs/biome to v2.3.15 Feb 14, 2026
@renovate
renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from 452c7a3 to 39f5836 Compare February 18, 2026 18:52
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.3.15 chore(deps): update dependency @biomejs/biome to v2.4.0 Feb 18, 2026
@renovate
renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from 39f5836 to b2a351c Compare February 19, 2026 16:58
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.4.0 chore(deps): update dependency @biomejs/biome to v2.4.1 Feb 19, 2026
@renovate
renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from b2a351c to 32ec7c9 Compare February 20, 2026 01:01
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.4.1 chore(deps): update dependency @biomejs/biome to v2.4.2 Feb 20, 2026
@renovate
renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from 32ec7c9 to eac811d Compare February 22, 2026 21:37
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.4.2 chore(deps): update dependency @biomejs/biome to v2.4.3 Feb 22, 2026
@renovate
renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from eac811d to c8c1061 Compare February 23, 2026 22:12
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.4.3 chore(deps): update dependency @biomejs/biome to v2.4.4 Feb 23, 2026
@renovate
renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from c8c1061 to b266d96 Compare March 5, 2026 19:35
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.4.4 chore(deps): update dependency @biomejs/biome to v2.4.5 Mar 5, 2026
@renovate
renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from b266d96 to 2cf96fb Compare March 8, 2026 17:17
@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/biomejs-biome-2.x branch from 631ab64 to 4c48c2f Compare April 30, 2026 19:17
@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 30, 2026
@renovate
renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from 4c48c2f to 4ae39f5 Compare May 9, 2026 15:45
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.4.13 chore(deps): update dependency @biomejs/biome to v2.4.14 May 9, 2026
@renovate
renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from 4ae39f5 to fc772b4 Compare May 16, 2026 20:36
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.4.14 chore(deps): update dependency @biomejs/biome to v2.4.15 May 16, 2026
@renovate
renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from fc772b4 to a88a122 Compare June 3, 2026 18:40
@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 Jun 3, 2026
@renovate
renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from a88a122 to dcbce23 Compare June 19, 2026 14:36
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.4.16 chore(deps): update dependency @biomejs/biome to v2.5.0 Jun 19, 2026
@renovate
renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from dcbce23 to 35a4c72 Compare June 30, 2026 10:40
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.5.0 chore(deps): update dependency @biomejs/biome to v2.5.1 Jun 30, 2026
@renovate
renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from 35a4c72 to b7f7645 Compare July 8, 2026 15:12
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.5.1 chore(deps): update dependency @biomejs/biome to v2.5.2 Jul 8, 2026
@renovate
renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from b7f7645 to 7e37f97 Compare July 15, 2026 12:58
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.5.2 chore(deps): update dependency @biomejs/biome to v2.5.3 Jul 15, 2026
@renovate
renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from 7e37f97 to f49893c Compare July 22, 2026 06:07
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.5.3 chore(deps): update dependency @biomejs/biome to v2.5.4 Jul 22, 2026
@renovate
renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from f49893c to f9e7965 Compare July 28, 2026 09:37
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.5.4 chore(deps): update dependency @biomejs/biome to v2.5.5 Jul 28, 2026
@renovate
renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from f9e7965 to 3299de1 Compare August 4, 2026 13:57
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.5.5 chore(deps): update dependency @biomejs/biome to v2.5.6 Aug 4, 2026
@renovate
renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from 3299de1 to 08126e9 Compare August 12, 2026 01:50
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.5.6 chore(deps): update dependency @biomejs/biome to v2.5.7 Aug 12, 2026
@renovate
renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from 08126e9 to 07b6065 Compare August 18, 2026 11:00
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.5.7 chore(deps): update dependency @biomejs/biome to v2.5.8 Aug 18, 2026
@renovate
renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from 07b6065 to 4c1c0f0 Compare August 24, 2026 23:30
@renovate renovate Bot changed the title chore(deps): update dependency @biomejs/biome to v2.5.8 chore(deps): update dependency @biomejs/biome to v2.5.9 Aug 24, 2026
@renovate
renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from 4c1c0f0 to 933b404 Compare August 30, 2026 08:10
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