-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnuxt.config.ts
124 lines (96 loc) · 2.08 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
124
import tailwindcss from '@tailwindcss/vite';
import vuetify, { transformAssetUrls } from 'vite-plugin-vuetify';
export default defineNuxtConfig({
future: {
compatibilityVersion: 4,
},
experimental: {
normalizeComponentNames: true,
},
// ==============================================
srcDir: './app',
ssr: true,
// ===========
typescript: {
typeCheck: true,
},
eslint: {},
// ===========
devtools: {
enabled: true,
},
vite: {
plugins: [tailwindcss()],
vue: {
template: {
transformAssetUrls,
},
},
},
// ===========
features: {
inlineStyles: false,
},
// ==============================================
css: [
'@mdi/font/css/materialdesignicons.min.css',
'~/assets/styles/app.css',
],
build: {
transpile: ['vuetify'],
},
serverHandlers: [
{ route: '/_api/auth/**', handler: './server/_api/auth/[...].ts' },
],
// ==============================================
modules: [
'@sidebase/nuxt-auth',
'@nuxtjs/color-mode',
'vue3-carousel-nuxt',
(_options, nuxt) => {
nuxt.hooks.hook('vite:extendConfig', (config) => {
config.plugins.push(vuetify({ autoImport: true }));
});
},
'@nuxt/eslint',
],
colorMode: {
preference: 'system',
fallback: 'light',
classPrefix: '',
classSuffix: '',
},
// ==============================================
auth: {
baseURL: process.env.AUTH_ORIGIN ?? '/_api/auth',
provider: {
type: 'authjs',
trustHost: false,
addDefaultCallbackUrl: false,
},
sessionRefresh: {
enablePeriodically: 15 * 1000,
enableOnWindowFocus: true,
},
globalAppMiddleware: true,
},
// ===========
// ===========
nitro: {
hooks: {
'rollup:before'(ctx) {
ctx.options.moduleSideEffects.push('reflect-metadata');
},
},
esbuild: {
options: {
tsconfigRaw: {
compilerOptions: {
experimentalDecorators: true,
},
},
},
},
},
compatibilityDate: '2024-11-01',
});