-
Notifications
You must be signed in to change notification settings - Fork 365
/
nuxt.config.ts
120 lines (107 loc) · 2.23 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
import { createResolver } from '@nuxt/kit'
const { resolve } = createResolver(import.meta.url)
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
// exp
experimental: {
localLayerAliases: true,
},
// app config
app: {
// global transition
pageTransition: { name: 'page', mode: 'out-in' },
layoutTransition: { name: 'layout', mode: 'out-in' },
},
// typescripts
// todo: feat/strict-type-check
// typescript: {
// strict: true,
// typeCheck: true,
// },
// modules
modules: [
// chore
'@nuxtjs/eslint-module',
// styling & ui
'@nuxtjs/tailwindcss',
'nuxt-headlessui',
'nuxt-icon',
'@nuxtjs/color-mode',
// management
'@pinia/nuxt',
'@vueuse/nuxt',
// contents,
'@nuxt/content',
// todo: feat/localization
// '@nuxtjs/i18n'
],
css: [
resolve('./assets/scss/_variables.scss'),
resolve('./assets/scss/app.scss'),
],
components: [
{
prefix: 'Layout',
path: resolve('./components/layouts'),
global: true,
},
{
prefix: 'Awesome',
path: resolve('./components/awesome'),
global: true,
},
],
imports: {
dirs: [resolve('./stores'), '~/stores'],
},
// module::pinia
pinia: {
storesDirs: ['~/stores/**', '#/stores/**', '@/stores/**'],
},
// module::headlessui
headlessui: {
prefix: 'Headless',
},
// module::color-mode
colorMode: {
classSuffix: '',
},
// module::content
content: {
markdown: {
mdc: true,
},
highlight: {
theme: 'github-dark',
},
},
// todo: feat/localization
// module::i18n
// i18n: {
// strategy: 'no_prefix',
// defaultLocale: 'en',
// langDir: 'locales',
// vueI18n: {
// fallbackLocale: 'en',
// },
// detectBrowserLanguage: {
// useCookie: true,
// fallbackLocale: 'en',
// redirectOn: 'root',
// },
// locales: [
// {
// code: 'en', // English
// iso: 'en-US',
// name: 'English',
// file: 'en.yml',
// },
// {
// code: 'id', // Indonesia
// iso: 'id-ID',
// name: 'Indonesia',
// file: 'id.yml',
// }
// ]
// },
})