rsnext/packages/next/server/web
Kiko Beats fafbea8b74
Use Edge Runtime for running Edge Functions locally (#37024)
This PR introduces [Edge Runtime](https://edge-runtime.vercel.app/) for emulating [Edge Functions](https://vercel.com/features/edge-functions) locally.

Every time you run a [middleware](https://nextjs.org/docs/advanced-features/middleware) locally via `next dev`, an isolated edge runtime context will be created.

These contexts have the same constraints as production servers, plus they don't pollute the global scope; Instead, all the code run in a vm on top of a Node.js process.

Additionally, `@edge-runtime/jest-environment` has been added to make easier testing Edge Functions in a programmatic way.

It dropped the following polyfills from Next.js codebase, since they are now part of Edge Runtime:

- abort-controller
- formdata
- uuid
- web-crypto
- web-streams

Co-authored-by: Gal Schlezinger <2054772+Schniz@users.noreply.github.com>
2022-05-30 12:01:36 +00:00
..
sandbox Use Edge Runtime for running Edge Functions locally (#37024) 2022-05-30 12:01:36 +00:00
spec-extension Use Edge Runtime for running Edge Functions locally (#37024) 2022-05-30 12:01:36 +00:00
adapter.ts Use Edge Runtime for running Edge Functions locally (#37024) 2022-05-30 12:01:36 +00:00
error.ts feat(middleware)!: forbids middleware response body (#36835) 2022-05-19 22:02:20 +00:00
next-url.ts Execute middleware on Next.js internal requests (#37121) 2022-05-27 13:29:04 -05:00
types.ts Allow reading request bodies in middlewares (#34294) (#34519) 2022-02-18 19:43:43 +00:00
utils.ts Use Edge Runtime for running Edge Functions locally (#37024) 2022-05-30 12:01:36 +00:00