-
-
Notifications
You must be signed in to change notification settings - Fork 15
/
nuxt.config.ts
88 lines (88 loc) · 1.7 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
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
modules: [
'@nuxt/eslint',
'@unocss/nuxt',
'nuxt-og-image',
'nuxt-time',
'@nuxtjs/plausible',
'@nuxtjs/html-validator',
'@nuxt/test-utils/module',
],
$production: {
routeRules: {
'/**': {
cache: {
swr: true,
maxAge: 24 * 60 * 60,
staleMaxAge: 24 * 60 * 60,
},
},
},
},
components: ['~/components/graphs', '~/components'],
devtools: { enabled: true },
site: {
url: 'https://page-speed.dev',
},
runtimeConfig: {
google: {
apiToken: '',
},
},
routeRules: {
'/': { prerender: true, swr: true },
'/api/**': { swr: false, cache: false },
'/__og-image__/**': { swr: false, cache: false },
},
future: { compatibilityVersion: 4 },
features: {
inlineStyles: false,
},
experimental: {
defaults: {
useAsyncData: { deep: true },
},
appManifest: false,
headNext: true,
payloadExtraction: false,
},
compatibilityDate: '2024-09-12',
nitro: {
compressPublicAssets: {
brotli: true,
gzip: true,
},
azure: {
config: {
platform: {
apiRuntime: 'node:18',
},
},
},
},
eslint: {
config: {
stylistic: true,
},
},
htmlValidator: {
failOnError: true,
},
ogImage: {
componentDirs: ['opengraph'],
defaults: {
cacheMaxAgeSeconds: 60 * 60 * 24,
},
fonts: ['Roboto:500'],
},
plausible: {
domain: 'page-speed.dev',
apiHost: 'https://v.roe.dev',
},
unocss: {
rules: [
['min-h-screen', { 'min-height': '100vh' }, { layer: '_fallback' }],
],
},
})