Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pick esm main fields and condition names first for RSC server layer #50548

Merged
merged 12 commits into from Jun 8, 2023

Conversation

huozhi
Copy link
Member

@huozhi huozhi commented May 30, 2023

For RSC server layer so far we bundle all dependencies, ESM format is the better one rather than CJS to analyze and tree-shake out the unused parts. This PR changes pick the condition names that are in ESM format first for server layer.

Also fixes the misorder of condition names of edge runtime, conditionNames should only contain either ESM or CJS, previously the main fields are mixed with conditon names which is not expected for webpack, we separate them now.

Since we're picking ESM instead CJS now, the error of require exports * from doesn't exist anymore, but if you're using a CJS dependency which require a ESM package, it will error. This is the existing behavior for our webpack configuration but could happen on server layer bundling

Other related changes:

  • Imports are hoisted in ESM, so migrateenhanceGlobals to a imported module
  • Use ... to pick the proper imports by import expression, and prefer the react-server / edge-light condition names for corresponding cases
  • Remove edge SSR duplicated middleware export checking

@ijjk
Copy link
Member

ijjk commented May 30, 2023

Failing test suites

Commit: 4101e10

pnpm testheadless test/development/correct-tsconfig-defaults/index.test.ts

  • correct tsconfig.json defaults > should add moduleResolution when generating tsconfig.json in dev
Expand output

● correct tsconfig.json defaults › should add moduleResolution when generating tsconfig.json in dev

SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)

  35 |       }, 'success')
  36 |
> 37 |       const tsconfig = JSON.parse(await next.readFile('tsconfig.json'))
     |                             ^
  38 |       expect(next.cliOutput).not.toContain('moduleResolution')
  39 |
  40 |       expect(tsconfig.compilerOptions).toEqual(

  at Object.<anonymous> (development/correct-tsconfig-defaults/index.test.ts:37:29)

Read more about building and testing Next.js in contributing.md.

pnpm testheadless test/integration/edge-runtime-module-errors/test/index.test.js

  • Edge runtime code with imports > Edge API dynamically importing node.js module > throws unsupported module error in dev at runtime and highlights the faulty line
  • Edge runtime code with imports > Edge API dynamically importing node.js module in a lib > throws unsupported module error in dev at runtime and highlights the faulty line
  • Edge runtime code with imports > Middleware dynamically importing node.js module > throws unsupported module error in dev at runtime and highlights the faulty line
  • Edge runtime code with imports > Middleware dynamically importing node.js module in a lib > throws unsupported module error in dev at runtime and highlights the faulty line
Expand output

● Edge runtime code with imports › Edge API dynamically importing node.js module › throws unsupported module error in dev at runtime and highlights the faulty line

TIMED OUT: success

undefined

TypeError: body used already for: http://localhost:36635/api/route

  569 |
  570 |   if (hardError) {
> 571 |     throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |           ^
  572 |   }
  573 |   return false
  574 | }

  at check (lib/next-test-utils.js:571:11)
  at Object.<anonymous> (integration/edge-runtime-module-errors/test/index.test.js:89:7)

● Edge runtime code with imports › Middleware dynamically importing node.js module › throws unsupported module error in dev at runtime and highlights the faulty line

TIMED OUT: success

undefined

TypeError: body used already for: http://localhost:37847/

  569 |
  570 |   if (hardError) {
> 571 |     throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |           ^
  572 |   }
  573 |   return false
  574 | }

  at check (lib/next-test-utils.js:571:11)
  at Object.<anonymous> (integration/edge-runtime-module-errors/test/index.test.js:89:7)

● Edge runtime code with imports › Edge API dynamically importing node.js module in a lib › throws unsupported module error in dev at runtime and highlights the faulty line

TIMED OUT: success

undefined

TypeError: body used already for: http://localhost:40141/api/route

  569 |
  570 |   if (hardError) {
> 571 |     throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |           ^
  572 |   }
  573 |   return false
  574 | }

  at check (lib/next-test-utils.js:571:11)
  at Object.<anonymous> (integration/edge-runtime-module-errors/test/index.test.js:165:9)

● Edge runtime code with imports › Middleware dynamically importing node.js module in a lib › throws unsupported module error in dev at runtime and highlights the faulty line

TIMED OUT: success

undefined

TypeError: body used already for: http://localhost:36853/

  569 |
  570 |   if (hardError) {
> 571 |     throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |           ^
  572 |   }
  573 |   return false
  574 | }

  at check (lib/next-test-utils.js:571:11)
  at Object.<anonymous> (integration/edge-runtime-module-errors/test/index.test.js:165:9)

Read more about building and testing Next.js in contributing.md.

@ijjk
Copy link
Member

ijjk commented May 30, 2023

Stats from current PR

