Skip to content

Commit

Permalink
Update dependency @biomejs/biome to v1.8.0 (#3862)
Browse files Browse the repository at this point in the history
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@biomejs/biome](https://biomejs.dev)
([source](https://togithub.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome))
| [`1.7.3` ->
`1.8.0`](https://renovatebot.com/diffs/npm/@biomejs%2fbiome/1.7.3/1.8.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@biomejs%2fbiome/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@biomejs%2fbiome/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@biomejs%2fbiome/1.7.3/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@biomejs%2fbiome/1.7.3/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>biomejs/biome (@&#8203;biomejs/biome)</summary>

###
[`v1.8.0`](https://togithub.com/biomejs/biome/blob/HEAD/CHANGELOG.md#180-2024-06-04)

[Compare
Source](https://togithub.com/biomejs/biome/compare/b9f90b7ee63506a1995bc29f4e389efec25a1525...378c05edd47608a1b8cba725564c807b2e772bd6)

##### Analyzer

##### New features

- Allow suppression comments to suppress individual instances of rules.
This is
used for the lint rule `useExhaustiveDependencies`, which is now able to
suppress specific dependencies. Fixes
[#&#8203;2509](https://togithub.com/biomejs/biome/issues/2509).
Contributed by [@&#8203;arendjr](https://togithub.com/arendjr)

##### Enhancements

- Assume `Astro` object is always a global when processing `.astro`
files. Contributed by [@&#8203;minht11](https://togithub.com/minht11)
- Assume Vue compiler macros are globals when processing `.vue` files.
([#&#8203;2771](https://togithub.com/biomejs/biome/pull/2771))
Contributed by [@&#8203;dyc3](https://togithub.com/dyc3)

##### CLI

##### New features

- New `clean` command. Use this new command to clean after the
`biome-logs` directory, and remove all the log files.

    ```shell
    biome clean
    ```

- Add two new options `--only` and `--skip` to the command `biome lint`
([#&#8203;58](https://togithub.com/biomejs/biome/issues/58)).

    The `--only` option allows you to run a given rule or rule group,
For example, the following command runs only the
`style/useNamingConvention` and `style/noInferrableTypes` rules.
If the rule is disabled in the configuration, then its severity level is
set to `error` for a recommended rule or `warn` otherwise.

    ```shell
biome lint --only=style/useNamingConvention
--only=style/noInferrableTypes
    ```

Passing a group does not change the severity level of the rules in the
group.
    All the disabled rules in the group will remain disabled.
To ensure that the group is run, the `recommended` field of the group is
enabled.
The `nursery` group cannot be passed, as no rules are enabled by default
in the nursery group.

The `--skip` option allows you to skip the execution of a given group or
a given rule.
For example, the following command skips the `style` group and the
`suspicious/noExplicitAny` rule.

    ```shell
    biome lint --skip=style --skip=suspicious/noExplicitAny
    ```

You can also use `--only` and `--skip` together. `--skip` oevrrides
`--only`.
The following command executes only the rules from the `style` group,
but the `style/useNamingConvention` rule.

    ```shell
    biome lint --only=style --skip=style/useNamingConvention
    ```

These options are compatible with other options such as `--write`
(previously `--apply`), and `--reporter`.

    Contributed by [@&#8203;Conaclos](https://togithub.com/Conaclos)

- Add new command `biome clean`. Use this command to purge all the logs
emitted by the Biome daemon. This command is really useful, because the
Biome daemon tends
log many files and contents during its lifecycle. This means that if
your editor is open for hours (or even days), the `biome-logs` folder
could become quite heavy. Contributed by
[@&#8203;ematipico](https://togithub.com/ematipico)

- Add support for formatting and linting CSS files from the CLI. These
operations are **opt-in** for the time being.

If you don't have a configuration file, you can enable these features
with `--css-formatter-enabled` and `--css-linter-enabled`:

    ```shell
biome check --css-formatter-enabled=true --css-linter-enabled=true ./
    ```

    Contributed by [@&#8203;ematipico](https://togithub.com/ematipico)

- Add new CLI options to control the CSS formatting. Check the [CLI
reference page](https://biomejs.dev/reference/cli/) for more details.
Contributed by [@&#8203;ematipico](https://togithub.com/ematipico)

- Add new options `--write`, `--fix` (alias of `--write`) and `--unsafe`
to the command `biome lint` and `biome check`.
Add a new option `--fix` (alias of `--write`) to the command `biome
format` and `biome migrate`.

    ```shell
    biome <lint|check> --<write|fix> [--unsafe]
    biome format --<write|fix>
    biome migrate --<write|fix>
    ```

The `biome <lint|check> --<write|fix>` has the same behavior as `biome
<lint|check> --apply`.
The `biome <lint|check> --<write|fix> --unsafe` has the same behavior as
`biome <lint|check> --apply-unsafe`.
The `biome format --fix` has the same behavior as `biome format
--write`.
The `biome migrate --fix` has the same behavior as `biome migrate
--write`.

This change allows these commands to write modifications in the same
options.
With this change, the `--apply` and `--apply-unsafe` options are
deprecated.

    Contributed by [@&#8203;unvalley](https://togithub.com/unvalley)

##### Enhancements

- Biome now executes commands (lint, format, check and ci) on the
working directory by default.
[#&#8203;2266](https://togithub.com/biomejs/biome/issues/2266)
Contributed by [@&#8203;unvalley](https://togithub.com/unvalley)

    ```diff
    - biome check .
    + biome check    # You can run the command without the path
    ```

- `biome migrate eslint` now tries to convert ESLint ignore patterns
into Biome ignore patterns.

ESLint uses [gitignore
patterns](https://git-scm.com/docs/gitignore#\_pattern_format).
Biome now tries to convert these patterns into Biome ignore patterns.

For example, the gitignore pattern `/src` is a relative path to the file
in which it appears.
    Biome now recognizes this and translates this pattern to `./src`.

    Contributed by [@&#8203;Conaclos](https://togithub.com/Conaclos)

- `biome migrate eslint` now supports the `eslintIgnore` field in
`package.json`.

ESLint allows the use of `package.json` as an ESLint configuration file.
    ESLint supports two fields: `eslintConfig` and `eslintIgnore`.
    Biome only supported the former. It now supports both.

    Contributed by [@&#8203;Conaclos](https://togithub.com/Conaclos)

-   `biome migrate eslint` now propagates NodeJS errors to the user.

This will help users to identify why Biome is unable to load some ESLint
configurations.

    Contributed by [@&#8203;Conaclos](https://togithub.com/Conaclos)

- Add a new `--reporter` called `summary`. This reporter will print
diagnostics in a different way, based on the tools (formatter, linter,
etc.) that are executed.
Import sorting and formatter shows the name of the files that require
formatting. Instead, the linter will group the number of rules triggered
and the number of errors/warnings:

Formatter
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
        The following files needs to be formatted:
        main.ts
        index.ts

Organize Imports
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
        The following files needs to have their imports sorted:
        main.ts
        index.ts

Analyzer
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
        Some analyzer rules were triggered

Rule Name Diagnostics
lint/suspicious/noImplicitAnyLet 12 (12 error(s), 0 warning(s), 0
info(s))
lint/suspicious/noDoubleEquals 8 (8 error(s), 0 warning(s), 0 info(s))
lint/suspicious/noRedeclare 12 (12 error(s), 0 warning(s), 0 info(s))
lint/suspicious/noDebugger 20 (20 error(s), 0 warning(s), 0 info(s))

    Contributed by [@&#8203;ematipico](https://togithub.com/ematipico)

- `biome ci` now enforces printing the output using colours. If you were
previously using `--colors=force`, you can remove it because it's
automatically set. Contributed by
[@&#8203;ematipico](https://togithub.com/ematipico)

- Add a new `--reporter` called `github`. This reporter will print
diagnostics using [GitHub workflow
commands](https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#about-workflow-commands):

::error
title=lint/suspicious/noDoubleEquals,file=main.ts,line=4,endLine=4,col=3,endColumn=5::Use
=== instead of ==
::error
title=lint/suspicious/noDebugger,file=main.ts,line=6,endLine=6,col=1,endColumn=9::This
is an unexpected use of the debugger statement.
::error
title=lint/nursery/noEvolvingAny,file=main.ts,line=8,endLine=8,col=5,endColumn=6::This
variable's type is not allowed to evolve implicitly, leading to
potential any types.

    Contributed by [@&#8203;ematipico](https://togithub.com/ematipico)

- Add a new `--reporter` called `junit`. This reporter will print
diagnostics using [GitHub workflow
commands](https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#about-workflow-commands):

    ```xml
    <?xml version="1.0" encoding="UTF-8"?>
<testsuites name="Biome" tests="16" failures="16" errors="20"
time="<TIME>">
<testsuite name="main.ts" tests="1" disabled="0" errors="0" failures="1"
package="org.biome">
<testcase name="org.biome.lint.suspicious.noDoubleEquals" line="4"
column="3">
<failure message="Use === instead of ==. == is only allowed when
comparing against `null`">line 3, col 2, Use === instead of ==. == is
only allowed when comparing against `null`</failure>
          </testcase>
      </testsuite>
<testsuite name="main.ts" tests="1" disabled="0" errors="0" failures="1"
package="org.biome">
<testcase name="org.biome.lint.suspicious.noDebugger" line="6"
column="1">
<failure message="This is an unexpected use of the debugger
statement.">line 5, col 0, This is an unexpected use of the debugger
statement.</failure>
          </testcase>
      </testsuite>
<testsuite name="main.ts" tests="1" disabled="0" errors="0" failures="1"
package="org.biome">
<testcase name="org.biome.lint.nursery.noEvolvingAny" line="8"
column="5">
<failure message="This variable&apos;s type is not allowed to evolve
implicitly, leading to potential any types.">line 7, col 4, This
variable&apos;s type is not allowed to evolve implicitly, leading to
potential any types.</failure>
          </testcase>
      </testsuite>
    </testsuites>
    ```

    Contributed by [@&#8203;ematipico](https://togithub.com/ematipico)

##### Bug fixes

- Fix [#&#8203;3024](https://togithub.com/biomejs/biome/issues/3024),
where running `biome init` would create `biome.json` even if
`biome.jsonc` already exists. Contributed by
[@&#8203;minht11](https://togithub.com/minht11)

##### Configuration

##### New features

- Add an rule option `fix` to override the code fix kind of a rule
([#&#8203;2882](https://togithub.com/biomejs/biome/issues/2882)).

    A rule can provide a safe or an **unsafe** code **action**.
You can now tune the kind of code actions thanks to the `fix` option.
    This rule option takes a value among:

    -   `none`: the rule no longer emits code actions.
    -   `safe`: the rule emits safe code action.
    -   `unsafe`: the rule emits unsafe code action.

The following configuration disables the code actions of
`noUnusedVariables`, makes the emitted code actions of `style/useConst`
and `style/useTemplate` unsafe and safe respectively.

    ```json
    {
      "linter": {
        "rules": {
          "correctness": {
            "noUnusedVariables": {
              "level": "error",
              "fix": "none"
            },
            "style": {
              "useConst": {
                "level": "warn",
                "fix": "unsafe"
              },
              "useTemplate": {
                "level": "warn",
                "fix": "safe"
              }
            }
          }
        }
      }
    }
    ```

    Contributed by [@&#8203;Conaclos](https://togithub.com/Conaclos)

- Add option `javascript.linter.enabled` to control the linter for
JavaScript (and its super languages) files. Contributed by
[@&#8203;ematipico](https://togithub.com/ematipico)

- Add option `json.linter.enabled` to control the linter for JSON (and
its super languages) files. Contributed by
[@&#8203;ematipico](https://togithub.com/ematipico)

- Add option `css.linter.enabled` to control the linter for CSS (and its
super languages) files. Contributed by
[@&#8203;ematipico](https://togithub.com/ematipico)

- Add option `css.formatter`, to control the formatter options for CSS
(and its super languages) files. Contributed by
[@&#8203;ematipico](https://togithub.com/ematipico)

- You can now change the severity of lint rules down to `"info"`. The
`"info"` severity doesn't emit error codes, and it isn't affected by
other options like `--error-on-warnings`:

    ```json
    {
      "linter": {
        "rules": {
          "suspicious": {
            "noDebugger": "info"
          }
        }
      }
    }
    ```

    Contributed by [@&#8203;ematipico](https://togithub.com/ematipico)

##### Enhancements

- The `javascript.formatter.trailingComma` option is deprecated and
renamed to `javascript.formatter.trailingCommas`. The corresponding CLI
option `--trailing-comma` is also deprecated and renamed to
`--trailing-commas`. Details can be checked in
[#&#8203;2492](https://togithub.com/biomejs/biome/pull/2492).
Contributed by [@&#8203;Sec-ant](https://togithub.com/Sec-ant)

##### Bug fixes

- Fix a bug where if the formatter was disabled at the language level,
it could be erroneously enabled by an
override that did not specify the formatter section
[#&#8203;2924](https://togithub.com/biomejs/biome/issues/2924).
Contributed by [@&#8203;dyc3](https://togithub.com/dyc3)
- Fix [#&#8203;2990](https://togithub.com/biomejs/biome/issues/2990),
now Biome doesn't add a trailing comma when formatting `biome.json`.
Contributed by [@&#8203;dyc3](https://togithub.com/dyc3)

##### Editors

##### New features

-   Add support for LSP Workspaces

##### Enhancements

- The LSP doesn't crash anymore when the configuration file contains
errors. If the configuration contains errors, Biome now shows a pop-up
to the user, and it will only parse files using the default
configuration.
Formatting and linting is disabled until the configuration file is
fixed. Contributed by
[@&#8203;ematipico](https://togithub.com/ematipico)

##### Bug fixes

- Fixes [#&#8203;2781](https://togithub.com/biomejs/biome/issues/2781),
by correctly computing the configuration to apply to a specific file.
Contributed by [@&#8203;ematipico](https://togithub.com/ematipico)

##### Formatter

##### Bug fixes

- Fix [#&#8203;2470](https://togithub.com/biomejs/biome/issues/2470) by
avoid introducing linebreaks in single line string interpolations.
Contributed by [@&#8203;ah-yu](https://togithub.com/ah-yu)
- Resolve deadlocks by narrowing the scope of locks. Contributed by
[@&#8203;mechairoi](https://togithub.com/mechairoi)
- Fix [#&#8203;2782](https://togithub.com/biomejs/biome/issues/2782) by
computing the enabled rules by taking the override settings into
consideration. Contributed by
[@&#8203;ematipico](https://togithub.com/ematipico)
- Fix
\[biomejs/biome#2877]
by correctly handling line terminators in JSX string. Contributed by
[@&#8203;ah-yu](https://togithub.com/ah-yu)

##### JavaScript APIs

##### Linter

##### Promoted rules

New rules are incubated in the nursery group. Once stable, we promote
them to a stable group. The following rules are promoted:

-
[useImportRestrictions](https://biomejs.dev/linter/rules/use-import-restrictions/)
- [noNodejsModules](https://biomejs.dev/linter/rules/no-nodejs-modules/)
-
[useArrayLiterals](https://biomejs.dev/linter/rules/use-array-literals/)
-
[noConstantMathMinMaxClamp](https://biomejs.dev/linter/rules/no-constant-math-min-max-clamp/)
-
[noFlatMapIdentity](https://biomejs.dev/linter/rules/no-flat-map-identity/)

##### New features

- Add
[nursery/useDateNow](https://biomejs.dev/linter/rules/use-date-now/).
Contributed by [@&#8203;minht11](https://togithub.com/minht11)

- Add
[nursery/useErrorMessage](https://biomejs.dev/linter/rules/use_error_message/).
Contributed by [@&#8203;minht11](https://togithub.com/minht11)

- Add
[nursery/useThrowOnlyError](https://biomejs.dev/linter/rules/use_throw_only_error/).
Contributed by [@&#8203;minht11](https://togithub.com/minht11)

- Add
[nursery/useImportExtensions](https://biomejs.dev/linter/rules/use-import-extensions/).
Contributed by [@&#8203;minht11](https://togithub.com/minht11)

-
[useNamingConvention](https://biomejs.dev/linter/rules/use-naming-convention/)
now supports an option to enforce custom conventions
([#&#8203;1900](https://togithub.com/biomejs/biome/issues/1900)).

For example, you can enforce the use of a prefix for private class
members:

    ```json
    {
    	"linter": {
    		"rules": {
    			"style": {
    				"useNamingConvention": {
    					"level": "error",
    					"options": {
    						"conventions": [
    							{
    								"selector": {
    									"kind": "classMember",
    									"modifiers": ["private"]
    								},
    								"match": "_(.*)",
                    "formats": ["camelCase"]
    							}
    						]
    					}
    				}
    			}
    		}
    	}
    }
    ```

Please, find more details in the [rule
documentation](https://biomejs.dev/linter/rules/use-naming-convention/#options).

    Contributed by [@&#8203;Conaclos](https://togithub.com/Conaclos)

- Add
[nursery/useNumberToFixedDigitsArgument](https://biomejs.dev/linter/rules/use-number-to-fixed-digits-argument/).
    Contributed by [@&#8203;minht11](https://togithub.com/minht11)

- Add
[nursery/useThrowNewError](https://biomejs.dev/linter/rules/use-throw-new-error/).
    Contributed by [@&#8203;minht11](https://togithub.com/minht11)

- Add
[nursery/useTopLevelRegex](https://biomejs.dev/linter/rules/use-top-level-regex),
which enforces defining regular expressions at the top level of a
module. [#&#8203;2148](https://togithub.com/biomejs/biome/issues/2148)
Contributed by [@&#8203;dyc3](https://togithub.com/dyc3).

- Add
[nursery/noCssEmptyBlock](https://biomejs.dev/linter/rules/no-css-empty-block).
[#&#8203;2513](https://togithub.com/biomejs/biome/pull/2513) Contributed
by [@&#8203;togami2864](https://togithub.com/togami2864)

- Add
[nursery/noDuplicateAtImportRules](https://biomejs.dev/linter/rules/no-duplicate-at-import-rules).
[#&#8203;2658](https://togithub.com/biomejs/biome/pull/2658) Contributed
by [@&#8203;DerTimonius](https://togithub.com/DerTimonius)

- Add
[nursery/noDuplicateFontNames](https://biomejs.dev/linter/rules/no-duplicate-font-names).
[#&#8203;2308](https://togithub.com/biomejs/biome/pull/2308) Contributed
by [@&#8203;togami2864](https://togithub.com/togami2864)

- Add
[nursery/noDuplicateSelectorsKeyframeBlock](https://biomejs.dev/linter/rules/no-duplicate-selectors-keyframe-block).
[#&#8203;2534](https://togithub.com/biomejs/biome/pull/2534) Contributed
by [@&#8203;isnakode](https://togithub.com/isnakode)

- Add
[nursery/noImportantInKeyframe](https://biomejs.dev/linter/rules/no-important-in-keyframe).
[#&#8203;2542](https://togithub.com/biomejs/biome/pull/2542) Contributed
by [@&#8203;isnakode](https://togithub.com/isnakode)

- Add
[nursery/noInvalidPositionAtImportRule](https://biomejs.dev/linter/rules/no-invalid-position-at-import-rule).
[#&#8203;2717](https://togithub.com/biomejs/biome/issues/2717)
Contributed by [@&#8203;t-shiratori](https://togithub.com/t-shiratori)

- Add
[nursery/noUnknownFunction](https://biomejs.dev/linter/rules/no-unknown-function).
[#&#8203;2570](https://togithub.com/biomejs/biome/pull/2570) Contributed
by [@&#8203;neokidev](https://togithub.com/neokidev)

- Add
[nursery/noUnknownMediaFeatureName](https://biomejs.dev/linter/rules/no-unknown-media-feature-name).
[#&#8203;2751](https://togithub.com/biomejs/biome/issues/2751)
Contributed by
[@&#8203;Kazuhiro-Mimaki](https://togithub.com/Kazuhiro-Mimaki)

- Add
[nursery/noUnknownProperty](https://biomejs.dev/linter/rules/no-unknown-property).
[#&#8203;2755](https://togithub.com/biomejs/biome/pull/2755) Contributed
by [@&#8203;chansuke](https://togithub.com/chansuke)

- Add
[nursery/noUnknownSelectorPseudoElement](https://biomejs.dev/linter/rules/no-unknown-selector-pseudo-element).
[#&#8203;2655](https://togithub.com/biomejs/biome/issues/2655)
Contributed by [@&#8203;keita-hino](https://togithub.com/keita-hino)

- Add
[nursery/noUnknownUnit](https://biomejs.dev/linter/rules/no-unknwon-unit).
[#&#8203;2535](https://togithub.com/biomejs/biome/issues/2535)
Contributed by [@&#8203;neokidev](https://togithub.com/neokidev)

- Add
[nursery/noUnmatchableAnbSelector](https://biomejs.dev/linter/rules/no-unmatchable-anb-selector).
[#&#8203;2706](https://togithub.com/biomejs/biome/issues/2706)
Contributed by [@&#8203;togami2864](https://togithub.com/togami2864)

- Add
[nursery/useGenericFontNames](https://biomejs.dev/linter/rules/use-generic-font-names).
[#&#8203;2573](https://togithub.com/biomejs/biome/pull/2573) Contributed
by [@&#8203;togami2864](https://togithub.com/togami2864)

- Add
[nursery/noYodaExpression](https://biomejs.dev/linter/rules/no-yoda-expression/).
Contributed by [@&#8203;michellocana](https://togithub.com/michellocana)

- Add
[nursery/noUnusedFunctionParameters](https://biomejs.dev/linter/rules/no-unused-function-parameters/)
Contributed by [@&#8203;printfn](https://togithub.com/printfn)

##### Enhancements

- Add a code action for
[noConfusingVoidType](https://biomejs.dev/linter/rules/no-confusing-void-type/)
and improve the diagnostics.

The rule now suggests using `undefined` instead of `void` in confusing
places.
    The diagnosis is also clearer.

    Contributed by [@&#8203;Conaclos](https://togithub.com/Conaclos)

- Improve code action for
[nursery/noUselessUndefinedInitialization](https://biomejs.dev/linter/rules/no-useless-undefined-initialization/)
to handle comments.

The rule now places inline comments after the declaration statement,
instead of removing them.
    The code action is now safe to apply.

    Contributed by [@&#8203;lutaok](https://togithub.com/lutaok)

- Make
[useExhaustiveDependencies](https://biomejs.dev/linter/rules/use-exhaustive-dependencies/)
report duplicate dependencies. Contributed by
[@&#8203;tunamaguro](https://togithub.com/tunamaguro)

- Rename `noEvolvingAny` into `noEvolvingTypes`
([#&#8203;48](https://togithub.com/biomejs/website/issues/48)).
Contributed by [@&#8203;Conaclos](https://togithub.com/Conaclos)

##### Bug fixes

-
[noUndeclaredVariables](https://biomejs.dev/linter/rules/no-undeclared-variables/)
and
[noUnusedImports](https://biomejs.dev/linter/rules/no-unused-imports)
now correctly handle import namespaces
([#&#8203;2796](https://togithub.com/biomejs/biome/issues/2796)).

    Previously, Biome bound unqualified type to import namespaces.
Import namespaces can only be used as qualified names in a type
(ambient) context.

    ```ts
    // Unused import
    import * as Ns1 from "";
    // This doesn't reference the import namespace `Ns1`
    type T1 = Ns1; // Undeclared variable `Ns1`

    // Unused import
    import type * as Ns2 from "";
    // This doesn't reference the import namespace `Ns2`
    type T2 = Ns2; // Undeclared variable `Ns2`

    import type * as Ns3 from "";
// This references the import namespace because it is a qualified name.
    type T3 = Ns3.Inner;
    // This also references the import namespace.
    export type { Ns3 }
    ```

    Contributed by [@&#8203;Conaclos](https://togithub.com/Conaclos)

-
[noUndeclaredVariables](https://biomejs.dev/linter/rules/no-undeclared-variables/)
now correctly handle ambient computed member names
([#&#8203;2975](https://togithub.com/biomejs/biome/issues/2975)).

A constant can be imported as a type and used in a computed member name
of a member signature.
Previously, Biome was unable to bind the value imported as a type to the
computed member name.

    ```ts
    import type { NAME } from "./constants.js";
    type X = { [NAME]: number };
    ```

    Contributed by [@&#8203;Conaclos](https://togithub.com/Conaclos)

-
[noUndeclaredVariables](https://biomejs.dev/linter/rules/no-undeclared-variables/)
now ignores `this` in JSX components
([#&#8203;2636](https://togithub.com/biomejs/biome/issues/2636)).

    The rule no longer reports `this` as undeclared in following code.

    ```jsx
    import { Component } from 'react';

    export class MyComponent extends Component {
      render() {
        return <this.foo />
      }
    }
    ```

Contributed by [@&#8203;printfn](https://togithub.com/printfn) and
[@&#8203;Conaclos](https://togithub.com/Conaclos)

- `useJsxKeyInIterable` now handles more cases involving fragments. See
the snippets below. Contributed by
[@&#8203;dyc3](https://togithub.com/dyc3)

```jsx
// valid
[].map((item) => {
	return <>{item.condition ? <div key={item.id} /> : <div key={item.id}>foo</div>}</>;
});

// invalid
[].map((item) => {
	return <>{item.condition ? <div /> : <div>foo</div>}</>;
});
```

- `noExcessiveNestedTestSuites` no longer erroneously alerts on
`describe` calls that are not invoking the global `describe` function.
[#&#8203;2599](https://togithub.com/biomejs/biome/issues/2599)
Contributed by [@&#8203;dyc3](https://togithub.com/dyc3)

```js
// now valid
z.object({})
  .describe('')
  .describe('')
  .describe('')
  .describe('')
  .describe('')
  .describe('');
```

- `noEmptyBlockStatements` no longer reports empty constructors using
typescript parameter properties.
[#&#8203;3005](https://togithub.com/biomejs/biome/issues/3005)
Contributed by [@&#8203;dyc3](https://togithub.com/dyc3)

- `noEmptyBlockStatements` no longer reports empty private or protected
constructors. Contributed by [@&#8203;dyc3](https://togithub.com/dyc3)

-
[noExportsInTest](https://biomejs.dev/linter/rules/no-exports-in-test/)
rule no longer treats files with in-source testing as test files
[biomejs/biome#2859.
Contributed by [@&#8203;ah-yu](https://togithub.com/ah-yu)

-
[useSortedClasses](https://biomejs.dev/linter/rules/use-sorted-classes/)
now keeps leading and trailing spaces when applying the code action
inside template literals:

        i Unsafe fix: Sort the classes.

          1 1 │   <>
          2   │ - → <div·class={`${variable}·px-2·foo·p-4·bar`}/>
            2 │ + → <div·class={`${variable}·foo·bar·p-4·px-2`}/>
          3 3 │   	<div class={`px-2 foo p-4 bar ${variable}`}/>
          4 4 │   </>

-
[noUndeclaredDependencies](https://biomejs.dev/linter/rules/no-undeclared-dependencies/)
is correctly triggered when running `biome ci`. Contributed by
[@&#8203;ematipico](https://togithub.com/ematipico)

-
[noUnusedVariables](https://biomejs.dev/linter/rules/no-unused-variables/)
no longer panics when a certain combination of characters is typed.
Contributed by [@&#8203;ematipico](https://togithub.com/ematipico)

-
[noUndeclaredVariables](https://biomejs.dev/linter/rules/no-undeclared-variables/)
no logger alerts on `arguments` object in a function scope. Contributed
by [@&#8203;ah-yu](https://togithub.com/ah-yu)

##### Parser

##### Enhancements

- `lang="tsx"` is now supported in Vue Single File Components.
[#&#8203;2765](https://togithub.com/biomejs/biome/issues/2765)
Contributed by [@&#8203;dyc3](https://togithub.com/dyc3)

##### Bug fixes

- The `const` modifier for type parameters is now accepted for
TypeScript `new` signatures
([#&#8203;2825](https://togithub.com/biomejs/biome/issues/2825)).

    The following code is now correctly parsed:

    ```ts
    interface I {
      new<const T>(x: T): T
    }
    ```

    Contributed by [@&#8203;Conaclos](https://togithub.com/Conaclos)

-   Some invalid TypeScript syntax caused the Biome parser to crash.

The following invalid syntax no longer causes the Biome parser to crash:

    ```ts
    declare using x: null;
    declare qwait using x: null;
    ```

    Contributed by [@&#8203;Conaclos](https://togithub.com/Conaclos)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/ariakit/ariakit).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zODguMSIsInVwZGF0ZWRJblZlciI6IjM3LjM4OC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
  • Loading branch information
renovate[bot] committed Jun 4, 2024
1 parent 5568f4a commit d52c529
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 37 deletions.
81 changes: 45 additions & 36 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@
"@babel/preset-react": "7.24.6",
"@babel/preset-typescript": "7.24.6",
"@babel/types": "7.24.6",
"@biomejs/biome": "1.7.3",
"@biomejs/biome": "1.8.0",
"@changesets/cli": "2.26.2",
"@clerk/clerk-react": "4.32.1",
"@clerk/nextjs": "4.31.1",
Expand Down

0 comments on commit d52c529

Please sign in to comment.