-
Notifications
You must be signed in to change notification settings - Fork 0
/
nuxt.config.ts
123 lines (109 loc) · 2.24 KB
/
nuxt.config.ts
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
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
modules: [
'@pinia/nuxt',
'@nuxt/ui',
'@nuxt/image',
'@nuxt/eslint',
'@nuxthub/core',
'@vite-pwa/nuxt',
'@nuxt/test-utils/module'
],
ssr: true,
devtools: {
enabled: true,
timeline: {
enabled: true
}
},
app: {
pageTransition: { name: 'page', mode: 'out-in' }
},
colorMode: {
preference: 'dark'
},
routeRules: {
'/**': {
prerender: true
}
},
future: {
compatibilityVersion: 4
},
experimental: {
payloadExtraction: true,
treeshakeClientOnly: true,
viewTransition: true,
renderJsonPayloads: true
},
compatibilityDate: '2024-04-03',
nitro: {
compressPublicAssets: true,
minify: true,
timing: true,
experimental: {
tasks: true
},
cloudflare: {
pages: {
routes: {
exclude: ['/docs/*', '/blog/*']
}
}
},
prerender: {
routes: ['/'],
crawlLinks: true
}
},
hub: {
remote: false,
ai: false,
blob: true,
database: true
},
vite: {
build: {
cssMinify: true
},
optimizeDeps: {
include: ['vue', 'vue-router', '@vueuse/core'],
exclude: ['nuxt/app']
}
},
typescript: {
strict: false
},
eslint: {
config: {
stylistic: {
commaDangle: 'never',
braceStyle: '1tbs'
}
}
},
image: {
provider: 'ipx',
format: ['webp', 'avif'],
screens: {
xs: 320,
sm: 640,
md: 768,
lg: 1024,
xl: 1280,
xxl: 1536
},
presets: {
avatar: {
modifiers: {
format: 'webp',
width: 80,
height: 80
}
}
}
},
pwa: {
/* your pwa options */
}
})