annotate client/vue.config.js @ 568:99968a7394f7

feat: PurgeCSS added to remove unnecessary CSS weight For more info see: https://github.com/FullHuman/purgecss
author Thomas Junk <thomas.junk@intevation.de>
date Wed, 05 Sep 2018 10:43:05 +0200
parents f6d61657b487
children 8278b2fb0c33
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
568
99968a7394f7 feat: PurgeCSS added to remove unnecessary CSS weight
Thomas Junk <thomas.junk@intevation.de>
parents: 500
diff changeset
1 const CopyWebpackPlugin = require("copy-webpack-plugin");
99968a7394f7 feat: PurgeCSS added to remove unnecessary CSS weight
Thomas Junk <thomas.junk@intevation.de>
parents: 500
diff changeset
2 const PurgecssPlugin = require("purgecss-webpack-plugin");
99968a7394f7 feat: PurgeCSS added to remove unnecessary CSS weight
Thomas Junk <thomas.junk@intevation.de>
parents: 500
diff changeset
3 const glob = require("glob-all");
99968a7394f7 feat: PurgeCSS added to remove unnecessary CSS weight
Thomas Junk <thomas.junk@intevation.de>
parents: 500
diff changeset
4 const path = require("path");
23
c1ef0be0ae3d Improve build chain
Thomas Junk <thomas.junk@intevation.de>
parents: 21
diff changeset
5
3
1597506a2241 merge with vue-cli
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
6 module.exports = {
21
d16f799e0469 Configure Webpack to put its output to web-folder
Thomas Junk <thomas.junk@intevation.de>
parents: 13
diff changeset
7 outputDir: "../web",
23
c1ef0be0ae3d Improve build chain
Thomas Junk <thomas.junk@intevation.de>
parents: 21
diff changeset
8 chainWebpack: config => {
c1ef0be0ae3d Improve build chain
Thomas Junk <thomas.junk@intevation.de>
parents: 21
diff changeset
9 let vendorImgPath = process.env.VUE_APP_VENDOR_IMG_PATH;
c1ef0be0ae3d Improve build chain
Thomas Junk <thomas.junk@intevation.de>
parents: 21
diff changeset
10 if (!vendorImgPath) return;
c1ef0be0ae3d Improve build chain
Thomas Junk <thomas.junk@intevation.de>
parents: 21
diff changeset
11 config
c1ef0be0ae3d Improve build chain
Thomas Junk <thomas.junk@intevation.de>
parents: 21
diff changeset
12 .plugin("CopyWebpackPlugin")
c1ef0be0ae3d Improve build chain
Thomas Junk <thomas.junk@intevation.de>
parents: 21
diff changeset
13 .use(CopyWebpackPlugin, [[{ from: vendorImgPath, to: "img" }]], {
c1ef0be0ae3d Improve build chain
Thomas Junk <thomas.junk@intevation.de>
parents: 21
diff changeset
14 copyUnmodified: true
c1ef0be0ae3d Improve build chain
Thomas Junk <thomas.junk@intevation.de>
parents: 21
diff changeset
15 });
568
99968a7394f7 feat: PurgeCSS added to remove unnecessary CSS weight
Thomas Junk <thomas.junk@intevation.de>
parents: 500
diff changeset
16 config.plugin("PurgecssPlugin").use(PurgecssPlugin, [
99968a7394f7 feat: PurgeCSS added to remove unnecessary CSS weight
Thomas Junk <thomas.junk@intevation.de>
parents: 500
diff changeset
17 {
99968a7394f7 feat: PurgeCSS added to remove unnecessary CSS weight
Thomas Junk <thomas.junk@intevation.de>
parents: 500
diff changeset
18 paths: glob.sync([
99968a7394f7 feat: PurgeCSS added to remove unnecessary CSS weight
Thomas Junk <thomas.junk@intevation.de>
parents: 500
diff changeset
19 path.join(__dirname, "./src/index.html"),
99968a7394f7 feat: PurgeCSS added to remove unnecessary CSS weight
Thomas Junk <thomas.junk@intevation.de>
parents: 500
diff changeset
20 path.join(__dirname, "./**/*.vue"),
99968a7394f7 feat: PurgeCSS added to remove unnecessary CSS weight
Thomas Junk <thomas.junk@intevation.de>
parents: 500
diff changeset
21 path.join(__dirname, "./src/**/*.js")
99968a7394f7 feat: PurgeCSS added to remove unnecessary CSS weight
Thomas Junk <thomas.junk@intevation.de>
parents: 500
diff changeset
22 ])
99968a7394f7 feat: PurgeCSS added to remove unnecessary CSS weight
Thomas Junk <thomas.junk@intevation.de>
parents: 500
diff changeset
23 }
99968a7394f7 feat: PurgeCSS added to remove unnecessary CSS weight
Thomas Junk <thomas.junk@intevation.de>
parents: 500
diff changeset
24 ]);
23
c1ef0be0ae3d Improve build chain
Thomas Junk <thomas.junk@intevation.de>
parents: 21
diff changeset
25 },
3
1597506a2241 merge with vue-cli
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
26 devServer: {
1597506a2241 merge with vue-cli
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
27 proxy: {
329
71970f03c9e8 SPA: Fixed setup for proxy in "serve" dev server mode.
Sascha Wilde <wilde@intevation.de>
parents: 23
diff changeset
28 "/api": {
353
a80e589c5ade fix: Fix broken environment variable setting
Thomas Junk <thomas.junk@intevation.de>
parents: 329
diff changeset
29 target: process.env.VUE_BACKEND_API_URL,
3
1597506a2241 merge with vue-cli
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
30 secure: false
11
e0b5dd98665e current frontend with asset server configured
Thomas Junk <thomas.junk@intevation.de>
parents: 3
diff changeset
31 },
23
c1ef0be0ae3d Improve build chain
Thomas Junk <thomas.junk@intevation.de>
parents: 21
diff changeset
32 "/img/*": {
11
e0b5dd98665e current frontend with asset server configured
Thomas Junk <thomas.junk@intevation.de>
parents: 3
diff changeset
33 target: "http://localhost:5000",
e0b5dd98665e current frontend with asset server configured
Thomas Junk <thomas.junk@intevation.de>
parents: 3
diff changeset
34 secure: false
3
1597506a2241 merge with vue-cli
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
35 }
500
f6d61657b487 Allow accessing client from outside localhost via hostname
Tom Gottfried <tom@intevation.de>
parents: 353
diff changeset
36 },
f6d61657b487 Allow accessing client from outside localhost via hostname
Tom Gottfried <tom@intevation.de>
parents: 353
diff changeset
37 disableHostCheck: true
3
1597506a2241 merge with vue-cli
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
38 }
1597506a2241 merge with vue-cli
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
39 };