出典:Node.jsでzipファイルを作成する
出典:Node.jsでarchiverモジュールで圧縮する方法

zipファイルの圧縮

 __dirname/testフォルダのファイル全てを__dirname/test.zipに圧縮する

filezip.js
var fs = require('fs');
var archiver = require('archiver');

var output = fs.createWriteStream(__dirname + '/test.zip');
var archive = archiver('zip', {zlib: { level: 9 }});

archive.on('finish', function(err){
    console.log('finish');
});
archive.on('end', function(err){
    console.log('end')
});
output.on('close', function() {
    console.log(archive.pointer() + ' bytes');
//    console.log(process.cwd());
});

archive.pipe(output);
archive.glob('test/*'); // testディレクトリ直下全て
archive.finalize();

 問題なくtest.zipができたのだが、1つ驚いたことが、解凍したファイルのタイムスタンプがUTCになってしまっていた。
 つまり9時間前の時刻に。 これでは困るので、他の解決策をさがすことに。