stream-bypass/tasks/bundle.ts
2022-06-14 23:39:26 +02:00

28 lines
734 B
TypeScript

import * as fs from "fs";
import * as path from "path";
import * as yazl from "yazl";
function walkDirectory(dir, callback) {
for (const file of fs.readdirSync(dir)) {
const filePath = path.join(dir, file)
fs.statSync(filePath).isDirectory() ? walkDirectory(filePath, callback) : callback(filePath)
}
}
async function bundle_zip() {
const zipfile = new yazl.ZipFile()
walkDirectory('build', (path) => {
zipfile.addFile(path, path.substring(6))
})
zipfile.end()
fs.mkdirSync('dist', {recursive: true})
zipfile.outputStream.pipe(fs.createWriteStream(`dist/stream_bypass-v${process.env.npm_package_version}.zip`))
}
async function bundle() {
await bundle_zip()
}
bundle()