async function nextDir2(dir){ for(let file of await fsPromises.readdir(dir, {withFileTypes: true})){ if(file.isDirectory()){ await nextDir2(path.join(dir, file.name)) }else if(file.isFile()){ zip.addFile(path.join(dir, file.name), path.relative(startDir, path.join(dir, file.name))) } } }
const zipfile = new yazl.ZipFile(); zipfile.addFile(file, base_file_name + '.txt'); zipfile.outputStream.pipe( fs.createWriteStream(base_file_name + '.zip')