const withPlugins = require("next-compose-plugins"); const withCSS = require("@zeit/next-css"); const withSass = require("@zeit/next-sass"); const withSvgr = require("next-svgr"); const withBundleAnalyzer = require("@zeit/next-bundle-analyzer"); const nextRuntimeDotenv = require("next-runtime-dotenv"); const withConfig = nextRuntimeDotenv({ public: ["API_URL", "API_KEY"] }); // or '' if basePath needs to be left unchanged const basePath = '.'; const webpackBasePath = process.env.NODE_ENV = 'production' ? basePath : ''; const nextConfig = { assetPrefix: webpackBasePath, analyzeServer: ["server", "both"].includes(process.env.BUNDLE_ANALYZE), analyzeBrowser: ["browser", "both"].includes(process.env.BUNDLE_ANALYZE), bundleAnalyzerConfig: { server: { analyzerMode: "static", reportFilename: "../bundles/server.html", }, browser: { analyzerMode: "static", reportFilename: "../bundles/client.html", }, }, publicRuntimeConfig: { PROXY_MODE: process.env.PROXY_MODE, API_URL: process.env.API_URL, API_KEY: process.env.API_KEY, STATIC_PATH: process.env.STATIC_PATH, }, }; module.exports = withConfig( withPlugins([[withCSS], [withSass], [withSvgr], [withBundleAnalyzer]], nextConfig) );