peter
04ecd8b3a7
build(frontend): add ESLint flat config as a gate lane
...
ESLint 9 flat config, pinned. Narrow by design: the load-bearing rule is
react-hooks (rules-of-hooks + exhaustive-deps) — 33 disable comments existed for a
rule nothing ran. tsc already owns unused vars / undefined / types, so those are
turned off here to report each finding once. no-explicit-any is off: all 19 live in
the api.ts god-module that R7 rewrites, and it flips the rule back on then.
reportUnusedDisableDirectives is an error, which immediately caught two inert
`eslint-disable` comments (App.tsx, AddToPlaylist.tsx) whose effects have stable
deps — removed. no-unused-expressions allows the side-effect ternary idiom the
codebase already uses (`v.paused ? v.play() : v.pause()`).
Errors: 0. Remaining 38 are warnings (28 react-refresh DX, 10 exhaustive-deps) —
pre-existing, visible in the lint output, tracked to their epics.
2026-07-21 02:25:12 +02:00
..
2026-07-11 04:47:08 +02:00
2026-07-18 19:11:25 +02:00
2026-06-15 00:30:34 +02:00
2026-07-19 20:25:06 +02:00
2026-07-18 00:35:57 +02:00
2026-07-21 02:25:12 +02:00
2026-07-19 01:25:32 +02:00
2026-07-20 22:17:51 +02:00
2026-07-12 07:32:41 +02:00
2026-06-12 18:01:43 +02:00
2026-07-18 19:11:25 +02:00
2026-06-19 11:18:20 +02:00
2026-07-19 20:42:28 +02:00
2026-07-12 00:46:52 +02:00
2026-07-20 01:24:31 +02:00
2026-07-19 22:42:09 +02:00
2026-06-19 03:22:10 +02:00
2026-07-19 20:25:06 +02:00
2026-07-16 00:54:22 +02:00
2026-07-20 01:24:31 +02:00
2026-07-20 00:34:38 +02:00
2026-07-18 19:11:38 +02:00
2026-07-17 03:14:48 +02:00
2026-07-20 00:34:38 +02:00
2026-07-18 06:21:49 +02:00
2026-07-21 01:07:54 +02:00
2026-07-20 23:18:46 +02:00
2026-06-19 11:18:20 +02:00
2026-07-04 19:43:50 +02:00
2026-07-19 05:38:42 +02:00
2026-07-12 00:29:04 +02:00
2026-06-15 00:47:04 +02:00
2026-06-18 01:17:31 +02:00
2026-07-19 00:55:34 +02:00
2026-07-18 18:30:18 +02:00
2026-07-19 01:00:05 +02:00
2026-07-19 05:38:42 +02:00
2026-07-19 00:08:34 +02:00
2026-06-25 22:34:24 +02:00
2026-07-18 19:11:25 +02:00
2026-07-12 05:59:25 +02:00
2026-07-18 19:11:25 +02:00
2026-07-13 02:28:06 +02:00
2026-07-19 01:25:32 +02:00
2026-07-18 02:24:19 +02:00
2026-07-18 23:25:39 +02:00
2026-07-19 00:08:34 +02:00
2026-07-18 19:11:38 +02:00
2026-07-18 19:11:38 +02:00
2026-07-20 01:10:13 +02:00
2026-07-18 05:43:19 +02:00
2026-07-18 05:43:19 +02:00
2026-07-18 19:11:25 +02:00
2026-07-13 05:13:40 +02:00
2026-07-19 05:38:42 +02:00
2026-07-21 00:03:07 +02:00
2026-07-21 00:40:49 +02:00
2026-07-18 23:43:19 +02:00
2026-07-20 23:30:49 +02:00
2026-07-19 03:46:31 +02:00
2026-07-17 03:14:48 +02:00
2026-07-12 20:12:25 +02:00
2026-07-19 06:01:21 +02:00
2026-07-17 03:14:48 +02:00
2026-07-06 22:14:56 +02:00
2026-07-18 23:53:10 +02:00
2026-07-19 04:31:02 +02:00
2026-07-19 01:09:20 +02:00
2026-07-12 22:54:13 +02:00
2026-06-15 00:30:34 +02:00
2026-07-19 05:38:42 +02:00
2026-07-12 05:59:25 +02:00
2026-07-13 02:28:06 +02:00
2026-07-19 01:25:32 +02:00
2026-06-21 01:11:16 +02:00
2026-07-19 05:38:42 +02:00
2026-07-19 05:38:42 +02:00
2026-07-18 19:11:25 +02:00
2026-07-19 01:25:32 +02:00
2026-07-18 19:11:25 +02:00
2026-07-20 23:45:31 +02:00
2026-07-02 01:45:16 +02:00
2026-07-18 19:11:25 +02:00
2026-07-18 19:11:25 +02:00
2026-07-18 19:11:25 +02:00
2026-06-15 21:52:28 +02:00
2026-06-19 11:18:20 +02:00
2026-07-18 02:19:52 +02:00
2026-07-18 19:11:25 +02:00
2026-07-18 19:11:25 +02:00
2026-07-19 21:36:54 +02:00
2026-07-20 00:56:47 +02:00
2026-07-12 23:00:36 +02:00
2026-07-18 19:11:25 +02:00
2026-07-19 00:55:34 +02:00