import type { NextConfig } from "next"; const nextConfig: NextConfig = { // Enable standalone output for Docker deployment output: 'standalone', // Optimize for production reactStrictMode: true, // Externalize packages that should only run on the server // Bull uses child processes and is incompatible with client bundling serverExternalPackages: ['bull'], // Turbopack configuration (silence migration warning) turbopack: {}, // Webpack configuration for when not using Turbopack webpack: (config, { isServer }) => { if (!isServer) { // Don't bundle Bull on the client side - it's server-only config.resolve.alias = { ...config.resolve.alias, 'bull': false, }; } return config; }, // Image optimization - DISABLED because we handle our own thumbnail caching // in /app/cache/thumbnails/ via the Audible refresh job images: { unoptimized: true, // Disable Next.js image optimization remotePatterns: [ { protocol: 'https', hostname: 'm.media-amazon.com', // Audible cover images }, { protocol: 'https', hostname: 'images-na.ssl-images-amazon.com', // Audible cover images }, ], }, }; export default nextConfig;