-
Notifications
You must be signed in to change notification settings - Fork 0
/
nuxt.config.ts
70 lines (69 loc) · 2.15 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
import svgLoader from "vite-svg-loader"
// https://nuxt.com/docs/api/configuration/nuxt-config
// https://nuxt.com/docs/guide/concepts/rendering#hybrid-rendering
export default defineNuxtConfig({
devtools: { enabled: false },
app: {
head: {
charset: "utf-8",
viewport: "width=device-width, initial-scale=1.0, user-scalable=no",
htmlAttrs: { lang: "it" },
meta: [
{ charset: "utf-8" },
{ property: "og:type", content: "website" },
{ property: "og:image", content: "/og-image.jpg" },
{ hid: "t-type", name: "twitter:card", content: "summary_large_image" },
],
},
},
routeRules: {
// Homepage pre-rendered at build time
"/": { prerender: true },
// Admin dashboard renders only on client-side
"/admin/**": { ssr: false },
// Add cors headers on API routes
"/api/**": { cors: true },
},
build: { transpile: ["@vuepic/vue-datepicker"] },
imports: { dirs: ["stores"] },
css: ["~/assets/css/main.sass"],
modules: [
"@nuxt/image",
"@nuxtjs/supabase",
"@pinia-plugin-persistedstate/nuxt",
["@pinia/nuxt", { autoImports: ["defineStore", "acceptHMRUpdate"] }],
[
"@nuxtjs/google-fonts",
{ families: { Poppins: [300, 400, 500, 600] }, download: true, overwriting: false, display: "swap" },
],
"@nuxtjs/i18n",
"nuxt-gtag",
"nuxt3-meta-pixel",
],
i18n: {
strategy: "no_prefix",
detectBrowserLanguage: { redirectOn: "root", alwaysRedirect: true },
langDir: "./locales",
locales: [
{ code: "en", file: "en.json" },
{ code: "it", file: "it.json" },
],
defaultLocale: "it",
},
postcss: { plugins: { tailwindcss: {}, autoprefixer: {} } },
supabase: { redirect: false, key: process.env.SUPABASE_ANON_KEY },
vite: {
plugins: [svgLoader()],
vue: { script: { defineModel: true, propsDestructure: true } },
},
image: { format: ["webp"], domains: ["avatars0.githubusercontent.com"] },
// events tracking Google Analytics, Facebook
gtag: { id: "G-7WHW3K85WN" },
facebook: {
track: "PageView",
pixelId: "632015775759638",
autoPageView: true,
disabled: false,
// debug: true
},
})