CodeVetter · Repo Unpack · Testing signals
reduxjs/redux
Tests and CI were inspected, not executed; no passing result or coverage percentage is established here. Root Vitest tests exercise runtime contracts, while TypeScript fixtures exercise API inference and extension types. CI describes source tests, packed-artifact tests, a compiler-version matrix, and consumer integration builds. This is a bounded inspection, and test discovery and direct source imports limit what can be inferred about examples, documentation, and distribution coverage.
- Root test uses vitest --run --typecheck, with globals enabled and discovery rooted at test; type-tests separately invokes tsc against test/typescript. These configurations were inspected without execution.
- createStore tests assert unsubscribe behavior during notification, subscriptions added mid-dispatch, and the latest subscription snapshot for nested dispatch.
- Store tests cover plain-object validation, forbidden reducer-time store operations, recovery after a reducer exception, and non-string action type rejection, including acceptance of an empty string type.
- combineReducers tests exercise invalid map entries, undefined outputs, initialization failure, referential equality, and root shape changes when reducers are added, changed, or removed.
- Middleware tests cover construction-time dispatch rejection, one-time setup, recursive dispatch through the chain, thunk behavior, and extra dispatch arguments; observable tests include unsubscribe and RxJS integration.
- Declaration fixtures use expectTypeOf and typed middleware examples for Promise dispatch, thunk dispatch, exact state access, and custom action unions; CI specifies TypeScript 5.6 through 7.0 plus a non-blocking next compiler.
- CI describes lint, format, source tests, build/pack, TEST_DIST artifact tests, package-type analysis, and pinned Toolkit consumer projects for Next, Vite, Node, React Native, and Expo; some tests such as compose.spec.ts import source directly despite TEST_DIST.
- The inspected counter-ts reducer suite asserts initialization and three synchronous actions, without async lifecycle assertions in that file; examples use separate react-scripts test commands and fall outside the root Vitest test directory.