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>
58 lines
1.2 KiB
TypeScript
58 lines
1.2 KiB
TypeScript
export {
|
|
// eslint-disable-next-line react-refresh/only-export-components -- lazy-component registry
|
|
createLazyComponent,
|
|
LazyErrorFallback,
|
|
LazyErrorBoundary,
|
|
LazyDashboard,
|
|
LazyChat,
|
|
LazyChatJoin,
|
|
LazyLibrary,
|
|
LazyProfile,
|
|
LazySettings,
|
|
LazyLogin,
|
|
LazyRegister,
|
|
LazyForgotPassword,
|
|
LazyVerifyEmail,
|
|
LazyResetPassword,
|
|
LazySessions,
|
|
LazyNotFound,
|
|
LazyServerError,
|
|
LazyUserProfile,
|
|
LazyRoles,
|
|
LazyTrackDetail,
|
|
LazyPlaylistRoutes,
|
|
LazySharedPlaylistPage,
|
|
LazyAdminDashboard,
|
|
LazyAdminModeration,
|
|
LazyAdminPlatform,
|
|
LazyAdminTransfers,
|
|
LazyAnalytics,
|
|
LazyWebhooks,
|
|
LazyDesignSystemDemo,
|
|
LazySocial,
|
|
LazyFeed,
|
|
LazyDiscover,
|
|
LazyGear,
|
|
LazyLive,
|
|
LazyGoLive,
|
|
LazyListenTogether,
|
|
LazyCloud,
|
|
LazyQueue,
|
|
LazyDeveloper,
|
|
LazyNotifications,
|
|
LazyMarketplace,
|
|
LazySearch,
|
|
LazySellerDashboard,
|
|
LazyWishlist,
|
|
LazyPurchases,
|
|
LazyProductDetail,
|
|
LazyCheckoutComplete,
|
|
LazySubscription,
|
|
LazyDistribution,
|
|
LazyEducation,
|
|
LazySupport,
|
|
LazyLanding,
|
|
LazyDmca,
|
|
LazyDmcaNotice,
|
|
} from './lazy-component';
|
|
export type { LazyComponentProps, LazyErrorFallbackProps, LazyErrorBoundaryProps } from './lazy-component';
|