Fix unsafe type assertions for oxlint no-unsafe-type-assertion rule
Eliminated unsafe type assertions to satisfy the no-unsafe-type-assertion lint rule while maintaining type safety.
Key changes:
-
src/components/merge.ts: Added generic type parameter to
mergeDeeply, removed unnecessary assertions from caller, added runtime type guard for object merging. One suppression remains for unavoidable function type widening. -
demo/components/Leaflet.tsx: Replaced
as anywithas unknown as Record<string, unknown>double assertion and bracket notation for deleting private_getIconUrlproperty. -
demo/components/Code.tsx: Replaced
as anywith typed intersectionWindow & {Prism?: {manual?: boolean}}for global Prism configuration.
All assertions that remain either have explicit suppressions with justification or are proven safe by TypeScript's type narrowing.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.