fix(deps): update all dependencies#28
Conversation
3879ef7 to
e7ae5d8
Compare
e5e89f4 to
96d426f
Compare
651f6b4 to
573619b
Compare
4059187 to
e18b80b
Compare
ed8aaaf to
195b515
Compare
0af92ca to
5784ad7
Compare
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughUpgrade CI and workspace toolchain: pnpm/action-setup → v6, Node runtime bumped in dependency workflow, workspace packageManager → pnpm@11.1.2, and multiple runtime/dev dependency version bumps across app and template packages. ChangesDependency and Toolchain Upgrade
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related issues
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
package.json (1)
51-53:⚠️ Potential issue | 🔴 Critical | ⚡ Quick winRemove or update the patch version in
patchedDependenciesto match the installed version.The
patchedDependenciesentry references@typescript-eslint/eslint-plugin@8.57.2, but the installed version is8.59.3(as shown in the lockfile and package.json). This version mismatch prevents the patch from being applied. Since8.59.3was released after the patch was created and the underlying optional chaining fix was already included in an earlier release, the patch is likely obsolete. Either update the key to@typescript-eslint/eslint-plugin@8.59.3if the patch is still needed, or remove it if the issue is already resolved in8.59.3.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@package.json` around lines 51 - 53, The patchedDependencies entry for "@typescript-eslint/eslint-plugin@8.57.2" in package.json doesn't match the installed version (8.59.3) so the patch won't apply; open package.json, locate the "patchedDependencies" object and either (a) update the key to "@typescript-eslint/eslint-plugin@8.59.3" if the patch is still required and ensure the corresponding patch file exists, or (b) remove the "@typescript-eslint/eslint-plugin@..." entry entirely if the upstream release already contains the fix (preferred if the optional chaining issue is resolved).
♻️ Duplicate comments (1)
packages/app/package.json (1)
55-86:⚠️ Potential issue | 🟠 MajorSame major version bumps as eslint-template package.
This package includes the same major version bumps flagged in
packages/eslint-template/package.json:
- ts-morph 27 → 28 (line 80)
- eslint-plugin-simple-import-sort 12 → 13 (line 73)
- eslint-plugin-unicorn 63 → 64 (line 76)
Please ensure the verification for those breaking changes applies to this package as well.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@packages/app/package.json` around lines 55 - 86, The same major-version upgrades flagged for the eslint-template package also affect this package: update verification for the dependencies ts-morph, eslint-plugin-simple-import-sort, and eslint-plugin-unicorn in packages/app by running the identical compatibility checks you ran for eslint-template (exercise unit tests, linting, build, and any dedicated migration/compat scripts) and address any API or config changes uncovered; ensure package lock/lockfile is updated and any fixes or code changes required for the ts-morph 27→28, eslint-plugin-simple-import-sort 12→13, and eslint-plugin-unicorn 63→64 upgrades are applied here as well.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@package.json`:
- Line 6: The package.json currently pins "packageManager": "pnpm@11.1.2" but
the repo must be migrated to pnpm v11 config changes: run the pnpm v10→v11
codemod to move settings from the "pnpm" field in package.json and any .npmrc
entries into a new pnpm-workspace.yaml (use camelCase keys), replace any
npm_config_* env usages with pnpm_config_*, stop using pnpm link --global (use
pnpm add -g), convert build-related settings (neverBuiltDependencies,
ignoreDepScripts, etc.) into the allowBuilds map, verify Node engine
compatibility (v18–v21 removed, ensure pure ESM readiness), and confirm global
install path expectations (pnpmHomeDir/global/v11/{hash}); update packageManager
value only after these migrations and verify CI/environment variables and
workspace config are correct.
In `@packages/eslint-template/package.json`:
- Line 33: The package.json now pins "eslint-plugin-simple-import-sort" to
^13.0.0 which enforces deterministic ordering when the same module is imported
multiple times with different styles; search the codebase for modules imported
more than once using different styles (namespace imports like import * as X,
default imports like import X, and named imports like import {a}) and
consolidate them into a single consistent import per source (e.g., combine
default and named into one line or convert namespace to named/default as
appropriate) so autofix no longer changes ordering unexpectedly; update any
files referencing the same source in multiple import statements (look for
occurrences of the module names flagged by the linter) to use a single unified
import form.
---
Outside diff comments:
In `@package.json`:
- Around line 51-53: The patchedDependencies entry for
"@typescript-eslint/eslint-plugin@8.57.2" in package.json doesn't match the
installed version (8.59.3) so the patch won't apply; open package.json, locate
the "patchedDependencies" object and either (a) update the key to
"@typescript-eslint/eslint-plugin@8.59.3" if the patch is still required and
ensure the corresponding patch file exists, or (b) remove the
"@typescript-eslint/eslint-plugin@..." entry entirely if the upstream release
already contains the fix (preferred if the optional chaining issue is resolved).
---
Duplicate comments:
In `@packages/app/package.json`:
- Around line 55-86: The same major-version upgrades flagged for the
eslint-template package also affect this package: update verification for the
dependencies ts-morph, eslint-plugin-simple-import-sort, and
eslint-plugin-unicorn in packages/app by running the identical compatibility
checks you ran for eslint-template (exercise unit tests, linting, build, and any
dedicated migration/compat scripts) and address any API or config changes
uncovered; ensure package lock/lockfile is updated and any fixes or code changes
required for the ts-morph 27→28, eslint-plugin-simple-import-sort 12→13, and
eslint-plugin-unicorn 63→64 upgrades are applied here as well.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: db3c2e88-f3f6-4ca6-8964-0ab35e5ab234
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (5)
.github/actions/setup/action.yml.github/workflows/checking-dependencies.ymlpackage.jsonpackages/app/package.jsonpackages/eslint-template/package.json
| "private": true, | ||
| "description": "Monorepo workspace for effect-template", | ||
| "packageManager": "pnpm@10.33.0", | ||
| "packageManager": "pnpm@11.1.2", |
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
What are the breaking changes in pnpm 11 compared to pnpm 10?
💡 Result:
The breaking changes in pnpm 11 compared to pnpm 10, as detailed in the official migration guide and release notes, are primarily around configuration handling, command behaviors, and removed features. Here's a complete list: Configuration changes [1][2][3]: - pnpm no longer reads settings from the pnpm field in package.json; move them to pnpm-workspace.yaml [1][2][3]. - .npmrc now only reads auth and registry settings; all other settings (e.g., hoist-pattern, node-linker, save-exact) must be moved to pnpm-workspace.yaml using camelCase keys [1][2][3]. - npm_config_* environment variables are no longer read; use pnpm_config_* instead [1][2][3]. - pnpm no longer reads npm's global config at $PREFIX/etc/npmrc [3]. - Package manager strictness settings (managePackageManagerVersions, packageManagerStrict, packageManagerStrictVersion) collapsed into pmOnFail: download | ignore | warn | error [1]. - allowNonAppliedPatches renamed to allowUnusedPatches; auditConfig.ignoreCves to auditConfig.ignoreGhsas (requires manual CVE to GHSA conversion) [1][2]. Command and behavior changes [1][2][3]: - pnpm link no longer resolves from global store; use relative/absolute paths (e.g., pnpm link ./foo). Removed --global flag (use pnpm add -g .) and pnpm link with no args [1][3]. - pnpm install -g (no args) unsupported; use pnpm add -g <pkg> [1]. - pnpm server command removed [1][2]. - Script names like clean, setup, deploy, rebuild now shadow built-in commands; use pnpm pm <command> to force built-ins [1]. - Removed npm CLI fallback: commands like access, bugs, docs, edit, home, issues, owner, ping, prefix, profile, pkg, search, set-script, team, token, unstar, whoami, xmas (and aliases) now throw errors; many reimplemented natively [2][3]. - Global installs (pnpm add -g) now use isolated directories in {pnpmHomeDir}/global/v11/{hash}/ to prevent interference [3]. - Globally installed binaries now in bin/ subdirectory of PNPM_HOME [3]. Removed/deprecated features [2][3]: - Deprecated build dependency settings removed: onlyBuiltDependencies, onlyBuiltDependenciesFile, neverBuiltDependencies, ignoredBuiltDependencies, ignoreDepScripts. Use allowBuilds map instead [2][3]. - Removed support for useNodeVersion, Env.nodeVersion, pnpmfile [2]. Other [1][2][3]: - Bumps packageManager in package.json to pnpm v11 version [1]. - Default changes: optimisticRepeatInstall: true, verifyDepsBeforeRun: install, minimumReleaseAge: 1440 (1 day), minimumReleaseAgeStrict: false [2]. - Drops Node.js 18-21 support; now pure ESM; standalone exe requires glibc 2.27+ [3]. A codemod is available to automate many config migrations [4]. pnpm prints a pointer to the migration guide on pnpm self-update from v10 [1].
Citations:
- 1: https://pnpm.io/migration
- 2: https://github.com/pnpm/pnpm/releases/tag/v11.0.0-rc.0
- 3: https://pnpm.io/blog/releases/11.0
- 4: https://app.codemod.com/registry/pnpm-v10-to-v11
Review pnpm 11 migration guide and update configuration accordingly.
pnpm 11 introduces breaking changes requiring configuration updates:
- Settings in the
pnpmfield inpackage.jsonand.npmrcmust migrate topnpm-workspace.yamlwith camelCase keys npm_config_*environment variables replaced withpnpm_config_*pnpm link --globalremoved; usepnpm add -g <pkg>instead- Build dependency settings (
neverBuiltDependencies,ignoreDepScripts, etc.) replaced withallowBuildsmap - Node.js 18-21 support dropped; now pure ESM
- Global installs now use isolated directories at
{pnpmHomeDir}/global/v11/{hash}/
Use the pnpm codemod to automate most config migrations, then verify all settings are correctly moved to pnpm-workspace.yaml.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@package.json` at line 6, The package.json currently pins "packageManager":
"pnpm@11.1.2" but the repo must be migrated to pnpm v11 config changes: run the
pnpm v10→v11 codemod to move settings from the "pnpm" field in package.json and
any .npmrc entries into a new pnpm-workspace.yaml (use camelCase keys), replace
any npm_config_* env usages with pnpm_config_*, stop using pnpm link --global
(use pnpm add -g), convert build-related settings (neverBuiltDependencies,
ignoreDepScripts, etc.) into the allowBuilds map, verify Node engine
compatibility (v18–v21 removed, ensure pure ESM readiness), and confirm global
install path expectations (pnpmHomeDir/global/v11/{hash}); update packageManager
value only after these migrations and verify CI/environment variables and
workspace config are correct.
2a1dd99 to
845acb7
Compare
There was a problem hiding this comment.
♻️ Duplicate comments (1)
package.json (1)
6-6:⚠️ Potential issue | 🟠 Major | 🏗️ Heavy liftpnpm v11 bump needs config migration validation before merge.
Line 6 upgrades to
pnpm@11.1.2, but this file still contains legacy pnpm config keys (Lines 42 and 46) that may no longer behave as intended under v11. Please validate and migrate config to the v11-supported shape before releasing.#!/bin/bash set -euo pipefail echo "1) Locate workspace-level pnpm config files" fd -HI '^pnpm-workspace\.yaml$' . fd -HI '^\.npmrc$' . echo echo "2) Find deprecated/legacy pnpm keys and any new allowBuilds usage" rg -n --hidden --glob '!.git' '"(ignoredBuiltDependencies|onlyBuiltDependencies|neverBuiltDependencies|ignoreDepScripts|allowBuilds)"' echo echo "3) Find packageManager pin and pnpm config blocks" rg -n --hidden --glob '!.git' '"packageManager"\s*:|^\s*"pnpm"\s*:' echo echo "4) Check env var usage needing pnpm v11 migration" rg -n --hidden --glob '!.git' '\bnpm_config_[A-Za-z0-9_]+\b|\bpnpm_config_[A-Za-z0-9_]+\b' echo echo "5) Check for removed global-link patterns" rg -n --hidden --glob '!.git' 'pnpm\s+link(\s+--global|\s+-g|\s*$)'🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@package.json` at line 6, The packageManager bump to "pnpm@11.1.2" requires validating and migrating legacy pnpm config keys (e.g., ignoredBuiltDependencies, onlyBuiltDependencies, neverBuiltDependencies, ignoreDepScripts, allowBuilds) before merge; inspect and update workspace-level pnpm config (pnpm-workspace.yaml) and project .npmrc entries to the v11-supported shape, replace/deprecate old env var usages (npm_config_*/pnpm_config_*), remove any deprecated global link patterns (pnpm link --global/-g), and ensure the packageManager pin remains correct; run the provided shell checks (search for pnpm-workspace.yaml, .npmrc, the legacy keys, packageManager/pnpm blocks, and env var patterns) and apply migrations so the repo config matches pnpm v11 expectations.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Duplicate comments:
In `@package.json`:
- Line 6: The packageManager bump to "pnpm@11.1.2" requires validating and
migrating legacy pnpm config keys (e.g., ignoredBuiltDependencies,
onlyBuiltDependencies, neverBuiltDependencies, ignoreDepScripts, allowBuilds)
before merge; inspect and update workspace-level pnpm config
(pnpm-workspace.yaml) and project .npmrc entries to the v11-supported shape,
replace/deprecate old env var usages (npm_config_*/pnpm_config_*), remove any
deprecated global link patterns (pnpm link --global/-g), and ensure the
packageManager pin remains correct; run the provided shell checks (search for
pnpm-workspace.yaml, .npmrc, the legacy keys, packageManager/pnpm blocks, and
env var patterns) and apply migrations so the repo config matches pnpm v11
expectations.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: e766f135-c608-4b3a-b538-99c7494d15cb
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (5)
.github/actions/setup/action.yml.github/workflows/checking-dependencies.ymlpackage.jsonpackages/app/package.jsonpackages/eslint-template/package.json
✅ Files skipped from review due to trivial changes (3)
- .github/workflows/checking-dependencies.yml
- .github/actions/setup/action.yml
- packages/eslint-template/package.json
🚧 Files skipped from review as they are similar to previous changes (1)
- packages/app/package.json
980a33b to
bed89b0
Compare
This PR contains the following updates:
^2.4.9→^2.5.3^0.6.0→^0.7.0^2.30.0→^2.31.0^0.75.0→^0.75.2^0.58.0→^0.59.0^0.96.0→^0.96.2^0.106.0→^0.107.0^0.75.0→^0.75.1^0.51.0→^0.51.1^0.18.0→^0.18.2^4.7.1→^4.7.22.0.3→2.1.03.3.5→3.3.6^25.5.0→^25.9.5^8.57.2→^8.63.0^8.57.2→^8.63.08.57.2→8.63.08.57.2→8.63.0^4.1.2→^4.1.10^1.6.13→^1.6.23v6→v7^2.4.9→^2.5.3^3.21.0→^3.21.4^10.1.0→^10.7.0^3.3.2→^3.6.0^4.4.4→^4.4.5^7.3.2→^7.4.1^12.1.1→^13.0.0^4.0.2→^4.1.0^63.0.0→^71.1.0^17.4.0→^17.7.0^4.0.8→^5.0.1224.14.1→24.18.0^11.12.1→^12.0.110.33.0→11.12.0v5→v6^27.0.2→^28.0.0>=4.8.4 <7.0.0→>=4.8.4 <8.0.0^6.0.2→^7.0.2^8.57.2→^8.63.0^8.0.3→^8.1.4^4.1.2→^4.1.10cc @skulidropek
Release Notes
biomejs/biome (@biomejs/biome)
v2.5.3Compare Source
Patch Changes
#10815
86613d5Thanks @WaterWhisperer! - Fixed a parser panic reported in #10708: Biome now recovers when unsupported CSS Modules@valuerules or scoped@keyframesnames end at EOF.#10534
da9b403Thanks @Mokto! - FixednoUnusedVariablesfalse positives in Svelte files: Svelte store subscriptions ($storereferences in templates now keep the underlyingstorebinding from being flagged), and$bindable()props that are only written to in the script block (write-only is intentional for bindable props) are no longer reported as unused.#10827
098ba41Thanks @Aqu1bp! - Fixed #10698: ThenoUnsafeOptionalChainingrule now reports unsafe optional chains wrapped in TypeScriptas,satisfies, type assertion, and instantiation expressions, such asnew (value?.constructor as Constructor)().#10773
3c6513dThanks @otkrickey! - Fixed #10772:useVueValidVOnno longer reports a missing handler for v-on directives using a verb modifier (.stop/.prevent) without an expression, e.g.<div @​click.stop></div>. The rule also accepts the arg-less object syntax<div v-on="$listeners"></div>instead of reporting a missing event name.#10721
d83c66bThanks @minseong0324! - Improved type-aware lint rule inference for built-in globals and indexed function calls. Biome now resolvesError(...),new Error(...), optionalError#stack, and calls through indexed function values such ashandlers[0]()more accurately.#10865
6450276Thanks @ematipico! - Fixed #10845. Biome Language Server no longer goes in deadlock when the scanner is enabled.#10853
93d8e53Thanks @Netail! - Fixed #10840: Astro shorthand attribute syntax is now correctly being parsed from embedded nodes.#10820
bba3092Thanks @JamBalaya56562! - Fixed #10619:noProcessEnvnow also reports computed (bracket) member access. Previously only dot access was checked, soprocess["env"]andenv["NODE_ENV"](whereenvis imported fromnode:process) were missed. Both static and computed accesses are now reported.#10835
3447b2fThanks @dyc3! - Fixed #10824:useDomQuerySelectornow supports anignoreoption for receiver identifiers that should not be reported.#10875
b12e486Thanks @dyc3! - Fixed #10795:--profile-rulesnow reports timings for each plugin separately asplugin/<pluginName>, matching the naming used by plugin suppressions, instead of aggregating all plugins under a singleplugin/pluginentry.#10877
d6bc447Thanks @ematipico! - Fixed biome-zed#164: Biome no longer inserts stray whitespace when format-on-type runs after closing delimiters such as),], and}.#10867
a21463eThanks @dyc3! - Fixed #10864: Biome no longer crashes when checking or linting HTML files with unquoted attribute values such as<textarea rows=4></textarea>.v2.5.2Compare Source
Patch Changes
#10595
f458028Thanks @pkallos! - Added the optionignoreBooleanCoercionto useNullishCoalescing. When enabled, Biome ignores||and||=used inside aBoolean()call, where coalescing on falsy values is intentional.#10798
4a32b63Thanks @pkallos! - Added the optionignorePrimitivesto useNullishCoalescing. When enabled, Biome ignores||,||=, and ternary expressions whose non-nullish operands are all primitives the option opts out of. Usetrueto ignore all primitives, or an object selectingstring,number,boolean, orbigint.#10545
f3d4c00Thanks @Mokto! - Added the new nursery rulenoSvelteUnnecessaryStateWrap, which reports unnecessary$state()wrapping of classes fromsvelte/reactivitythat are already reactive.#10752
f62fb8bThanks @ematipico! - Fixed #10739. Now the ruleuseValidAutocompletecorrectly flags theautoCompleteattribute.#10796
f1b3ab2Thanks @ematipico! - Fixed #10768. Improved the performance of the Biome Language Server by cancelling certain in-flight operations when there are fast updates.#10719
aa649b5Thanks @minseong0324! - FixednoMisleadingReturnTypefalse positive on returns that use a widening type assertion:"a" as stringis no longer reported as misleading. The rule now also reports a literal-pinning assertion such asfalse as false, matching the existingas constbehavior.#10678
8f073a7Thanks @PranavAchar01! - Fixed #7718: Biome now correctly parses CSS nesting selectors when&appears as a trailing sub-selector after a type selector, e.g.h1& { color: red; }.#10756
5ec965aThanks @denbezrukov! - Fixed CSS formatter output for selector lists withallowWrongLineCommentsand//comments after a selector comma. Biome now keeps the selector before the line comment inline instead of breaking it across descendant combinators.#10757
6232fcdThanks @PranavAchar01! - Fixed #8269: the CSS parser now accepts Tailwind@variantand@utilitynames that start with a digit, such as the2xlbreakpoint.#10777
575ced6Thanks @WaterWhisperer! - Fixed an issue reported in #10708: the GitLab reporter now handles--verbosediagnostics filtering correctly.#10281
0efe244Thanks @Zelys-DFKH! - Fixed a bug where GritQL patterns rejected positional (unkeyed) arguments.#10758
e36fd8aThanks @henrybrewer00-dotcom! - Fixed #10697: The formatter no longer removes the parentheses around anawaitoryieldexpression used as the target of a TypeScript instantiation expression. For example,(await makeFactory)<Value>is no longer reformatted toawait makeFactory<Value>, which would change the meaning of the code.#10586
3617094Thanks @IxxyDev! - Fixed #9568:noFloatingPromisesno longer reports a false positive when calling an overloaded function and the selected overload does not return a promise.#10766
7aff4c1Thanks @JamBalaya56562! - Fixed #2862:noInteractiveElementToNoninteractiveRoleno longer reports custom elements (a tag name containing a dash, e.g.<my-button role="img" />). Per the W3C HTML-ARIA specification, a custom element may be given any role or none.#10680
771daa4Thanks @WaterWhisperer! - Fixed #10635: Biome now recognizes chainedtable tests such as
test.concurrent.each()andit.concurrent.each()as test calls, fixingnoMisplacedAssertionfalse positives and improving formatting for those test declarations.#10759
34570b5Thanks @henrybrewer00-dotcom! - Fixed #10636: noStaticElementInteractions no longer reports a false positive for event handlers on Svelte special elements such as<svelte:window>,<svelte:document>, and<svelte:body>. These are not real DOM elements, so they are now ignored by the rule.#10741
bd2364eThanks @JamBalaya56562! - Fixed #6686: theragecommand now respects the--config-pathoption and theBIOME_CONFIG_PATHenvironment variable when loading the Biome configuration. Previously it always used the default configuration resolution and reported the configuration asNot setwhen nobiome.jsonexisted in the working directory.#10763
2c3e82dThanks @Aqu1bp! - Fixed #10742:noSolidDestructuredPropsnow reports destructured props in Solid function components and JSX children.#10606
a4cc4abThanks @Mokto! - Fixed false positives innoUnusedImports,noUnusedVariables, anduseImportTypefor Svelte components that use both a<script module>and a<script>block. The two blocks compile to a single module and share a top-level scope, so a binding (import, function, or variable) declared in one block and used only in the other is no longer reported as unused.#10767
36d5aa7Thanks @otkrickey! - Fixed #10754:useVueValidVBindno longer reports the Vue 3.4+ same-name shorthand as missing a value.:fooandv-bind:fooare now accepted as equivalent to:foo="foo", whilev-bind,v-bind:[dynamicArg], and:[dynamicArg]without a value continue to be reported.#10775
a918af0Thanks @WaterWhisperer! - Fixed an issue reported in #10708:biome ragedidn't detect running Biome daemon pipes on Windows.#10730
5a2e65bThanks @dinocosta! - Fixed an issue where Biome was resolving the well-known Zed settings file from the wrong location on macOS and Windows.#10807
d97fffeThanks @ematipico! - Fixed an issue where.scssfiles were incorrectly analyzed when runningbiome check.#10672
53c6efcThanks @ematipico! - Fixed a bug where Biome incorrectly formatted snippets that have parsing errors.#10719
aa649b5Thanks @minseong0324! - FixeduseAwaitThenablefalse positive when awaiting a custom thenable that is not the globalPromise. A value with a callablethenmember is now recognized as awaitable.#10734
4396496Thanks @BangDori! - Fixed #10708:biome migratenow preserves trivia when migrating the deprecatedrecommendedoption topreset.#10683
ae31a00Thanks @Netail! - Fixed #10657 #10671 #10661 #10637 #10718: HTML rules now correctly handle dynamic attributes.#10746
54e8239Thanks @ematipico! - Fixed an issue wherenoUndeclaredClassesdidn't correctly detect styles defined inside the Astro directiveis:global.#10770
dd1429cThanks @ematipico! - Improved the Biome Language Server DX by orchestrating certain operations, so that they won't block the editor during typing. This improvement is more visible in large documents.#10473
d9b5133Thanks @Mokto! - ImprovednoUnusedImports,noUnusedVariables,noUnusedFunctionParameters, anduseImportTypefor Svelte, Vue, and Astro files (withhtml.experimentalFullSupportEnabled). Bindings used only in the template — including component tags, attribute interpolations, directives,bind:shorthand, and snippet parameters — are no longer reported as unused, while genuinely unused ones still are.#10796
f1b3ab2Thanks @ematipico! - Fixed an issue where the Biome Language Server didn't enable project or type-aware lint rules, even when they were explicitly enabled.#10746
54e8239Thanks @ematipico! - Fixed an issue wherenoUndeclaredClassesdidn't detect styles declared inside HTML documents.#10774
bde945bThanks @pattrickrice! - Fixed #10268 where a race condition resulted in internal errors such as:The file biome.json does not exist in the workspace.v2.5.1Compare Source
Patch Changes
#10722
f8a303dThanks @denbezrukov! - Fixed CSS formatter output for comments between import media queries.#10738
9fdc560Thanks @JamBalaya56562! - Fixed #9899: thejsonandjson-prettyreporters now escape backslashes in a diagnostic'slocation.path. Previously, paths containing backslashes (such as Windows-style paths) were emitted unescaped, producing invalid JSON.#10626
5f837dfThanks @tom-groves! - Fixed #10625:biome migrateno longer emits an invalid trailing comma when a renamed rule (such asnoConsoleLog→noConsole) is the last member of its rule group. Previously this produced malformed output that aborted the migration of a strict-JSONbiome.jsonwith a parsing error.#10535
c245f9dThanks @Mokto! - Fixed a false positive innoUnusedVariablesfor Svelte files where variables referenced inside{@​html expr}blocks were incorrectly reported as unused.#10668
a0f197eThanks @Netail! - Thebiome initcommand has been updated to include a more up-to-date URL to the first-party extensions page.#10667
d8c3e87Thanks @Netail! - Fixed #10664: useErrorCause now correctly detects a shorthand property.#10696
ef2373fThanks @ematipico! - Fixed #9566. Improved how the Biome Language Server loads multiple configuration files inside a workspace.#10705
4ccb410Thanks @ematipico! - Fixed #10652. Biome plugins are now properly filtered when using--onlyand--skipflags.#10669
aa0a6ebThanks @Netail! - Fixed #10651: useInlineScriptId now correctly trims trivia to detect if an id attribute has been set.#10689
844b1beThanks @ematipico! - Fixed #10658. The issue was caused by the "Go-to definition" editor feature, which was enabled by default. The feature is now disabled by default. To work, the feature triggers the scanner to build the module graph. This caused memory leak issues in cases where Biome starts in the home directory to modify files.If you relied on this new feature, you must now turn on using the [editor settings] of the extension e.g. Zed and VSCode.
#10695
043fbb5Thanks @ematipico! - Fixed #10674. Biome now throws an error when the fieldlevelis missing from a rule option.#10712
5941df2Thanks @Conaclos! - Improved the diagnostic and the documentation ofuseFlatMap.#10615
23814f1Thanks @qwertycxz! - Improved the DX the JSON schema when it's used by certain code editors like VSCode.#10688
ec69489Thanks @ematipico! - Fixed a bug where the Biome Daemon did not correctly shut down when the editor was closed during an in-progress operation, especially while scanning.#10701
6c2e0d7Thanks @ematipico! - Fixed #10694. The Biome Language Server no longer prints an error when the user hovers a variable imported from node_modules.#10681
888515bThanks @Conaclos! - FixeduseExportTypethat reported useless details in some diagnostics.#10220
3694a13Thanks @theBGuy! - FixeduseAnchorContentfalse positive for<a>elements used as render prop values (e.g.render={<a href="..." />}), a pattern where the receiving component renders its children inside the anchor element.#10702
98823fbThanks @ematipico! - Fixed #10612. The Biome parser now correctly parses processing instructions. The following SVG doesn't throw errors anymore:v2.5.0Compare Source
Minor Changes
#9539
f0615fdThanks @ematipico! - Added a new reporter calledconcise. When--reporter=conciseis passed the commandsformat,lint,checkandci, the diagnostics are printed in a compact manner:#9495
2056b23Thanks @aviraldua93! - Added theuseKeyWithClickEventsa11y lint rule for HTML files (.html,.vue,.svelte,.astro). This is a port of the existing JSX rule. The rule enforces that elements with anonclickhandler also have at least one keyboard event handler (onkeydown,onkeyup, oronkeypress) to ensure keyboard accessibility.Inherently keyboard-accessible elements (
<a>,<button>,<input>,<select>,<textarea>,<option>) are excluded, as are elements hidden from assistive technologies (aria-hidden) or withrole="presentation"/role="none".#9152
9ec8500Thanks @ematipico! - Added new nursery lint rulenoUndeclaredClassesfor HTML, JSX, and SFC files (Vue, Astro, Svelte). The rule detects CSS class names used inclass="..."(orclassName) attributes that are not defined in any<style>block or linked stylesheet reachable from the file.#9152
9ec8500Thanks @ematipico! - Added new nursery lint rulenoUnusedClassesfor CSS. The rule detects CSS class selectors that are never referenced in any HTML or JSX file that imports the stylesheet. This is a project-domain rule that requires the module graph.#9546
6567efaThanks @nhedger! - Added abiome upgradecommand for standalone installations. It upgrades Homebrew installs withbrew upgrade biome, updates manually installed binaries from the latest GitHub release, and tells npm users to upgrade with their package manager instead.#9716 [
701767a](https://redireConfiguration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, 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.