Skip to content

FPFNFIXAPEX preserve responsive styled parent image boxes - #2140

Open
aidenybai wants to merge 3 commits into
mainfrom
codex/fp-responsive-styled-parent-image-box
Open

aidenybai wants to merge 3 commits into
mainfrom
codex/fp-responsive-styled-parent-image-box

Conversation

@aidenybai

@aidenybai aidenybai commented Oct 19, 2026 •

Copy link
Copy Markdown
Member

Why

When no-img-without-dimensions is enabled, it can report an image whose local styled-components parent already reserves a fixed box at every visible screen width. The parent box can provide the missing layout reservation.

What changed

  • Recognize private local styled.div parents with positive fixed dimensions or hidden states across all supported screen-width intervals, with both image maximum-size constraints.
  • Follow direct literal width helpers from one local file, checking overlapping breakpoints, fractional intervals, bindings, declaration order, and supported ancestors.
  • Preserve warnings when another local styled component can inject sibling or descendant sizing overrides. Unrelated styled interpolations, unsupported nested selectors, and literal at-rule text in surrounding templates decline the reservation proof. This includes external stylesheet imports in sibling components and styled ancestors.
  • Keep incomplete breakpoint coverage, mutable or exported parents, overriding attributes, opaque style writers, custom wrappers, and unsupported CSS outside the new exemption. The rule remains off by default, with its existing message and severity.

This covers ordinary screen rendering under the declared styled-components contract. It does not establish print coverage, arbitrary provider substitutions, or measured CLS.

Test plan

  • Full local suite: 34,129 passed, 1,118 skipped; all 12 tasks ran without cache. Lint, typecheck, formatting, registry generation, fresh five-package build, and JSON-report smoke passed.
  • Added synthetic sibling-selector/interpolation regressions and unrelated/ancestor stylesheet-import warning controls, plus a quiet unrelated literal style control. Reporting fuzz corpus fixtures and generator snippets cover the escapes. Existing responsive and ancestor controls remain covered.
  • Strict target-rule fuzz passed with seed 42, 500 configured iterations, and required firing. The runner did not print numeric execution or firing counts.
  • Published API comparisons covered 52 synthetic projects under isolated and default rule configurations. The final branch preserves all 48 original target warnings and the unrelated default warning, restores three missed sibling-override warnings, and keeps the nominal fixed-box exemption. Every selected main file completed analysis; retained diagnostic objects and order are unchanged.
  • Built CLI comparisons covered three sibling-boundary modules under both configurations: the fixed parent remains quiet and both unsafe sibling overrides retain the base warnings, including their full diagnostic identities. A separate three-module CLI/API comparison restores both stylesheet-import warnings and keeps the ordinary literal sibling quiet; the original 52 API projects retain identical complete diagnostic arrays. The declared styled-components 6.1.19 dependency, Stylis 4.3.2, was independently integrity-verified and observed to emit the nested import at stylesheet scope.
  • Independent source review passed. Remote parity could not start because DAYTONA_API_KEY is absent; the local comparisons are finite synthetic evidence.

@pkg-pr-new

pkg-pr-new Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Open in StackBlitz

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

commit: 867196a

@github-actions

github-actions Bot commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Interactive terminal E2E

Terminal Control verified the built CLI at 867196a 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 marked this pull request as ready for review October 20, 2026 07:19
@aidenybai
aidenybai marked this pull request as draft October 20, 2026 07:35
@aidenybai
aidenybai marked this pull request as ready for review October 20, 2026 08:25

This branch has not been deployed

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

1 participant