UNPKG

cyb-cli

Version:

塞伯坦CYB-CLI是面向前端模块化工程的构建工具。主要目的是帮助开发者统一前端开发模式和项目开发结构,提高功能扩展和降低维护成本,自动化前端工作流,提高开发效率和开发质量。

61 lines (52 loc) 1.33 kB
/** * ================================= * @2018 塞伯坦-CYB前端模块化工程构建工具 * https://github.com/jd-cyb/cyb-cli * ================================= */ /** * --------------------------------- * 压缩dist目录并生成zip文件 * --------------------------------- */ const fs = require('fs') const path = require('path') const zip = require('gulp-zip') const vfs = require('vinyl-fs') const async = require('async') const fancyLog = require('fancy-log') const chalk = require('chalk') const config = require('./lib/fezconfig') const ora = require('ora') module.exports = () => { const spinner = ora('Starting zip...').start() function zipDist(cb) { vfs.src(`${config.paths.dist.dir}/**/*`) .pipe(zip('dist.zip')) .pipe(vfs.dest('./')) .on('end', () => { spinner.succeed(chalk.green('dist.zip is created.')) cb() }) } function taskZip(cb) { const distDir = fs.existsSync(config.paths.dist.dir) if (distDir) { return zipDist(cb) } else { spinner.stop() fancyLog(chalk.red(`No ${config.paths.dist.dir}`)) cb() } } async.series([ function(next) { taskZip(next) } ], function(err) { if (err) { throw new Error(err) } fancyLog(chalk.magenta('Zip is completed.')) }) }