UNPKG

@gravityforms/gulp-tasks

Version:
43 lines (40 loc) 1.3 kB
/** * External Dependencies */ const { mergeWithCustomize, customizeArray } = require( 'webpack-merge' ); const BundleAnalyzerPlugin = require( 'webpack-bundle-analyzer' ).BundleAnalyzerPlugin; /** * Internal Dependencies */ const devBase = require( './configs/dev-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 isDevServer = process.env.WEBPACK_SERVE; const optimization = isDevServer ? {} : { splitChunks: config?.webpack?.overrides?.optimization?.splitChunks?.scTheme || sc.scTheme }; const pluginOverrides = Array.isArray( config.webpack?.overrides?.plugins?.theme ) ? config.webpack.overrides.plugins.theme : []; module.exports = mergeWithCustomize( { customizeArray: customizeArray( { optimization: 'append', plugins: 'append', } ), } )( devBase, { entry, externals, optimization, output: { path: config.paths.js_dist, }, plugins: [ ...pluginOverrides, ! isDevServer && new BundleAnalyzerPlugin( { analyzerMode: 'static', reportFilename: config?.paths?.reports?.replace( '%s', 'theme-bundle' ) || 'theme-bundle', openAnalyzer: false, } ), ].filter( Boolean ), } );