-
#7353 4d2b719
Thanks @JeetuSuthar! - Fixed #7340: The linter now allows the navigation
property for view-transition in CSS.
Previously, the linter incorrectly flagged navigation: auto
as an unknown property. This fix adds navigation
to the list of known CSS properties, following the CSS View Transitions spec.
-
#7275 560de1b
Thanks @arendjr! - Fixed #7268: Files that are explicitly passed as CLI arguments are now correctly ignored if they reside in an ignored folder.
-
#7358 963a246
Thanks @ematipico! - Fixed #7085, now the rule noDescendingSpecificity
correctly calculates the specificity of selectors when they are included inside a media query.
-
#7387 923674d
Thanks @qraqras! - Fixed #7381, now the useOptionalChain
rule recognizes optional chaining using Yoda expressions (e.g., undefined !== foo && foo.bar
).
-
#7316 f9636d5
Thanks @Conaclos! - Fixed #7289. The rule useImportType
now inlines import type
into import { type }
when the style
option is set to inlineType
.
Example:
import type { T } from "mod";
// becomes
import { type T } from "mod";
-
#7350 bb4d407
Thanks @siketyan! - Fixed #7261: two characters ・
(KATAKANA MIDDLE DOT, U+30FB) and ・
(HALFWIDTH KATAKANA MIDDLE DOT, U+FF65) are no longer considered as valid characters in identifiers. Property keys containing these character(s) are now preserved as string literals.
-
#7377 811f47b
Thanks @ematipico! - Fixed a bug where the Biome Language Server didn't correctly compute the diagnostics of a monorepo setting, caused by an incorrect handling of the project status.
-
#7245 fad34b9
Thanks @kedevked! - Added the new lint rule useConsistentArrowReturn
.
This rule enforces a consistent return style for arrow functions.
-
#7370 e8032dd
Thanks @fireairforce! - Support dynamic import defer
and import source
. The syntax looks like:
import.source("foo");
import.source("x", { with: { attr: "val" } });
import.defer("foo");
import.defer("x", { with: { attr: "val" } });
-
#7369 b1f8cbd
Thanks @siketyan! - Range suppressions are now supported for Grit plugins.
For JavaScript, you can suppress a plugin as follows:
// biome-ignore-start lint/plugin/preferObjectSpread: reason
Object.assign({ foo: "bar" }, baz);
// biome-ignore-end lint/plugin/preferObjectSpread: reason
For CSS, you can suppress a plugin as follows:
body {
/* biome-ignore-start lint/plugin/useLowercaseColors: reason */
color: #fff;
/* biome-ignore-end lint/plugin/useLowercaseColors: reason */
}
-
#7384 099507e
Thanks @ematipico! - Reduced the severity of certain diagnostics emitted when Biome deserializes the configuration files.
Now these diagnostics are emitted as Information
severity, which means that they won't interfere when running commands with --error-on-warnings
-
#7302 2af2380
Thanks @unvalley! - Fixed #7301: useReadonlyClassProperties
now correctly skips JavaScript files.
-
#7288 94d85f8
Thanks @ThiefMaster! - Fixed #7286. Files are now formatted with JSX behavior when javascript.parser.jsxEverywhere
is explicitly set.
Previously, this flag was only used for parsing, but not for formatting, which resulted in incorrect formatting of conditional expressions when JSX syntax is used in .js
files.
-
#7311 62154b9
Thanks @qraqras! - Added the new nursery rule noUselessCatchBinding
. This rule disallows unnecessary catch bindings.
try {
// Do something
- } catch (unused) {}
+ } catch {}
-
#7349 45c1dfe
Thanks @ematipico! - Fixed #4298. Biome now correctly formats CSS declarations when it contains one single value:
.bar {
- --123456789012345678901234567890: var(--1234567890123456789012345678901234567);
+ --123456789012345678901234567890: var(
+ --1234567890123456789012345678901234567
+ );
}
-
#7295 7638e84
Thanks @ematipico! - Fixed #7130. Removed the emission of a false-positive diagnostic. Biome no longer emits the following diagnostic:
lib/main.ts:1:5 suppressions/unused ━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Suppression comment has no effect because the tool is not enabled.
> 1 │ /** biome-ignore-all assist/source/organizeImports: For the lib root file, we don't want to organize exports */
│ ^^^^^^^^^^^^^^^^
-
#7377 811f47b
Thanks @ematipico! - Fixed #7371 where the Biome Language Server didn't correctly recompute the diagnostics when updating a nested configuration file.
-
#7348 ac27fc5
Thanks @ematipico! - Fixed #7079. Now the rule useSemanticElements
doesn't trigger components and custom elements.
-
#7389 ab06a7e
Thanks @Conaclos! - Fixed #7344. useNamingConvention
no longer reports interfaces defined in global declarations.
Interfaces declared in global declarations augment existing interfaces.
Thus, they must be ignored.
In the following example, useNamingConvention
reported HTMLElement
.
It is now ignored.
export {};
declare global {
interface HTMLElement {
foo(): void;
}
}
-
#7315 4a2bd2f
Thanks @vladimir-ivanov! - Fixed #7310: useReadonlyClassProperties
correctly handles nested assignments, avoiding false positives when a class property is assigned within another assignment expression.
Example of code that previously triggered a false positive but is now correctly ignored:
class test {
private thing: number = 0; // incorrectly flagged
public incrementThing(): void {
const temp = { x: 0 };
temp.x = this.thing++;
}
}
This PR contains the following updates:
2.2.2
->2.2.3
Release Notes
biomejs/biome (@biomejs/biome)
v2.2.3
Compare Source
Patch Changes
#7353
4d2b719
Thanks @JeetuSuthar! - Fixed #7340: The linter now allows thenavigation
property for view-transition in CSS.Previously, the linter incorrectly flagged
navigation: auto
as an unknown property. This fix addsnavigation
to the list of known CSS properties, following the CSS View Transitions spec.#7275
560de1b
Thanks @arendjr! - Fixed #7268: Files that are explicitly passed as CLI arguments are now correctly ignored if they reside in an ignored folder.#7358
963a246
Thanks @ematipico! - Fixed #7085, now the rulenoDescendingSpecificity
correctly calculates the specificity of selectors when they are included inside a media query.#7387
923674d
Thanks @qraqras! - Fixed #7381, now theuseOptionalChain
rule recognizes optional chaining using Yoda expressions (e.g.,undefined !== foo && foo.bar
).#7316
f9636d5
Thanks @Conaclos! - Fixed #7289. The ruleuseImportType
now inlinesimport type
intoimport { type }
when thestyle
option is set toinlineType
.Example:
#7350
bb4d407
Thanks @siketyan! - Fixed #7261: two characters・
(KATAKANA MIDDLE DOT, U+30FB) and・
(HALFWIDTH KATAKANA MIDDLE DOT, U+FF65) are no longer considered as valid characters in identifiers. Property keys containing these character(s) are now preserved as string literals.#7377
811f47b
Thanks @ematipico! - Fixed a bug where the Biome Language Server didn't correctly compute the diagnostics of a monorepo setting, caused by an incorrect handling of the project status.#7245
fad34b9
Thanks @kedevked! - Added the new lint ruleuseConsistentArrowReturn
.This rule enforces a consistent return style for arrow functions.
Invalid
This rule is a port of ESLint's arrow-body-style rule.
#7370
e8032dd
Thanks @fireairforce! - Support dynamicimport defer
andimport source
. The syntax looks like:#7369
b1f8cbd
Thanks @siketyan! - Range suppressions are now supported for Grit plugins.For JavaScript, you can suppress a plugin as follows:
For CSS, you can suppress a plugin as follows:
#7384
099507e
Thanks @ematipico! - Reduced the severity of certain diagnostics emitted when Biome deserializes the configuration files.Now these diagnostics are emitted as
Information
severity, which means that they won't interfere when running commands with--error-on-warnings
#7302
2af2380
Thanks @unvalley! - Fixed #7301:useReadonlyClassProperties
now correctly skips JavaScript files.#7288
94d85f8
Thanks @ThiefMaster! - Fixed #7286. Files are now formatted with JSX behavior whenjavascript.parser.jsxEverywhere
is explicitly set.Previously, this flag was only used for parsing, but not for formatting, which resulted in incorrect formatting of conditional expressions when JSX syntax is used in
.js
files.#7311
62154b9
Thanks @qraqras! - Added the new nursery rulenoUselessCatchBinding
. This rule disallows unnecessary catch bindings.#7349
45c1dfe
Thanks @ematipico! - Fixed #4298. Biome now correctly formats CSS declarations when it contains one single value:#7295
7638e84
Thanks @ematipico! - Fixed #7130. Removed the emission of a false-positive diagnostic. Biome no longer emits the following diagnostic:#7377
811f47b
Thanks @ematipico! - Fixed #7371 where the Biome Language Server didn't correctly recompute the diagnostics when updating a nested configuration file.#7348
ac27fc5
Thanks @ematipico! - Fixed #7079. Now the ruleuseSemanticElements
doesn't trigger components and custom elements.#7389
ab06a7e
Thanks @Conaclos! - Fixed #7344.useNamingConvention
no longer reports interfaces defined in global declarations.Interfaces declared in global declarations augment existing interfaces.
Thus, they must be ignored.
In the following example,
useNamingConvention
reportedHTMLElement
.It is now ignored.
#7315
4a2bd2f
Thanks @vladimir-ivanov! - Fixed #7310:useReadonlyClassProperties
correctly handles nested assignments, avoiding false positives when a class property is assigned within another assignment expression.Example of code that previously triggered a false positive but is now correctly ignored:
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), 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.