]> BookStack Code Mirror - bookstack/blobdiff - webpack.config.js
Add the "Create Shelf" resp. "Create Book" to the home view
[bookstack] / webpack.config.js
index 5abde44231910f58ee02e406af892b5771fa6df3..e496340c46c63a4409d3b51702a3de98c54f7459 100644 (file)
@@ -1,16 +1,16 @@
 const path = require('path');
 const dev = process.env.NODE_ENV !== 'production';
 
-const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
+const MiniCssExtractPlugin = require("mini-css-extract-plugin");
 
 const config = {
     target: 'web',
     mode: dev? 'development' : 'production',
     entry: {
-        app: './resources/assets/js/index.js',
-        styles: './resources/assets/sass/styles.scss',
-        "export-styles": './resources/assets/sass/export-styles.scss',
-        "print-styles": './resources/assets/sass/print-styles.scss',
+        app: './resources/js/index.js',
+        styles: './resources/sass/styles.scss',
+        "export-styles": './resources/sass/export-styles.scss',
+        "print-styles": './resources/sass/print-styles.scss',
     },
     output: {
         filename: '[name].js',
@@ -18,60 +18,35 @@ const config = {
     },
     module: {
         rules: [
-            {
-                test: /\.js$/,
-                exclude: /(node_modules)/,
-                use: {
-                    loader: 'babel-loader',
-                    options: {
-                        presets: ['@babel/preset-env']
-                    }
-                }
-            },
             {
                 test: /\.scss$/,
-                use: [{
-                    loader: 'file-loader',
-                    options: {
-                        name: '[name].css',
-                        context: './src/css/',
-                        outputPath: './',
-                        publicPath: 'public/'
-                    }
-                }, {
-                    loader: 'extract-loader', options: {
-                        publicPath: '',
-                    }
-                }, {
-                    loader: "css-loader", options: {
+                use: [
+                    {
+                        loader: MiniCssExtractPlugin.loader,
+                        options: {}
+                    },
+                    {
+                        loader: "css-loader", options: {
                         sourceMap: dev
                     }
-                }, {
-                    loader: 'postcss-loader',
-                    options: {
-                        ident: 'postcss',
-                        sourceMap: dev,
-                        plugins: (loader) => [
-                            require('autoprefixer')(),
-                        ]
+                    }, {
+                        loader: "sass-loader", options: {
+                            sourceMap: dev
+                        }
                     }
-                }, {
-                    loader: "sass-loader", options: {
-                        sourceMap: dev
-                    }
-                }]
+                ]
             }
         ]
     },
-    plugins: []
+    plugins: [
+        new MiniCssExtractPlugin({
+            filename: "[name].css",
+        }),
+    ]
 };
 
 if (dev) {
     config['devtool'] = 'inline-source-map';
 }
 
-if (!dev) {
-    config.plugins.push(new UglifyJsPlugin());
-}
-
 module.exports = config;
\ No newline at end of file