78 lines
2.2 KiB
JavaScript
78 lines
2.2 KiB
JavaScript
const fs = require('fs');
|
|
const path = require('path');
|
|
const envSchema = require('./config/schema/env');
|
|
const urls = require('./constants/urls');
|
|
const { devices } = require('./config/ui');
|
|
const { publicRuntimeConfigSchema } = require('./config/schema/runtime-config');
|
|
const { serverRuntimeConfigSchema } = require('./config/schema/runtime-config');
|
|
const { withSentryConfig } = require('@sentry/nextjs');
|
|
|
|
const env = envSchema.parse(process.env);
|
|
|
|
const favicons = fs.readdirSync('./public/favicon/prod');
|
|
const faviconSubPath = env.USE_DEV_COLORS ? '/favicon/dev' : '/favicon/prod';
|
|
function buildFaviconRewrite(source) {
|
|
return {
|
|
destination: String.prototype.concat(env.BASE_PATH, faviconSubPath, source),
|
|
source,
|
|
};
|
|
}
|
|
|
|
module.exports = withSentryConfig({
|
|
basePath: env.BASE_PATH,
|
|
compiler: {
|
|
styledComponents: true,
|
|
},
|
|
eslint: {
|
|
ignoreDuringBuilds: true,
|
|
},
|
|
experimental: {
|
|
outputFileTracingRoot: path.join(__dirname, '../../'),
|
|
},
|
|
images: {
|
|
deviceSizes: devices,
|
|
},
|
|
output: 'standalone',
|
|
publicRuntimeConfig: publicRuntimeConfigSchema.parse(env),
|
|
reactStrictMode: true,
|
|
async rewrites() {
|
|
return [
|
|
{
|
|
destination: env.URL_CRM_GRAPHQL_PROXY + '/:path*',
|
|
source: urls.URL_CRM_GRAPHQL_PROXY + '/:path*',
|
|
},
|
|
{
|
|
destination: env.URL_CRM_DOWNLOADKP_BASE + '/:path*',
|
|
source: urls.URL_CRM_DOWNLOADKP_PROXY + '/:path*',
|
|
},
|
|
{
|
|
destination: env.URL_GET_USER_DIRECT,
|
|
source: urls.URL_GET_USER_PROXY,
|
|
},
|
|
{
|
|
destination: env.URL_CORE_FINGAP_DIRECT,
|
|
source: urls.URL_CORE_FINGAP_PROXY,
|
|
},
|
|
{
|
|
destination: env.URL_1C_TRANSTAX_DIRECT,
|
|
source: urls.URL_1C_TRANSTAX_PROXY,
|
|
},
|
|
{
|
|
destination: env.URL_ELT_KASKO_DIRECT,
|
|
source: urls.URL_ELT_KASKO_PROXY,
|
|
},
|
|
{
|
|
destination: env.URL_ELT_OSAGO_DIRECT,
|
|
source: urls.URL_ELT_OSAGO_PROXY,
|
|
},
|
|
...favicons.map((fileName) => buildFaviconRewrite(`/${fileName}`)),
|
|
];
|
|
},
|
|
sentry: {
|
|
tunnelRoute: '/track-error',
|
|
},
|
|
serverRuntimeConfig: serverRuntimeConfigSchema.parse(env),
|
|
swcMinify: true,
|
|
transpilePackages: ['ui', 'tools', 'antd'],
|
|
});
|