Default Build (Decrease detected ✓)
General Overall increase ⚠️
vercel/next.js canary vercel/next.js rsc-esm-first Change
buildDuration 43.3s 44s ⚠️ +766ms
buildDurationCached 14.3s 14.9s ⚠️ +621ms
nodeModulesSize 133 MB 133 MB ⚠️ +66.4 kB
nextStartRea..uration (ms) 515ms 521ms ⚠️ +6ms
Client Bundles (main, webpack) Overall decrease ✓
vercel/next.js canary vercel/next.js rsc-esm-first Change
0d536507-HASH.js gzip 50.5 kB 50.5 kB ⚠️ +1 B
606-HASH.js gzip 24.9 kB 24.9 kB ⚠️ +1 B
9.HASH.js gzip 180 B 181 B ⚠️ +1 B
framework-HASH.js gzip 45.2 kB 45.2 kB
main-app-HASH.js gzip 214 B 210 B -4 B
main-HASH.js gzip 27.7 kB 27.6 kB -25 B
webpack-HASH.js gzip 1.7 kB 1.7 kB
Overall change 150 kB 150 kB -26 B
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js rsc-esm-first Change
polyfills-HASH.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages Overall decrease ✓
vercel/next.js canary vercel/next.js rsc-esm-first Change
_app-HASH.js gzip 195 B 194 B -1 B
_error-HASH.js gzip 182 B 182 B
amp-HASH.js gzip 504 B 507 B ⚠️ +3 B
css-HASH.js gzip 320 B 321 B ⚠️ +1 B
dynamic-HASH.js gzip 1.82 kB 1.82 kB -1 B
edge-ssr-HASH.js gzip 256 B 255 B -1 B
head-HASH.js gzip 350 B 351 B ⚠️ +1 B
hooks-HASH.js gzip 369 B 368 B -1 B
image-HASH.js gzip 3.83 kB 3.83 kB -1 B
index-HASH.js gzip 256 B 256 B
link-HASH.js gzip 2.61 kB 2.61 kB -2 B
routerDirect..HASH.js gzip 311 B 311 B
script-HASH.js gzip 385 B 385 B
withRouter-HASH.js gzip 309 B 307 B -2 B
85e02e95b279..7e3.css gzip 107 B 107 B
Overall change 11.8 kB 11.8 kB -4 B
Client Build Manifests Overall increase ⚠️
vercel/next.js canary vercel/next.js rsc-esm-first Change
_buildManifest.js gzip 483 B 484 B ⚠️ +1 B
Overall change 483 B 484 B ⚠️ +1 B
Rendered Page Sizes Overall increase ⚠️
vercel/next.js canary vercel/next.js rsc-esm-first Change
index.html gzip 513 B 513 B
link.html gzip 525 B 528 B ⚠️ +3 B
withRouter.html gzip 507 B 506 B -1 B
Overall change 1.54 kB 1.55 kB ⚠️ +2 B
Edge SSR bundle Size Overall decrease ✓
vercel/next.js canary vercel/next.js rsc-esm-first Change
edge-ssr.js gzip 88.5 kB 88.5 kB ⚠️ +2 B
page.js gzip 144 kB 144 kB -23 B
Overall change 233 kB 233 kB -21 B
Middleware size Overall decrease ✓
vercel/next.js canary vercel/next.js rsc-esm-first Change
middleware-b..fest.js gzip 626 B 625 B -1 B
middleware-r..fest.js gzip 144 B 145 B ⚠️ +1 B
middleware.js gzip 16.5 kB 16.4 kB -124 B
edge-runtime..pack.js gzip 1.83 kB 1.83 kB
Overall change 19.1 kB 19 kB -124 B

Diffs

Diff for page.js

Diff too large to display

