Update to recent dependencies 83/27583/1
authorJose Dapena Paz <jdapena@igalia.com>
Tue, 31 May 2022 14:04:59 +0000 (16:04 +0200)
committerJose Dapena Paz <jdapena@igalia.com>
Tue, 31 May 2022 15:29:09 +0000 (17:29 +0200)
Update to recent webpack and other nodejs dependencies.

Bug-AGL: SPEC-4248, SPEC-4355
Signed-off-by: Jose Dapena Paz <jdapena@igalia.com>
Change-Id: I6a73194f9bbeb7ee99722192a9241888a3d24349

package.json
webpack.config.js

index fdaa1a7..5de71c2 100644 (file)
         "automotivegradelinux"
     ],
     "devDependencies": {
-        "clean-webpack-plugin": "^1.0.1",
-        "copy-webpack-plugin": "^4.6.0",
-        "css-loader": "^2.1.0",
-        "file-loader": "^4.0.0",
-        "html-webpack-plugin": "^3.2.0",
-        "image-webpack-loader": "^5.0.0",
-        "mini-css-extract-plugin": "^0.5.0",
-        "node-sass": "^4.12.0",
-        "sass-loader": "^7.1.0",
-        "style-loader": "^0.23.1",
-        "uglifyjs-webpack-plugin": "^2.1.1",
-        "webpack": "^4.29.5",
-        "webpack-cli": "^3.2.3",
-        "webpack-dev-server": "^3.7.2",
-        "zip-webpack-plugin": "^3.0.0"
+        "clean-webpack-plugin": "^4.0.0",
+        "copy-webpack-plugin": "^10.2.4",
+        "css-loader": "^6.7.1",
+        "file-loader": "^6.2.0",
+        "html-webpack-plugin": "^5.5.0",
+        "mini-css-extract-plugin": "^2.6.0",
+        "node-sass": "^7.0.1",
+        "sass-loader": "^12.6.0",
+        "style-loader": "^3.3.1",
+        "uglify-js": "^3.15.4",
+        "webpack": "^5.72.0",
+        "webpack-cli": "^4.9.2",
+        "webpack-dev-server": "^4.8.1"
     },
     "dependencies": {
-        "mustache": "^3.1.0",
-        "agl-js-api": "https://github.com/AGL-web-applications/agl-js-api.git#master"
+        "mustache": "^4.2.0"
     }
 }
index 68999df..4bb79af 100644 (file)
@@ -1,11 +1,9 @@
 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',
@@ -20,30 +18,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 +53,6 @@ module.exports = {
         }),
         new MiniCSSExtractPlugin({
             filename: 'app.css',
-            path: __dirname + '/dist'
-        }),
-        new ZipPlugin({
-            path: __dirname + '/package',
-            filename: 'mixer',
-            extension: 'wgt',
-            exclude: []
         })
     ],
     module: {
@@ -79,33 +74,19 @@ module.exports = {
             },
             {
                 test: /\.(woff(2)?|ttf|eot|svg)(\?v=\d+\.\d+\.\d+)?$/,
-                use: [
-                    {
-                        loader: 'file-loader',
-                        options: {
-                            name: '[name].[ext]',
-                            outputPath: 'fonts/'
-                        }
-                    }
-                ]
+                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
     }