111 lines
5.2 KiB
TypeScript
111 lines
5.2 KiB
TypeScript
// https://nuxt.com/docs/api/configuration/nuxt-config
|
|
export default defineNuxtConfig({
|
|
compatibilityDate: '2025-07-15',
|
|
srcDir: 'app',
|
|
devtools: { enabled: true },
|
|
auth: {
|
|
// Full auth endpoint URL (origin + /api/auth). This prevents /session recursion.
|
|
// Prefer setting AUTH_ORIGIN in your environment (e.g. https://example.com)
|
|
baseURL: `${(
|
|
process.env.AUTH_ORIGIN ||
|
|
process.env.BASE_SITE_URL ||
|
|
`http://localhost:${process.env.PORT || 3000}`
|
|
).replace(/\/$/, '')}/api/auth`,
|
|
},
|
|
turnstile: {
|
|
siteKey: process.env.CLOUD_FLARE_SITE_KEY,
|
|
},
|
|
runtimeConfig: {
|
|
//private (server-side only - güvenli)
|
|
turnstile: {
|
|
// This can be overridden at runtime via the NUXT_TURNSTILE_SECRET_KEY
|
|
// environment variable.
|
|
secretKey: process.env.CLOUD_FLARE_SECRET,
|
|
},
|
|
yourOrigin: "",
|
|
apiSecret: "",
|
|
authOrigin: process.env.AUTH_ORIGIN,
|
|
jwtSecret: process.env.JWT_SECRET,
|
|
googleToken: process.env.NUXT_GOOGLE_TOKEN,
|
|
authSecret: process.env.NUXT_AUTH_SECRET,
|
|
githubClientId: process.env.GITHUB_CLIENT_ID,
|
|
githubClientSecret: process.env.GITHUB_CLIENT_SECRET,
|
|
googleClientId: process.env.GOOGLE_CLIENT_ID,
|
|
googleClientSecret: process.env.GOOGLE_CLIENT_SECRET,
|
|
public: {
|
|
//public (client-side accessible)
|
|
BASE_API_URL: process.env.NUXT_PUBLIC_API_BASE,
|
|
BASE_SITE_URL: process.env.NUXT_PUBLIC_API_BASE,
|
|
yourOrigin: "",
|
|
apiBase: "",
|
|
},
|
|
},
|
|
modules: [
|
|
//'@nuxt/content',
|
|
'@nuxt/a11y',
|
|
'@nuxt/eslint',
|
|
'@nuxt/fonts',
|
|
'@nuxt/hints',
|
|
'@nuxt/icon',
|
|
'@nuxt/image',
|
|
'@nuxt/scripts',
|
|
"@sidebase/nuxt-auth",
|
|
"@pinia/nuxt",
|
|
'@nuxtjs/turnstile',
|
|
],
|
|
app: {
|
|
head: {
|
|
title: 'Avigo Multipurpose Theme',
|
|
meta: [
|
|
{ charset: 'utf-8' },
|
|
{ name: 'viewport', content: 'width=device-width, initial-scale=1.0' },
|
|
],
|
|
link: [
|
|
{ rel: 'stylesheet', href: '/assets/css/bootstrap.min.css' },
|
|
{ rel: 'stylesheet', href: '/assets/css/font-awesome-pro.css' },
|
|
{ rel: 'stylesheet', href: '/assets/css/magnific-popup.css' },
|
|
{ rel: 'stylesheet', href: '/assets/css/owl.carousel.min.css' },
|
|
{ rel: 'stylesheet', href: '/assets/css/slick-slider.css' },
|
|
{ rel: 'stylesheet', href: '/assets/css/meanmenu.css' },
|
|
{ rel: 'stylesheet', href: '/assets/css/typography.css' },
|
|
{ rel: 'stylesheet', href: '/assets/css/preloader.css' },
|
|
{ rel: 'stylesheet', href: '/assets/css/mobile-menu.css' },
|
|
{ rel: 'stylesheet', href: '/assets/css/header.css' },
|
|
{ rel: 'stylesheet', href: '/assets/css/footer.css' },
|
|
{ rel: 'stylesheet', href: '/assets/css/aos.css' },
|
|
{ rel: 'stylesheet', href: '/assets/css/fonts.css' },
|
|
{ rel: 'stylesheet', href: '/assets/css/blog-page.css' },
|
|
{ rel: 'stylesheet', href: '/assets/css/nice-select.css' },
|
|
{ rel: 'stylesheet', href: '/assets/css/modal-video.min.css' },
|
|
{ rel: 'stylesheet', href: '/assets/css/responsive.css' },
|
|
{ rel: 'stylesheet', href: '/assets/css/comon.css' },
|
|
{ rel: 'stylesheet', href: '/assets/css/avigo-unit.css' },
|
|
{ rel: 'stylesheet', href: '/assets/css/avigo-core.css' },
|
|
{ rel: 'stylesheet', href: '/style.css' }
|
|
],
|
|
script: [
|
|
{ src: '/assets/js/jquery-3-6-0.min.js', defer: true },
|
|
{ src: '/assets/js/bootstrap.min.js', defer: true },
|
|
// fontawesome will be loaded client-side via a plugin to avoid SSR hydration mismatches
|
|
{ src: '/assets/js/owl.carousel.min.js', defer: true },
|
|
{ src: 'https://unpkg.com/aos@next/dist/aos.js', defer: true, crossorigin: 'anonymous' },
|
|
{ src: '/assets/js/jquery.magnific-popup.min.js', defer: true },
|
|
{ src: 'https://cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/jquery.waypoints.min.js', defer: true, crossorigin: 'anonymous' },
|
|
{ src: 'https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.6/dist/umd/popper.min.js', defer: true, integrity: 'sha384-oBqDVmMz9ATKxIep9tiCxS/Z9fNfEXiDAYTujMAeBAsjFuCZSmKbSSUnQlmh/jp3', crossorigin: 'anonymous' },
|
|
{ src: '/assets/js/slick-slider.js', defer: true },
|
|
{ src: '/assets/js/mobile-menu.js', defer: true },
|
|
{ src: '/assets/js/tilt.jquery.js', defer: true },
|
|
{ src: '/assets/js/jquery.lineProgressbar.js', defer: true },
|
|
{ src: '/assets/js/jquery.nice-select.js', defer: true },
|
|
{ src: '/assets/js/mobile-meanmenu.js', defer: true },
|
|
{ src: '/assets/js/modal-video.min.js', defer: true },
|
|
{ src: '/assets/js/main.js', defer: true },
|
|
]
|
|
}
|
|
},
|
|
vite: {
|
|
build: {
|
|
sourcemap: false,
|
|
},
|
|
},
|
|
}) |