// the find
max-mapper/mississippi
A collection of useful stream utility modules for writing better code using streams
Mississippi is a bundle of Node.js stream utility modules (pump, pumpify, through2, from2, duplexify, etc.) wrapped under one require. It exists to paper over the original Node streams API's biggest failure modes: unhandled errors on pipe, no callback on completion, and difficulty composing transforms. Aimed at Node backend developers who work directly with streams rather than hiding them behind higher-level abstractions.
Each method delegates to a well-tested, widely-used standalone module — pump, pumpify, through2, and others are battle-tested in production at scale. The pipe/pipeline split is genuinely useful: pipe for linear chains with a completion callback, pipeline for building reusable composite transforms. The parallel transform with preserved ordering is a real feature that saves people from reinventing a bounded async queue. The README is honest about what each method delegates to, so you can drop individual packages if you only need one.
Abandoned since 2020 and the underlying modules have themselves diverged or been superseded — through2 is now considered unnecessary since Node 10+ streams implement the same API natively. The aggregation story has largely collapsed: modern Node's stream.pipeline() and stream.finished() ship built-in and handle most of what this package does, making it dead weight in any Node 18+ project. No TypeScript types anywhere in this repo or its bundled deps, which is a friction point in 2024. The package is a coordination burden — when one of its 10 delegated modules has a bug or security issue, you need a mississippi release to get the fix, not just a transitive update.