-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Expand file tree
/
Copy pathnext.config.ts
More file actions
69 lines (60 loc) · 1.78 KB
/
Copy pathnext.config.ts
File metadata and controls
69 lines (60 loc) · 1.78 KB
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
60
61
62
63
64
65
66
67
68
69
import type { NextConfig } from 'next';
import { withSentryConfig } from '@sentry/nextjs';
// Define the base Next.js configuration
const baseConfig: NextConfig = {
output: process.env.BUILD_STANDALONE === 'true' ? 'standalone' : undefined,
images: {
remotePatterns: [
{
protocol: 'https',
hostname: 'api.slingacademy.com',
port: ''
},
{
protocol: 'https',
hostname: 'img.clerk.com',
port: ''
},
{
protocol: 'https',
hostname: 'clerk.com',
port: ''
}
]
},
transpilePackages: ['geist'],
compiler: {
removeConsole: process.env.NODE_ENV === 'production'
}
};
let configWithPlugins = baseConfig;
// Conditionally enable Sentry configuration
if (!process.env.NEXT_PUBLIC_SENTRY_DISABLED) {
configWithPlugins = withSentryConfig(configWithPlugins, {
org: process.env.NEXT_PUBLIC_SENTRY_ORG,
project: process.env.NEXT_PUBLIC_SENTRY_PROJECT,
// Only print logs for uploading source maps in CI
silent: !process.env.CI,
// Upload a larger set of source maps for prettier stack traces (increases build time)
widenClientFileUpload: true,
// Route browser requests to Sentry through a Next.js rewrite to circumvent ad-blockers.
tunnelRoute: '/monitoring',
// Disable Sentry telemetry
telemetry: false,
// Sentry v10: moved under webpack namespace
webpack: {
reactComponentAnnotation: {
enabled: true
},
treeshake: {
removeDebugLogging: true
}
},
// Disable source map upload when org/project are not configured
sourcemaps: {
disable: !process.env.NEXT_PUBLIC_SENTRY_ORG || !process.env.NEXT_PUBLIC_SENTRY_PROJECT
}
});
}
const nextConfig = configWithPlugins;
export default nextConfig;