const path = require('path')
const { i18n } = require("./next-i18next.config");
const withBundleAnalyzer = require('@next/bundle-analyzer');

/** @type {import('next').NextConfig} */
const nextConfig = {
  // i18n,
  reactStrictMode: true,
  trailingSlash: true,
  swcMinify: true,
  cleanDistDir: true,
  pageExtensions: ['js', 'jsx', 'mdx', 'ts', 'tsx'],
  // pageExtensions: ["tsx", "mdx", "ts", "js"],
  productionBrowserSourceMaps: true,
  // we're open-source anyways
  experimental: {
    esmExternals: "loose",
  },
  compiler: {
    removeConsole: false,  // 保留所有模式中的 console.log
    //removeConsole: process.env.NODE_ENV === 'production' ? { exclude: ['error'] } : false, // ✅ 用 NODE_ENV
    emotion: true,
  },
  webpack: (config, { isServer }) => {
    config.cache = Object.freeze({
      type: "memory",
    });

    return config;
  },
  eslint: {
    // Warning: This allows production builds to successfully complete even if
    // your project has ESLint errors.
    ignoreDuringBuilds: true,
    },
  experimental: {
    esmExternals: true,
  },
  images: {
    remotePatterns: [
      {
        protocol: 'https',
        hostname: 'avatars.githubusercontent.com'
      }
    ]
  },

  sassOptions: {
    includePaths: [path.join(__dirname, 'styles')],
  },


}

// module.exports = nextConfig
module.exports = withBundleAnalyzer({
  enabled: process.env.ANALYZE === 'true',
})(nextConfig);
