-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathquasar.config.js
More file actions
102 lines (86 loc) · 1.82 KB
/
quasar.config.js
File metadata and controls
102 lines (86 loc) · 1.82 KB
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
import { defineConfig } from '#q-app'
import mdPlugin from './build/md/index.js'
import examplesPlugin from './build/examples.js'
import { codeSplitting } from './build/chunks.js'
export default defineConfig(ctx => ({
boot: [
{ path: 'gdpr', server: false }
],
css: [
'app.sass'
],
build: {
vueRouterMode: 'history',
distDir: 'dist/quasar.dev',
useFilenameHashes: false,
defineEnv: {
DOCS_BRANCH: 'main',
SEARCH_INDEX: 'quasar-legacy-app'
},
viteVuePluginOptions: {
include: [/\.(vue|md)$/]
},
vitePlugins: [
mdPlugin,
examplesPlugin(ctx.prod)
],
extendViteConf (_viteConf, { isClient }) {
if (ctx.prod && isClient) {
return {
build: {
chunkSizeWarningLimit: 650,
rolldownOptions: {
output: {
codeSplitting
}
}
}
}
}
}
},
devServer: {
port: 9090,
open: {
app: { name: 'google chrome' }
}
},
framework: {
iconSet: 'svg-mdi-v6',
devTreeshaking: true,
autoImportVueExtensions: [ 'vue', 'md' ],
config: {
loadingBar: {
color: 'brand-primary',
size: '4px'
}
},
plugins: [
'Cookies',
'Dark',
'Loading',
'LocalStorage',
'Meta',
'Notify'
]
},
animations: [ 'fadeIn', 'fadeOut' ],
pwa: {
workboxMode: 'GenerateSW',
injectPWAMetaTags: false,
swFilename: 'service-worker.js',
extendPWAGenerateSWOptions (cfg) {
Object.assign(cfg, {
cleanupOutdatedCaches: true,
skipWaiting: true,
clientsClaim: true,
runtimeCaching: [
{
urlPattern: /^https:\/\/cdn/,
handler: 'StaleWhileRevalidate'
}
]
})
}
}
}))