Uh oh!
There was an error while loading. Please reload this page.
chore(components): delete two unused react-hooks/static-components disable directives - #6288
Conversation
yinlianghui-tw
commented
Aug 25, 2026
PM review — ACCEPT. The two-direction proof is complete, and this PR quietly re-establishes #4853's precondition.Reviewed by the The proof, both directions as demanded
The Changeset — the #6282 precedent applied correctlyPresence gate red without ( ⭐ The strategic note for the maintainer, on the record
#4853's 2026-08-16 zero-count was nine days stale; this PR re-measures it at zero on current main and then re-zeroes it. When the maintainer rules on flipping ⛔ Not armed yetMarking ready → arming once CI concludes, in the wind-down queue. Generated by Claude Code |
✅ Console Performance Budget
The eager closure is every chunk the entry reaches through static imports — what the browser fetches and parses before the app renders. The entry chunk on its own is a small fraction of it. 📦 Bundle Size Report
Size Limits
|
Uh oh!
There was an error while loading. Please reload this page.
Fixes#5973
Deletes the two
eslint-disable-next-line react-hooks/static-componentscomment lines (whole line,--justification prose included) that no longer suppress anything:packages/components/src/__tests__/record-picker-empty-text-i18n.test.tsx:65packages/components/src/renderers/basic/__tests__/record-picker-label-placeholder-i18n.test.tsx:71Same defect class as the 47 sites PR #4849 cleaned (suppressed-warning-since-removed), not the misplaced-directive class of #4850.
Premise re-verified on current
origin/mainThe card's own measurement, re-run at base
a76b18cf2(not the2aff580b5the card measured):Repo-wide count is still exactly 2, at exactly the two named locations. Premise intact; no other unused directives anywhere in the repo, so nothing beyond the two named sites was in scope.
Both directions proven
Union re-run on the final commit
7c8beecd6:a76b18cf2)7c8beecd6)The second half is what proves the directives were not load-bearing: repo-wide warning count is byte-identical at 10882, so no new warning appeared at the formerly-suppressed lines — or anywhere else. Per-file, both files keep exactly their one pre-existing
@typescript-eslint/no-explicit-anywarning (line 58 and line 64 respectively) and gain nothing.The rule is genuinely live for these files, so "no new warning" is not vacuous:
It is enabled at severity 2 for this exact file and still does not fire on the JSX pattern after the suppression is gone.
Deletion confirmed on disk before any measurement was read: directive anchor
grep -cwent 1 → 0 in each file, line counts 121 → 120 and 179 → 178,git diff --statshows2 files changed, 2 deletions(-).Gate verdict lines
Exit codes captured by redirect before any pipe.
pnpm exec vitest run <paths> --reporter=verbose) —Test Files 2 passed (2)/Tests 18 passed (18)@object-ui/componentstest project, unnarrowed (pnpm exec vitest run packages/components/ --maxWorkers=2) —Test Files 187 passed (187)/Tests 1708 passed (1708)pnpm lint:root, unnarrowed —✖ 28 problems (0 errors, 28 warnings), exit 0, matching the stated baseline exactly. Notelint:rootignorespackages/*/**, so it does not cover the two edited files; their coverage comes from the repo-wideeslint .runs above.pnpm --filter @object-ui/components type-check— exit 0, echoing@object-ui/components@17.6.0 type-check. First attempt hit the stale-dist trap (TS2307in untouched files); resolved bypnpm --workspace-concurrency=2 --filter '@object-ui/components^...' buildfirst.node scripts/check-control-bytes.mjs—✅ check-control-bytes: OK (scanned 5179 tracked text file(s); skipped 85 binary).node scripts/check-changeset-presence.mjs— without a changeset: exit 1,❌ 2 source file(s) of 1 released package(s) changed, and this change adds no changeset. With the empty-frontmatter changeset: exit 0,✅ … declares 1 changeset(s): .changeset/spotty-pianos-shave.md. Every one of them has an EMPTY frontmatter — declared as releasing nothing, which is the explicit exemption and a complete answer to this gate.node scripts/check-changeset-no-major.mjs—✅ No changeset declares amajorbump.node scripts/check-changeset-fixed.mjs—✅ All workspace packages are in the changeset fixed group.Test-only change under a released package's
src/, so it carries an empty-frontmatter changeset declaring it releases nothing. Noskip-changesetlabel was created or applied — that label does not exist in this repo.Relation to #4853
Serial, not folded. #4853 (enabling
linterOptions.reportUnusedDisableDirectives) is a config change with repo-wide blast radius and stays a separate card. This PR is its precondition, and after itpnpm exec eslint . --report-unused-disable-directivesexits 0 — #4853 now has zero remaining blockers from this class.Generated by Claude Code