79 lines
2.0 KiB
TypeScript
79 lines
2.0 KiB
TypeScript
import { PHASE_PRODUCTION_BUILD } from "next/constants";
|
|
import type { NextConfig } from "next";
|
|
|
|
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 nextConfig;
|