Skip to content

Conversation

@huozhi
Copy link
Member

@huozhi huozhi commented Feb 3, 2023

Issue

To address the problem that we introduced in 13.0.7 (#42589) where we thought we could use same implementation next/dynamic for both pages/ and app/ directory. But it turns out it leads to many problems, such as:

Solution

Separate the dynamic implementation for app/ dir and pages/.

For app/ dir we can encourage users to:

  • Directly use React.lazy + Suspense for SSR'd content, and next/dynamic
  • For non SSR components since it requires some internal integeration with next.js.

For pages/ dir we still keep the original implementation

If you want to use <Suspense> with dynamic fallback value, use React.lazy + Suspense directly instead of picking up next/dynamic

This will solve various issue before react 18.3 is out and let users still progressively upgrade to new versions of next.js.

Bug Fix

  • Related issues linked using fixes #number
  • Integration tests added
  • Errors have a helpful link attached, see contributing.md

@ijjk ijjk added created-by: Next.js team PRs by the Next.js team. type: next labels Feb 3, 2023
@ijjk
Copy link
Member

ijjk commented Feb 4, 2023

Stats from current PR

Default Build (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary huozhi/next.js app/separate-dynamic Change
buildDuration 56.3s 55s -1.3s
buildDurationCached 13.2s 14.4s ⚠️ +1.1s
nodeModulesSize 103 MB 103 MB ⚠️ +28.5 kB
nextStartRea..uration (ms) 371ms 367ms -4ms
Client Bundles (main, webpack) Overall increase ⚠️
vercel/next.js canary huozhi/next.js app/separate-dynamic Change
296.HASH.js gzip 181 B 181 B
90-HASH.js gzip 65.4 kB 65.4 kB ⚠️ +37 B
main-app-HASH.js gzip 205 B 204 B -1 B
main-HASH.js gzip 78.9 kB 78.9 kB -2 B
webpack-HASH.js gzip 1.7 kB 1.7 kB
Overall change 146 kB 146 kB ⚠️ +34 B
Legacy Client Bundles (polyfills)
vercel/next.js canary huozhi/next.js app/separate-dynamic Change
polyfills-HASH.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages Overall decrease ✓
vercel/next.js canary huozhi/next.js app/separate-dynamic Change
_app-HASH.js gzip 193 B 192 B -1 B
_error-HASH.js gzip 178 B 179 B ⚠️ +1 B
amp-HASH.js gzip 480 B 483 B ⚠️ +3 B
css-HASH.js gzip 803 B 805 B ⚠️ +2 B
dynamic-HASH.js gzip 2.31 kB 2.27 kB -40 B
edge-ssr-HASH.js gzip 258 B 259 B ⚠️ +1 B
head-HASH.js gzip 827 B 830 B ⚠️ +3 B
hooks-HASH.js gzip 845 B 850 B ⚠️ +5 B
image-HASH.js gzip 4.32 kB 4.32 kB ⚠️ +3 B
index-HASH.js gzip 253 B 254 B ⚠️ +1 B
link-HASH.js gzip 2.71 kB 2.72 kB ⚠️ +4 B
routerDirect..HASH.js gzip 777 B 780 B ⚠️ +3 B
script-HASH.js gzip 853 B 854 B ⚠️ +1 B
withRouter-HASH.js gzip 780 B 776 B -4 B
85e02e95b279..7e3.css gzip 107 B 107 B
Overall change 15.7 kB 15.7 kB -18 B
Client Build Manifests Overall decrease ✓
vercel/next.js canary huozhi/next.js app/separate-dynamic Change
_buildManifest.js gzip 484 B 483 B -1 B
Overall change 484 B 483 B -1 B
Rendered Page Sizes Overall decrease ✓
vercel/next.js canary huozhi/next.js app/separate-dynamic Change
index.html gzip 491 B 490 B -1 B
link.html gzip 506 B 504 B -2 B
withRouter.html gzip 485 B 484 B -1 B
Overall change 1.48 kB 1.48 kB -4 B
Edge SSR bundle Size Overall decrease ✓
vercel/next.js canary huozhi/next.js app/separate-dynamic Change
edge-ssr.js gzip 110 kB 110 kB -38 B
page.js gzip 207 kB 207 kB ⚠️ +20 B
Overall change 317 kB 317 kB -18 B
Middleware size Overall decrease ✓
vercel/next.js canary huozhi/next.js app/separate-dynamic Change
middleware-b..fest.js gzip 587 B 587 B
middleware-r..fest.js gzip 145 B 145 B
middleware.js gzip 27.1 kB 27.1 kB -2 B
edge-runtime..pack.js gzip 1.83 kB 1.83 kB
Overall change 29.7 kB 29.7 kB -2 B

Diffs

Diff for page.js

Diff too large to display

Diff for middleware-b..-manifest.js
@@ -7,81 +7,81 @@ self.__BUILD_MANIFEST = {
     "static/BUILD_ID/_ssgManifest.js"
   ],
   rootMainFiles: [
-    "static/chunks/webpack-cfb71177d5e2315f.js",
-    "static/chunks/90-056e308ee9ceba54.js",
-    "static/chunks/main-app-49af7c64863b8dae.js"
+    "static/chunks/webpack-9e73a8f0275b7b0d.js",
+    "static/chunks/269-109c15a1c3959756.js",
+    "static/chunks/main-app-4b7a9e5ad3763b24.js"
   ],
   pages: {
     "/": [
-      "static/chunks/webpack-cfb71177d5e2315f.js",
-      "static/chunks/main-2a5c184c710918a7.js",
-      "static/chunks/pages/index-ff4a78f0cd6d8604.js"
+      "static/chunks/webpack-9e73a8f0275b7b0d.js",
+      "static/chunks/main-f92c9485fd57fb88.js",
+      "static/chunks/pages/index-452fd3381b081c82.js"
     ],
     "/_app": [
-      "static/chunks/webpack-cfb71177d5e2315f.js",
-      "static/chunks/main-2a5c184c710918a7.js",
-      "static/chunks/pages/_app-522e8366a4f81a86.js"
+      "static/chunks/webpack-9e73a8f0275b7b0d.js",
+      "static/chunks/main-f92c9485fd57fb88.js",
+      "static/chunks/pages/_app-c0c5ef51258aeb67.js"
     ],
     "/_error": [
-      "static/chunks/webpack-cfb71177d5e2315f.js",
-      "static/chunks/main-2a5c184c710918a7.js",
-      "static/chunks/pages/_error-60a86ec4e3f88bfc.js"
+      "static/chunks/webpack-9e73a8f0275b7b0d.js",
+      "static/chunks/main-f92c9485fd57fb88.js",
+      "static/chunks/pages/_error-a97cf465c41b3270.js"
     ],
     "/amp": [
-      "static/chunks/webpack-cfb71177d5e2315f.js",
-      "static/chunks/main-2a5c184c710918a7.js",
-      "static/chunks/pages/amp-88a189216855cd5b.js"
+      "static/chunks/webpack-9e73a8f0275b7b0d.js",
+      "static/chunks/main-f92c9485fd57fb88.js",
+      "static/chunks/pages/amp-64ed516406b3e5b6.js"
     ],
     "/css": [
-      "static/chunks/webpack-cfb71177d5e2315f.js",
-      "static/chunks/main-2a5c184c710918a7.js",
+      "static/chunks/webpack-9e73a8f0275b7b0d.js",
+      "static/chunks/main-f92c9485fd57fb88.js",
       "static/css/94fdbc56eafa2039.css",
-      "static/chunks/pages/css-615eee7e27a6c3ca.js"
+      "static/chunks/pages/css-19c9a22ff9f28fd2.js"
     ],
     "/dynamic": [
-      "static/chunks/webpack-cfb71177d5e2315f.js",
-      "static/chunks/main-2a5c184c710918a7.js",
-      "static/chunks/pages/dynamic-de89cc327a788b57.js"
+      "static/chunks/webpack-9e73a8f0275b7b0d.js",
+      "static/chunks/main-f92c9485fd57fb88.js",
+      "static/chunks/pages/dynamic-be3c6f216070b691.js"
     ],
     "/edge-ssr": [
-      "static/chunks/webpack-cfb71177d5e2315f.js",
-      "static/chunks/main-2a5c184c710918a7.js",
-      "static/chunks/pages/edge-ssr-9939a443aa3350b1.js"
+      "static/chunks/webpack-9e73a8f0275b7b0d.js",
+      "static/chunks/main-f92c9485fd57fb88.js",
+      "static/chunks/pages/edge-ssr-5b893df1dca83ae5.js"
     ],
     "/head": [
-      "static/chunks/webpack-cfb71177d5e2315f.js",
-      "static/chunks/main-2a5c184c710918a7.js",
-      "static/chunks/pages/head-631b6b2e13208e6f.js"
+      "static/chunks/webpack-9e73a8f0275b7b0d.js",
+      "static/chunks/main-f92c9485fd57fb88.js",
+      "static/chunks/pages/head-75611f12d1f42d77.js"
     ],
     "/hooks": [
-      "static/chunks/webpack-cfb71177d5e2315f.js",
-      "static/chunks/main-2a5c184c710918a7.js",
-      "static/chunks/pages/hooks-fb4a676575d0522f.js"
+      "static/chunks/webpack-9e73a8f0275b7b0d.js",
+      "static/chunks/main-f92c9485fd57fb88.js",
+      "static/chunks/pages/hooks-e74adaf59663ab32.js"
     ],
     "/image": [
-      "static/chunks/webpack-cfb71177d5e2315f.js",
-      "static/chunks/main-2a5c184c710918a7.js",
-      "static/chunks/pages/image-867e1502082642d1.js"
+      "static/chunks/webpack-9e73a8f0275b7b0d.js",
+      "static/chunks/main-f92c9485fd57fb88.js",
+      "static/chunks/pages/image-f3297c29fb212fff.js"
     ],
     "/link": [
-      "static/chunks/webpack-cfb71177d5e2315f.js",
-      "static/chunks/main-2a5c184c710918a7.js",
-      "static/chunks/pages/link-00b5811ad83cf634.js"
+      "static/chunks/webpack-9e73a8f0275b7b0d.js",
+      "static/chunks/main-f92c9485fd57fb88.js",
+      "static/chunks/pages/link-be4c2b1b5672e5d5.js"
     ],
     "/routerDirect": [
-      "static/chunks/webpack-cfb71177d5e2315f.js",
-      "static/chunks/main-2a5c184c710918a7.js",
-      "static/chunks/pages/routerDirect-4507732e54f3c3bb.js"
+      "static/chunks/webpack-9e73a8f0275b7b0d.js",
+      "static/chunks/main-f92c9485fd57fb88.js",
+      "static/chunks/pages/routerDirect-d4f3e188a1efb08f.js"
     ],
     "/script": [
-      "static/chunks/webpack-cfb71177d5e2315f.js",
-      "static/chunks/main-2a5c184c710918a7.js",
-      "static/chunks/pages/script-5266857ab0355802.js"
+      "static/chunks/webpack-9e73a8f0275b7b0d.js",
+      "static/chunks/main-f92c9485fd57fb88.js",
+      "static/chunks/pages/script-cdc377a1a2012a14.js"
     ],
     "/withRouter": [
-      "static/chunks/webpack-cfb71177d5e2315f.js",
-      "static/chunks/main-2a5c184c710918a7.js",
-      "static/chunks/pages/withRouter-2595133dda6a34d6.js"
+      "static/chunks/webpack-9e73a8f0275b7b0d.js",
+      "static/chunks/main-f92c9485fd57fb88.js",
+      "static/chunks/pages/withRouter-e7c6362c4e7a0ebe.js"
     ]
   },
   ampFirstPages: []
Diff for middleware-r..-manifest.js
@@ -1,6 +1,6 @@
 self.__REACT_LOADABLE_MANIFEST = {
   "dynamic.js -> ../components/hello": {
-    id: 7296,
-    files: ["static/chunks/296.dc8564ea6e849fb1.js"]
+    id: 7615,
+    files: ["static/chunks/615.457941d412fec2d4.js"]
   }
 };
Diff for middleware.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [826],
   {
-    /***/ 5295: /***/ (
+    /***/ 8300: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -14,7 +14,7 @@
       __webpack_require__.d(__webpack_exports__, {
         default: () =>
           /* binding */ next_middleware_loaderabsolutePagePath_private_next_root_dir_2Fmiddleware_js_page_2Fmiddleware_rootDir_2Ftmp_2Fnext_stats8GA4AL_2Fstats_app_matchers_
-      }); // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/error.js
+      }); // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/error.js
 
       class PageSignatureError extends Error {
         constructor({ page }) {
@@ -41,7 +41,7 @@
   Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent
   `);
         }
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/utils.js
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/utils.js
 
       //# sourceMappingURL=error.js.map
       function fromNodeHeaders(object) {
@@ -157,7 +157,7 @@
             }
           );
         }
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/fetch-event.js
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/fetch-event.js
 
       //# sourceMappingURL=utils.js.map
       const responseSymbol = Symbol("response");
@@ -203,7 +203,7 @@
             page: this.sourcePage
           });
         }
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/i18n/detect-domain-locale.js
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/i18n/detect-domain-locale.js
 
       //# sourceMappingURL=fetch-event.js.map
       function detectDomainLocale(domainItems, hostname, detectedLocale) {
@@ -232,7 +232,7 @@
           }
         }
         return domainItem;
-      } //# sourceMappingURL=detect-domain-locale.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/remove-trailing-slash.js
+      } //# sourceMappingURL=detect-domain-locale.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/remove-trailing-slash.js
 
       /**
        * Removes the trailing slash for a given route or page path. Preserves the
@@ -242,7 +242,7 @@
        *   - `/` -> `/`
        */ function removeTrailingSlash(route) {
         return route.replace(/\/$/, "") || "/";
-      } //# sourceMappingURL=remove-trailing-slash.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/parse-path.js
+      } //# sourceMappingURL=remove-trailing-slash.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/parse-path.js
 
       /**
        * Given a path this function will find the pathname, query and hash and return
@@ -270,7 +270,7 @@
           query: "",
           hash: ""
         };
-      } //# sourceMappingURL=parse-path.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/add-path-prefix.js
+      } //# sourceMappingURL=parse-path.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/add-path-prefix.js
 
       /**
        * Adds the provided prefix to the given path. It first ensures that the path
@@ -281,7 +281,7 @@
         }
         const { pathname, query, hash } = parsePath(path);
         return `${prefix}${pathname}${query}${hash}`;
-      } //# sourceMappingURL=add-path-prefix.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/add-path-suffix.js
+      } //# sourceMappingURL=add-path-prefix.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/add-path-suffix.js
 
       /**
        * Similarly to `addPathPrefix`, this function adds a suffix at the end on the
@@ -293,7 +293,7 @@
         }
         const { pathname, query, hash } = parsePath(path);
         return `${pathname}${suffix}${query}${hash}`;
-      } //# sourceMappingURL=add-path-suffix.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/path-has-prefix.js
+      } //# sourceMappingURL=add-path-suffix.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/path-has-prefix.js
 
       /**
        * Checks if a given path starts with a given prefix. It ensures it matches
@@ -307,7 +307,7 @@
         }
         const { pathname } = parsePath(path);
         return pathname === prefix || pathname.startsWith(prefix + "/");
-      } //# sourceMappingURL=path-has-prefix.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/add-locale.js
+      } //# sourceMappingURL=path-has-prefix.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/add-locale.js
 
       /**
        * For a given path and a locale, if the locale is given, it will prefix the
@@ -324,7 +324,7 @@
           return addPathPrefix(path, `/${locale}`);
         }
         return path;
-      } //# sourceMappingURL=add-locale.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/format-next-pathname-info.js
+      } //# sourceMappingURL=add-locale.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/format-next-pathname-info.js
 
       function formatNextPathnameInfo(info) {
         let pathname = addLocale(
@@ -348,7 +348,7 @@
             ? addPathSuffix(pathname, "/")
             : pathname
           : removeTrailingSlash(pathname);
-      } //# sourceMappingURL=format-next-pathname-info.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/get-hostname.js
+      } //# sourceMappingURL=format-next-pathname-info.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/get-hostname.js
 
       /**
        * Takes an object with a hostname property (like a parsed URL) and some
@@ -363,7 +363,7 @@
           parsed.hostname) == null
           ? void 0
           : ref.split(":")[0].toLowerCase();
-      } //# sourceMappingURL=get-hostname.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/i18n/normalize-locale-path.js
+      } //# sourceMappingURL=get-hostname.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/i18n/normalize-locale-path.js
 
       /**
        * For a pathname that may include a locale from a list of locales, it
@@ -393,7 +393,7 @@
           pathname,
           detectedLocale
         };
-      } //# sourceMappingURL=normalize-locale-path.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/remove-path-prefix.js
+      } //# sourceMappingURL=normalize-locale-path.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/remove-path-prefix.js
 
       /**
        * Given a path and a prefix it will remove the prefix when it exists in the
@@ -409,7 +409,7 @@
             : `/${withoutPrefix}`;
         }
         return path;
-      } //# sourceMappingURL=remove-path-prefix.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/get-next-pathname-info.js
+      } //# sourceMappingURL=remove-path-prefix.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/get-next-pathname-info.js
 
       function getNextPathnameInfo(pathname, options) {
         var _nextConfig;
@@ -446,7 +446,7 @@
             info.pathname;
         }
         return info;
-      } //# sourceMappingURL=get-next-pathname-info.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/next-url.js
+      } //# sourceMappingURL=get-next-pathname-info.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/next-url.js
 
       const REGEX_LOCALHOST_HOSTNAME = /(?!^https?:\/\/)(127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|::1|localhost)/;
       function parseURL(url, base) {
@@ -655,7 +655,7 @@
         clone() {
           return new NextURL(String(this), this[Internal].options);
         }
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/cookies/serialize.js
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/cookies/serialize.js
 
       //# sourceMappingURL=next-url.js.map
       const SAME_SITE = ["strict", "lax", "none"];
@@ -739,7 +739,7 @@
           })
         };
         return compact(cookie);
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/cookies/request-cookies.js
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/cookies/request-cookies.js
 
       //# sourceMappingURL=serialize.js.map
       /**
@@ -832,7 +832,7 @@
             Object.fromEntries(this._parsed)
           )}`;
         }
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/cookies/response-cookies.js
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/cookies/response-cookies.js
 
       //# sourceMappingURL=request-cookies.js.map
       function replace(bag, headers) {
@@ -927,7 +927,7 @@
             Object.fromEntries(this._parsed)
           )}`;
         }
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/cookies/index.js // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/request.js
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/cookies/index.js // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/request.js
 
       //# sourceMappingURL=response-cookies.js.map
       //# sourceMappingURL=index.js.map
@@ -1002,7 +1002,7 @@
         get url() {
           return this[INTERNALS].url.toString();
         }
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/response.js
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/response.js
 
       //# sourceMappingURL=request.js.map
       const response_INTERNALS = Symbol("internal response");
@@ -1102,7 +1102,7 @@
             headers
           });
         }
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/relativize-url.js
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/relativize-url.js
 
       //# sourceMappingURL=response.js.map
       /**
@@ -1116,7 +1116,7 @@
         return `${relative.protocol}//${relative.host}` === origin
           ? relative.toString().replace(origin, "")
           : relative.toString();
-      } //# sourceMappingURL=relativize-url.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/internal-utils.js
+      } //# sourceMappingURL=relativize-url.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/internal-utils.js
 
       const INTERNAL_QUERY_NAMES = [
         "__nextFallback",
@@ -1140,7 +1140,7 @@
           }
         }
         return searchParams;
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/app-paths.js
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/app-paths.js
 
       //# sourceMappingURL=internal-utils.js.map
       // remove (name) from pathname as it's not considered for routing
