63 lines
2.1 KiB
JavaScript
63 lines
2.1 KiB
JavaScript
const { withSentryConfig } = require('@sentry/nextjs');
|
|
const { PHASE_DEVELOPMENT_SERVER } = require('next/constants');
|
|
|
|
const { getGitSha, getIsSentryEnabled } = require('./utils/sentry');
|
|
|
|
const GIT_SHA = getGitSha();
|
|
|
|
const IS_SENTRY_ENABLED = getIsSentryEnabled();
|
|
|
|
module.exports = (phase) =>
|
|
withSentryConfig(
|
|
{
|
|
sentry: {
|
|
widenClientFileUpload: true,
|
|
disableServerWebpackPlugin: true,
|
|
autoInstrumentServerFunctions: false,
|
|
},
|
|
output: 'export',
|
|
compiler: {
|
|
emotion: {
|
|
importMap: {
|
|
'@mui/material': {
|
|
styled: {
|
|
canonicalImport: ['@emotion/styled', 'default'],
|
|
styledBaseImport: ['@mui/material', 'styled'],
|
|
},
|
|
},
|
|
'@mui/material/styles': {
|
|
styled: {
|
|
canonicalImport: ['@emotion/styled', 'default'],
|
|
styledBaseImport: [
|
|
'@mui/material/styles',
|
|
'styled',
|
|
],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
transpilePackages: [
|
|
'@mui/material',
|
|
'@mui/system',
|
|
'@mui/icons-material',
|
|
],
|
|
env: {
|
|
SENTRY_RELEASE: GIT_SHA,
|
|
NEXT_PUBLIC_IS_TEST_APP: process.env.IS_TEST_RELEASE || 'false',
|
|
},
|
|
|
|
// https://dev.to/marcinwosinek/how-to-add-resolve-fallback-to-webpack-5-in-nextjs-10-i6j
|
|
webpack: (config, { isServer }) => {
|
|
if (!isServer) {
|
|
config.resolve.fallback.fs = false;
|
|
}
|
|
return config;
|
|
},
|
|
},
|
|
{
|
|
dryRun: phase === PHASE_DEVELOPMENT_SERVER || !IS_SENTRY_ENABLED,
|
|
release: GIT_SHA,
|
|
}
|
|
);
|