You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.4 KiB
47 lines
1.4 KiB
const fs = require("fs")
|
|
const path = require("path")
|
|
const archiver = require("archiver")
|
|
|
|
const output = fs.createWriteStream(path.resolve(__dirname, "../release_v0.1.zip"))
|
|
const archive = archiver("zip", {
|
|
zlib: { level: 9 },
|
|
})
|
|
output.on("close", function () {
|
|
console.log(archive.pointer() + " total bytes")
|
|
console.log("archiver has been finalized and the output file descriptor has closed.")
|
|
})
|
|
|
|
output.on("end", function () {
|
|
console.log("Data has been drained")
|
|
})
|
|
|
|
archive.on("warning", function (err) {
|
|
if (err.code === "ENOENT") {
|
|
} else {
|
|
throw err
|
|
}
|
|
})
|
|
|
|
archive.on("error", function (err) {
|
|
throw err
|
|
})
|
|
archive.on("progress", function (progress) {
|
|
// const percent = progress.fs.processedBytes / totalSize * 100;
|
|
// let percent =
|
|
// progress.entries.total > 0 ? Math.round((progress.entries.processed * 100.0) / progress.entries.total) : -1
|
|
// console.log("TOTAL", progress.entries.total, "PROCESSED", progress.entries.processed, "|", percent, "%")
|
|
|
|
const percent = Math.round(progress.entries.processed * 100.0 / progress.entries.total);
|
|
console.log(`\rZipping: ${percent.toFixed(2)}%`);
|
|
})
|
|
archive.pipe(output)
|
|
archive.directory("node_modules/")
|
|
archive.directory("dist/")
|
|
archive.directory("template/")
|
|
archive.directory("patches/")
|
|
archive.directory("public/")
|
|
archive.file(".env.production")
|
|
archive.file("package.json")
|
|
archive.file("pnpm-lock.yaml")
|
|
|
|
archive.finalize()
|
|
|