nuxt.config.ts
2.17 KB
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
import process from "node:process";
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
compatibilityDate: "2024-11-01",
devtools: { enabled: true },
app: {
head: {
title: "TMDB Movie App",
htmlAttrs: {
lang: "fr",
},
meta: [
{ charset: "utf-8" },
{ name: "viewport", content: "width=device-width, initial-scale=1" },
{ name: "description", content: "Application de films utilisant l'API TMDB" },
{ name: "format-detection", content: "telephone=no" },
],
link: [{ rel: "icon", type: "image/x-icon", href: "/favicon.ico" }],
},
},
// css: ['~/assets/css/main.scss'],
modules: [
"@nuxt/icon",
"@nuxt/image",
"@nuxt/test-utils/module",
[
"@pinia/nuxt",
{
autoImports: [
// Automatically imports.
"defineStore", // Equal : import { defineStore } from 'pinia'.
["defineStore", "definePiniaStore"], // Equal : import { defineStore as definePiniaStore } from 'pinia'.
],
},
],
[
"@pinia-orm/nuxt",
{
autoImports: [
// automatically imports `useRepo`.
"useRepo", // import { useRepo } from 'pinia-orm'.
["useRepo", "usePinaRepo"], // import { useRepo as usePinaRepo } from 'pinia-orm'.
],
},
],
"pinia-plugin-persistedstate/nuxt",
"@nuxt/scripts",
"@nuxt/test-utils",
"@nuxt/ui",
"@nuxtjs/tailwindcss",
"@vueuse/nuxt",
"vuetify-nuxt-module",
],
// Persisted state config.
piniaPluginPersistedstate: {
storage: "localStorage",
cookieOptions: {
sameSite: "lax",
},
debug: true,
},
runtimeConfig: {
// The private keys which are only available server-side.
apiSecret: "123",
// Keys within public are also exposed client-side.
public: {
apiTMDBUrl: process.env.NUXT_ENV_TMDB_URL,
apiTMDBBearer: process.env.NUXT_ENV_TMDB_BEARER,
apiTinyMceSecret: process.env.NUXT_ENV_TINY_MCE_API_KEY,
},
},
vuetify: {
moduleOptions: {
/* module specific options */
},
vuetifyOptions: {
/* vuetify options */
},
},
});