| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- import tailwindcss from "@tailwindcss/vite"
- import { fileURLToPath } from "node:url"
- // noinspection JSUnresolvedReference
- export default defineNuxtConfig({
- app: {
- head: {
- link: [
- { rel: "apple-touch-icon", href: "/apple-touch-icon.png" },
- { rel: "icon", href: "/theater-masks-solid.svg" },
- { rel: "manifest", href: "/manifest.json" },
- { rel: "mask-icon", href: "/theater-masks-solid.svg", color: "#9fe88d" }
- ],
- meta: [
- { charset: "UTF-8" },
- { name: "theme-color", content: "#9fe88d" },
- { name: "viewport", content: "width=device-width, initial-scale=1.0" }
- ],
- title: "Dramatis Personae"
- }
- },
- alias: {
- test: fileURLToPath(new URL("./test", import.meta.url)),
- },
- compatibilityDate: "2026-04-13",
- css: ["~/assets/css/main.css"],
- // devServer: { port: 3000 },
- devtools: {
- enabled: true,
- timeline: { enabled: true }
- },
- experimental: { asyncContext: true },
- // future: { compatibilityVersion: 5 },
- imports: {
- dirs: ["mutations/**", "queries", "stores"]
- },
- modules: [
- "@nuxt/icon",
- "@pinia/nuxt",
- "@pinia/colada-nuxt",
- "@primevue/nuxt-module",
- ...(process.env.NODE_ENV === "test" ? ["@nuxt/test-utils/module"] : [])
- ],
- nitro: {
- experimental: {
- asyncContext: true,
- websocket: true
- }
- },
- runtimeConfig: {
- public: {
- // api: { baseURL: "" },
- auth: { baseURL: "" },
- websocketHost: ""
- },
- betterAuth: { baseURL: "", secret: "" },
- // postmarkServerToken: "",
- prismaDatabaseURL: ""
- },
- vite: {
- plugins: [tailwindcss()],
- optimizeDeps: {
- include: [
- "@pinia/colada-devtools",
- "@pinia/colada-plugin-delay",
- "@primevue/core/api",
- "@primeuix/forms/resolvers/zod",
- "better-auth/client",
- "better-auth/client/plugins",
- "better-auth/plugins/access",
- "better-auth/plugins/admin/access",
- "lodash-es",
- "pinia-colada-plugin-normalizer",
- "socket.io-client",
- "tailwind-merge",
- "trix",
- "zod"
- ]
- },
- vue: {
- template: {
- compilerOptions: { isCustomElement: (tag) => tag.startsWith("trix-") }
- }
- }
- },
- // module configs
- icon: {
- size: "1em",
- class: "inline",
- mode: "svg",
- aliases: { personae: "fa6-solid:masks-theater" }
- },
- lodash: {
- prefix: "_",
- prefixSkip: false,
- upperAfterPrefix: false
- },
- pinia: { storesDirs: ["./app/stores/**"] },
- primevue: {
- importPT: { from: "~/utils/passthrough.js" },
- options: {
- ptOptions: { mergeSections: true, mergeProps: true },
- unstyled: true
- }
- }
- })
|