Socket
Socket
Sign inDemoInstall

tar-stream

Package Overview
Dependencies
6
Maintainers
2
Versions
63
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    tar-stream

tar-stream is a streaming tar parser and generator and nothing else. It operates purely using streams which means you can easily extract/parse tarballs without ever hitting the file system.


Version published
Weekly downloads
27M
decreased by-1.94%
Maintainers
2
Created
Weekly downloads
 

Package description

What is tar-stream?

The tar-stream npm package is a streaming tar parser and generator, which allows users to read and write tar archives in a streaming fashion. This means that you can process tar files without having to load the entire file into memory, which is useful for handling large files or for streaming applications.

What are tar-stream's main functionalities?

Extracting a tar archive

This feature allows you to extract files from a tar archive. The 'entry' event is emitted for each file in the archive, providing the file header and a stream for the file content.

const extract = require('tar-stream').extract;
const fs = require('fs');

let extractor = extract();
extractor.on('entry', (header, stream, next) => {
  // header is the tar header
  // stream is the content body (might be an empty stream)
  // call next when you are done with this entry

  stream.on('end', () => next());
  stream.resume(); // just auto drain the stream
});

fs.createReadStream('archive.tar').pipe(extractor);

Creating a tar archive

This feature allows you to create a tar archive. You can add entries to the archive with the 'entry' method, and then finalize the archive when you are done.

const pack = require('tar-stream').pack;
const fs = require('fs');

let packer = pack();

// add a file called my-test.txt with the content 'Hello World!'
packer.entry({ name: 'my-test.txt' }, 'Hello World!', (err) => {
  if (err) throw err;
  packer.finalize(); // finalize the archive when you are done
});

// pipe the pack stream somewhere, like to a file
packer.pipe(fs.createWriteStream('my-tarball.tar'));

Other packages similar to tar-stream

FAQs

Last updated on 17 Jun 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc