Archiverでディレクトリを圧縮しようとしています。node_modulesなどの特定のディレクトリまたはファイルを再帰的に除外したい。
たとえば、次のようなディレクトリ構造があるとします。
folder-to-compress
| node_modules
| sub-folder
| ignored-file-name
| included-file-name
| ignored-file-name
以下のスクリプトは、ルート レベルからのみ除外します。したがってignored-file-name
、ルートではzipには含まれませんが、含まsub-folder/ignored-file-name
れます。再帰的に除外する方法があるかどうか疑問に思っていますか?
const fs = require('fs');
const archiver = require('archiver');
const output = fs.createWriteStream(__dirname);
const archive = archiver('zip', { zlib: { level: 9 } });
archive.pipe(output);
archive.glob('*/**', {
cwd: __dirname,
ignore: ['mode_modules', 'ignored-file-name', '*.zip']
});
archive.finalize();