43 lines
1.0 KiB
JavaScript
43 lines
1.0 KiB
JavaScript
/** @type {import('next').NextConfig} */
|
|
const nextConfig = {
|
|
// Restrict page file extensions so stray .js files under src/pages are not treated as routes
|
|
pageExtensions: ['tsx', 'ts', 'jsx', 'mdx'],
|
|
images: {
|
|
domains: [
|
|
'nextcloud.biohazardvfx.com',
|
|
'f.io',
|
|
'utfs.io',
|
|
// Placeholder providers
|
|
'placehold.co',
|
|
'placeholder.com',
|
|
'picsum.photos',
|
|
],
|
|
formats: ['image/webp', 'image/avif'],
|
|
deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
|
|
imageSizes: [16, 32, 48, 64, 96, 128, 256, 384],
|
|
minimumCacheTTL: 60,
|
|
},
|
|
async rewrites() {
|
|
return [
|
|
{
|
|
source: '/admin/:path*',
|
|
destination: '/admin/:path*',
|
|
},
|
|
]
|
|
},
|
|
experimental: {
|
|
optimizePackageImports: ['@/components', '@/lib'],
|
|
},
|
|
serverExternalPackages: ['sharp', 'bcrypt'],
|
|
typescript: {
|
|
ignoreBuildErrors: true,
|
|
},
|
|
eslint: {
|
|
ignoreDuringBuilds: true,
|
|
},
|
|
productionBrowserSourceMaps: false,
|
|
compress: true,
|
|
}
|
|
|
|
export default nextConfig
|