From 7d5a213c71da7cd7bd26b5eee469e2be358d165e Mon Sep 17 00:00:00 2001 From: Jan Kaifer Date: Mon, 6 Mar 2023 22:51:46 +0100 Subject: [PATCH] Remove `experimental.runtime` and emit warning when used (#46631) We recommend that users just opt into `edge` per page. This global default was an unfortunate pattern. --- packages/next/src/build/index.ts | 1 - packages/next/src/build/utils.ts | 2 +- packages/next/src/build/webpack-config.ts | 13 +------------ packages/next/src/export/index.ts | 1 - packages/next/src/server/base-server.ts | 6 ++---- 5 files changed, 4 insertions(+), 19 deletions(-) diff --git a/packages/next/src/build/index.ts b/packages/next/src/build/index.ts index 41e21f3e4e444..0fcb34455a327 100644 --- a/packages/next/src/build/index.ts +++ b/packages/next/src/build/index.ts @@ -1284,7 +1284,6 @@ export default async function build( enableUndici: config.experimental.enableUndici, locales: config.i18n?.locales, defaultLocale: config.i18n?.defaultLocale, - pageRuntime: config.experimental.runtime, }) ) diff --git a/packages/next/src/build/utils.ts b/packages/next/src/build/utils.ts index 6b70d52c07755..7a391398ffd01 100644 --- a/packages/next/src/build/utils.ts +++ b/packages/next/src/build/utils.ts @@ -1255,7 +1255,7 @@ export async function isPageStatic({ parentId?: any edgeInfo?: any pageType?: 'pages' | 'app' - pageRuntime: ServerRuntime + pageRuntime?: ServerRuntime hasServerComponents?: boolean originalAppPath?: string }): Promise<{ diff --git a/packages/next/src/build/webpack-config.ts b/packages/next/src/build/webpack-config.ts index 8e5eba3f31590..bbe784f731500 100644 --- a/packages/next/src/build/webpack-config.ts +++ b/packages/next/src/build/webpack-config.ts @@ -686,17 +686,7 @@ export default async function getBaseWebpackConfig( if (isClient) { if (isEdgeRuntime(config.experimental.runtime)) { Log.warn( - 'You are using the experimental Edge Runtime with `experimental.runtime`.' - ) - } - if (config.experimental.runtime === 'nodejs') { - Log.warn( - 'You are using the experimental Node.js Runtime with `experimental.runtime`.' - ) - } - if (config.experimental.typedRoutes && !hasAppDir) { - Log.warn( - '`experimental.typedRoutes` requires `experimental.appDir` to be enabled.' + 'You ase using `experimental.runtime` which was removed. Check https://nextjs.org/docs/api-routes/edge-api-routes on how to use edge runtime.' ) } } @@ -2392,7 +2382,6 @@ export default async function getBaseWebpackConfig( reactProductionProfiling, webpack: !!config.webpack, hasRewrites, - runtime: config.experimental.runtime, swcMinify: config.swcMinify, swcLoader: useSWCLoader, removeConsole: config.compiler?.removeConsole, diff --git a/packages/next/src/export/index.ts b/packages/next/src/export/index.ts index c0eabef7eeec8..bfb427a22f7fa 100644 --- a/packages/next/src/export/index.ts +++ b/packages/next/src/export/index.ts @@ -398,7 +398,6 @@ export default async function exportApp( disableOptimizedLoading: nextConfig.experimental.disableOptimizedLoading, // Exported pages do not currently support dynamic HTML. supportsDynamicHTML: false, - runtime: nextConfig.experimental.runtime, crossOrigin: nextConfig.crossOrigin, optimizeCss: nextConfig.experimental.optimizeCss, nextConfigOutput: nextConfig.output, diff --git a/packages/next/src/server/base-server.ts b/packages/next/src/server/base-server.ts index 78b442efc7e64..ad46cee777623 100644 --- a/packages/next/src/server/base-server.ts +++ b/packages/next/src/server/base-server.ts @@ -412,12 +412,10 @@ export default abstract class Server { optimizeCss: this.nextConfig.experimental.optimizeCss, nextConfigOutput: this.nextConfig.output, nextScriptWorkers: this.nextConfig.experimental.nextScriptWorkers, - disableOptimizedLoading: this.nextConfig.experimental.runtime - ? true - : this.nextConfig.experimental.disableOptimizedLoading, + disableOptimizedLoading: + this.nextConfig.experimental.disableOptimizedLoading, domainLocales: this.nextConfig.i18n?.domains, distDir: this.distDir, - runtime: this.nextConfig.experimental.runtime, serverComponents, crossOrigin: this.nextConfig.crossOrigin ? this.nextConfig.crossOrigin