Open
Conversation
1a26499 to
78b4fcf
Compare
8a8d37f to
3aa0598
Compare
3aa0598 to
1f84ffa
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.4.6→2.4.87.3.0→7.3.2Release Notes
biomejs/biome (@biomejs/biome)
v2.4.8Compare Source
Patch Changes
#9488
bc709f6Thanks @mvanhorn! - Fixed #9463: the "Biome found a configuration file outside of the current working directory" diagnostic now includes the configuration file path and the working directory, giving users actionable information to debug the issue.#9527
2f8bf80Thanks @mdm317! - Fixed #8959: Fixed TypeScript arrow function formatting when a comment appears after=>.#9525
e7b3b10Thanks @ViniciusDev26! - Added the rulenoDrizzleUpdateWithoutWhereto prevent accidental full-table updates when using Drizzle ORM without a.where()clause.#9531
1302740Thanks @ematipico! - Fixed #9187: Astro frontmatter containing regex literals with quotes (/'/,/"/) or dashes (/---/) no longer causes parse errors.#9535
b630d93Thanks @leno23! - Fixed #9524: remove extra space before>whenbracketSameLineis true and the self-closing slash is absent in HTML formatter.#9537
81e6306Thanks @ematipico! - Fixed #9238: The HTML parser no longer incorrectly reports---inside element content (e.g.<td>---</td>) as an "Unexpected value or character" error.#9532
4b64145Thanks @ematipico! - Fixed #9117:biome check --writeno longer falsely reports Svelte and Vue files as changed whenhtml.formatter.indentScriptAndStyleis enabled and the files are already correctly formatted.#9528
61451efThanks @ematipico! - Fixed #9341: Fixed an LSP crash that could corrupt file content when saving with format-on-save enabled.#9538
794f79cThanks @ematipico! - Fixed #9279: The rulenoSubstrnow detects.substr()and.substring()calls in all expression contexts, including variable declarations, function arguments, return statements, and arrow function bodies.#9462
c23272cThanks @ematipico! - Fixed #9370: The resolver now correctly prioritizes more specificexportspatterns over less specific ones. Previously, a pattern like"./*"could match before"./features/*", causing resolution failures for packages with overlapping subpath patterns.#9515
f85c069Thanks @shivamtiwari3! - Fixed #9506 and #9479: Biome no longer reports false parse errors on<script type="speculationrules">and<script type="application/ld+json">tags. These script types contain non-JavaScript content and are now correctly skipped by the embedded language detector.#9514
7fe43c8Thanks @ematipico! - Fixed #6964: Biome now correctly resolves the.gitignorefile relative tovcs.rootwhen configured. Previously, thevcs.rootsetting was ignored and Biome always looked for the ignore file in the workspace directory.#9521
af39936Thanks @ematipico! - Fixed #9483. Now the rulenoRedeclaredoesn't panic when it encounters constructor overloads.#9490
60cf024Thanks @willfarrell! - Added support for modern CSS properties, pseudo-classes, and pseudo-elements.New known properties:
dynamic-range-limit,overlay,reading-flow,reading-order,scroll-marker-group,scroll-target-group.New pseudo-elements:
::checkmark,::column,::picker,::picker-icon,::scroll-button,::scroll-marker,::scroll-marker-group.New pseudo-classes:
:active-view-transition-type,:has-slotted,:target-after,:target-before,:target-current.#9526
4d42823Thanks @ematipico! - Fixed #9358 and #9375. Now attributes that have text expressions such asclass={buttonClass()}are correctly tracked in Svelte files.#9520
61f53eeThanks @ematipico! - Fixed #9519. NownoUnusedVariablesdoesn't flag variables that are used astypeoftype.#9487
331dc0dThanks @mvanhorn! - Fixed #9477:source.fixAll.biomeno longer sorts imports whensource.organizeImports.biomeis disabled in editor settings. The organize imports action is now excluded from the fix-all pass unless explicitly requested.#9525
e7b3b10Thanks @ViniciusDev26! - Added the rulenoDrizzleDeleteWithoutWhereto prevent accidental full-table deletes when using Drizzle ORM without a.where()clause.v2.4.7Compare Source
Patch Changes
#9318
3ac98ebThanks @ematipico! - Added new nursery lint ruleuseBaselinefor CSS. The rule reports when CSS properties, property values, at-rules, media conditions, functions, or pseudo-selectors are not part of the configured Baseline tier.For example, at the time of writing, the rule will trigger for the use of
accent-colorbecause it has limited availability:#9272
2de8362Thanks @terror! - Added the nursery ruleuseImportsFirstthat enforces all import statements appear before any non-import statements in a module. Inspired by the eslint-plugin-importimport/firstrule.#9285
93ea495Thanks @dyc3! - FixednoUndeclaredVariablesfrom erroneously flagging props only used in the template section in Vue SFCs#9435
6c5a8f2Thanks @siketyan! - Fixed #9432: Values referenced as a JSX element in Astro/Vue/Svelte templates are now correctly detected;noUnusedImportsanduseImportTyperules no longer reports these values as false positives.#9362
fc9ca4cThanks @Netail! - Extra rule source references.biome migrate eslintshould do a bit better detecting rules in your eslint configurations.#9392
b881feaThanks @g-ortuno! - Fixed biomejs/biome-vscode#959: LSP now correctly resolves project directory whenconfigurationPathpoints to a configuration file outside the workspace.#9420
a1c46afThanks @ematipico! - Fixed #9385:noUselessEscapeInStringno longer incorrectly flags valid CSS hex escapes (e.g.\e7bb) as useless. The rule now recognizes all hex digits (0-9,a-f,A-F) as valid escape characters in CSS strings.#9416
f2581b8Thanks @ematipico! - Fixed #9131, #9112, #9166: the formatter no longer crashes or produces corrupt output when a JS file withexperimentalEmbeddedSnippetsEnabledcontains non-embedded template literals alongside embedded ones (e.g.console.log(\test`)next tographql(`...`)`).#9344
cb4d7d7Thanks @ematipico! - Fixed #6921:noShadowno longer incorrectly flags destructured variable bindings in sibling scopes as shadowing. Object destructuring, array destructuring, nested patterns, and rest elements are now properly recognized as declarations.#9360
bc5dd99Thanks @ematipico! - Fixed #7125: The rulenoShadowno longer incorrectly flags parameters in TypeScript constructor and method overload signatures.#9371
29cac17Thanks @ematipico! - Fixed #5279: Tabs in diagnostic diff output are now rendered at a consistent width across context and changed lines, fixing visual misalignment when source files use tab indentation.#9043
61e2a02Thanks @dyc3! - Fixed #8897: Biome now parses@utilitynames containing/when Tailwind directives are enabled.#9354
930c858Thanks @denbezrukov! - Improved CSS parser recovery for invalidunicode-rangevalues that mix wildcard ranges with range intervals. For example, Biome now reports clearer diagnostics for invalid syntax like:with diagnostics such as:
#9355
78e74a2Thanks @SchahinRohani! - Fixed #9349: Biome now correctly handles Vue dynamic:altandv-bind:altbindings inuseAltText, preventing false positives in.vuefiles.#9369
b309ddeThanks @costajohnt! - Fixed #9210:useAnchorContentno longer reports an accessibility error for AstroImagecomponents inside links when they provide non-emptyalttext.#9345
70c2d4eThanks @ematipico! - Fixed #7214:useOptionalChainnow detects optional chain patterns that don't start at the beginning of a logical AND expression. For example,bar && foo && foo.lengthis now correctly flagged and fixed tobar && foo?.length.#9311
78c4e9bThanks @ruidosujeira! - Fixed #9245: theuseSemanticElementsrule no longer suggests<output>forrole="status"androle="alert". The<output>element is only arelatedConceptof these roles, not a direct semantic equivalent. These roles are now excluded from suggestions, aligning with the intended behavior of the upstreamprefer-tag-over-rolerule.#9363
b2ffb4aThanks @ematipico! - Fixed #5212:useSemanticElementsno longer reports a diagnostic when a semantic element already has its corresponding role attribute (e.g.<nav role="navigation">,<footer role="contentinfo">). These cases are now correctly left tonoRedundantRoles.#9364
1bb9edcThanks @xvchris! - Fixed #9357. Improved the information emitted by some diagnostics.#9434
bf12092Thanks @siketyan! - Fixed #9433:noBlankTargetnow correctly handles dynamic href attributes, such as<a href={company?.website} target="_blank">.#9351
5046d2bThanks @Netail! - Expanded thenoNegationElserule to cover the inequality & strict inequality operator.#9353
2a29e0dThanks @Conaclos! - Fixed #7583:organizeImportsnowsorts named specifiers inside bare exports and merges bare exports.
Also,
organizeImportsnow correctly adds a blank line between an import chunkand an export chunk.
import { A } from "package"; + export { A };#8658
bdcc934Thanks @rksvc! - When thedomainsfield is set in the configuration file, domains is now automatically enabled when Biome detects certain dependencies inpackage.json.#9383
f5c8bf0Thanks @ematipico! - Fixed #6606: The type inference engine now resolvesRecord<K, V>types, synthesizing them as object types with index signatures. This improves accuracy for type-aware lint rules such asnoFloatingPromises,noMisusedPromises,useAwaitThenable, anduseArraySortComparewhen operating on Record-typed values.#9359
701ddd3Thanks @ematipico! - Fixed #7516:noUnusedImportsno longer reports a false positive when a local variable shadows an imported type namespace that is still used in a type annotation.#9473
50e93bdThanks @ematipico! - Improved the detection of variables inside Astro files. Now the rulenoUnusedVariablesand others will trigger fewer false positives.#9459
171b2eeThanks @ematipico! - Fixed #9314. Now Biome doesn't panic whenuseAriaPropsForRoleis configured using an object.#9465
c8918d6Thanks @Netail! - Fixed #9464: Temporal is now correctly detected as a global.#9367
722f0daThanks @Netail! - Added the nursery rulenoTopLevelLiterals. It requires the root-level value to be an array or object.Invalid:
"just a string"#9333
a294b89Thanks @terror! - Fixed #9310. Now the HTML formatter doesn't mangle elements that are followed by self-closing elements such as<br>or<img>.#9391
4bffb66Thanks @ematipico! - Slightly increased the performance of the CLI in projects that have more than ~2K files.#9365
776cb64Thanks @Netail! - Added the nursery rulenoEmptyObjectKeys, which disallows the use of empty keys in JSON objects.Invalid:
{ "": "value" }haydenbleasel/ultracite (ultracite)
v7.3.2Compare Source
Patch Changes
8ffeb33: Add support for .oxlintrc.mjs and oxlint.config.tsv7.3.1Compare Source
Patch Changes
f84edff: Fix --type-aware for Biomeacf301c: Migrate from eslint-plugin-import to import-x5749eb1: Create test frameworksConfiguration
📅 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.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.