UNPKG

@onereach/orest-input-cli

Version:

The tool for creating, serving, and publishing OREST Inputs

40 lines (30 loc) 845 B
const path = require('path'); const ProgressBar = require('progress'); const zipDirectory = require('./util/zipDirectory'); const DIST_DIR = ''; const dist = relDirPath => path.join(path.resolve(process.cwd(), relDirPath), DIST_DIR); const DEST_FILENAME = 'orest-input.zip'; const dest = relDirPath => path.join(path.resolve(process.cwd(), relDirPath), DEST_FILENAME); const progressConfig = { complete: '=', incomplete: ' ', width: 30, total: 100, }; const zippingBar = new ProgressBar( 'Zipping: [:bar] :percent :etas', progressConfig ); function onZippingProgress(progress) { zippingBar.update(Math.round(progress) / 100); } function zipBundle(relDirPath = '') { return zipDirectory({ dir: dist(relDirPath), dest: dest(relDirPath), onProgress: onZippingProgress, }); } module.exports = zipBundle;