forked from TYPO3GmbH/blog
-
Notifications
You must be signed in to change notification settings - Fork 0
/
webpack.config.js
60 lines (58 loc) · 1.83 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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
"use strict";
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const RemoveEmptyScriptsPlugin = require('webpack-remove-empty-scripts');
const TerserPlugin = require('terser-webpack-plugin');
module.exports = {
mode: 'production',
entry: {
frontend: './Resources/Private/Scss/frontend/frontend.scss',
backend: './Resources/Private/Scss/backend/backend.scss',
pagelayout: './Resources/Private/Scss/backend/pagelayout.scss',
Datatables: './Resources/Private/JavaScript/backend/Datatables.js',
MassUpdate: './Resources/Private/JavaScript/backend/MassUpdate.js',
SetupWizard: './Resources/Private/JavaScript/backend/SetupWizard.js',
},
externals: {
"jquery": "jquery",
"bootstrap": "bootstrap",
"TYPO3/CMS/Backend/Modal": "TYPO3/CMS/Backend/Modal",
"TYPO3/CMS/Backend/Severity": "TYPO3/CMS/Backend/Severity"
},
output: {
libraryTarget: 'amd',
path: __dirname + '/Resources/Public/JavaScript',
},
optimization: {
minimizer: [
new TerserPlugin({}),
]
},
module: {
rules: [
{
test: /\.(css|scss)$/,
use: [
MiniCssExtractPlugin.loader,
{
loader: "css-loader",
options: {}
},
{
loader: "postcss-loader",
options: {}
},
{
loader: "sass-loader",
options: {}
}
]
}
]
},
plugins: [
new RemoveEmptyScriptsPlugin(),
new MiniCssExtractPlugin({
filename: '../Css/[name].min.css',
})
]
};