bookclub-manager/nuxt.config.ts

104 lines
2.3 KiB
TypeScript

// https://nuxt.com/docs/api/configuration/nuxt-config
import pkg from './package.json'
export default defineNuxtConfig({
srcDir: 'nuxt/',
$development: {
ssr: true,
devtools: {
enabled: true,
},
},
app: {
head: {
title: 'BookStack',
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
],
link: [
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' },
],
},
},
routeRules: {
'auth/verify': { ssr: false },
},
/**
* @see https://v3.nuxtjs.org/api/configuration/nuxt.config#modules
*/
extends: ['@nuxt/ui-pro'],
modules: [
'@nuxt/ui',
'@nuxt/image',
'@pinia/nuxt',
'dayjs-nuxt',
'nuxt-security',
],
ui: {
icons: ['heroicons'],
},
image: {
domains: [
process.env.API_URL || 'http://127.0.0.1:8000',
],
alias: {
api: process.env.API_URL || 'http://127.0.0.1:8000',
},
},
security: {
headers: {
crossOriginEmbedderPolicy: 'unsafe-none',
crossOriginOpenerPolicy: 'same-origin-allow-popups',
contentSecurityPolicy: false,
},
},
dayjs: {
locales: ['en', 'de'],
plugins: ['relativeTime', 'utc', 'timezone'],
defaultLocale: 'de',
defaultTimezone: 'Europe/Berlin',
},
/**
* @see https://v3.nuxtjs.org/guide/features/runtime-config#exposing-runtime-config
*/
runtimeConfig: {
apiLocal: process.env.API_LOCAL_URL,
public: {
apiBase: process.env.API_URL,
apiPrefix: '/api/v1',
storageBase: `${process.env.API_URL}/storage/`,
packageVersion: pkg.version,
gitHash: process.env.GIT_HASH,
providers: {
google: {
name: 'Google',
icon: '',
color: 'gray',
},
},
echo: {
broadcaster: process.env.BROADCAST_CONNECTION,
key: process.env.PUSHER_APP_KEY,
cluster: process.env.PUSHER_APP_CLUSTER,
wsHost: process.env.PUSHER_APP_HOST,
wsPort: process.env.PUSHER_APP_PORT,
forceTLS: process.env.PUSHER_APP_TLS,
encrypted: process.env.PUSHER_APP_ENCRYPTED,
disableStats: process.env.PUSHER_APP_DISABLE_STATS,
enabledTransports: ['ws', 'wss'],
},
},
},
})