File "webpack.config.js"
Full Path: /home/vantageo/public_html/cache/cache/cache/cache/.wp-cli/wp-content/plugins/responsive-menu/v4.0.0/webpack.config.js
File size: 1.97 KB
MIME-type: text/plain
Charset: utf-8
const DEV = 'production' !== process.env.NODE_ENV;
/**
* NPM Plugins.
*/
const path = require( 'path' );
const MiniCssExtractPlugin = require( 'mini-css-extract-plugin' );
const OptimizeCssAssetsPlugin = require( 'optimize-css-assets-webpack-plugin' );
const cssnano = require( 'cssnano' );
const CleanWebpackPlugin = require( 'clean-webpack-plugin' );
const TerserPlugin = require( 'terser-webpack-plugin' );
const StyleLintPlugin = require( 'stylelint-webpack-plugin' );
const FriendlyErrorsPlugin = require( 'friendly-errors-webpack-plugin' );
// Assets Directory path.
const JSDir = path.resolve( __dirname, 'assets/admin/js' );
const Assets = path.resolve( __dirname, 'assets/admin' );
const BUILD_DIR = path.resolve( __dirname, 'assets/admin/build' );
// Entry points
const entry = {
rmpMain: [ Assets + '/rmp-main.js' ]
};
// Outputs
const output = {
path: BUILD_DIR,
filename: DEV ? 'js/[name].js' : 'js/[name].min.js'
};
const plugins = ( argv ) => [
new CleanWebpackPlugin( [ BUILD_DIR ] ),
new MiniCssExtractPlugin( {
filename: DEV ? 'css/[name].css' : 'css/[name].min.css'
} ),
new StyleLintPlugin( {
'extends': 'stylelint-config-wordpress/scss'
} ),
new FriendlyErrorsPlugin( {
clearConsole: false
} )
];
const rules = [
{
enforce: 'pre',
test: /\.js$/,
exclude: /node_modules/,
use: 'eslint-loader'
},
{
test: /\.js$/,
include: [ JSDir ],
exclude: /node_modules/,
use: 'babel-loader'
},
{
test: /\.scss$/,
exclude: /node_modules/,
use: [
MiniCssExtractPlugin.loader,
'css-loader',
'postcss-loader',
'sass-loader'
]
}
];
const optimization = [
new OptimizeCssAssetsPlugin( {
cssProcessor: cssnano
} ),
new TerserPlugin()
];
module.exports = ( argv ) => ( {
entry: entry,
output: output,
plugins: plugins( argv ),
module: {
'rules': rules
},
optimization: {
minimize: true,
minimizer: optimization
},
externals: {
jquery: 'jQuery'
}
} );