CodeVetter
← All unpacks
CodeVetter · Repo Unpack evidence

remeda/remeda

Scanned commit 9955bb0eca dated 2026-10-01 — last upstream commit. Generated by codevetter 1.15.0 on 2026-10-02.

github.com/remeda/remeda ↗ · 1116 files · 2.3 MB

Remeda The first "data-first" and "data-last" utility library designed especially for TypeScript.

Deep analysis by cli:codex via the codex CLI on 2026-10-02 (383s) — every claim below links to its cited source files. Source inspection; upstream code and tests were not executed.

Overview

Remeda is a TypeScript utility library for developers who want precise inferred types and composable data transformations. Its central mechanism supports both data-first and data-last calls, while pipe combines compatible operations into item-by-item evaluation with early termination. This npm workspace also contains an Astro documentation site generated from library signatures and JSDoc, migration guides, a StackBlitz playground, and brand asset generators. This brief reflects source inspection at commit 9955bb0eca98cc5d1bbb17dc4314dd38a10a28d5; it does not establish executable correctness.

System map

The repository separates the published library from documentation, consumer examples, and brand tooling through npm workspaces. The library runs inside its caller's process, while the website performs content extraction at build or development time and hydrates selected React islands in the browser. State ownership is correspondingly divided between utility invocation state, Astro content storage, generated files, and browser preferences. Distribution includes ESM and CJS library artifacts, a static Netlify site, and automated registry releases.

Feature catalog

The primary user-facing product is the exported utility API, spanning arrays, objects, strings, arithmetic, predicates, and function composition. Selected operations offer stronger output typing and lazy pipeline execution in addition to their runtime transformations. The website presents generated API documentation, migration content, search, and theme controls. Developer-facing companion features include a console playground, PR preview template, and reproducible brand assets.

Data flow

Library input crosses an overload boundary into either immediate execution or a curried function carrying optional lazy metadata. Pipeline transformations keep their working state within the invocation and produce arrays or single values without a persistence service. Documentation follows a separate path from TypeScript reflections through validated Astro records into rendered HTML. Browser theme preferences form the concrete persistent user-state path inspected here.

Behavior traces

The inspected flows cover documentation startup and rendering, lazy data transformation, browser theme persistence, search navigation, timed callback execution, and playground initialization. These are ordered source walkthroughs rather than observed executions. Branches such as eager pipeline boundaries, TypeDoc watch updates, and system-theme selection materially change behavior. The traces expose where execution state is initialized and where outputs cross into HTML, navigation, timers, or interactive globals.

Testing signals

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.

Risk map

The most consequential source boundaries are dynamic utility dispatch, declaration rewriting, browser-loaded dependencies, HTML insertion, and agent hooks that execute commands or write files. These observations do not establish vulnerabilities. Two plausible behavior or maintenance risks are explicitly identified as hypotheses requiring verification. Browser interactions have less executable evidence than the library because the docs package documents no tests.

Extension points

Remeda grows through explicit exports and utility implementations rather than a runtime plugin registry. Lazy metadata is the protocol connecting utilities to pipe, while overload JSDoc connects public APIs to documentation. Astro collections and mapping directory conventions provide structured content extension points. Static browser scripts and parametric brand generators offer additional narrowly scoped tooling hooks.

Contributor handoff

Start with contributor policy and the target utility's complete public contract before changing implementation. Keep runtime, inferred types, lazy semantics, generated docs, exports, and migration guidance aligned. Tests and CI were inspected, not executed, and this brief is a bounded source inventory rather than comprehensive coverage or a clean bill of health. For this investigation, repository commands remain descriptions only: no installs, tests, builds, hooks, publishing, or file writes were authorized.

Languages

LanguageFilesShare of source
TypeScript61699%
Markdown412docs/config
JSON18docs/config
YAML10docs/config
JavaScript61%
CSS1docs/config
TOML10%

Start reading here

Probable source entrypoint: packages/ — inferred from the directory tree and manifest, not the upstream docs.

Source roots

packages/ (1056 files)

Source layout — packages/

PathFiles
packages/brand/17
packages/docs/298
packages/stackblitz-template/12

Repository structure

Top-level pathFiles
packages/1056
.agents/19
.claude/14
.github/11
.husky/1

Docs found: AGENTS.mdCLAUDE.mdCONTRIBUTING.mdREADME.md

Package

package.json — remeda v2.0.0, 7 declared dependencies.

@vitest/coverage-v8huskylint-stagedprettierprettier-plugin-pkgprettier-plugin-shtypescript-language-server

CI & config entrypoints

Structural health signals

Average score 8/10 across 96 analyzed source files; 6 hotspots surfaced.

These are deterministic review leads — size, churn, and structural signals — not proof of a bug in this project.

Recent history