Skip to content

fix(linter): inference regression - #11035

Merged
ematipico merged 1 commit into
mainfrom
fix/regression-inference
Jul 23, 2026
Merged

ematipico merged 1 commit into
mainfrom
fix/regression-inference

Conversation

@ematipico

Copy link
Copy Markdown
Member

Summary

Closes #10961

Helped myself with a coding agent.

Test Plan

I tested locally with a debug build, and confirmed it fixes the issue. I'll trigger a preview release too.

Docs

N/A

@changeset-bot

changeset-bot Bot commented Jul 22, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 4f46857

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 13 packages
Name Type
@biomejs/biome Patch
@biomejs/cli-win32-x64 Patch
@biomejs/cli-win32-arm64 Patch
@biomejs/cli-darwin-x64 Patch
@biomejs/cli-darwin-arm64 Patch
@biomejs/cli-linux-x64 Patch
@biomejs/cli-linux-arm64 Patch
@biomejs/cli-linux-x64-musl Patch
@biomejs/cli-linux-arm64-musl Patch
@biomejs/wasm-web Patch
@biomejs/wasm-bundler Patch
@biomejs/wasm-nodejs Patch
@biomejs/backend-jsonrpc Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions

Copy link
Copy Markdown
Contributor

✅ Organic activity

No automation signals detected in the analyzed events.

View full analysis →

This is an automated analysis by AgentScan

@github-actions github-actions Bot added A-Project Area: project A-Linter Area: linter L-JavaScript Language: JavaScript and super languages labels Jul 22, 2026
@ematipico
ematipico requested review from a team July 22, 2026 19:18
@coderabbitai

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Walkthrough

The PR caches typed-module inference availability and legacy resolver instances, and updates TypedService helpers to reuse them. noMisusedPromises now classifies expressions and performs early exits before type inference. CSS and JavaScript lint handlers select semantic models based on whether parsed sources originate from a workspace or interned source. A changeset records a patch release and the performance fix.

Possibly related PRs

Suggested labels: A-Type-Inference

