npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

archiver-staging

v0.0.1

Published

a streaming interface for archive generation

Downloads

2

Readme

Archiver v0.8.1 Build Status

a streaming interface for archive generation

NPM

Install

npm install archiver --save

You can also use npm install https://github.com/ctalkington/node-archiver/archive/master.tar.gz to test upcoming versions.

Archiver

create(format, options)

Creates an Archiver instance based on the format (zip, tar, etc) passed. Parameters can be passed directly to Archiver constructor for convenience.

registerFormat(format, module)

Registers an archive format. Format modules are essentially transform streams with a few required methods. They will be further documented once a formal spec is in place.

Instance Methods

Inherits Transform Stream methods.

append(input, data)

Appends an input source (text string, buffer, or stream) to the instance. When the instance has received, processed, and emitted the input, the entry event is fired.

Replaced #addFile in v0.5.

archive.append('string', { name:'string.txt' });
archive.append(new Buffer('string'), { name:'buffer.txt' });
archive.append(fs.createReadStream('mydir/file.txt'), { name:'stream.txt' });

bulk(mappings)

Appends multiple entries from passed array of src-dest mappings, based on Grunt's "Files Array" format. A lazystream wrapper is used to prevent issues with open file limits.

Globbing patterns and multiple properties are supported through use of the file-utils package, based on Grunt's file utilities. Please note that multiple src files to single dest file (ie concat) is not supported.

The data property can be set (per src-dest mapping) to define data for matched entries.

archive.bulk([
  { src: ['mydir/**'], data: { date: new Date() } },
  { expand: true, cwd: 'mydir', src: ['**'], dest: 'newdir' }
]);

file(filepath, data)

Appends a file given its filepath. Uses a lazystream wrapper to prevent issues with open file limits. When the instance has received, processed, and emitted the file, the entry event is fired.

archive.file('mydir/file.txt', { name:'file.txt' });

finalize()

Finalizes the instance. You should listen for the end/close/finish of the destination stream to properly detect completion.

pointer()

Returns the current byte length emitted by archiver. Use this in your end callback to log generated size.

Events

Inherits Transform Stream events.

entry

Fired when the input has been received, processed, and emitted. Passes entry data as first argument.

Zip

Options

comment string

Sets the zip comment.

forceUTC boolean

If true, forces the entry date to UTC. Helps with testing across timezones.

store boolean

If true, all entry contents will be archived without compression by default.

zlib object

Passed to node's zlib module to control compression. Options may vary by node version.

Entry Data

name string required

Sets the entry name including internal path.

date string|Date

Sets the entry date. This can be any valid date string or instance. Defaults to current time in locale.

store boolean

If true, entry contents will be archived without compression.

comment string

Sets the entry comment.

mode number

Sets the entry permissions. Defaults to octal 0755 (directory) or 0644 (file).

Tar

Options

gzip boolean

Compresses the tar archive using gzip, default is false.

gzipOptions object

Passed to node's zlib module to control compression. Options may vary by node version.

Entry Data

name string required

Sets the entry name including internal path.

date string|Date

Sets the entry date. This can be any valid date string or instance. Defaults to current time in locale.

mode number

Sets the entry permissions. Defaults to octal 0755 (directory) or 0644 (file).

Libraries

Archiver makes use of several libraries/modules to avoid duplication of efforts.

Things of Interest