PluginProbe
Responsive Menu – Mobile Menu & Hamburger Menu Builder / 4.7.4
Responsive Menu – Mobile Menu & Hamburger Menu Builder v4.7.4
4.7.4 4.7.3 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.10 4.1.11 4.1.12 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9 All 91 releases
responsive-menu / v4.0.0 / webpack.config.js

webpack.config.js in Responsive Menu – Mobile Menu & Hamburger Menu Builder 4.7.4, at v4.0.0/webpack.config.js

99 lines 2.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 const DEV = 'production' !== process.env.NODE_ENV;
2
3 /**
4 * NPM Plugins.
5 */
6 const path = require( 'path' );
7 const MiniCssExtractPlugin = require( 'mini-css-extract-plugin' );
8 const OptimizeCssAssetsPlugin = require( 'optimize-css-assets-webpack-plugin' );
9 const cssnano = require( 'cssnano' );
10 const CleanWebpackPlugin = require( 'clean-webpack-plugin' );
11 const TerserPlugin = require( 'terser-webpack-plugin' );
12 const StyleLintPlugin = require( 'stylelint-webpack-plugin' );
13 const FriendlyErrorsPlugin = require( 'friendly-errors-webpack-plugin' );
14
15 // Assets Directory path.
16 const JSDir = path.resolve( __dirname, 'assets/admin/js' );
17 const Assets = path.resolve( __dirname, 'assets/admin' );
18 const BUILD_DIR = path.resolve( __dirname, 'assets/admin/build' );
19
20 // Entry points
21 const entry = {
22 rmpMain: [ Assets + '/rmp-main.js' ]
23 };
24
25 // Outputs
26 const output = {
27 path: BUILD_DIR,
28 filename: DEV ? 'js/[name].js' : 'js/[name].min.js'
29 };
30
31 const plugins = ( argv ) => [
32 new CleanWebpackPlugin( [ BUILD_DIR ] ),
33
34 new MiniCssExtractPlugin( {
35 filename: DEV ? 'css/[name].css' : 'css/[name].min.css'
36 } ),
37
38 new StyleLintPlugin( {
39 'extends': 'stylelint-config-wordpress/scss'
40 } ),
41
42 new FriendlyErrorsPlugin( {
43 clearConsole: false
44 } )
45 ];
46
47 const rules = [
48 {
49 enforce: 'pre',
50 test: /\.js$/,
51 exclude: /node_modules/,
52 use: 'eslint-loader'
53 },
54 {
55 test: /\.js$/,
56 include: [ JSDir ],
57 exclude: /node_modules/,
58 use: 'babel-loader'
59 },
60 {
61 test: /\.scss$/,
62 exclude: /node_modules/,
63 use: [
64 MiniCssExtractPlugin.loader,
65 'css-loader',
66 'postcss-loader',
67 'sass-loader'
68 ]
69 }
70 ];
71
72 const optimization = [
73 new OptimizeCssAssetsPlugin( {
74 cssProcessor: cssnano
75 } ),
76
77 new TerserPlugin()
78 ];
79
80 module.exports = ( argv ) => ( {
81 entry: entry,
82 output: output,
83 plugins: plugins( argv ),
84
85 module: {
86 'rules': rules
87 },
88
89 optimization: {
90 minimize: true,
91 minimizer: optimization
92 },
93
94 externals: {
95 jquery: 'jQuery'
96 }
97
98 } );
99