import i18n from './plugins/i18n.js' import config from './static/settings/globals.json' import hooks from './libs/hooks.js' import icons from './libs/icons.js' export default { target: 'static', /** * Global page headers (https://go.nuxtjs.dev/config-head) */ head: { title: config.site_title || process.env.npm_package_name || '', meta: [ { charset: 'utf-8' }, { name: 'viewport', content: 'width=device-width, initial-scale=1' }, { hid: 'description', name: 'description', content: config.site_description || process.env.npm_package_description || '', }, ], link: [{ rel: 'icon', type: 'image/x-icon', href: '/favicon.svg' }], bodyAttrs: { class: process.env.NODE_ENV === 'development' ? 'debug-screens' : '', }, }, /** * Customize the progress-bar color */ loading: { color: '#7c3aed' }, /** * Global CSS (https://go.nuxtjs.dev/config-css) */ css: [], /** * Auto import components (https://go.nuxtjs.dev/config-components) */ components: ['~/components', '~/components/app/'], /** * Plugins to run before rendering page (https://go.nuxtjs.dev/config-plugins) */ plugins: ['~plugins/vue-tailwind', '~/plugins/directives.client.js'], /** * Modules for dev and build (https://go.nuxtjs.dev/config-modules) */ buildModules: [ // https://composition-api.nuxtjs.org/ // TODO: remove it when nuxt3 released '@nuxtjs/composition-api', // https://go.nuxtjs.dev/eslint '@nuxtjs/eslint-module', // https://go.nuxtjs.dev/tailwindcss '@nuxtjs/tailwindcss', // https://github.com/nuxt-community/svg-module '@nuxtjs/svg', // https://color-mode.nuxtjs.org/ '@nuxtjs/color-mode', // https://github.com/nuxt-community/fontawesome-module [ '@nuxtjs/fontawesome', { component: 'fa', // component name addCss: false, icons, }, ], ], /** * Nuxt.js modules (https://go.nuxtjs.dev/config-modules) */ modules: [ // https://go.nuxtjs.dev/axios '@nuxtjs/axios', // https://pwa.nuxtjs.org '@nuxtjs/pwa', // https://github.com/nuxt-community/dotenv-module '@nuxtjs/dotenv', // https://content.nuxtjs.org/fr '@nuxt/content', // https://i18n.nuxtjs.org ['nuxt-i18n', i18n], // https://github.com/Chantouch/nuxt-clipboard 'nuxt-clipboard', ], // Axios module configuration (https://go.nuxtjs.dev/config-axios) axios: {}, // https://pwa.nuxtjs.org/manifest pwa: { meta: { name: 'Monnaie Libre', lang: 'fr', theme_color: '#5b21b6', description: config.site_description || process.env.npm_package_description, ogHost: 'monnaie-libre.fr', twitterCard: 'summary_large_image', twitterSite: '@monnaie_libre', twitterCreator: '@monnaie_libre', }, manifest: { name: 'Monnaie Libre', short_name: 'monnaie-libre.fr', lang: 'fr', }, icon: { fileName: 'icon-app.png', }, }, // https://content.nuxtjs.org/fr/configuration content: { markdown: { remarkPlugins: ['remark-breaks'], }, }, // https://color-mode.nuxtjs.org colorMode: { preference: 'system', // default value of $colorMode.preference fallback: 'light', // fallback value if not system preference found classSuffix: '', }, // https://github.com/Chantouch/nuxt-clipboard clipboard: { autoSetContainer: true, }, /** * Nuxt hooks * https://nuxtjs.org/docs/2.x/configuration-glossary/configuration-hooks */ hooks, /** * Build configuration */ build: { extractCSS: true, /* ** You can extend webpack config here */ extend(config, ctx) {}, }, }