Archiver v0.8.1
a streaming interface for archive generation
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;archive;archive;
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;
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;
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
string
comment Sets the zip comment.
boolean
forceUTC If true, forces the entry date to UTC. Helps with testing across timezones.
boolean
store If true, all entry contents will be archived without compression by default.
object
zlib Passed to node's zlib module to control compression. Options may vary by node version.
Entry Data
string
required
name Sets the entry name including internal path.
string|Date
date Sets the entry date. This can be any valid date string or instance. Defaults to current time in locale.
boolean
store If true, entry contents will be archived without compression.
string
comment Sets the entry comment.
number
mode Sets the entry permissions. Defaults to octal 0755 (directory) or 0644 (file).
Tar
Options
boolean
gzip Compresses the tar archive using gzip, default is false.
object
gzipOptions Passed to node's zlib module to control compression. Options may vary by node version.
Entry Data
string
required
name Sets the entry name including internal path.
string|Date
date Sets the entry date. This can be any valid date string or instance. Defaults to current time in locale.
number
mode 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.