UNPKG

dio-cli

Version:

CLI for scaffolding dio-cli projects , 前端项目, 构建工具

55 lines (43 loc) 1.29 kB
const fs = require('fs-extra') const path = require('path') const cp = require('child_process') const cwd = process.cwd() const archiver = require('archiver') const { resolveCwd } = require('./utils') const { log, logSuccess } = require('../../lib/log') const output = fs.createWriteStream(resolveCwd('dist.zip')) const archive = archiver('zip', { zlib: { level: 0 // 压缩等级 1-9 } }) archive.on('error', function(err) { log('压缩文件出错', 'red') throw err }) archive.pipe(output) module.exports = (deleteDist) => { const newName = "dist-" + new Date() .getFullYear() + "" + new Date() .getMonth() + "" + new Date() .getDate() + "" + new Date() .getHours() + ".zip" const dist = path.posix.join(require('os') .userInfo() .homedir, 'Desktop', newName) output.on('close', function() { fs.copy(resolveCwd('dist.zip'), dist, (err) => { if (err) { log('移动 dist.zip 文件出错,请在当前文件夹查看打包好的压缩包', 'red') throw err } else { log(`\n已经将打包好的文件移动到桌面,请查看 ${dist}\n`, 'yellow') if (deleteDist) { fs.removeSync(resolveCwd('./dist')) } } }) }) archive.directory('./dist') archive.finalize() }