UNPKG

@tylertech/forge-build-tools

Version:
23 lines 3.19 kB
import webpack from 'webpack'; import webpackMerge from 'webpack-merge'; /** * Executes webpack using the provided environment options. * @param env The environment options to pass to the webpack configuration factory. * @param configurationFactory The webpack configuration factory function that generates a webpack config. * @param [mergeConfig] Extra webpack configuration objects to provide */ export function executeWebpack(env, configurationFactory, mergeConfigs) { return new Promise(resolve => { let config = typeof configurationFactory === 'function' ? configurationFactory(env) : configurationFactory; if (mergeConfigs && mergeConfigs.length) { config = webpackMerge(config, ...mergeConfigs); } webpack(config, (err, stats) => { if (err) { throw err; } resolve(stats); }); }); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2VicGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idW5kbGluZy93ZWJwYWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sT0FBTyxNQUFNLFNBQVMsQ0FBQztBQUM5QixPQUFPLFlBQVksTUFBTSxlQUFlLENBQUM7QUFFekM7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLEdBQXlCLEVBQUUsb0JBQTBCLEVBQUUsWUFBb0I7SUFDeEcsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUMzQixJQUFJLE1BQU0sR0FBRyxPQUFPLG9CQUFvQixLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDO1FBRTNHLElBQUksWUFBWSxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN4QyxNQUFNLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRSxHQUFHLFlBQVksQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFFRCxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBVSxFQUFFLEtBQW9CLEVBQUUsRUFBRTtZQUNuRCxJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUNSLE1BQU0sR0FBRyxDQUFDO1lBQ1osQ0FBQztZQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB3ZWJwYWNrIGZyb20gJ3dlYnBhY2snO1xuaW1wb3J0IHdlYnBhY2tNZXJnZSBmcm9tICd3ZWJwYWNrLW1lcmdlJztcblxuLyoqXG4gKiBFeGVjdXRlcyB3ZWJwYWNrIHVzaW5nIHRoZSBwcm92aWRlZCBlbnZpcm9ubWVudCBvcHRpb25zLlxuICogQHBhcmFtIGVudiBUaGUgZW52aXJvbm1lbnQgb3B0aW9ucyB0byBwYXNzIHRvIHRoZSB3ZWJwYWNrIGNvbmZpZ3VyYXRpb24gZmFjdG9yeS5cbiAqIEBwYXJhbSBjb25maWd1cmF0aW9uRmFjdG9yeSBUaGUgd2VicGFjayBjb25maWd1cmF0aW9uIGZhY3RvcnkgZnVuY3Rpb24gdGhhdCBnZW5lcmF0ZXMgYSB3ZWJwYWNrIGNvbmZpZy5cbiAqIEBwYXJhbSBbbWVyZ2VDb25maWddIEV4dHJhIHdlYnBhY2sgY29uZmlndXJhdGlvbiBvYmplY3RzIHRvIHByb3ZpZGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4ZWN1dGVXZWJwYWNrKGVudj86IFJlY29yZDxzdHJpbmcsIGFueT4sIGNvbmZpZ3VyYXRpb25GYWN0b3J5PzogYW55LCBtZXJnZUNvbmZpZ3M/OiBhbnlbXSk6IFByb21pc2U8YW55PiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICBsZXQgY29uZmlnID0gdHlwZW9mIGNvbmZpZ3VyYXRpb25GYWN0b3J5ID09PSAnZnVuY3Rpb24nID8gY29uZmlndXJhdGlvbkZhY3RvcnkoZW52KSA6IGNvbmZpZ3VyYXRpb25GYWN0b3J5O1xuXG4gICAgaWYgKG1lcmdlQ29uZmlncyAmJiBtZXJnZUNvbmZpZ3MubGVuZ3RoKSB7XG4gICAgICBjb25maWcgPSB3ZWJwYWNrTWVyZ2UoY29uZmlnLCAuLi5tZXJnZUNvbmZpZ3MpO1xuICAgIH1cblxuICAgIHdlYnBhY2soY29uZmlnLCAoZXJyOiBFcnJvciwgc3RhdHM6IHdlYnBhY2suU3RhdHMpID0+IHtcbiAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgfVxuICAgICAgcmVzb2x2ZShzdGF0cyk7XG4gICAgfSk7XG4gIH0pO1xufVxuIl19