-
Notifications
You must be signed in to change notification settings - Fork 0
/
webpack.config.js
46 lines (39 loc) · 1.24 KB
/
webpack.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
const defaultConfig = require( '@wordpress/scripts/config/webpack.config' ),
DependencyExtractionWebpackPlugin = require( '@wordpress/dependency-extraction-webpack-plugin' ),
OptimizeCSSAssetsPlugin = require( 'optimize-css-assets-webpack-plugin' ),
path = require( 'path' );
defaultConfig.entry = {
index: [
path.resolve( process.cwd(), 'src', 'index.js' ),
path.resolve( process.cwd(), 'src/styles', 'style.scss' ),
path.resolve( process.cwd(), 'src/styles', 'editor.scss' ),
],
accordion: path.resolve( process.cwd(), 'src/blocks/accordion/assets', 'accordion.js' )
};
defaultConfig.optimization.minimizer.push(
new OptimizeCSSAssetsPlugin({
cssProcessorOptions: {
map: {
inline: false,
annotation: true
}
}
})
)
module.exports = (env, argv) => {
const isDevelopment = () => argv.mode === 'development';
const config = {
...defaultConfig,
plugins: [
...defaultConfig.plugins.filter(plugin =>
plugin.constructor.name !== 'DependencyExtractionWebpackPlugin'
),
new DependencyExtractionWebpackPlugin({
injectPolyfill: true,
combineAssets: true,
combinedOutputFile: 'index.asset.php'
})
]
}
return config;
}