-
Notifications
You must be signed in to change notification settings - Fork 5
/
nuxt.config.ts
136 lines (134 loc) · 3.03 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
125
126
127
128
129
130
131
132
133
134
135
136
import { fileURLToPath } from 'url'
import { dirname, join } from 'path'
const dir = dirname(fileURLToPath(import.meta.url))
export default defineNuxtConfig({
app: {
head: {
link: [{ rel: 'icon', type: 'image/svg', href: '/favicon.svg' }]
}
},
css: ["~/assets/css/main.scss"],
runtimeConfig: {
basicAuth: process.env.NUXT_BASIC_AUTH || "",
shopinvader: {
erp: {
proxy: {
auth: process.env.NUXT_SHOPINVADER_ERP_PROXY_AUTH || "",
url: process.env.NUXT_SHOPINVADER_ERP_PROXY_URL || "",
},
},
},
public: {
theme: {
logo: process.env.VUE_APP_LOGO_URL || ''
},
shopinvader: {
erp: {
key: process.env.NUXT_PUBLIC_SHOPINVADER_ERP_KEY || "",
url: process.env.NUXT_PUBLIC_SHOPINVADER_ERP_URL || "",
default_role: "default",
},
auth: {
type: process.env.NUXT_PUBLIC_SHOPINVADER_AUTH_TYPR || "credentials",
profile: {
loginPage: "/account/login",
logoutPage: "/",
}
},
endpoint: "shopinvader",
elasticsearch: {
url: process.env.NUXT_PUBLIC_SHOPINVADER_ELASTICSEARCH_URL || "",
indices: {
products:
process.env
.NUXT_PUBLIC_SHOPINVADER_ELASTICSEARCH_INDICES_PRODUCTS ||
"",
categories:
process.env
.NUXT_PUBLIC_SHOPINVADER_ELASTICSEARCH_INDICES_CATEGORIES ||
"",
},
},
},
},
},
modules: [
"nuxt-delay-hydration",
"nuxt-icon",
'@nuxtjs/tailwindcss',
'nuxt-simple-sitemap',
'nuxt-simple-robots',
join(dir, 'modules/shopinvader'),
'@pinia/nuxt',
'@pinia-plugin-persistedstate/nuxt',
'@vueuse/motion/nuxt',
'@nuxt/image',
],
piniaPersistedstate: {
cookieOptions: {
sameSite: 'strict'
},
storage: 'localStorage'
},
delayHydration: {
mode: "mount",
},
pages: true,
sitemap: {
exclude: ['/cart', '/checkout', '/template/**', '/account', '/account/**', '/_shopinvader']
},
i18n: {
locales: [
{
code: 'en',
iso: 'en_us',
file: 'en-US.json',
name: 'English',
icon: 'circle-flags:uk'
},
{
code: 'es',
iso: 'es_es',
file: 'es-ES.json',
name: 'Español',
icon: 'circle-flags:es'
},
{
code: 'fr',
iso: 'fr_fr',
file: 'fr-FR.json',
name: 'Français',
icon: 'circle-flags:fr'
}
],
debug: false,
lazy: true,
langDir: 'locales',
defaultLocale: 'en',
strategy: 'prefix_except_default',
},
build: {
transpile: ['@shopinvader/cart']
},
devtools: {
enabled: false
},
routeRules: {
'/account/**': {
index: false,
ssr: false
},
'/cart': {
index: false,
ssr: false
},
'/checkout/**': {
index: false,
ssr: false
},
'/search': {
index: true,
ssr: false
},
}
})