generated from pisandelli/nuxt3-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
nuxt.config.ts
113 lines (111 loc) · 3.11 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
import { fileURLToPath } from 'node:url'
import { resolve, dirname } from 'node:path'
import VueI18nVitePlugin from '@intlify/unplugin-vue-i18n/vite'
export default defineNuxtConfig({
devtools: { enabled: true },
app: {
head: {
htmlAttrs: {
lang: 'pt-br'
},
title: 'Mediuni.ca - Sistema de gerenciamento de comunicações espíritas'
}
},
// Read more about Nuxt Layers
// https://nuxt.com/docs/getting-started/layers
extends: [
// Layout compositions for Nuxt
// https://github.com/pisandelli/nuxt-layout-compositions
'nuxt-layout-compositions'
],
components: {
dirs: [
{ path: '~/components/_widgets', pathPrefix: false, prefix: 'W' },
'~/components'
]
},
alias: {
images: fileURLToPath(new URL('./assets/images', import.meta.url)),
styles: fileURLToPath(new URL('./assets/styles', import.meta.url))
},
// Enabled Take Over Mode or installed the TypeScript Vue Plugin (Volar)
// https://nuxt.com/docs/getting-started/installation#prerequisites
typescript: {
shim: false
},
css: ['@/assets/styles/reset.styl'],
vite: {
css: {
preprocessorOptions: {
stylus: {
imports: [
fileURLToPath(
new URL('./assets/styles/abstracts/*.styl', import.meta.url)
)
]
}
}
},
/**
* @see https://vue-i18n.intlify.dev/guide/integrations/nuxt3.html
* */
plugins: [
VueI18nVitePlugin({
include: [
resolve(dirname(fileURLToPath(import.meta.url)), './locales/*.json')
]
})
]
},
modules: [
['@nuxtjs/google-fonts', {
// Add options for Google Fonts
// https://google-fonts.nuxtjs.org/options
families: {
Inter: [100, 400, 500, 700]
}
}],
['@nuxtjs/html-validator', {
// Add custom options for HTML-Validator
// https://html-validator.nuxtjs.org/#configuration-optional
// https://html-validate.org/rules/index.html
// usePrettier: true,
logLevel: 'warning',
options: {
rules: {
'no-dup-class': 'off' // Avoid error for classes using [ ] notation
}
}
}],
['@nuxtjs/robots', {
// add robots config here
// https://github.com/nuxt-community/robots-module#robots-config
}],
['@nuxt/image', {
// add nuxt-image config here
// https://v1.image.nuxtjs.org/configuration
dir: 'assets/images/'
}],
['@vueuse/nuxt', {
// No options, but see the section Caveats for further info
// https://www.npmjs.com/package/@vueuse/nuxt}
}],
['@nuxtjs/color-mode', {
// Control the site color Mode
// https://color-mode.nuxtjs.org/
}],
['@nuxtjs/web-vitals', {
// Add custom config
// https://github.com/nuxt-modules/web-vitals#options
}],
['nuxt-icon', {
// Add custom options for NuxtIcon
// https://github.com/nuxt-modules/icon
}],
['@morev/vue-transitions/nuxt', {
// Add custom options for vueTransitions
// https://github.com/MorevM/vue-transitions#usage-with-nuxt
}],
'@pinia/nuxt'
]
})