diff --git a/build/build-lib.js b/build/build-lib.js index 9338de5ac..3ab53d9fa 100644 --- a/build/build-lib.js +++ b/build/build-lib.js @@ -16,15 +16,19 @@ const tasks = [ 'cross-env NODE_ENV=production webpack -p --color --config build/webpack.pkg.js' ]; -tasks.forEach(task => { +tasks.every(task => { signale.start(task); const interactive = new Signale({ interactive: true }); interactive.pending(task); + const result = shell.exec(`${task} --silent`); + if (result.code !== 0) { interactive.error(task); - } else { - interactive.success(task); + return false; } + + interactive.success(task); + return true; }); diff --git a/build/build-style.js b/build/build-style.js index b604d84d7..fa5d18073 100644 --- a/build/build-style.js +++ b/build/build-style.js @@ -48,14 +48,19 @@ async function dest(output, paths) { // compile component css async function compile() { let codes; - const paths = await glob(['./es/**/*.less', './lib/**/*.less'], { absolute: true }); + try { + const paths = await glob(['./es/**/*.less', './lib/**/*.less'], { absolute: true }); - codes = await Promise.all(paths.map(path => fs.readFile(path, 'utf-8'))); - codes = await compileLess(codes, paths); - codes = await compilePostcss(codes, paths); - codes = await compileCsso(codes); + codes = await Promise.all(paths.map(path => fs.readFile(path, 'utf-8'))); + codes = await compileLess(codes, paths); + codes = await compilePostcss(codes, paths); + codes = await compileCsso(codes); - await dest(codes, paths); + await dest(codes, paths); + } catch (err) { + console.log(err); + process.exit(1); + } } compile();