1
0
Fork 0
forked from CRSS/Website
Website-fixver/next.config.js
2024-08-29 23:46:56 +02:00

80 lines
1.8 KiB
JavaScript

const path = require('path');
const childProcess = require('child_process');
const gitBranch = childProcess.execSync('git rev-parse --abbrev-ref HEAD').toString().trim();
const gitCommit = childProcess.execSync('git rev-parse HEAD').toString().trim();
const gitCommitTime = childProcess.execSync('git show -s --format=%cI').toString().trim();
/** @type {import('next').NextConfig} */
const nextConfig = {
reactStrictMode: true,
sassOptions: {
includePaths: [ path.join(__dirname, 'styles') ]
},
images: {
remotePatterns: [
{
protocol: 'https',
hostname: 'cdn.discordapp.com',
port: '',
pathname: '/**',
},
{
protocol: 'https',
hostname: 'crss.fra1.cdn.digitaloceanspaces.com',
port: '',
pathname: '/**',
}
]
},
publicRuntimeConfig: {
modifiedDate: new Date().getTime(),
discord: {
clientId: process.env.DISCORD_CLIENT,
redirectUri: process.env.DISCORD_REDIRECT,
api: process.env.DISCORD_API,
scopes: [
'identify',
'guilds',
'email',
'openid'
]
},
git: {
branch: gitBranch,
commit: {
sha: gitCommit,
created: new Date(gitCommitTime)
}
}
},
generateBuildId: async () => {
return childProcess.execSync('git rev-parse HEAD').toString().trim();
},
headers: async () => {
return [
{
source: '/api/:path*',
headers: [
{
key: 'Access-Control-Allow-Origin',
value: '*'
}
]
}
];
},
webpack(config) {
config.module.rules.push({
test: /\.svg$/,
use: [ '@svgr/webpack' ]
});
return config;
},
experimental: {
optimizePackageImports: [ '@icons-pack/react-simple-icons' ]
}
};
module.exports = nextConfig;