CodeVetter · Repo Unpack · Testing signals
preactjs/preact
Tests and CI were inspected, not executed; no passing result, coverage percentage, or benchmark outcome is asserted. Vitest divides node/shared tests from browser suites driven by headless Chromium through Playwright. The configuration can test source or minified bundles, while separate TypeScript commands check declarations. Inspected tests cover DOM output and operation counts, hydration, component construction, suspense, effects, diagnostics, and serialization guards. The inventory and sampled test reading are bounded rather than exhaustive, and explicit skips identify gaps.
- Vitest uses global test APIs and a node/shared project plus browser/shared suites for core, debug, devtools, hooks, compat, test-utils, and jsx-runtime.
- Browser tests use the Playwright provider with one headless Chromium instance; this configuration does not define Firefox or WebKit instances.
- MINIFY=true selects dist aliases and COVERAGE=true enables V8 reports in HTML, LCOV, and text-summary formats; tests transform private property names using mangle.json.
- Core render tests assert text/element transitions and template content reuse; Fragment tests record DOM operation sequences, and component tests check class/function invocation arguments.
- Hydration tests assert textarea synchronization, existing-DOM reuse, zero mutation logs for matching markup, and event activation after hydration; portal tests assert host-node identity and independent cleanup.
- Suspense tests control promise resolution to assert fallback-to-content behavior; suspense-hydration tests assert unchanged markup and no DOM operations while suspended.
- useEffect tests assert pending-effect cancellation on unmount and cleanup-before-create ordering; act tests assert options restoration and flushing of effects and event-triggered updates.
- Debug tests spy on console output, verify devtools attachment, and reject invalid render parents/types; the node suite checks core build exports.
- Security-relevant regression assertions reject JSON-shaped VNode injection and verify escaping of dynamic JSX attribute/child values; their existence is not evidence that they pass at this commit.
- Core and compat declaration checks use strict TypeScript configurations; DOM declaration fixtures include @ts-expect-error checks for invalid ARIA roles and signal-wrapped attributes.
- Explicitly skipped tests concern updating suspended children and successfully unmounting a constantly throwing ref; they cannot supply active regression protection.
- The inspected build-test workflow specifies frozen installation, build, lint, test:unit with coverage, Coveralls reporting, and packaging without pack lifecycle scripts; none of these steps was executed during this investigation.
- Benchmark workflows compare local/base tarballs through a benchmark submodule and upload JSON/log artifacts; those workflow definitions provide no measured result in this brief.