rsnext/test/e2e
Jiachi Liu d6d6d56133
Remove client only dynamic chunks from edge bundle (#56761)
### Issue

In the client components world, when you're using `next/dynamic` with `ssr: false` to split chunks in pages of edge runtime, you could get the dynamic imported module still bundled in the server bundle for edge runtime. This could easily hit the bundle limit on edge runtime if you're loading a large size of non-SSR module.

This is caused by the whole chunk is still being included when we're creating the client entry. Since the client entry is imported eagerily, webpack will bundle all the modules under it, unless it's explicitly marked not being included.

### Fix

For client components, SSR rendering layer of bundle, non-SSR `next/dynamic` calls, we're transform the result of `dynamic()` call from to conditional import the dynamic loaded module.

From
```js
dynamic(() => import(...))
```
To
```js
dynamic(() => {
  require.resolveWeak(...)
}, { ssr: false })
```

This will only be applied to SSR layer bundle client components non-SSR `next/dynamic` calls and only when webpack is bundling since turbopack doesn't need this. In this way, the server side will be stripped but it can still enter the module graph since we need to traverse if there's SA in client modules with using webpack API `require.resolveWeak`. And for client side bundle will still include the actual module.

Close NEXT-1703
2023-11-16 15:10:28 +00:00
..
404-page-router Improve performance of String.prototype.split uses (#56746) 2023-10-19 00:25:15 +00:00
app-dir Remove client only dynamic chunks from edge bundle (#56761) 2023-11-16 15:10:28 +00:00
app-dir-legacy-edge-runtime-config fix(DX): More precise error messages for export const config deprecation (#54492) 2023-08-25 16:25:15 +00:00
basepath Add initial separated route resolving (#47208) 2023-04-02 15:17:15 +02:00
browserslist Remove experimental.legacyBrowsers as it is stable (#54718) 2023-08-29 22:31:06 +02:00
browserslist-extends
cancel-request Try to fix flakey socket hang up failures in stream cancel tests (#53318) 2023-07-28 22:59:24 +00:00
children-page fix: pages not visible in dev when named children (#54007) 2023-08-15 03:50:37 +00:00
config-promise-export
config-schema-check Polish compiling and turbopack logging (#57270) 2023-10-23 19:28:36 +00:00
conflicting-app-page-error Hot reload when conflicted pages detected and when conflicts are resolved (#51516) 2023-06-22 22:32:14 +00:00
custom-app-render Redesign nextjs logging (#54713) 2023-09-05 11:40:00 +00:00
disable-js-preload Enable App Router for all applications (#49088) 2023-05-04 17:47:10 +02:00
dynamic-route-interpolation fix: support both decoded and encoded url requests of conventioned files (#56187) 2023-10-03 00:02:49 +02:00
edge-api-endpoints-can-receive-body feat: enables 'edge' as a possible runtime for API routes (#44045) 2022-12-15 10:08:03 +01:00
edge-async-local-storage feat: enables 'edge' as a possible runtime for API routes (#44045) 2022-12-15 10:08:03 +01:00
edge-can-read-request-body chore: drop form-data (#57141) 2023-10-20 19:25:42 +00:00
edge-can-use-wasm-files feat: enables 'edge' as a possible runtime for API routes (#44045) 2022-12-15 10:08:03 +01:00
edge-compiler-can-import-blob-assets feat: drop Node.js 16 (#56896) 2023-10-16 21:41:38 +00:00
edge-compiler-module-exports-preference test(integration): fix --turbo tests fixture setup (#55293) 2023-09-18 17:46:07 +00:00
edge-configurable-runtime Redesign nextjs logging (#54713) 2023-09-05 11:40:00 +00:00
edge-pages-support test: add case for marking _document with edge runtime (#54316) 2023-08-21 20:56:46 +00:00
edge-runtime-uses-edge-light-import-specifier-for-packages test(integration): fix --turbo tests fixture setup (#55293) 2023-09-18 17:46:07 +00:00
favicon-short-circuit Short circut 404's for /favicon.ico in development (#54747) 2023-08-30 16:15:19 +00:00
fetch-failures-have-good-stack-traces-in-edge-runtime Fix fetch stack test on deploy 2023-01-27 18:23:27 -08:00
getserversideprops server: re-land bundled runtimes (#55139) 2023-09-08 16:05:29 +00:00
handle-non-hoisted-swc-helpers Update swc_core to v0.75.23 (#48098) 2023-04-18 08:59:52 +02:00
hello-world Bail out of 404 page when favicon.ico doesn't exist (#50795) 2023-06-06 10:58:40 +02:00
i18n-api-support Enable E2E deploy tests on publish (#37019) 2022-05-21 04:46:16 -05:00
i18n-data-fetching-redirect BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
i18n-data-route Strip internal routing headers (#55114) 2023-09-07 22:08:53 +00:00
i18n-default-locale-redirect Handle defaultLocale on client router filter (#47180) 2023-03-16 11:58:02 -07:00
i18n-disallow-multiple-locales Update failing i18n e2e deploy test (#47462) 2023-03-23 15:53:14 -07:00
i18n-ignore-redirect-source-locale i18n regression tests and docs for ignore locale in rewrite (#37581) 2022-06-10 14:04:31 -05:00
i18n-ignore-rewrite-source-locale Skip i18n-ignore-rewrite-basepath-source irrelevant tests with turbopack (#57295) 2023-10-23 15:01:24 -07:00
ignore-invalid-popstateevent Move core files to src folder and move JS files to TypeScript (#44405) 2023-01-03 10:05:50 +01:00
instrumentation-hook Skip production tests for Turbopack (#56089) 2023-09-27 15:19:42 +02:00
instrumentation-hook-src Skip production tests for Turbopack (#56089) 2023-09-27 15:19:42 +02:00
link-with-api-rewrite BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
manual-client-base-path Update manual basePath with trailingSlash (#51726) 2023-06-23 15:36:16 -07:00
middleware-base-path BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
middleware-custom-matchers Add initial separated route resolving (#47208) 2023-04-02 15:17:15 +02:00
middleware-custom-matchers-basepath Add initial separated route resolving (#47208) 2023-04-02 15:17:15 +02:00
middleware-custom-matchers-i18n Add initial separated route resolving (#47208) 2023-04-02 15:17:15 +02:00
middleware-dynamic-basepath-matcher chore: fix flaky middleware matcher test (#49555) 2023-05-09 22:37:03 +00:00
middleware-fetches-with-any-http-method [middleware] Support any method when fetching a Request instance (#37540) 2022-06-08 11:00:49 +00:00
middleware-fetches-with-body Revert "Revert "Separate routing code from render servers (#52492)"" (#53029) 2023-07-21 14:02:52 -07:00
middleware-general Fix middleware-general test for Turbopack (#56211) 2023-09-29 15:46:14 +00:00
middleware-matcher BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
middleware-redirects Update client router filter to separate redirects handling (#46752) 2023-03-03 16:02:02 -08:00
middleware-request-header-overrides type check tests (and convert next-test-utils.js to ts) (#51071) 2023-06-23 17:42:50 +00:00
middleware-responses Enable allowMiddlewareResponseBody by default (#44224) 2022-12-21 18:40:58 +00:00
middleware-rewrites Improve performance of String.prototype.split uses (#56746) 2023-10-19 00:25:15 +00:00
middleware-shallow-link Update test env variable passing (#44912) 2023-01-15 23:20:16 -08:00
middleware-trailing-slash Allow next/headers in middleware & draftMode in edge runtime (#53465) 2023-08-02 20:22:35 +00:00
module-layer Revert "Apply react-server transform and valication to middleware (#5… (#57504) 2023-10-26 05:29:49 -07:00
multi-zone Redesign nextjs logging (#54713) 2023-09-05 11:40:00 +00:00
new-link-behavior Update default moduleResolution in tsconfig.json from node to bundler (#51957) 2023-07-18 15:11:09 +00:00
next-font type check tests (and convert next-test-utils.js to ts) (#51071) 2023-06-23 17:42:50 +00:00
next-head Ensure tests suites have unique names (#56085) 2023-09-27 13:55:45 +02:00
next-image-forward-ref Add ref forwarding for next/image (#43193) 2022-11-25 15:08:50 +00:00
next-script Skip experimental.nextScriptWorkers test for Turbopack (#56086) 2023-09-27 13:58:11 +02:00
no-eslint-warn-with-no-eslint-config fix: detect ESLint config in package.json (#40158) 2022-09-01 16:23:03 +00:00
nonce-head-manager Ensure tests suites have unique names (#56085) 2023-09-27 13:55:45 +02:00
og-api Remove experimental config from create-next-app (#49241) 2023-05-05 00:22:28 -07:00
opentelemetry OpenTelemetry: propagate a configured context(s) to root requests (#57084) 2023-10-27 14:10:15 -07:00
optimized-loading Enable App Router for all applications (#49088) 2023-05-04 17:47:10 +02:00
pages-performance-mark Fix performance measures crashing the app (#54858) 2023-09-01 14:51:38 +00:00
postcss-config-cjs Fix postcss deploy e2e test (#38782) 2022-07-18 20:21:35 -05:00
prerender chore: show large data warning once per page on prod (#46323) 2023-02-25 12:29:59 -08:00
prerender-native-module
proxy-request-with-middleware Add initial separated route resolving (#47208) 2023-04-02 15:17:15 +02:00
reload-scroll-backforward-restoration BREAKING CHANGE: Enable newNextLinkBehavior (#41459) 2022-10-17 21:20:28 -04:00
repeated-forward-slashes-error Add page path to repeated slashes in href error (#46557) 2023-03-01 00:10:11 -08:00
skip-trailing-slash-redirect Use consistent name for App Router tests (#56352) 2023-10-06 11:06:06 +02:00
socket-io Fix unmatched WebSocket upgrade requests being closed (#57245) 2023-10-23 17:23:34 +00:00
ssr-react-context fix: react dev bundle is picked in prod mode (#39221) 2022-08-01 14:21:42 +00:00
streaming-ssr Remove installCommand on streaming-ssr test (#58037) 2023-11-05 13:30:12 +01:00
styled-jsx test(next-dev): migrate styled-jsx integration test (#55079) 2023-09-07 02:51:20 +00:00
swc-warnings
switchable-runtime Redesign nextjs logging (#54713) 2023-09-05 11:40:00 +00:00
test-template/{{ toFileName name }} Change test template to use TS and improve template for app-dir (#44227) 2023-01-06 20:36:47 +00:00
test-utils-tests/basic Cache package lock when running tests to speed up installation (#44520) 2023-01-03 11:55:28 +01:00
third-parties Adding useGoogleTagManager hook to @next/third-parties (#56106) 2023-10-17 18:04:53 +00:00
trailingslash-with-rewrite fix: properly handle trailingSlash: true and rewrites (#43641) 2022-12-02 22:04:36 -08:00
transpile-packages build: don't error when bundling optional peer deps (#57073) 2023-10-20 00:57:06 +00:00
type-module-interop Update test env variable passing (#44912) 2023-01-15 23:20:16 -08:00
typescript-version-no-warning Bump to typescript@5.1 (#50557) 2023-06-08 17:18:37 +00:00
typescript-version-warning Redesign nextjs logging (#54713) 2023-09-05 11:40:00 +00:00
undici-fetch feat: make enableUndici: true default and remove node-fetch (#49061) 2023-05-02 04:10:59 +00:00
yarn-pnp/test Revert "Implement new forking technique for vendored packages. (#51083)" (#53640) 2023-08-06 13:00:12 -07:00
basepath-trailing-slash.test.ts
basepath.test.ts Update some flakey test cases (#43247) 2022-11-22 09:50:03 -08:00
example-file.txt Update pnpm new-test to use createNextDescribe (#44147) 2022-12-19 20:08:50 +01:00
example.txt Fix test template example (#44170) 2022-12-19 16:31:28 -08:00
prerender-crawler.test.ts
prerender-native-module.test.ts server: re-land bundled runtimes (#55139) 2023-09-08 16:05:29 +00:00
prerender.test.ts server: re-land bundled runtimes (#55139) 2023-09-08 16:05:29 +00:00