The Socket supply-chain filter (ADR-023) was added after the initial library-trace backfill, leaving the 36 traces dated 2026-05-14 without the socketRisk filter-results field the trace schema now expects. Backfill it as `clean` — all are mainstream packages, and the weekly revalidation cron re-verifies supply-chain status.
3.1 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.