A pure streaming tar parser and generator for Node.js that operates without hitting the file system.
tar-stream is a Node.js library that provides a pure streaming interface for parsing and generating tar archives. It allows developers to extract, create, and modify tarballs entirely in memory using streams, without ever touching the file system. This solves the problem of efficiently processing tar files in network applications, build tools, or pipelines where file system access is slow or undesirable.
Node.js developers who need to programmatically work with tar archives in memory, such as those building deployment tools, backup systems, package managers, or network services that handle tarballs.
Developers choose tar-stream for its minimal, focused approach to tar processing using Node.js streams, which provides better memory efficiency and control compared to file-based alternatives. Its pure streaming design makes it ideal for piping data between network sources, transformations, and destinations without intermediate disk writes.
tar-stream is a streaming tar parser and generator.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Operates entirely with Node.js streams, enabling efficient in-memory processing and automatic backpressure handling for network or pipeline use cases.
Allows tar manipulation without file system access, ideal for scenarios like API responses or build tools where disk I/O is undesirable.
Supports rewriting paths, changing modes, or filtering entries by piping between extract and pack streams, enabling dynamic tarball editing.
Extraction stream can be used as an async iterator, facilitating cleaner asynchronous workflows in modern Node.js applications.
Does not handle .tar.gz or other compressed formats; requires additional modules like gunzip-maybe, adding complexity to setup.
Users must drain each entry stream during extraction to avoid backpressure, which can be error-prone and less intuitive for beginners.
Focuses on low-level streaming, so common tasks like extracting to disk need extra steps or reliance on modules like tar-fs.