@@ -1164,7 +1164,7 @@
       }
       function normalizeRscPath(pathname, enabled) {
         return enabled ? pathname.replace(/\.rsc($|\?)/, "") : pathname;
-      } //# sourceMappingURL=app-paths.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/client/components/app-router-headers.js
+      } //# sourceMappingURL=app-paths.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/client/components/app-router-headers.js
 
       const RSC = "RSC";
       const NEXT_ROUTER_STATE_TREE = "Next-Router-State-Tree";
@@ -1175,7 +1175,7 @@
         [RSC],
         [NEXT_ROUTER_STATE_TREE],
         [NEXT_ROUTER_PREFETCH]
-      ]; //# sourceMappingURL=app-router-headers.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/adapter.js
+      ]; //# sourceMappingURL=app-router-headers.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/adapter.js
 
       class NextRequestHint extends NextRequest {
         constructor(params) {
@@ -1376,12 +1376,12 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
           enumerable: false,
           configurable: false
         });
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/build/webpack/loaders/next-middleware-loader.js?absolutePagePath=private-next-root-dir%2Fmiddleware.js&page=%2Fmiddleware&rootDir=%2Ftmp%2Fnext-stats8GA4AL%2Fstats-app&matchers=!
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+packed-next.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/build/webpack/loaders/next-middleware-loader.js?absolutePagePath=private-next-root-dir%2Fmiddleware.js&page=%2Fmiddleware&rootDir=%2Ftmp%2Fnext-stats8GA4AL%2Fstats-app&matchers=!
 
       //# sourceMappingURL=adapter.js.map
       enhanceGlobals();
 
