mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-27 18:22:41 -08:00
1.9 KiB
1.9 KiB
id, title, status, assignee, created_date, updated_date, labels, dependencies, priority
| id | title | status | assignee | created_date | updated_date | labels | dependencies | priority | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TASK-103 | Extract Jellyfin runtime wiring from main.ts composition root | To Do | 2026-02-22 07:13 | 2026-02-22 07:13 |
|
|
medium |
Description
src/main.ts remains oversized (3014 LOC) and still carries a dense Jellyfin wiring block (roughly main.ts:1145-1565) despite composition-root refactors.
Goal: finish extraction of Jellyfin-specific dependency construction and command/setup orchestration into dedicated runtime composer modules so main.ts remains thin and legible.
Action Steps
- Extract Jellyfin config/client-info/auth/list/play/setup dependency builders from
src/main.tsinto focused files undersrc/main/runtime/composers/. - Create one Jellyfin composition entrypoint that returns fully wired handlers used by
main.ts. - Remove duplicated inline adapter lambdas from
main.ts; keep only high-level invocation points. - Add/expand composer seam tests for extracted Jellyfin module boundaries.
- Re-run fan-in and compile checks to ensure extraction does not regress runtime wiring.
Acceptance Criteria
- #1
src/main.tsno longer contains the full Jellyfin deps-building block. - #2 New Jellyfin composer modules have focused tests covering handler wiring.
- #3
bun run check:main-faninstays green after extraction. - #4
bun run buildandbun run test:core:srcpass.
Definition of Done
- #1
src/main.tsLOC reduced materially from current baseline. - #2 Jellyfin runtime wiring is centralized in named composer module(s) with clear ownership docs.
- #3 No behavior regressions in Jellyfin command/setup flows.