Files
chesskit/next.config.ts
2025-04-20 16:27:44 +02:00

90 lines
2.3 KiB
TypeScript

import { withSentryConfig } from "@sentry/nextjs";
import { NextConfig } from "next";
import { PHASE_PRODUCTION_BUILD } from "next/constants";
const nextConfig = (phase: string): NextConfig => ({
output: phase === PHASE_PRODUCTION_BUILD ? "export" : undefined,
trailingSlash: false,
reactStrictMode: true,
images: {
unoptimized: true,
},
headers:
phase === PHASE_PRODUCTION_BUILD
? undefined
: async () => [
{
source: "/",
headers: [
{
key: "Cross-Origin-Embedder-Policy",
value: "require-corp",
},
{
key: "Cross-Origin-Opener-Policy",
value: "same-origin",
},
],
},
{
source: "/engines/:blob*",
headers: [
{
key: "Cross-Origin-Embedder-Policy",
value: "require-corp",
},
{
key: "Cross-Origin-Opener-Policy",
value: "same-origin",
},
{
key: "Cache-Control",
value: "public, max-age=31536000, immutable",
},
{
key: "Age",
value: "181921",
},
],
},
{
source: "/play",
headers: [
{
key: "Cross-Origin-Embedder-Policy",
value: "require-corp",
},
{
key: "Cross-Origin-Opener-Policy",
value: "same-origin",
},
],
},
{
source: "/database",
headers: [
{
key: "Cross-Origin-Embedder-Policy",
value: "require-corp",
},
{
key: "Cross-Origin-Opener-Policy",
value: "same-origin",
},
],
},
],
});
export default withSentryConfig(nextConfig, {
// https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup/
org: process.env.SENTRY_ORG,
project: "javascript-nextjs",
widenClientFileUpload: true,
reactComponentAnnotation: {
enabled: true,
},
hideSourceMaps: true,
disableLogger: true,
});