nuxt.config.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. import tailwindcss from "@tailwindcss/vite"
  2. // noinspection JSUnresolvedReference
  3. export default defineNuxtConfig({
  4. compatibilityDate: "2026-03-13",
  5. css: ["~/assets/css/main.css"],
  6. // devServer: { port: 3000 },
  7. devtools: { enabled: true, timeline: { enabled: true } },
  8. experimental: { asyncContext: true },
  9. // future: { compatibilityVersion: 5 },
  10. imports: {
  11. dirs: ["mutations/**", "queries", "stores"]
  12. },
  13. modules: [
  14. "@nuxt/icon",
  15. "@pinia/nuxt",
  16. "@pinia/colada-nuxt",
  17. "@primevue/nuxt-module"
  18. ],
  19. nitro: {
  20. experimental: {
  21. asyncContext: true,
  22. websocket: true
  23. }
  24. },
  25. runtimeConfig: {
  26. public: {
  27. // api: { baseURL: "" },
  28. auth: { baseURL: "" },
  29. websocketHost: ""
  30. },
  31. betterAuth: { baseURL: "", secret: "" },
  32. // postmarkServerToken: "",
  33. prismaDatabaseURL: ""
  34. },
  35. vite: {
  36. plugins: [tailwindcss()],
  37. optimizeDeps: {
  38. include: [
  39. "@primevue/core/api",
  40. "@primeuix/forms/resolvers/zod",
  41. "better-auth/client",
  42. "better-auth/client/plugins",
  43. "better-auth/plugins/access",
  44. "better-auth/plugins/admin/access",
  45. "lodash-es",
  46. "socket.io-client",
  47. "tailwind-merge",
  48. "trix",
  49. "zod"
  50. ]
  51. },
  52. vue: {
  53. template: {
  54. compilerOptions: { isCustomElement: (tag) => tag.startsWith("trix-") }
  55. }
  56. }
  57. },
  58. // module configs
  59. icon: {
  60. size: "1em",
  61. class: "inline",
  62. mode: "svg",
  63. aliases: { personae: "fa6-solid:masks-theater" }
  64. },
  65. lodash: {
  66. prefix: "_",
  67. prefixSkip: false,
  68. upperAfterPrefix: false
  69. },
  70. pinia: { storesDirs: ["./app/stores/**"] },
  71. primevue: {
  72. importPT: { from: "~/utils/passthrough.js" },
  73. options: {
  74. ptOptions: { mergeSections: true, mergeProps: true },
  75. unstyled: true
  76. }
  77. }
  78. })