-      var mod = __webpack_require__(4620);
+      var mod = __webpack_require__(2652);
       var handler = mod.middleware || mod.default;
 
       if (typeof handler !== "function") {
@@ -1403,7 +1403,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 4620: /***/ (
+    /***/ 2652: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -1415,7 +1415,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
         /* harmony export */
       });
       /* harmony import */ var next_server__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        4601
+        7545
       );
       /* harmony import */ var next_server__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/ __webpack_require__.n(
         next_server__WEBPACK_IMPORTED_MODULE_0__
@@ -1428,7 +1428,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 8980: /***/ (__unused_webpack_module, exports) => {
+    /***/ 5879: /***/ (__unused_webpack_module, exports) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -1448,7 +1448,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 7521: /***/ (__unused_webpack_module, exports) => {
+    /***/ 9530: /***/ (__unused_webpack_module, exports) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -1486,7 +1486,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 7892: /***/ (__unused_webpack_module, exports) => {
+    /***/ 7508: /***/ (__unused_webpack_module, exports) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -1518,7 +1518,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 8962: /***/ (
+    /***/ 7752: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -1529,8 +1529,8 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
         value: true
       });
       exports.addLocale = addLocale;
-      var _addPathPrefix = __webpack_require__(2185);
-      var _pathHasPrefix = __webpack_require__(5756);
+      var _addPathPrefix = __webpack_require__(4794);
+      var _pathHasPrefix = __webpack_require__(8633);
       function addLocale(path, locale, defaultLocale, ignorePrefix) {
         if (
           locale &&
@@ -1550,7 +1550,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 2185: /***/ (
+    /***/ 4794: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -1561,7 +1561,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
         value: true
       });
       exports.addPathPrefix = addPathPrefix;
-      var _parsePath = __webpack_require__(2930);
+      var _parsePath = __webpack_require__(3699);
       function addPathPrefix(path, prefix) {
         if (!path.startsWith("/") || !prefix) {
           return path;
@@ -1573,7 +1573,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 880: /***/ (
+    /***/ 2064: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -1584,7 +1584,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
         value: true
       });
       exports.addPathSuffix = addPathSuffix;
-      var _parsePath = __webpack_require__(2930);
+      var _parsePath = __webpack_require__(3699);
       function addPathSuffix(path, suffix) {
         if (!path.startsWith("/") || !suffix) {
           return path;
@@ -1596,7 +1596,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 328: /***/ (
+    /***/ 9989: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -1607,10 +1607,10 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
         value: true
       });
       exports.formatNextPathnameInfo = formatNextPathnameInfo;
-      var _removeTrailingSlash = __webpack_require__(7601);
-      var _addPathPrefix = __webpack_require__(2185);
-      var _addPathSuffix = __webpack_require__(880);
-      var _addLocale = __webpack_require__(8962);
+      var _removeTrailingSlash = __webpack_require__(8000);
+      var _addPathPrefix = __webpack_require__(4794);
+      var _addPathSuffix = __webpack_require__(2064);
+      var _addLocale = __webpack_require__(7752);
       function formatNextPathnameInfo(info) {
         let pathname = (0, _addLocale).addLocale(
           info.pathname,
@@ -1641,7 +1641,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 9330: /***/ (
+    /***/ 1986: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -1652,9 +1652,9 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
         value: true
       });
       exports.getNextPathnameInfo = getNextPathnameInfo;
-      var _normalizeLocalePath = __webpack_require__(7892);
-      var _removePathPrefix = __webpack_require__(6568);
-      var _pathHasPrefix = __webpack_require__(5756);
+      var _normalizeLocalePath = __webpack_require__(7508);
+      var _removePathPrefix = __webpack_require__(984);
+      var _pathHasPrefix = __webpack_require__(8633);
       function getNextPathnameInfo(pathname, options) {
         var _nextConfig;
         const { basePath, i18n, trailingSlash } =
@@ -1704,7 +1704,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 2930: /***/ (__unused_webpack_module, exports) => {
+    /***/ 3699: /***/ (__unused_webpack_module, exports) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -1738,7 +1738,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 5756: /***/ (
+    /***/ 8633: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -1749,7 +1749,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
         value: true
       });
       exports.pathHasPrefix = pathHasPrefix;
-      var _parsePath = __webpack_require__(2930);
+      var _parsePath = __webpack_require__(3699);
       function pathHasPrefix(path, prefix) {
         if (typeof path !== "string") {
           return false;
@@ -1761,7 +1761,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 6568: /***/ (
+    /***/ 984: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -1772,7 +1772,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
         value: true
       });
       exports.removePathPrefix = removePathPrefix;
-      var _pathHasPrefix = __webpack_require__(5756);
+      var _pathHasPrefix = __webpack_require__(8633);
       function removePathPrefix(path, prefix) {
         if ((0, _pathHasPrefix).pathHasPrefix(path, prefix)) {
           const withoutPrefix = path.slice(prefix.length);
@@ -1786,7 +1786,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 7601: /***/ (__unused_webpack_module, exports) => {
+    /***/ 8000: /***/ (__unused_webpack_module, exports) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -1800,7 +1800,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 6866: /***/ (module, exports, __webpack_require__) => {
+    /***/ 6392: /***/ (module, exports, __webpack_require__) => {
       var __dirname = "/";
       var __WEBPACK_AMD_DEFINE_RESULT__;
       (() => {
@@ -2642,7 +2642,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 4378: /***/ (__unused_webpack_module, exports) => {
+    /***/ 650: /***/ (__unused_webpack_module, exports) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -2683,7 +2683,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 9153: /***/ (
+    /***/ 8065: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -2693,10 +2693,10 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
-      var _detectDomainLocale = __webpack_require__(7521);
-      var _formatNextPathnameInfo = __webpack_require__(328);
-      var _getHostname = __webpack_require__(8980);
-      var _getNextPathnameInfo = __webpack_require__(9330);
+      var _detectDomainLocale = __webpack_require__(9530);
+      var _formatNextPathnameInfo = __webpack_require__(9989);
+      var _getHostname = __webpack_require__(5879);
+      var _getNextPathnameInfo = __webpack_require__(1986);
       const REGEX_LOCALHOST_HOSTNAME = /(?!^https?:\/\/)(127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|::1|localhost)/;
       function parseURL(url, base) {
         return new URL(
@@ -2916,7 +2916,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 1545: /***/ (
+    /***/ 4098: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -2938,15 +2938,15 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
           return _responseCookies.ResponseCookies;
         }
       });
-      var _requestCookies = __webpack_require__(781);
-      var _responseCookies = __webpack_require__(7085);
+      var _requestCookies = __webpack_require__(8814);
+      var _responseCookies = __webpack_require__(768);
 
       //# sourceMappingURL=index.js.map
 
       /***/
     },
 
-    /***/ 781: /***/ (
+    /***/ 8814: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -2956,7 +2956,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
-      var _serialize = __webpack_require__(8053);
+      var _serialize = __webpack_require__(1378);
       class RequestCookies {
         _parsed = new Map();
         constructor(requestHeaders) {
@@ -3053,7 +3053,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 7085: /***/ (
+    /***/ 768: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -3063,7 +3063,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
-      var _serialize = __webpack_require__(8053);
+      var _serialize = __webpack_require__(1378);
       function replace(bag, headers) {
         headers.delete("set-cookie");
         for (const [, value] of bag) {
@@ -3160,7 +3160,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 8053: /***/ (__unused_webpack_module, exports) => {
+    /***/ 1378: /***/ (__unused_webpack_module, exports) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -3253,7 +3253,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 3186: /***/ (
+    /***/ 916: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -3265,10 +3265,10 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
         value: true
       };
       __webpack_unused_export__ = void 0;
-      var _nextUrl = __webpack_require__(9153);
-      var _utils = __webpack_require__(7960);
-      var _error = __webpack_require__(4378);
-      var _cookies = __webpack_require__(1545);
+      var _nextUrl = __webpack_require__(8065);
+      var _utils = __webpack_require__(953);
+      var _error = __webpack_require__(650);
+      var _cookies = __webpack_require__(4098);
       const INTERNALS = Symbol("internal request");
       __webpack_unused_export__ = INTERNALS;
       class NextRequest extends Request {
@@ -3349,7 +3349,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 7292: /***/ (
+    /***/ 1346: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -3360,9 +3360,9 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       __webpack_unused_export__ = {
         value: true
       };
-      var _nextUrl = __webpack_require__(9153);
-      var _utils = __webpack_require__(7960);
-      var _cookies = __webpack_require__(1545);
+      var _nextUrl = __webpack_require__(8065);
+      var _utils = __webpack_require__(953);
+      var _cookies = __webpack_require__(4098);
       const INTERNALS = Symbol("internal response");
       const REDIRECTS = new Set([301, 302, 303, 307, 308]);
       function handleMiddlewareField(init, headers) {
@@ -3471,7 +3471,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 2402: /***/ (
+    /***/ 4148: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -3485,7 +3485,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       __webpack_unused_export__ = isBot;
       exports.Nf = userAgentFromString;
       exports.WE = userAgent;
-      var _uaParserJs = _interopRequireDefault(__webpack_require__(6866));
+      var _uaParserJs = _interopRequireDefault(__webpack_require__(6392));
       function _interopRequireDefault(obj) {
         return obj && obj.__esModule
           ? obj
@@ -3513,7 +3513,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 7960: /***/ (__unused_webpack_module, exports) => {
+    /***/ 953: /***/ (__unused_webpack_module, exports) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -3630,14 +3630,14 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 4601: /***/ (module, exports, __webpack_require__) => {
+    /***/ 7545: /***/ (module, exports, __webpack_require__) => {
       const serverExports = {
-        NextRequest: __webpack_require__(3186) /* .NextRequest */.Im,
-        NextResponse: __webpack_require__(7292) /* .NextResponse */.x,
+        NextRequest: __webpack_require__(916) /* .NextRequest */.Im,
+        NextResponse: __webpack_require__(1346) /* .NextResponse */.x,
         userAgentFromString: __webpack_require__(
-          2402
+          4148
         ) /* .userAgentFromString */.Nf,
-        userAgent: __webpack_require__(2402) /* .userAgent */.WE
+        userAgent: __webpack_require__(4148) /* .userAgent */.WE
       };
 
       if (typeof URLPattern !== "undefined") {
@@ -3663,7 +3663,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = moduleId =>
       __webpack_require__((__webpack_require__.s = moduleId));
-    /******/ var __webpack_exports__ = __webpack_exec__(5295);
+    /******/ var __webpack_exports__ = __webpack_exec__(8300);
     /******/ (_ENTRIES =
       typeof _ENTRIES === "undefined"
         ? {}
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-ff4a78f0cd6d8604.js"],
-  "/_error": ["static\u002Fchunks\u002Fpages\u002F_error-60a86ec4e3f88bfc.js"],
-  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-88a189216855cd5b.js"],
+  "/": ["static\u002Fchunks\u002Fpages\u002Findex-452fd3381b081c82.js"],
+  "/_error": ["static\u002Fchunks\u002Fpages\u002F_error-a97cf465c41b3270.js"],
+  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-64ed516406b3e5b6.js"],
   "/css": [
     "static\u002Fcss\u002F94fdbc56eafa2039.css",
-    "static\u002Fchunks\u002Fpages\u002Fcss-615eee7e27a6c3ca.js"
+    "static\u002Fchunks\u002Fpages\u002Fcss-19c9a22ff9f28fd2.js"
   ],
   "/dynamic": [
-    "static\u002Fchunks\u002Fpages\u002Fdynamic-de89cc327a788b57.js"
+    "static\u002Fchunks\u002Fpages\u002Fdynamic-be3c6f216070b691.js"
   ],
   "/edge-ssr": [
-    "static\u002Fchunks\u002Fpages\u002Fedge-ssr-9939a443aa3350b1.js"
+    "static\u002Fchunks\u002Fpages\u002Fedge-ssr-5b893df1dca83ae5.js"
   ],
-  "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-631b6b2e13208e6f.js"],
-  "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-fb4a676575d0522f.js"],
-  "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-867e1502082642d1.js"],
-  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-00b5811ad83cf634.js"],
+  "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-75611f12d1f42d77.js"],
+  "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-e74adaf59663ab32.js"],
+  "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-f3297c29fb212fff.js"],
+  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-be4c2b1b5672e5d5.js"],
   "/routerDirect": [
-    "static\u002Fchunks\u002Fpages\u002FrouterDirect-4507732e54f3c3bb.js"
+    "static\u002Fchunks\u002Fpages\u002FrouterDirect-d4f3e188a1efb08f.js"
   ],
-  "/script": ["static\u002Fchunks\u002Fpages\u002Fscript-5266857ab0355802.js"],
+  "/script": ["static\u002Fchunks\u002Fpages\u002Fscript-cdc377a1a2012a14.js"],
   "/withRouter": [
-    "static\u002Fchunks\u002Fpages\u002FwithRouter-2595133dda6a34d6.js"
+    "static\u002Fchunks\u002Fpages\u002FwithRouter-e7c6362c4e7a0ebe.js"
   ],
   sortedPages: [
     "\u002F",
Diff for _app-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [888],
   {
-    /***/ 4821: /***/ function(
+    /***/ 834: /***/ 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__(9319);
+          return __webpack_require__(5625);
         }
       ]);
       if (false) {
@@ -24,7 +24,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [179], function() {
-      return __webpack_exec__(4821), __webpack_exec__(5616);
+      return __webpack_exec__(834), __webpack_exec__(9672);
     });
     /******/ 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],
   {
-    /***/ 8333: /***/ function(
+    /***/ 8785: /***/ 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__(8511);
+          return __webpack_require__(7416);
         }
       ]);
       if (false) {
@@ -24,7 +24,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [888, 179], function() {
-      return __webpack_exec__(8333);
+      return __webpack_exec__(8785);
     });
     /******/ 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],
   {
-    /***/ 8224: /***/ function(
+    /***/ 1490: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(6591);
+      module.exports = __webpack_require__(4697);
 
       /***/
     },
 
-    /***/ 4885: /***/ function(
+    /***/ 2906: /***/ 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__(1951);
+          return __webpack_require__(201);
         }
       ]);
       if (false) {
@@ -28,7 +28,7 @@
       /***/
     },
 
-    /***/ 6591: /***/ function(module, exports, __webpack_require__) {
+    /***/ 4697: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -37,9 +37,9 @@
       exports.useAmp = useAmp;
       var _interop_require_default = __webpack_require__(1322) /* ["default"] */
         .Z;
-      var _react = _interop_require_default(__webpack_require__(7));
-      var _ampContext = __webpack_require__(9373);
-      var _ampMode = __webpack_require__(6363);
+      var _react = _interop_require_default(__webpack_require__(7700));
+      var _ampContext = __webpack_require__(8994);
+      var _ampMode = __webpack_require__(6781);
       function useAmp() {
         // Don't assign the context value to a variable to save bytes
         return (0, _ampMode).isInAmpMode(
@@ -61,7 +61,7 @@
       /***/
     },
 
-    /***/ 1951: /***/ function(
+    /***/ 201: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -78,7 +78,7 @@
         /* harmony export */
       });
       /* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        8224
+        1490
       );
       /* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/ __webpack_require__.n(
         next_amp__WEBPACK_IMPORTED_MODULE_0__
@@ -102,7 +102,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [888, 179], function() {
-      return __webpack_exec__(4885);
+      return __webpack_exec__(2906);
     });
     /******/ 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],
   {
-    /***/ 2106: /***/ function(
+    /***/ 4099: /***/ 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__(9370);
+          return __webpack_require__(5743);
         }
       ]);
       if (false) {
@@ -18,14 +18,14 @@
       /***/
     },
 
-    /***/ 3325: /***/ function(module) {
+    /***/ 9508: /***/ function(module) {
       // extracted by mini-css-extract-plugin
       module.exports = { helloWorld: "css_helloWorld__qqNwY" };
 
       /***/
     },
 
-    /***/ 9370: /***/ function(
+    /***/ 5743: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -33,10 +33,10 @@
       "use strict";
       __webpack_require__.r(__webpack_exports__);
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        6913
+        2828
       );
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        3325
+        9508
       );
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         _css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -56,7 +56,7 @@
       /***/
     },
 
-    /***/ 7855: /***/ function(
+    /***/ 9634: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -71,7 +71,7 @@
        * This source code is licensed under the MIT license found in the
        * LICENSE file in the root directory of this source tree.
        */
-      var f = __webpack_require__(7),
+      var f = __webpack_require__(7700),
         k = Symbol.for("react.element"),
         l = Symbol.for("react.fragment"),
         m = Object.prototype.hasOwnProperty,
@@ -106,7 +106,7 @@
       /***/
     },
 
-    /***/ 6913: /***/ function(
+    /***/ 2828: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
@@ -114,7 +114,7 @@
       "use strict";
 
       if (true) {
-        module.exports = __webpack_require__(7855);
+        module.exports = __webpack_require__(9634);
       } else {
       }
 
@@ -127,7 +127,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [888, 179], function() {
-      return __webpack_exec__(2106);
+      return __webpack_exec__(4099);
     });
     /******/ 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],
   {
-    /***/ 4811: /***/ function(
+    /***/ 3699: /***/ 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__(4657);
+          return __webpack_require__(9932);
         }
       ]);
       if (false) {
@@ -18,49 +18,19 @@
       /***/
     },
 
-    /***/ 7523: /***/ function(
-      __unused_webpack_module,
-      exports,
-      __webpack_require__
-    ) {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true
-      });
-      exports.suspense = suspense;
-      exports.NoSSR = NoSSR;
-      var _interop_require_default = __webpack_require__(1322) /* ["default"] */
-        .Z;
-      var _react = _interop_require_default(__webpack_require__(7));
-      var _noSsrError = __webpack_require__(7108);
-      function suspense() {
-        const error = new Error(_noSsrError.NEXT_DYNAMIC_NO_SSR_CODE);
-        error.digest = _noSsrError.NEXT_DYNAMIC_NO_SSR_CODE;
-        throw error;
-      }
-      function NoSSR(param) {
-        let { children } = param;
-        if (false) {
-        }
-        return children;
-      } //# sourceMappingURL=dynamic-no-ssr.js.map
-
-      /***/
-    },
-
-    /***/ 9192: /***/ function(module, exports, __webpack_require__) {
+    /***/ 5374: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
       exports["default"] = dynamic;
+      exports.noSSR = noSSR;
       var _extends = __webpack_require__(5321) /* ["default"] */.Z;
       var _interop_require_default = __webpack_require__(1322) /* ["default"] */
         .Z;
-      var _react = _interop_require_default(__webpack_require__(7));
-      var _loadable = _interop_require_default(__webpack_require__(8656));
+      var _react = _interop_require_default(__webpack_require__(7700));
+      var _loadable = _interop_require_default(__webpack_require__(6215));
       function dynamic(dynamicOptions, options) {
         let loadableFn = _loadable.default;
         let loadableOptions = {
@@ -106,6 +76,7 @@
         if (typeof loadableOptions.ssr === "boolean" && !loadableOptions.ssr) {
           delete loadableOptions.webpack;
           delete loadableOptions.modules;
+          return noSSR(loadableFn, loadableOptions);
         }
         return loadableFn(
           _extends({}, loadableOptions, {
@@ -113,6 +84,7 @@
           })
         );
       }
+      const isServerSide = "object" === "undefined";
       // Normalize loader to return the module as form { default: Component } for `React.lazy`.
       // Also for backward compatible since next/dynamic allows to resolve a component directly with loader
       // Client component reference proxy need to be converted to a module.
@@ -122,6 +94,24 @@
           default: ((ref = mod) == null ? void 0 : ref.default) || mod
         };
       }
+      function noSSR(LoadableInitializer, loadableOptions) {
+        // Removing webpack and modules means react-loadable won't try preloading
+        delete loadableOptions.webpack;
+        delete loadableOptions.modules;
+        // This check is necessary to prevent react-loadable from initializing on the server
+        if (!isServerSide) {
+          return LoadableInitializer(loadableOptions);
+        }
+        const Loading = loadableOptions.loading;
+        // This will only be rendered on the server side
+        return () =>
+          /*#__PURE__*/ _react.default.createElement(Loading, {
+            error: null,
+            isLoading: true,
+            pastDelay: false,
+            timedOut: false
+          });
+      }
       if (
         (typeof exports.default === "function" ||
           (typeof exports.default === "object" && exports.default !== null)) &&
@@ -137,7 +127,7 @@
       /***/
     },
 
-    /***/ 1923: /***/ function(
+    /***/ 3329: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -150,7 +140,7 @@
       exports.LoadableContext = void 0;
       var _interop_require_default = __webpack_require__(1322) /* ["default"] */
         .Z;
-      var _react = _interop_require_default(__webpack_require__(7));
+      var _react = _interop_require_default(__webpack_require__(7700));
       const LoadableContext = _react.default.createContext(null);
       exports.LoadableContext = LoadableContext;
       if (false) {
@@ -159,7 +149,7 @@
       /***/
     },
 
-    /***/ 8656: /***/ function(
+    /***/ 6215: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -170,13 +160,14 @@
         value: true
       });
       exports["default"] = void 0;
-      var _async_to_generator = __webpack_require__(9219) /* ["default"] */.Z;
       var _extends = __webpack_require__(5321) /* ["default"] */.Z;
       var _interop_require_default = __webpack_require__(1322) /* ["default"] */
         .Z;
-      var _react = _interop_require_default(__webpack_require__(7));
-      var _dynamicNoSsr = __webpack_require__(7523);
-      var _loadableContext = __webpack_require__(1923);
+      var _react = _interop_require_default(__webpack_require__(7700));
+      var _loadableContext = __webpack_require__(3329);
+      function resolve(obj) {
+        return obj && obj.default ? obj.default : obj;
+      }
       const ALL_INITIALIZERS = [];
       const READY_INITIALIZERS = [];
       let initialized = false;
@@ -208,8 +199,7 @@
             delay: 200,
             timeout: null,
             webpack: null,
-            modules: null,
-            ssr: true
+            modules: null
           },
           options
         );
@@ -227,19 +217,6 @@
           }
           return subscription.promise();
         }
-        opts.lazy = /*#__PURE__*/ _react.default.lazy(
-          _async_to_generator(function*() {
-            // If dynamic options.ssr == true during SSR,
-            // passing the preloaded promise of component to `React.lazy`.
-            // This guarantees the loader is always resolved after preloading.
-            if (opts.ssr && subscription) {
-              const value = subscription.getCurrentValue();
-              const resolved = yield value.loaded;
-              if (resolved) return resolved;
-            }
-            return yield opts.loader();
-          })
-        );
         // Server only
         if (false) {
         }
@@ -271,37 +248,42 @@
             });
           }
         }
-        function LoadableComponent(props) {
+        function LoadableComponent(props, ref) {
           useLoadableModule();
-          const Loading = opts.loading;
-          const fallbackElement = /*#__PURE__*/ _react.default.createElement(
-            Loading,
-            {
-              isLoading: true,
-              pastDelay: true,
-              error: null
-            }
+          const state = _react.default.useSyncExternalStore(
+            subscription.subscribe,
+            subscription.getCurrentValue,
+            subscription.getCurrentValue
           );
-          const Wrap = opts.ssr ? _react.default.Fragment : _dynamicNoSsr.NoSSR;
-          const Lazy = opts.lazy;
-          return /*#__PURE__*/ _react.default.createElement(
-            _react.default.Suspense,
-            {
-              fallback: fallbackElement
-            },
-            /*#__PURE__*/ _react.default.createElement(
-              Wrap,
-              null,
-              /*#__PURE__*/ _react.default.createElement(
-                Lazy,
-                Object.assign({}, props)
-              )
-            )
+          _react.default.useImperativeHandle(
+            ref,
+            () => ({
+              retry: subscription.retry
+            }),
+            []
           );
+          return _react.default.useMemo(() => {
+            if (state.loading || state.error) {
+              return /*#__PURE__*/ _react.default.createElement(opts.loading, {
+                isLoading: state.loading,
+                pastDelay: state.pastDelay,
+                timedOut: state.timedOut,
+                error: state.error,
+                retry: subscription.retry
+              });
+            } else if (state.loaded) {
+              return /*#__PURE__*/ _react.default.createElement(
+                resolve(state.loaded),
+                props
+              );
+            } else {
+              return null;
+            }
+          }, [props, state]);
         }
         LoadableComponent.preload = () => init();
         LoadableComponent.displayName = "LoadableComponent";
-        return LoadableComponent;
+        return /*#__PURE__*/ _react.default.forwardRef(LoadableComponent);
       }
       class LoadableSubscription {
         promise() {
@@ -422,7 +404,7 @@
       /***/
     },
 
-    /***/ 4657: /***/ function(
+    /***/ 9932: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -436,10 +418,10 @@
         /* harmony export */
       });
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        6913
+        2828
       );
       /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        8283
+        2896
       );
       /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -448,11 +430,11 @@
       const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
         () =>
           __webpack_require__
-            .e(/* import() */ 296)
-            .then(__webpack_require__.bind(__webpack_require__, 7296)),
+            .e(/* import() */ 615)
+            .then(__webpack_require__.bind(__webpack_require__, 7615)),
         {
           loadableGenerated: {
-            webpack: () => [/*require.resolve*/ 7296]
+            webpack: () => [/*require.resolve*/ 7615]
           }
         }
       );
@@ -479,7 +461,7 @@
       /***/
     },
 
-    /***/ 7855: /***/ function(
+    /***/ 9634: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -494,7 +476,7 @@
        * This source code is licensed under the MIT license found in the
        * LICENSE file in the root directory of this source tree.
        */
-      var f = __webpack_require__(7),
+      var f = __webpack_require__(7700),
         k = Symbol.for("react.element"),
         l = Symbol.for("react.fragment"),
         m = Object.prototype.hasOwnProperty,
@@ -529,7 +511,7 @@
       /***/
     },
 
-    /***/ 6913: /***/ function(
+    /***/ 2828: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
@@ -537,19 +519,19 @@
       "use strict";
 
       if (true) {
-        module.exports = __webpack_require__(7855);
+        module.exports = __webpack_require__(9634);
       } else {
       }
 
       /***/
     },
 
-    /***/ 8283: /***/ function(
+    /***/ 2896: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(9192);
Post job cleanup.
[command]/usr/bin/git version
git version 2.39.1
Temporarily overriding HOME='/home/runner/work/_temp/34bc5efb-2c6d-42ed-b49a-c4ae01e126b0' before making global git config changes
Adding repository directory to the temporary git global config as a safe directory
[command]/usr/bin/git config --global --add safe.directory /home/runner/work/next.js/next.js
[command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
[command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
[command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
http.https://github.com/.extraheader
[command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
[command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
Cleaning up orphan processes
Commit: b281fd7d330d529955753673417b44c3dec18055

@huozhi huozhi marked this pull request as ready for review February 4, 2023 00:35
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

2 participants