`exactOptionalPropertyTypes` was disabled in `tsconfig/base.json` to unblock the Vite 8/Rolldown upgrade.
The flag causes type errors in third-party type definitions that don't account for it:
- Rolldown (`MinimalPluginContext` interface extension conflict)
- vitest 4.1.0 (`FailureScreenshotArtifactAttachment.body: undefined` vs `string | Uint8Array`)
- @types/node (causes duplicate Vite type resolutions)
melonJS source code itself builds cleanly with the flag enabled — the errors are exclusively in `node_modules` type definitions.
Action
Re-enable `exactOptionalPropertyTypes: true` in `packages/tsconfig/base.json` once these upstream libraries fix their type definitions. Periodically check by enabling the flag and running `pnpm build`.