74 lines
1.2 KiB
JavaScript
74 lines
1.2 KiB
JavaScript
const webpack = require('webpack')
|
|
const path = require('path')
|
|
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
|
|
|
module.exports = {
|
|
mode: 'development',
|
|
|
|
module: {
|
|
rules: [{
|
|
include: [
|
|
path.resolve(__dirname, 'src'),
|
|
path.resolve(__dirname, 'examples')
|
|
],
|
|
test: /\.js$/
|
|
}, {
|
|
test: /\.(js)$/,
|
|
exclude: /node_modules/,
|
|
use: ['babel-loader']
|
|
}, {
|
|
test: /\.css$/,
|
|
use: [{
|
|
loader: 'style-loader'
|
|
}, {
|
|
loader: 'css-loader'
|
|
}]
|
|
}]
|
|
},
|
|
|
|
resolve: {
|
|
extensions: ['.js'],
|
|
alias: {
|
|
'CodeMirror': path.join(__dirname, 'node_modules', 'codemirror'),
|
|
'jQuery': path.join(__dirname, 'node_modules', 'jquery')
|
|
}
|
|
},
|
|
|
|
plugins: [
|
|
new HtmlWebpackPlugin({
|
|
template: path.join(__dirname, 'examples', 'app.html')
|
|
}),
|
|
new webpack.ProvidePlugin({
|
|
$: 'jquery',
|
|
jQuery: 'jquery'
|
|
}),
|
|
new webpack.ProvidePlugin({
|
|
CodeMirror: 'codemirror'
|
|
})
|
|
],
|
|
|
|
entry: {
|
|
app: [
|
|
'./examples/app',
|
|
'./src/mergely',
|
|
]
|
|
},
|
|
|
|
output: {
|
|
filename: 'mergely.js',
|
|
},
|
|
|
|
optimization: {
|
|
splitChunks: {
|
|
cacheGroups: {
|
|
vendors: {
|
|
priority: -10,
|
|
test: /[\\/]node_modules[\\/]/
|
|
}
|
|
},
|
|
chunks: 'async',
|
|
minChunks: 1,
|
|
minSize: 30000
|
|
}
|
|
}
|
|
} |