import { defineNuxtConfig } from 'nuxt' import fs from 'fs'; // https://v3.nuxtjs.org/api/configuration/nuxt.config export default defineNuxtConfig({ vuetify: { customVariables: ['~/assets/css/variables.scss'], treeShake: true, theme: { options: { customProperties: true }, dark: false, themes: { light: { ot_green: '#00ad8e', ot_light_green: '#a9e0d6', ot_dark_grey: '#324150', ot_dark_grey_hover: '#2c3a48', ot_grey: '#777777', ot_header_menu: '#ECE7E5', ot_light_grey: '#f5f5f5', ot_super_light_grey: '#ecf0f5', ot_danger: '#f56954', ot_success: '#00a65a', ot_warning: '#f39c12', ot_info: '#3c8dbc', ot_menu_color: '#b8c7ce', ot_content_color: '#ecf0f4', ot_border_menu: '#f4f4f4', ot_white: '#ffffff', ot_black: '#000000' }, } } }, css: [ 'vuetify/lib/styles/main.sass' ], runtimeConfig: { // Private config that is only available on the server baseUrl: '', baseUrlLegacy: '', baseUrlAdminLegacy: '', baseUrlTypo3: '', baseUrlMercure: '', // Config within public will be also exposed to the client public: { baseUrl: '', baseUrlLegacy: '', baseUrlAdminLegacy: '', baseUrlTypo3: '', baseUrlMercure: '', } }, hooks: { 'builder:watch': console.log }, app: { head: { title: 'Opentalent', meta: [ { charset: 'utf-8' }, { name: 'viewport', content: 'width=device-width, initial-scale=1' }, { hid: 'description', name: 'description', content: '' }, { name: 'msapplication-TileColor', content: '#324250' }, { name: 'msapplication-TileImage', content: '/favicon/mstile-144x144.png' } ], link: [ { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }, { rel: 'apple-touch-icon-precomposed', sizes: '57x57', href: '/favicon/apple-touch-icon-57x57.png' }, { rel: 'apple-touch-icon-precomposed', sizes: '114x114', href: '/favicon/apple-touch-icon-114x114.png' }, { rel: 'apple-touch-icon-precomposed', sizes: '72x72', href: '/favicon/apple-touch-icon-72x72.png' }, { rel: 'apple-touch-icon-precomposed', sizes: '144x144', href: '/favicon/apple-touch-icon-144x144.png' }, { rel: 'apple-touch-icon-precomposed', sizes: '120x120', href: '/favicon/apple-touch-icon-120x120.png' }, { rel: 'apple-touch-icon-precomposed', sizes: '152x152', href: '/favicon/apple-touch-icon-152x152.png' }, { rel: 'icon', sizes: '32x32', type: 'image/x-icon', href: '/favicon/favicon-32x32.png' }, { rel: 'icon', sizes: '16x16', type: 'image/x-icon', href: '/favicon/favicon-16x16.png' }, ] } }, modules: [ 'nuxt-lodash', [ '@pinia/nuxt', { autoImports: [ // automatically imports `usePinia()` 'defineStore', // automatically imports `usePinia()` as `usePiniaStore()` ['defineStore', 'definePiniaStore'], ], }, ], '@pinia-orm/nuxt', ], typescript: { strict: true }, build: { transpile: ['vuetify'], }, vite: { define: { 'process.env.DEBUG': false, }, server: { https: { key: fs.readFileSync('local.app-v3.opentalent.fr.key'), cert: fs.readFileSync('local.app-v3.opentalent.fr.crt'), }, port: 443, hmr: { protocol: 'wss' } } } })