-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnuxt.config.ts
124 lines (122 loc) · 2.97 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 eslintPlugin from "vite-plugin-eslint";
const ONE_DAY = 60 * 60 * 24 * 1000;
const ONE_WEEK = ONE_DAY * 7;
export default defineNuxtConfig({
// ssr: false,
runtimeConfig: {
public: {
baseUrl:
process.env.NODE_ENV === "development"
? process.env.BASE_URL
: process.env.BASE_URL,
dataUrl:
process.env.NODE_ENV === "development"
? process.env.DATA_URL
: process.env.DATA_URL,
frontendUrl:
process.env.NODE_ENV === "development"
? process.env.FRONTEND_URL
: process.env.FRONTEND_URL,
openaiUrl:
process.env.NODE_ENV === "development"
? process.env.OPENAI_SERVICE_URL
: "",
// yandexMapsApi: process.env.YANDEX_MAPS_API,
},
cookieName: process.env.COOKIE_NAME || "__session",
cookieSecret: process.env.COOKIE_SECRET || "secret",
cookieExpires: parseInt(
process.env.COOKIE_REMEMBER_ME_EXPIRES || ONE_DAY.toString(),
10
), // 1 day
cookieRememberMeExpires: parseInt(
process.env.COOKIE_REMEMBER_ME_EXPIRES || ONE_WEEK.toString(),
10
), // 7 days
},
// vite: {
// plugins: [eslintPlugin()],
// },
// plugins: [require("flowbite/plugin")],
modules: [
"@pinia/nuxt",
"@vueuse/nuxt",
"@nuxtjs/tailwindcss",
"@vite-pwa/nuxt",
[
"@nuxt/devtools",
{
enabled: true,
},
],
[
"nuxt-viewport",
{
/* Viewport options */
},
],
[
"nuxt-swiper",
{
// Swiper options
},
],
],
// pwa: {
// manifest: {
// name: "Спорт-услуги",
// short_name: "Спорт-услуги",
// description: "Агрегатор спортивных услуг",
// icons: [
// {
// src: "icons/icon_64x64.png",
// sizes: "64x64",
// type: "image/png",
// },
// {
// src: "icons/icon_144x144.png",
// sizes: "144x144",
// type: "image/png",
// },
// {
// src: "icons/icon_192x192.png",
// sizes: "192x192",
// type: "image/png",
// },
// {
// src: "icons/icon_512x512.png",
// sizes: "512x512",
// type: "image/png",
// },
// ],
// },
// workbox: {
// navigateFallback: "/",
// },
// devOptions: {
// enabled: true,
// type: "module",
// },
// },
css: [
"~/assets/css/main.css",
"primevue/resources/themes/lara-light-blue/theme.css",
"primevue/resources/primevue.css",
"primeicons/primeicons.css",
],
build: {
transpile: ["primevue", "@headlessui/vue"],
},
app: {
pageTransition: { name: "page", mode: "out-in" },
layoutTransition: { name: "layout", mode: "out-in" },
},
router: {
options: {
linkExactActiveClass: "router-exact-link-active",
},
},
imports: {
dirs: ["types/**", "stores/**"],
},
});