2025-11-06 13:33:00 +09:00
|
|
|
import type { NextConfig } from "next";
|
|
|
|
|
import createNextIntlPlugin from 'next-intl/plugin';
|
|
|
|
|
|
|
|
|
|
const withNextIntl = createNextIntlPlugin('./src/i18n/request.ts');
|
|
|
|
|
|
|
|
|
|
const nextConfig: NextConfig = {
|
2025-11-24 18:57:35 +09:00
|
|
|
reactStrictMode: true, // 🧪 TEST: Strict Mode 비활성화로 중복 요청 테스트
|
2025-11-10 09:38:59 +09:00
|
|
|
turbopack: {}, // ✅ CRITICAL: Next.js 15 + next-intl compatibility
|
2026-01-13 17:18:29 +09:00
|
|
|
images: {
|
|
|
|
|
remotePatterns: [
|
|
|
|
|
{
|
|
|
|
|
protocol: 'https',
|
|
|
|
|
hostname: 'placehold.co',
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
2025-12-30 17:00:18 +09:00
|
|
|
experimental: {
|
|
|
|
|
serverActions: {
|
|
|
|
|
bodySizeLimit: '10mb', // 이미지 업로드를 위한 제한 증가
|
|
|
|
|
},
|
|
|
|
|
},
|
2025-11-11 18:55:16 +09:00
|
|
|
typescript: {
|
|
|
|
|
// ⚠️ WARNING: This allows production builds to complete even with TypeScript errors
|
|
|
|
|
// Only use during development. Remove for production deployments.
|
|
|
|
|
ignoreBuildErrors: true,
|
|
|
|
|
},
|
|
|
|
|
eslint: {
|
2025-11-18 14:17:52 +09:00
|
|
|
// ⚠️ WARNING: Temporarily ignore ESLint during builds for migration
|
|
|
|
|
// TODO: Fix ESLint errors after migration is complete
|
|
|
|
|
ignoreDuringBuilds: true,
|
2025-11-11 18:55:16 +09:00
|
|
|
},
|
2026-01-07 13:23:20 +09:00
|
|
|
// Capacitor 패키지는 모바일 앱 전용 - 웹 빌드에서 제외
|
|
|
|
|
webpack: (config, { isServer }) => {
|
|
|
|
|
if (!isServer) {
|
|
|
|
|
config.resolve.fallback = {
|
|
|
|
|
...config.resolve.fallback,
|
|
|
|
|
'@capacitor/core': false,
|
|
|
|
|
'@capacitor/push-notifications': false,
|
|
|
|
|
'@capacitor/app': false,
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
return config;
|
|
|
|
|
},
|
2025-11-06 13:33:00 +09:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export default withNextIntl(nextConfig);
|