-
Notifications
You must be signed in to change notification settings - Fork 0
/
next.config.js
59 lines (52 loc) · 1.79 KB
/
next.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
// @ts-check
// This file sets a custom webpack configuration to use your Next.js app
// with Sentry.
// https://nextjs.org/docs/api-reference/next.config.js/introduction
// https://docs.sentry.io/platforms/javascript/guides/nextjs/
const { withSentryConfig } = require('@sentry/nextjs')
const isSentryEnabled = !!process.env.SENTRY_DSN
const BUILD_ID = process.env.BUILD_ID || process.env.SENTRY_RELEASE
const BUILD_ENV =
process.env.BUILD_ENV ||
process.env.SENTRY_ENVIRONMENT ||
process.env.NODE_ENV
/**
* @type {import('next').NextConfig}
**/
const nextConfig = {
experimental: {
outputStandalone: true,
},
reactStrictMode: true,
swcMinify: true,
generateBuildId: async () => BUILD_ID || null,
sentry: {
// NOTE: re-enable check if server-side apis are written
disableServerWebpackPlugin: /* !isSentryEnabled */ true,
disableClientWebpackPlugin: !isSentryEnabled,
},
env: {
BUILD_ID: BUILD_ID,
BUILD_ENV: BUILD_ENV,
},
}
/**
* @type {Omit<import('@sentry/webpack-plugin').SentryCliPluginOptions, 'include'>}
*/
const sentryWebpackPluginOptions = {
// Additional config options for the Sentry Webpack plugin. Keep in mind that
// the following options are set automatically, and overriding them is not
// recommended:
// release, url, org, project, authToken, configFile, stripPrefix,
// urlPrefix, include, ignore
deploy: {
env: BUILD_ENV || 'development',
},
silent: true, // Suppresses all logs
// For all available options, see:
// https://github.com/getsentry/sentry-webpack-plugin#options.
}
// Make sure adding Sentry options is the last code to run before exporting, to
// ensure that your source maps include changes from all other Webpack plugins
// @ts-ignore
module.exports = withSentryConfig(nextConfig, sentryWebpackPluginOptions)