]> BookStack Code Mirror - bookstack/blob - webpack.config.js
Updated the Swedish language files
[bookstack] / webpack.config.js
1 const path = require('path');
2 const dev = process.env.NODE_ENV !== 'production';
3
4 const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
5 const MiniCssExtractPlugin = require("mini-css-extract-plugin");
6
7 const config = {
8     target: 'web',
9     mode: dev? 'development' : 'production',
10     entry: {
11         app: './resources/assets/js/index.js',
12         styles: './resources/assets/sass/styles.scss',
13         "export-styles": './resources/assets/sass/export-styles.scss',
14         "print-styles": './resources/assets/sass/print-styles.scss',
15     },
16     output: {
17         filename: '[name].js',
18         path: path.resolve(__dirname, 'public/dist')
19     },
20     module: {
21         rules: [
22             {
23                 test: /\.js$/,
24                 exclude: /(node_modules)/,
25                 use: {
26                     loader: 'babel-loader',
27                     options: {
28                         presets: [[
29                             '@babel/preset-env', {
30                                 useBuiltIns: 'usage'
31                             }
32                         ]]
33                     }
34                 }
35             },
36             {
37                 test: /\.scss$/,
38                 use: [
39                     {
40                         loader: MiniCssExtractPlugin.loader,
41                         options: {}
42                     },
43                     {
44                         loader: "css-loader", options: {
45                         sourceMap: dev
46                     }
47                     }, {
48                         loader: 'postcss-loader',
49                         options: {
50                             ident: 'postcss',
51                             sourceMap: dev,
52                             plugins: (loader) => [
53                                 require('autoprefixer')(),
54                             ]
55                         }
56                     }, {
57                         loader: "sass-loader", options: {
58                             sourceMap: dev
59                         }
60                     }
61                 ]
62             }
63         ]
64     },
65     plugins: [
66         new MiniCssExtractPlugin({
67             filename: "[name].css",
68         }),
69     ]
70 };
71
72 if (dev) {
73     config['devtool'] = 'inline-source-map';
74 }
75
76 if (!dev) {
77     config.plugins.push(new UglifyJsPlugin());
78 }
79
80 module.exports = config;
Morty Proxy This is a proxified and sanitized view of the page, visit original site.