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

Turobpack: Next.rs API (part 1) #52259

Merged
merged 10 commits into from Jul 13, 2023
Merged

Turobpack: Next.rs API (part 1) #52259

merged 10 commits into from Jul 13, 2023

Conversation

sokra
Copy link
Member

@sokra sokra commented Jul 5, 2023

What?

Creates a NAPI api for Next.rs to be used in Next.js

Why?

How?

@ijjk ijjk added Turbopack Related to Turbopack with Next.js. created-by: Turbopack team PRs by the turbopack team type: next labels Jul 5, 2023
@ijjk
Copy link
Member

ijjk commented Jul 5, 2023

Tests Passed

@ijjk
Copy link
Member

ijjk commented Jul 5, 2023

Stats from current PR

Default Build (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary vercel/next.js sokra-alex/next-api Change
buildDuration 46.2s 46.1s -148ms
buildDurationCached 16.5s 15.2s -1.3s
nodeModulesSize 137 MB 137 MB ⚠️ +58.8 kB
nextStartRea..uration (ms) 455ms 457ms ⚠️ +2ms
Client Bundles (main, webpack) Overall increase ⚠️
vercel/next.js canary vercel/next.js sokra-alex/next-api Change
0d536507-HASH.js gzip 50.5 kB 50.5 kB
446.HASH.js gzip 185 B 181 B -4 B
702-HASH.js gzip 25.1 kB 25.2 kB ⚠️ +23 B
framework-HASH.js gzip 45.2 kB 45.2 kB
main-app-HASH.js gzip 214 B 219 B ⚠️ +5 B
main-HASH.js gzip 28.4 kB 28.4 kB ⚠️ +13 B
webpack-HASH.js gzip 1.7 kB 1.7 kB ⚠️ +2 B
Overall change 151 kB 151 kB ⚠️ +39 B
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js sokra-alex/next-api Change
polyfills-HASH.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages Overall increase ⚠️
vercel/next.js canary vercel/next.js sokra-alex/next-api Change
_app-HASH.js gzip 194 B 195 B ⚠️ +1 B
_error-HASH.js gzip 182 B 182 B
amp-HASH.js gzip 504 B 503 B -1 B
css-HASH.js gzip 321 B 322 B ⚠️ +1 B
dynamic-HASH.js gzip 1.82 kB 1.82 kB -2 B
edge-ssr-HASH.js gzip 254 B 255 B ⚠️ +1 B
head-HASH.js gzip 350 B 349 B -1 B
hooks-HASH.js gzip 368 B 369 B ⚠️ +1 B
image-HASH.js gzip 4.18 kB 4.18 kB ⚠️ +2 B
index-HASH.js gzip 255 B 256 B ⚠️ +1 B
link-HASH.js gzip 2.62 kB 2.62 kB -4 B
routerDirect..HASH.js gzip 312 B 313 B ⚠️ +1 B
script-HASH.js gzip 384 B 385 B ⚠️ +1 B
withRouter-HASH.js gzip 308 B 309 B ⚠️ +1 B
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 12.2 kB 12.2 kB ⚠️ +2 B
Client Build Manifests Overall decrease ✓
vercel/next.js canary vercel/next.js sokra-alex/next-api Change
_buildManifest.js gzip 484 B 482 B -2 B
Overall change 484 B 482 B -2 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js sokra-alex/next-api Change
index.html gzip 511 B 511 B
link.html gzip 525 B 525 B
withRouter.html gzip 505 B 505 B
Overall change 1.54 kB 1.54 kB
Edge SSR bundle Size Overall increase ⚠️
vercel/next.js canary vercel/next.js sokra-alex/next-api Change
edge-ssr.js gzip 89.6 kB 89.6 kB
page.js gzip 147 kB 147 kB ⚠️ +29 B
Overall change 237 kB 237 kB ⚠️ +29 B
Middleware size Overall decrease ✓
vercel/next.js canary vercel/next.js sokra-alex/next-api Change
middleware-b..fest.js gzip 625 B 620 B -5 B
middleware-r..fest.js gzip 151 B 151 B
middleware.js gzip 16.6 kB 16.6 kB ⚠️ +3 B
edge-runtime..pack.js gzip 1.83 kB 1.83 kB
Overall change 19.2 kB 19.2 kB -2 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-b6c94c729e6804bb.js",
-    "static/chunks/0d536507-018cd170fc30c27a.js",
-    "static/chunks/702-668173f2f64d3be0.js",
-    "static/chunks/main-app-63595844a6efa289.js",
+    "static/chunks/webpack-917c5126fa399878.js",
+    "static/chunks/c9a40420-15b4461fcad08103.js",
+    "static/chunks/689-1d5b093d478bea48.js",
+    "static/chunks/main-app-91c2d84a4ce23d12.js",
   ],
   pages: {
     "/": [
-      "static/chunks/webpack-b6c94c729e6804bb.js",
+      "static/chunks/webpack-917c5126fa399878.js",
       "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-8f960c3be1ef1944.js",
-      "static/chunks/pages/index-b3eeca82dc15d3ca.js",
+      "static/chunks/main-f6e32b2aad3e9e2f.js",
+      "static/chunks/pages/index-b3e1dbf9725c4dd5.js",
     ],
     "/_app": [
-      "static/chunks/webpack-b6c94c729e6804bb.js",
+      "static/chunks/webpack-917c5126fa399878.js",
       "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-8f960c3be1ef1944.js",
-      "static/chunks/pages/_app-5f31a4bbc22cffb4.js",
+      "static/chunks/main-f6e32b2aad3e9e2f.js",
+      "static/chunks/pages/_app-46cf6cb90b19c472.js",
     ],
     "/_error": [
-      "static/chunks/webpack-b6c94c729e6804bb.js",
+      "static/chunks/webpack-917c5126fa399878.js",
       "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-8f960c3be1ef1944.js",
-      "static/chunks/pages/_error-95fd436e01e410ce.js",
+      "static/chunks/main-f6e32b2aad3e9e2f.js",
+      "static/chunks/pages/_error-a56f0e852cd19c98.js",
     ],
     "/amp": [
-      "static/chunks/webpack-b6c94c729e6804bb.js",
+      "static/chunks/webpack-917c5126fa399878.js",
       "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-8f960c3be1ef1944.js",
-      "static/chunks/pages/amp-f480a7f42402bc6b.js",
+      "static/chunks/main-f6e32b2aad3e9e2f.js",
+      "static/chunks/pages/amp-8c903ea74383c3c2.js",
     ],
     "/css": [
-      "static/chunks/webpack-b6c94c729e6804bb.js",
+      "static/chunks/webpack-917c5126fa399878.js",
       "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-8f960c3be1ef1944.js",
+      "static/chunks/main-f6e32b2aad3e9e2f.js",
       "static/css/ded6b86ab9cc0a1f.css",
-      "static/chunks/pages/css-6cba698e124cc650.js",
+      "static/chunks/pages/css-0d504051a85f0fe7.js",
     ],
     "/dynamic": [
-      "static/chunks/webpack-b6c94c729e6804bb.js",
+      "static/chunks/webpack-917c5126fa399878.js",
       "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-8f960c3be1ef1944.js",
-      "static/chunks/pages/dynamic-962025a03e29abc1.js",
+      "static/chunks/main-f6e32b2aad3e9e2f.js",
+      "static/chunks/pages/dynamic-c49fc16237dca2a5.js",
     ],
     "/edge-ssr": [
-      "static/chunks/webpack-b6c94c729e6804bb.js",
+      "static/chunks/webpack-917c5126fa399878.js",
       "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-8f960c3be1ef1944.js",
-      "static/chunks/pages/edge-ssr-ac69d27d7c507a12.js",
+      "static/chunks/main-f6e32b2aad3e9e2f.js",
+      "static/chunks/pages/edge-ssr-5745a64fa421cb05.js",
     ],
     "/head": [
-      "static/chunks/webpack-b6c94c729e6804bb.js",
+      "static/chunks/webpack-917c5126fa399878.js",
       "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-8f960c3be1ef1944.js",
-      "static/chunks/pages/head-542d60b8442e93ee.js",
+      "static/chunks/main-f6e32b2aad3e9e2f.js",
+      "static/chunks/pages/head-d93013a29556304c.js",
     ],
     "/hooks": [
-      "static/chunks/webpack-b6c94c729e6804bb.js",
+      "static/chunks/webpack-917c5126fa399878.js",
       "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-8f960c3be1ef1944.js",
-      "static/chunks/pages/hooks-e82577e955d3ddd0.js",
+      "static/chunks/main-f6e32b2aad3e9e2f.js",
+      "static/chunks/pages/hooks-78c139c1b3a7077d.js",
     ],
     "/image": [
-      "static/chunks/webpack-b6c94c729e6804bb.js",
+      "static/chunks/webpack-917c5126fa399878.js",
       "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-8f960c3be1ef1944.js",
-      "static/chunks/pages/image-1b2ab260a6b6afac.js",
+      "static/chunks/main-f6e32b2aad3e9e2f.js",
+      "static/chunks/pages/image-dc828d864c231ad8.js",
     ],
     "/link": [
-      "static/chunks/webpack-b6c94c729e6804bb.js",
+      "static/chunks/webpack-917c5126fa399878.js",
       "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-8f960c3be1ef1944.js",
-      "static/chunks/pages/link-c0ec4cd09f99730f.js",
+      "static/chunks/main-f6e32b2aad3e9e2f.js",
+      "static/chunks/pages/link-07c1abec25dfa204.js",
     ],
     "/routerDirect": [
-      "static/chunks/webpack-b6c94c729e6804bb.js",
+      "static/chunks/webpack-917c5126fa399878.js",
       "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-8f960c3be1ef1944.js",
-      "static/chunks/pages/routerDirect-a4378fdd445a6dba.js",
+      "static/chunks/main-f6e32b2aad3e9e2f.js",
+      "static/chunks/pages/routerDirect-21980ec88959c07d.js",
     ],
     "/script": [
-      "static/chunks/webpack-b6c94c729e6804bb.js",
+      "static/chunks/webpack-917c5126fa399878.js",
       "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-8f960c3be1ef1944.js",
-      "static/chunks/pages/script-0c22bdc31d7a54f9.js",
+      "static/chunks/main-f6e32b2aad3e9e2f.js",
+      "static/chunks/pages/script-4ac368a5fe7f6515.js",
     ],
     "/withRouter": [
-      "static/chunks/webpack-b6c94c729e6804bb.js",
+      "static/chunks/webpack-917c5126fa399878.js",
       "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-8f960c3be1ef1944.js",
-      "static/chunks/pages/withRouter-1c13d6b4c43864b1.js",
+      "static/chunks/main-f6e32b2aad3e9e2f.js",
+      "static/chunks/pages/withRouter-cd6c8ed384d35879.js",
     ],
   },
   ampFirstPages: [],
