Skip to content

fix(core): preserve settings from adopted lint configs - #1695

Merged
aidenybai merged 5 commits into
mainfrom
cursor/triage-1694-9f05
Aug 30, 2026
Merged

fix(core): preserve settings from adopted lint configs#1695
aidenybai merged 5 commits into
mainfrom
cursor/triage-1694-9f05

Conversation

@skoshx

@skoshx skoshx commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Summary

  • preserve third-party plugin settings when React Doctor adopts .oxlintrc.json or .eslintrc.json
  • read settings even when Oxlint cannot use an ESLint config through extends
  • use the existing JSONC parser and protect generated settings from prototype keys
  • add focused unit and end-to-end Tailwind regressions

Product check

  • User job: keep existing lint plugin configuration active during a React Doctor scan.
  • Reuse: extend the existing lint-config detection and generated Oxlint config.
  • Telemetry: existing rule.fired and lint.failed signals cover adopted plugin behavior. No new metric is needed.
  • Kill metric: revert settings adoption if adopted-config scans increase lint.failed by more than 1% across two releases.

Validation

  • nr test
  • nr lint
  • nr typecheck
  • nr format:check
  • nr build
  • nr smoke:json-report
  • focused core and CLI regressions
  • one separate performance threshold failed once during the concurrent suite, then passed three direct reruns and the full-suite rerun

Closes #1694

cursoragent and others added 2 commits August 28, 2026 21:15
- Read settings from adopted lint configs via readAdoptedLintConfigSettings
- Merge adopted settings (e.g. tailwindcss.entryPoint) with react-doctor settings
- Exclude react-doctor settings from adoption to avoid circular override
- Add comprehensive tests for settings adoption and merging
- Add user-tailwind-config fixture to verify Tailwind settings adoption

Fixes #1694

Co-authored-by: Skosh <skoshx@users.noreply.github.com>
Co-authored-by: Skosh <skoshx@users.noreply.github.com>
@pkg-pr-new

pkg-pr-new Bot commented Aug 28, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/eslint-plugin-react-doctor@1695
npm i https://pkg.pr.new/oxlint-plugin-react-doctor@1695
npm i https://pkg.pr.new/react-doctor@1695

commit: 6a3235e

@github-actions

github-actions Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

React Doctor found no new issues. 🎉

Reviewed by React Doctor for commit 6a3235e.

@github-actions

github-actions Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Interactive terminal E2E

Terminal Control verified the built CLI at 6a3235e in a real PTY:

  • selected a project interactively and observed Scanning... before the three-second Git delay completed
  • waited for the clean result and exercised the compact report
  • opened copy context and the GitHub Actions confirmation, then cancelled safely

Download the edited MP4 and PNG evidence

@aidenybai aidenybai changed the title fix: adopt settings from existing lint configs fix(core): preserve settings from adopted lint configs Aug 30, 2026
@aidenybai
aidenybai marked this pull request as ready for review August 30, 2026 05:26
@aidenybai
aidenybai merged commit ac87f7d into main Aug 30, 2026
29 of 31 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[config] Adopted oxlint Tailwind entryPoint is not honored

3 participants