--- package: react-dom version: "^19.0.0" tier: core decision: approved date: 2026-05-14 deciders: [Danijel Martinek] adr: null lastRevalidated: null is-sub-processor: false processes-pii: false filter-results: license: MIT types: native maintenance: active boundary-fit: pass shadow-check: pass eu-residency: n/a cve-scan: clean named-consumer: pass socketRisk: clean verification-commands: - npm view react-dom license - npm view react-dom version - pnpm audit --audit-level=moderate accepted-cves: [] --- ## Filter: license `npm view react-dom license` returns `MIT`. MIT is on the allowlist. ## Filter: types `react-dom` ships its own TypeScript declaration files in React 19. No separate `@types/react-dom` package is required at runtime. ## Filter: maintenance Actively maintained by Meta alongside `react`. Versioned and released together with the React core package. ## Filter: boundary-fit `react-dom` is a dependency of `@repo/core-testing` to enable DOM-based React component rendering via `@testing-library/react`. No boundary rule restricts `react-dom` usage in the testing tier. ## Filter: shadow-check `react-dom` is the sole React DOM renderer in the workspace. No competing renderer (react-native, react-three-fiber, etc.) targets the same DOM environment. ## Filter: eu-residency `react-dom` is a pure runtime library for DOM rendering with no network communication. EU residency does not apply. ## Filter: cve-scan `pnpm audit --audit-level=moderate` reports no advisories against `react-dom` at the time of this trace. ## Filter: named-consumer `@repo/core-testing` uses `react-dom` as a peer dependency for `@testing-library/react` DOM rendering. Named, non-hypothetical consumer exists today. ## Prompt: replaces `react-dom` is the mandatory companion to `react` for web rendering; no alternative was evaluated separately. ## Prompt: migration-cost-out Impossible. `react-dom` is the DOM rendering layer for all React components in the workspace. Replacing it would require migrating to a different renderer or framework simultaneously with React. ## Prompt: alternatives-considered 1. **`react-dom/server` only** — Insufficient: the testing layer requires the full DOM renderer for `@testing-library/react`. 2. **No alternatives applicable** — `react-dom` is the only DOM renderer for React; the choice is inherent to the React framework selection.