From a21bd6a6710d123ef3bfc3c9aab37fc0c276f9c5 Mon Sep 17 00:00:00 2001 From: ertopogo Date: Thu, 19 Feb 2026 11:34:16 +0100 Subject: feat: initial project setup - Next.js 16, Payload CMS v3, palette Mapuche Next.js 16 App Router + TypeScript + Tailwind CSS v4. Payload CMS v3 with PostgreSQL adapter. Mapuche Corporate palette. Public pages, Docker Compose + Caddy, security middleware. Co-authored-by: Cursor --- next.config.ts | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 next.config.ts (limited to 'next.config.ts') diff --git a/next.config.ts b/next.config.ts new file mode 100644 index 0000000..0523994 --- /dev/null +++ b/next.config.ts @@ -0,0 +1,35 @@ +import { withPayload } from "@payloadcms/next/withPayload"; +import type { NextConfig } from "next"; + +const nextConfig: NextConfig = { + output: "standalone", + images: { + formats: ["image/avif", "image/webp"], + }, + async headers() { + return [ + { + source: "/(.*)", + headers: [ + { key: "X-Content-Type-Options", value: "nosniff" }, + { key: "X-Frame-Options", value: "DENY" }, + { key: "Referrer-Policy", value: "strict-origin-when-cross-origin" }, + { + key: "Permissions-Policy", + value: "camera=(), microphone=(), geolocation=()", + }, + ], + }, + ]; + }, + webpack: (webpackConfig) => { + webpackConfig.resolve.extensionAlias = { + ".cjs": [".cts", ".cjs"], + ".js": [".ts", ".tsx", ".js", ".jsx"], + ".mjs": [".mts", ".mjs"], + }; + return webpackConfig; + }, +}; + +export default withPayload(nextConfig, { devBundleServerPackages: false }); -- cgit v1.2.3