Files
agentic-dev/docs/library-decisions/2026-05-14-react.md
Danijel Martinek 98d96d2e19 docs(tooling): add sub-processor discriminated union to ADR-022 and traces
Amends ADR-022 §9 with the `is-sub-processor` / `processes-pii` discriminated
union spec, including the five conditional fields required when a library is a
true GDPR sub-processor. Updates the evaluate-library skill to prompt for these
fields during every trace authoring pass and adds the updated frontmatter
template. Backfills all nine existing library-decision traces with the new
fields; payload gets `processes-pii: true` (self-hosted CMS that stores user
data); all pure in-process libraries get `false / false`.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 18:44:09 +00:00

2.8 KiB

package, version, tier, decision, date, deciders, adr, lastRevalidated, is-sub-processor, processes-pii, filter-results, verification-commands, accepted-cves
package version tier decision date deciders adr lastRevalidated is-sub-processor processes-pii filter-results verification-commands accepted-cves
react ^19.0.0 core approved 2026-05-14
Danijel Martinek
null null false false
license types maintenance boundary-fit shadow-check eu-residency cve-scan named-consumer
MIT native active pass pass n/a clean pass
npm view react license
npm view react version
pnpm audit --audit-level=moderate

Filter: license

npm view react license returns MIT. MIT is on the allowlist.

Filter: types

React 19 ships its own TypeScript declaration files bundled in the package. No separate @types/react package is required at runtime (though @types/react is still used as a devDependency for type-checking in some packages).

Filter: maintenance

Actively maintained by Meta. React 19 is the current stable major release. Long-term support commitment from Meta; used in production by millions of applications.

Filter: boundary-fit

react is a dependency of @repo/core-testing to support React component rendering in test environments via @testing-library/react. The Next.js and TanStack Start apps consume React through their framework packages. No boundary rule restricts React usage in the testing tier.

Filter: shadow-check

React is the sole UI rendering library in the workspace. No competing component library (Vue, Svelte, Solid, etc.) is present.

Filter: eu-residency

react is a pure runtime library for UI rendering with no network communication to vendor-controlled endpoints. EU residency does not apply.

Filter: cve-scan

pnpm audit --audit-level=moderate reports no advisories against react at the time of this trace.

Filter: named-consumer

@repo/core-testing uses react as a peer for @testing-library/react. The Next.js and TanStack Start apps consume React through their framework layers. Named, non-hypothetical consumers exist today.

Prompt: replaces

React replaces no prior UI framework — it is the founding choice for the web layer of this monorepo.

Prompt: migration-cost-out

Impossible. React's component model and JSX syntax are used throughout both frontend apps and the testing layer. Replacing React would require rewriting all UI components, routing layers, and testing utilities across two apps.

Prompt: alternatives-considered

  1. Vue — Different component model; incompatible with the Next.js and tRPC ecosystem choices made at project inception.
  2. Solid — Excellent performance characteristics but smaller ecosystem; Next.js and the established tRPC/React Query integration made React the pragmatic choice.