40 lines
1.2 KiB
JavaScript
40 lines
1.2 KiB
JavaScript
/** @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;
|