rsnext/packages/next/compiled
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
..
@babel/runtime Pre-compile more dependencies continued (#32679) 2021-12-21 16:13:45 +01:00
@edge-runtime/primitives Use Edge Runtime for running Edge Functions locally (#37024) 2022-05-30 12:01:36 +00:00
@hapi/accept Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
@napi-rs/triples Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
@peculiar/webcrypto Use Edge Runtime for running Edge Functions locally (#37024) 2022-05-30 12:01:36 +00:00
@vercel/nft Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
abort-controller Use Edge Runtime for running Edge Functions locally (#37024) 2022-05-30 12:01:36 +00:00
acorn Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
amphtml-validator Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
arg Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
assert Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
async-retry Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
async-sema Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
babel Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
babel-packages Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
browserify-zlib Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
browserslist Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
buffer Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
bytes Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
chalk Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
ci-info Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
cli-select Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
comment-json Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
compression Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
conf Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
constants-browserify Pre-compile more dependencies (#32627) 2021-12-20 14:01:35 +01:00
content-disposition Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
content-type Update to latest ncc and ensure caniuse-lite data is external (#32064) 2021-12-08 10:41:35 -06:00
cookie Update to latest ncc and ensure caniuse-lite data is external (#32064) 2021-12-08 10:41:35 -06:00
cross-spawn Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
crypto-browserify Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
cssnano-simple Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
debug Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
devalue Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
domain-browser Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
edge-runtime Use Edge Runtime for running Edge Functions locally (#37024) 2022-05-30 12:01:36 +00:00
etag Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
events Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
find-cache-dir Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
find-up Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
formdata-node Use Edge Runtime for running Edge Functions locally (#37024) 2022-05-30 12:01:36 +00:00
fresh Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
get-orientation Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
glob Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
gzip-size Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
http-proxy Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
https-browserify Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
icss-utils Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
ignore-loader Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
image-size Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
is-animated Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
is-docker Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
is-wsl Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
jest-worker Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
json5 Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
jsonwebtoken Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
loader-utils2 Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
loader-utils3 Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
lodash.curry Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
lru-cache Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
micromatch Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
mini-css-extract-plugin Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
nanoid Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
native-url Update to latest ncc and ensure caniuse-lite data is external (#32064) 2021-12-08 10:41:35 -06:00
neo-async Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
node-fetch Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
node-html-parser Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
ora Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
os-browserify Pre-compile more dependencies (#32627) 2021-12-20 14:01:35 +01:00
p-limit Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
path-browserify Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
postcss-flexbugs-fixes Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
postcss-modules-extract-imports Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
postcss-modules-local-by-default Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
postcss-modules-scope Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
postcss-modules-values Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
postcss-preset-env Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
postcss-safe-parser Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
postcss-scss Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
postcss-value-parser Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
process Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
punycode Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
querystring-es3 Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
raw-body Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
react-is Pre-compile more dependencies (#32742) 2022-01-17 15:17:22 +00:00
react-server-dom-webpack Use deterministic module IDs in the client bundle (#37249) 2022-05-27 17:43:42 +00:00
regenerator-runtime Pre-compile more dependencies continued (#32679) 2021-12-21 16:13:45 +01:00
sass-loader Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
schema-utils2 Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
schema-utils3 Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
semver Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
send Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
setimmediate Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
source-map Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
stream-browserify Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
stream-http Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
string-hash Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
string_decoder Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
strip-ansi Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
tar Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
terser Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
text-table Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
timers-browserify Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
tty-browserify Pre-compile more dependencies (#32627) 2021-12-20 14:01:35 +01:00
ua-parser-js Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
unistore Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
util Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
uuid Use Edge Runtime for running Edge Functions locally (#37024) 2022-05-30 12:01:36 +00:00
vm-browserify Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
watchpack Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
web-streams-polyfill Use Edge Runtime for running Edge Functions locally (#37024) 2022-05-30 12:01:36 +00:00
web-vitals Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
webpack Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
webpack-sources1 Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
webpack-sources3 Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00
ws Update to leverage pnpm for monorepo (#37259) 2022-05-28 23:35:16 -05:00