webpack.config.js (1187B)
1 const defaultConfig = require('@wordpress/scripts/config/webpack.config'); 2 const WooCommerceDependencyExtractionWebpackPlugin = require('@woocommerce/dependency-extraction-webpack-plugin'); 3 const path = require('path'); 4 5 const wcDepMap = { 6 '@woocommerce/blocks-registry': ['wc', 'wcBlocksRegistry'], 7 '@woocommerce/settings' : ['wc', 'wcSettings'] 8 }; 9 10 const wcHandleMap = { 11 '@woocommerce/blocks-registry': 'wc-blocks-registry', 12 '@woocommerce/settings' : 'wc-settings' 13 }; 14 15 const requestToExternal = (request) => { 16 if (wcDepMap[request]) { 17 return wcDepMap[request]; 18 } 19 }; 20 21 const requestToHandle = (request) => { 22 if (wcHandleMap[request]) { 23 return wcHandleMap[request]; 24 } 25 }; 26 27 // Export configuration. 28 module.exports = { 29 ...defaultConfig, 30 entry: { 31 'frontend/blocks': '/resources/js/frontend/index.js', 32 }, 33 output: { 34 path: path.resolve( __dirname, 'assets/js' ), 35 filename: '[name].js', 36 }, 37 plugins: [ 38 ...defaultConfig.plugins.filter( 39 (plugin) => 40 plugin.constructor.name !== 'DependencyExtractionWebpackPlugin' 41 ), 42 new WooCommerceDependencyExtractionWebpackPlugin({ 43 requestToExternal, 44 requestToHandle 45 }) 46 ] 47 };