@gravityforms/gulp-tasks
Version:
Configurable Gulp tasks for use in Gravity Forms projects.
46 lines (43 loc) • 1.23 kB
JavaScript
/**
* External Dependencies
*/
const { mergeWithCustomize, customizeArray } = require( 'webpack-merge' );
const BundleAnalyzerPlugin = require( 'webpack-bundle-analyzer' ).BundleAnalyzerPlugin;
/**
* Internal Dependencies
*/
const prodBase = require( './configs/prod-base.js' );
const entry = require( './entry/theme' );
const externals = require( './externals/theme' );
const sc = require( './optimization/split-chunks' );
const getConfig = require( '../../config' );
const { config } = getConfig();
const pluginOverrides = Array.isArray( config.webpack?.overrides?.plugins?.release?.theme )
? config.webpack.overrides.plugins.release.theme
: [];
module.exports = mergeWithCustomize( {
customizeArray: customizeArray( {
optimization: 'append',
plugins: 'append',
} ),
} )(
prodBase,
{
entry,
externals,
optimization: {
splitChunks: config?.webpack?.overrides?.optimization?.splitChunks?.scTheme || sc.scTheme,
},
output: {
path: config.paths.js_dist,
},
plugins: [
...pluginOverrides,
new BundleAnalyzerPlugin( {
analyzerMode: 'static',
reportFilename: config?.paths?.reports?.replace( '%s', 'theme-bundle-prod' ) || 'theme-bundle-prod',
openAnalyzer: false,
} ),
],
}
);