-
Notifications
You must be signed in to change notification settings - Fork 115
/
vue.config.js
52 lines (48 loc) · 1.41 KB
/
vue.config.js
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
const CopyPlugin = require('copy-webpack-plugin')
const WorkboxPlugin = require('workbox-webpack-plugin')
module.exports = {
publicPath: '',
// Workaround for https://github.com/vuejs/vue-cli/issues/5399 as described
// in https://stackoverflow.com/a/63185174
lintOnSave: process.env.NODE_ENV === 'development',
configureWebpack: {
plugins: [
new CopyPlugin([
// This wasm file will be fetched dynamically when we initialize sql.js
// It is important that we do not change its name,
// and that it is in the same folder as the js
{ from: 'node_modules/sql.js/dist/sql-wasm.wasm', to: 'js/' },
{ from: 'LICENSE', to: './' }
]),
new WorkboxPlugin.GenerateSW({
exclude: [/\.map$/, 'LICENSE', 'inquiries.json'],
clientsClaim: true,
skipWaiting: false,
maximumFileSizeToCacheInBytes: 40000000
})
]
},
chainWebpack: config => {
const svgRule = config.module.rule('svg')
svgRule.uses.clear()
svgRule
.use('url-loader')
.loader('url-loader')
.options({
limit: 10000
})
config.module
.rule('worker')
.test(/worker\.js$/)
.use('worker-loader')
.loader('worker-loader')
.end()
config.module.rule('js').exclude.add(/worker\.js$/)
config
.plugin('html')
.tap(args => {
args[0].minify = false
return args
})
}
}