import type { NextConfig } from "next"
import { withSentryConfig } from "@sentry/nextjs"
import pkg from "./package.json"

const nextConfig: NextConfig = {
  reactStrictMode: true,
  serverExternalPackages: ['sharp'],
  env: {
    NEXT_PUBLIC_APP_VERSION: pkg.version,
    NEXT_PUBLIC_BUILD_DATE: new Date().toISOString(),
  },
}

// PBI/v1-readiness item 2: source-map-upload + tunnel pas actief als DSN +
// auth-token aanwezig zijn. Zonder env-vars draait `withSentryConfig` als
// no-op zodat lokale dev en CI zonder Sentry-creds blijft werken.
export default withSentryConfig(nextConfig, {
  org: process.env.SENTRY_ORG,
  project: process.env.SENTRY_PROJECT,
  authToken: process.env.SENTRY_AUTH_TOKEN,
  silent: !process.env.CI,
  // Tunnel /monitoring → omzeilt ad-blockers die *.sentry.io blokkeren.
  tunnelRoute: '/monitoring',
  // Source-maps niet uploaden als auth-token ontbreekt.
  sourcemaps: { disable: !process.env.SENTRY_AUTH_TOKEN },
  disableLogger: true,
})
