-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnext.config.mjs
More file actions
47 lines (44 loc) · 1.36 KB
/
next.config.mjs
File metadata and controls
47 lines (44 loc) · 1.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/** @type {import('next').NextConfig} */
const nextConfig = {
reactStrictMode: true,
swcMinify: true,
output: "standalone",
typescript: {
ignoreBuildErrors: true,
},
eslint: {
ignoreDuringBuilds: true,
},
env: {
NEON_REST_URL: process.env.NEON_REST_URL,
},
// Transpile GSAP packages to fix ES module import issues during SSR
transpilePackages: ["gsap"],
// IMPORTANT: Prevent URL normalization redirects that break CORS preflight
// These settings ensure middleware runs BEFORE any redirects happen
skipMiddlewareUrlNormalize: true,
skipTrailingSlashRedirect: true,
// Explicit headers for all API routes (backup for CORS)
async headers() {
return [
{
// Match all API routes
source: "/api/:path*",
headers: [
{ key: "Access-Control-Allow-Credentials", value: "true" },
{ key: "Access-Control-Allow-Origin", value: "*" },
{
key: "Access-Control-Allow-Methods",
value: "GET,DELETE,PATCH,POST,PUT,OPTIONS",
},
{
key: "Access-Control-Allow-Headers",
value:
"X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version, Authorization, ngrok-skip-browser-warning",
},
],
},
];
},
};
export default nextConfig;