Files
ERP-core/Frontend/erp-system/next.config.ts
ImanThiyanga 8e472ac996
CI/CD - ERP Core / scripts (pull_request) Failing after 12m21s
CI/CD - ERP Core / e2e-typecheck (pull_request) Failing after 13m13s
CI/CD - ERP Core / frontend (pull_request) Failing after 14m5s
CI/CD - ERP Core / backend (pull_request) Failing after 14m57s
CI/CD - ERP Core / detect (pull_request) Failing after 13m42s
CI/CD - ERP Core / Build & Deploy (pull_request) Failing after 12m47s
CI/CD - ERP Core / ci-ok (pull_request) Failing after 14m58s
initialising for ci-cd pipeline
2026-09-16 11:53:55 +05:30

35 lines
1.3 KiB
TypeScript

import type { NextConfig } from "next"
import path from "path"
// The backend is proxied rather than called cross-origin. This makes /api/* same-origin,
// which means (a) no CORS config is needed on ERPCore, and (b) its Secure/SameSite=Strict
// session cookies just work. BACKEND_ORIGIN is server-side only — deliberately not
// NEXT_PUBLIC_*, since the browser only ever talks to this Next server.
//
// Defaults to the backend's HTTP port: the HTTPS port uses a self-signed dev cert that
// this proxy would reject.
//
// Rewrites are resolved at `next build`, so this is effectively a local-dev setting. In the
// deployed environments Apache sends /api/ straight to ERPCore before Next ever sees it, which
// keeps one built image valid for both test and release (docs/40-DEPLOYMENT.md).
const BACKEND_ORIGIN = process.env.BACKEND_ORIGIN ?? "http://localhost:5224"
const nextConfig: NextConfig = {
// Self-contained server bundle (.next/standalone) for the runtime-only Docker image
// (Dockerfile in this folder). Has no effect on `next dev`.
output: "standalone",
turbopack: {
root: path.join(__dirname),
},
async rewrites() {
return [
{
source: "/api/:path*",
destination: `${BACKEND_ORIGIN}/api/:path*`,
},
]
},
}
export default nextConfig