Skip to content

chore: update @biomejs/biome 1.9.2 → 1.9.4 (patch)

Depfu Bot requested to merge depfu-update-pnpm-biomejs-biome-1.9.4 into main

Here is everything you need to know about this update. Please take a good look at what changed and the test results before merging this pull request.

What changed?

️ @​biomejs/biome (1.9.2 → 1.9.4) · Repo · Changelog
Release Notes

1.9.4 (from changelog)

Analyzer

Bug fixes

  • Implement GraphQL suppression action. Contributed by @vohoanglong0107

  • Improved the message for unused suppression comments. Contributed by @dyc3

  • Fix #4228, where the rule a11y/noInteractiveElementToNoninteractiveRole incorrectly reports a role for non-interactive elements. Contributed by @eryue0220

  • noSuspiciousSemicolonInJsx now catches suspicious semicolons in React fragments. Contributed by @vasucp1207

CLI

Enhancements

  • The --summary reporter now reports parsing diagnostics too. Contributed by @ematipico

  • Improved performance of GritQL queries by roughly 25-30%. Contributed by @arendjr

Configuration

Bug fixes

  • Fix an issue where the JSON schema marked lint rules options as mandatory. Contributed by @ematipico

Editors

Formatter

Bug fixes

  • Fix #4121. Respect line width when printing multiline strings. Contributed by @ah-yu

JavaScript APIs

Linter

New features

Bug Fixes

  • Biome no longer crashes when it encounters a string that contain a multibyte character (#4181).

    This fixes a regression introduced in Biome 1.9.3 The regression affected the following linter rules:

    • nursery/useSortedClasses
    • nursery/useTrimStartEnd
    • style/useTemplate
    • suspicious/noMisleadingCharacterClass

    Contributed by @Conaclos

  • Fix #4190, where the rule noMissingVarFunction wrongly reported a variable as missing when used inside a var() function that was a newline. Contributed by @ematipico

  • Fix #4041. Now the rule useSortedClasses won't be triggered if className is composed only by inlined variables. Contributed by @ematipico

  • useImportType and useExportType now report useless inline type qualifiers (#4178).

    The following fix is now proposed:

    - import type { type A, B } from "";
    + import type { A, B } from "";

- export type { type C, D };
+ export type { C, D };

Contributed by @Conaclos

useExportType now reports ungrouped export from.

The following fix is now proposed:

- export { type A, type B } from "";
+ export type { A, B } from "";

Contributed by @Conaclos

noVoidTypeReturn now accepts void expressions in return position (#4173).

The following code is now accepted:

function f(): void {
  return void 0;
}

Contributed by @Conaclos

noUselessFragments now correctly handles fragments containing HTML escapes (e.g.  ) inside expression escapes { ... } (#4059).

The following code is no longer reported:

function Component() {
  return (
    <div key={index}>{line || <>&nbsp;</>}</div>
  )
}

Contributed by @fireairforce

noUnusedFunctionParameters and noUnusedVariables no longer reports a parameter as unused when another parameter has a constructor type with the same parameter name (#4227).

In the following code, the name parameter is no longer reported as unused.

export class Foo {
  bar(name: string, _class: new (name: string) => any) {
    return name
  }
}

Contributed by @Conaclos

noUndeclaredDependencies now accepts dependency names with dots. Contributed by @Conaclos

useFilenamingConvention now correctly handles renamed exports (#4254).

The rule allows the filename to be named as one of the exports of the module. For instance, the file containing the following export can be named Button.

class Button {}
export { Button }

The rule now correctly handles the renaming of an export. For example, the file containing the following export can only be named Button. Previously the rule expected the file to be named A.

class A {}
export { A as Button }

Contributed by @Conaclos

useConsistentMemberAccessibility now ignore private class members such as #property (#4276). Contributed by @Conaclos

noUnknownFunction correctly handles calc-size function (#4212).

The following code calc-size is no longer reported as unknown:

.a { height: calc-size(0px); }

Contributed by @fireairforce

useNamingConvention now allows configuring conventions for readonly index signatures.

Contributed by @sepruko

  • noDuplicateCustomProperties now correctly handles custom properties and ignores non-custom properties. Previously, the rule incorrectly reported duplicates for all properties, including non-custom ones. Contributed by @togami2864

Parser

Bug Fixes

  • The CSS parser now accepts more emoji in identifiers (#3627).

    Browsers accept more emoji than the standard allows. Biome now accepts these additional emojis.

    The following code is now correctly parsed:

    p {
      ---color: red;
      color: var(--✨-color);
    }

    Contributed by @Conaclos

  • Add support for parsing typescript's resolution-mode in Import Types(#2115)

    export type Fs = typeof import('fs', { with: { 'resolution-mode': 'import' } });
    export type TypeFromRequire =
      import("pkg", { with: { "resolution-mode": "require" } }).TypeFromRequire;
    export type TypeFromImport =
      import("pkg", { with: { "resolution-mode": "import" } }).TypeFromImport;

    Contributed by @fireairforce

1.9.3 (from changelog)

CLI

New features

  • GritQL queries that match functions or methods will now match async functions or methods as well.

    If this is not what you want, you can capture the async keyword (or its absence) in a metavariable and assert its emptiness:

    $async function foo() {} where $async <: .

    Contributed by @arendjr

Bug fixes

  • Fix #4077: Grit queries no longer need to match the statement's trailing semicolon. Contributed by @arendjr

  • Fix #4102. Now the CLI command lint doesn't exit with an error code when using --write/--fix. Contributed by @ematipico

Configuration

Bug fixes

  • Fix #4125, where noLabelWithoutControl options where incorrectly marked as mandatory. Contributed by @ematipico

Editors

  • Fix a case where CSS files weren't correctly linted using the default configuration. Contributed by @ematipico

Formatter

Bug fixes

  • Fix #3924 where GraphQL formatter panics in block comments with empty line. Contributed by @vohoanglong0107

  • Fix a case where raw values inside url() functions weren't properly trimmed.

    .value {
    -  background: url(
    -   whitespace-around-string
    -  );
    + background: url(whitespace-around-string);
    }

    Contributed by @ematipico

  • Fixed #4076, where a media query wasn't correctly formatted:

    .class {
    -  @media (1024px <= width <=1280px) {
    +  @media (1024px <= width <= 1280px) {
       color: red;
       }
    }

    Contributed by @blaze-d83

JavaScript API

Bug fixes

  • Fix #3881, by updating the APIs to use the latest WASM changes. Contributed by @ematipico

Linter

New features

Enhancements

Bug fixes

Parser

Bug fixes

  • Forbid undefined as type name for typescript parser. Contributed by @fireairforce

Does any of this look wrong? Please let us know.


Depfu Status

Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with @depfu rebase.

All Depfu comment commands
@​depfu rebase
Rebases against your default branch and redoes this update
@​depfu recreate
Recreates this PR, overwriting any edits that you've made to it
@​depfu merge
Merges this PR once your tests are passing and conflicts are resolved
@​depfu cancel merge
Cancels automatic merging of this PR
@​depfu close
Closes this PR and deletes the branch
@​depfu reopen
Restores the branch and reopens this PR (if it's closed)
@​depfu pause
Ignores all future updates for this dependency and closes this PR
@​depfu pause [minor|major]
Ignores all future minor/major updates for this dependency and closes this PR
@​depfu resume
Future versions of this dependency will create PRs again (leaves this PR as is)
Go to the Depfu Dashboard to see the state of your dependencies and to customize how Depfu works.

Merge request reports

Loading