Add approved trace files for payload, @trpc/server, @trpc/client, zod, superjson, @payloadcms/db-postgres, @payloadcms/richtext-lexical, globals, react, react-dom, vitest, @tanstack/react-query, and all @testing-library/* packages. All traces dated 2026-05-14, decision: approved, adr: null. Establishes the baseline so the pre-commit library-decisions gate is additive (new deps require traces) rather than disruptive (old deps fail immediately). All 34 trace files pass validateTrace() from schema.mjs. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3.0 KiB
package, version, tier, decision, date, deciders, adr, filter-results, verification-commands, accepted-cves
| package | version | tier | decision | date | deciders | adr | filter-results | verification-commands | accepted-cves | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @testing-library/user-event | ^14.5.0 | core | approved | 2026-05-14 |
|
null |
|
|
Filter: license
npm view @testing-library/user-event license returns MIT. MIT is on the allowlist.
Filter: types
@testing-library/user-event ships its own TypeScript declaration files. No separate @types/ package is needed.
Filter: maintenance
Actively maintained by the Testing Library organization. The 14.x line is the current major. Regular releases.
Filter: boundary-fit
@testing-library/user-event is a dependency of @repo/core-testing, the workspace's shared testing infrastructure. It provides realistic user interaction simulation (userEvent.click, userEvent.type, etc.) that more accurately models browser behavior than fireEvent. This is the correct placement for shared test infrastructure.
Filter: shadow-check
@testing-library/user-event is the sole user interaction simulation library in the workspace. No competing library is present.
Filter: eu-residency
@testing-library/user-event is a test utility library with no network communication. EU residency does not apply.
Filter: cve-scan
pnpm audit --audit-level=moderate reports no advisories against @testing-library/user-event at the time of this trace.
Filter: named-consumer
@repo/core-testing uses @testing-library/user-event to provide realistic interaction utilities for component tests. Feature packages with interactive UI components use these via core-testing. Named, non-hypothetical consumer exists today.
Prompt: replaces
@testing-library/user-event replaces @testing-library/dom's fireEvent for interaction tests. userEvent simulates the full browser event sequence (pointerdown → mousedown → focus → click → pointerup → mouseup) rather than dispatching a single synthetic event, producing more faithful integration tests.
Prompt: migration-cost-out
Low. @testing-library/user-event is used in component tests alongside @testing-library/react. Removing it requires downgrading interaction tests to fireEvent calls — a mechanical change but a loss of test fidelity.
Prompt: alternatives-considered
fireEventonly — Simpler but fires only one synthetic event per interaction; misses focus/blur and keyboard event sequences that real browsers emit.- Playwright component testing — Full browser testing is reserved for e2e (
pnpm test:e2e);userEventis the right tool for unit/integration component tests.