-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnext.config.mjs
More file actions
57 lines (51 loc) · 1.49 KB
/
next.config.mjs
File metadata and controls
57 lines (51 loc) · 1.49 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
48
49
50
51
52
53
54
55
56
57
/** @type {import('next').NextConfig} */
const isProduction = process.env.NEXT_PUBLIC_DEPLOYMENT === 'PRODUCTION';
const isGithubActions = process.env.GITHUB_ACTIONS === 'true';
const isDevelopment = process.env.NEXT_PUBLIC_DEPLOYMENT === 'DEVELOPMENT';
// Default values
let assetPrefix = '';
let basePath = '';
let apiBaseUrl = 'http://127.0.0.1:8000';
if (isProduction || isGithubActions) {
const repo = process.env.GITHUB_REPOSITORY ?.replace(/.*?\//, '') || process.env.NEXT_PUBLIC_REPO_NAME;
assetPrefix = `/${repo}`;
basePath = `/${repo}`;
apiBaseUrl = 'https://txrpdb-backend-dev.azurewebsites.net';
}
if (isDevelopment) {
apiBaseUrl = 'https://txrpdb-backend-dev.azurewebsites.net';
}
const nextConfig = {
reactStrictMode: true,
// Only use static export in production/GitHub Actions - API routes need server mode
...(isProduction || isGithubActions ? { output: 'export' } : {}),
images: {
unoptimized: true,
},
basePath: basePath,
assetPrefix: assetPrefix,
trailingSlash: true,
env: {
API_BASE_URL: apiBaseUrl,
BASE_PATH: basePath,
},
// Enable Turbopack (Next.js 16 default). Remove custom webpack config for dev compatibility.
turbopack: {},
async headers() {
return [{
source: '/(.*)',
headers: [{
key: 'Access-Control-Allow-Origin',
value: '*',
}, ],
}, ];
},
async redirects() {
return [{
source: '/home',
destination: '/',
permanent: true,
}, ];
},
};
export default nextConfig;