aboutsummaryrefslogtreecommitdiffstats
path: root/webpack.config.js
diff options
context:
space:
mode:
Diffstat (limited to 'webpack.config.js')
-rw-r--r--webpack.config.js100
1 files changed, 44 insertions, 56 deletions
diff --git a/webpack.config.js b/webpack.config.js
index 68999df..483e600 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -1,16 +1,21 @@
const path = require('path');
-const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
-const CleanWebpackPlugin = require('clean-webpack-plugin');
+const TerserPlugin = require('terser-webpack-plugin');
+const { CleanWebpackPlugin } = require('clean-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const MiniCSSExtractPlugin = require('mini-css-extract-plugin');
const CopyPlugin = require('copy-webpack-plugin');
-const ZipPlugin = require('zip-webpack-plugin');
-
module.exports = {
mode: 'production',
entry: {
- index: './src/index.js'
+ index: './src/index.js',
+ APP: './src/js/app.js',
+ PATHS: './src/js/paths.js',
+ KUKSA: './src/js/kuksa.js',
+ VAL_WEB: './src/generated/val_grpc_web_pb.js',
+ VAL: './src/generated/val_pb.js',
+ TYPES: './src/generated/types_pb.js',
+ VOLUME: './src/js/volume.js'
},
output: {
path: __dirname + '/dist',
@@ -20,30 +25,34 @@ module.exports = {
library: '[name]'
},
optimization: {
- minimizer: [new UglifyJsPlugin()],
+ minimize: true,
+ minimizer: [
+ new TerserPlugin({
+ minify: TerserPlugin.uglifyJsMinify,
+ terserOptions: {}
+ })
+ ],
},
plugins: [
- new CleanWebpackPlugin(['dist']),
- new CopyPlugin([
- {
- from: 'src/icon.*',
- flatten: true
- },
- {
- from: 'src/config.xml',
- flatten: true
- },
- {
- from: 'src/mockups/*',
- to: 'mockups/',
- flatten: true
- },
- {
- from: 'src/images/*',
- to: 'images/',
- flatten: true
- }
- ]),
+ new CleanWebpackPlugin({
+ cleanAfterEveryBuildPatterns: ['dist']
+ }),
+ new CopyPlugin({
+ patterns: [
+ {
+ from: 'src/icon.*',
+ to: "[name][ext]"
+ },
+ {
+ from: 'src/appinfo.json',
+ to: "appinfo.json"
+ },
+ {
+ from: 'src/images/*',
+ to: 'images/[name][ext]'
+ }
+ ]
+ }),
new HtmlWebpackPlugin({
template: 'src/index.html',
filename: 'index.html',
@@ -51,13 +60,6 @@ module.exports = {
}),
new MiniCSSExtractPlugin({
filename: 'app.css',
- path: __dirname + '/dist'
- }),
- new ZipPlugin({
- path: __dirname + '/package',
- filename: 'mixer',
- extension: 'wgt',
- exclude: []
})
],
module: {
@@ -78,35 +80,21 @@ module.exports = {
]
},
{
- test: /\.(woff(2)?|ttf|eot|svg)(\?v=\d+\.\d+\.\d+)?$/,
- use: [
- {
- loader: 'file-loader',
- options: {
- name: '[name].[ext]',
- outputPath: 'fonts/'
- }
- }
- ]
+ test: /\.(woff(2)?|ttf|eot)(\?v=\d+\.\d+\.\d+)?$/,
+ type: 'asset/resource',
+ generator: {
+ filename: 'fonts/[name][ext]'
+ }
},
{
test: /\.(gif|png|jpe?g|svg)$/i,
- use: [
- 'file-loader',
- {
- loader: "image-webpack-loader",
- options: {
- bypassOnDebug: true, // webpack@1.x
- disable: true, // webpack@2.x and newer
- },
- }
- ]
+ type: 'asset/resource'
}
]
},
devServer: {
- contentBase: path.join(__dirname, 'dist'),
+ static: path.join(__dirname, 'dist'),
compress: true,
port: 9000
}
-};  \ No newline at end of file
+};