Creates Archives (Zip, Tar) via Node Streams.
JavaScript
Pull request Compare This branch is 4 commits ahead, 518 commits behind archiverjs:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples
lib
test
.gitignore
.travis.yml
CHANGELOG
CONTRIBUTING.md
LICENSE-MIT
README.md
package.json

README.md

Archiver v0.4.0-alpha Build Status

Creates Archives (Zip, Tar) via Node Streams. Depends on Node's build-in zlib module for compression available since version 0.6.3.

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.

Core

Methods

create(type, options)

Creates an Archiver instance based on the type (ie zip/tar) passed.

Instance Methods

append(input, data, callback(err))

Appends a file to the instance. Input can be in the form of a text string, buffer, or stream. When the instance has received, processed, and emitted the input, the callback is fired.

finalize(callback(err, bytesWritten))

Finalizes the instance. When the instance's stream has finished emitting, the callback is fired.

Zip

Options

comment string

Sets the zip comment.

forceUTC boolean

If true, forces the file date and time to UTC. Helps with testing across timezones.

File Data

name string required

Sets the file name including internal path.

date string|Date

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

store boolean

If true, file contents will be stored without compression.

comment string

Sets the file comment.

Tar (beta)

Options

recordSize number

Sets the size (in bytes) of each record in a block, default is 512 (for advanced users only).

recordsPerBlock number

Sets the number of records in a block, default is 20 (for advanced users only).

File Data

name string required

Sets the file name including internal path.

date string|Date

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

Examples

Here are a few examples to get you started. All examples use the async module to avoid deep nesting of callbacks.

Take a peek at the examples folder for a complete listing.

Contributing

see CONTRIBUTING.

Changelog

see CHANGELOG.

Credits

Originally inspired by Antoine van Wel's node-zipstream.

Licensing

This project's code is licensed under the MIT license. see LICENSE-MIT.