rsnext/test/integration
Jimmy Lai a5b7c77c1f
perf: add bundled rendering runtimes (#52997)
## What?

In Next, rendering a route involves 3 layers:
- the routing layer, which will direct the request to the correct route to render
- the rendering layer, which will take a route and render it appropriately
- the user layer, which contains the user code 

In #51831, in order to optimise the boot time of Next.js, I introduced a change that allowed the routing layer to be bundled. In this PR, I'm doing the same for the rendering layer. This is building up on @wyattjoh's work that initially split the routing and the rendering layer into separate entry-points.

The benefits of having this approach is that this allows us to compartmentalise the different part of Next, optimise them individually and making sure that serving a request is as efficient as possible, e.g. rendering a `pages` route should not need code from the `app router` to be used.

There are now 4 different rendering runtimes, depending on the route type:
- app pages: for App Router pages
- app routes: for App Router route handlers
- pages: for legacy pages
- pages api: for legacy API routes

This change should be transparent to the end user, beside faster cold boots.

## Notable changes

Doing this change required a lot of changes for Next.js under the hood in order to make the different layers play well together.

### New conventions for externals/shared modules

The big issue of bundling the rendering runtimes is that the user code needs to be able to reference an instance of a module/value created in Next during the render. This is the case when the user wants to access the router context during SSR via `next/link` for example; when you call `useContext(value)` the value needs to be the exact same reference to one as the one created by `createContext` earlier.

Previously, we were handling this case by making all files from Next that were affected by this `externals`, meaning that we were marking them not to be bundled.

**Why not keep it this way?**

The goal of this PR as stated previously was to make the rendering process as efficient as possible, so I really wanted to avoid extraneous fs reads to unoptimised code. 

In order to "fix" it, I introduced two new conventions to the codebase:
- all files that explicitly need to be shared between a rendering runtime and the user code must be suffixed by `.shared-runtime` and exposed via adding a reference in the relevant `externals` file. At compilation time, a reference to a file ending with this will get re-written to the appropriate runtime.
- all files that need to be truly externals need to be suffixed by `.external`. At compilation time, a reference to it will stay as-is. This special case is needed mostly only for the async local storages that need to be shared with all three layers of Next.

As a side effect, we should be bundling more of the Next code in the user bundles, so it should be slightly more efficient.

### App route handlers are compiled on their own layer

App route handlers should be compiled in their own layer, this allows us to separate more cleanly the compilation logic here (we don't need to run the RSC logic for example).

### New rendering bundles

We now generate a prod and a dev bundle for:
- the routing server
- the app/pages SSR rendering process
- the API routes process

The development bundle is needed because:
- there is code in Next that relies on NODE_ENV
- because we opt out of the logic referencing the correct rendering runtime in dev for a `shared-runtime` file. This is because we don't need to and that Turbopack does not support rewriting an external to something that looks like this `require('foo').bar.baz` yet. We will need to fix that when Turbopack build ships.

### New development pipeline

Bundling Next is now required when developing on the repo so I extended the taskfile setup to account for that. The webpack config for Next itself lives in `webpack.config.js` and contains the logic for all the new bundles generated.

### Misc changes

There are some misc reshuffling in the code to better use the tree shaking abilities that we can now use.

fixes NEXT-1573

Co-authored-by: Alex Kirszenberg <1621758+alexkirsz@users.noreply.github.com>
2023-09-07 15:51:49 +00:00
..
404-page Add initial separated route resolving (#47208) 2023-04-02 15:17:15 +02:00
404-page-app Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
404-page-custom-error BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
404-page-ssg BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
500-page Break up large test suites (#50458) 2023-05-28 13:59:41 -07:00
absolute-assetprefix BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
amp-export-validation Update AMP validation tests (#32327) 2021-12-09 12:27:38 -06:00
amphtml Redesign nextjs logging (#54713) 2023-09-05 11:40:00 +00:00
amphtml-custom-optimizer Upgrade amp optimizer to v2.8.3 (#27106) 2022-05-29 19:38:23 -05:00
amphtml-custom-validator Update to latest version of amphtml-validator (#33967) 2022-02-03 20:33:38 -06:00
amphtml-fragment-style Wait for shell resolve with gIP is customized in react 18 (#36792) 2022-05-11 13:25:23 +00:00
amphtml-ssg BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
api-body-parser Revert "Revert "Separate routing code from render servers (#52492)"" (#53029) 2023-07-21 14:02:52 -07:00
api-catch-all BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
api-support Failing tests for 404 back/forward (#50047) 2023-05-22 17:04:36 +02:00
app-aspath Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
app-config-asset-prefix fix: App Router with assetPrefix: / (#49622) 2023-06-07 14:46:02 +00:00
app-dir-export Redesign nextjs logging (#54713) 2023-09-05 11:40:00 +00:00
app-document BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
app-document-add-hmr Enable additional webpack memory cache (#52540) 2023-08-02 11:43:39 +02:00
app-document-import-order Revert "Revert "Separate routing code from render servers (#52492)"" (#53029) 2023-07-21 14:02:52 -07:00
app-document-remove-hmr Remove full reload overlay and warn in CLI instead (#37874) 2022-06-22 15:41:23 +00:00
app-document-style-fragment Revert "Route Module Updates Redux" (#51409) 2023-06-16 05:44:03 -07:00
app-dynamic-error Remove experimental config from create-next-app (#49241) 2023-05-05 00:22:28 -07:00
app-functional Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
app-tree Update default moduleResolution in tsconfig.json from node to bundler (#51957) 2023-07-18 15:11:09 +00:00
app-types Update default moduleResolution in tsconfig.json from node to bundler (#51957) 2023-07-18 15:11:09 +00:00
async-modules BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
auto-export Add error link when hydration error occurs (#31519) 2021-11-23 13:10:56 +00:00
auto-export-error-bail BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
auto-export-query-error BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
babel Enable SWC by default when there is no custom Babel config (#29811) 2021-10-23 10:21:44 +02:00
babel-custom Enable SWC by default when there is no custom Babel config (#29811) 2021-10-23 10:21:44 +02:00
basepath-root-catch-all BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
bigint BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
broken-webpack-plugin Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
build-indicator Add initial separated route resolving (#47208) 2023-04-02 15:17:15 +02:00
build-output File Reader Improvements (#54645) 2023-08-28 18:09:56 +00:00
build-trace-extra-entries Fix folders included in trace (#46011) 2023-02-16 12:45:08 -08:00
build-trace-extra-entries-turbo Add top-level trace include/exclude config (#44605) 2023-02-14 12:09:47 -08:00
build-warnings Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
bundle-size-profiling
catches-missing-getStaticProps BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
chunking BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
clean-distdir Fix env variables set in next.config.js (#50179) 2023-05-22 13:29:41 -07:00
cli Redesign nextjs logging (#54713) 2023-09-05 11:40:00 +00:00
client-404 BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
client-navigation Update swc_core to v0.82.11 (#54653) 2023-09-01 15:35:04 +02:00
client-navigation-a11y BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
client-shallow-routing BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
compression Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
config improve production error message printing (#30065) 2021-10-20 18:23:44 -05:00
config-devtool-dev Update test env variable passing (#44912) 2023-01-15 23:20:16 -08:00
config-experimental-warning Redesign nextjs logging (#54713) 2023-09-05 11:40:00 +00:00
config-mjs improve production error message printing (#30065) 2021-10-20 18:23:44 -05:00
config-output-export type check tests (and convert next-test-utils.js to ts) (#51071) 2023-06-23 17:42:50 +00:00
config-promise-error Add support for async fn / promise in next.config.js/.mjs (#33662) 2022-02-07 08:48:35 +00:00
config-resolve-alias Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
config-schema-check Ensure default config passes schema checks (#46656) 2023-03-01 14:45:58 -08:00
config-syntax-error Redesign nextjs logging (#54713) 2023-09-05 11:40:00 +00:00
config-validation feat(config): implement a human readable ajv errors (#39291) 2022-08-03 15:12:16 -05:00
conflicting-public-file-page Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
conflicting-ssg-paths/test Fix conflicting paths grammar (#29658) 2021-10-05 22:22:46 -05:00
create-next-app chore: update to pnpm@8.6.11 (#50923) 2023-08-04 19:40:20 +00:00
critical-css BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
css/test Break up large test suites (#50458) 2023-05-28 13:59:41 -07:00
css-client-nav/test Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
css-customization/test Update swc (#32210) 2021-12-08 18:54:21 +01:00
css-features Update checksum algorithm to SHA1 (#52102) 2023-07-06 08:50:51 +00:00
css-fixtures Fix turbo css-modules test (#42103) 2022-10-28 17:39:48 -07:00
css-minify Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
css-modules/test Update checksum algorithm to SHA1 (#52102) 2023-07-06 08:50:51 +00:00
custom-error Server Router Improvements (#45716) 2023-02-15 00:16:45 +00:00
custom-error-page-exception BREAKING CHANGE: Remove React 17 (#41629) 2022-10-21 22:20:36 +00:00
custom-page-extension BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
custom-routes Generate prefetch RSC paylod during build for SSR paths (#54403) 2023-08-23 16:09:27 -07:00
custom-routes-catchall Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
custom-routes-i18n BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
custom-routes-i18n-index-redirect Fix redirect for the root path with i18n and defaultLocale (#45847) 2023-02-13 12:27:28 -08:00
custom-server Redesign nextjs logging (#54713) 2023-09-05 11:40:00 +00:00
custom-server-types Update default moduleResolution in tsconfig.json from node to bundler (#51957) 2023-07-18 15:11:09 +00:00
data-fetching-errors server: enable minification by default (#54960) 2023-09-06 10:24:01 +00:00
dedupes-scripts BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
development-hmr-refresh Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
development-runtime-config Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
disable-js Merge app renderer process (#54143) 2023-08-22 14:38:42 +02:00
dist-dir Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
document-file-dependencies Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
document-head-warnings Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
draft-mode Update default moduleResolution in tsconfig.json from node to bundler (#51957) 2023-07-18 15:11:09 +00:00
duplicate-pages Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
dynamic-optional-routing Fix generateStaticParams check in app dir (#47051) 2023-03-13 00:05:35 +00:00
dynamic-optional-routing-root-fallback BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
dynamic-optional-routing-root-static-paths BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
dynamic-require Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
dynamic-route-rename Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
dynamic-routing Remove pong HMR event as it is not used (#54965) 2023-09-04 13:27:47 +00:00
edge-runtime-configurable-guards feat: enables 'edge' as a possible runtime for API routes (#44045) 2022-12-15 10:08:03 +01:00
edge-runtime-dynamic-code feat: enables 'edge' as a possible runtime for API routes (#44045) 2022-12-15 10:08:03 +01:00
edge-runtime-module-errors Break up large test suites (#50458) 2023-05-28 13:59:41 -07:00
edge-runtime-response-error feat: enables 'edge' as a possible runtime for API routes (#44045) 2022-12-15 10:08:03 +01:00
edge-runtime-streaming-error Reimplement stream cancellation (#52281) 2023-07-26 12:57:34 -07:00
edge-runtime-with-node.js-apis type check tests (and convert next-test-utils.js to ts) (#51071) 2023-06-23 17:42:50 +00:00
empty-object-getInitialProps Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
empty-project Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
env-config Redesign nextjs logging (#54713) 2023-09-05 11:40:00 +00:00
error-in-error Fix standalone mode with appDir running in a single process (#49116) 2023-05-04 05:55:05 +02:00
error-load-fail BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
error-plugin-stack-overflow test and fix error reporting for stack overflows and other fatal errors (#30169) 2021-10-22 10:30:50 +00:00
errors-on-output-to-public Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
errors-on-output-to-static Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
eslint Update default moduleResolution in tsconfig.json from node to bundler (#51957) 2023-07-18 15:11:09 +00:00
export-404 fix(#36855/#30300): export 404.html correctly (#36910) 2022-05-14 13:57:48 +00:00
export-default-map Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
export-dynamic-pages Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
export-fallback-true-error Update check for fallback pages during export (#33323) 2022-01-17 14:44:45 +00:00
export-getInitialProps-warn feat(next export): add warning if using getInitialProps (#37642) 2022-06-13 02:34:23 +00:00
export-image-default chore(docs): update next export to output: 'export' (#47717) 2023-03-31 02:04:23 +00:00
export-image-loader Add support for images.loaderFile config (#41585) 2022-10-21 12:31:53 -07:00
export-image-loader-legacy Add support for images.loaderFile config (#41585) 2022-10-21 12:31:53 -07:00
export-index-not-found-gsp fix: handle notFound: true in / with next export (#40592) 2022-09-16 21:39:48 +00:00
export-intent Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
export-no-build Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
export-progress-status-message Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
export-subfolders Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
externals-esm fix external fallback for invalid packages (#30427) 2021-10-27 13:53:44 +00:00
externals-esm-loose fixes #29553 (#29611) 2021-10-04 23:57:27 +00:00
fallback-false-rewrite fix resolve routes behavior when matching a dynamic segment (#54539) 2023-08-25 02:14:09 +00:00
fallback-modules Remove webpack 4 support (#29660) 2021-10-06 17:40:01 +02:00
fallback-route-params BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
fetch-polyfill BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
fetch-polyfill-ky-universal BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
file-serving Add new build and test workflow (#50436) 2023-05-27 21:02:31 -07:00
filesystempublicroutes Remove un-needed test dependency (#32616) 2022-01-03 10:08:30 -06:00
firebase-grpc Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
font-optimization fix: better error message with an invalid assetPrefix (#49403) 2023-05-08 16:14:48 -07:00
future Merge app renderer process (#54143) 2023-08-22 14:38:42 +02:00
getinitialprops BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
getserversideprops-export-error BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
getserversideprops-preview Remove leftover server.js files in test suite (#45408) 2023-02-01 10:00:52 +00:00
gip-identifier Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
gsp-build-errors Handle getStaticPaths error inside worker to avoid serializing (#39032) 2022-07-26 13:56:29 -05:00
gsp-extension Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
gssp-pageProps-merge BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
gssp-redirect Replace usage of example.com in gssp-redirect tests (#44664) 2023-01-06 12:48:41 -08:00
gssp-redirect-base-path Replace usage of example.com in gssp-redirect tests (#44664) 2023-01-06 12:48:41 -08:00
gssp-redirect-with-rewrites BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
handles-export-errors Check stack property for page export exceptions (#32289) 2021-12-16 09:41:45 +01:00
hashbang Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
hydrate-then-render BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
hydration Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
i18n-support Revert "Revert "Separate routing code from render servers (#52492)"" (#53029) 2023-07-21 14:02:52 -07:00
i18n-support-base-path fix: don't append domain to absolute urls when using i18n (#46201 2023-02-21 16:27:14 -08:00
i18n-support-catchall BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
i18n-support-custom-error Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
i18n-support-fallback-rewrite Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
i18n-support-fallback-rewrite-legacy Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
i18n-support-index-rewrite Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
i18n-support-same-page-hash-change BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
image-generation feat: enables 'edge' as a possible runtime for API routes (#44045) 2022-12-15 10:08:03 +01:00
image-optimizer chore: update to pnpm@8.6.11 (#50923) 2023-08-04 19:40:20 +00:00
import-assertion Update default moduleResolution in tsconfig.json from node to bundler (#51957) 2023-07-18 15:11:09 +00:00
index-index BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
initial-ref Update test config (#43661) 2022-12-03 19:49:00 -08:00
invalid-config-values Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
invalid-custom-routes Redesign nextjs logging (#54713) 2023-09-05 11:40:00 +00:00
invalid-document-image-import Fix incorrect _document.js error when disableStaticImages: true (#30768) 2021-11-02 20:25:12 +00:00
invalid-href Update test env variable passing (#44912) 2023-01-15 23:20:16 -08:00
invalid-middleware-matchers ensure original matcher source is free of mutations (#47980) 2023-04-12 16:55:45 +02:00
invalid-multi-match Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
invalid-page-automatic-static-optimization Ensure non-error thrown in getStaticPaths shows correctly (#33753) 2022-01-27 16:31:54 -06:00
invalid-revalidate-values Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
invalid-server-options Update err.sh links to use nextjs.org/docs/messages instead (#23353) 2021-03-29 10:25:00 +02:00
jsconfig Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
jsconfig-baseurl perf: add bundled rendering runtimes (#52997) 2023-09-07 15:51:49 +00:00
jsconfig-empty Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
jsconfig-paths perf: add bundled rendering runtimes (#52997) 2023-09-07 15:51:49 +00:00
json-serialize-original-error Fix bug with "Circular Structure" error (#23905) 2022-02-09 20:28:24 -06:00
legacy-ssg-methods-error BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
link-ref BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
link-with-encoding BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
link-with-multiple-child/test Update next/link default legacyBehavior (#42623) 2022-11-30 20:01:29 -08:00
link-without-router BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
middleware-basic Turbopack: add middleware support for next.rs api dev mode (#54555) 2023-08-27 12:10:15 +02:00
middleware-build-errors Enable allowMiddlewareResponseBody by default (#44224) 2022-12-21 18:40:58 +00:00
middleware-dev-errors Redesign nextjs logging (#54713) 2023-09-05 11:40:00 +00:00
middleware-dev-update Enable context caching for middleware/edge functions in dev (#47840) 2023-04-02 23:51:25 -07:00
middleware-overrides-node.js-api fix(edge): error handling for edge route and middleware is inconsistent (#38401) 2022-07-21 14:53:23 +00:00
middleware-prefetch Add middleware prefetching config (#42936) 2022-11-17 13:22:36 -08:00
middleware-src Ensure we warn for middleware with next export (#45288) 2023-01-26 16:18:35 -08:00
missing-document-component-error Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
mixed-ssg-serverprops-error improve getStaticProps error message (#34287) 2022-05-22 16:50:21 -05:00
next-dynamic Implement loadable with lazy and suspense for next dynamic (#42589) 2022-12-07 19:42:10 +01:00
next-dynamic-css Remove webpack 4 support (#29660) 2021-10-06 17:40:01 +02:00
next-dynamic-lazy-compilation Implement loadable with lazy and suspense for next dynamic (#42589) 2022-12-07 19:42:10 +01:00
next-image-legacy Update flakey image component tests (#54526) 2023-08-24 20:15:10 +00:00
next-image-new Redesign nextjs logging (#54713) 2023-09-05 11:40:00 +00:00
no-duplicate-compile-error Remove full reload overlay and warn in CLI instead (#37874) 2022-06-22 15:41:23 +00:00
no-op-export/test Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
no-override-next-props Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
no-page-props BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
node-fetch-keep-alive Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
non-next-dist-exclude Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
non-standard-node-env-warning Ensure ENOENT error is not ignored when loading pages (#37486) 2022-06-06 14:35:26 -04:00
not-found-revalidate Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
nullish-config Redesign nextjs logging (#54713) 2023-09-05 11:40:00 +00:00
numeric-sep Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
ondemand Remove pong HMR event as it is not used (#54965) 2023-09-04 13:27:47 +00:00
optional-chaining-nullish-coalescing BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
page-config Add page config swc transform (#30183) 2021-10-22 16:08:09 -07:00
page-extensions ignore .d.ts files inside pages folder (#30728) 2022-01-01 17:16:03 +00:00
plugin-mdx-rs add support for globally providing mdx components to turbopack (#49818) 2023-05-16 00:45:08 +00:00
polyfilling-minimal Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
polyfills Fix global process testing for the process polyfill (#33220) 2022-01-13 16:44:55 +00:00
port-env-var Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
preload-viewport misc: change strategy for link prefetch test (#45234) 2023-01-24 16:04:56 -08:00
prerender Update test concurrency (#50588) 2023-05-31 13:15:18 +00:00
prerender-fallback-encoding Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
prerender-invalid-catchall-params Fix generateStaticParams check in app dir (#47051) 2023-03-13 00:05:35 +00:00
prerender-invalid-paths Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
prerender-legacy BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
prerender-no-revalidate BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
prerender-preview Remove leftover server.js files in test suite (#45408) 2023-02-01 10:00:52 +00:00
prerender-revalidate Add cache-control header on 304 response (#50408) 2023-05-28 12:44:11 +00:00
preview-fallback BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
production File Reader Improvements (#54645) 2023-08-28 18:09:56 +00:00
production-browser-sourcemaps File Reader Improvements (#54645) 2023-08-28 18:09:56 +00:00
production-build-dir Merge app renderer process (#54143) 2023-08-22 14:38:42 +02:00
production-config Add process env NEXT_RUNTIME (#36383) 2022-04-26 17:54:28 +00:00
production-nav BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
production-start-no-build Revert "Revert "Separate routing code from render servers (#52492)"" (#53029) 2023-07-21 14:02:52 -07:00
project-dir-delete Consolidate Server and Routing process into one process (#53523) 2023-08-08 16:06:32 +02:00
query-with-encoding BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
re-export-all-exports-from-page-disallowed Move swcMinify out of experimental (#29810) 2021-10-25 13:49:11 +02:00
react-18 Update swc_core to v0.82.11 (#54653) 2023-09-01 15:35:04 +02:00
react-profiling-mode Support react profiling option for app dir client components (#51947) 2023-06-29 00:00:11 +00:00
react-streaming Remove experimental config from create-next-app (#49241) 2023-05-05 00:22:28 -07:00
read-only-source-hmr Don't require source files to be writeable in dev mode (#30758) 2021-11-02 19:48:23 +00:00
relay-analytics Add new build and test workflow (#50436) 2023-05-27 21:02:31 -07:00
relay-analytics-disabled Update naming for Next.js Analytics (#48618) 2023-04-24 12:14:45 +02:00
relay-graphql-swc-multi-project Update default moduleResolution in tsconfig.json from node to bundler (#51957) 2023-07-18 15:11:09 +00:00
relay-graphql-swc-single-project Update default moduleResolution in tsconfig.json from node to bundler (#51957) 2023-07-18 15:11:09 +00:00
render-error-on-module-error Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
render-error-on-top-level-error Call Error.getInitialProps for the top level error (#21240) 2022-07-06 13:44:15 -05:00
repeated-slashes [chore] Upgrade playwright to 1.35.1 (#53875) 2023-08-11 23:25:01 +00:00
required-server-files-ssr-404 Consolidate Server and Routing process into one process (#53523) 2023-08-08 16:06:32 +02:00
revalidate-as-path Remove leftover server.js files in test suite (#45408) 2023-02-01 10:00:52 +00:00
rewrite-with-browser-history BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
rewrites-client-resolving BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
rewrites-destination-query-array Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
rewrites-has-condition BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
rewrites-manual-href-as Fix as option with optional catch all routes url object syntax (#42355) 2022-11-09 20:48:38 -08:00
root-optional-revalidate Remove leftover server.js files in test suite (#45408) 2023-02-01 10:00:52 +00:00
route-index Escape string when converting to regexp (#31791) 2021-11-30 19:15:13 +00:00
route-indexes Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
route-load-cancel BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
route-load-cancel-css BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
router-hash-navigation BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
router-is-ready Enable SWC by default when there is no custom Babel config (#29811) 2021-10-23 10:21:44 +02:00
router-is-ready-app-gip Enable SWC by default when there is no custom Babel config (#29811) 2021-10-23 10:21:44 +02:00
router-prefetch Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
router-rerender Add state comparison to router (#38422) 2022-07-25 15:25:56 +00:00
script-loader Setting up third-parties package (#51194) 2023-07-18 10:52:39 -07:00
scroll-back-restoration BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
scroll-forward-restoration BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
scss/test Break up large test suites (#50458) 2023-05-28 13:59:41 -07:00
scss-fixtures feat(cli): introduce --tailwind flag (#46927) 2023-03-16 16:06:27 +01:00
scss-modules/test Update checksum algorithm to SHA1 (#52102) 2023-07-06 08:50:51 +00:00
server-asset-modules BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
server-side-dev-errors Don't convert error to string (#36804) 2022-05-11 17:02:15 +00:00
src-dir-support BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
src-dir-support-double-dir BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
ssg-data-404 Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
ssg-dynamic-routes-404-page BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
static-404 BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
static-page-name BREAKING CHANGE: Remove target: serverless (#41495) 2022-10-18 09:47:13 -07:00
styled-jsx-plugin Move swcMinify out of experimental (#29810) 2021-10-25 13:49:11 +02:00
telemetry Default app router not found (#54199) 2023-08-28 22:09:16 +00:00
trailing-slash-dist Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
trailing-slashes BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
trailing-slashes-href-resolving BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
trailing-slashes-rewrite Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
tsconfig-verifier fix: don't add forceConsistentCasingInFileNames to tsconfig when ts version >= 5.0 (#51564) 2023-08-15 19:12:40 +00:00
turbopack-unsupported-log use env var to switch next.js to turbopack mode (#51353) 2023-06-21 13:52:14 +00:00
turbotrace-with-webpack-worker Add top-level trace include/exclude config (#44605) 2023-02-14 12:09:47 -08:00
typeof-window-replace Enable SWC by default when there is no custom Babel config (#29811) 2021-10-23 10:21:44 +02:00
typescript Update default moduleResolution in tsconfig.json from node to bundler (#51957) 2023-07-18 15:11:09 +00:00
typescript-app-type-declarations Update default moduleResolution in tsconfig.json from node to bundler (#51957) 2023-07-18 15:11:09 +00:00
typescript-baseurl Update default moduleResolution in tsconfig.json from node to bundler (#51957) 2023-07-18 15:11:09 +00:00
typescript-custom-tsconfig Update default moduleResolution in tsconfig.json from node to bundler (#51957) 2023-07-18 15:11:09 +00:00
typescript-external-dir Update default moduleResolution in tsconfig.json from node to bundler (#51957) 2023-07-18 15:11:09 +00:00
typescript-filtered-files Update default moduleResolution in tsconfig.json from node to bundler (#51957) 2023-07-18 15:11:09 +00:00
typescript-hmr Update default moduleResolution in tsconfig.json from node to bundler (#51957) 2023-07-18 15:11:09 +00:00
typescript-ignore-errors Update default moduleResolution in tsconfig.json from node to bundler (#51957) 2023-07-18 15:11:09 +00:00
typescript-only-remove-type-imports Update default moduleResolution in tsconfig.json from node to bundler (#51957) 2023-07-18 15:11:09 +00:00
typescript-paths Update default moduleResolution in tsconfig.json from node to bundler (#51957) 2023-07-18 15:11:09 +00:00
typescript-workspaces-paths Update default moduleResolution in tsconfig.json from node to bundler (#51957) 2023-07-18 15:11:09 +00:00
undefined-webpack-config Redesign nextjs logging (#54713) 2023-09-05 11:40:00 +00:00
url add support for new URL() (#28940) 2021-09-17 19:20:09 +00:00
url-imports test, fix and document all possible import types for URL imports (#30165) 2021-10-25 01:54:16 +02:00
webpack-config-extensionalias Fix invalid source maps from terser-webpack-plugin (#45423) 2023-01-30 17:31:33 -08:00
webpack-config-mainjs Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
webpack-require-hook Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
with-electron BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
with-router Correct build workers perf issue (#51271) 2023-06-13 23:23:50 -07:00
worker-webpack5 Update test set-up to leverage playwright when able to (#28634) 2021-09-13 14:36:25 +02:00
test-file.txt Add additional file serving tests (#12479) 2020-05-04 11:58:19 -05:00