40 lines
1.0 KiB
JavaScript
40 lines
1.0 KiB
JavaScript
const fs = require('fs');
|
|
const path = require('path');
|
|
const envSchema = require('./config/schema/env');
|
|
const urls = require('./constants/urls');
|
|
|
|
const env = envSchema.parse(process.env);
|
|
|
|
const favicons = fs.readdirSync('./public/favicon/prod');
|
|
const faviconSubPath = env.NEXT_PUBLIC_USE_DEV_COLORS ? '/favicon/dev' : '/favicon/prod';
|
|
function buildFaviconRewrite(source) {
|
|
return {
|
|
destination: String.prototype.concat(faviconSubPath, source),
|
|
source,
|
|
};
|
|
}
|
|
|
|
/** @type {import('next').NextConfig} */
|
|
const nextConfig = {
|
|
output: 'standalone',
|
|
eslint: {
|
|
ignoreDuringBuilds: true,
|
|
},
|
|
experimental: {
|
|
outputFileTracingRoot: path.join(__dirname, '../../'),
|
|
},
|
|
reactStrictMode: true,
|
|
transpilePackages: ['@repo/ui', 'radash'],
|
|
async rewrites() {
|
|
return [
|
|
{
|
|
destination: env.URL_IUS_DIRECT + '/:path*',
|
|
source: urls.URL_IUS_PROXY + '/:path*',
|
|
},
|
|
...favicons.map((fileName) => buildFaviconRewrite(`/${fileName}`)),
|
|
];
|
|
},
|
|
};
|
|
|
|
module.exports = nextConfig;
|