diff --git a/build/build-plugins.js b/build/build-plugins.js index 3a8163ce02..44d155c4f9 100644 --- a/build/build-plugins.js +++ b/build/build-plugins.js @@ -56,7 +56,7 @@ const defaultPluginConfig = { } } -function getConfigByPluginKey(pluginKey) { +const getConfigByPluginKey = pluginKey => { if ( pluginKey === 'Data' || pluginKey === 'Manipulator' || @@ -143,7 +143,7 @@ const domObjects = [ 'SelectorEngine' ] -function build(plugin) { +const build = async plugin => { console.log(`Building ${plugin} plugin...`) const { external, globals } = getConfigByPluginKey(plugin) @@ -158,24 +158,32 @@ function build(plugin) { pluginPath = `${rootPath}/dom/` } - rollup.rollup({ + const bundle = await rollup.rollup({ input: bsPlugins[plugin], plugins, external - }).then(bundle => { - bundle.write({ - banner: banner(pluginFilename), - format: 'umd', - name: plugin, - sourcemap: true, - globals, - file: path.resolve(__dirname, `${pluginPath}/${pluginFilename}`) - }) - .then(() => console.log(`Building ${plugin} plugin... Done!`)) - .catch(error => console.error(`${plugin}: ${error}`)) }) - .catch(error => console.error(`${plugin}: ${error}`)) + + await bundle.write({ + banner: banner(pluginFilename), + format: 'umd', + name: plugin, + sourcemap: true, + globals, + file: path.resolve(__dirname, `${pluginPath}/${pluginFilename}`) + }) + + console.log(`Building ${plugin} plugin... Done!`) } -Object.keys(bsPlugins) - .forEach(plugin => build(plugin)) +const main = async () => { + try { + await Promise.all(Object.keys(bsPlugins).map(plugin => build(plugin))) + } catch (error) { + console.error(error) + + process.exit(1) + } +} + +main()