Uh oh!
There was an error while loading. Please reload this page.
chore(lint): clear baseline lint errors in app-shell (#2713 Wave 3.6 — final) - #2748
Merged
Conversation
…ave 3) Final package of #2713 — the whole workspace is now at 0 lint errors. No behavior change; warnings out of scope. - rules-of-hooks (12): hooks after conditional early returns restructured for stable hook order — SchemaForm (issuesByPath hoist + RecordField 5 useState hoist), MetadataPanel (!open guard below hooks), LayeredDiff (code==null guard below useMemos + null-safe rows), ViewPreview (object-view schema useMemo hoist) - static-components (12): getIcon/typeIcon/kindIcon/getMetadata* lookups are stable registry refs -> scoped disables - no-useless-assignment (3): dead = null / = [] initializers (marketplaceApi + 2 ratchet tests) - ban-ts-comment (2): stale @ts-ignore on lucide-react/dynamic.mjs imports removed (no longer error under build tsc) - stale eslint-disable (1): drop @next/next/no-img-element (plugin not loaded) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The latest updates on your projects. Learn more about Vercel for GitHub. |
Contributor
✅ Console Performance Budget
📦 Bundle Size Report
Size Limits
|
Uh oh!
There was an error while loading. Please reload this page.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Final package of the #2713 lint-gate restoration — with this,
pnpm -r lintis at 0 errors across the whole workspace.@object-ui/app-shellwas red at baseline onmain(30 errors, the largest). Errors only; no behavior change.What changed (per rule)
react-hooks/rules-of-hooks(12) — hooks called after conditional early returns; each restructured so hook order is stable across renders (verified each hook's side-effect profile first):SchemaForm: hoisted theissuesByPathuseMemoabove the RawJsonEditor fallback guard; hoistedRecordField's fiveuseStateabove its widget-delegation / specialized-editor early returns.MetadataPanel: movedif (!open) return nullbelow its three hooks.LayeredDiff: moved theif (code == null)guard below the twouseMemos and maderowsnull-safe (code == null ? [] : computeDiffRows(...)) so the hoisted memo can't deref null.ViewPreview: hoisted theobject-viewschemauseMemoabove the three render branches (the earlier branches shadow it with their own localschema/formSchema).react-hooks/static-components(12) — dynamic icon/inspector/preview lookups (getIcon,typeIcon,kindIcon,getMetadataPreview/…Inspector/…DefaultInspector) are stable registry references → justified scoped disables.no-useless-assignment(3) — dead= null/= []initializers (marketplaceApi, the two*.ratchet.test.ts) that the only fall-through paths reassign first.@typescript-eslint/ban-ts-comment(2) — thelucide-react/dynamic.mjsimports ingetIcon/widgetsno longer error under the build'stsc(confirmed: converting to@ts-expect-errorreported TS2578 "unused directive"), so the stale@ts-ignoredirectives are removed outright rather than converted.eslint-disable(1) — removed a@next/next/no-img-elementdirective inAgentPreviewwhose plugin isn't loaded (unknown-rule reference → ESLint v10 error).No lint config was loosened.
Verification
eslint→ 0 errors (30 at baseline).turbo run build→ 29/29 tasks green (also caught the stale-@ts-ignorecase above, which I then fixed).app-shellsuite green — 1763 passed / 211 files, including theadr0054-ratchet/no-refresh-key-remountratchet tests I touched and the restructured metadata-admin components.Closes the sweep
This is the 6th of 6 Wave-3 PRs. Across #2730, #2737, #2738, #2740, #2741, #2744, #2745 and this, all 24 packages that were red at baseline are back to 0 — the per-package
lintgate protects every package again (the goal of #2713).Refs #2713 · pattern from #2709
🤖 Generated with Claude Code