This commit is contained in:
phaichayon
2026-06-11 12:46:57 +07:00
parent 1993d88306
commit 7a390cf0df
720 changed files with 100919 additions and 0 deletions

76
next.config.ts Normal file
View File

@@ -0,0 +1,76 @@
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: "placehold.co",
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;