/** @type {import('next').NextConfig} */ import path from "path"; import { fileURLToPath } from "url"; const __dirname = path.dirname(fileURLToPath(import.meta.url)); const nextConfig = { output: "standalone", images: { remotePatterns: [ { protocol: "https", hostname: "**", }, { protocol: "http", hostname: "**", }, ], formats: ["image/avif", "image/webp"], minimumCacheTTL: 7 * 24 * 60 * 60, // 7 days // smoke tests build in production mode against a mock CMS on 127.0.0.1; // the flag is serialized into the build, so it must be set at build time dangerouslyAllowLocalIP: process.env.NODE_ENV === "development" || process.env.SMOKE_ALLOW_LOCAL_IMAGES === "1", }, turbopack: { root: __dirname, }, experimental: { // `typescript` is aliased to the TS6 API package (typescript-eslint can't // use TS7's native compiler yet), which has no `tsc` bin for the 16.3 CLI // checker — type-check builds through the TS6 JS API instead. `npx tsc` // (CI, manual) runs native TS7 via @typescript/native. useTypeScriptCli: false, }, }; export default nextConfig;