const fs = require('fs');
const archiver = require('archiver');
const path = require('node:path')
const crypto = require('node:crypto')
exports.default = function () {
const KOOMAP_APP_VERSION = require('../package.json').version
const zipPath = path.resolve(`./release/${KOOMAP_APP_VERSION}/koomap-tools_${KOOMAP_APP_VERSION}.zip`)
const exePath = path.resolve(`./release/${KOOMAP_APP_VERSION}/koomap-tools_${KOOMAP_APP_VERSION}.exe`)
const sha256Path = path.resolve(`./release/${KOOMAP_APP_VERSION}/koomap-tools_${KOOMAP_APP_VERSION}.zip.sha256`)
const fileName = `koomap-tools_${KOOMAP_APP_VERSION}.exe`
const zipFileName = `koomap-tools_${KOOMAP_APP_VERSION}.zip`
const output = fs.createWriteStream(zipPath);
const archive = archiver('zip', { zlib: { level: 9 } });
archive.pipe(output);
const stream = fs.createReadStream(exePath);
archive.append(stream, { name: fileName });
archive.finalize();
output.on('close', function () {
const buffer = fs.readFileSync(zipPath);
const fsHash = crypto.createHash('sha256')
fsHash.update(buffer);
const sha256 = fsHash.digest('hex');
const content = `${sha256} *${zipFileName}`
fs.writeFileSync(sha256Path, content)
});
}
【electron】打包压缩后生成文件哈希
最新推荐文章于 2024-05-09 11:55:50 发布