// https://nuxt.com/docs/api/configuration/nuxt-config export default defineNuxtConfig({ compatibilityDate: '2025-07-15', 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, }, devServer: { host: '0.0.0.0', // Tüm ağ arayüzlerinden erişime izin verir port: 3000 // İsterseniz farklı bir port belirleyebilirsiniz }, 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, }, 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, // Backend credentials for contact form backendEmail: process.env.BACKEND_EMAIL, backendPassword: process.env.BACKEND_PASSWORD, public: { //public (client-side accessible) BASE_API_URL: process.env.BASE_API_URL, BASE_SITE_URL: process.env.BASE_SITE_URL, }, }, modules: [ /*'@nuxt/a11y',*/ '@nuxt/content', '@nuxt/eslint', '@nuxt/fonts', '@nuxt/icon', '@nuxt/image', '@nuxt/scripts', '@pinia/nuxt', '@nuxtjs/turnstile', "@sidebase/nuxt-auth", ], content: { // Production'da runtime database kullanma experimental: { // @ts-ignore clientDB: false, stripQueryParameters: false }, // Build time'da içeriği hazırla ignores: [], }, app: { head: { meta: [ { 'http-equiv': 'Content-Type', content: 'text/html; charset=UTF-8' }, { 'http-equiv': 'X-UA-Compatible', content: 'IE=edge' }, { 'http-equiv': 'X-UA-Compatible', content: 'ie=edge' }, { name: 'viewport', content: 'width=device-width, initial-scale=1.0' }, { name: 'keyword', content: 'resume,cv,portfolio,vcard' }, { name: 'title', content: 'GFolio - CV/Resume/Portfolio' }, ], link: [ { rel: 'shortcut icon', href: '/assets/images/favicon.png', type: 'image/x-icon' }, { rel: 'stylesheet', href: '/assets/css/bootstrap.min.css' }, { rel: 'stylesheet', href: '/assets/css/plugin.css' }, { rel: 'stylesheet', href: '/assets/css/flaticon.css' }, { rel: 'stylesheet', href: '/assets/css/style.css' }, { rel: 'stylesheet', href: '/assets/css/multicolor.css' }, { rel: 'stylesheet', href: '/assets/css/responsive.css' }, { rel: 'stylesheet', href: '/assets/css/dark-mode.css' }, ], script: [ { src: '/assets/js/jquery.js', defer: true }, { src: '/assets/js/popper.min.js', defer: true }, { src: '/assets/js/bootstrap.min.js', defer: true }, { src: '/assets/js/plugin.js', defer: true }, { src: '/assets/js/jQuery-plugin-progressbar.js', defer: true }, { src: '/assets/js/typed.min.js', defer: true }, { src: '/assets/js/jquery.buoyant.min.js', defer: true }, { src: '/assets/js/wow.js', defer: true }, { src: '/assets/js/main.js', defer: true } ] } }, vite: { build: { sourcemap: false, }, }, })