Diff for middleware-b..-manifest.js
@@ -7,96 +7,96 @@ self.__BUILD_MANIFEST = {
     "static/BUILD_ID/_ssgManifest.js",
   ],
   rootMainFiles: [
-    "static/chunks/webpack-aa3032f54a56dedc.js",
-    "static/chunks/0d536507-6a06815f8ff7065f.js",
-    "static/chunks/606-cd502fa9e3839f9c.js",
-    "static/chunks/main-app-115bfd050ef6a2df.js",
+    "static/chunks/webpack-47553a3eb0f031ba.js",
+    "static/chunks/c9a40420-b5d5716af1af5f3f.js",
+    "static/chunks/7-53a5b5f26aedb617.js",
+    "static/chunks/main-app-6ef08f5fb2a157eb.js",
   ],
   pages: {
     "/": [
-      "static/chunks/webpack-aa3032f54a56dedc.js",
+      "static/chunks/webpack-47553a3eb0f031ba.js",
       "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-28f9b907625a7020.js",
-      "static/chunks/pages/index-73e61f551f6942fb.js",
+      "static/chunks/main-d4a7e6d12e2b44d3.js",
+      "static/chunks/pages/index-b27e261de6a98233.js",
     ],
     "/_app": [
-      "static/chunks/webpack-aa3032f54a56dedc.js",
+      "static/chunks/webpack-47553a3eb0f031ba.js",
       "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-28f9b907625a7020.js",
-      "static/chunks/pages/_app-4ce47ffa64d5cee5.js",
+      "static/chunks/main-d4a7e6d12e2b44d3.js",
+      "static/chunks/pages/_app-9b05656d2c01065f.js",
     ],
     "/_error": [
-      "static/chunks/webpack-aa3032f54a56dedc.js",
+      "static/chunks/webpack-47553a3eb0f031ba.js",
       "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-28f9b907625a7020.js",
-      "static/chunks/pages/_error-dc5dba09656e585f.js",
+      "static/chunks/main-d4a7e6d12e2b44d3.js",
+      "static/chunks/pages/_error-07e6ce9646113e18.js",
     ],
     "/amp": [
-      "static/chunks/webpack-aa3032f54a56dedc.js",
+      "static/chunks/webpack-47553a3eb0f031ba.js",
       "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-28f9b907625a7020.js",
-      "static/chunks/pages/amp-adb784fc8419e472.js",
+      "static/chunks/main-d4a7e6d12e2b44d3.js",
+      "static/chunks/pages/amp-5b13834f1a6185c5.js",
     ],
     "/css": [
-      "static/chunks/webpack-aa3032f54a56dedc.js",
+      "static/chunks/webpack-47553a3eb0f031ba.js",
       "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-28f9b907625a7020.js",
+      "static/chunks/main-d4a7e6d12e2b44d3.js",
       "static/css/94fdbc56eafa2039.css",
-      "static/chunks/pages/css-9c2929f80dffa841.js",
+      "static/chunks/pages/css-a954fe90a591d776.js",
     ],
     "/dynamic": [
-      "static/chunks/webpack-aa3032f54a56dedc.js",
+      "static/chunks/webpack-47553a3eb0f031ba.js",
       "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-28f9b907625a7020.js",
-      "static/chunks/pages/dynamic-b04ed3837db75eab.js",
+      "static/chunks/main-d4a7e6d12e2b44d3.js",
+      "static/chunks/pages/dynamic-5ec40dd0bfe5c9fe.js",
     ],
     "/edge-ssr": [
-      "static/chunks/webpack-aa3032f54a56dedc.js",
+      "static/chunks/webpack-47553a3eb0f031ba.js",
       "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-28f9b907625a7020.js",
-      "static/chunks/pages/edge-ssr-f2aa541ccbb5616e.js",
+      "static/chunks/main-d4a7e6d12e2b44d3.js",
+      "static/chunks/pages/edge-ssr-d05e0e6c4b0f8c3c.js",
     ],
     "/head": [
-      "static/chunks/webpack-aa3032f54a56dedc.js",
+      "static/chunks/webpack-47553a3eb0f031ba.js",
       "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-28f9b907625a7020.js",
-      "static/chunks/pages/head-e84a0745b30d7800.js",
+      "static/chunks/main-d4a7e6d12e2b44d3.js",
+      "static/chunks/pages/head-84516712a41e8774.js",
     ],
     "/hooks": [
-      "static/chunks/webpack-aa3032f54a56dedc.js",
+      "static/chunks/webpack-47553a3eb0f031ba.js",
       "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-28f9b907625a7020.js",
-      "static/chunks/pages/hooks-67dc3793196997cf.js",
+      "static/chunks/main-d4a7e6d12e2b44d3.js",
+      "static/chunks/pages/hooks-098f77b3140ecce8.js",
     ],
     "/image": [
-      "static/chunks/webpack-aa3032f54a56dedc.js",
+      "static/chunks/webpack-47553a3eb0f031ba.js",
       "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-28f9b907625a7020.js",
-      "static/chunks/pages/image-d5d3076375c94897.js",
+      "static/chunks/main-d4a7e6d12e2b44d3.js",
+      "static/chunks/pages/image-b01799bff392c04a.js",
     ],
     "/link": [
-      "static/chunks/webpack-aa3032f54a56dedc.js",
+      "static/chunks/webpack-47553a3eb0f031ba.js",
       "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-28f9b907625a7020.js",
-      "static/chunks/pages/link-7bb5ea1a5a178db7.js",
+      "static/chunks/main-d4a7e6d12e2b44d3.js",
+      "static/chunks/pages/link-313bef9650226604.js",
     ],
     "/routerDirect": [
-      "static/chunks/webpack-aa3032f54a56dedc.js",
+      "static/chunks/webpack-47553a3eb0f031ba.js",
       "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-28f9b907625a7020.js",
-      "static/chunks/pages/routerDirect-35dcdb6a65d3b21f.js",
+      "static/chunks/main-d4a7e6d12e2b44d3.js",
+      "static/chunks/pages/routerDirect-a4371e7bca96e027.js",
     ],
     "/script": [
-      "static/chunks/webpack-aa3032f54a56dedc.js",
+      "static/chunks/webpack-47553a3eb0f031ba.js",
       "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-28f9b907625a7020.js",
-      "static/chunks/pages/script-57c7854259c205b6.js",
+      "static/chunks/main-d4a7e6d12e2b44d3.js",
+      "static/chunks/pages/script-eca1edb18604fceb.js",
     ],
     "/withRouter": [
-      "static/chunks/webpack-aa3032f54a56dedc.js",
+      "static/chunks/webpack-47553a3eb0f031ba.js",
       "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-28f9b907625a7020.js",
-      "static/chunks/pages/withRouter-f375949da3842a3a.js",
+      "static/chunks/main-d4a7e6d12e2b44d3.js",
+      "static/chunks/pages/withRouter-05b7dc75b1131bd3.js",
     ],
   },
   ampFirstPages: [],
Diff for middleware-r..-manifest.js
@@ -1,6 +1,6 @@
 self.__REACT_LOADABLE_MANIFEST = {
   "dynamic.js -> ../components/hello": {
-    id: 3009,
-    files: ["static/chunks/9.61b34194ea8a102b.js"],
+    id: 3270,
+    files: ["static/chunks/270.21df5c6d1503180b.js"],
   },
 };
Diff for middleware.js

Diff too large to display

Diff for edge-ssr.js

Diff too large to display

