chore(deps): update dependency @biomejs/biome to v2.4.8#96
chore(deps): update dependency @biomejs/biome to v2.4.8#96renovate[bot] merged 2 commits intomainfrom
Conversation
There was a problem hiding this comment.
This PR updates the @biomejs/biome dependency to version 2.4.7, providing a helpful routine update for our project's tooling. The new version currently causes the repository's Biome check to fail due to import order errors in src/args.ts and src/source-files.ts, so the generated fixes may need to be included or the upgrade deferred to keep the build green.
package.json
Outdated
| "devDependencies": { | ||
| "rimraf": "6.1.3", | ||
| "@biomejs/biome": "2.4.6", | ||
| "@biomejs/biome": "2.4.7", |
There was a problem hiding this comment.
[P1] This version bump makes the repo's Biome check fail. npx @biomejs/biome@2.4.6 check still exits 0 on this tree, but 2.4.7 exits 1 because it now reports assist/source/organizeImports errors in src/args.ts and src/source-files.ts, so the PR health workflow's npm run check step goes red. Either include the generated import-order fixes in this PR (npm run fix:biome) or defer the upgrade until those files are updated.
b39730e to
a488b17
Compare
a488b17 to
11335c0
Compare
Run `biome check --write --unsafe` and `biome migrate --write` to fix lint errors introduced by the Biome upgrade. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This PR contains the following updates:
2.4.6→2.4.8Reference
Release 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" }Configuration
📅 Schedule: Branch creation - "before 7am every weekday" (UTC), 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.