UNPKG

wix-style-react

Version:
70 lines (65 loc) 1.75 kB
/* eslint no-console: 0 */ const ProgressBar = require('progress'); const tasks = [ { task: () => require('./tasks/clean-dist'), description: 'cleaned ./dist', }, { task: () => require('./tasks/transpile-copy-files'), args: { folder: 'testkit' }, description: '** testkit => dist/testkit', }, { task: () => require('./tasks/transpile-copy-files'), args: { folder: 'test' }, description: '** testkit => dist/testkit', }, { task: () => require('./tasks/transpile-src'), description: '.js src => dist/src', }, { task: () => require('./tasks/patch-ssr-stylable'), description: '.st.css patch ssr', }, { task: () => require('./tasks/replace-stylable-imports'), description: '.st.css /dist/src => /dist/es/src', }, { task: () => require('./tasks/export-stylesheets'), args: { rootDir: './dist/es/src' }, description: 'index.st.css - es', }, { task: () => require('./tasks/export-stylesheets'), args: { srcDir: './dist/src' }, description: 'index.st.css - cjs', }, ]; const STEPS = tasks.length; const TOTAL_STEPS_WIDTH = 20; const START_TIME = new Date(); const STEP_WIDTH = TOTAL_STEPS_WIDTH / STEPS; const progress = new ProgressBar( 'Transpiling `src` -> `dist` :bar :percent :dir', { total: STEP_WIDTH * STEPS, }, ); tasks .reduce( (promise, { task, description, args = {} }) => promise .then(() => task()(args)) .then(() => progress.tick(STEP_WIDTH, { dir: description })) .catch(e => { progress.interrupt('Error'); console.error(e); }), Promise.resolve(), ) .then(() => console.log(`🚀 Done in ${Math.round(new Date() - START_TIME) / 1000}s`), );