Skip to content

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Sep 15, 2025

This PR contains the following updates:

Package Change Age Confidence
@biomejs/biome (source) 2.2.3 -> 2.2.4 age confidence

Release Notes

biomejs/biome (@​biomejs/biome)

v2.2.4

Compare Source

Patch Changes
  • #​7453 aa8cea3 Thanks @​arendjr! - Fixed #​7242: Aliases specified in
    package.json's imports section now support having multiple targets as part of an array.

  • #​7454 ac17183 Thanks @​arendjr! - Greatly improved performance of
    noImportCycles by eliminating allocations.

    In one repository, the total runtime of Biome with only noImportCycles enabled went from ~23s down to ~4s.

  • #​7447 7139aad Thanks @​rriski! - Fixes #​7446. The GritQL
    $... spread metavariable now correctly matches members in object literals, aligning its behavior with arrays and function calls.

  • #​6710 98cf9af Thanks @​arendjr! - Fixed #​4723: Type inference now recognises
    index signatures and their accesses when they are being indexed as a string.

Example
type BagOfPromises = {
  // This is an index signature definition. It declares that instances of type
  // `BagOfPromises` can be indexed using arbitrary strings.
  [property: string]: Promise<void>;
};

let bag: BagOfPromises = {};
// Because `bag.iAmAPromise` is equivalent to `bag["iAmAPromise"]`, this is
// considered an access to the string index, and a Promise is expected.
bag.iAmAPromise;
  • #​7415 d042f18 Thanks @​qraqras! - Fixed #​7212, now the useOptionalChain rule recognizes optional chaining using
    typeof (e.g., typeof foo !== 'undefined' && foo.bar).

  • #​7419 576baf4 Thanks @​Conaclos! - Fixed #​7323. noUnusedPrivateClassMembers no longer reports as unused TypeScript
    private members if the rule encounters a computed access on this.

    In the following example, member as previously reported as unused. It is no longer reported.

    class TsBioo {
      private member: number;
    
      set_with_name(name: string, value: number) {
        this[name] = value;
      }
    }
  • 351bccd Thanks @​ematipico! - Added the new nursery lint rule
    noJsxLiterals, which disallows the use of string literals inside JSX.

    The rule catches these cases:

    <>
      <div>test</div> {/* test is invalid */}
      <>test</>
      <div>
        {/* this string is invalid */}
        asdjfl test foo
      </div>
    </>
  • #​7406 b906112 Thanks @​mdevils! - Fixed an issue (#​6393) where the useHookAtTopLevel rule reported excessive diagnostics for nested hook calls.

    The rule now reports only the offending top-level call site, not sub-hooks of composite hooks.

    // Before: reported twice (useFoo and useBar).
    function useFoo() {
      return useBar();
    }
    function Component() {
      if (cond) useFoo();
    }
    // After: reported once at the call to useFoo().
  • #​7461 ea585a9 Thanks @​arendjr! - Improved performance of
    noPrivateImports by eliminating allocations.

    In one repository, the total runtime of Biome with only noPrivateImports enabled went from ~3.2s down to ~1.4s.

  • 351bccd Thanks @​ematipico! - Fixed #​7411. The Biome Language Server had a regression where opening an editor with a file already open wouldn't load the project settings correctly.

  • #​7142 53ff5ae Thanks @​Netail! - Added the new nursery rule noDuplicateDependencies, which verifies that no dependencies are duplicated between the
    bundledDependencies, bundleDependencies, dependencies, devDependencies, overrides,
    optionalDependencies, and peerDependencies sections.

    For example, the following snippets will trigger the rule:

    {
      "dependencies": {
        "foo": ""
      },
      "devDependencies": {
        "foo": ""
      }
    }
    {
      "dependencies": {
        "foo": ""
      },
      "optionalDependencies": {
        "foo": ""
      }
    }
    {
      "dependencies": {
        "foo": ""
      },
      "peerDependencies": {
        "foo": ""
      }
    }
  • 351bccd Thanks @​ematipico! - Fixed #​3824. Now the option CLI
    --color is correctly applied to logging too.


Configuration

📅 Schedule: Branch creation - "before 9am on monday" in timezone Europe/Zurich, 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.


  • 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 requested review from a team and nhedger as code owners September 15, 2025 02:14
@siketyan siketyan merged commit 3380f99 into main Sep 15, 2025
2 checks passed
@siketyan siketyan deleted the renovate/biomejs-biome-2.x branch September 15, 2025 05:45
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.

1 participant