]> BookStack Code Mirror - bookstack/blob - webpack.config.js
Fixed German translations for notifications
[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 ExtractTextPlugin = require("extract-text-webpack-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: ExtractTextPlugin.extract({
39                     fallback: "style-loader",
40                     use: [{
41                         loader: "css-loader", options: {
42                             sourceMap: dev
43                         }
44                     }, {
45                         loader: 'postcss-loader',
46                         options: {
47                             ident: 'postcss',
48                             sourceMap: dev,
49                             plugins: (loader) => [
50                                 require('autoprefixer')(),
51                             ]
52                         }
53                     }, {
54                         loader: "sass-loader", options: {
55                             sourceMap: dev
56                         }
57                     }]
58                 })
59             }
60         ]
61     },
62     plugins: [
63         new ExtractTextPlugin("[name].css"),
64     ]
65 };
66
67 if (dev) {
68     config['devtool'] = 'inline-source-map';
69 }
70
71 if (!dev) {
72     config.plugins.push(new UglifyJsPlugin());
73 }
74
75 module.exports = config;
Morty Proxy This is a proxified and sanitized view of the page, visit original site.