Diff for _buildManifest.js
@@ -1,28 +1,28 @@
 self.__BUILD_MANIFEST = {
   __rewrites: { beforeFiles: [], afterFiles: [], fallback: [] },
-  "/": ["static\u002Fchunks\u002Fpages\u002Findex-73e61f551f6942fb.js"],
-  "/_error": ["static\u002Fchunks\u002Fpages\u002F_error-dc5dba09656e585f.js"],
-  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-adb784fc8419e472.js"],
+  "/": ["static\u002Fchunks\u002Fpages\u002Findex-b27e261de6a98233.js"],
+  "/_error": ["static\u002Fchunks\u002Fpages\u002F_error-07e6ce9646113e18.js"],
+  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-5b13834f1a6185c5.js"],
   "/css": [
     "static\u002Fcss\u002F94fdbc56eafa2039.css",
-    "static\u002Fchunks\u002Fpages\u002Fcss-9c2929f80dffa841.js",
+    "static\u002Fchunks\u002Fpages\u002Fcss-a954fe90a591d776.js",
   ],
   "/dynamic": [
-    "static\u002Fchunks\u002Fpages\u002Fdynamic-b04ed3837db75eab.js",
+    "static\u002Fchunks\u002Fpages\u002Fdynamic-5ec40dd0bfe5c9fe.js",
   ],
   "/edge-ssr": [
-    "static\u002Fchunks\u002Fpages\u002Fedge-ssr-f2aa541ccbb5616e.js",
+    "static\u002Fchunks\u002Fpages\u002Fedge-ssr-d05e0e6c4b0f8c3c.js",
   ],
-  "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-e84a0745b30d7800.js"],
-  "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-67dc3793196997cf.js"],
-  "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-d5d3076375c94897.js"],
-  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-7bb5ea1a5a178db7.js"],
+  "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-84516712a41e8774.js"],
+  "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-098f77b3140ecce8.js"],
+  "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-b01799bff392c04a.js"],
+  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-313bef9650226604.js"],
   "/routerDirect": [
-    "static\u002Fchunks\u002Fpages\u002FrouterDirect-35dcdb6a65d3b21f.js",
+    "static\u002Fchunks\u002Fpages\u002FrouterDirect-a4371e7bca96e027.js",
   ],
