aboutsummaryrefslogtreecommitdiff
path: root/apps/web/next.config.mjs
blob: c0001fa5f5ff0625561de43fa82852c4eeeed740 (plain) (blame)
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
import MillionLint from "@million/lint";
import { setupDevPlatform } from "@cloudflare/next-on-pages/next-dev";
import { withSentryConfig } from "@sentry/nextjs";

/** @type {import('next').NextConfig} */
const baseNextConfig = {
	transpilePackages: ["@repo/ui"],
	reactStrictMode: false,
	env: {
		TELEGRAM_BOT_TOKEN: process.env.TELEGRAM_BOT_TOKEN,
	},
};

let selectedCofig = baseNextConfig;

if (process.env.NODE_ENV === "development") {
	selectedCofig = MillionLint.next({
		rsc: true,
	})(baseNextConfig);
}

export default selectedCofig;

//! Disabled sentry for now because of unreasonably large bundle size
// export default withSentryConfig(selectedCofig, {
// 	// For all available options, see:
// 	// https://github.com/getsentry/sentry-webpack-plugin#options

// 	org: "none-h00",
// 	project: "javascript-nextjs",
// 	// Only print logs for uploading source maps in CI
// 	silent: !process.env.CI,

// 	// For all available options, see:
// 	// https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup/

// 	// 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.
// 	// This can increase your server load as well as your hosting bill.
// 	// Note: Check that the configured route will not match with your Next.js middleware, otherwise reporting of client-
// 	// side errors will fail.
// 	tunnelRoute: "/monitoring",

// 	// Hides source maps from generated client bundles
// 	hideSourceMaps: true,

// 	// Automatically tree-shake Sentry logger statements to reduce bundle size
// 	disableLogger: true,

// 	// Enables automatic instrumentation of Vercel Cron Monitors. (Does not yet work with App Router route handlers.)
// 	// See the following for more information:
// 	// https://docs.sentry.io/product/crons/
// 	// https://vercel.com/docs/cron-jobs
// 	automaticVercelMonitors: true,
// });

// we only need to use the utility during development so we can check NODE_ENV
// (note: this check is recommended but completely optional)
if (process.env.NODE_ENV === "development") {
	// `await`ing the call is not necessary but it helps making sure that the setup has succeeded.
	//  If you cannot use top level awaits you could use the following to avoid an unhandled rejection:
	//  `setupDevPlatform().catch(e => console.error(e));`
	await setupDevPlatform();
}