aboutsummaryrefslogtreecommitdiffstats
path: root/src/wwwroot/webpack.config.js
blob: 2ab343635b6a3e2ec46d6c9bc89c5d14b2de4457 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
const path = require("path");
const globImporter = require("node-sass-glob-importer");

module.exports = [
    {
        mode: "development",
        entry: ["./frontbundle.js", "./frontbundle.scss"],
        watch: (process.argv.indexOf("--watch") > -1),
        watchOptions: {
            ignored: /node_modules/,
        },
        module: {
            rules: [
                {
                    test: /\.ts?$/,
                    exclude: /node_modules/,
                    use: "ts-loader",
                },
                {
                    test: /\.svg$/,
                    use: [{
                        loader: "html-loader",
                        options: {
                            minimize: true,
                        },
                    }],
                },
                {
                    test: /\.(css|scss)$/i,
                    use: [
                        {
                            loader: "file-loader",
                            options: {
                                name: "[name].css",
                            },
                        },
                        {
                            loader: "extract-loader",
                        },
                        {
                            loader: "css-loader?-url",
                        },
                        {
                            loader: "postcss-loader",
                            options: {
                                postcssOptions: {
                                    plugins: ["autoprefixer"],
                                },
                            },
                        },
                        {
                            loader: "sass-loader",
                            options: {
                                sourceMap: true,
                                sassOptions: {
                                    outputStyle: "compressed",
                                    importer: globImporter(),
                                },
                            },
                        },
                    ],
                },
            ],
        },
        resolve: {
            extensions: [".ts", ".js", ".scss", ".css"],
        },
        devtool: "source-map",
        output: {
            filename: "frontbundle.min.js",
            path: path.resolve(__dirname, "dist"),
        },
    },
    {
        mode: "development",
        entry: ["./backbundle.js", "./backbundle.scss"],
        watch: (process.argv.indexOf("--watch") > -1),
        watchOptions: {
            ignored: /node_modules/,
        },
        module: {
            rules: [
                {
                    test: /\.ts$/,
                    use: [{
                        loader: "ts-loader",
                        options: {
                            compilerOptions: {
                                declaration: false,
                                target: "es5",
                                module: "commonjs",
                            },
                            transpileOnly: true,
                        },
                    }],
                },
                {
                    test: /\.svg$/,
                    use: [{
                        loader: "html-loader",
                        options: {
                            minimize: true,
                        },
                    }],
                },
                {
                    test: /\.(css|scss)$/i,
                    use: [
                        {
                            loader: "file-loader",
                            options: {
                                name: "[name].css",
                            },
                        },
                        {
                            loader: "extract-loader",
                        },
                        {
                            loader: "css-loader?-url",
                        },
                        {
                            loader: "postcss-loader",
                            options: {
                                postcssOptions: {
                                    plugins: ["autoprefixer"],
                                },
                            },
                        },
                        {
                            loader: "sass-loader",
                            options: {
                                sourceMap: true,
                                sassOptions: {
                                    outputStyle: "compressed",
                                    importer: globImporter(),
                                },
                            },
                        },
                    ],
                },
            ],
        },
        resolve: {
            extensions: [".ts", ".js", ".scss", ".css"],
            alias: {
                "parchment": path.resolve(__dirname, "node_modules/parchment/src/parchment.ts"),
                "quill$": path.resolve(__dirname, "node_modules/quill/quill.js"),
            },
        },
        devtool: "source-map",
        output: {
            filename: "backbundle.min.js",
            path: path.resolve(__dirname, "dist"),
        },
    },
];