opnform/client/nuxt.config.ts

93 lines
2.4 KiB
TypeScript
Raw Permalink Normal View History

2023-12-09 14:47:03 +00:00
// https://nuxt.com/docs/api/configuration/nuxt-config
import runtimeConfig from "./runtimeConfig";
2024-01-17 18:32:17 +00:00
import { sentryVitePlugin } from "@sentry/vite-plugin";
2024-01-02 15:35:16 +00:00
import sitemap from "./sitemap";
2023-12-18 09:35:00 +00:00
2023-12-09 14:47:03 +00:00
export default defineNuxtConfig({
2024-01-06 14:26:18 +00:00
loglevel: process.env.NUXT_LOG_LEVEL || 'info',
2023-12-09 14:47:03 +00:00
devtools: {enabled: true},
css: ['~/scss/app.scss'],
modules: [
'@pinia/nuxt',
'@vueuse/nuxt',
'@vueuse/motion/nuxt',
2024-01-02 15:35:16 +00:00
'nuxt3-notifications',
'nuxt-simple-sitemap',
2024-01-05 23:31:28 +00:00
'@nuxt/image',
2024-01-14 19:52:14 +00:00
... process.env.NUXT_PUBLIC_GOOGLE_ANALYTICS_CODE ? ['nuxt-gtag'] : [],
2023-12-09 14:47:03 +00:00
],
2024-01-02 17:31:31 +00:00
build: {
2024-01-22 10:37:18 +00:00
transpile: ["vue-notion", "query-builder-vue-3","vue-signature-pad"],
2024-01-02 17:31:31 +00:00
},
2023-12-09 14:47:03 +00:00
postcss: {
plugins: {
'postcss-import': {},
'tailwindcss/nesting': {},
tailwindcss: {},
autoprefixer: {},
},
},
2024-01-02 15:35:16 +00:00
experimental: {
inlineRouteRules: true
},
2023-12-09 14:47:03 +00:00
sentry: {
2024-01-05 23:31:28 +00:00
dsn: process.env.NUXT_PUBLIC_SENTRY_DSN,
2024-01-13 17:17:24 +00:00
lazy: true,
2023-12-09 16:02:23 +00:00
},
2024-01-14 19:52:14 +00:00
gtag: {
id: process.env.NUXT_PUBLIC_GOOGLE_ANALYTICS_CODE,
},
2023-12-11 10:56:21 +00:00
components: [
{
path: '~/components/forms',
pathPrefix: false,
global: true,
2023-12-11 10:56:21 +00:00
},
{
path: '~/components/global',
pathPrefix: false,
},
2023-12-18 09:35:00 +00:00
{
path: '~/components/pages',
pathPrefix: false,
},
2023-12-11 10:56:21 +00:00
'~/components',
],
2024-01-08 18:58:07 +00:00
nitro: {
awsAmplify: {
imageOptimization: {
cacheControl: "public, max-age=600, immutable" // 10 minutes
},
2024-01-08 18:58:07 +00:00
imageSettings: {
formats: ['image/webp'],
2024-01-08 21:55:26 +00:00
dangerouslyAllowSVG: true,
2024-01-08 18:58:07 +00:00
}
}
2024-01-06 15:53:57 +00:00
},
image: runtimeConfig.public.useDummyImageProvider ? {
provider: 'dummy',
providers: {
dummy: {
provider: '~/lib/images/dummy-image-provider.js',
}
}
} :{
2024-01-10 13:20:51 +00:00
quality: 95,
format: 'webp',
domains: ['images.unsplash.com']
2024-01-08 21:55:26 +00:00
},
2024-01-17 18:32:17 +00:00
sourcemap: true,
vite: {
plugins: [
// Put the Sentry vite plugin after all other plugins
sentryVitePlugin({
authToken: process.env.SENTRY_AUTH_TOKEN,
org: "opnform",
project: "opnform-vue",
}),
],
},
sitemap,
runtimeConfig
2023-12-09 14:47:03 +00:00
})