BillTracker/routes
null e0bc82b229 refactor(types): type-check batch 4 — transactions.cts (the 116-error monster)
The worst file, but the errors collapsed to a few roots:
- typed throwStandardized(): never — it always throws, and saying so lets
  TS follow the error-guard, which cleared all 16 'possibly undefined'
  tx.* accesses (validation returns {error} xor {normalized}; the error
  path throws, so normalized is always present past the guard — proven,
  not suppressed)
- typed the normalizeTransactionFields `normalized` accumulator + the
  dynamic body/next/existing params + SORT_COLUMNS maps
- parseInteger's {min,max} options default inferred as null; gave it a
  real {min?: number|null; ...} type
- the rest: callback/helper param annotations, filtered.params spread casts

@ts-nocheck server count: 10 -> 9 (all 20 routes now checked; the 9
remaining are the intentional dynamic services/db files, next commit).
Server 252/252, transaction/spending suites green, probe 33/33.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 07:08:36 -05:00
..
about.cts refactor(types): drop @ts-nocheck from the 9 smallest routes (Phase 6 starter) 2026-07-10 18:17:13 -05:00
aboutAdmin.cts refactor(types): type-check batch 3 — 4 large routes (bills/snowball/aboutAdmin/summary) 2026-07-11 07:03:23 -05:00
admin.cts refactor(types): type-check batch 2 — 7 medium routes + 2 real fixes 2026-07-11 06:57:41 -05:00
analytics.cts refactor(types): drop @ts-nocheck from the 9 smallest routes (Phase 6 starter) 2026-07-10 18:17:13 -05:00
auth.cts refactor(types): type-check batch 1 — 8 tail routes (spending/auth/dataSources/status/profile/import/notifications/categories) 2026-07-11 06:53:27 -05:00
authOidc.cts refactor(types): type-check batch 2 — 7 medium routes + 2 real fixes 2026-07-11 06:57:41 -05:00
bills.cts refactor(types): type-check batch 3 — 4 large routes (bills/snowball/aboutAdmin/summary) 2026-07-11 07:03:23 -05:00
calendar.cts refactor(types): type-check batch 2 — 7 medium routes + 2 real fixes 2026-07-11 06:57:41 -05:00
calendarFeed.cts refactor(types): drop @ts-nocheck from the 9 smallest routes (Phase 6 starter) 2026-07-10 18:17:13 -05:00
categories.cts refactor(types): type-check batch 1 — 8 tail routes (spending/auth/dataSources/status/profile/import/notifications/categories) 2026-07-11 06:53:27 -05:00
dataSources.cts refactor(types): type-check batch 1 — 8 tail routes (spending/auth/dataSources/status/profile/import/notifications/categories) 2026-07-11 06:53:27 -05:00
export.cts refactor(types): type-check batch 2 — 7 medium routes + 2 real fixes 2026-07-11 06:57:41 -05:00
import.cts refactor(types): type-check batch 1 — 8 tail routes (spending/auth/dataSources/status/profile/import/notifications/categories) 2026-07-11 06:53:27 -05:00
matches.cts refactor(types): drop @ts-nocheck from the 9 smallest routes (Phase 6 starter) 2026-07-10 18:17:13 -05:00
monthly-starting-amounts.cts refactor(types): type-check batch 2 — 7 medium routes + 2 real fixes 2026-07-11 06:57:41 -05:00
notifications.cts refactor(types): type-check batch 1 — 8 tail routes (spending/auth/dataSources/status/profile/import/notifications/categories) 2026-07-11 06:53:27 -05:00
payments.cts refactor(types): type-check batch 2 — 7 medium routes + 2 real fixes 2026-07-11 06:57:41 -05:00
privacy.cts refactor(types): drop @ts-nocheck from the 9 smallest routes (Phase 6 starter) 2026-07-10 18:17:13 -05:00
profile.cts refactor(types): type-check batch 1 — 8 tail routes (spending/auth/dataSources/status/profile/import/notifications/categories) 2026-07-11 06:53:27 -05:00
settings.cts refactor(types): drop @ts-nocheck from the 9 smallest routes (Phase 6 starter) 2026-07-10 18:17:13 -05:00
snowball.cts refactor(types): type-check batch 3 — 4 large routes (bills/snowball/aboutAdmin/summary) 2026-07-11 07:03:23 -05:00
spending.cts refactor(types): type-check batch 1 — 8 tail routes (spending/auth/dataSources/status/profile/import/notifications/categories) 2026-07-11 06:53:27 -05:00
status.cts refactor(types): type-check batch 1 — 8 tail routes (spending/auth/dataSources/status/profile/import/notifications/categories) 2026-07-11 06:53:27 -05:00
subscriptions.cts refactor(types): type-check batch 2 — 7 medium routes + 2 real fixes 2026-07-11 06:57:41 -05:00
summary.cts refactor(types): type-check batch 3 — 4 large routes (bills/snowball/aboutAdmin/summary) 2026-07-11 07:03:23 -05:00
tracker.cts refactor(types): drop @ts-nocheck from the 9 smallest routes (Phase 6 starter) 2026-07-10 18:17:13 -05:00
transactions.cts refactor(types): type-check batch 4 — transactions.cts (the 116-error monster) 2026-07-11 07:08:36 -05:00
user.cts refactor(types): drop @ts-nocheck from the 9 smallest routes (Phase 6 starter) 2026-07-10 18:17:13 -05:00
version.cts refactor(types): drop @ts-nocheck from the 9 smallest routes (Phase 6 starter) 2026-07-10 18:17:13 -05:00