async function createZip()

in src/zipPackage.js [18:36]


async function createZip({targetZipFilePath, includePaths = [], includeContent = []}) {
    const output = fs.createWriteStream(targetZipFilePath);
    const archive = archiver('zip', {zlib: {level: 9}});
    archive.pipe(output);

    includePaths.forEach(includePath => {
        const stats = fs.lstatSync(includePath.source);
        if (stats.isDirectory()) {
            // if no target specified, add contents to root of archive
            archive.directory(includePath.source, includePath.target ?? false);
        } else {
            archive.file(includePath.source, {name: includePath.target ?? path.basename(includePath.source)})
        }
    })
    includeContent.forEach(content => {
        archive.append(content.source, {name: content.target});
    });
    await archive.finalize();
}