Suggested reviewers: dyc3

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title matches the main change: a linter inference/performance regression fix.
Description check ✅ Passed The description is related to the fix and the linked issue, so it is acceptable.
Linked Issues check ✅ Passed The caching and inference-path changes address the reported linter inference slowdown in [#10961].
Out of Scope Changes check ✅ Passed No clear out-of-scope changes stand out; the touched linter and typed-service code fits the regression fix.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/regression-inference

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
.changeset/clean-actors-relate.md (1)

1-6: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Add the issue link, and consider naming the actually-reported rules.

This closes #10961, which reported the regression for noUnusedVariables/noUnusedFunctionParameters — but the changeset only mentions noMisusedPromises and has no issue link. As per coding guidelines: "Include issue links, rule links, and assist links in changeset descriptions." Based on learnings, bugfix changesets should use the format Fixed [#NUMBER](issue link): ....

📝 Suggested rewording
-Fixed a performance regression in [`noMisusedPromises`](https://biomejs.dev/linter/rules/no-misused-promises/) that caused type inference to run repeatedly while linting a file.
+Fixed [`#10961`](https://github.com/biomejs/biome/issues/10961): a performance regression that caused type inference to run repeatedly while linting a file, affecting `noUnusedVariables`, `noUnusedFunctionParameters`, and [`noMisusedPromises`](https://biomejs.dev/linter/rules/no-misused-promises/).
🤖 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 @.changeset/clean-actors-relate.md around lines 1 - 6, Update the changeset
description to use the required “Fixed [`#10961`](issue link): …” format, include
the issue link, and identify noUnusedVariables and noUnusedFunctionParameters as
the affected rules instead of noMisusedPromises.

Sources: Coding guidelines, Learnings

🧹 Nitpick comments (1)
crates/biome_js_analyze/src/lint/nursery/no_misused_promises.rs (1)

115-122: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Consider a one-line rationale comment here.

Worth a short // note on why literal/non-argument expressions are filtered before inference — it's the crux of the perf fix and future contributors touching this rule should know not to move inference earlier.

✏️ Suggested comment
+        // Skip inference for expressions that can't be a returning-callback
+        // argument, to avoid re-triggering type inference per candidate.
         if expression.as_any_js_literal_expression().is_some()
🤖 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 `@crates/biome_js_analyze/src/lint/nursery/no_misused_promises.rs` around lines
115 - 122, Add a concise rationale comment immediately before the early return
in the expression filtering condition, explaining that excluding literals and
non-call-argument expressions avoids unnecessary inference and preserves the
performance optimization. Do not alter the filtering logic.
🤖 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 `@crates/biome_service/src/file_handlers/css.rs`:
- Around line 625-630: Add regression tests for semantic-model selection in
crates/biome_service/src/file_handlers/css.rs at lines 625-630, covering both
Workspace and Interned parsed origins. Add corresponding tests in
crates/biome_service/src/file_handlers/javascript.rs at lines 1106-1113 for both
origins, including SemanticModelOptions, and verify each path uses the
appropriate semantic model.

---

Outside diff comments:
In @.changeset/clean-actors-relate.md:
- Around line 1-6: Update the changeset description to use the required “Fixed
[`#10961`](issue link): …” format, include the issue link, and identify
noUnusedVariables and noUnusedFunctionParameters as the affected rules instead
of noMisusedPromises.

---

Nitpick comments:
In `@crates/biome_js_analyze/src/lint/nursery/no_misused_promises.rs`:
- Around line 115-122: Add a concise rationale comment immediately before the
early return in the expression filtering condition, explaining that excluding
literals and non-call-argument expressions avoids unnecessary inference and
preserves the performance optimization. Do not alter the filtering logic.
🪄 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: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 00bff3fd-49c2-470e-b23e-7e791fb163a3

📥 Commits

Reviewing files that changed from the base of the PR and between f0ebdbb and 4f46857.

📒 Files selected for processing (5)
  • .changeset/clean-actors-relate.md
  • crates/biome_js_analyze/src/lint/nursery/no_misused_promises.rs
  • crates/biome_js_analyze/src/services/typed.rs
  • crates/biome_service/src/file_handlers/css.rs
  • crates/biome_service/src/file_handlers/javascript.rs

Comment on lines +625 to +630
let semantic_model = match &params.parsed_source {
super::ParsedOrigin::Workspace(source) => {
css_semantic_model(&params.workspace_db, source).clone()
}
super::ParsedOrigin::Interned { .. } => semantic_model(&tree),
};

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Add origin-specific regression coverage.

The semantic-model selection contract needs tests for both workspace-backed and interned/in-flight parses.

  • crates/biome_service/src/file_handlers/css.rs#L625-L630: test both CSS origin paths.
  • crates/biome_service/src/file_handlers/javascript.rs#L1106-L1113: test both JavaScript origin paths, including SemanticModelOptions.
    As per coding guidelines, all code changes must include appropriate tests, and bug fixes must include a regression test.
📍 Affects 2 files
  • crates/biome_service/src/file_handlers/css.rs#L625-L630 (this comment)
  • crates/biome_service/src/file_handlers/javascript.rs#L1106-L1113
🤖 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 `@crates/biome_service/src/file_handlers/css.rs` around lines 625 - 630, Add
regression tests for semantic-model selection in
crates/biome_service/src/file_handlers/css.rs at lines 625-630, covering both
Workspace and Interned parsed origins. Add corresponding tests in
crates/biome_service/src/file_handlers/javascript.rs at lines 1106-1113 for both
origins, including SemanticModelOptions, and verify each path uses the
appropriate semantic model.

Source: Coding guidelines

@codspeed

codspeed Bot commented Jul 22, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 58 untouched benchmarks
⏩ 213 skipped benchmarks1


Comparing fix/regression-inference (4f46857) with main (f0ebdbb)

Open in CodSpeed

Footnotes

  1. 213 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩

@ematipico
ematipico merged commit 0e4b03b into main Jul 23, 2026
46 checks passed
@ematipico
ematipico deleted the fix/regression-inference branch July 23, 2026 08:50
@github-actions github-actions Bot mentioned this pull request Jul 23, 2026
OIRNOIR pushed a commit to OIRNOIR/YouTube-Helper-Server that referenced this pull request Aug 4, 2026
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@biomejs/biome](https://biomejs.dev) ([source](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome)) | imports | patch | [`2.5.5` -> `2.5.6`](https://renovatebot.com/diffs/npm/@biomejs%2fbiome/2.5.5/2.5.6) |

---

### Release Notes

<details>
<summary>biomejs/biome (@&#8203;biomejs/biome)</summary>

### [`v2.5.6`](https://github.com/biomejs/biome/blob/HEAD/packages/@&#8203;biomejs/biome/CHANGELOG.md#256)

[Compare Source](https://github.com/biomejs/biome/compare/@biomejs/biome@2.5.5...@biomejs/biome@2.5.6)

##### Patch Changes

- [#&#8203;11035](biomejs/biome#11035) [`0e4b03b`](biomejs/biome@0e4b03b) Thanks [@&#8203;ematipico](https://github.com/ematipico)! - Fixed a performance regression in [`noMisusedPromises`](https://biomejs.dev/linter/rules/no-misused-promises/) that caused type inference to run repeatedly while linting a file.

- [#&#8203;11043](biomejs/biome#11043) [`22ec076`](biomejs/biome@22ec076) Thanks [@&#8203;denbezrukov](https://github.com/denbezrukov)! - Fixed CSS formatting for multiline function arguments preceded by comments:

  ```diff
   .example {
     value: outer(
       1,
       /* comment */
       nested(
  -      first,
  -      second
  -    )
  +        first,
  +        second
  +      )
     );
   }
  ```

- [#&#8203;11007](biomejs/biome#11007) [`c9acb25`](biomejs/biome@c9acb25) Thanks [@&#8203;BTF-Kabir-2020](https://github.com/BTF-Kabir-2020)! - Fixed [#&#8203;9195](biomejs/biome#9195): [`useHookAtTopLevel`](https://biomejs.dev/linter/rules/use-hook-at-top-level/) no longer reports hooks in named `forwardRef` components that receive a `ref` parameter.

- [#&#8203;10152](biomejs/biome#10152) [`50a9bd8`](biomejs/biome@50a9bd8) Thanks [@&#8203;Zelys-DFKH](https://github.com/Zelys-DFKH)! - Fixed [#&#8203;10131](biomejs/biome#10131): Biome now correctly parses curried arrow functions in ternary consequents when the inner arrow's parameters use a destructuring pattern, e.g. `cond ? (x) => ({ a, b }) => body : alt`.

- [#&#8203;11105](biomejs/biome#11105) [`8ffe2b9`](biomejs/biome@8ffe2b9) Thanks [@&#8203;dadavidtseng](https://github.com/dadavidtseng)! - Fixed [#&#8203;11092](biomejs/biome#11092): The [`noUselessTernary`](https://biomejs.dev/linter/rules/no-useless-ternary/) quick fix now preserves operator spacing when simplifying or inverting boolean ternary expressions.

- [#&#8203;10533](biomejs/biome#10533) [`5809875`](biomejs/biome@5809875) Thanks [@&#8203;Mokto](https://github.com/Mokto)! - Fixed [#&#8203;10515](biomejs/biome#10515): `biome check --write` was not idempotent on Svelte files — multi-line template literals in `<script>` blocks and block comments in `<style>` blocks gained an extra indent level on every run.

- [#&#8203;11040](biomejs/biome#11040) [`0abb620`](biomejs/biome@0abb620) Thanks [@&#8203;Mokto](https://github.com/Mokto)! - Fixed an issue where the HTML formatter would duplicate a comment placed directly before a Svelte `{@&#8203;const ...}` or `{@&#8203;debug ...}` block. The duplication compounded on every subsequent `--write`, causing the file to grow exponentially.

- [#&#8203;10858](biomejs/biome#10858) [`6d18204`](biomejs/biome@6d18204) Thanks [@&#8203;ruidosujeira](https://github.com/ruidosujeira)! - Fixed [#&#8203;10839](biomejs/biome#10839): Svelte `{#each}` array destructuring no longer includes spaces inside square brackets, and multiline bind function expressions now indent their getter, setter, and function body correctly.

- [#&#8203;11009](biomejs/biome#11009) [`2c36626`](biomejs/biome@2c36626) Thanks [@&#8203;ematipico](https://github.com/ematipico)! - Improved the accuracy of type-aware lint rules by resolving more inferred types. For example, [`noFloatingPromises`](https://biomejs.dev/linter/rules/no-floating-promises/) now detects floating Promises returned by aliased callbacks and arrays of Promises created by async mapping callbacks.

  The following statements are now reported:

  ```ts
  type AsyncCallback = () => Promise<void>;
  declare const callback: AsyncCallback;
  callback();

  [1, 2, 3].map(async (value) => value);
  ```

- [#&#8203;10973](biomejs/biome#10973) [`9cb044c`](biomejs/biome@9cb044c) Thanks [@&#8203;ematipico](https://github.com/ematipico)! - Fixed false positives in [`noMisleadingReturnType`](https://biomejs.dev/linter/rules/no-misleading-return-type/) when generic-constraint, normalization, substitution, or structural return-type comparison cannot complete. The rule now suppresses diagnostics rather than suggesting a return type derived from partial information. For example, this unresolved return type is no longer reported:

  ```ts
  function unresolvedReturnType(): MissingType {
    return "value" as const;
  }
  ```

- [#&#8203;11071](biomejs/biome#11071) [`15047a2`](biomejs/biome@15047a2) Thanks [@&#8203;dyc3](https://github.com/dyc3)! - The HTML parser now accepts mixed-case `doctype` declarations.

- [#&#8203;11030](biomejs/biome#11030) [`cc90e65`](biomejs/biome@cc90e65) Thanks [@&#8203;marschattha](https://github.com/marschattha)! - The `rdjson` reporter now populates the [severity](https://github.com/reviewdog/reviewdog/blob/master/proto/rdf/reviewdog.proto) field of each diagnostic (`ERROR`, `WARNING`, or `INFO`), so tools consuming Reviewdog Diagnostic Format output no longer need to assume a default severity.

- [#&#8203;11009](biomejs/biome#11009) [`2c36626`](biomejs/biome@2c36626) Thanks [@&#8203;ematipico](https://github.com/ematipico)! - Fixed a performance regression in type-aware JavaScript lint rules by inferring only requested types and memoizing export resolution.

- [#&#8203;11056](biomejs/biome#11056) [`903b177`](biomejs/biome@903b177) Thanks [@&#8203;dyc3](https://github.com/dyc3)! - Added support for Svelte declaration tags using `let` and `const`. Biome can now parse, format, and lint bindings declared in these tags.

- [#&#8203;11045](biomejs/biome#11045) [`89c27c6`](biomejs/biome@89c27c6) Thanks [@&#8203;ematipico](https://github.com/ematipico)! - Improved the performance of Biome formatter up to \~7% across the board.

- [#&#8203;9806](biomejs/biome#9806) [`781d68d`](biomejs/biome@781d68d) Thanks [@&#8203;dyc3](https://github.com/dyc3)! - Added the nursery rule [`noJsRestrictedProperties`](https://biomejs.dev/linter/rules/no-js-restricted-properties/), which ports ESLint's `no-restricted-properties` rule. Biome now flags restricted member access and object destructuring, and `biome migrate eslint` preserves the rule's options.

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- 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.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yODQuMCIsInVwZGF0ZWRJblZlciI6IjQzLjI4NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Reviewed-on: https://git.oirnoir.dev/OIRNOIR/YouTube-Helper-Server/pulls/33
OIRNOIR pushed a commit to OIRNOIR/YouTube-Helper-Client that referenced this pull request Aug 4, 2026
This PR contains the following updates:

| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
| [@biomejs/biome](https://biomejs.dev) ([source](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome)) | imports | patch | [`2.5.5` -> `2.5.6`](https://renovatebot.com/diffs/npm/@biomejs%2fbiome/2.5.5/2.5.6) | `2.5.7` |

---

### Release Notes

<details>
<summary>biomejs/biome (@&#8203;biomejs/biome)</summary>

### [`v2.5.6`](https://github.com/biomejs/biome/blob/HEAD/packages/@&#8203;biomejs/biome/CHANGELOG.md#256)

[Compare Source](https://github.com/biomejs/biome/compare/@biomejs/biome@2.5.5...@biomejs/biome@2.5.6)

##### Patch Changes

- [#&#8203;11035](biomejs/biome#11035) [`0e4b03b`](biomejs/biome@0e4b03b) Thanks [@&#8203;ematipico](https://github.com/ematipico)! - Fixed a performance regression in [`noMisusedPromises`](https://biomejs.dev/linter/rules/no-misused-promises/) that caused type inference to run repeatedly while linting a file.

- [#&#8203;11043](biomejs/biome#11043) [`22ec076`](biomejs/biome@22ec076) Thanks [@&#8203;denbezrukov](https://github.com/denbezrukov)! - Fixed CSS formatting for multiline function arguments preceded by comments:

  ```diff
   .example {
     value: outer(
       1,
       /* comment */
       nested(
  -      first,
  -      second
  -    )
  +        first,
  +        second
  +      )
     );
   }
  ```

- [#&#8203;11007](biomejs/biome#11007) [`c9acb25`](biomejs/biome@c9acb25) Thanks [@&#8203;BTF-Kabir-2020](https://github.com/BTF-Kabir-2020)! - Fixed [#&#8203;9195](biomejs/biome#9195): [`useHookAtTopLevel`](https://biomejs.dev/linter/rules/use-hook-at-top-level/) no longer reports hooks in named `forwardRef` components that receive a `ref` parameter.

- [#&#8203;10152](biomejs/biome#10152) [`50a9bd8`](biomejs/biome@50a9bd8) Thanks [@&#8203;Zelys-DFKH](https://github.com/Zelys-DFKH)! - Fixed [#&#8203;10131](biomejs/biome#10131): Biome now correctly parses curried arrow functions in ternary consequents when the inner arrow's parameters use a destructuring pattern, e.g. `cond ? (x) => ({ a, b }) => body : alt`.

- [#&#8203;11105](biomejs/biome#11105) [`8ffe2b9`](biomejs/biome@8ffe2b9) Thanks [@&#8203;dadavidtseng](https://github.com/dadavidtseng)! - Fixed [#&#8203;11092](biomejs/biome#11092): The [`noUselessTernary`](https://biomejs.dev/linter/rules/no-useless-ternary/) quick fix now preserves operator spacing when simplifying or inverting boolean ternary expressions.

- [#&#8203;10533](biomejs/biome#10533) [`5809875`](biomejs/biome@5809875) Thanks [@&#8203;Mokto](https://github.com/Mokto)! - Fixed [#&#8203;10515](biomejs/biome#10515): `biome check --write` was not idempotent on Svelte files — multi-line template literals in `<script>` blocks and block comments in `<style>` blocks gained an extra indent level on every run.

- [#&#8203;11040](biomejs/biome#11040) [`0abb620`](biomejs/biome@0abb620) Thanks [@&#8203;Mokto](https://github.com/Mokto)! - Fixed an issue where the HTML formatter would duplicate a comment placed directly before a Svelte `{@&#8203;const ...}` or `{@&#8203;debug ...}` block. The duplication compounded on every subsequent `--write`, causing the file to grow exponentially.

- [#&#8203;10858](biomejs/biome#10858) [`6d18204`](biomejs/biome@6d18204) Thanks [@&#8203;ruidosujeira](https://github.com/ruidosujeira)! - Fixed [#&#8203;10839](biomejs/biome#10839): Svelte `{#each}` array destructuring no longer includes spaces inside square brackets, and multiline bind function expressions now indent their getter, setter, and function body correctly.

- [#&#8203;11009](biomejs/biome#11009) [`2c36626`](biomejs/biome@2c36626) Thanks [@&#8203;ematipico](https://github.com/ematipico)! - Improved the accuracy of type-aware lint rules by resolving more inferred types. For example, [`noFloatingPromises`](https://biomejs.dev/linter/rules/no-floating-promises/) now detects floating Promises returned by aliased callbacks and arrays of Promises created by async mapping callbacks.

  The following statements are now reported:

  ```ts
  type AsyncCallback = () => Promise<void>;
  declare const callback: AsyncCallback;
  callback();

  [1, 2, 3].map(async (value) => value);
  ```

- [#&#8203;10973](biomejs/biome#10973) [`9cb044c`](biomejs/biome@9cb044c) Thanks [@&#8203;ematipico](https://github.com/ematipico)! - Fixed false positives in [`noMisleadingReturnType`](https://biomejs.dev/linter/rules/no-misleading-return-type/) when generic-constraint, normalization, substitution, or structural return-type comparison cannot complete. The rule now suppresses diagnostics rather than suggesting a return type derived from partial information. For example, this unresolved return type is no longer reported:

  ```ts
  function unresolvedReturnType(): MissingType {
    return "value" as const;
  }
  ```

- [#&#8203;11071](biomejs/biome#11071) [`15047a2`](biomejs/biome@15047a2) Thanks [@&#8203;dyc3](https://github.com/dyc3)! - The HTML parser now accepts mixed-case `doctype` declarations.

- [#&#8203;11030](biomejs/biome#11030) [`cc90e65`](biomejs/biome@cc90e65) Thanks [@&#8203;marschattha](https://github.com/marschattha)! - The `rdjson` reporter now populates the [severity](https://github.com/reviewdog/reviewdog/blob/master/proto/rdf/reviewdog.proto) field of each diagnostic (`ERROR`, `WARNING`, or `INFO`), so tools consuming Reviewdog Diagnostic Format output no longer need to assume a default severity.

- [#&#8203;11009](biomejs/biome#11009) [`2c36626`](biomejs/biome@2c36626) Thanks [@&#8203;ematipico](https://github.com/ematipico)! - Fixed a performance regression in type-aware JavaScript lint rules by inferring only requested types and memoizing export resolution.

- [#&#8203;11056](biomejs/biome#11056) [`903b177`](biomejs/biome@903b177) Thanks [@&#8203;dyc3](https://github.com/dyc3)! - Added support for Svelte declaration tags using `let` and `const`. Biome can now parse, format, and lint bindings declared in these tags.

- [#&#8203;11045](biomejs/biome#11045) [`89c27c6`](biomejs/biome@89c27c6) Thanks [@&#8203;ematipico](https://github.com/ematipico)! - Improved the performance of Biome formatter up to \~7% across the board.

- [#&#8203;9806](biomejs/biome#9806) [`781d68d`](biomejs/biome@781d68d) Thanks [@&#8203;dyc3](https://github.com/dyc3)! - Added the nursery rule [`noJsRestrictedProperties`](https://biomejs.dev/linter/rules/no-js-restricted-properties/), which ports ESLint's `no-restricted-properties` rule. Biome now flags restricted member access and object destructuring, and `biome migrate eslint` preserves the rule's options.

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- 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.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yODQuMCIsInVwZGF0ZWRJblZlciI6IjQzLjI4NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Reviewed-on: https://git.oirnoir.dev/OIRNOIR/YouTube-Helper-Client/pulls/15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-Linter Area: linter A-Project Area: project L-JavaScript Language: JavaScript and super languages

Projects

None yet

Development

Successfully merging this pull request may close these issues.

🐛 Performance regression with noUnusedVariables

2 participants