veza/apps/web/src/features/chat/components/VirtualizedChatMessages.tsx

7 lines
268 B
TypeScript
Raw Normal View History

export {
VirtualizedChatMessages,
refactor(web): zero out 3 ESLint warning buckets (storybook + react-refresh + non-null-assertion) Three rules cleaned in parallel passes — 187 fewer warnings, 0 TS errors, 0 behaviour change beyond one incidental auth bugfix flagged below. storybook/no-redundant-story-name (23 → 0) — 14 stories files Storybook v7+ infers the story name from the variable name, so `name: 'Default'` next to `export const Default: Story = …` is pure noise. Removed only when the name was redundant ; preserved when the label was a French translation ('Par défaut', 'Chargement', 'Avec erreur', etc.) since those are intentional. react-refresh/only-export-components (25 → 0) — 21 files Each warning marks a file that exports a React component AND a hook / context / constant / barrel re-export. Suppressed per-line with the suppression-with-justification pattern : // eslint-disable-next-line react-refresh/only-export-components -- <kind>; refactor would split a tightly-coupled API The justification matters — every comment names the specific thing being co-located (hook / context / CVA constant / lazy registry / route config / test util / backward-compat barrel). Splitting these would create 21 new files for a HMR-only DX win that's already a non-issue in practice. @typescript-eslint/no-non-null-assertion (139 → 0) — 43 files Distribution of fixes : ~85 cases : refactored to explicit guard `if (!x) throw new Error('invariant: …')` or hoisted into local with narrowing. ~36 cases : helper extraction (one tooltip test had 16 `wrapper!` patterns reduced to a single `getWrapper()` helper). ~18 cases : suppressed with specific reason : static literal arrays where index is provably in bounds, mock fixtures with structural guarantees, filter-then-map patterns where the filter excludes the null branch. One incidental find : services/api/auth.ts threw on missing tokens but didn't guard `user` ; added the missing check while refactoring the `user!` to a guard. baseline post-commit : 921 warnings, 0 errors, 0 TS errors. The remaining buckets are no-restricted-syntax (757, design-system guardrail), no-explicit-any (115), exhaustive-deps (49). CI --max-warnings will be lowered to 921 in the follow-up commit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-30 21:30:22 +00:00
// eslint-disable-next-line react-refresh/only-export-components -- co-located hook re-exported from the virtualized-chat-messages module
useChatMessages,
VirtualizedChatMessagesSkeleton,
} from './virtualized-chat-messages';