Diff for middleware-r..-manifest.js
@@ -1,2 +1,2 @@
 self.__REACT_LOADABLE_MANIFEST =
-  '{"dynamic.js -> ../components/hello":{"id":3446,"files":["static/chunks/446.36d8405b831b4d8d.js"]}}';
+  '{"dynamic.js -> ../components/hello":{"id":8574,"files":["static/chunks/574.6ec7ce57fcf094de.js"]}}';
Diff for middleware.js
@@ -2,7 +2,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [826],
   {
-    /***/ 5395: /***/ (
+    /***/ 7974: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -22,7 +22,7 @@
       __webpack_require__.r(middleware_namespaceObject);
       __webpack_require__.d(middleware_namespaceObject, {
         default: () => middleware,
-      }); // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/globals.js
+      }); // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/globals.js
 
       async function registerInstrumentation() {
         if (
@@ -92,7 +92,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
         // Eagerly fire instrumentation hook to make the startup faster.
         void ensureInstrumentationRegistered();
       }
-      enhanceGlobals(); //# sourceMappingURL=globals.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/error.js
+      enhanceGlobals(); //# sourceMappingURL=globals.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/error.js
 
       class PageSignatureError extends Error {
         constructor({ page }) {
@@ -119,7 +119,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
   Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent
   `);
         }
-      } //# sourceMappingURL=error.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/utils.js
+      } //# sourceMappingURL=error.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/utils.js
 
       /**
        * Converts a Node.js IncomingHttpHeaders object to a Headers object. Any
@@ -254,7 +254,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
             }
           );
         }
-      } //# sourceMappingURL=utils.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/fetch-event.js
+      } //# sourceMappingURL=utils.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/fetch-event.js
 
       const responseSymbol = Symbol("response");
       const passThroughSymbol = Symbol("passThrough");
@@ -300,7 +300,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
             page: this.sourcePage,
           });
         }
-      } //# sourceMappingURL=fetch-event.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/i18n/detect-domain-locale.js
+      } //# sourceMappingURL=fetch-event.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/i18n/detect-domain-locale.js
 
       function detectDomainLocale(domainItems, hostname, detectedLocale) {
         if (!domainItems) return;
@@ -326,7 +326,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
             return item;
           }
         }
-      } //# sourceMappingURL=detect-domain-locale.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.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+next-packed.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
@@ -336,7 +336,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
        *   - `/` -> `/`
        */ function removeTrailingSlash(route) {
         return route.replace(/\/$/, "") || "/";
-      } //# sourceMappingURL=remove-trailing-slash.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.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+next-packed.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
@@ -364,7 +364,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
           query: "",
           hash: "",
         };
-      } //# sourceMappingURL=parse-path.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.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+next-packed.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
@@ -375,7 +375,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
         }
         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+next-packed.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+next-packed.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
@@ -387,7 +387,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
         }
         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+next-packed.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+next-packed.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
@@ -401,7 +401,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
         }
         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+next-packed.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+next-packed.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
@@ -420,7 +420,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
         }
         // Add the locale prefix to the path.
         return addPathPrefix(path, "/" + locale);
-      } //# sourceMappingURL=add-locale.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.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+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/format-next-pathname-info.js
 
       function formatNextPathnameInfo(info) {
         let pathname = addLocale(
@@ -444,7 +444,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
             ? addPathSuffix(pathname, "/")
             : pathname
           : removeTrailingSlash(pathname);
-      } //# sourceMappingURL=format-next-pathname-info.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.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+next-packed.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
@@ -464,7 +464,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
           hostname = parsed.hostname;
         } else return;
         return hostname.toLowerCase();
-      } //# sourceMappingURL=get-hostname.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.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+next-packed.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
@@ -494,7 +494,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
           pathname,
           detectedLocale,
         };
-      } //# sourceMappingURL=normalize-locale-path.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.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+next-packed.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
@@ -528,7 +528,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
         // If the path without the prefix doesn't start with a `/` we need to add it
         // back to the path to make sure it's a valid path.
         return "/" + withoutPrefix;
-      } //# sourceMappingURL=remove-path-prefix.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.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+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/get-next-pathname-info.js
 
       function getNextPathnameInfo(pathname, options) {
         var _options_nextConfig;
@@ -579,7 +579,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
               : info.pathname;
         }
         return info;
-      } //# sourceMappingURL=get-next-pathname-info.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.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+next-packed.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)/;
@@ -806,8 +806,8 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
         }
       } //# sourceMappingURL=next-url.js.map
 
-      // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js
-      var cookies = __webpack_require__(7238); // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/cookies.js // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/request.js
+      // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js
+      var cookies = __webpack_require__(2597); // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/cookies.js // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/request.js
       //# sourceMappingURL=cookies.js.map
 
       const INTERNALS = Symbol("internal request");
@@ -883,7 +883,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
         get url() {
           return this[INTERNALS].url;
         }
-      } //# sourceMappingURL=request.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/response.js
+      } //# sourceMappingURL=request.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/response.js
 
       const response_INTERNALS = Symbol("internal response");
       const REDIRECTS = new Set([301, 302, 303, 307, 308]);
@@ -982,7 +982,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
             headers,
           });
         }
-      } //# sourceMappingURL=response.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/relativize-url.js
+      } //# sourceMappingURL=response.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/relativize-url.js
 
       /**
        * Given a URL as a string and a base URL it will make the URL relative
@@ -995,7 +995,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
         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+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/client/components/app-router-headers.js
+      } //# sourceMappingURL=relativize-url.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/client/components/app-router-headers.js
 
       const RSC = "RSC";
       const ACTION = "Next-Action";
@@ -1011,7 +1011,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
         [NEXT_ROUTER_STATE_TREE],
         [NEXT_ROUTER_PREFETCH],
       ];
-      const NEXT_RSC_UNION_QUERY = "_rsc"; //# sourceMappingURL=app-router-headers.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/internal-utils.js
+      const NEXT_RSC_UNION_QUERY = "_rsc"; //# sourceMappingURL=app-router-headers.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/internal-utils.js
 
       const INTERNAL_QUERY_NAMES = [
         "__nextFallback",
@@ -1039,7 +1039,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
           }
         }
         return isStringUrl ? instance.toString() : instance;
-      } //# sourceMappingURL=internal-utils.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/app-paths.js
+      } //# sourceMappingURL=internal-utils.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/app-paths.js
 
       /**
        * Normalizes an app route so it represents the actual request path. Essentially
@@ -1090,7 +1090,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
        * Since this function is used on full urls it checks `?` for searchParams handling.
        */ function normalizeRscPath(pathname, enabled) {
         return enabled ? pathname.replace(/\.rsc($|\?)/, "$1") : pathname;
-      } //# sourceMappingURL=app-paths.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/lib/constants.js
+      } //# sourceMappingURL=app-paths.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/lib/constants.js
 
       const NEXT_QUERY_PARAM_PREFIX = "nxtP";
       const PRERENDER_REVALIDATE_HEADER = "x-prerender-revalidate";
@@ -1207,7 +1207,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
         metadata: "__next_metadata__",
         metadataRoute: "__next_metadata_route__",
         metadataImageMeta: "__next_metadata_image_meta__",
-      }; //# sourceMappingURL=constants.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/adapter.js
+      }; //# sourceMappingURL=constants.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/adapter.js
 
       class NextRequestHint extends NextRequest {
         constructor(params) {
@@ -1436,14 +1436,14 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
           response: finalResponse,
           waitUntil: Promise.all(event[waitUntilSymbol]),
         };
-      } //# sourceMappingURL=adapter.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/exports/next-response.js // CONCATENATED MODULE: ./middleware.js
+      } //# sourceMappingURL=adapter.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/exports/next-response.js // CONCATENATED MODULE: ./middleware.js
 
       // This file is for modularized imports for next/server to get fully-treeshaking.
       //# sourceMappingURL=next-response.js.map
 
       async function middleware() {
         return NextResponse.next();
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.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-statsmsgrxP%2Fstats-app&matchers=&preferredRegion=&middlewareConfig=e30%3D!
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.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-statsmsgrxP%2Fstats-app&matchers=&preferredRegion=&middlewareConfig=e30%3D!
 
       const mod = { ...middleware_namespaceObject };
       const handler = mod.middleware || mod.default;
@@ -1467,7 +1467,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 7238: /***/ (module) => {
+    /***/ 2597: /***/ (module) => {
       "use strict";
 
       var __defProp = Object.defineProperty;
@@ -1864,7 +1864,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__(5395);
+    /******/ var __webpack_exports__ = __webpack_exec__(7974);
     /******/ (_ENTRIES =
       typeof _ENTRIES === "undefined" ? {} : _ENTRIES).middleware_middleware =
       __webpack_exports__;
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-b3eeca82dc15d3ca.js"],
-  "/_error": ["static\u002Fchunks\u002Fpages\u002F_error-95fd436e01e410ce.js"],
-  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-f480a7f42402bc6b.js"],
+  "/": ["static\u002Fchunks\u002Fpages\u002Findex-b3e1dbf9725c4dd5.js"],
+  "/_error": ["static\u002Fchunks\u002Fpages\u002F_error-a56f0e852cd19c98.js"],
+  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-8c903ea74383c3c2.js"],
   "/css": [
     "static\u002Fcss\u002Fded6b86ab9cc0a1f.css",
-    "static\u002Fchunks\u002Fpages\u002Fcss-6cba698e124cc650.js",
+    "static\u002Fchunks\u002Fpages\u002Fcss-0d504051a85f0fe7.js",
   ],
   "/dynamic": [
-    "static\u002Fchunks\u002Fpages\u002Fdynamic-962025a03e29abc1.js",
+    "static\u002Fchunks\u002Fpages\u002Fdynamic-c49fc16237dca2a5.js",
   ],
   "/edge-ssr": [
-    "static\u002Fchunks\u002Fpages\u002Fedge-ssr-ac69d27d7c507a12.js",
+    "static\u002Fchunks\u002Fpages\u002Fedge-ssr-5745a64fa421cb05.js",
   ],
-  "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-542d60b8442e93ee.js"],
-  "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-e82577e955d3ddd0.js"],
-  "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-1b2ab260a6b6afac.js"],
-  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-c0ec4cd09f99730f.js"],
+  "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-d93013a29556304c.js"],
+  "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-78c139c1b3a7077d.js"],
+  "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-dc828d864c231ad8.js"],
+  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-07c1abec25dfa204.js"],
   "/routerDirect": [
-    "static\u002Fchunks\u002Fpages\u002FrouterDirect-a4378fdd445a6dba.js",
+    "static\u002Fchunks\u002Fpages\u002FrouterDirect-21980ec88959c07d.js",
   ],
-  "/script": ["static\u002Fchunks\u002Fpages\u002Fscript-0c22bdc31d7a54f9.js"],
+  "/script": ["static\u002Fchunks\u002Fpages\u002Fscript-4ac368a5fe7f6515.js"],
   "/withRouter": [
-    "static\u002Fchunks\u002Fpages\u002FwithRouter-1c13d6b4c43864b1.js",
+    "static\u002Fchunks\u002Fpages\u002FwithRouter-cd6c8ed384d35879.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__(783);
+          return __webpack_require__(6355);
         },
       ]);
       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__(5761);
+      return __webpack_exec__(1113), __webpack_exec__(3103);
     });
     /******/ 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__(4218);
+          return __webpack_require__(6178);
         },
       ]);
       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__(8170);
+      module.exports = __webpack_require__(811);
 
       /***/
     },
 
-    /***/ 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__(2583);
+          return __webpack_require__(7226);
         },
       ]);
       if (false) {
@@ -28,7 +28,7 @@
       /***/
     },
 
-    /***/ 8170: /***/ function (module, exports, __webpack_require__) {
+    /***/ 811: /***/ 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__(4428);
-      const _ampmode = __webpack_require__(9404);
+      const _ampcontext = __webpack_require__(1911);
+      const _ampmode = __webpack_require__(8505);
       function useAmp() {
         // Don't assign the context value to a variable to save bytes
         return (0, _ampmode.isInAmpMode)(
@@ -67,7 +67,7 @@
       /***/
     },
 
-    /***/ 2583: /***/ function (
+    /***/ 7226: /***/ 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__(3511);
+          return __webpack_require__(7123);
         },
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 3511: /***/ function (
+    /***/ 7123: /***/ 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__(4107);
+        __webpack_require__(3234);
       /* 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 @@
       /***/
     },
 
-    /***/ 4107: /***/ function (module) {
+    /***/ 3234: /***/ function (module) {
       // extracted by mini-css-extract-plugin
       module.exports = { helloWorld: "css_helloWorld__aUdUq" };
 
@@ -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__(1867);
+          return __webpack_require__(3245);
         },
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 2831: /***/ function (module, exports, __webpack_require__) {
+    /***/ 4727: /***/ 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__(8539)
+        __webpack_require__(7666)
       );
       const isServerSide = "object" === "undefined";
       // Normalize loader to return the module as form { default: Component } for `React.lazy`.
@@ -146,7 +146,7 @@
       /***/
     },
 
-    /***/ 5242: /***/ function (
+    /***/ 1591: /***/ function (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -173,7 +173,7 @@
       /***/
     },
 
-    /***/ 8539: /***/ function (
+    /***/ 7666: /***/ 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__(5242);
+      const _loadablecontext = __webpack_require__(1591);
       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
       /***/
     },
 
-    /***/ 1867: /***/ function (
+    /***/ 3245: /***/ 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() */ 446)
-            .then(__webpack_require__.bind(__webpack_require__, 3446)),
+            .e(/* import() */ 574)
+            .then(__webpack_require__.bind(__webpack_require__, 8574)),
         {
           loadableGenerated: {
-            webpack: () => [/*require.resolve*/ 3446],
+            webpack: () => [/*require.resolve*/ 8574],
           },
         }
       );
@@ -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__(2831);
+      module.exports = __webpack_require__(4727);
 
       /***/
     },
@@ -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],
   {
-    /***/ 377: /***/ 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__(2230);
+          return __webpack_require__(9170);
         },
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 2230: /***/ function (
+    /***/ 9170: /***/ 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__(377);
+      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__(4202);
+          return __webpack_require__(792);
         },
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 4202: /***/ function (
+    /***/ 792: /***/ 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__(3373);
+      module.exports = __webpack_require__(2285);
 
       /***/
     },
@@ -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__(1716);
+          return __webpack_require__(3898);
         },
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 1716: /***/ function (
+    /***/ 3898: /***/ 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__(7141);
+          return __webpack_require__(7330);
         },
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 645: /***/ function (module, exports, __webpack_require__) {
+    /***/ 3727: /***/ 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__(3373)
+        __webpack_require__(2285)
       );
-      const _getimgprops = __webpack_require__(9671);
-      const _imageconfig = __webpack_require__(7497);
-      const _imageconfigcontext = __webpack_require__(4281);
-      const _warnonce = __webpack_require__(130);
+      const _getimgprops = __webpack_require__(4813);
+      const _imageconfig = __webpack_require__(6330);
+      const _imageconfigcontext = __webpack_require__(4883);
+      const _warnonce = __webpack_require__(114);
       const _imageloader = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(3545)
+        __webpack_require__(4317)
       );
       // This is replaced by webpack define plugin
       const configEnv = {
@@ -346,7 +346,7 @@
       /***/
     },
 
-    /***/ 9671: /***/ function (
+    /***/ 4813: /***/ function (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -362,9 +362,9 @@
           return getImgProps;
         },
       });
-      const _warnonce = __webpack_require__(130);
-      const _imageblursvg = __webpack_require__(4890);
-      const _imageconfig = __webpack_require__(7497);
+      const _warnonce = __webpack_require__(114);
+      const _imageblursvg = __webpack_require__(7318);
+      const _imageconfig = __webpack_require__(6330);
       const VALID_LOADING_VALUES =
         /* unused pure expression or super */ null && [
           "lazy",
@@ -729,7 +729,7 @@
       /***/
     },
 
-    /***/ 4890: /***/ function (__unused_webpack_module, exports) {
+    /***/ 7318: /***/ function (__unused_webpack_module, exports) {
       "use strict";
       /**
        * A shared function, used on both client and server, to generate a SVG blur placeholder.
@@ -791,7 +791,7 @@
       /***/
     },
 
-    /***/ 4971: /***/ function (
+    /***/ 4741: /***/ function (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -818,11 +818,11 @@
         },
       });
       const _interop_require_default = __webpack_require__(8266);
-      const _getimgprops = __webpack_require__(9671);
-      const _warnonce = __webpack_require__(130);
-      const _imagecomponent = __webpack_require__(645);
+      const _getimgprops = __webpack_require__(4813);
+      const _warnonce = __webpack_require__(114);
+      const _imagecomponent = __webpack_require__(3727);
       const _imageloader = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(3545)
+        __webpack_require__(4317)
       );
       const unstable_getImgProps = (imgProps) => {
         (0, _warnonce.warnOnce)(
@@ -854,7 +854,7 @@
       /***/
     },
 
-    /***/ 3545: /***/ function (__unused_webpack_module, exports) {
+    /***/ 4317: /***/ function (__unused_webpack_module, exports) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -889,7 +889,7 @@
       /***/
     },
 
-    /***/ 7141: /***/ function (
+    /***/ 7330: /***/ function (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -910,8 +910,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",
@@ -941,12 +941,12 @@
       /***/
     },
 
-    /***/ 3960: /***/ function (
+    /***/ 8249: /***/ function (
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(4971);
+      module.exports = __webpack_require__(4741);
 
       /***/
     },
@@ -957,7 +957,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__(8743);
+          return __webpack_require__(8933);
         },
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 8743: /***/ function (
+    /***/ 8933: /***/ 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__(2891);
+          return __webpack_require__(4265);
         },
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 2078: /***/ function (module, exports) {
+    /***/ 1258: /***/ function (module, exports) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -86,7 +86,7 @@
       /***/
     },
 
-    /***/ 4263: /***/ function (module, exports, __webpack_require__) {
+    /***/ 452: /***/ function (module, exports, __webpack_require__) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -98,7 +98,7 @@
           return getDomainLocale;
         },
       });
-      const _normalizetrailingslash = __webpack_require__(2424);
+      const _normalizetrailingslash = __webpack_require__(3537);
       const basePath =
         /* unused pure expression or super */ null && (false || "");
       function getDomainLocale(path, locale, locales, domainLocales) {
@@ -122,7 +122,7 @@
       /***/
     },
 
-    /***/ 8027: /***/ function (module, exports, __webpack_require__) {
+    /***/ 8681: /***/ function (module, exports, __webpack_require__) {
       "use strict";
       /* __next_internal_client_entry_do_not_use__  cjs */
       Object.defineProperty(exports, "__esModule", {
@@ -138,17 +138,17 @@
       const _react = /*#__PURE__*/ _interop_require_default._(
         __webpack_require__(959)
       );
-      const _resolvehref = __webpack_require__(1698);
-      const _islocalurl = __webpack_require__(5216);
-      const _formaturl = __webpack_require__(9262);
-      const _utils = __webpack_require__(7590);
-      const _addlocale = __webpack_require__(6901);
-      const _routercontext = __webpack_require__(4700);
-      const _approutercontext = __webpack_require__(7922);
-      const _useintersection = __webpack_require__(8734);
-      const _getdomainlocale = __webpack_require__(4263);
-      const _addbasepath = __webpack_require__(3841);
-      const _routerreducertypes = __webpack_require__(2078);
+      const _resolvehref = __webpack_require__(9432);
+      const _islocalurl = __webpack_require__(8867);
+      const _formaturl = __webpack_require__(1347);
+      const _utils = __webpack_require__(2005);
+      const _addlocale = __webpack_require__(6486);
+      const _routercontext = __webpack_require__(4918);
+      const _approutercontext = __webpack_require__(9750);
+      const _useintersection = __webpack_require__(253);
+      const _getdomainlocale = __webpack_require__(452);
+      const _addbasepath = __webpack_require__(2247);
+      const _routerreducertypes = __webpack_require__(1258);
       const prefetched = new Set();
       function prefetch(router, href, as, options, appOptions, isAppRouter) {
         if (false) {
@@ -567,7 +567,7 @@
       /***/
     },
 
-    /***/ 8734: /***/ function (module, exports, __webpack_require__) {
+    /***/ 253: /***/ function (module, exports, __webpack_require__) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -580,7 +580,7 @@
         },
       });
       const _react = __webpack_require__(959);
-      const _requestidlecallback = __webpack_require__(251);
+      const _requestidlecallback = __webpack_require__(2657);
       const hasIntersectionObserver =
         typeof IntersectionObserver === "function";
       const observers = new Map();
@@ -693,7 +693,7 @@
       /***/
     },
 
-    /***/ 2891: /***/ function (
+    /***/ 4265: /***/ function (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -709,7 +709,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__
@@ -740,12 +740,12 @@
       /***/
     },
 
-    /***/ 4595: /***/ function (
+    /***/ 9495: /***/ function (
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(8027);
+      module.exports = __webpack_require__(8681);
 
       /***/
     },
@@ -756,7 +756,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__(1053);
+          return __webpack_require__(8831);
         },
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 1053: /***/ function (
+    /***/ 8831: /***/ 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__(5761);
+      module.exports = __webpack_require__(3103);
 
       /***/
     },
@@ -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__(5353);
+          return __webpack_require__(1231);
         },
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 5353: /***/ function (
+    /***/ 1231: /***/ 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_IMP
Post job cleanup.
[command]/usr/bin/git version
git version 2.41.0
Temporarily overriding HOME='/home/runner/work/_temp/a522f1eb-e533-4f31-86e3-09758ca4426d' 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: ce33f083a5167b90d900f2d40e81845d7f266384

alexkirsz and others added 5 commits July 13, 2023 15:38
Co-authored-by: Tobias Koppers <sokra@users.noreply.github.com>
Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
alexkirsz added a commit to vercel/turbo that referenced this pull request Jul 13, 2023
### Description

Required for vercel/next.js#52259

### Testing Instructions

N/A

Co-authored-by: Tobias Koppers <sokra@users.noreply.github.com>
@alexkirsz alexkirsz marked this pull request as ready for review July 13, 2023 14:56
@sokra sokra changed the title Next.rs API Turobpack: Next.rs API (part 1) Jul 13, 2023
@kodiakhq kodiakhq bot merged commit ca1129c into canary Jul 13, 2023
74 checks passed
@kodiakhq kodiakhq bot deleted the sokra-alex/next-api branch July 13, 2023 17:17
NicholasLYang pushed a commit to vercel/turbo that referenced this pull request Jul 21, 2023
commit 6c178d2
Author: Alex Kirszenberg <alex.kirszenberg@vercel.com>
Date:   Thu Jul 20 18:06:03 2023 +0200

    Extract shared HMR utils to their own modules/crates (#5576)

    ### Description

    These will also be used in Next.js by the Nexturbo dev API.

    ### Testing Instructions

    N/A

commit e5f43a5
Author: Chris Olszewski <chris.olszewski@vercel.com>
Date:   Wed Jul 19 18:03:12 2023 -0700

    fix: pnpm alias workspace deps (#5569)

    ### Description

    Fixes #5441

    Adds support for [referencing workspaces through
    aliases](https://pnpm.io/workspaces#referencing-workspace-packages-through-aliases)
    by properly resolving them to the correct workspace. Before we would
    mark a package as being an external dependency (or if the alias was a
    valid workspace depend on the incorrect one).

    This PR now recognizes when `workspace:` dependency references a
    different package than the name that's used in the `package.json`.

    Note for reviewers:
    This probably isn't the cleanest solution in either Rust or Go, but
    while we need to maintain two codepaths this keeps the code roughly
    equivalent.

    ### Testing Instructions

    Added unit tests on the Go side.

    Tested manually with a repository where `web` specified it's dependency
    on `@scope/ui` as `"ui": "workspace:@scope/ui@*" and verified that:
    - `turbo run build`: `@scope/ui` finished building before building
    `web`, this hits the Go impl
    - `turbo prune --scope=web`: `@scope/ui` was included in the pruned
    repository, this hits the Rust impl

    ---------

    Co-authored-by: Chris Olszewski <Chris Olszewski>

commit 396bf45
Author: Chris Olszewski <chris.olszewski@vercel.com>
Date:   Wed Jul 19 13:31:35 2023 -0700

    feat: port prune to rust (#5531)

    ### Description

    Port prune from Go to Rust and remove the old Go implementation. To
    achieve this the following was done:
     - Parsing the lockfile during package graph construction
     - Porting utility functions
    - Some minor changes in `turborepo_paths`, these were primarily moving
    methods from their owned to borrowed counterparts
    - Expanding `package.json` parsing to grab some of the information
    pruning requires
    - Porting of the prune command itself. I added some additional structure
    compared to the Go version, but not enough that comparing it to the Go
    version should be difficult

    Notes for reviewers:
    I apologize that this PR ended up touching as much as it did. Reviewing
    the PR by commit should at least make all of the changes and their
    impacts obvious. Commits before `2d4154c` are already on main and can be
    skipped.

    ### Testing Instructions

    Existing unit tests and integration tests for file copying and package
    graph traversal. Actual lockfile behavior is mostly covered by unit
    tests that were ported when the lockfile were ported.

    Also did various manual testing with pruning monorepos.

    ---------

    Co-authored-by: Chris Olszewski <Chris Olszewski>

commit 007b574
Author: Alex Kirszenberg <alex.kirszenberg@vercel.com>
Date:   Wed Jul 19 22:17:39 2023 +0200

    Remove unnecessary ValueDebugFormat item, hide Vc field (#5567)

    ### Description

    This removes unnecessary items from the IDE's autosuggestion.

    I'd also like to get rid of all the `*_inline` suggestions, but RA will
    ignore `#[doc(hidden)]` when inside the same crate. I don't think
    there's a way to indicate "never, ever suggest this item". We could move
    some of these to be private to some generated module, but that module
    would probably still show up as a top level suggestion.

    ### Testing Instructions

    Automated tests.

commit d13b812
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Wed Jul 19 11:32:07 2023 -0700

    release(turborepo): 1.10.9 (#5565)

    Co-authored-by: Turbobot <turbobot@vercel.com>
    Co-authored-by: Chris Olszewski <Chris Olszewski>

commit 229a2a4
Author: Tobias Koppers <tobias.koppers@googlemail.com>
Date:   Wed Jul 19 16:08:16 2023 +0200

    make with_layer return Vc<Self> (#5563)

    ### Description

    Using the new ability to return `Vc<Self>`

    Co-authored-by: Alex Kirszenberg <alexkirsz@users.noreply.github.com>

commit c78593b
Author: Greg Soltis <greg.soltis@vercel.com>
Date:   Tue Jul 18 20:11:16 2023 -0700

    feat(turborepo): Add proxy support to create-turbo and turbo-gen (#5554)

    Co-authored-by: Greg Soltis <Greg Soltis>

commit 5ab8ac0
Author: Chris Olszewski <chris.olszewski@vercel.com>
Date:   Tue Jul 18 15:06:38 2023 -0700

    fix(lockfile): Fix directory resolution variant (#5551)

    ### Description

    Fixes #5529

    During the Rust migration I must've messed up the directory field name.
    Double checked against
    [`@pnpm/lockfile-types`](https://github.com/pnpm/pnpm/blob/main/lockfile/lockfile-types/src/index.ts#L86)
    to make sure all of the fields are correct now.

    `PackageResolution` should be an enum, but the fact that tarballs are an
    untagged variant makes that tricky to communicate to `serde`. A struct
    does enough for us.

    ### Testing Instructions

    Added new unit test to make sure we don't lose any fields for the
    various variants of the `resolution` field

    ---------

    Co-authored-by: Chris Olszewski <Chris Olszewski>

commit ca7e3e4
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Tue Jul 18 14:51:34 2023 -0700

    release(turborepo): 1.10.9-canary.0 (#5559)

    Co-authored-by: Turbobot <turbobot@vercel.com>

commit fc5e2b0
Author: Chris Olszewski <chris.olszewski@vercel.com>
Date:   Tue Jul 18 13:16:16 2023 -0700

    chore: no longer convert in relative unix path constructor (#5552)

    ### Description

    To quote @gsoltis:
    > In general:
    > - constructors should validate, to the extent they can (not much for
    `unix` paths, but can verify relative)
    > - conversions should be explicit. You need to know where you're
    starting from. If this were an AnchoredSystemPath on windows, the `\` ->
    `/` makes sense. If it's a literal from e.g. a tar file, then it
    doesn't.

    Reviewers Notes:
    - Opening up this PR in VSCode and using `Find All References` on the
    constructor is useful for double checking that I didn't miss a
    conversion.
    - Clippy error appeared on local when I made these changes. Fixed it
    just in case that would block CI
    - Moved `to_unix` to `AnchoredSystemPath` instead of
    `AnchoredSystemPathBuf` now that we have deref coercion which will
    automatically convert `&AnchroedSystemPathBuf` to `&AnchoredSystemPath`
    and moving the method allows it to be called from either type.

    ### Testing Instructions

    Looked through all uses of `RelativeUnixPathBuf::new` to see if there
    were places that depended on the conversion. The only use that was
    obvious was the usage in `cache_archive/create.rs`. `dotEnv` was the
    only other place where we possibly were converting a system path to a
    relative unix. We don't specify that `dotEnv` entries should be unix
    relative, so we might've been accidentally supporting system paths, but

    ---------

    Co-authored-by: Chris Olszewski <Chris Olszewski>

commit 3eb3a5f
Author: Tobias Koppers <tobias.koppers@googlemail.com>
Date:   Tue Jul 18 21:21:51 2023 +0200

    Ensure output assets reference only output assets (#5557)

    ### Description

    Ensure output assets reference only output assets

    next.js PR: vercel/next.js#52832

commit 22f0bf4
Author: Nathan Hammond <nathan.hammond@vercel.com>
Date:   Wed Jul 19 02:59:12 2023 +0800

    Remove binary optimization step. (#5543)

    Co-authored-by: Nathan Hammond <Nathan Hammond>

commit 5955625
Author: mknichel <7355009+mknichel@users.noreply.github.com>
Date:   Tue Jul 18 10:09:28 2023 -0700

    fix(turborepo): Allow users to select a Vercel team when linking a repository to a Space (#5533)

commit 814f0a2
Author: Leah <github.leah@hrmny.sh>
Date:   Tue Jul 18 17:31:33 2023 +0200

    feat(turbopack-ecmascript): implement acyclic SCC graph for ESM imports (#5506)

commit 46bb9b7
Author: Tobias Koppers <tobias.koppers@googlemail.com>
Date:   Tue Jul 18 13:41:01 2023 +0200

    move references() to specific traits (#5555)

    ### Description

    preparation for making different typed references

    next.js PR: vercel/next.js#52822

commit 56edd9e
Author: Greg Soltis <greg.soltis@vercel.com>
Date:   Mon Jul 17 21:37:26 2023 -0700

    feat(turborepo): Add task ids to failure reports (#5535)

    Co-authored-by: Greg Soltis <Greg Soltis>

commit ea934d1
Author: Greg Soltis <greg.soltis@vercel.com>
Date:   Mon Jul 17 13:52:59 2023 -0700

    chore(turborepo): Turborepo owns the examples-tests directory (#5540)

    Co-authored-by: Greg Soltis <Greg Soltis>

commit 5279282
Author: Alex Kirszenberg <alex.kirszenberg@vercel.com>
Date:   Mon Jul 17 19:55:22 2023 +0200

    Add missing feature to syn (#5547)

    ### Description

    Cargo check currently fails with:

    ```
    error[E0277]: `syn::Type` doesn't implement `Debug`
     --> crates/turbo-tasks-macros-shared/src/primitive_input.rs:8:5
      |
    6 | #[derive(Debug)]
      |          ----- in this derive macro expansion
    7 | pub struct PrimitiveInput {
    8 |     pub ty: Type,
      |     ^^^^^^^^^^^^ `syn::Type` cannot be formatted using `{:?}` because it doesn't implement `Debug`
      |
      = help: the trait `Debug` is not implemented for `syn::Type`
      = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)

    For more information about this error, try `rustc --explain E0277`.
    error: could not compile `turbo-tasks-macros-shared` (lib) due to previous error
    ```

    This is because because turbo-tasks-macros-shared (which is missing a
    syn feature to enable the debug trait) is part of the workspace default
    members, while turbo-tasks-macros (which has the feature) isn’t.

    ### Testing Instructions

    `cargo check`

commit 78f6cc8
Author: Chris Olszewski <chris.olszewski@vercel.com>
Date:   Mon Jul 17 10:40:13 2023 -0700

    docs: document log order (#5463)

    ### Description

    Adds documentation for `--log-order` #3916 including a callout of our
    special behavior on Github Actions.

    ### Testing Instructions

    Eyes

    ---------

    Co-authored-by: Chris Olszewski <Chris Olszewski>

commit 0771b80
Author: Amit Gurbani <amit1994.gurbani@gmail.com>
Date:   Mon Jul 17 23:09:44 2023 +0530

    Update storybook.mdx (#5537)

    ### Description

    Storybook now can be built with node 18, hence removing this from
    documentation.

    Co-authored-by: Anthony Shew <anthony.shew@vercel.com>

commit 91ca2ae
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Mon Jul 17 10:11:06 2023 -0700

    release(turborepo): 1.10.8 (#5546)

    Co-authored-by: Turbobot <turbobot@vercel.com>

commit d24075f
Author: Greg Soltis <greg.soltis@vercel.com>
Date:   Mon Jul 17 08:12:38 2023 -0700

    fix(turborepo): Set corepack dir for examples (#5539)

    ### Description

    - set a corepack install directory per example to avoid concurrency
    issues
     - set the `PATH` for the test to include the corepack directory

    ### Testing Instructions

    Examples tests

    ---------

    Co-authored-by: Greg Soltis <Greg Soltis>

commit 46d0945
Author: Nicholas Yang <nicholas.yang@vercel.com>
Date:   Mon Jul 17 11:07:45 2023 -0400

    feat(turborepo): FS Cache (#5473)

    ### Description

    Implements the FS cache on top of CacheItem. ~~This is stacked on top of
    #5065~~

    ### Testing Instructions

    Uses the same round-trip tests of HTTP cache.

    ---------

    Co-authored-by: --global <Nicholas Yang>
    Co-authored-by: Chris Olszewski <chris.olszewski@vercel.com>

commit 135c08f
Author: Tobias Koppers <tobias.koppers@googlemail.com>
Date:   Mon Jul 17 16:44:56 2023 +0200

    add direct cycle detection (#5544)

    ### Description

    very simple detection of dumb mistakes

commit 02f55d9
Author: Tobias Koppers <tobias.koppers@googlemail.com>
Date:   Mon Jul 17 16:33:34 2023 +0200

    move Asset::ident to more specific traits (#5528)

    ### Description

    * `ident()` is no longer on Asset, but on `Module`, `Source`,
    `OutputAsset` or `Chunk`
    * On the way, more AssetVc types needed to be switched to more specific
    traits

    next.js PR: vercel/next.js#52683

commit b069545
Author: Alex Kirszenberg <alex.kirszenberg@vercel.com>
Date:   Mon Jul 17 13:41:18 2023 +0200

    AdjacencyMap::reverse_topological (+ fixes) (#5527)

    ### Description

    This adds `AdjacencyMap::reverse_topological`, which is similar to
    `AdjacencyMap::into_reverse_topological` but doesn't consume the graph.

    This also:
    * Makes `AdjacencyMap` storable in `turbo_tasks::value`s;
    * Fixes ValueDebugFormat and TraceRawVcs derive macros so they support
    generic argument and bounds properly.

    ### Testing Instructions

    N/A

commit 8433a32
Author: Alex Kirszenberg <alex.kirszenberg@vercel.com>
Date:   Sun Jul 16 14:07:49 2023 +0200

    Vc<T> and Turbo Engine type system improvements (#4587)

    This PR changes our Turbo Engine code generation from generating
    additional `TypeVc` types to allowing the `Vc<Type>` notation. It also
    brings other improvements to the Turbo Engine type system, like more
    type-safe downcasting and upcasting, better support for primitives, the
    possibility to accept `&self` in `#[value_impl]` implementations
    everywhere, and a bunch of other changes.

    link WEB-379

commit fdc358a
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Fri Jul 14 20:31:07 2023 -0700

    release(turborepo): 1.10.8-canary.2 (#5534)

    Co-authored-by: Turbobot <turbobot@vercel.com>

commit 26fee25
Author: Greg Soltis <greg.soltis@vercel.com>
Date:   Fri Jul 14 11:13:59 2023 -0700

    fix(turborepo): Export and match on our copy of BasicUI (#5532)

    Co-authored-by: Greg Soltis <Greg Soltis>

commit b0ea0a8
Author: Greg Soltis <greg.soltis@vercel.com>
Date:   Fri Jul 14 10:39:52 2023 -0700

    fix(turborepo): Rebuild turbo if Go code has changed (#5530)

    Co-authored-by: Greg Soltis <Greg Soltis>

commit b6bb8fe
Author: Chris Olszewski <chris.olszewski@vercel.com>
Date:   Fri Jul 14 06:47:13 2023 -0700

    chore: use fs-err in turborepo fs related libs (#5517)

    ### Description
    Swaps our usage of various `fs` methods to use `fs-err` instead. To
    quote the `fs-err` docs:

    > Using [std::fs](https://doc.rust-lang.org/stable/std/fs/), if this
    code fails:
    >
    > `let file = File::open("does not exist.txt")?;`
    >
    > The error message that Rust gives you isn't very useful:
    >
    > `The system cannot find the file specified. (os error 2)`
    >
    > ...but if we use `fs-err` instead, our error contains more actionable
    information:
    >
    > ```failed to open file `does not exist.txt`
    > caused by: The system cannot find the file specified. (os error 2)```

    ### Testing Instructions
    Existing unit tests pass

    Co-authored-by: Chris Olszewski <Chris Olszewski>

commit f3a36e7
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Thu Jul 13 15:27:21 2023 -0700

    release(turborepo): 1.10.8-canary.1 (#5523)

    Co-authored-by: Turbobot <turbobot@vercel.com>

commit cabca3c
Author: Nicholas Yang <nicholas.yang@vercel.com>
Date:   Thu Jul 13 16:12:46 2023 -0400

    chore: Extend examples timeout (#5504)

    ### Description

    We get a lot of timeout failures on examples tests. Since this almost
    always requires re-running the test, which adds another 30 minutes of
    compute time, it's probably better to extend the timeout to 40 minutes.

    ### Testing Instructions

    <!--
      Give a quick description of steps to test your changes.
    -->

    Co-authored-by: nicholaslyang <Nicholas Yang>

commit 7c18c80
Author: Greg Soltis <greg.soltis@vercel.com>
Date:   Thu Jul 13 12:58:14 2023 -0700

    Implement hashing fallback (#5505)

    Co-authored-by: Greg Soltis <Greg Soltis>

commit 67e71c7
Author: Anthony Shew <anthony.shew@vercel.com>
Date:   Thu Jul 13 11:35:08 2023 -0700

    Better spot for link. (#5520)

commit a14180e
Author: Anthony Shew <anthony.shew@vercel.com>
Date:   Thu Jul 13 11:24:26 2023 -0700

    Fix link. (#5518)

commit b7aaa7b
Author: Nicholas Yang <nicholas.yang@vercel.com>
Date:   Thu Jul 13 13:18:44 2023 -0400

    chore: Added clippy deny all to crates (#5514)

    Co-authored-by: nicholaslyang <Nicholas Yang>

commit e3c68fa
Author: Alex Kirszenberg <alex.kirszenberg@vercel.com>
Date:   Thu Jul 13 16:34:27 2023 +0200

    Add any_content_changed_of_output_assets (#5513)

    ### Description

    Required for vercel/next.js#52259

    ### Testing Instructions

    N/A

    Co-authored-by: Tobias Koppers <sokra@users.noreply.github.com>

commit 4022f2b
Author: Tobias Koppers <tobias.koppers@googlemail.com>
Date:   Thu Jul 13 14:54:55 2023 +0200

    OutputAsset trait (#5507)

    ### Description

    adding a trait to all assets in the output graph

    next.js PR: vercel/next.js#52606
Akatsuki230 pushed a commit to Akatsuki230/ml-website that referenced this pull request Aug 7, 2023
<p>This PR was automatically created by Snyk using the credentials of a
real user.</p><br /><h3>Snyk has created this PR to upgrade next from
13.3.0 to 13.4.10.</h3>

:information_source: Keep your dependencies up-to-date. This makes it
easier to fix existing vulnerabilities and to more quickly identify and
fix newly disclosed vulnerabilities when they affect your project.
<hr/>

- The recommended version is **147 versions** ahead of your current
version.
- The recommended version was released **24 days ago**, on 2023-07-14.


<details>
<summary><b>Release notes</b></summary>
<br/>
  <details>
    <summary>Package name: <b>next</b></summary>
    <ul>
      <li>
<b>13.4.10</b> - <a
href="https://snyk.io/redirect/github/vercel/next.js/releases/tag/v13.4.10">2023-07-14</a></br><a
href="https://snyk.io/redirect/github/vercel/next.js/releases/tag/v13.4.10">
Read more </a>
      </li>
      <li>
<b>13.4.10-canary.8</b> - <a
href="https://snyk.io/redirect/github/vercel/next.js/releases/tag/v13.4.10-canary.8">2023-07-14</a></br><h3>Core
Changes</h3>
<ul>
<li>Catch layout error in global-error: <a class="issue-link
js-issue-link" data-error-text="Failed to load title"
data-id="1803338866" data-permission-text="Title is private"
data-url="vercel/next.js#52654"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52654/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52654">#52654</a></li>
<li>Fix per-entry client reference manifest for grouped and named
segments: <a class="issue-link js-issue-link" data-error-text="Failed to
load title" data-id="1803803255" data-permission-text="Title is private"
data-url="vercel/next.js#52664"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52664/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52664">#52664</a></li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a class="user-mention notranslate"
data-hovercard-type="user" data-hovercard-url="/users/huozhi/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/huozhi">@ huozhi</a> and <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/shuding/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/shuding">@ shuding</a> for
helping!</p>
      </li>
      <li>
<b>13.4.10-canary.7</b> - <a
href="https://snyk.io/redirect/github/vercel/next.js/releases/tag/v13.4.10-canary.7">2023-07-13</a></br><h3>Core
Changes</h3>
<ul>
<li>Turbopack: OutputAsset trait: <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="1801615297"
data-permission-text="Title is private"
data-url="vercel/next.js#52606"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52606/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52606">#52606</a></li>
<li>chore(deps): bump
<code>react@18.3.0-canary-9377e1010-20230712</code>: <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="1803164219" data-permission-text="Title is private"
data-url="vercel/next.js#52649"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52649/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52649">#52649</a></li>
<li>Ensure root layout only render once per request: <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="1800689355" data-permission-text="Title is private"
data-url="vercel/next.js#52589"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52589/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52589">#52589</a></li>
<li>Fix bundle path normalization for /index routes: <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="1803189020" data-permission-text="Title is private"
data-url="vercel/next.js#52650"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52650/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52650">#52650</a></li>
<li>Turobpack: Next.rs API (part 1): <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="1789687777"
data-permission-text="Title is private"
data-url="vercel/next.js#52259"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52259/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52259">#52259</a></li>
<li>Clean up promises after resolving: <a class="issue-link
js-issue-link" data-error-text="Failed to load title"
data-id="1803403620" data-permission-text="Title is private"
data-url="vercel/next.js#52656"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52656/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52656">#52656</a></li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a class="user-mention notranslate"
data-hovercard-type="user" data-hovercard-url="/users/sokra/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/sokra">@ sokra</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/styfle/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/styfle">@ styfle</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/huozhi/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/huozhi">@ huozhi</a>, and <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/shuding/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/shuding">@ shuding</a> for
helping!</p>
      </li>
      <li>
<b>13.4.10-canary.6</b> - <a
href="https://snyk.io/redirect/github/vercel/next.js/releases/tag/v13.4.10-canary.6">2023-07-13</a></br><h3>Core
Changes</h3>
<ul>
<li>Move App Pages rendering into bundle: <a class="issue-link
js-issue-link" data-error-text="Failed to load title"
data-id="1790381278" data-permission-text="Title is private"
data-url="vercel/next.js#52290"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52290/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52290">#52290</a></li>
<li>feat(turbopack): support native webp: <a class="issue-link
js-issue-link" data-error-text="Failed to load title"
data-id="1790305672" data-permission-text="Title is private"
data-url="vercel/next.js#52285"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52285/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52285">#52285</a></li>
<li>Set sizes prop to any for svg icons: <a class="issue-link
js-issue-link" data-error-text="Failed to load title"
data-id="1801863410" data-permission-text="Title is private"
data-url="vercel/next.js#52609"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52609/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52609">#52609</a></li>
</ul>
<h3>Documentation Changes</h3>
<ul>
<li>docs: fix typo in CSS Modules Description: <a class="issue-link
js-issue-link" data-error-text="Failed to load title"
data-id="1801317881" data-permission-text="Title is private"
data-url="vercel/next.js#52599"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52599/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52599">#52599</a></li>
<li>docs: Fix typo in generate-static-params.mdx: <a class="issue-link
js-issue-link" data-error-text="Failed to load title"
data-id="1801088084" data-permission-text="Title is private"
data-url="vercel/next.js#52595"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52595/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52595">#52595</a></li>
<li>docs: move MUI to supported list: <a class="issue-link
js-issue-link" data-error-text="Failed to load title"
data-id="1800579646" data-permission-text="Title is private"
data-url="vercel/next.js#52584"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52584/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52584">#52584</a></li>
<li>docs: Add missing closing tag for react hydration error message.: <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="1801771615" data-permission-text="Title is private"
data-url="vercel/next.js#52607"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52607/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52607">#52607</a></li>
</ul>
<h3>Misc Changes</h3>
<ul>
<li>Remove unnecessary <code>body-parser</code>: <a class="issue-link
js-issue-link" data-error-text="Failed to load title"
data-id="1800208239" data-permission-text="Title is private"
data-url="vercel/next.js#52580"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52580/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52580">#52580</a></li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/Ryan-Dia/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/Ryan-Dia">@ Ryan-Dia</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/Terro216/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/Terro216">@ Terro216</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/wyattjoh/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/wyattjoh">@ wyattjoh</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/kwonoj/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/kwonoj">@ kwonoj</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/balazsorban44/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/balazsorban44">@
balazsorban44</a>, <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/anthonyshew/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/anthonyshew">@ anthonyshew</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/suhaotian/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/suhaotian">@ suhaotian</a>, and <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/huozhi/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/huozhi">@ huozhi</a> for
helping!</p>
      </li>
      <li>
<b>13.4.10-canary.5</b> - <a
href="https://snyk.io/redirect/github/vercel/next.js/releases/tag/v13.4.10-canary.5">2023-07-12</a></br><h3>Core
Changes</h3>
<ul>
<li>fix(next/jest): jest can not load server-only code: <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="1793595885" data-permission-text="Title is private"
data-url="vercel/next.js#52393"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52393/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52393">#52393</a></li>
<li>Turbopack: App Router build POC: <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="1782453231"
data-permission-text="Title is private"
data-url="vercel/next.js#52036"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52036/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52036">#52036</a></li>
<li>Avoid loading Next.js config again in render workers: <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="1800616758" data-permission-text="Title is private"
data-url="vercel/next.js#52587"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52587/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52587">#52587</a></li>
<li>Add more extensions to <code>next-types-plugin</code> for
<code>Node16</code>/<code>NodeNext</code>: <a class="issue-link
js-issue-link" data-error-text="Failed to load title"
data-id="1799374654" data-permission-text="Title is private"
data-url="vercel/next.js#52562"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52562/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52562">#52562</a></li>
<li>feat(<a class="issue-link js-issue-link notranslate" rel="noopener
noreferrer nofollow"
href="https://linear.app/vercel/issue/NEXT-swc">next-swc</a>): report
native bindings load err code: <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="1799731510"
data-permission-text="Title is private"
data-url="vercel/next.js#52570"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52570/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52570">#52570</a></li>
</ul>
<h3>Documentation Changes</h3>
<ul>
<li>Fixed grammar in 03-react-essentials.mdx: <a class="issue-link
js-issue-link" data-error-text="Failed to load title"
data-id="1801215960" data-permission-text="Title is private"
data-url="vercel/next.js#52597"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52597/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52597">#52597</a></li>
</ul>
<h3>Example Changes</h3>
<ul>
<li>Update examples: counter.tsx - Don't need empty space: <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="1800050935" data-permission-text="Title is private"
data-url="vercel/next.js#52576"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52576/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52576">#52576</a></li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a class="user-mention notranslate"
data-hovercard-type="user" data-hovercard-url="/users/feugy/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/feugy">@ feugy</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/alexkirsz/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/alexkirsz">@ alexkirsz</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/shuding/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/shuding">@ shuding</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/karlhorky/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/karlhorky">@ karlhorky</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/starunaway/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/starunaway">@ starunaway</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/FernandVEYRIER/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/FernandVEYRIER">@
FernandVEYRIER</a>, and <a class="user-mention notranslate"
data-hovercard-type="user" data-hovercard-url="/users/kwonoj/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/kwonoj">@ kwonoj</a> for
helping!</p>
      </li>
      <li>
<b>13.4.10-canary.4</b> - <a
href="https://snyk.io/redirect/github/vercel/next.js/releases/tag/v13.4.10-canary.4">2023-07-12</a></br><h3>Core
Changes</h3>
<ul>
<li>Turbopack: Source trait: <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="1797001553"
data-permission-text="Title is private"
data-url="vercel/next.js#52511"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52511/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52511">#52511</a></li>
<li>Update id handling for fonts: <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="1799307870"
data-permission-text="Title is private"
data-url="vercel/next.js#52559"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52559/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52559">#52559</a></li>
<li>feat(turbopack): support swc transform plugins : <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="1728115527" data-permission-text="Title is private"
data-url="vercel/next.js#50401"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/50401/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/50401">#50401</a></li>
<li>feat(babel-loader): provide migration help message for babel config:
<a class="issue-link js-issue-link" data-error-text="Failed to load
title" data-id="1799423777" data-permission-text="Title is private"
data-url="vercel/next.js#52565"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52565/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52565">#52565</a></li>
<li>Support global-error for ssr fallback: <a class="issue-link
js-issue-link" data-error-text="Failed to load title"
data-id="1799902157" data-permission-text="Title is private"
data-url="vercel/next.js#52573"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52573/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52573">#52573</a></li>
<li>Fix ISR case with bot requests: <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="1800258243"
data-permission-text="Title is private"
data-url="vercel/next.js#52581"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52581/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52581">#52581</a></li>
</ul>
<h3>Documentation Changes</h3>
<ul>
<li>chore(docs): fix a few typos in image loader docs: <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="1796882111" data-permission-text="Title is private"
data-url="vercel/next.js#52508"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52508/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52508">#52508</a></li>
<li>docs: fix grammar on Server Actions: <a class="issue-link
js-issue-link" data-error-text="Failed to load title"
data-id="1799256469" data-permission-text="Title is private"
data-url="vercel/next.js#52556"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52556/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52556">#52556</a></li>
</ul>
<h3>Misc Changes</h3>
<ul>
<li>fix: <code>not-found.tsx</code> with <code>output: export</code>: <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="1797728778" data-permission-text="Title is private"
data-url="vercel/next.js#52526"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52526/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52526">#52526</a></li>
<li>use <code>npm pack</code> instead of <code>yarn pack</code>: <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="1799375569" data-permission-text="Title is private"
data-url="vercel/next.js#52563"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52563/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52563">#52563</a></li>
<li>ci: skip build-native for docs only change: <a class="issue-link
js-issue-link" data-error-text="Failed to load title"
data-id="1799828397" data-permission-text="Title is private"
data-url="vercel/next.js#52571"
data-hovercard-type="pull_request"
data-hovercard-url="/vercel/next.js/pull/52571/hovercard"
href="https://snyk.io/redirect/github/vercel/next.js/pull/52571">#52571</a></li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a class="user-mention notranslate"
data-hovercard-type="user" data-hovercard-url="/users/styfle/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/styfle">@ styfle</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/sokra/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/sokra">@ sokra</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/ijjk/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/ijjk">@ ijjk</a>, @ djreillo, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/kwonoj/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/kwonoj">@ kwonoj</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/gnoff/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/gnoff">@ gnoff</a>, and <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/huozhi/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/huozhi">@ huozhi</a> for
helping!</p>
      </li>
      <li>
<b>13.4.10-canary.3</b> - <a
href="https://snyk.io/redirect/github/vercel/next.js/releases/tag/v13.4.10-canary.3">2023-07-10</a></br><a
href="https://snyk.io/redirect/github/vercel/next.js/releases/tag/v13.4.10-canary.3">
Read more </a>
      </li>
      <li>
<b>13.4.10-canary.2</b> - <a
href="https://snyk.io/redirect/github/vercel/next.js/releases/tag/v13.4.10-canary.2">2023-07-10</a></br><a
href="https://snyk.io/redirect/github/vercel/next.js/releases/tag/v13.4.10-canary.2">
Read more </a>
      </li>
      <li>
<b>13.4.10-canary.1</b> - <a
href="https://snyk.io/redirect/github/vercel/next.js/releases/tag/v13.4.10-canary.1">2023-07-10</a></br><a
href="https://snyk.io/redirect/github/vercel/next.js/releases/tag/v13.4.10-canary.1">
Read more </a>
      </li>
      <li>
<b>13.4.10-canary.0</b> - <a
href="https://snyk.io/redirect/github/vercel/next.js/releases/tag/v13.4.10-canary.0">2023-07-07</a></br><a
href="https://snyk.io/redirect/github/vercel/next.js/releases/tag/v13.4.10-canary.0">
Read more </a>
      </li>
      <li>
        <b>13.4.9</b> - 2023-07-06
      </li>
      <li>
        <b>13.4.9-canary.3</b> - 2023-07-06
      </li>
      <li>
        <b>13.4.9-canary.2</b> - 2023-07-05
      </li>
      <li>
        <b>13.4.9-canary.1</b> - 2023-07-04
      </li>
      <li>
        <b>13.4.9-canary.0</b> - 2023-07-04
      </li>
      <li>
        <b>13.4.8</b> - 2023-07-03
      </li>
      <li>
        <b>13.4.8-canary.15</b> - 2023-07-03
      </li>
      <li>
        <b>13.4.8-canary.14</b> - 2023-06-30
      </li>
      <li>
        <b>13.4.8-canary.13</b> - 2023-06-30
      </li>
      <li>
        <b>13.4.8-canary.12</b> - 2023-06-29
      </li>
      <li>
        <b>13.4.8-canary.11</b> - 2023-06-29
      </li>
      <li>
        <b>13.4.8-canary.10</b> - 2023-06-29
      </li>
      <li>
        <b>13.4.8-canary.9</b> - 2023-06-29
      </li>
      <li>
        <b>13.4.8-canary.8</b> - 2023-06-28
      </li>
      <li>
        <b>13.4.8-canary.7</b> - 2023-06-27
      </li>
      <li>
        <b>13.4.8-canary.6</b> - 2023-06-27
      </li>
      <li>
        <b>13.4.8-canary.5</b> - 2023-06-26
      </li>
      <li>
        <b>13.4.8-canary.4</b> - 2023-06-26
      </li>
      <li>
        <b>13.4.8-canary.3</b> - 2023-06-26
      </li>
      <li>
        <b>13.4.8-canary.2</b> - 2023-06-24
      </li>
      <li>
        <b>13.4.8-canary.1</b> - 2023-06-22
      </li>
      <li>
        <b>13.4.8-canary.0</b> - 2023-06-22
      </li>
      <li>
        <b>13.4.7</b> - 2023-06-21
      </li>
      <li>
        <b>13.4.7-canary.4</b> - 2023-06-21
      </li>
      <li>
        <b>13.4.7-canary.3</b> - 2023-06-21
      </li>
      <li>
        <b>13.4.7-canary.2</b> - 2023-06-20
      </li>
      <li>
        <b>13.4.7-canary.1</b> - 2023-06-16
      </li>
      <li>
        <b>13.4.7-canary.0</b> - 2023-06-16
      </li>
      <li>
        <b>13.4.6</b> - 2023-06-15
      </li>
      <li>
        <b>13.4.6-canary.8</b> - 2023-06-15
      </li>
      <li>
        <b>13.4.6-canary.7</b> - 2023-06-15
      </li>
      <li>
        <b>13.4.6-canary.6</b> - 2023-06-15
      </li>
      <li>
        <b>13.4.6-canary.5</b> - 2023-06-14
      </li>
      <li>
        <b>13.4.6-canary.4</b> - 2023-06-14
      </li>
      <li>
        <b>13.4.6-canary.3</b> - 2023-06-14
      </li>
      <li>
        <b>13.4.6-canary.2</b> - 2023-06-13
      </li>
      <li>
        <b>13.4.6-canary.0</b> - 2023-06-12
      </li>
      <li>
        <b>13.4.5</b> - 2023-06-10
      </li>
      <li>
        <b>13.4.5-canary.12</b> - 2023-06-10
      </li>
      <li>
        <b>13.4.5-canary.11</b> - 2023-06-10
      </li>
      <li>
        <b>13.4.5-canary.9</b> - 2023-06-09
      </li>
      <li>
        <b>13.4.5-canary.8</b> - 2023-06-08
      </li>
      <li>
        <b>13.4.5-canary.7</b> - 2023-06-07
      </li>
      <li>
        <b>13.4.5-canary.6</b> - 2023-06-05
      </li>
      <li>
        <b>13.4.5-canary.5</b> - 2023-06-05
      </li>
      <li>
        <b>13.4.5-canary.4</b> - 2023-06-02
      </li>
      <li>
        <b>13.4.5-canary.3</b> - 2023-06-01
      </li>
      <li>
        <b>13.4.5-canary.2</b> - 2023-05-30
      </li>
      <li>
        <b>13.4.5-canary.1</b> - 2023-05-30
      </li>
      <li>
        <b>13.4.5-canary.0</b> - 2023-05-26
      </li>
      <li>
        <b>13.4.4</b> - 2023-05-25
      </li>
      <li>
        <b>13.4.4-canary.13</b> - 2023-05-25
      </li>
      <li>
        <b>13.4.4-canary.12</b> - 2023-05-25
      </li>
      <li>
        <b>13.4.4-canary.11</b> - 2023-05-25
      </li>
      <li>
        <b>13.4.4-canary.10</b> - 2023-05-25
      </li>
      <li>
        <b>13.4.4-canary.9</b> - 2023-05-24
      </li>
      <li>
        <b>13.4.4-canary.8</b> - 2023-05-24
      </li>
      <li>
        <b>13.4.4-canary.7</b> - 2023-05-24
      </li>
      <li>
        <b>13.4.4-canary.6</b> - 2023-05-23
      </li>
      <li>
        <b>13.4.4-canary.5</b> - 2023-05-23
      </li>
      <li>
        <b>13.4.4-canary.4</b> - 2023-05-23
      </li>
      <li>
        <b>13.4.4-canary.3</b> - 2023-05-23
      </li>
      <li>
        <b>13.4.4-canary.2</b> - 2023-05-23
      </li>
      <li>
        <b>13.4.4-canary.1</b> - 2023-05-22
      </li>
      <li>
        <b>13.4.4-canary.0</b> - 2023-05-19
      </li>
      <li>
        <b>13.4.3</b> - 2023-05-19
      </li>
      <li>
        <b>13.4.3-canary.3</b> - 2023-05-19
      </li>
      <li>
        <b>13.4.3-canary.2</b> - 2023-05-17
      </li>
      <li>
        <b>13.4.3-canary.1</b> - 2023-05-16
      </li>
      <li>
        <b>13.4.3-canary.0</b> - 2023-05-12
      </li>
      <li>
        <b>13.4.2</b> - 2023-05-11
      </li>
      <li>
        <b>13.4.2-canary.6</b> - 2023-05-11
      </li>
      <li>
        <b>13.4.2-canary.5</b> - 2023-05-11
      </li>
      <li>
        <b>13.4.2-canary.4</b> - 2023-05-10
      </li>
      <li>
        <b>13.4.2-canary.3</b> - 2023-05-09
      </li>
      <li>
        <b>13.4.2-canary.2</b> - 2023-05-08
      </li>
      <li>
        <b>13.4.2-canary.1</b> - 2023-05-08
      </li>
      <li>
        <b>13.4.2-canary.0</b> - 2023-05-08
      </li>
      <li>
        <b>13.4.1</b> - 2023-05-05
      </li>
      <li>
        <b>13.4.1-canary.2</b> - 2023-05-05
      </li>
      <li>
        <b>13.4.1-canary.1</b> - 2023-05-04
      </li>
      <li>
        <b>13.4.1-canary.0</b> - 2023-05-04
      </li>
      <li>
        <b>13.4.0</b> - 2023-05-04
      </li>
      <li>
        <b>13.3.5-canary.12</b> - 2023-05-04
      </li>
      <li>
        <b>13.3.5-canary.11</b> - 2023-05-04
      </li>
      <li>
        <b>13.3.5-canary.10</b> - 2023-05-04
      </li>
      <li>
        <b>13.3.5-canary.9</b> - 2023-05-04
      </li>
      <li>
        <b>13.3.5-canary.8</b> - 2023-05-04
      </li>
      <li>
        <b>13.3.5-canary.7</b> - 2023-05-03
      </li>
      <li>
        <b>13.3.5-canary.6</b> - 2023-05-03
      </li>
      <li>
        <b>13.3.5-canary.5</b> - 2023-05-03
      </li>
      <li>
        <b>13.3.5-canary.4</b> - 2023-05-03
      </li>
      <li>
        <b>13.3.5-canary.3</b> - 2023-05-02
      </li>
      <li>
        <b>13.3.5-canary.2</b> - 2023-05-02
      </li>
      <li>
        <b>13.3.5-canary.1</b> - 2023-05-01
      </li>
      <li>
        <b>13.3.5-canary.0</b> - 2023-05-01
      </li>
      <li>
        <b>13.3.4</b> - 2023-05-01
      </li>
      <li>
        <b>13.3.4-canary.0</b> - 2023-05-01
      </li>
      <li>
        <b>13.3.3</b> - 2023-05-01
      </li>
      <li>
        <b>13.3.3-canary.2</b> - 2023-05-01
      </li>
      <li>
        <b>13.3.3-canary.1</b> - 2023-04-30
      </li>
      <li>
        <b>13.3.3-canary.0</b> - 2023-04-30
      </li>
      <li>
        <b>13.3.2</b> - 2023-04-29
      </li>
      <li>
        <b>13.3.2-canary.14</b> - 2023-04-29
      </li>
      <li>
        <b>13.3.2-canary.13</b> - 2023-04-29
      </li>
      <li>
        <b>13.3.2-canary.12</b> - 2023-04-28
      </li>
      <li>
        <b>13.3.2-canary.11</b> - 2023-04-27
      </li>
      <li>
        <b>13.3.2-canary.10</b> - 2023-04-27
      </li>
      <li>
        <b>13.3.2-canary.9</b> - 2023-04-27
      </li>
      <li>
        <b>13.3.2-canary.8</b> - 2023-04-27
      </li>
      <li>
        <b>13.3.2-canary.7</b> - 2023-04-26
      </li>
      <li>
        <b>13.3.2-canary.6</b> - 2023-04-25
      </li>
      <li>
        <b>13.3.2-canary.5</b> - 2023-04-25
      </li>
      <li>
        <b>13.3.2-canary.4</b> - 2023-04-24
      </li>
      <li>
        <b>13.3.2-canary.3</b> - 2023-04-24
      </li>
      <li>
        <b>13.3.2-canary.2</b> - 2023-04-24
      </li>
      <li>
        <b>13.3.1</b> - 2023-04-21
      </li>
      <li>
        <b>13.3.1-canary.19</b> - 2023-04-21
      </li>
      <li>
        <b>13.3.1-canary.18</b> - 2023-04-21
      </li>
      <li>
        <b>13.3.1-canary.17</b> - 2023-04-20
      </li>
      <li>
        <b>13.3.1-canary.16</b> - 2023-04-19
      </li>
      <li>
        <b>13.3.1-canary.15</b> - 2023-04-19
      </li>
      <li>
        <b>13.3.1-canary.14</b> - 2023-04-18
      </li>
      <li>
        <b>13.3.1-canary.13</b> - 2023-04-18
      </li>
      <li>
        <b>13.3.1-canary.12</b> - 2023-04-18
      </li>
      <li>
        <b>13.3.1-canary.11</b> - 2023-04-17
      </li>
      <li>
        <b>13.3.1-canary.10</b> - 2023-04-17
      </li>
      <li>
        <b>13.3.1-canary.9</b> - 2023-04-17
      </li>
      <li>
        <b>13.3.1-canary.8</b> - 2023-04-15
      </li>
      <li>
        <b>13.3.1-canary.7</b> - 2023-04-14
      </li>
      <li>
        <b>13.3.1-canary.6</b> - 2023-04-13
      </li>
      <li>
        <b>13.3.1-canary.5</b> - 2023-04-12
      </li>
      <li>
        <b>13.3.1-canary.4</b> - 2023-04-10
      </li>
      <li>
        <b>13.3.1-canary.3</b> - 2023-04-08
      </li>
      <li>
        <b>13.3.1-canary.2</b> - 2023-04-07
      </li>
      <li>
        <b>13.3.1-canary.1</b> - 2023-04-07
      </li>
      <li>
        <b>13.3.1-canary.0</b> - 2023-04-07
      </li>
      <li>
        <b>13.3.0</b> - 2023-04-06
      </li>
    </ul>
from <a
href="https://snyk.io/redirect/github/vercel/next.js/releases">next
GitHub release notes</a>
  </details>
</details>


<details>
  <summary><b>Commit messages</b></summary>
  </br>
  <details>
    <summary>Package name: <b>next</b></summary>
    <ul>
<li><a
href="https://snyk.io/redirect/github/vercel/next.js/commit/c2a54aaecb77050962803af0947be276e4835a90">c2a54aa</a>
v13.4.10</li>
<li><a
href="https://snyk.io/redirect/github/vercel/next.js/commit/62aa2d221c6fbd943ad43a6010990bc31b78d281">62aa2d2</a>
v13.4.10-canary.8</li>
<li><a
href="https://snyk.io/redirect/github/vercel/next.js/commit/b957f52be3987abe958254bc5fa27bf04ffbeb6d">b957f52</a>
Fix per-entry client reference manifest for grouped and named segments
(#52664)</li>
<li><a
href="https://snyk.io/redirect/github/vercel/next.js/commit/79227ee74a09e17fb71658afe99e41d7ddb60adb">79227ee</a>
Catch layout error in global-error (#52654)</li>
<li><a
href="https://snyk.io/redirect/github/vercel/next.js/commit/3cde104d642b1448d32d7fc18598300992affe39">3cde104</a>
v13.4.10-canary.7</li>
<li><a
href="https://snyk.io/redirect/github/vercel/next.js/commit/8822630dd6ac28d6fe4e8c3b643756964aa57f1c">8822630</a>
Clean up promises after resolving (#52656)</li>
<li><a
href="https://snyk.io/redirect/github/vercel/next.js/commit/ca1129c46310708cf721eeeb55599b2635c93e7b">ca1129c</a>
Turobpack: Next.rs API (part 1) (#52259)</li>
<li><a
href="https://snyk.io/redirect/github/vercel/next.js/commit/88084e6b7a5e1cbf5445d1374bf6ca27e9058a0a">88084e6</a>
Fix bundle path normalization for /index routes (#52650)</li>
<li><a
href="https://snyk.io/redirect/github/vercel/next.js/commit/9313c51bc424aa29b683138ba09e519c2c16b550">9313c51</a>
Ensure root layout only render once per request (#52589)</li>
<li><a
href="https://snyk.io/redirect/github/vercel/next.js/commit/76cb8cf361a90ba2d74c56c29937a17519376f1d">76cb8cf</a>
chore(deps): bump &#x60;react@18.3.0-canary-9377e1010-20230712&#x60;
(#52649)</li>
<li><a
href="https://snyk.io/redirect/github/vercel/next.js/commit/ee28f947fb91c56b54ad3001a65dc52ba050c15d">ee28f94</a>
Turbopack: OutputAsset trait (#52606)</li>
<li><a
href="https://snyk.io/redirect/github/vercel/next.js/commit/c56915842a41ce5cd1328b36dff44004352c9f15">c569158</a>
v13.4.10-canary.6</li>
<li><a
href="https://snyk.io/redirect/github/vercel/next.js/commit/76eec86a6b08c6bdf43b03202b32c351597ce5c6">76eec86</a>
Set sizes prop to any for svg icons (#52609)</li>
<li><a
href="https://snyk.io/redirect/github/vercel/next.js/commit/4c4bee7112a8b8fa28e8efc5560094e6fa24801f">4c4bee7</a>
Remove unnecessary &#x60;body-parser&#x60; (#52580)</li>
<li><a
href="https://snyk.io/redirect/github/vercel/next.js/commit/b89424e46171bfc3686f2d8085ec1070eb351bf3">b89424e</a>
docs: Add missing closing tag for react hydration error message.
(#52607)</li>
<li><a
href="https://snyk.io/redirect/github/vercel/next.js/commit/82cf9a670e8346687872f613a73db3ad2cc47a7c">82cf9a6</a>
docs: move MUI to supported list (#52584)</li>
<li><a
href="https://snyk.io/redirect/github/vercel/next.js/commit/e1baffcec2cab3afd6efed69dfa3939275f6276f">e1baffc</a>
feat(turbopack): support native webp (#52285)</li>
<li><a
href="https://snyk.io/redirect/github/vercel/next.js/commit/bb0fecc68f998f8df59a759dc86db563d49583d1">bb0fecc</a>
Move App Pages rendering into bundle (#52290)</li>
<li><a
href="https://snyk.io/redirect/github/vercel/next.js/commit/f321864c5e42a8dac74540ccf05997d6a53d8a57">f321864</a>
docs: Fix typo in generate-static-params.mdx (#52595)</li>
<li><a
href="https://snyk.io/redirect/github/vercel/next.js/commit/967c501c7b3a9f6d505593cd9310d7782fd07ef6">967c501</a>
docs: fix typo in CSS Modules Description (#52599)</li>
<li><a
href="https://snyk.io/redirect/github/vercel/next.js/commit/22cb1bf0279ddfc1c584bb38335d699a5e959c1f">22cb1bf</a>
v13.4.10-canary.5</li>
<li><a
href="https://snyk.io/redirect/github/vercel/next.js/commit/d93231eb195235b4d05c7aee5cb89eff9b949482">d93231e</a>
feat(next-swc): report native bindings load err code (#52570)</li>
<li><a
href="https://snyk.io/redirect/github/vercel/next.js/commit/1989f4943d6abd6bcae0c82144fb05103d322f87">1989f49</a>
Fixed grammar in 03-react-essentials.mdx (#52597)</li>
<li><a
href="https://snyk.io/redirect/github/vercel/next.js/commit/3c3f50ddde5aa937e7bbbed6091715cc531a34f0">3c3f50d</a>
Update examples: counter.tsx - Don&#x27;t need empty space (#52576)</li>
    </ul>

<a
href="https://snyk.io/redirect/github/vercel/next.js/compare/79031e608a1b871ab4f3f3228cc1a66d93bf470b...c2a54aaecb77050962803af0947be276e4835a90">Compare</a>
  </details>
</details>
<hr/>

**Note:** *You are seeing this because you or someone else with access
to this repository has authorized Snyk to open upgrade PRs.*

For more information: <img
src="https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiJmNzY4ZDYyNi1kMzI2LTQ0OTQtYTdmMS02MDc1MGQ5MDM2YWUiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6ImY3NjhkNjI2LWQzMjYtNDQ5NC1hN2YxLTYwNzUwZDkwMzZhZSJ9fQ=="
width="0" height="0"/>

🧐 [View latest project
report](https://app.snyk.io/org/mldkyt/project/3ccd7b12-4b33-4fd0-b25e-55cacf6ab277?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)

🛠 [Adjust upgrade PR
settings](https://app.snyk.io/org/mldkyt/project/3ccd7b12-4b33-4fd0-b25e-55cacf6ab277/settings/integration?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)

🔕 [Ignore this dependency or unsubscribe from future upgrade
PRs](https://app.snyk.io/org/mldkyt/project/3ccd7b12-4b33-4fd0-b25e-55cacf6ab277/settings/integration?pkg&#x3D;next&amp;utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr#auto-dep-upgrades)

<!---
(snyk:metadata:{"prId":"f768d626-d326-4494-a7f1-60750d9036ae","prPublicId":"f768d626-d326-4494-a7f1-60750d9036ae","dependencies":[{"name":"next","from":"13.3.0","to":"13.4.10"}],"packageManager":"npm","type":"auto","projectUrl":"https://app.snyk.io/org/mldkyt/project/3ccd7b12-4b33-4fd0-b25e-55cacf6ab277?utm_source=github&utm_medium=referral&page=upgrade-pr","projectPublicId":"3ccd7b12-4b33-4fd0-b25e-55cacf6ab277","env":"prod","prType":"upgrade","vulns":[],"issuesToFix":[],"upgrade":[],"upgradeInfo":{"versionsDiff":147,"publishedDate":"2023-07-14T09:21:07.604Z"},"templateVariants":[],"hasFixes":false,"isMajorUpgrade":false,"isBreakingChange":false,"priorityScoreList":[]})
--->
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 13, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
created-by: Turbopack team PRs by the turbopack team locked Turbopack Related to Turbopack with Next.js. type: next
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants