import {withSentryConfig} from "@sentry/nextjs"; import nextBuildId from "next-build-id"; import path from "path"; import { fileURLToPath } from "url"; /** * The current git commit hash. * * @type {string|string} The current git commit hash. */ const buildId = ( process.env.GIT_REV || nextBuildId.sync({ dir: path.dirname(fileURLToPath(import.meta.url)) }) ).substring(0, 7); /** @type {import('next').NextConfig} */ const nextConfig = { output: "standalone", images: { remotePatterns: [ { protocol: "https", hostname: "git.fascinated.cc", pathname: "/**", }, { protocol: "https", hostname: "api.mcutils.xyz", pathname: "/**", }, ], }, env: { NEXT_PUBLIC_BUILD_ID: buildId, }, experimental: { mdxRs: true, }, }; export default withSentryConfig(nextConfig, { // For all available options, see: // https://github.com/getsentry/sentry-webpack-plugin#options org: "minecraft-utilities", project: "frontend", sentryUrl: "https://glitchtip.fascinated.cc/", // 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, // Uncomment to 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, });