Uh oh!
There was an error while loading. Please reload this page.
chore(lint): clear baseline lint errors in plugin-dashboard (#2713 Wave 3.1) - #2738
Merged
Conversation
…#2713 Wave 3) First package of Wave 3. plugin-dashboard was red at baseline on main; cleared every error, no behavior change (warnings out of scope). - rules-of-hooks (ObjectDataTable): unwrap try/catch around provider-safe useObjectTranslation (#2709 fix) - static-components (MetricCard, MetricWidget): getLazyIcon is a module-cached stable component per name -> scoped disable - no-irregular-whitespace (DatasetWidget): literal U+FEFF CSV BOM -> escape - no-useless-escape (recordFields): drop needless \$ in a character class - no-sparse-arrays (recordFields): [, ''] fallback -> [undefined, ''] - no-useless-assignment (PivotTable): suffix accumulator -> single const - no-require-imports (designMode test): 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.
First package of Wave 3 in the #2713 lint-gate restoration (Waves 1–2 landed in #2730 / #2737).
@object-ui/plugin-dashboardwas red at baseline onmain. Errors only; no behavior change.Wave 3 packages are shipped one per PR with a review checkpoint (they contain the genuine hook-order restructures); this is the smallest/lowest-risk of the six.
What changed (per rule)
react-hooks/rules-of-hooks(ObjectDataTable) —useObjectTranslationwas wrapped intry/catch(making the hook conditional). Removed the wrapper — the hook is provider-safe (react-i18next falls back to the global instance, never throws), the exact feat(fields): select+multiple → multi-value chip picker; restore fields/core lint gates #2709 fix. The English defaults still stand until a translation resolves.react-hooks/static-components(MetricCard,MetricWidget) —getLazyIcon(name)returns a module-cached, stable component per name (verified:lazy-icon.tsxmemoizes in a module-levelMap; its own doc shows theconst Icon = getLazyIcon(name); <Icon/>pattern). Not a component created during render → justified scoped disable.no-irregular-whitespace(DatasetWidget) — the flagged char is a literal U+FEFF BOM deliberately prepended to the exported CSV blob (Excel UTF-8 detection). Rewritten as theescape: byte-identical at runtime, no literal irregular-whitespace char (real fix, not a disable). Same treatment asplugin-grid/ImportWizardin chore(lint): clear baseline lint errors in 9 more packages (#2713 Wave 2) #2737.no-useless-escape(recordFields) —\$inside a character class is redundant ([\$¥€£]→[$¥€£]); identical regex.no-sparse-arrays(recordFields) — the|| [, '']match fallback is written[undefined, '']so index 0 is an explicit value, not a sparse hole;[1]is still''.no-useless-assignment(PivotTable) —suffixis now a singleconstat its one assignment site instead of a dead-initializedlet(also avoids the follow-onprefer-const).no-require-imports(DashboardRenderer.designModetest) — hoistedvi.mockfactory uses anasyncfactory withawait import('react').No lint config was loosened.
Verification
eslint→ 0 errors (8 at baseline).turbo run build→ 11/11 tasks green.plugin-dashboardsuite green — 122 passed / 24 skipped (16 files).Refs #2713 · follows #2730, #2737 · pattern from #2709
🤖 Generated with Claude Code