Add aria-labels to form controls (selects, checkboxes, switches), set html lang attribute and page title, fix color contrast for --candle-dim and --text-faint tokens, underline inline links, remove opacity hack. Harden dev login endpoints with atomic findOneAndUpdate and tokenVersion in JWT. Update Playwright timeouts and E2E test helpers.
70 lines
2.2 KiB
TypeScript
70 lines
2.2 KiB
TypeScript
// https://nuxt.com/docs/api/configuration/nuxt-config
|
|
export default defineNuxtConfig({
|
|
compatibilityDate: "2025-07-15",
|
|
devtools: { enabled: process.env.NODE_ENV !== "production" },
|
|
modules: ["@nuxt/eslint", "@nuxt/ui", "@nuxtjs/plausible"],
|
|
colorMode: {
|
|
preference: "system",
|
|
fallback: "light",
|
|
classSuffix: "",
|
|
},
|
|
app: {
|
|
head: {
|
|
title: "Ghost Guild",
|
|
htmlAttrs: { lang: "en" },
|
|
link: [
|
|
{ rel: "preconnect", href: "https://fonts.googleapis.com" },
|
|
{
|
|
rel: "preconnect",
|
|
href: "https://fonts.gstatic.com",
|
|
crossorigin: "",
|
|
},
|
|
{
|
|
rel: "stylesheet",
|
|
href: "https://fonts.googleapis.com/css2?family=Brygada+1918:ital,wght@0,400..700;1,400..700&family=Commit+Mono&display=swap",
|
|
},
|
|
],
|
|
},
|
|
},
|
|
build: {
|
|
transpile: ["vue-cal"],
|
|
},
|
|
plausible: {
|
|
domain: "ghostguild.org",
|
|
},
|
|
css: ["~/assets/css/main.css"],
|
|
vite: {
|
|
optimizeDeps: {
|
|
include: ["@plausible-analytics/tracker"],
|
|
},
|
|
server: {
|
|
hmr: {
|
|
port: 24678,
|
|
},
|
|
},
|
|
},
|
|
runtimeConfig: {
|
|
// Private keys (server-side only)
|
|
mongodbUri:
|
|
process.env.MONGODB_URI || "mongodb://localhost:27017/ghostguild",
|
|
jwtSecret: process.env.JWT_SECRET || "",
|
|
resendApiKey: process.env.RESEND_API_KEY || "",
|
|
helcimApiToken: process.env.HELCIM_API_TOKEN || "", // also exposed to client via public.helcimToken
|
|
slackBotToken: process.env.SLACK_BOT_TOKEN || "",
|
|
slackSigningSecret: process.env.SLACK_SIGNING_SECRET || "",
|
|
slackVettingChannelId: process.env.SLACK_VETTING_CHANNEL_ID || "",
|
|
oidcClientId: process.env.OIDC_CLIENT_ID || "outline-wiki",
|
|
oidcClientSecret: process.env.OIDC_CLIENT_SECRET || "",
|
|
oidcCookieSecret: process.env.OIDC_COOKIE_SECRET || "",
|
|
|
|
// Public keys (available on client-side)
|
|
public: {
|
|
helcimToken: process.env.HELCIM_API_TOKEN || "",
|
|
helcimAccountId: process.env.NUXT_PUBLIC_HELCIM_ACCOUNT_ID || "",
|
|
cloudinaryCloudName:
|
|
process.env.NUXT_PUBLIC_CLOUDINARY_CLOUD_NAME || "divzuumlr",
|
|
appUrl: process.env.NUXT_PUBLIC_APP_URL || "http://localhost:3000",
|
|
comingSoon: process.env.NUXT_PUBLIC_COMING_SOON || "false",
|
|
},
|
|
},
|
|
});
|