nuxt.config.ts 2.17 KB
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 */
    },
  },
});