One change. An unchanged caller in another repo
A public, deliberately seeded integration test shows how Yanib linked a breaking p-map change to its p-filter consumer. No Yanib account or repository connection is needed to inspect it.
Follow the evidence
export default async function pMap(
iterable,
mapper,
+ operationName,
{ concurrency = Infinity, ...options } = {},
)The change
A required operationName argument is inserted before options. This changes the public calling convention, not just this function’s implementation.
Abbreviated diff for explanation; the exact source is linked below.
Inspect the original in GitHubUser-controlled annotated walkthrough, not a recording of a live run. Captions stay visible. You can inspect the original source at each step.
What needs a decision
p-filter still passes an options object as the third argument. The changed p-map function expects a string there and throws before doing the work.
Recommended direction
Preserve the existing options position, or coordinate a breaking version and update its consumers. Making only the type declaration optional is not enough.
How to verify
Keep a regression test for pMap(iterable, mapper, {concurrency: 2}) and run the consumer’s tests against the changed package.
Source and provenance
- Inspected
- September 4, 2026; public repositories and review verified through GitHub.
- Changed source
- p-map · d1597f78d196302d32c4758b8fba0a3279ba209e
- Affected consumer
- p-filter · aafbe51d4b53ba9c45c264ae75ba8bf7467b028a
The canary forks use Sindre Sorhus’s p-map and p-filter projects. Source remains available under each repository’s license: p-map license and p-filter license.