const envVar = require('env-var') const isBuildStage = envVar.get('IS_BUILD_STAGE').default('false').asBool() /** @type {import('next').NextConfig} */ const nextConfig = { reactStrictMode: true, basePath: '/factorio', swcMinify: true, /** @type {import('next/config').ServerRuntimeConfig} */ serverRuntimeConfig: { MONGO_URL: envVar.get('MONGO_URL').required(!isBuildStage).asUrlString(), MONGO_DB: envVar.get('MONGO_DB').required(!isBuildStage).asString(), MONGO_USER: envVar.get('MONGO_USER').required(!isBuildStage).asString(), MONGO_PASS: envVar.get('MONGO_PASS').required(!isBuildStage).asString() }, publicRuntimeConfig: { TENANT_TYPE: envVar.get('TENANT_TYPE').required(!isBuildStage).asString(), NODE_ENV: envVar.get('NODE_ENV').asString() }, i18n: { locales: ['en', 'de', 'nl'], defaultLocale: 'en', localeDetection: false }, webpack: config => { config.module?.rules?.forEach(rule => { rule.oneOf?.forEach(oneOf => { const loader = oneOf?.use if (!loader || !Array.isArray(loader)) return loader.forEach(l => { if (l.loader?.includes('/css-loader') && l.options.modules) { // mde-ui needs camelCase as well as BEM, so preserve both l.options.modules.exportLocalsConvention = 'camelCase' } }) }) }) return config } } module.exports = nextConfig