Skip to content

refactor(lint): port behavior-sensitive type rules - #10934

Merged
ematipico merged 1 commit into
mainfrom
04-sensitive-inference-rule-ports
Jul 16, 2026
Merged

ematipico merged 1 commit into
mainfrom
04-sensitive-inference-rule-ports

Conversation

@ematipico

@ematipico ematipico commented Jul 13, 2026 •

Copy link
Copy Markdown
Member

Summary

Continues #10933 by migrating six behavior-sensitive type-aware lint rules to the Salsa-backed inference APIs:

  • noBaseToString
  • noFloatingPromises
  • noMisusedPromises
  • useAwaitThenable
  • useExhaustiveSwitchCases
  • useNullishCoalescing

The migration removes duplicated legacy type traversal while preserving existing behavior for shadowed Promise and Array classes, dynamic union-valued switch cases, and callback overload selection.

This is an internal migration with no intended user-facing behavior change, so no changeset is required.

Test Plan

Added regression coverage for shadowed built-ins, dynamic switch cases, and overloaded callbacks.

Green CI

Docs

N/A

This PR was created with AI assistance (OpenCode).

@changeset-bot

changeset-bot Bot commented Jul 13, 2026 •

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 84c1de7

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

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

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Mixed activity

Activity patterns show a mix of organic and automated signals.

View full analysis →

This is an automated analysis by AgentScan

@github-actions github-actions Bot added A-Linter Area: linter L-JavaScript Language: JavaScript and super languages labels Jul 13, 2026
@ematipico
ematipico changed the base branch from 03-direct-inference-rule-ports to graphite-base/10934 July 14, 2026 13:42
@ematipico
ematipico force-pushed the 04-sensitive-inference-rule-ports branch from b0d01c1 to ea56a29 Compare July 14, 2026 13:43
@ematipico
ematipico force-pushed the graphite-base/10934 branch from 8e8bbc9 to 621e706 Compare July 14, 2026 13:43
@ematipico
ematipico changed the base branch from graphite-base/10934 to 03-direct-inference-rule-ports July 14, 2026 13:43
@ematipico
ematipico changed the base branch from 03-direct-inference-rule-ports to graphite-base/10934 July 14, 2026 13:56
@ematipico
ematipico force-pushed the 04-sensitive-inference-rule-ports branch from ea56a29 to 2fd36d5 Compare July 14, 2026 13:57
@ematipico
ematipico force-pushed the graphite-base/10934 branch from 621e706 to e2ca9c0 Compare July 14, 2026 13:57
@ematipico
ematipico changed the base branch from graphite-base/10934 to 03-direct-inference-rule-ports July 14, 2026 13:57
@ematipico
ematipico changed the base branch from 03-direct-inference-rule-ports to graphite-base/10934 July 14, 2026 14:11
@ematipico
ematipico force-pushed the 04-sensitive-inference-rule-ports branch from 2fd36d5 to fbc7bec Compare July 14, 2026 14:12
@ematipico
ematipico force-pushed the graphite-base/10934 branch from e2ca9c0 to b570a3c Compare July 14, 2026 14:12
@ematipico
ematipico changed the base branch from graphite-base/10934 to 03-direct-inference-rule-ports July 14, 2026 14:12
@ematipico
ematipico changed the base branch from 03-direct-inference-rule-ports to graphite-base/10934 July 15, 2026 08:36
@ematipico
ematipico force-pushed the graphite-base/10934 branch from b570a3c to 1626684 Compare July 15, 2026 08:37
@ematipico
ematipico force-pushed the 04-sensitive-inference-rule-ports branch from fbc7bec to 349db4f Compare July 15, 2026 08:37
@ematipico
ematipico changed the base branch from graphite-base/10934 to 03-direct-inference-rule-ports July 15, 2026 08:37
@ematipico
ematipico changed the base branch from 03-direct-inference-rule-ports to graphite-base/10934 July 15, 2026 08:44
@ematipico
ematipico force-pushed the 04-sensitive-inference-rule-ports branch from 349db4f to 69cab05 Compare July 15, 2026 08:45
@ematipico
ematipico marked this pull request as draft July 16, 2026 14:38
@ematipico
ematipico force-pushed the 04-sensitive-inference-rule-ports branch from b28e7e9 to 8a8933d Compare July 16, 2026 14:54
@ematipico
ematipico marked this pull request as ready for review July 16, 2026 14:55
@ematipico
ematipico requested review from a team July 16, 2026 14:57
@codspeed

codspeed Bot commented Jul 16, 2026 •

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 76 untouched benchmarks
⏩ 192 skipped benchmarks1


Comparing 04-sensitive-inference-rule-ports (84c1de7) with main (68c10e6)

Open in CodSpeed

Footnotes

  1. 192 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. ↩

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.

wow, this is a lot better

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Yes. The new APIs are way better to follow and to deal with!

@ematipico
ematipico force-pushed the 04-sensitive-inference-rule-ports branch from 8a8933d to ecff79c Compare July 16, 2026 16:00
@github-actions github-actions Bot added the A-Tooling Area: internal tools label Jul 16, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Parser conformance results on

js/262

Test result main count This PR count Difference
Total 53422 53422 0
Passed 52141 52141 0
Failed 1239 1239 0
Panics 42 42 0
Coverage 97.60% 97.60% 0.00%

jsx/babel

Test result main count This PR count Difference
Total 38 38 0
Passed 37 37 0
Failed 1 1 0
Panics 0 0 0
Coverage 97.37% 97.37% 0.00%

markdown/commonmark

Test result main count This PR count Difference
Total 652 652 0
Passed 652 652 0
Failed 0 0 0
Panics 0 0 0
Coverage 100.00% 100.00% 0.00%

symbols/microsoft

Test result main count This PR count Difference
Total 5467 5467 0
Passed 1915 1915 0
Failed 3552 3552 0
Panics 0 0 0
Coverage 35.03% 35.03% 0.00%

ts/babel

Test result main count This PR count Difference
Total 677 677 0
Passed 593 593 0
Failed 84 84 0
Panics 0 0 0
Coverage 87.59% 87.59% 0.00%

ts/microsoft

Test result main count This PR count Difference
Total 18876 18876 0
Passed 13010 13010 0
Failed 5865 5865 0
Panics 1 1 0
Coverage 68.92% 68.92% 0.00%

@ematipico
ematipico force-pushed the 04-sensitive-inference-rule-ports branch from ecff79c to 84c1de7 Compare July 16, 2026 17:03
@github-actions github-actions Bot added A-Parser Area: parser L-HTML Language: HTML and super languages labels Jul 16, 2026
@ematipico
ematipico merged commit 89b6af4 into main Jul 16, 2026
32 checks passed
@ematipico
ematipico deleted the 04-sensitive-inference-rule-ports branch July 16, 2026 18:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-Linter Area: linter A-Parser Area: parser A-Project Area: project A-Tooling Area: internal tools A-Type-Inference Area: type inference agentscan:mixed-signals L-HTML Language: HTML and super languages L-JavaScript Language: JavaScript and super languages

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants