nuxt.config.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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. "@pinia/colada-devtools",
  40. "@primevue/core/api",
  41. "@primeuix/forms/resolvers/zod",
  42. "better-auth/client",
  43. "better-auth/client/plugins",
  44. "better-auth/plugins/access",
  45. "better-auth/plugins/admin/access",
  46. "lodash-es",
  47. "socket.io-client",
  48. "tailwind-merge",
  49. "trix",
  50. "zod"
  51. ]
  52. },
  53. vue: {
  54. template: {
  55. compilerOptions: { isCustomElement: (tag) => tag.startsWith("trix-") }
  56. }
  57. }
  58. },
  59. // module configs
  60. icon: {
  61. size: "1em",
  62. class: "inline",
  63. mode: "svg",
  64. aliases: { personae: "fa6-solid:masks-theater" }
  65. },
  66. lodash: {
  67. prefix: "_",
  68. prefixSkip: false,
  69. upperAfterPrefix: false
  70. },
  71. pinia: { storesDirs: ["./app/stores/**"] },
  72. primevue: {
  73. importPT: { from: "~/utils/passthrough.js" },
  74. options: {
  75. ptOptions: { mergeSections: true, mergeProps: true },
  76. unstyled: true
  77. }
  78. }
  79. })