2024-04-15 03:16:57 +02:00
|
|
|
// https://nuxt.com/docs/api/configuration/nuxt-config
|
|
|
|
|
export default defineNuxtConfig({
|
|
|
|
|
modules: [
|
|
|
|
|
"@nuxtjs/seo",
|
|
|
|
|
"@nuxtjs/tailwindcss",
|
|
|
|
|
"@vueuse/nuxt",
|
2024-04-22 09:38:51 +02:00
|
|
|
"nuxt-headlessui",
|
|
|
|
|
"@nuxt/fonts",
|
2024-05-05 05:33:51 +02:00
|
|
|
"@vee-validate/nuxt",
|
|
|
|
|
"nuxt-security",
|
2024-05-12 09:30:02 +02:00
|
|
|
"@vite-pwa/nuxt",
|
2024-04-15 03:16:57 +02:00
|
|
|
],
|
2024-05-12 11:04:00 +02:00
|
|
|
vue: {
|
|
|
|
|
compilerOptions: {
|
|
|
|
|
isCustomElement: (tag) => tag === "iconify-icon",
|
|
|
|
|
},
|
|
|
|
|
},
|
2024-06-12 02:15:51 +02:00
|
|
|
future: {
|
|
|
|
|
compatibilityVersion: 4,
|
|
|
|
|
},
|
2024-05-12 09:30:02 +02:00
|
|
|
pwa: {
|
|
|
|
|
manifest: {
|
|
|
|
|
name: "Lysand",
|
|
|
|
|
short_name: "Lysand",
|
|
|
|
|
description: "Frontend for the Lysand social network",
|
|
|
|
|
theme_color: "#f9a8d4",
|
|
|
|
|
display: "standalone",
|
|
|
|
|
lang: "en",
|
|
|
|
|
categories: ["social", "development"],
|
|
|
|
|
},
|
|
|
|
|
},
|
2024-05-05 05:33:51 +02:00
|
|
|
security: {
|
|
|
|
|
headers: {
|
|
|
|
|
// Nuxt DevTools
|
|
|
|
|
crossOriginEmbedderPolicy:
|
|
|
|
|
process.env.NODE_ENV === "development"
|
|
|
|
|
? "unsafe-none"
|
|
|
|
|
: "require-corp",
|
|
|
|
|
contentSecurityPolicy: {
|
2024-06-06 03:35:09 +02:00
|
|
|
"img-src": ["'self'", "data:", "https:", "blob:"],
|
2024-05-05 05:33:51 +02:00
|
|
|
"script-src": ["'nonce-{{nonce}}'", "'strict-dynamic'"],
|
2024-06-11 21:58:18 +02:00
|
|
|
// Allow all origins for form-action, so that clients registering custom
|
|
|
|
|
// protocol handlers will work (native clients for example)
|
|
|
|
|
"form-action": ["*"],
|
2024-06-06 03:35:09 +02:00
|
|
|
"media-src": ["'self'", "https:", "blob:"],
|
2024-05-05 05:33:51 +02:00
|
|
|
},
|
2024-05-13 05:29:21 +02:00
|
|
|
crossOriginResourcePolicy: "cross-origin",
|
2024-05-05 05:33:51 +02:00
|
|
|
xFrameOptions: "DENY",
|
2024-06-06 05:19:03 +02:00
|
|
|
permissionsPolicy: {
|
|
|
|
|
fullscreen: ["'self'", "blob:"],
|
|
|
|
|
},
|
2024-05-05 05:33:51 +02:00
|
|
|
},
|
|
|
|
|
rateLimiter: {
|
|
|
|
|
headers: true,
|
|
|
|
|
tokensPerInterval: 300,
|
|
|
|
|
interval: 300000,
|
|
|
|
|
},
|
|
|
|
|
},
|
2024-04-15 03:16:57 +02:00
|
|
|
app: {
|
|
|
|
|
head: {
|
|
|
|
|
link: [
|
|
|
|
|
{
|
|
|
|
|
rel: "icon",
|
|
|
|
|
href: "/favicon.png",
|
|
|
|
|
type: "image/png",
|
|
|
|
|
},
|
2024-05-12 09:30:02 +02:00
|
|
|
{
|
|
|
|
|
rel: "apple-touch-icon",
|
|
|
|
|
href: "/favicon.png",
|
|
|
|
|
type: "image/png",
|
|
|
|
|
},
|
2024-04-15 03:16:57 +02:00
|
|
|
],
|
|
|
|
|
htmlAttrs: { lang: "en-us" },
|
|
|
|
|
},
|
2024-05-01 10:40:33 +02:00
|
|
|
keepalive: true,
|
2024-04-15 03:16:57 +02:00
|
|
|
},
|
|
|
|
|
nitro: {
|
2024-04-22 21:55:03 +02:00
|
|
|
preset: "bun",
|
2024-04-15 03:16:57 +02:00
|
|
|
minify: true,
|
|
|
|
|
prerender: {
|
|
|
|
|
failOnError: true,
|
|
|
|
|
},
|
2024-04-22 23:07:01 +02:00
|
|
|
compressPublicAssets: {
|
|
|
|
|
brotli: false,
|
2024-04-22 23:46:02 +02:00
|
|
|
gzip: false,
|
2024-04-22 23:07:01 +02:00
|
|
|
},
|
2024-04-15 03:16:57 +02:00
|
|
|
},
|
|
|
|
|
schemaOrg: {
|
|
|
|
|
enabled: false,
|
|
|
|
|
},
|
|
|
|
|
ogImage: {
|
|
|
|
|
enabled: false,
|
|
|
|
|
},
|
2024-04-22 09:38:51 +02:00
|
|
|
veeValidate: {
|
|
|
|
|
autoImports: true,
|
|
|
|
|
componentNames: {
|
|
|
|
|
Form: "VeeForm",
|
|
|
|
|
Field: "VeeField",
|
|
|
|
|
FieldArray: "VeeFieldArray",
|
|
|
|
|
ErrorMessage: "VeeErrorMessage",
|
|
|
|
|
},
|
2024-04-15 03:16:57 +02:00
|
|
|
},
|
|
|
|
|
runtimeConfig: {
|
|
|
|
|
public: {
|
|
|
|
|
language: "en-US",
|
|
|
|
|
titleSeparator: "·",
|
|
|
|
|
siteName: "Lysand",
|
|
|
|
|
trailingSlash: true,
|
2024-04-22 09:38:51 +02:00
|
|
|
apiHost: "https://social.lysand.org",
|
2024-04-15 03:16:57 +02:00
|
|
|
},
|
|
|
|
|
},
|
2024-05-12 05:42:24 +02:00
|
|
|
imports: {
|
|
|
|
|
presets: [
|
|
|
|
|
{
|
|
|
|
|
from: "overlayscrollbars-vue",
|
|
|
|
|
imports: ["OverlayScrollbarsComponent"],
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
2024-04-15 03:16:57 +02:00
|
|
|
site: {
|
|
|
|
|
url: "https://social.lysand.org",
|
|
|
|
|
},
|
2024-04-28 07:02:27 +02:00
|
|
|
devtools: {
|
|
|
|
|
enabled: true,
|
2024-05-12 08:13:35 +02:00
|
|
|
|
|
|
|
|
timeline: {
|
|
|
|
|
enabled: true,
|
|
|
|
|
},
|
2024-04-28 07:02:27 +02:00
|
|
|
},
|
2024-04-15 03:16:57 +02:00
|
|
|
});
|