mirror of
https://github.com/koreanbots/core.git
synced 2025-12-15 14:10:22 +00:00
36 lines
1.0 KiB
TypeScript
36 lines
1.0 KiB
TypeScript
import * as Sentry from '@sentry/node'
|
|
import { RewriteFrames } from '@sentry/integrations'
|
|
import { Integrations } from '@sentry/tracing'
|
|
|
|
export const init = () => {
|
|
if (process.env.NEXT_PUBLIC_SENTRY_DSN) {
|
|
const integrations = []
|
|
if (
|
|
process.env.NEXT_IS_SERVER === 'true'
|
|
) {
|
|
// For Node.js, rewrite Error.stack to use relative paths, so that source
|
|
// maps starting with ~/_next map to files in Error.stack with path
|
|
// app:///_next
|
|
if(process.env.NEXT_PUBLIC_SENTRY_SERVER_ROOT_DIR) integrations.push(
|
|
new RewriteFrames({
|
|
iteratee: (frame) => {
|
|
frame.filename = frame.filename.replace(
|
|
process.env.NEXT_PUBLIC_SENTRY_SERVER_ROOT_DIR,
|
|
'app:///'
|
|
)
|
|
frame.filename = frame.filename.replace('.next', '_next')
|
|
return frame
|
|
},
|
|
})
|
|
)
|
|
}
|
|
else integrations.push(new Integrations.BrowserTracing())
|
|
|
|
Sentry.init({
|
|
enabled: process.env.NODE_ENV === 'production',
|
|
integrations,
|
|
dsn: process.env.NEXT_PUBLIC_SENTRY_DSN,
|
|
release: process.env.NEXT_PUBLIC_RELEASE_VERSION,
|
|
})
|
|
}
|
|
} |