- eslint.config.js: disable no-non-null-assertion for *.test.ts/tsx and
tests/** (fixture-driven tests routinely use arr[0]! after a length
check — signal there is low).
- closestFlight.ts: replace flights.legs[0]! / flights[flights.length-1]!
with explicit null checks.
- FlightDetailsAccordion.tsx: refactor transition + meal/service
branches to use local consts narrowed by a preceding truthy check,
dropping the `leg.transition!.registration!` patterns.
Warning count: 190 → 65. Remaining warnings are pre-existing production-code
non-null assertions spread across the codebase.
Replaces the FlatCompat shim (which loaded .eslintrc.cjs via @eslint/eslintrc
and emitted deprecation warnings) with a native ESLint 9 flat config. Adds
typescript-eslint meta-package as the flat-config entrypoint and pins
@eslint/js to v9 to satisfy the eslint@9 peer range. Rule set is preserved
verbatim from the Phase 1A-1 plan (Task 4).