biomejs/biome (@biomejs/biome)
### [`v1.9.3`](https://redirect.github.com/biomejs/biome/blob/HEAD/CHANGELOG.md#v193-2024-10-01)
[Compare Source](https://redirect.github.com/biomejs/biome/compare/5f2287e005eadb261a4c78e4ec0fdc0d46068551...3d498ed6399dc642d045f9bb9e9782a88c6bd4c9)
##### 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:
```grit
$async function foo() {} where $async <: .
```
Contributed by [@arendjr](https://redirect.github.com/arendjr)
##### Bug fixes
- Fix [#4077](https://redirect.github.com/biomejs/biome/issues/4077): Grit queries no longer need to match the statement's trailing semicolon. Contributed by [@arendjr](https://redirect.github.com/arendjr)
- Fix [#4102](https://redirect.github.com/biomejs/biome/issues/4102). Now the CLI command `lint` doesn't exit with an error code when using `--write`/`--fix`. Contributed by [@ematipico](https://redirect.github.com/ematipico)
##### Configuration
##### Bug fixes
- Fix [#4125](https://redirect.github.com/biomejs/biome/issues/4125), where `noLabelWithoutControl` options where incorrectly marked as mandatory. Contributed by [@ematipico](https://redirect.github.com/ematipico)
##### Editors
- Fix a case where CSS files weren't correctly linted using the default configuration. Contributed by [@ematipico](https://redirect.github.com/ematipico)
##### Formatter
##### Bug fixes
- Fix [#3924](https://redirect.github.com/biomejs/biome/issues/3924) where GraphQL formatter panics in block comments with empty line. Contributed by [@vohoanglong0107](https://redirect.github.com/vohoanglong0107)
- Fix a case where raw values inside `url()` functions weren't properly trimmed.
```diff
.value {
- background: url(
- whitespace-around-string
- );
+ background: url(whitespace-around-string);
}
```
Contributed by [@ematipico](https://redirect.github.com/ematipico)
- Fixed [#4076](https://redirect.github.com/biomejs/biome/issues/4076), where a media query wasn't correctly formatted:
```diff
.class {
- @media (1024px <= width <=1280px) {
+ @media (1024px <= width <= 1280px) {
color: red;
}
}
```
Contributed by [@blaze-d83](https://redirect.github.com/blaze-d83)
##### JavaScript API
##### Bug fixes
- Fix [#3881](https://redirect.github.com/biomejs/biome/issues/3881), by updating the APIs to use the latest WASM changes. Contributed by [@ematipico](https://redirect.github.com/ematipico)
##### Linter
##### New features
- Add [noDescendingSpecificity](https://biomejs.dev/linter/rules/no-descending-specificity/). Contributed by [@tunamaguro](https://redirect.github.com/tunamaguro)
- Add [noNestedTernary](https://biomejs.dev/linter/rules/no-nested-ternary/). Contributed by [@kaykdm](https://redirect.github.com/kaykdm)
- Add [noTemplateCurlyInString](https://biomejs.dev/linter/rules/no-template-curly-in-string/). Contributed by [@fireairforce](https://redirect.github.com/fireairforce)
- Add [noOctalEscape](https://biomejs.dev/linter/rules/no-octal-escape/). Contributed by [@fireairforce](https://redirect.github.com/fireairforce)
##### Enhancements
- Add an option `reportUnnecessaryDependencies` to [useExhaustiveDependencies](https://biomejs.dev/linter/rules/use-exhaustive-dependencies/).
Defaults to true. When set to false, errors will be suppressed for React hooks that declare dependencies but do not use them.
Contributed by [@simon-paris](https://redirect.github.com/simon-paris)
- Add an option `reportMissingDependenciesArray` to [useExhaustiveDependencies](https://biomejs.dev/linter/rules/use-exhaustive-dependencies/). Contributed by [@simon-paris](https://redirect.github.com/simon-paris)
##### Bug fixes
- [noControlCharactersInRegex](https://www.biomejs.dev/linter/rules/no-control-characters-in-regex) no longer panics on regexes with incomplete escape sequences. Contributed by [@Conaclos](https://redirect.github.com/Conaclos)
- [noMisleadingCharacterClass](https://biomejs.dev/linter/rules/no-misleading-character-class/) no longer reports issues outside of character classes.
The following code is no longer reported:
```js
/[a-z]👍/;
```
Contributed by [@Conaclos](https://redirect.github.com/Conaclos)
- [noUndeclaredDependencies](https://biomejs.dev/linter/rules/no-undeclared-dependencies/) no longer reports Node.js builtin modules as undeclared dependencies.
The rule no longer reports the following code:
```js
import * as fs from "fs";
```
Contributed by [@Conaclos](https://redirect.github.com/Conaclos)
- [noUnusedVariables](https://biomejs.dev/linter/rules/no-unused-variables/) no longer panics when suggesting the renaming of a variable at the start of a file ([#4114](https://redirect.github.com/biomejs/biome/issues/4114)). Contributed by [@Conaclos](https://redirect.github.com/Conaclos)
- [noUselessEscapeInRegex](https://biomejs.dev/linter/rules/no-useless-escape-in-regex/) no longer panics on regexes that start with an empty character class. Contributed by [@Conaclos](https://redirect.github.com/Conaclos)
- [noUselessStringConcat](https://biomejs.dev/linter/rules/no-useless-string-concat/) no longer panics when it encounters malformed code. Contributed by [@Conaclos](https://redirect.github.com/Conaclos)
- [noUnusedFunctionParameters](https://biomejs.dev/linter/rules/no-unused-function-parameters/) no longer reports unused parameters inside an object pattern with a rest parameter.
In the following code, the rule no longer reports `a` as unused.
```js
function f({ a, ...rest }) {
return rest;
}
```
This matches the behavior of [noUnusedVariables](https://biomejs.dev/linter/rules/no-unused-variables/).
Contributed by [@Conaclos](https://redirect.github.com/Conaclos)
- [useButtonType](https://biomejs.dev/linter/rules/use-button-type/) no longer reports dynamically created button with a valid type ([#4072](https://redirect.github.com/biomejs/biome/issues/4072)).
The following code is no longer reported:
```js
React.createElement("button", { type: "button" }, "foo")
```
Contributed by [@Conaclos](https://redirect.github.com/Conaclos)
- [useSemanticElements](https://biomejs.dev/linter/rules/use-semantic-elements/) now ignores elements with the `img` role ([#3994](https://redirect.github.com/biomejs/biome/issues/3994)).
[MDN recommends](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/img_role) using `role="img"` for grouping images or creating an image from other elements.
The following code is no longer reported:
```jsx
🐈 😂
```
Contributed by [@Conaclos](https://redirect.github.com/Conaclos)
- [useSemanticElements](https://biomejs.dev/linter/rules/use-semantic-elements/) now ignores `alert` and `alertdialog` roles ([#3858](https://redirect.github.com/biomejs/biome/issues/3858)). Contributed by [@Conaclos](https://redirect.github.com/Conaclos)
- [noUselessFragments](https://biomejs.dev/linter/rules/no-useless-fragments/) don't create invaild JSX code when Fragments children contains JSX Expression and in a LogicalExpression. Contributed by [@fireairforce](https://redirect.github.com/fireairforce)
##### Parser
##### Bug fixes
- Forbid undefined as type name for typescript parser. Contributed by [@fireairforce](https://redirect.github.com/fireairforce)
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 contains the following updates:
1.9.2
->1.9.3
Release Notes
biomejs/biome (@biomejs/biome)
### [`v1.9.3`](https://redirect.github.com/biomejs/biome/blob/HEAD/CHANGELOG.md#v193-2024-10-01) [Compare Source](https://redirect.github.com/biomejs/biome/compare/5f2287e005eadb261a4c78e4ec0fdc0d46068551...3d498ed6399dc642d045f9bb9e9782a88c6bd4c9) ##### 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: ```grit $async function foo() {} where $async <: . ``` Contributed by [@arendjr](https://redirect.github.com/arendjr) ##### Bug fixes - Fix [#4077](https://redirect.github.com/biomejs/biome/issues/4077): Grit queries no longer need to match the statement's trailing semicolon. Contributed by [@arendjr](https://redirect.github.com/arendjr) - Fix [#4102](https://redirect.github.com/biomejs/biome/issues/4102). Now the CLI command `lint` doesn't exit with an error code when using `--write`/`--fix`. Contributed by [@ematipico](https://redirect.github.com/ematipico) ##### Configuration ##### Bug fixes - Fix [#4125](https://redirect.github.com/biomejs/biome/issues/4125), where `noLabelWithoutControl` options where incorrectly marked as mandatory. Contributed by [@ematipico](https://redirect.github.com/ematipico) ##### Editors - Fix a case where CSS files weren't correctly linted using the default configuration. Contributed by [@ematipico](https://redirect.github.com/ematipico) ##### Formatter ##### Bug fixes - Fix [#3924](https://redirect.github.com/biomejs/biome/issues/3924) where GraphQL formatter panics in block comments with empty line. Contributed by [@vohoanglong0107](https://redirect.github.com/vohoanglong0107) - Fix a case where raw values inside `url()` functions weren't properly trimmed. ```diff .value { - background: url( - whitespace-around-string - ); + background: url(whitespace-around-string); } ``` Contributed by [@ematipico](https://redirect.github.com/ematipico) - Fixed [#4076](https://redirect.github.com/biomejs/biome/issues/4076), where a media query wasn't correctly formatted: ```diff .class { - @media (1024px <= width <=1280px) { + @media (1024px <= width <= 1280px) { color: red; } } ``` Contributed by [@blaze-d83](https://redirect.github.com/blaze-d83) ##### JavaScript API ##### Bug fixes - Fix [#3881](https://redirect.github.com/biomejs/biome/issues/3881), by updating the APIs to use the latest WASM changes. Contributed by [@ematipico](https://redirect.github.com/ematipico) ##### Linter ##### New features - Add [noDescendingSpecificity](https://biomejs.dev/linter/rules/no-descending-specificity/). Contributed by [@tunamaguro](https://redirect.github.com/tunamaguro) - Add [noNestedTernary](https://biomejs.dev/linter/rules/no-nested-ternary/). Contributed by [@kaykdm](https://redirect.github.com/kaykdm) - Add [noTemplateCurlyInString](https://biomejs.dev/linter/rules/no-template-curly-in-string/). Contributed by [@fireairforce](https://redirect.github.com/fireairforce) - Add [noOctalEscape](https://biomejs.dev/linter/rules/no-octal-escape/). Contributed by [@fireairforce](https://redirect.github.com/fireairforce) ##### Enhancements - Add an option `reportUnnecessaryDependencies` to [useExhaustiveDependencies](https://biomejs.dev/linter/rules/use-exhaustive-dependencies/). Defaults to true. When set to false, errors will be suppressed for React hooks that declare dependencies but do not use them. Contributed by [@simon-paris](https://redirect.github.com/simon-paris) - Add an option `reportMissingDependenciesArray` to [useExhaustiveDependencies](https://biomejs.dev/linter/rules/use-exhaustive-dependencies/). Contributed by [@simon-paris](https://redirect.github.com/simon-paris) ##### Bug fixes - [noControlCharactersInRegex](https://www.biomejs.dev/linter/rules/no-control-characters-in-regex) no longer panics on regexes with incomplete escape sequences. Contributed by [@Conaclos](https://redirect.github.com/Conaclos) - [noMisleadingCharacterClass](https://biomejs.dev/linter/rules/no-misleading-character-class/) no longer reports issues outside of character classes. The following code is no longer reported: ```js /[a-z]👍/; ``` Contributed by [@Conaclos](https://redirect.github.com/Conaclos) - [noUndeclaredDependencies](https://biomejs.dev/linter/rules/no-undeclared-dependencies/) no longer reports Node.js builtin modules as undeclared dependencies. The rule no longer reports the following code: ```js import * as fs from "fs"; ``` Contributed by [@Conaclos](https://redirect.github.com/Conaclos) - [noUnusedVariables](https://biomejs.dev/linter/rules/no-unused-variables/) no longer panics when suggesting the renaming of a variable at the start of a file ([#4114](https://redirect.github.com/biomejs/biome/issues/4114)). Contributed by [@Conaclos](https://redirect.github.com/Conaclos) - [noUselessEscapeInRegex](https://biomejs.dev/linter/rules/no-useless-escape-in-regex/) no longer panics on regexes that start with an empty character class. Contributed by [@Conaclos](https://redirect.github.com/Conaclos) - [noUselessStringConcat](https://biomejs.dev/linter/rules/no-useless-string-concat/) no longer panics when it encounters malformed code. Contributed by [@Conaclos](https://redirect.github.com/Conaclos) - [noUnusedFunctionParameters](https://biomejs.dev/linter/rules/no-unused-function-parameters/) no longer reports unused parameters inside an object pattern with a rest parameter. In the following code, the rule no longer reports `a` as unused. ```js function f({ a, ...rest }) { return rest; } ``` This matches the behavior of [noUnusedVariables](https://biomejs.dev/linter/rules/no-unused-variables/). Contributed by [@Conaclos](https://redirect.github.com/Conaclos) - [useButtonType](https://biomejs.dev/linter/rules/use-button-type/) no longer reports dynamically created button with a valid type ([#4072](https://redirect.github.com/biomejs/biome/issues/4072)). The following code is no longer reported: ```js React.createElement("button", { type: "button" }, "foo") ``` Contributed by [@Conaclos](https://redirect.github.com/Conaclos) - [useSemanticElements](https://biomejs.dev/linter/rules/use-semantic-elements/) now ignores elements with the `img` role ([#3994](https://redirect.github.com/biomejs/biome/issues/3994)). [MDN recommends](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/img_role) using `role="img"` for grouping images or creating an image from other elements. The following code is no longer reported: ```jsx🐈 😂
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.
This PR was generated by Mend Renovate. View the repository job log.