CodeVetter · Repo Unpack · Testing signals
remeda/remeda
Tests and CI were inspected, not executed; no passing result or measured coverage is asserted. Vitest separates runtime, type, and property suites, with representative tests targeting dispatch, lazy execution, callback typing, grouping invariants, and timers. CI adds declared Node and TypeScript compatibility matrices plus distribution checks and security-analysis workflows. This is a bounded inventory, and the docs package explicitly documents a lack of tests.
- Vitest defines runtime for src/**/*.test.ts, types for src/**/*.test-d.ts with typecheck-only mode and ignored source errors, and prop for src/**/*.test-prop.ts; runtime and property projects disable isolation.
- Runtime coverage includes src but excludes type tests, property tests, the public barrel, and internal type utilities; the Claude stop hook supplies explicit 100% thresholds, whereas vitest.config.ts itself specifies no thresholds.
- purry tests assert direct calls, one-missing-argument currying, and wrong-arity errors; pipe tests assert mapper invocation counts, filtering before take, ordinary-function boundaries, zero-count early exit, and multi-value lazy results.
- filter type tests assert predicate narrowing and literal behavior, and distinguish a complete data-first callback tuple from the partially reconstructed tuple passed to data-last callbacks.
- groupBy property tests use @fast-check/vitest to check preservation, computed keys, nonempty groups, calling-style equivalence, relative order, and exclusion of undefined-key items.
- The inspected funnel tests use real sleep intervals with UT=16 milliseconds and Vitest mocks to check leading/trailing execution, argument reduction, and suppression when the reducer returns undefined.
- Library CI declares TypeScript 5.1–7.0 type and distribution checks, Node 18/20/22/24/26 runtime tests, and a subsequent property job; scheduled canaries test next/latest/rc/beta, while Codecov collects and uploads runtime coverage.
- Docs instructions state that the package has no tests; its CI performs library build, Astro checking, syncing, linting, and formatting. Separate CodeQL and Scorecard workflows inspect security and supply-chain signals, without proving browser-flow correctness.