UNPKG

@gravityforms/gulp-tasks

Version:
47 lines (42 loc) 1.37 kB
/** * External Dependencies */ import { createRequire } from 'node:module'; const require = createRequire( import.meta.url ); const { mergeWithCustomize, customizeArray } = require( 'webpack-merge' ); const { BundleAnalyzerPlugin } = require( 'webpack-bundle-analyzer' ); /** * Internal Dependencies */ import getConfig from '../../config.js'; import devBase from './configs/dev-base.js'; import entry from './entry/admin.js'; import externals from './externals/admin/index.js'; import { scAdmin } from './optimization/split-chunks.js'; const { config } = getConfig(); const isDevServer = process.env.WEBPACK_SERVE; const optimization = isDevServer ? {} : { splitChunks: config?.webpack?.overrides?.optimization?.splitChunks?.scAdmin || scAdmin }; const pluginOverrides = Array.isArray( config.webpack?.overrides?.plugins?.admin ) ? config.webpack.overrides.plugins.admin : []; export default 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', 'admin-bundle' ) || 'admin-bundle', openAnalyzer: false, } ), ].filter( Boolean ), } );