diff --git a/demos/default/pages/api/og.tsx b/demos/default/pages/api/og.tsx
index 75f1069bac..0914d77e07 100644
--- a/demos/default/pages/api/og.tsx
+++ b/demos/default/pages/api/og.tsx
@@ -2,7 +2,7 @@ import { ImageResponse } from '@vercel/og'
import { NextRequest } from 'next/server'
export const config = {
- runtime: 'experimental-edge',
+ runtime: 'edge',
}
export default async function handler(req: NextRequest) {
diff --git a/demos/middleware/pages/api/edge.ts b/demos/middleware/pages/api/edge.ts
index fd2d60dc30..030a1edf02 100644
--- a/demos/middleware/pages/api/edge.ts
+++ b/demos/middleware/pages/api/edge.ts
@@ -1,5 +1,5 @@
export const config = {
- runtime: 'experimental-edge',
+ runtime: 'edge',
}
export default (req) => new Response('Hello world!')
diff --git a/packages/runtime/src/helpers/analysis.ts b/packages/runtime/src/helpers/analysis.ts
index 1228260e46..2dd1abad18 100644
--- a/packages/runtime/src/helpers/analysis.ts
+++ b/packages/runtime/src/helpers/analysis.ts
@@ -11,7 +11,7 @@ export const enum ApiRouteType {
export interface ApiStandardConfig {
type?: never
- runtime?: 'nodejs' | 'experimental-edge'
+ runtime?: 'nodejs' | 'experimental-edge' | 'edge'
schedule?: never
}
@@ -29,6 +29,8 @@ export interface ApiBackgroundConfig {
export type ApiConfig = ApiStandardConfig | ApiScheduledConfig | ApiBackgroundConfig
+export const isEdgeConfig = (config: string) => ['experimental-edge', 'edge'].includes(config)
+
export const validateConfigValue = (config: ApiConfig, apiFilePath: string): config is ApiConfig => {
if (config.type === ApiRouteType.SCHEDULED) {
if (!config.schedule) {
@@ -39,7 +41,7 @@ export const validateConfigValue = (config: ApiConfig, apiFilePath: string): con
)
return false
}
- if ((config as ApiConfig).runtime === 'experimental-edge') {
+ if (isEdgeConfig((config as ApiConfig).runtime)) {
console.error(
`Invalid config value in ${relative(
process.cwd(),
@@ -60,7 +62,7 @@ export const validateConfigValue = (config: ApiConfig, apiFilePath: string): con
)
return false
}
- if (config.type && (config as ApiConfig).runtime === 'experimental-edge') {
+ if (config.type && isEdgeConfig((config as ApiConfig).runtime)) {
console.error(
`Invalid config value in ${relative(
process.cwd(),
diff --git a/packages/runtime/src/helpers/functions.ts b/packages/runtime/src/helpers/functions.ts
index df8b5887a6..5d0f8032b7 100644
--- a/packages/runtime/src/helpers/functions.ts
+++ b/packages/runtime/src/helpers/functions.ts
@@ -20,7 +20,7 @@ import { getApiHandler } from '../templates/getApiHandler'
import { getHandler } from '../templates/getHandler'
import { getResolverForPages, getResolverForSourceFiles } from '../templates/getPageResolver'
-import { ApiConfig, ApiRouteType, extractConfigFromFile } from './analysis'
+import { ApiConfig, ApiRouteType, extractConfigFromFile, isEdgeConfig } from './analysis'
import { getSourceFileForPage } from './files'
import { writeFunctionConfiguration } from './functionsMetaData'
import { getFunctionNameForPage } from './utils'
@@ -43,7 +43,7 @@ export const generateFunctions = async (
for (const { route, config, compiled } of apiRoutes) {
// Don't write a lambda if the runtime is edge
- if (config.runtime === 'experimental-edge') {
+ if (isEdgeConfig(config.runtime)) {
continue
}
const apiHandlerSource = await getApiHandler({
diff --git a/test/e2e/app-dir/app-edge-global/next.config.js b/test/e2e/app-dir/app-edge-global/next.config.js
index 7f76ef068e..f966ba3baa 100644
--- a/test/e2e/app-dir/app-edge-global/next.config.js
+++ b/test/e2e/app-dir/app-edge-global/next.config.js
@@ -1,6 +1,6 @@
module.exports = {
experimental: {
appDir: true,
- runtime: 'experimental-edge',
+ runtime: 'edge',
},
}
diff --git a/test/e2e/app-dir/app-edge/app/app-edge/page.tsx b/test/e2e/app-dir/app-edge/app/app-edge/page.tsx
index 619a3b6c8d..0d1688df88 100644
--- a/test/e2e/app-dir/app-edge/app/app-edge/page.tsx
+++ b/test/e2e/app-dir/app-edge/app/app-edge/page.tsx
@@ -5,4 +5,4 @@ export default function Page() {
return
Node!
}
-export const runtime = 'experimental-edge'
+export const runtime = 'edge'
diff --git a/test/e2e/app-dir/app-edge/pages/pages-edge.tsx b/test/e2e/app-dir/app-edge/pages/pages-edge.tsx
index 50056c63d6..1385c19ff1 100644
--- a/test/e2e/app-dir/app-edge/pages/pages-edge.tsx
+++ b/test/e2e/app-dir/app-edge/pages/pages-edge.tsx
@@ -2,4 +2,4 @@ export default function Page() {
return pages-edge-ssr
}
-export const config = { runtime: 'experimental-edge' }
+export const config = { runtime: 'edge' }
diff --git a/test/e2e/app-dir/app-middleware/pages/api/dump-headers-edge.js b/test/e2e/app-dir/app-middleware/pages/api/dump-headers-edge.js
index 0ece8ea2c7..05396dccbb 100644
--- a/test/e2e/app-dir/app-middleware/pages/api/dump-headers-edge.js
+++ b/test/e2e/app-dir/app-middleware/pages/api/dump-headers-edge.js
@@ -1,5 +1,5 @@
export const config = {
- runtime: 'experimental-edge',
+ runtime: 'edge',
}
export default (req) => {
diff --git a/test/e2e/app-dir/app/app/(rootonly)/dashboard/hello/page.js b/test/e2e/app-dir/app/app/(rootonly)/dashboard/hello/page.js
index 0b83235a5f..e72072d8cc 100644
--- a/test/e2e/app-dir/app/app/(rootonly)/dashboard/hello/page.js
+++ b/test/e2e/app-dir/app/app/(rootonly)/dashboard/hello/page.js
@@ -6,4 +6,4 @@ export default function HelloPage(props) {
)
}
-export const runtime = 'experimental-edge'
+export const runtime = 'edge'
diff --git a/test/e2e/app-dir/app/app/dashboard/page.js b/test/e2e/app-dir/app/app/dashboard/page.js
index 5a3e15c25c..588a0bf594 100644
--- a/test/e2e/app-dir/app/app/dashboard/page.js
+++ b/test/e2e/app-dir/app/app/dashboard/page.js
@@ -13,4 +13,4 @@ export default function DashboardPage(props) {
)
}
-export const runtime = 'experimental-edge'
+export const runtime = 'edge'
diff --git a/test/e2e/app-dir/app/app/edge-apis/cookies/page.js b/test/e2e/app-dir/app/app/edge-apis/cookies/page.js
index 15fa568241..e0ef78f762 100644
--- a/test/e2e/app-dir/app/app/edge-apis/cookies/page.js
+++ b/test/e2e/app-dir/app/app/edge-apis/cookies/page.js
@@ -1,6 +1,6 @@
import { cookies } from 'next/headers'
-export const runtime = 'experimental-edge'
+export const runtime = 'edge'
export default function Page() {
cookies()
diff --git a/test/e2e/app-dir/app/app/slow-page-no-loading/page.js b/test/e2e/app-dir/app/app/slow-page-no-loading/page.js
index 71854491d1..69d1928970 100644
--- a/test/e2e/app-dir/app/app/slow-page-no-loading/page.js
+++ b/test/e2e/app-dir/app/app/slow-page-no-loading/page.js
@@ -13,4 +13,4 @@ export default function SlowPage(props) {
return {data.message}
}
-export const runtime = 'experimental-edge'
+export const runtime = 'edge'
diff --git a/test/e2e/app-dir/app/app/slow-page-with-loading/page.js b/test/e2e/app-dir/app/app/slow-page-with-loading/page.js
index 71854491d1..69d1928970 100644
--- a/test/e2e/app-dir/app/app/slow-page-with-loading/page.js
+++ b/test/e2e/app-dir/app/app/slow-page-with-loading/page.js
@@ -13,4 +13,4 @@ export default function SlowPage(props) {
return {data.message}
}
-export const runtime = 'experimental-edge'
+export const runtime = 'edge'
diff --git a/test/e2e/app-dir/app/pages/api/hello.js b/test/e2e/app-dir/app/pages/api/hello.js
index 47779ec1fa..81adbb05f1 100644
--- a/test/e2e/app-dir/app/pages/api/hello.js
+++ b/test/e2e/app-dir/app/pages/api/hello.js
@@ -3,5 +3,5 @@ export default function api(req) {
}
export const config = {
- runtime: 'experimental-edge',
+ runtime: 'edge',
}
diff --git a/test/e2e/app-dir/next-font/app/page.js b/test/e2e/app-dir/next-font/app/page.js
index 32dcdf6c79..efd290295a 100644
--- a/test/e2e/app-dir/next-font/app/page.js
+++ b/test/e2e/app-dir/next-font/app/page.js
@@ -13,4 +13,4 @@ export default function HomePage() {
)
}
-export const runtime = 'experimental-edge'
+export const runtime = 'edge'
diff --git a/test/e2e/app-dir/next-image/app/page.js b/test/e2e/app-dir/next-image/app/page.js
index db37c83391..519908bb95 100644
--- a/test/e2e/app-dir/next-image/app/page.js
+++ b/test/e2e/app-dir/next-image/app/page.js
@@ -12,4 +12,4 @@ export default function Page() {
)
}
-export const runtime = 'experimental-edge'
+export const runtime = 'edge'
diff --git a/test/e2e/app-dir/rsc-basic/app/edge/dynamic/[id]/page.js b/test/e2e/app-dir/rsc-basic/app/edge/dynamic/[id]/page.js
index 6f2b162798..91f7bd0199 100644
--- a/test/e2e/app-dir/rsc-basic/app/edge/dynamic/[id]/page.js
+++ b/test/e2e/app-dir/rsc-basic/app/edge/dynamic/[id]/page.js
@@ -2,4 +2,4 @@ export default function page() {
return 'dynamic route [id] page'
}
-export const runtime = 'experimental-edge'
+export const runtime = 'edge'
diff --git a/test/e2e/app-dir/rsc-basic/app/edge/dynamic/page.js b/test/e2e/app-dir/rsc-basic/app/edge/dynamic/page.js
index 356b786c60..17cf8f0f41 100644
--- a/test/e2e/app-dir/rsc-basic/app/edge/dynamic/page.js
+++ b/test/e2e/app-dir/rsc-basic/app/edge/dynamic/page.js
@@ -2,4 +2,4 @@ export default function page() {
return 'dynamic route index page'
}
-export const runtime = 'experimental-edge'
+export const runtime = 'edge'
diff --git a/test/e2e/disabled-tests/edge-render-getserversideprops/app/pages/[id].js b/test/e2e/disabled-tests/edge-render-getserversideprops/app/pages/[id].js
index 5d17ce2cb2..71fc6cefe8 100644
--- a/test/e2e/disabled-tests/edge-render-getserversideprops/app/pages/[id].js
+++ b/test/e2e/disabled-tests/edge-render-getserversideprops/app/pages/[id].js
@@ -1,5 +1,5 @@
export const config = {
- runtime: 'experimental-edge',
+ runtime: 'edge',
}
export default function Page(props) {
diff --git a/test/e2e/disabled-tests/edge-render-getserversideprops/app/pages/index.js b/test/e2e/disabled-tests/edge-render-getserversideprops/app/pages/index.js
index c2380c49cc..2f77a5b59b 100644
--- a/test/e2e/disabled-tests/edge-render-getserversideprops/app/pages/index.js
+++ b/test/e2e/disabled-tests/edge-render-getserversideprops/app/pages/index.js
@@ -1,5 +1,5 @@
export const config = {
- runtime: 'experimental-edge',
+ runtime: 'edge',
}
export default function Page(props) {
diff --git a/test/e2e/disabled-tests/middleware-request-header-overrides/app/pages/api/dump-headers-edge.js b/test/e2e/disabled-tests/middleware-request-header-overrides/app/pages/api/dump-headers-edge.js
index 0ece8ea2c7..05396dccbb 100644
--- a/test/e2e/disabled-tests/middleware-request-header-overrides/app/pages/api/dump-headers-edge.js
+++ b/test/e2e/disabled-tests/middleware-request-header-overrides/app/pages/api/dump-headers-edge.js
@@ -1,5 +1,5 @@
export const config = {
- runtime: 'experimental-edge',
+ runtime: 'edge',
}
export default (req) => {
diff --git a/test/e2e/modified-tests/edge-can-use-wasm-files/index.test.ts b/test/e2e/modified-tests/edge-can-use-wasm-files/index.test.ts
index aa87a1ebca..0c248ceee3 100644
--- a/test/e2e/modified-tests/edge-can-use-wasm-files/index.test.ts
+++ b/test/e2e/modified-tests/edge-can-use-wasm-files/index.test.ts
@@ -49,7 +49,7 @@ describe('edge api endpoints can use wasm files', () => {
const value = await increment(input);
return new Response(null, { headers: { data: JSON.stringify({ input, value }) } });
}
- export const config = { runtime: 'experimental-edge' };
+ export const config = { runtime: 'edge' };
`,
'src/add.wasm': new FileRef(path.join(__dirname, './add.wasm')),
'src/add.js': `
diff --git a/test/e2e/modified-tests/edge-compiler-can-import-blob-assets/app/pages/api/edge.js b/test/e2e/modified-tests/edge-compiler-can-import-blob-assets/app/pages/api/edge.js
index 32264784d7..4de2f91915 100644
--- a/test/e2e/modified-tests/edge-compiler-can-import-blob-assets/app/pages/api/edge.js
+++ b/test/e2e/modified-tests/edge-compiler-can-import-blob-assets/app/pages/api/edge.js
@@ -1,4 +1,4 @@
-export const config = { runtime: 'experimental-edge' }
+export const config = { runtime: 'edge' }
/**
* @param {import('next/server').NextRequest} req
diff --git a/test/e2e/modified-tests/middleware-general/app/pages/api/edge-search-params.js b/test/e2e/modified-tests/middleware-general/app/pages/api/edge-search-params.js
index 01a968ee9d..9b8cf7cd54 100644
--- a/test/e2e/modified-tests/middleware-general/app/pages/api/edge-search-params.js
+++ b/test/e2e/modified-tests/middleware-general/app/pages/api/edge-search-params.js
@@ -1,6 +1,6 @@
import { NextResponse } from 'next/server'
-export const config = { runtime: 'experimental-edge', regions: 'default' }
+export const config = { runtime: 'edge', regions: 'default' }
/**
* @param {import('next/server').NextRequest}
diff --git a/test/e2e/modified-tests/skip-trailing-slash-redirect/app/pages/api/test-cookie-edge.js b/test/e2e/modified-tests/skip-trailing-slash-redirect/app/pages/api/test-cookie-edge.js
index 6018a22370..212da9b323 100644
--- a/test/e2e/modified-tests/skip-trailing-slash-redirect/app/pages/api/test-cookie-edge.js
+++ b/test/e2e/modified-tests/skip-trailing-slash-redirect/app/pages/api/test-cookie-edge.js
@@ -1,7 +1,7 @@
import { NextResponse } from 'next/server'
export const config = {
- runtime: 'experimental-edge',
+ runtime: 'edge',
}
export default function handler(req) {
diff --git a/test/e2e/modified-tests/streaming-ssr/streaming-ssr/pages/api/user/[id].js b/test/e2e/modified-tests/streaming-ssr/streaming-ssr/pages/api/user/[id].js
index c5649d2074..67d2491a96 100644
--- a/test/e2e/modified-tests/streaming-ssr/streaming-ssr/pages/api/user/[id].js
+++ b/test/e2e/modified-tests/streaming-ssr/streaming-ssr/pages/api/user/[id].js
@@ -3,5 +3,5 @@ export default async function handler() {
}
export const config = {
- runtime: 'experimental-edge',
+ runtime: 'edge',
}
diff --git a/test/e2e/modified-tests/streaming-ssr/streaming-ssr/pages/hello.js b/test/e2e/modified-tests/streaming-ssr/streaming-ssr/pages/hello.js
index 10d52a4a22..22f774c485 100644
--- a/test/e2e/modified-tests/streaming-ssr/streaming-ssr/pages/hello.js
+++ b/test/e2e/modified-tests/streaming-ssr/streaming-ssr/pages/hello.js
@@ -9,4 +9,4 @@ export default function Page() {
)
}
-export const config = { runtime: 'experimental-edge' }
+export const config = { runtime: 'edge' }
diff --git a/test/e2e/modified-tests/streaming-ssr/streaming-ssr/pages/index.js b/test/e2e/modified-tests/streaming-ssr/streaming-ssr/pages/index.js
index 7d0c7c7738..211cf1931a 100644
--- a/test/e2e/modified-tests/streaming-ssr/streaming-ssr/pages/index.js
+++ b/test/e2e/modified-tests/streaming-ssr/streaming-ssr/pages/index.js
@@ -11,4 +11,4 @@ export default function Page() {
)
}
-export const config = { runtime: 'experimental-edge' }
+export const config = { runtime: 'edge' }
diff --git a/test/e2e/modified-tests/streaming-ssr/streaming-ssr/pages/multi-byte.js b/test/e2e/modified-tests/streaming-ssr/streaming-ssr/pages/multi-byte.js
index f92eac96ec..5ff1fd1589 100644
--- a/test/e2e/modified-tests/streaming-ssr/streaming-ssr/pages/multi-byte.js
+++ b/test/e2e/modified-tests/streaming-ssr/streaming-ssr/pages/multi-byte.js
@@ -6,4 +6,4 @@ export default function Page() {
)
}
-export const config = { runtime: 'experimental-edge' }
+export const config = { runtime: 'edge' }
diff --git a/test/e2e/modified-tests/streaming-ssr/streaming-ssr/pages/router.js b/test/e2e/modified-tests/streaming-ssr/streaming-ssr/pages/router.js
index 3407d79f07..cfe52afbbc 100644
--- a/test/e2e/modified-tests/streaming-ssr/streaming-ssr/pages/router.js
+++ b/test/e2e/modified-tests/streaming-ssr/streaming-ssr/pages/router.js
@@ -7,5 +7,5 @@ export default () => {
}
export const config = {
- runtime: 'experimental-edge',
+ runtime: 'edge',
}
diff --git a/test/e2e/tests/edge-api-endpoints-can-receive-body/app/pages/api/edge.js b/test/e2e/tests/edge-api-endpoints-can-receive-body/app/pages/api/edge.js
index 26bcb1402f..306d20a7e2 100644
--- a/test/e2e/tests/edge-api-endpoints-can-receive-body/app/pages/api/edge.js
+++ b/test/e2e/tests/edge-api-endpoints-can-receive-body/app/pages/api/edge.js
@@ -7,5 +7,5 @@ export default async (req) => {
}
export const config = {
- runtime: 'experimental-edge',
+ runtime: 'edge',
}
diff --git a/test/e2e/tests/edge-api-endpoints-can-receive-body/app/pages/api/index.js b/test/e2e/tests/edge-api-endpoints-can-receive-body/app/pages/api/index.js
index 26bcb1402f..306d20a7e2 100644
--- a/test/e2e/tests/edge-api-endpoints-can-receive-body/app/pages/api/index.js
+++ b/test/e2e/tests/edge-api-endpoints-can-receive-body/app/pages/api/index.js
@@ -7,5 +7,5 @@ export default async (req) => {
}
export const config = {
- runtime: 'experimental-edge',
+ runtime: 'edge',
}
diff --git a/test/e2e/tests/og-api/app/pages/api/og.js b/test/e2e/tests/og-api/app/pages/api/og.js
index 1afb24a112..55ab54d2c1 100644
--- a/test/e2e/tests/og-api/app/pages/api/og.js
+++ b/test/e2e/tests/og-api/app/pages/api/og.js
@@ -2,7 +2,7 @@
import { ImageResponse } from '@vercel/og'
export const config = {
- runtime: 'experimental-edge',
+ runtime: 'edge',
}
export default function () {
@@ -21,6 +21,6 @@ export default function () {
>
Hello!
- )
+ ),
)
}
diff --git a/test/fixtures/analysis/background-edge.ts b/test/fixtures/analysis/background-edge.ts
index f60836a8f5..6b56a2d07a 100644
--- a/test/fixtures/analysis/background-edge.ts
+++ b/test/fixtures/analysis/background-edge.ts
@@ -6,5 +6,5 @@ export default (req, res) => {
export const config = {
type: 'experimental-background',
- runtime: 'experimental-edge',
+ runtime: 'edge',
}
diff --git a/test/fixtures/analysis/scheduled-edge.ts b/test/fixtures/analysis/scheduled-edge.ts
index b984839bec..d9f70d6bd0 100644
--- a/test/fixtures/analysis/scheduled-edge.ts
+++ b/test/fixtures/analysis/scheduled-edge.ts
@@ -7,5 +7,5 @@ export default (req, res) => {
export const config = {
type: 'experimental-scheduled',
schedule: '@daily',
- runtime: 'experimental-edge',
+ runtime: 'edge',
}