-
Notifications
You must be signed in to change notification settings - Fork 0
/
next.config.js
47 lines (44 loc) · 1.17 KB
/
next.config.js
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
const path = require('path');
const execSync = require('child_process').execSync;
const withBundleAnalyzer = require('@next/bundle-analyzer')({
enabled: process.env.ANALYZE === 'true',
});
const lastCommitCommand = 'git rev-parse HEAD';
const isDevelopment = process.env.NODE_ENV === 'development';
/** @type {import("next").NextConfig} */
const nextConfig = {
reactStrictMode: true,
swcMinify: true,
output: 'standalone',
sassOptions: {
includePaths: [path.join(__dirname, 'styles')],
},
images: {
domains: ['portrait.gitee.com', 'avatars.githubusercontent.com'],
},
async rewrites() {
return [
isDevelopment
? {
source: '/api/graphql',
destination: `/api/proxy`,
}
: {
source: '/api/graphql',
destination: `${process.env.API_URL}/api/graphql`,
},
];
},
webpack(config) {
config.module.rules.push({
test: /\.svg$/i,
issuer: /\.[jt]sx?$/,
use: ['@svgr/webpack'],
});
return config;
},
generateBuildId: async () => {
return execSync(lastCommitCommand).toString().trim();
},
};
module.exports = withBundleAnalyzer(nextConfig);