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', }