chore(deps): update dependency @biomejs/biome to v2.2.6 #813
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.2.4->2.2.6Release Notes
biomejs/biome (@biomejs/biome)
v2.2.6Compare Source
Patch Changes
#7071
a8e7301Thanks @ptkagori! - Added theuseQwikMethodUsagelint rule for the Qwik domain.This rule validates Qwik hook usage. Identifiers matching
useXxxmust be called only within serialisable reactive contexts (for example, insidecomponent$, route loaders/actions, or within other Qwik hooks), preventing common Qwik antipatterns.Invalid:
Valid:
#7685
52071f5Thanks @denbezrukov! - Fixed #6981: The NoUnknownPseudoClass rule no longer reports local pseudo-classes when CSS Modules are used.#7640
899f7b2Thanks @arendjr! - Fixed #7638:useImportExtensionsno longer emits diagnostics on valid import paths that end with a query or hash.Example
#7071
a8e7301Thanks @ptkagori! - Added theuseQwikValidLexicalScoperule to the Qwik domain.This rule helps you avoid common bugs in Qwik components by checking that your variables and functions are declared in the correct place.
Invalid:
Valid:
#7620
5beb1eeThanks @Netail! - Added the ruleuseDeprecatedDate, which makes a deprecation date required for the graphql@deprecateddirective.Invalid
Valid
#7709
d6da4d5Thanks @siketyan! - Fixed #7704: TheuseExhaustiveDependenciesrule now correctly adds an object dependency when its method is called within the closure.For example:
will now be fixed to:
#7624
309ae41Thanks @lucasweng! - Fixed #7595:noUselessEscapeInStringno longer reports$\{escape in template literals.#7665
29e4229Thanks @ryan-m-walker! - Fixed #7619: Added support for parsing the CSS:state()pseudo-class.#7608
41df59bThanks @ritoban23! - Fixed #7604: theuseMaxParamsrule now highlights parameter lists instead of entire function bodies. This provides more precise error highlighting. Previously, the entire function was highlighted; now only the parameter list is highlighted, such as(a, b, c, d, e, f, g, h).#7643
459a6acThanks @daivinhtran! - Fixed #7580: Include plugin in summary reportv2.2.5Compare Source
Patch Changes
#7597
5c3d542Thanks @arendjr! - Fixed #6432:useImportExtensionsnow works correctly with aliased paths.#7269
f18dac1Thanks @CDGardner! - Fixed #6648, where Biome'snoUselessFragmentscontained inconsistencies with ESLint for fragments only containing text.Previously, Biome would report that fragments with only text were unnecessary under the
noUselessFragmentsrule. Further analysis of ESLint's behavior towards these cases revealed that text-only fragments (<>A</a>,<React.Fragment>B</React.Fragment>,<RenamedFragment>B</RenamedFragment>) would not havenoUselessFragmentsemitted for them.On the Biome side, instances such as these would emit
noUselessFragments, and applying the suggested fix would turn the text content into a proper JS string.The proposed update was to align Biome's reaction to this rule with ESLint's; the aforementioned examples will now be supported from Biome's perspective, thus valid use of fragments.
#7498
002cdedThanks @siketyan! - Fixed #6893: TheuseExhaustiveDependenciesrule now correctly adds a dependency that is captured in a shorthand object member. For example:is now correctly fixed to:
#7509
1b61631Thanks @siketyan! - Added a new lint rulenoReactForwardRef, which detects usages offorwardRefthat is no longer needed and deprecated in React 19.For example:
will be fixed to:
Note that the rule provides an unsafe fix, which may break the code. Don't forget to review the code after applying the fix.
#7520
3f06e19Thanks @arendjr! - Added new nursery rulenoDeprecatedImportsto flag imports of deprecated symbols.Invalid example
Valid examples
#7457
9637f93Thanks @kedevked! - AddedstyleandrequireForObjectLiteraloptions to the lint ruleuseConsistentArrowReturn.This rule enforces a consistent return style for arrow functions. It can be configured with the following options:
style: (default:asNeeded)always: enforces that arrow functions always have a block body.never: enforces that arrow functions never have a block body, when possible.asNeeded: enforces that arrow functions have a block body only when necessary (e.g. for object literals).style: "always"Invalid:
Valid:
style: "never"Invalid:
Valid:
style: "asNeeded"Invalid:
Valid:
style: "asNeeded"andrequireForObjectLiteral: trueValid:
#7510
527cec2Thanks @rriski! - Implements #7339. GritQL patterns can now use native Biome AST nodes using theirPascalCasenames, in addition to the existing TreeSitter-compatiblesnake_casenames.#7574
47907e7Thanks @kedevked! - Fixed 7574. The diagnostic message for the ruleuseSolidForComponentnow correctly emphasizes<For />and provides a working hyperlink to the Solid documentation.#7497
bd70f40Thanks @siketyan! - Fixed #7320: TheuseConsistentCurlyBracesrule now correctly detects a string literal including"inside a JSX attribute value.#7522
1af9931Thanks @Netail! - Added extra references to external rules to improve migration for the following rules:noUselessFragments&noNestedComponentDefinitions#7597
5c3d542Thanks @arendjr! - Fixed an issue wherepackage.jsonmanifests would not be correctly discoveredwhen evaluating files in the same directory.
#7565
38d2098Thanks @siketyan! - The resolver can now correctly resolve.ts,.tsx,.d.ts,.jsfiles by.jsextension if exists, based on the file extension substitution in TypeScript.For example, the linter can now detect the floating promise in the following situation, if you have enabled the
noFloatingPromisesrule.foo.tsbar.ts#7542
cadad2cThanks @mdevils! - Added the rulenoVueDuplicateKeys, which prevents duplicate keys in Vue component definitions.This rule prevents the use of duplicate keys across different Vue component options such as
props,data,computed,methods, andsetup. Even if keys don't conflict in the script tag, they may cause issues in the template since Vue allows direct access to these keys.Invalid examples
Valid examples
#7546
a683accThanks @siketyan! - Internal data for Unicode strings have been updated to Unicode 17.0.#7497
bd70f40Thanks @siketyan! - Fixed #7256: TheuseConsistentCurlyBracesrule now correctly ignores a string literal with braces that contains only whitespaces. Previously, literals that contains single whitespace were only allowed.#7565
38d2098Thanks @siketyan! - TheuseImportExtensionsrule now correctly detects imports with an invalid extension. For example, importing.tsfile with.jsextension is flagged by default. If you are using TypeScript with neither theallowImportingTsExtensionsoption nor therewriteRelativeImportExtensionsoption, it's recommended to turn on theforceJsExtensionsoption of the rule.#7581
8653921Thanks @lucasweng! - Fixed #7470: solved a false positive fornoDuplicateProperties. Previously, declarations in@containerand@starting-styleat-rules were incorrectly flagged as duplicates of identical declarations at the root selector.For example, the linter no longer flags the
displaydeclaration in@containeror theopacitydeclaration in@starting-style.#7529
fea905fThanks @qraqras! - Fixed #7517: theuseOptionalChainrule no longer suggests changes for typeof checks on global objects.#7476
c015765Thanks @ematipico! - Fixed a bug where the suppression action fornoPositiveTabindexdidn't place the suppression comment in the correct position.#7511
a0039fdThanks @arendjr! - Added nursery rulenoUnusedExpressionsto flag expressions used as a statement that is neither an assignment nor a function call.Invalid examples
Valid examples
#7564
40e515fThanks @turbocrime! - Fixed #6617: improveduseIterableCallbackReturnto correctly handle arrow functions with a single-expressionvoidbody.Now the following code doesn't trigger the rule anymore:
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, 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.