import type { NextConfig } from "next"; import createNextIntlPlugin from 'next-intl/plugin'; const withNextIntl = createNextIntlPlugin('./src/i18n/request.ts'); const nextConfig: NextConfig = { output: 'standalone', // 로컬 빌드 → 서버 배포용 (node_modules 없이 실행 가능) reactStrictMode: false, // 🧪 TEST: Strict Mode 비활성화로 중복 요청 테스트 turbopack: {}, // ✅ CRITICAL: Next.js 15 + next-intl compatibility serverExternalPackages: ['puppeteer'], // PDF 생성용 - Webpack 번들 제외 images: { remotePatterns: [ { protocol: 'https', hostname: 'placehold.co', }, ], }, experimental: { serverActions: { bodySizeLimit: '10mb', // 이미지 업로드를 위한 제한 증가 }, }, typescript: { ignoreBuildErrors: true, // 빌드 시 타입체크 skip (메모리 절약, IDE에서 별도 체크) }, eslint: { ignoreDuringBuilds: true, }, // Capacitor 패키지는 모바일 앱 전용 - 웹 빌드에서 제외 webpack: (config, { isServer }) => { if (!isServer) { config.resolve.fallback = { ...config.resolve.fallback, '@capacitor/core': false, '@capacitor/push-notifications': false, '@capacitor/app': false, }; } return config; }, }; export default withNextIntl(nextConfig);