-  "/script": ["static\u002Fchunks\u002Fpages\u002Fscript-57c7854259c205b6.js"],
+  "/script": ["static\u002Fchunks\u002Fpages\u002Fscript-eca1edb18604fceb.js"],
   "/withRouter": [
-    "static\u002Fchunks\u002Fpages\u002FwithRouter-f375949da3842a3a.js",
+    "static\u002Fchunks\u002Fpages\u002FwithRouter-05b7dc75b1131bd3.js",
   ],
   sortedPages: [
     "\u002F",
Diff for _app-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [888],
   {
-    /***/ 3115: /***/ function (
+    /***/ 1113: /***/ function (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/_app",
         function () {
-          return __webpack_require__(4943);
+          return __webpack_require__(7174);
         },
       ]);
       if (false) {
@@ -24,7 +24,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 179], function () {
-      return __webpack_exec__(3115), __webpack_exec__(3985);
+      return __webpack_exec__(1113), __webpack_exec__(688);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for _error-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [820],
   {
-    /***/ 5374: /***/ function (
+    /***/ 3363: /***/ function (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/_error",
         function () {
-          return __webpack_require__(8567);
+          return __webpack_require__(9911);
         },
       ]);
       if (false) {
@@ -24,7 +24,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [888, 774, 179], function () {
-      return __webpack_exec__(5374);
+      return __webpack_exec__(3363);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for amp-HASH.js
@@ -1,17 +1,17 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [216],
   {
-    /***/ 8510: /***/ function (
+    /***/ 8753: /***/ function (
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(4660);
+      module.exports = __webpack_require__(4487);
 
       /***/
     },
 
-    /***/ 7010: /***/ function (
+    /***/ 5348: /***/ function (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -19,7 +19,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/amp",
         function () {
-          return __webpack_require__(6624);
+          return __webpack_require__(6539);
         },
       ]);
       if (false) {
@@ -28,7 +28,7 @@
       /***/
     },
 
-    /***/ 4660: /***/ function (module, exports, __webpack_require__) {
+    /***/ 4487: /***/ function (module, exports, __webpack_require__) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -44,8 +44,8 @@
       const _react = /*#__PURE__*/ _interop_require_default._(
         __webpack_require__(959)
       );
-      const _ampcontext = __webpack_require__(382);
-      const _ampmode = __webpack_require__(2961);
+      const _ampcontext = __webpack_require__(2882);
+      const _ampmode = __webpack_require__(7069);
       function useAmp() {
         // Don't assign the context value to a variable to save bytes
         return (0, _ampmode.isInAmpMode)(
@@ -67,7 +67,7 @@
       /***/
     },
 
-    /***/ 6624: /***/ function (
+    /***/ 6539: /***/ function (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -84,7 +84,7 @@
         /* harmony export */
       });
       /* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0__ =
-        __webpack_require__(8510);
+        __webpack_require__(8753);
       /* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_amp__WEBPACK_IMPORTED_MODULE_0__
@@ -108,7 +108,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [888, 774, 179], function () {
-      return __webpack_exec__(7010);
+      return __webpack_exec__(5348);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for css-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [706],
   {
-    /***/ 860: /***/ function (
+    /***/ 6437: /***/ function (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/css",
         function () {
-          return __webpack_require__(1234);
+          return __webpack_require__(8045);
         },
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 1234: /***/ function (
+    /***/ 8045: /***/ function (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -28,7 +28,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(1527);
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(1355);
+        __webpack_require__(1044);
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           _css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -48,7 +48,7 @@
       /***/
     },
 
-    /***/ 1355: /***/ function (module) {
+    /***/ 1044: /***/ function (module) {
       // extracted by mini-css-extract-plugin
       module.exports = { helloWorld: "css_helloWorld__qqNwY" };
 
@@ -61,7 +61,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function () {
-      return __webpack_exec__(860);
+      return __webpack_exec__(6437);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [739],
   {
-    /***/ 3995: /***/ function (
+    /***/ 7753: /***/ function (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/dynamic",
         function () {
-          return __webpack_require__(3660);
+          return __webpack_require__(1802);
         },
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 8988: /***/ function (module, exports, __webpack_require__) {
+    /***/ 2406: /***/ function (module, exports, __webpack_require__) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -45,7 +45,7 @@
         __webpack_require__(959)
       );
       const _loadable = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(3262)
+        __webpack_require__(4114)
       );
       const isServerSide = "object" === "undefined";
       // Normalize loader to return the module as form { default: Component } for `React.lazy`.
@@ -146,7 +146,7 @@
       /***/
     },
 
-    /***/ 1343: /***/ function (
+    /***/ 795: /***/ function (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -173,7 +173,7 @@
       /***/
     },
 
-    /***/ 3262: /***/ function (
+    /***/ 4114: /***/ function (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -215,7 +215,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
       const _react = /*#__PURE__*/ _interop_require_default._(
         __webpack_require__(959)
       );
-      const _loadablecontext = __webpack_require__(1343);
+      const _loadablecontext = __webpack_require__(795);
       function resolve(obj) {
         return obj && obj.default ? obj.default : obj;
       }
@@ -450,7 +450,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
       /***/
     },
 
-    /***/ 3660: /***/ function (
+    /***/ 1802: /***/ function (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -466,7 +466,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(1527);
       /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(6113);
+        __webpack_require__(2677);
       /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -475,11 +475,11 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
       const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
         () =>
           __webpack_require__
-            .e(/* import() */ 9)
-            .then(__webpack_require__.bind(__webpack_require__, 3009)),
+            .e(/* import() */ 270)
+            .then(__webpack_require__.bind(__webpack_require__, 3270)),
         {
           loadableGenerated: {
-            webpack: () => [/*require.resolve*/ 3009],
+            webpack: () => [/*require.resolve*/ 3270],
           },
         }
       );
@@ -506,12 +506,12 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
       /***/
     },
 
-    /***/ 6113: /***/ function (
+    /***/ 2677: /***/ function (
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(8988);
+      module.exports = __webpack_require__(2406);
 
       /***/
     },
@@ -522,7 +522,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function () {
-      return __webpack_exec__(3995);
+      return __webpack_exec__(7753);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for edge-ssr-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [800],
   {
-    /***/ 6219: /***/ function (
+    /***/ 6027: /***/ function (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/edge-ssr",
         function () {
-          return __webpack_require__(3114);
+          return __webpack_require__(7338);
         },
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 3114: /***/ function (
+    /***/ 7338: /***/ function (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -48,7 +48,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [888, 774, 179], function () {
-      return __webpack_exec__(6219);
+      return __webpack_exec__(6027);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for head-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [645],
   {
-    /***/ 2899: /***/ function (
+    /***/ 6955: /***/ function (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/head",
         function () {
-          return __webpack_require__(6279);
+          return __webpack_require__(9343);
         },
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 6279: /***/ function (
+    /***/ 9343: /***/ function (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -34,7 +34,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(1527);
       /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(8412);
+        __webpack_require__(9046);
       /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_head__WEBPACK_IMPORTED_MODULE_1__
@@ -68,12 +68,12 @@
       /***/
     },
 
-    /***/ 8412: /***/ function (
+    /***/ 9046: /***/ function (
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(7305);
+      module.exports = __webpack_require__(3590);
 
       /***/
     },
@@ -84,7 +84,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function () {
-      return __webpack_exec__(2899);
+      return __webpack_exec__(6955);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for hooks-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [757],
   {
-    /***/ 2304: /***/ function (
+    /***/ 7819: /***/ function (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/hooks",
         function () {
-          return __webpack_require__(8313);
+          return __webpack_require__(1780);
         },
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 8313: /***/ function (
+    /***/ 1780: /***/ function (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -79,7 +79,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function () {
-      return __webpack_exec__(2304);
+      return __webpack_exec__(7819);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for image-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [358],
   {
-    /***/ 5885: /***/ function (
+    /***/ 801: /***/ function (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/image",
         function () {
-          return __webpack_require__(8931);
+          return __webpack_require__(974);
         },
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 3655: /***/ function (module, exports, __webpack_require__) {
+    /***/ 997: /***/ function (module, exports, __webpack_require__) {
       "use strict";
       /* __next_internal_client_entry_do_not_use__  cjs */
       Object.defineProperty(exports, "__esModule", {
@@ -36,14 +36,14 @@
         __webpack_require__(959)
       );
       const _head = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(7305)
+        __webpack_require__(3590)
       );
-      const _imageblursvg = __webpack_require__(8700);
-      const _imageconfig = __webpack_require__(2975);
-      const _imageconfigcontext = __webpack_require__(8415);
-      const _warnonce = __webpack_require__(717);
+      const _imageblursvg = __webpack_require__(2185);
+      const _imageconfig = __webpack_require__(4115);
+      const _imageconfigcontext = __webpack_require__(2111);
+      const _warnonce = __webpack_require__(6941);
       const _imageloader = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(2019)
+        __webpack_require__(3719)
       );
       const configEnv = {
         deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
@@ -669,7 +669,7 @@
       /***/
     },
 
-    /***/ 8700: /***/ function (__unused_webpack_module, exports) {
+    /***/ 2185: /***/ function (__unused_webpack_module, exports) {
       "use strict";
       /**
        * A shared function, used on both client and server, to generate a SVG blur placeholder.
@@ -731,7 +731,7 @@
       /***/
     },
 
-    /***/ 2019: /***/ function (__unused_webpack_module, exports) {
+    /***/ 3719: /***/ function (__unused_webpack_module, exports) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -766,7 +766,7 @@
       /***/
     },
 
-    /***/ 8931: /***/ function (
+    /***/ 974: /***/ function (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -787,8 +787,8 @@
 
       // EXTERNAL MODULE: ./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js
       var jsx_runtime = __webpack_require__(1527);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/image.js
-      var next_image = __webpack_require__(3960);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/image.js
+      var next_image = __webpack_require__(8249);
       var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // CONCATENATED MODULE: ./pages/nextjs.png
       /* harmony default export */ var nextjs = {
         src: "/_next/static/media/nextjs.cae0b805.png",
@@ -818,12 +818,12 @@
       /***/
     },
 
-    /***/ 3960: /***/ function (
+    /***/ 8249: /***/ function (
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(3655);
+      module.exports = __webpack_require__(997);
 
       /***/
     },
@@ -834,7 +834,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function () {
-      return __webpack_exec__(5885);
+      return __webpack_exec__(801);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for index-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [405],
   {
-    /***/ 3558: /***/ function (
+    /***/ 6481: /***/ function (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/",
         function () {
-          return __webpack_require__(5241);
+          return __webpack_require__(853);
         },
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 5241: /***/ function (
+    /***/ 853: /***/ function (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -44,7 +44,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [888, 774, 179], function () {
-      return __webpack_exec__(3558);
+      return __webpack_exec__(6481);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [644],
   {
-    /***/ 8662: /***/ function (
+    /***/ 7014: /***/ function (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/link",
         function () {
-          return __webpack_require__(1488);
+          return __webpack_require__(1509);
         },
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 6994: /***/ function (module, exports) {
+    /***/ 7191: /***/ function (module, exports) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -86,7 +86,7 @@
       /***/
     },
 
-    /***/ 1310: /***/ function (module, exports) {
+    /***/ 5578: /***/ function (module, exports) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -121,7 +121,7 @@
       /***/
     },
 
-    /***/ 9213: /***/ function (module, exports, __webpack_require__) {
+    /***/ 3416: /***/ function (module, exports, __webpack_require__) {
       "use strict";
       /* __next_internal_client_entry_do_not_use__  cjs */
       Object.defineProperty(exports, "__esModule", {
@@ -137,17 +137,17 @@
       const _react = /*#__PURE__*/ _interop_require_default._(
         __webpack_require__(959)
       );
-      const _resolvehref = __webpack_require__(5453);
-      const _islocalurl = __webpack_require__(8293);
-      const _formaturl = __webpack_require__(9064);
-      const _utils = __webpack_require__(800);
-      const _addlocale = __webpack_require__(2621);
-      const _routercontext = __webpack_require__(3490);
-      const _approutercontext = __webpack_require__(4822);
-      const _useintersection = __webpack_require__(3261);
-      const _getdomainlocale = __webpack_require__(1310);
-      const _addbasepath = __webpack_require__(9747);
-      const _routerreducertypes = __webpack_require__(6994);
+      const _resolvehref = __webpack_require__(6336);
+      const _islocalurl = __webpack_require__(1087);
+      const _formaturl = __webpack_require__(4574);
+      const _utils = __webpack_require__(161);
+      const _addlocale = __webpack_require__(3144);
+      const _routercontext = __webpack_require__(5113);
+      const _approutercontext = __webpack_require__(8585);
+      const _useintersection = __webpack_require__(3922);
+      const _getdomainlocale = __webpack_require__(5578);
+      const _addbasepath = __webpack_require__(6376);
+      const _routerreducertypes = __webpack_require__(7191);
       const prefetched = new Set();
       function prefetch(router, href, as, options, appOptions, isAppRouter) {
         if (false) {
@@ -561,7 +561,7 @@
       /***/
     },
 
-    /***/ 3261: /***/ function (module, exports, __webpack_require__) {
+    /***/ 3922: /***/ function (module, exports, __webpack_require__) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -574,7 +574,7 @@
         },
       });
       const _react = __webpack_require__(959);
-      const _requestidlecallback = __webpack_require__(9839);
+      const _requestidlecallback = __webpack_require__(4124);
       const hasIntersectionObserver =
         typeof IntersectionObserver === "function";
       const observers = new Map();
@@ -687,7 +687,7 @@
       /***/
     },
 
-    /***/ 1488: /***/ function (
+    /***/ 1509: /***/ function (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -703,7 +703,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(1527);
       /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(4595);
+        __webpack_require__(9495);
       /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_link__WEBPACK_IMPORTED_MODULE_1__
@@ -734,12 +734,12 @@
       /***/
     },
 
-    /***/ 4595: /***/ function (
+    /***/ 9495: /***/ function (
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(9213);
+      module.exports = __webpack_require__(3416);
 
       /***/
     },
@@ -750,7 +750,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function () {
-      return __webpack_exec__(8662);
+      return __webpack_exec__(7014);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for routerDirect-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [58],
   {
-    /***/ 2188: /***/ function (
+    /***/ 7288: /***/ function (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/routerDirect",
         function () {
-          return __webpack_require__(3961);
+          return __webpack_require__(9003);
         },
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 3961: /***/ function (
+    /***/ 9003: /***/ function (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -34,7 +34,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(1527);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(5866);
+        __webpack_require__(5664);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -54,12 +54,12 @@
       /***/
     },
 
-    /***/ 5866: /***/ function (
+    /***/ 5664: /***/ function (
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(3985);
+      module.exports = __webpack_require__(688);
 
       /***/
     },
@@ -70,7 +70,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function () {
-      return __webpack_exec__(2188);
+      return __webpack_exec__(7288);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [797],
   {
-    /***/ 1136: /***/ function (
+    /***/ 6695: /***/ function (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/script",
         function () {
-          return __webpack_require__(8563);
+          return __webpack_require__(8113);
         },
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 8563: /***/ function (
+    /***/ 8113: /***/ function (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -34,7 +34,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(1527);
       /* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(9096);
+        __webpack_require__(6071);
       /* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -67,12 +67,12 @@
       /***/
     },
 
-    /***/ 9096: /***/ function (
+    /***/ 6071: /***/ function (
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(3507);
+      module.exports = __webpack_require__(4821);
 
       /***/
     },
@@ -83,7 +83,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function () {
-      return __webpack_exec__(1136);
+      return __webpack_exec__(6695);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for withRouter-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [807],
   {
-    /***/ 3551: /***/ function (
+    /***/ 8118: /***/ function (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/withRouter",
         function () {
-          return __webpack_require__(4094);
+          return __webpack_require__(991);
         },
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 4094: /***/ function (
+    /***/ 991: /***/ function (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -34,7 +34,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(1527);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(5866);
+        __webpack_require__(5664);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -53,12 +53,12 @@
       /***/
     },
 
-    /***/ 5866: /***/ function (
+    /***/ 5664: /***/ function (
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(3985);
+      module.exports = __webpack_require__(688);
 
       /***/
     },
@@ -69,7 +69,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function () {
-      return __webpack_exec__(3551);
+      return __webpack_exec__(8118);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for 0d536507-HASH.js
@@ -1,8 +1,8 @@
 "use strict";
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
-  [926],
+  [583],
   {
-    /***/ 6392: /***/ function (
+    /***/ 8814: /***/ function (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -19,8 +19,8 @@
       /*
  Modernizr 3.0.0pre (Custom Build) | MIT
 */
-      var aa = __webpack_require__(6736),
-        ba = __webpack_require__(2100),
+      var aa = __webpack_require__(8510),
+        ba = __webpack_require__(4380),
         da = {
           usingClientEntryPoint: !1,
           Events: null,
Diff for 606-HASH.js

Diff too large to display

Diff for 9.HASH.js
@@ -1,8 +1,8 @@
 "use strict";
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
-  [9],
+  [270],
   {
-    /***/ 3009: /***/ function (
+    /***/ 3270: /***/ function (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
Diff for page-591b4a5f5ff70b6e.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [760, 185, 952],
   {
-    /***/ 8372: /***/ function () {
+    /***/ 7746: /***/ function () {
       /***/
     },
   },
@@ -10,8 +10,8 @@
     /******/ var __webpack_exec__ = function (moduleId) {
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
-    /******/ __webpack_require__.O(0, [926, 606, 744], function () {
-      return __webpack_exec__(8372);
+    /******/ __webpack_require__.O(0, [583, 7, 744], function () {
+      return __webpack_exec__(7746);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for page-79b073f4a88c03a3.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [952, 185, 760],
   {
-    /***/ 8372: /***/ function () {
+    /***/ 7746: /***/ function () {
       /***/
     },
   },
@@ -10,8 +10,8 @@
     /******/ var __webpack_exec__ = function (moduleId) {
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
-    /******/ __webpack_require__.O(0, [926, 606, 744], function () {
-      return __webpack_exec__(8372);
+    /******/ __webpack_require__.O(0, [583, 7, 744], function () {
+      return __webpack_exec__(7746);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for layout-c7485..505ed50ea.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [185, 952, 760],
   {
-    /***/ 8372: /***/ function () {
+    /***/ 7746: /***/ function () {
       /***/
     },
   },
@@ -10,8 +10,8 @@
     /******/ var __webpack_exec__ = function (moduleId) {
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
-    /******/ __webpack_require__.O(0, [926, 606, 744], function () {
-      return __webpack_exec__(8372);
+    /******/ __webpack_require__.O(0, [583, 7, 744], function () {
+      return __webpack_exec__(7746);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for main-HASH.js

Diff too large to display

Diff for main-app-HASH.js
@@ -1,25 +1,25 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [744],
   {
-    /***/ 3629: /***/ function (
+    /***/ 2992: /***/ function (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 7658, 23)
+        __webpack_require__.t.bind(__webpack_require__, 3518, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 7466, 23)
+        __webpack_require__.t.bind(__webpack_require__, 9269, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 8119, 23)
+        __webpack_require__.t.bind(__webpack_require__, 8612, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 4656, 23)
+        __webpack_require__.t.bind(__webpack_require__, 249, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 4417, 23)
+        __webpack_require__.t.bind(__webpack_require__, 432, 23)
       );
 
       /***/
@@ -30,8 +30,8 @@
     /******/ var __webpack_exec__ = function (moduleId) {
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
-    /******/ __webpack_require__.O(0, [926, 606], function () {
-      return __webpack_exec__(3414), __webpack_exec__(3629);
+    /******/ __webpack_require__.O(0, [583, 7], function () {
+      return __webpack_exec__(8078), __webpack_exec__(2992);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for webpack-HASH.js
@@ -219,7 +219,7 @@
     /******/ __webpack_require__.u = function (chunkId) {
       /******/ // return url for filenames based on template
       /******/ return (
-        "static/chunks/" + chunkId + "." + "61b34194ea8a102b" + ".js"
+        "static/chunks/" + chunkId + "." + "21df5c6d1503180b" + ".js"
       );
       /******/
     };
Diff for index.html
@@ -11,7 +11,7 @@
       src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-aa3032f54a56dedc.js"
+      src="/_next/static/chunks/webpack-47553a3eb0f031ba.js"
       defer=""
     ></script>
     <script
@@ -19,15 +19,15 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-28f9b907625a7020.js"
+      src="/_next/static/chunks/main-d4a7e6d12e2b44d3.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-4ce47ffa64d5cee5.js"
+      src="/_next/static/chunks/pages/_app-9b05656d2c01065f.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/index-73e61f551f6942fb.js"
+      src="/_next/static/chunks/pages/index-b27e261de6a98233.js"
       defer=""
     ></script>
     <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
Diff for link.html
@@ -11,7 +11,7 @@
       src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-aa3032f54a56dedc.js"
+      src="/_next/static/chunks/webpack-47553a3eb0f031ba.js"
       defer=""
     ></script>
     <script
@@ -19,15 +19,15 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-28f9b907625a7020.js"
+      src="/_next/static/chunks/main-d4a7e6d12e2b44d3.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-4ce47ffa64d5cee5.js"
+      src="/_next/static/chunks/pages/_app-9b05656d2c01065f.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/link-7bb5ea1a5a178db7.js"
+      src="/_next/static/chunks/pages/link-313bef9650226604.js"
       defer=""
     ></script>
     <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
Diff for withRouter.html
@@ -11,7 +11,7 @@
       src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-aa3032f54a56dedc.js"
+      src="/_next/static/chunks/webpack-47553a3eb0f031ba.js"
       defer=""
     ></script>
     <script
@@ -19,15 +19,15 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-28f9b907625a7020.js"
+      src="/_next/static/chunks/main-d4a7e6d12e2b44d3.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-4ce47ffa64d5cee5.js"
+      src="/_next/static/chunks/pages/_app-9b05656d2c01065f.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/withRouter-f375949da3842a3a.js"
+      src="/_next/static/chunks/pages/withRouter-05b7dc75b1131bd3.js"
       defer=""
     ></script>
     <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
Commit: 0b5d5b8

@huozhi huozhi marked this pull request as ready for review May 30, 2023 22:40
packages/next/src/build/webpack-config.ts Outdated Show resolved Hide resolved
packages/next/src/build/webpack-config.ts Outdated Show resolved Hide resolved
packages/next/src/build/webpack-config.ts Outdated Show resolved Hide resolved
jridgewell
jridgewell previously approved these changes May 31, 2023
@huozhi huozhi requested a review from jridgewell June 7, 2023 22:41
@kodiakhq kodiakhq bot merged commit a035224 into canary Jun 8, 2023
29 checks passed
@kodiakhq kodiakhq bot deleted the rsc-esm-first branch June 8, 2023 16:24
kodiakhq bot pushed a commit that referenced this pull request Jun 9, 2023
We need to spread the module into an object instead of access the module exports that could not exist, to avoid triggering the warning. Fix the bad loader change introduced in #50548 

```
Attempted import error: './middleware.js' does not contain a default export (imported as '
mod').
- info Using locally built binary of @next/swc
- warn You are using an experimental edge runtime, the API might change.
- wait compiling...
- warn ../../../../packages/next/dist/build/webpack/loaders/next-middleware-loader.js?abso
lutePagePath=%2FUsers%2Fhuozhi%2Fworkspace%2Fnext.js%2Ftest%2Fe2e%2Fapp-dir%2Fapp%2Fmiddle
ware.js&page=%2Fmiddleware&rootDir=%2FUsers%2Fhuozhi%2Fworkspace%2Fnext.js%2Ftest%2Fe2e%2F
app-dir%2Fapp&matchers=!
Attempted import error: './middleware.js' does not contain a default export (imported as '
mod').
- wait compiling...
```
kodiakhq bot pushed a commit that referenced this pull request Jun 12, 2023
Follow up for #50548 

There're some packages like `aws-sdk-js-v3` which doesn't have a exports field yet: 

```
  "main": "./dist-cjs/index.js",
  "types": "./dist-types/index.d.ts",
  "module": "./dist-es/index.js",
 ```
 
 This PR let u pick up by the js assets based on main fields, will prefer `"module"` field instead of `"main"`
 
 Closes NEXT-1286
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jul 9, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants