Uh oh!
There was an error while loading. Please reload this page.
chore(lint): clear baseline lint errors in 9 more packages (#2713 Wave 2) - #2737
Merged
Conversation
…ui#2713 Wave 2) Wave 2 of the #2713 lint-gate restoration (after #2730). Nine packages red at baseline on main; cleared every error, no behavior change (warnings out of scope). - rules-of-hooks (i18n, plugin-grid, plugin-view, plugin-list): translation helpers wrapped a provider-safe hook in try/catch -> unwrap (the #2709 fix); plugin-kanban moved its if(error) early return below the useCallback; collaboration __unsafe_usePresenceContext keeps its danger-prefix name via a justified scoped disable - static-components (layout, plugin-list, plugin-report): icon/registry lookups are stable refs -> scoped disable; plugin-charts TreemapCell (genuine inline component) hoisted to module scope - no-irregular-whitespace (plugin-grid ImportWizard): literal U+FEFF CSV BOM written as the escape (runtime-identical) - no-useless-assignment (plugin-grid BulkActionDialog): drop dead initializer - no-unsafe-function-type (plugin-view ViewTabBar): explicit callable signature - no-require-imports (plugin-kanban, plugin-view tests): async vi.mock + await import 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
|
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.
Second wave of the #2713 lint-gate restoration (after #2730 landed Wave 1). Nine packages whose per-package
lintwas red at baseline onmain— the gate could not catch new violations of the same class. Errors only; no behavior change (warnings out of scope per the issue).What changed (per rule)
react-hooks/rules-of-hooks(i18n,plugin-grid,plugin-view×2,plugin-list) — translation helpers (useSafeFieldLabel,useRowActionTranslation,useViewLabel,useViewTabLabel,useMoreLabel) wrapped a provider-safe hook (useObjectTranslation/useObjectLabel, which fall back to the global i18next instance and never throw) intry/catch. Removed the wrapper — the exact fixfeat(fields): select+multiple → multi-value chip picker; restore fields/core lint gates #2709 applied infields. VerifieduseObjectLabelitself only calls the provider-safeuseObjectTranslation.plugin-kanbanObjectKanban: moved theif (error)early return below theuseCallbackso all hooks run unconditionally (identical rendering, stable hook order).collaboration__unsafe_usePresenceContext: an unused@internaltest helper whose__unsafe_prefix is a deliberate danger signal — kept the name via a justified scoped disable rather than renaming away the convention.react-hooks/static-components(layout×3,plugin-list×1,plugin-report×1) — dynamic-icon / registry lookups (resolveIcon,useRegistryComponent) are stable component references, not components created during render → scoped disable with justification.plugin-chartsTreemapCellwas a genuine inline component (defined in render). It's purely props-driven (Recharts injects cell geometry + datum), so it's hoisted to module scope — a real fix, not a disable.no-irregular-whitespace(plugin-gridImportWizard×2) — the flagged char is a literal U+FEFF BOM deliberately prepended to exported CSV/text blobs so Excel detects UTF-8. Rewritten as theescape sequence: byte-identical at runtime, no literal irregular-whitespace char in source (real fix, not a disable).no-useless-assignment(plugin-gridBulkActionDialog) — dropped a dead= nullinitializer that the exhaustiveswitch(incl.default) overwrites before it is read.no-unsafe-function-type(plugin-viewViewTabBar×2) — the dnd-kit render-proplistenersmap is nowRecord<string, (...args: any[]) => void>instead of bareFunction.no-require-imports(plugin-kanban,plugin-viewtests) — hoistedvi.mockfactories use anasyncfactory withawait import('react').No lint config was loosened.
Verification
eslint→ 0 errors in all 9 packages (20 errors at baseline).turbo run build(the dts build CI gates on) → 22/22 tasks green.vi.mockfactories, the kanban early-return move, the i18n/grid/view/list hook unwraps, and the chartsTreemapCellhoist).Scope
Wave 2 of #2713. Remaining: Wave 3 — the heavy
rules-of-hooks+static-componentspackages (app-shell, components, plugin-gantt, plugin-detail, plugin-dashboard, plugin-chatbot), which contain genuine hook-order restructures and will go as per-package PRs with a review checkpoint.Refs #2713 · follows #2730 · pattern from #2709
🤖 Generated with Claude Code