/* eslint-env node */ import path from "node:path"; import { fileURLToPath } from "node:url"; const __dirname = path.dirname(fileURLToPath(import.meta.url)); const workspaceRoot = path.resolve(__dirname, "..", ".."); /** @type {import('next').NextConfig} */ const nextConfig = { output: process.env.NODE_ENV === "production" ? "standalone" : undefined, turbopack: { resolveAlias: { "@customer-portal/domain": path.join(workspaceRoot, "packages/domain/dist"), }, }, webpack(config) { config.resolve.alias = { ...config.resolve.alias, "@customer-portal/domain": path.join(workspaceRoot, "packages/domain/dist"), }; return config; }, env: { NEXT_PUBLIC_API_BASE: process.env.NEXT_PUBLIC_API_BASE, NEXT_PUBLIC_APP_NAME: process.env.NEXT_PUBLIC_APP_NAME, NEXT_PUBLIC_APP_VERSION: process.env.NEXT_PUBLIC_APP_VERSION, }, compiler: { removeConsole: process.env.NODE_ENV === "production", }, experimental: { optimizePackageImports: ["@heroicons/react", "@tanstack/react-query"], }, typescript: { ignoreBuildErrors: false }, }; // Only load bundle analyzer when explicitly requested let exportedConfig = nextConfig; if (process.env.ANALYZE === "true") { const bundleAnalyzer = (await import("@next/bundle-analyzer")).default; exportedConfig = bundleAnalyzer({ enabled: true })(nextConfig); } export default exportedConfig;