52 lines
1.1 KiB
JavaScript
52 lines
1.1 KiB
JavaScript
/* eslint-disable-next-line */
|
|
const { resolve, join } = require('path');
|
|
const { ProvidePlugin } = require('webpack');
|
|
|
|
const { srcScript, output, outputScript } = require('./directories');
|
|
|
|
const nodeEnv = process.env.NODE_ENV;
|
|
const isDevelopment = nodeEnv === 'development';
|
|
|
|
module.exports = {
|
|
mode: 'none',
|
|
context: join(__dirname, '../../', output),
|
|
output: {
|
|
path: join(__dirname, '../../', outputScript),
|
|
filename: '[name].js',
|
|
},
|
|
module: {
|
|
rules: [
|
|
{
|
|
test: /\.js$/,
|
|
exclude: /node_modules/,
|
|
loader: 'babel-loader',
|
|
options: {
|
|
cacheDirectory: true,
|
|
},
|
|
},
|
|
],
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
'@': resolve(srcScript),
|
|
},
|
|
},
|
|
plugins: [
|
|
new ProvidePlugin({
|
|
Plugin: ['@/cores/plugin', 'default'],
|
|
jQuery: 'jquery', // replace by using external jquery
|
|
$: ['jquery'],
|
|
}),
|
|
],
|
|
optimization: {
|
|
nodeEnv,
|
|
chunkIds: 'total-size',
|
|
concatenateModules: true,
|
|
flagIncludedChunks: true,
|
|
moduleIds: 'size',
|
|
sideEffects: true,
|
|
splitChunks: false,
|
|
},
|
|
devtool: isDevelopment && 'source-map',
|
|
};
|