diff --git a/next.config.js b/next.config.js index 058121d99d2307422ded5ead67dc0c021d164fa2..46540574b2843ee288ec10b756786a7ae1f14995 100644 --- a/next.config.js +++ b/next.config.js @@ -3,6 +3,7 @@ const nextConfig = { reactStrictMode: true, basePath: process.env.APP_PREFIX ? process.env.APP_PREFIX + '/index.html' : '', assetPrefix: process.env.APP_PREFIX ? process.env.APP_PREFIX : '', + productionBrowserSourceMaps: true, output: 'export', images: { unoptimized: true, diff --git a/src/services/api/utils/axiosInstance.ts b/src/services/api/utils/axiosInstance.ts index aaa17d287f1f0d3023f1d178e7ac54adf57ea9a8..7f39522e40a96dc990ae1f90c04626327f32e20d 100644 --- a/src/services/api/utils/axiosInstance.ts +++ b/src/services/api/utils/axiosInstance.ts @@ -8,3 +8,39 @@ export const axiosInstance = axios.create({ export const axiosInstanceNewAPI = axios.create({ baseURL: BASE_NEW_API_URL, }); + +axiosInstance.interceptors.request.use(config => { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-expect-error + // eslint-disable-next-line no-param-reassign + config.errorContext = new Error('Thrown at:'); + return config; +}); + +axiosInstance.interceptors.response.use(undefined, async error => { + const originalStackTrace = error.config?.errorContext?.stack; + if (originalStackTrace) { + // eslint-disable-next-line no-param-reassign + error.stack = `${error.stack}\n${originalStackTrace}`; + } + + throw error; +}); + +axiosInstanceNewAPI.interceptors.request.use(config => { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-expect-error + // eslint-disable-next-line no-param-reassign + config.errorContext = new Error('Thrown at:'); + return config; +}); + +axiosInstanceNewAPI.interceptors.response.use(undefined, async error => { + const originalStackTrace = error.config?.errorContext?.stack; + if (originalStackTrace) { + // eslint-disable-next-line no-param-reassign + error.stack = `${error.stack}\n${originalStackTrace}`; + } + + throw error; +});