Skip to content

Commit

Permalink
v10.1.4-canary.14
Browse files Browse the repository at this point in the history
  • Loading branch information
timneutkens committed Apr 21, 2021
1 parent 755fc6f commit 03cc0f8
Show file tree
Hide file tree
Showing 15 changed files with 20 additions and 20 deletions.
2 changes: 1 addition & 1 deletion lerna.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,5 @@
"registry": "https://registry.npmjs.org/"
}
},
"version": "10.1.4-canary.13"
"version": "10.1.4-canary.14"
}
2 changes: 1 addition & 1 deletion packages/create-next-app/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "create-next-app",
"version": "10.1.4-canary.13",
"version": "10.1.4-canary.14",
"keywords": [
"react",
"next",
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin-next/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/eslint-plugin-next",
"version": "10.1.4-canary.13",
"version": "10.1.4-canary.14",
"description": "ESLint plugin for NextJS.",
"main": "lib/index.js",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion packages/next-bundle-analyzer/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/bundle-analyzer",
"version": "10.1.4-canary.13",
"version": "10.1.4-canary.14",
"main": "index.js",
"license": "MIT",
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion packages/next-codemod/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/codemod",
"version": "10.1.4-canary.13",
"version": "10.1.4-canary.14",
"license": "MIT",
"dependencies": {
"chalk": "4.1.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/next-env/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/env",
"version": "10.1.4-canary.13",
"version": "10.1.4-canary.14",
"keywords": [
"react",
"next",
Expand Down
2 changes: 1 addition & 1 deletion packages/next-mdx/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/mdx",
"version": "10.1.4-canary.13",
"version": "10.1.4-canary.14",
"main": "index.js",
"license": "MIT",
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion packages/next-plugin-google-analytics/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/plugin-google-analytics",
"version": "10.1.4-canary.13",
"version": "10.1.4-canary.14",
"repository": {
"url": "vercel/next.js",
"directory": "packages/next-plugin-google-analytics"
Expand Down
2 changes: 1 addition & 1 deletion packages/next-plugin-sentry/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/plugin-sentry",
"version": "10.1.4-canary.13",
"version": "10.1.4-canary.14",
"repository": {
"url": "vercel/next.js",
"directory": "packages/next-plugin-sentry"
Expand Down
2 changes: 1 addition & 1 deletion packages/next-plugin-storybook/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/plugin-storybook",
"version": "10.1.4-canary.13",
"version": "10.1.4-canary.14",
"repository": {
"url": "vercel/next.js",
"directory": "packages/next-plugin-storybook"
Expand Down
2 changes: 1 addition & 1 deletion packages/next-polyfill-module/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/polyfill-module",
"version": "10.1.4-canary.13",
"version": "10.1.4-canary.14",
"description": "A standard library polyfill for ES Modules supporting browsers (Edge 16+, Firefox 60+, Chrome 61+, Safari 10.1+)",
"main": "dist/polyfill-module.js",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion packages/next-polyfill-nomodule/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/polyfill-nomodule",
"version": "10.1.4-canary.13",
"version": "10.1.4-canary.14",
"description": "A polyfill for non-dead, nomodule browsers.",
"main": "dist/polyfill-nomodule.js",
"license": "MIT",
Expand Down
12 changes: 6 additions & 6 deletions packages/next/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "next",
"version": "10.1.4-canary.13",
"version": "10.1.4-canary.14",
"description": "The React Framework",
"main": "./dist/server/next.js",
"license": "MIT",
Expand Down Expand Up @@ -62,10 +62,10 @@
"dependencies": {
"@babel/runtime": "7.12.5",
"@hapi/accept": "5.0.1",
"@next/env": "10.1.4-canary.13",
"@next/polyfill-module": "10.1.4-canary.13",
"@next/react-dev-overlay": "10.1.4-canary.13",
"@next/react-refresh-utils": "10.1.4-canary.13",
"@next/env": "10.1.4-canary.14",
"@next/polyfill-module": "10.1.4-canary.14",
"@next/react-dev-overlay": "10.1.4-canary.14",
"@next/react-refresh-utils": "10.1.4-canary.14",
"@opentelemetry/api": "0.14.0",
"assert": "2.0.0",
"ast-types": "0.13.2",
Expand Down Expand Up @@ -148,7 +148,7 @@
"@babel/preset-typescript": "7.12.7",
"@babel/traverse": "^7.12.10",
"@babel/types": "7.12.12",
"@next/polyfill-nomodule": "10.1.4-canary.13",
"@next/polyfill-nomodule": "10.1.4-canary.14",
"@taskr/clear": "1.1.0",
"@taskr/esnext": "1.1.0",
"@taskr/watch": "1.1.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/react-dev-overlay/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/react-dev-overlay",
"version": "10.1.4-canary.13",
"version": "10.1.4-canary.14",
"description": "A development-only overlay for developing React applications.",
"repository": {
"url": "vercel/next.js",
Expand Down
2 changes: 1 addition & 1 deletion packages/react-refresh-utils/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/react-refresh-utils",
"version": "10.1.4-canary.13",
"version": "10.1.4-canary.14",
"description": "An experimental package providing utilities for React Refresh.",
"repository": {
"url": "vercel/next.js",
Expand Down

2 comments on commit 03cc0f8

@ijjk
Copy link
Member

@ijjk ijjk commented on 03cc0f8 Apr 21, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stats from current release

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
buildDuration 11.6s 14.1s ⚠️ +2.5s
buildDurationCached 4.7s 4.2s -515ms
nodeModulesSize 46 MB 46.6 MB ⚠️ +650 kB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
/ failed reqs 0 0
/ total time (seconds) 1.999 2.316 ⚠️ +0.32
/ avg req/sec 1250.76 1079.31 ⚠️ -171.45
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.157 1.212 ⚠️ +0.05
/error-in-render avg req/sec 2160.32 2063.25 ⚠️ -97.07
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
677f882d2ed8..HASH.js gzip 13.4 kB 13.3 kB -67 B
framework.HASH.js gzip 39 kB 39.3 kB ⚠️ +301 B
main-HASH.js gzip 7.12 kB 151 B -6.96 kB
webpack-HASH.js gzip 751 B 993 B ⚠️ +242 B
778-HASH.js gzip N/A 7.12 kB N/A
Overall change 60.2 kB 60.8 kB ⚠️ +636 B
Legacy Client Bundles (polyfills) Overall decrease ✓
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
polyfills-HASH.js gzip 31.3 kB 31.1 kB -157 B
Overall change 31.3 kB 31.1 kB -157 B
Client Pages Overall increase ⚠️
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
_app-HASH.js gzip 1.28 kB 1.3 kB ⚠️ +15 B
_error-HASH.js gzip 3.46 kB 3.68 kB ⚠️ +225 B
amp-HASH.js gzip 536 B 558 B ⚠️ +22 B
css-HASH.js gzip 339 B 363 B ⚠️ +24 B
hooks-HASH.js gzip 887 B 924 B ⚠️ +37 B
index-HASH.js gzip 227 B 243 B ⚠️ +16 B
link-HASH.js gzip 1.65 kB 1.66 kB ⚠️ +14 B
routerDirect..HASH.js gzip 303 B 336 B ⚠️ +33 B
withRouter-HASH.js gzip 302 B 334 B ⚠️ +32 B
21c68fa65a48..217.css gzip 125 B 125 B
Overall change 9.1 kB 9.52 kB ⚠️ +418 B
Client Build Manifests Overall decrease ✓
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
_buildManifest.js gzip 420 B 390 B -30 B
Overall change 420 B 390 B -30 B
Rendered Page Sizes Overall decrease ✓
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
index.html gzip 613 B 610 B -3 B
link.html gzip 620 B 615 B -5 B
withRouter.html gzip 606 B 604 B -2 B
Overall change 1.84 kB 1.83 kB -10 B

Diffs

Diff for _buildManifest.js
@@ -2,7 +2,7 @@ self.__BUILD_MANIFEST = {
   __rewrites: { beforeFiles: [], afterFiles: [], fallback: [] },
   "/": ["static\u002Fchunks\u002Fpages\u002Findex-fec729acd14e4a5583b2.js"],
   "/_error": [
-    "static\u002Fchunks\u002Fpages\u002F_error-b58c108825251cad9b8e.js"
+    "static\u002Fchunks\u002Fpages\u002F_error-55112c9d838f988b054d.js"
   ],
   "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-89a5460cada4d99b567f.js"],
   "/css": [
Diff for _error-HASH.js
@@ -699,8 +699,23 @@ Also adds support for deduplicated `key` properties
           .map(function(c, i) {
             var key = c.key || i;
 
-            if (false) {
-              var newProps;
+            if (true && !props.inAmpMode) {
+              if (
+                c.type === "link" &&
+                c.props["href"] && // TODO(prateekbh@): Replace this with const from `constants` when the tree shaking works.
+                ["https://fonts.googleapis.com/css"].some(function(url) {
+                  return c.props["href"].startsWith(url);
+                })
+              ) {
+                var newProps = _objectSpread({}, c.props || {});
+
+                newProps["data-href"] = newProps["href"];
+                newProps["href"] = undefined;
+                return /*#__PURE__*/ _react["default"].cloneElement(
+                  c,
+                  newProps
+                );
+              }
             }
 
             return /*#__PURE__*/ _react["default"].cloneElement(c, {
Diff for 597-HASH.js
@@ -1436,6 +1436,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
 
       function addLocale(path, locale, defaultLocale) {
         if (false) {
+          var localeLower, pathLower;
         }
 
         return path;
@@ -1443,6 +1444,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
 
       function delLocale(path, locale) {
         if (false) {
+          var localeLower, pathLower, pathname;
         }
 
         return path;
@@ -1917,7 +1919,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
           this.isReady = !!(
             self.__NEXT_DATA__.gssp ||
             self.__NEXT_DATA__.gip ||
-            (!autoExportDynamic && !self.location.search)
+            (!autoExportDynamic && !self.location.search && !false)
           );
           this.isPreview = !!isPreview;
           this.isLocaleDomain = false;
Diff for 778-HASH.js
@@ -406,7 +406,7 @@
         document.getElementById("__NEXT_DATA__").textContent
       );
       window.__NEXT_DATA__ = data;
-      var version = "10.1.3";
+      var version = "10.1.4-canary.14";
       exports.version = version;
 
       var looseToArray = function looseToArray(input) {
@@ -520,12 +520,24 @@
               // - if it is a client-side skeleton (fallback render)
 
               if (
-                router.isSsr &&
+                router.isSsr && // We don't update for 404 requests as this can modify
+                // the asPath unexpectedly e.g. adding basePath when
+                // it wasn't originally present
+                page !== "/404" &&
+                !(
+                  page === "/_error" &&
+                  hydrateProps &&
+                  hydrateProps.pageProps &&
+                  hydrateProps.pageProps.statusCode === 404
+                ) &&
                 (isFallback ||
                   (data.nextExport &&
                     ((0, _isDynamic.isDynamicRoute)(router.pathname) ||
-                      location.search)) ||
-                  (hydrateProps && hydrateProps.__N_SSG && location.search))
+                      location.search ||
+                      false)) ||
+                  (hydrateProps &&
+                    hydrateProps.__N_SSG &&
+                    (location.search || false)))
               ) {
                 // update query on mount for exported pages
                 router.replace(
@@ -599,10 +611,10 @@
         var _ref3 = _asyncToGenerator(
           /*#__PURE__*/ _regeneratorRuntime.mark(function _callee() {
             var opts,
+              initialErr,
               appEntrypoint,
               app,
               mod,
-              initialErr,
               pageEntrypoint,
               _require7,
               isValidElementType,
@@ -625,20 +637,22 @@
                       if (false) {
                       }
 
-                      _context.next = 4;
+                      initialErr = hydrateErr;
+                      _context.prev = 3;
+                      _context.next = 6;
                       return pageLoader.routeLoader.whenEntrypoint("/_app");
 
-                    case 4:
+                    case 6:
                       appEntrypoint = _context.sent;
 
                       if (!("error" in appEntrypoint)) {
-                        _context.next = 7;
+                        _context.next = 9;
                         break;
                       }
 
                       throw appEntrypoint.error;
 
-                    case 7:
+                    case 9:
                       (app = appEntrypoint.component),
                         (mod = appEntrypoint.exports);
                       CachedApp = app;
@@ -677,9 +691,6 @@
                         };
                       }
 
-                      initialErr = hydrateErr;
-                      _context.prev = 11;
-
                       if (true) {
                         _context.next = 16;
                         break;
@@ -745,7 +756,7 @@
 
                     case 29:
                       _context.prev = 29;
-                      _context.t1 = _context["catch"](11);
+                      _context.t1 = _context["catch"](3);
                       // This catches errors like throwing in the top level of a module
                       initialErr = _context.t1;
 
@@ -826,7 +837,7 @@
               },
               _callee,
               null,
-              [[11, 29]]
+              [[3, 29]]
             );
           })
         );
@@ -962,21 +973,26 @@
       var reactRoot = null;
       var shouldUseHydrate = typeof _reactDom["default"].hydrate === "function";
 
-      function renderReactElement(reactEl, domEl) {
+      function renderReactElement(domEl, fn) {
+        // mark start of hydrate/render
+        if (_utils.ST) {
+          performance.mark("beforeRender");
+        }
+
+        var reactEl = fn(
+          shouldUseHydrate ? markHydrateComplete : markRenderComplete
+        );
+
         if (false) {
           var opts;
         } else {
-          // mark start of hydrate/render
-          if (_utils.ST) {
-            performance.mark("beforeRender");
-          } // The check for `.hydrate` is there to support React alternatives like preact
-
+          // The check for `.hydrate` is there to support React alternatives like preact
           if (shouldUseHydrate) {
-            _reactDom["default"].hydrate(reactEl, domEl, markHydrateComplete);
+            _reactDom["default"].hydrate(reactEl, domEl);
 
             shouldUseHydrate = false;
           } else {
-            _reactDom["default"].render(reactEl, domEl, markRenderComplete);
+            _reactDom["default"].render(reactEl, domEl);
           }
         }
       }
@@ -1241,11 +1257,11 @@
           resolvePromise();
         }
 
+        onStart();
+
         var elem = /*#__PURE__*/ _react["default"].createElement(
-          Root,
-          {
-            callback: onRootCommit
-          },
+          _react["default"].Fragment,
+          null,
           /*#__PURE__*/ _react["default"].createElement(Head, {
             callback: onHeadCommit
           }),
@@ -1264,25 +1280,33 @@
               )
             )
           )
-        );
-
-        onStart(); // We catch runtime errors using componentDidCatch which will trigger renderError
+        ); // We catch runtime errors using componentDidCatch which will trigger renderError
 
-        renderReactElement(false ? /*#__PURE__*/ 0 : elem, appElement);
+        renderReactElement(appElement, function(callback) {
+          return /*#__PURE__*/ _react["default"].createElement(
+            Root,
+            {
+              callbacks: [callback, onRootCommit]
+            },
+            false ? /*#__PURE__*/ 0 : elem
+          );
+        });
         return renderPromise;
       }
 
       function Root(_ref9) {
-        var callback = _ref9.callback,
+        var callbacks = _ref9.callbacks,
           children = _ref9.children;
 
-        // We use `useLayoutEffect` to guarantee the callback is executed
-        // as soon as React flushes the update.
+        // We use `useLayoutEffect` to guarantee the callbacks are executed
+        // as soon as React flushes the update
         _react["default"].useLayoutEffect(
           function() {
-            return callback();
+            return callbacks.forEach(function(callback) {
+              return callback();
+            });
           },
-          [callback]
+          [callbacks]
         );
 
         if (undefined) {
Diff for index.html
@@ -7,7 +7,7 @@
     <noscript data-n-css=""></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/webpack-cd65fc63c0c0cd4c0054.js"
+      href="/_next/static/chunks/webpack-b6976af37b4cba711bde.js"
       as="script"
     />
     <link
@@ -17,12 +17,12 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/597-e27c5352823a0901db8c.js"
+      href="/_next/static/chunks/597-ce2d8ad287ead7daa2d3.js"
       as="script"
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/778-53316af9753f067a68b6.js"
+      href="/_next/static/chunks/778-f63dd3b9e43afa14e0c3.js"
       as="script"
     />
     <link
@@ -58,7 +58,7 @@
       src="/_next/static/chunks/polyfills-8683bd742a84c1edd48c.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-cd65fc63c0c0cd4c0054.js"
+      src="/_next/static/chunks/webpack-b6976af37b4cba711bde.js"
       async=""
     ></script>
     <script
@@ -66,11 +66,11 @@
       async=""
     ></script>
     <script
-      src="/_next/static/chunks/597-e27c5352823a0901db8c.js"
+      src="/_next/static/chunks/597-ce2d8ad287ead7daa2d3.js"
       async=""
     ></script>
     <script
-      src="/_next/static/chunks/778-53316af9753f067a68b6.js"
+      src="/_next/static/chunks/778-f63dd3b9e43afa14e0c3.js"
       async=""
     ></script>
     <script
Diff for link.html
@@ -7,7 +7,7 @@
     <noscript data-n-css=""></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/webpack-cd65fc63c0c0cd4c0054.js"
+      href="/_next/static/chunks/webpack-b6976af37b4cba711bde.js"
       as="script"
     />
     <link
@@ -17,12 +17,12 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/597-e27c5352823a0901db8c.js"
+      href="/_next/static/chunks/597-ce2d8ad287ead7daa2d3.js"
       as="script"
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/778-53316af9753f067a68b6.js"
+      href="/_next/static/chunks/778-f63dd3b9e43afa14e0c3.js"
       as="script"
     />
     <link
@@ -63,7 +63,7 @@
       src="/_next/static/chunks/polyfills-8683bd742a84c1edd48c.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-cd65fc63c0c0cd4c0054.js"
+      src="/_next/static/chunks/webpack-b6976af37b4cba711bde.js"
       async=""
     ></script>
     <script
@@ -71,11 +71,11 @@
       async=""
     ></script>
     <script
-      src="/_next/static/chunks/597-e27c5352823a0901db8c.js"
+      src="/_next/static/chunks/597-ce2d8ad287ead7daa2d3.js"
       async=""
     ></script>
     <script
-      src="/_next/static/chunks/778-53316af9753f067a68b6.js"
+      src="/_next/static/chunks/778-f63dd3b9e43afa14e0c3.js"
       async=""
     ></script>
     <script
Diff for withRouter.html
@@ -7,7 +7,7 @@
     <noscript data-n-css=""></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/webpack-cd65fc63c0c0cd4c0054.js"
+      href="/_next/static/chunks/webpack-b6976af37b4cba711bde.js"
       as="script"
     />
     <link
@@ -17,12 +17,12 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/597-e27c5352823a0901db8c.js"
+      href="/_next/static/chunks/597-ce2d8ad287ead7daa2d3.js"
       as="script"
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/778-53316af9753f067a68b6.js"
+      href="/_next/static/chunks/778-f63dd3b9e43afa14e0c3.js"
       as="script"
     />
     <link
@@ -58,7 +58,7 @@
       src="/_next/static/chunks/polyfills-8683bd742a84c1edd48c.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-cd65fc63c0c0cd4c0054.js"
+      src="/_next/static/chunks/webpack-b6976af37b4cba711bde.js"
       async=""
     ></script>
     <script
@@ -66,11 +66,11 @@
       async=""
     ></script>
     <script
-      src="/_next/static/chunks/597-e27c5352823a0901db8c.js"
+      src="/_next/static/chunks/597-ce2d8ad287ead7daa2d3.js"
       async=""
     ></script>
     <script
-      src="/_next/static/chunks/778-53316af9753f067a68b6.js"
+      src="/_next/static/chunks/778-f63dd3b9e43afa14e0c3.js"
       async=""
     ></script>
     <script

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
buildDuration 13.8s 16.8s ⚠️ +3s
buildDurationCached 6.6s 6.6s ⚠️ +9ms
nodeModulesSize 46 MB 46.6 MB ⚠️ +650 kB
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
677f882d2ed8..HASH.js gzip 13.4 kB N/A N/A
framework.HASH.js gzip 39 kB N/A N/A
main-HASH.js gzip 7.12 kB 151 B -6.96 kB
webpack-HASH.js gzip 751 B 993 B ⚠️ +242 B
597-HASH.js gzip N/A 13.3 kB N/A
778-HASH.js gzip N/A 7.12 kB N/A
framework-HASH.js gzip N/A 39.3 kB N/A
Overall change 60.2 kB 60.8 kB ⚠️ +636 B
Legacy Client Bundles (polyfills) Overall decrease ✓
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
polyfills-HASH.js gzip 31.3 kB 31.1 kB -157 B
Overall change 31.3 kB 31.1 kB -157 B
Client Pages Overall increase ⚠️
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
_app-HASH.js gzip 1.28 kB 1.3 kB ⚠️ +15 B
_error-HASH.js gzip 3.46 kB 3.68 kB ⚠️ +225 B
amp-HASH.js gzip 536 B 558 B ⚠️ +22 B
css-HASH.js gzip 339 B 363 B ⚠️ +24 B
hooks-HASH.js gzip 887 B 924 B ⚠️ +37 B
index-HASH.js gzip 227 B 243 B ⚠️ +16 B
link-HASH.js gzip 1.65 kB 1.66 kB ⚠️ +14 B
routerDirect..HASH.js gzip 303 B 336 B ⚠️ +33 B
withRouter-HASH.js gzip 302 B 334 B ⚠️ +32 B
21c68fa65a48..217.css gzip 125 B N/A N/A
99a142a5cfae..804.css gzip N/A 125 B N/A
Overall change 9.1 kB 9.52 kB ⚠️ +418 B
Client Build Manifests Overall decrease ✓
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
_buildManifest.js gzip 420 B 390 B -30 B
Overall change 420 B 390 B -30 B
Serverless bundles Overall increase ⚠️
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
_error.js 1.36 MB 1.39 MB ⚠️ +30.1 kB
404.html 2.67 kB 2.76 kB ⚠️ +96 B
500.html 2.65 kB 2.75 kB ⚠️ +96 B
amp.amp.html 10.8 kB 10.8 kB
amp.html 1.86 kB 1.96 kB ⚠️ +96 B
css.html 2.04 kB 2.13 kB ⚠️ +96 B
hooks.html 1.92 kB 2.01 kB ⚠️ +96 B
index.js 1.36 MB 1.39 MB ⚠️ +30.1 kB
link.js 1.42 MB 1.45 MB ⚠️ +30.5 kB
routerDirect.js 1.41 MB 1.44 MB ⚠️ +30.5 kB
withRouter.js 1.41 MB 1.44 MB ⚠️ +30.4 kB
Overall change 7 MB 7.15 MB ⚠️ +152 kB

Webpack 4 Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
buildDuration 11.4s 11.7s ⚠️ +353ms
buildDurationCached 4.9s 4.9s -35ms
nodeModulesSize 46 MB 46.6 MB ⚠️ +650 kB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
/ failed reqs 0 0
/ total time (seconds) 1.965 2.368 ⚠️ +0.4
/ avg req/sec 1272.08 1055.86 ⚠️ -216.22
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.246 1.24 -0.01
/error-in-render avg req/sec 2006.11 2016.08 +9.97
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
677f882d2ed8..HASH.js gzip 13.4 kB 13.4 kB
framework.HASH.js gzip 39 kB 39 kB
main-HASH.js gzip 7.12 kB 7.2 kB ⚠️ +83 B
webpack-HASH.js gzip 751 B 751 B
Overall change 60.2 kB 60.3 kB ⚠️ +83 B
Legacy Client Bundles (polyfills)
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
polyfills-HASH.js gzip 31.3 kB 31.3 kB
Overall change 31.3 kB 31.3 kB
Client Pages Overall increase ⚠️
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
_app-HASH.js gzip 1.28 kB 1.28 kB
_error-HASH.js gzip 3.46 kB 3.71 kB ⚠️ +255 B
amp-HASH.js gzip 536 B 536 B
css-HASH.js gzip 339 B 339 B
hooks-HASH.js gzip 887 B 887 B
index-HASH.js gzip 227 B 227 B
link-HASH.js gzip 1.65 kB 1.65 kB
routerDirect..HASH.js gzip 303 B 303 B
withRouter-HASH.js gzip 302 B 302 B
21c68fa65a48..217.css gzip 125 B 125 B
Overall change 9.1 kB 9.36 kB ⚠️ +255 B
Client Build Manifests Overall decrease ✓
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
_buildManifest.js gzip 420 B 419 B -1 B
Overall change 420 B 419 B -1 B
Rendered Page Sizes Overall decrease ✓
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
index.html gzip 613 B 612 B -1 B
link.html gzip 620 B 619 B -1 B
withRouter.html gzip 606 B 605 B -1 B
Overall change 1.84 kB 1.84 kB -3 B

Diffs

Diff for _buildManifest.js
@@ -2,7 +2,7 @@ self.__BUILD_MANIFEST = {
   __rewrites: { beforeFiles: [], afterFiles: [], fallback: [] },
   "/": ["static\u002Fchunks\u002Fpages\u002Findex-b460df3d63326fbb06a1.js"],
   "/_error": [
-    "static\u002Fchunks\u002Fpages\u002F_error-6fc12bd74dc2417101e6.js"
+    "static\u002Fchunks\u002Fpages\u002F_error-c75557f170c57b2c8979.js"
   ],
   "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-27f75ad11120c5cdedd1.js"],
   "/css": [
Diff for _error-HASH.js
@@ -540,8 +540,23 @@ Also adds support for deduplicated `key` properties
           .map(function(c, i) {
             var key = c.key || i;
 
-            if (false) {
-              var newProps;
+            if (true && !props.inAmpMode) {
+              if (
+                c.type === "link" &&
+                c.props["href"] && // TODO(prateekbh@): Replace this with const from `constants` when the tree shaking works.
+                ["https://fonts.googleapis.com/css"].some(function(url) {
+                  return c.props["href"].startsWith(url);
+                })
+              ) {
+                var newProps = _objectSpread({}, c.props || {});
+
+                newProps["data-href"] = newProps["href"];
+                newProps["href"] = undefined;
+                return /*#__PURE__*/ _react["default"].cloneElement(
+                  c,
+                  newProps
+                );
+              }
             }
 
             return /*#__PURE__*/ _react["default"].cloneElement(c, {
Diff for 677f882d2ed8..c4df.HASH.js
@@ -1273,6 +1273,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
 
       function addLocale(path, locale, defaultLocale) {
         if (false) {
+          var localeLower, pathLower;
         }
 
         return path;
@@ -1280,6 +1281,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
 
       function delLocale(path, locale) {
         if (false) {
+          var localeLower, pathLower, pathname;
         }
 
         return path;
@@ -1753,7 +1755,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
           this.isReady = !!(
             self.__NEXT_DATA__.gssp ||
             self.__NEXT_DATA__.gip ||
-            (!autoExportDynamic && !self.location.search)
+            (!autoExportDynamic && !self.location.search && !false)
           );
           this.isPreview = !!isPreview;
           this.isLocaleDomain = false;
Diff for main-HASH.js
@@ -408,7 +408,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
         document.getElementById("__NEXT_DATA__").textContent
       );
       window.__NEXT_DATA__ = data;
-      var version = "10.1.3";
+      var version = "10.1.4-canary.14";
       exports.version = version;
 
       var looseToArray = function looseToArray(input) {
@@ -522,12 +522,24 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
               // - if it is a client-side skeleton (fallback render)
 
               if (
-                router.isSsr &&
+                router.isSsr && // We don't update for 404 requests as this can modify
+                // the asPath unexpectedly e.g. adding basePath when
+                // it wasn't originally present
+                page !== "/404" &&
+                !(
+                  page === "/_error" &&
+                  hydrateProps &&
+                  hydrateProps.pageProps &&
+                  hydrateProps.pageProps.statusCode === 404
+                ) &&
                 (isFallback ||
                   (data.nextExport &&
                     ((0, _isDynamic.isDynamicRoute)(router.pathname) ||
-                      location.search)) ||
-                  (hydrateProps && hydrateProps.__N_SSG && location.search))
+                      location.search ||
+                      false)) ||
+                  (hydrateProps &&
+                    hydrateProps.__N_SSG &&
+                    (location.search || false)))
               ) {
                 // update query on mount for exported pages
                 router.replace(
@@ -601,10 +613,10 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
         var _ref3 = _asyncToGenerator(
           /*#__PURE__*/ _regeneratorRuntime.mark(function _callee() {
             var opts,
+              initialErr,
               appEntrypoint,
               app,
               mod,
-              initialErr,
               pageEntrypoint,
               _require7,
               isValidElementType,
@@ -627,20 +639,22 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
                       if (false) {
                       }
 
-                      _context.next = 4;
+                      initialErr = hydrateErr;
+                      _context.prev = 3;
+                      _context.next = 6;
                       return pageLoader.routeLoader.whenEntrypoint("/_app");
 
-                    case 4:
+                    case 6:
                       appEntrypoint = _context.sent;
 
                       if (!("error" in appEntrypoint)) {
-                        _context.next = 7;
+                        _context.next = 9;
                         break;
                       }
 
                       throw appEntrypoint.error;
 
-                    case 7:
+                    case 9:
                       (app = appEntrypoint.component),
                         (mod = appEntrypoint.exports);
                       CachedApp = app;
@@ -679,9 +693,6 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
                         };
                       }
 
-                      initialErr = hydrateErr;
-                      _context.prev = 11;
-
                       if (true) {
                         _context.next = 16;
                         break;
@@ -745,7 +756,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
 
                     case 29:
                       _context.prev = 29;
-                      _context.t1 = _context["catch"](11);
+                      _context.t1 = _context["catch"](3);
                       // This catches errors like throwing in the top level of a module
                       initialErr = _context.t1;
 
@@ -826,7 +837,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
               },
               _callee,
               null,
-              [[11, 29]]
+              [[3, 29]]
             );
           })
         );
@@ -962,21 +973,26 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       var reactRoot = null;
       var shouldUseHydrate = typeof _reactDom["default"].hydrate === "function";
 
-      function renderReactElement(reactEl, domEl) {
+      function renderReactElement(domEl, fn) {
+        // mark start of hydrate/render
+        if (_utils.ST) {
+          performance.mark("beforeRender");
+        }
+
+        var reactEl = fn(
+          shouldUseHydrate ? markHydrateComplete : markRenderComplete
+        );
+
         if (false) {
           var opts;
         } else {
-          // mark start of hydrate/render
-          if (_utils.ST) {
-            performance.mark("beforeRender");
-          } // The check for `.hydrate` is there to support React alternatives like preact
-
+          // The check for `.hydrate` is there to support React alternatives like preact
           if (shouldUseHydrate) {
-            _reactDom["default"].hydrate(reactEl, domEl, markHydrateComplete);
+            _reactDom["default"].hydrate(reactEl, domEl);
 
             shouldUseHydrate = false;
           } else {
-            _reactDom["default"].render(reactEl, domEl, markRenderComplete);
+            _reactDom["default"].render(reactEl, domEl);
           }
         }
       }
@@ -1241,11 +1257,11 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
           resolvePromise();
         }
 
+        onStart();
+
         var elem = /*#__PURE__*/ _react["default"].createElement(
-          Root,
-          {
-            callback: onRootCommit
-          },
+          _react["default"].Fragment,
+          null,
           /*#__PURE__*/ _react["default"].createElement(Head, {
             callback: onHeadCommit
           }),
@@ -1264,25 +1280,33 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
               )
             )
           )
-        );
-
-        onStart(); // We catch runtime errors using componentDidCatch which will trigger renderError
+        ); // We catch runtime errors using componentDidCatch which will trigger renderError
 
-        renderReactElement(false ? /*#__PURE__*/ undefined : elem, appElement);
+        renderReactElement(appElement, function(callback) {
+          return /*#__PURE__*/ _react["default"].createElement(
+            Root,
+            {
+              callbacks: [callback, onRootCommit]
+            },
+            false ? /*#__PURE__*/ undefined : elem
+          );
+        });
         return renderPromise;
       }
 
       function Root(_ref9) {
-        var callback = _ref9.callback,
+        var callbacks = _ref9.callbacks,
           children = _ref9.children;
 
-        // We use `useLayoutEffect` to guarantee the callback is executed
-        // as soon as React flushes the update.
+        // We use `useLayoutEffect` to guarantee the callbacks are executed
+        // as soon as React flushes the update
         _react["default"].useLayoutEffect(
           function() {
-            return callback();
+            return callbacks.forEach(function(callback) {
+              return callback();
+            });
           },
-          [callback]
+          [callbacks]
         );
 
         if (undefined) {
Diff for index.html
@@ -17,12 +17,12 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.d5b389c227c16c686519.js"
+      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.95fa13665e1988802dfd.js"
       as="script"
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/main-9fc0c1058633c9eea817.js"
+      href="/_next/static/chunks/main-6c563aab5768177a3ea5.js"
       as="script"
     />
     <link
@@ -61,11 +61,11 @@
       async=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.d5b389c227c16c686519.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.95fa13665e1988802dfd.js"
       async=""
     ></script>
     <script
-      src="/_next/static/chunks/main-9fc0c1058633c9eea817.js"
+      src="/_next/static/chunks/main-6c563aab5768177a3ea5.js"
       async=""
     ></script>
     <script
Diff for link.html
@@ -17,12 +17,12 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.d5b389c227c16c686519.js"
+      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.95fa13665e1988802dfd.js"
       as="script"
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/main-9fc0c1058633c9eea817.js"
+      href="/_next/static/chunks/main-6c563aab5768177a3ea5.js"
       as="script"
     />
     <link
@@ -66,11 +66,11 @@
       async=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.d5b389c227c16c686519.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.95fa13665e1988802dfd.js"
       async=""
     ></script>
     <script
-      src="/_next/static/chunks/main-9fc0c1058633c9eea817.js"
+      src="/_next/static/chunks/main-6c563aab5768177a3ea5.js"
       async=""
     ></script>
     <script
Diff for withRouter.html
@@ -17,12 +17,12 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.d5b389c227c16c686519.js"
+      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.95fa13665e1988802dfd.js"
       as="script"
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/main-9fc0c1058633c9eea817.js"
+      href="/_next/static/chunks/main-6c563aab5768177a3ea5.js"
       as="script"
     />
     <link
@@ -61,11 +61,11 @@
       async=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.d5b389c227c16c686519.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.95fa13665e1988802dfd.js"
       async=""
     ></script>
     <script
-      src="/_next/static/chunks/main-9fc0c1058633c9eea817.js"
+      src="/_next/static/chunks/main-6c563aab5768177a3ea5.js"
       async=""
     ></script>
     <script

@ijjk
Copy link
Member

@ijjk ijjk commented on 03cc0f8 Apr 21, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stats from current release

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
buildDuration 14.1s 16.8s ⚠️ +2.7s
buildDurationCached 6.1s 5.1s -917ms
nodeModulesSize 46 MB 46.6 MB ⚠️ +650 kB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
/ failed reqs 0 0
/ total time (seconds) 2.416 2.971 ⚠️ +0.56
/ avg req/sec 1034.83 841.55 ⚠️ -193.28
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.726 1.678 -0.05
/error-in-render avg req/sec 1448.16 1490.3 +42.14
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
677f882d2ed8..HASH.js gzip 13.4 kB 13.3 kB -67 B
framework.HASH.js gzip 39 kB 39.3 kB ⚠️ +301 B
main-HASH.js gzip 7.12 kB 151 B -6.96 kB
webpack-HASH.js gzip 751 B 993 B ⚠️ +242 B
778-HASH.js gzip N/A 7.12 kB N/A
Overall change 60.2 kB 60.8 kB ⚠️ +636 B
Legacy Client Bundles (polyfills) Overall decrease ✓
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
polyfills-HASH.js gzip 31.3 kB 31.1 kB -157 B
Overall change 31.3 kB 31.1 kB -157 B
Client Pages Overall increase ⚠️
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
_app-HASH.js gzip 1.28 kB 1.3 kB ⚠️ +15 B
_error-HASH.js gzip 3.46 kB 3.68 kB ⚠️ +225 B
amp-HASH.js gzip 536 B 558 B ⚠️ +22 B
css-HASH.js gzip 339 B 363 B ⚠️ +24 B
hooks-HASH.js gzip 887 B 924 B ⚠️ +37 B
index-HASH.js gzip 227 B 243 B ⚠️ +16 B
link-HASH.js gzip 1.65 kB 1.66 kB ⚠️ +14 B
routerDirect..HASH.js gzip 303 B 336 B ⚠️ +33 B
withRouter-HASH.js gzip 302 B 334 B ⚠️ +32 B
21c68fa65a48..217.css gzip 125 B 125 B
Overall change 9.1 kB 9.52 kB ⚠️ +418 B
Client Build Manifests Overall decrease ✓
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
_buildManifest.js gzip 420 B 390 B -30 B
Overall change 420 B 390 B -30 B
Rendered Page Sizes Overall decrease ✓
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
index.html gzip 613 B 610 B -3 B
link.html gzip 620 B 615 B -5 B
withRouter.html gzip 606 B 604 B -2 B
Overall change 1.84 kB 1.83 kB -10 B

Diffs

Diff for _buildManifest.js
@@ -2,7 +2,7 @@ self.__BUILD_MANIFEST = {
   __rewrites: { beforeFiles: [], afterFiles: [], fallback: [] },
   "/": ["static\u002Fchunks\u002Fpages\u002Findex-fec729acd14e4a5583b2.js"],
   "/_error": [
-    "static\u002Fchunks\u002Fpages\u002F_error-b58c108825251cad9b8e.js"
+    "static\u002Fchunks\u002Fpages\u002F_error-55112c9d838f988b054d.js"
   ],
   "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-89a5460cada4d99b567f.js"],
   "/css": [
Diff for _error-HASH.js
@@ -699,8 +699,23 @@ Also adds support for deduplicated `key` properties
           .map(function(c, i) {
             var key = c.key || i;
 
-            if (false) {
-              var newProps;
+            if (true && !props.inAmpMode) {
+              if (
+                c.type === "link" &&
+                c.props["href"] && // TODO(prateekbh@): Replace this with const from `constants` when the tree shaking works.
+                ["https://fonts.googleapis.com/css"].some(function(url) {
+                  return c.props["href"].startsWith(url);
+                })
+              ) {
+                var newProps = _objectSpread({}, c.props || {});
+
+                newProps["data-href"] = newProps["href"];
+                newProps["href"] = undefined;
+                return /*#__PURE__*/ _react["default"].cloneElement(
+                  c,
+                  newProps
+                );
+              }
             }
 
             return /*#__PURE__*/ _react["default"].cloneElement(c, {
Diff for 597-HASH.js
@@ -1436,6 +1436,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
 
       function addLocale(path, locale, defaultLocale) {
         if (false) {
+          var localeLower, pathLower;
         }
 
         return path;
@@ -1443,6 +1444,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
 
       function delLocale(path, locale) {
         if (false) {
+          var localeLower, pathLower, pathname;
         }
 
         return path;
@@ -1917,7 +1919,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
           this.isReady = !!(
             self.__NEXT_DATA__.gssp ||
             self.__NEXT_DATA__.gip ||
-            (!autoExportDynamic && !self.location.search)
+            (!autoExportDynamic && !self.location.search && !false)
           );
           this.isPreview = !!isPreview;
           this.isLocaleDomain = false;
Diff for 778-HASH.js
@@ -406,7 +406,7 @@
         document.getElementById("__NEXT_DATA__").textContent
       );
       window.__NEXT_DATA__ = data;
-      var version = "10.1.3";
+      var version = "10.1.4-canary.14";
       exports.version = version;
 
       var looseToArray = function looseToArray(input) {
@@ -520,12 +520,24 @@
               // - if it is a client-side skeleton (fallback render)
 
               if (
-                router.isSsr &&
+                router.isSsr && // We don't update for 404 requests as this can modify
+                // the asPath unexpectedly e.g. adding basePath when
+                // it wasn't originally present
+                page !== "/404" &&
+                !(
+                  page === "/_error" &&
+                  hydrateProps &&
+                  hydrateProps.pageProps &&
+                  hydrateProps.pageProps.statusCode === 404
+                ) &&
                 (isFallback ||
                   (data.nextExport &&
                     ((0, _isDynamic.isDynamicRoute)(router.pathname) ||
-                      location.search)) ||
-                  (hydrateProps && hydrateProps.__N_SSG && location.search))
+                      location.search ||
+                      false)) ||
+                  (hydrateProps &&
+                    hydrateProps.__N_SSG &&
+                    (location.search || false)))
               ) {
                 // update query on mount for exported pages
                 router.replace(
@@ -599,10 +611,10 @@
         var _ref3 = _asyncToGenerator(
           /*#__PURE__*/ _regeneratorRuntime.mark(function _callee() {
             var opts,
+              initialErr,
               appEntrypoint,
               app,
               mod,
-              initialErr,
               pageEntrypoint,
               _require7,
               isValidElementType,
@@ -625,20 +637,22 @@
                       if (false) {
                       }
 
-                      _context.next = 4;
+                      initialErr = hydrateErr;
+                      _context.prev = 3;
+                      _context.next = 6;
                       return pageLoader.routeLoader.whenEntrypoint("/_app");
 
-                    case 4:
+                    case 6:
                       appEntrypoint = _context.sent;
 
                       if (!("error" in appEntrypoint)) {
-                        _context.next = 7;
+                        _context.next = 9;
                         break;
                       }
 
                       throw appEntrypoint.error;
 
-                    case 7:
+                    case 9:
                       (app = appEntrypoint.component),
                         (mod = appEntrypoint.exports);
                       CachedApp = app;
@@ -677,9 +691,6 @@
                         };
                       }
 
-                      initialErr = hydrateErr;
-                      _context.prev = 11;
-
                       if (true) {
                         _context.next = 16;
                         break;
@@ -745,7 +756,7 @@
 
                     case 29:
                       _context.prev = 29;
-                      _context.t1 = _context["catch"](11);
+                      _context.t1 = _context["catch"](3);
                       // This catches errors like throwing in the top level of a module
                       initialErr = _context.t1;
 
@@ -826,7 +837,7 @@
               },
               _callee,
               null,
-              [[11, 29]]
+              [[3, 29]]
             );
           })
         );
@@ -962,21 +973,26 @@
       var reactRoot = null;
       var shouldUseHydrate = typeof _reactDom["default"].hydrate === "function";
 
-      function renderReactElement(reactEl, domEl) {
+      function renderReactElement(domEl, fn) {
+        // mark start of hydrate/render
+        if (_utils.ST) {
+          performance.mark("beforeRender");
+        }
+
+        var reactEl = fn(
+          shouldUseHydrate ? markHydrateComplete : markRenderComplete
+        );
+
         if (false) {
           var opts;
         } else {
-          // mark start of hydrate/render
-          if (_utils.ST) {
-            performance.mark("beforeRender");
-          } // The check for `.hydrate` is there to support React alternatives like preact
-
+          // The check for `.hydrate` is there to support React alternatives like preact
           if (shouldUseHydrate) {
-            _reactDom["default"].hydrate(reactEl, domEl, markHydrateComplete);
+            _reactDom["default"].hydrate(reactEl, domEl);
 
             shouldUseHydrate = false;
           } else {
-            _reactDom["default"].render(reactEl, domEl, markRenderComplete);
+            _reactDom["default"].render(reactEl, domEl);
           }
         }
       }
@@ -1241,11 +1257,11 @@
           resolvePromise();
         }
 
+        onStart();
+
         var elem = /*#__PURE__*/ _react["default"].createElement(
-          Root,
-          {
-            callback: onRootCommit
-          },
+          _react["default"].Fragment,
+          null,
           /*#__PURE__*/ _react["default"].createElement(Head, {
             callback: onHeadCommit
           }),
@@ -1264,25 +1280,33 @@
               )
             )
           )
-        );
-
-        onStart(); // We catch runtime errors using componentDidCatch which will trigger renderError
+        ); // We catch runtime errors using componentDidCatch which will trigger renderError
 
-        renderReactElement(false ? /*#__PURE__*/ 0 : elem, appElement);
+        renderReactElement(appElement, function(callback) {
+          return /*#__PURE__*/ _react["default"].createElement(
+            Root,
+            {
+              callbacks: [callback, onRootCommit]
+            },
+            false ? /*#__PURE__*/ 0 : elem
+          );
+        });
         return renderPromise;
       }
 
       function Root(_ref9) {
-        var callback = _ref9.callback,
+        var callbacks = _ref9.callbacks,
           children = _ref9.children;
 
-        // We use `useLayoutEffect` to guarantee the callback is executed
-        // as soon as React flushes the update.
+        // We use `useLayoutEffect` to guarantee the callbacks are executed
+        // as soon as React flushes the update
         _react["default"].useLayoutEffect(
           function() {
-            return callback();
+            return callbacks.forEach(function(callback) {
+              return callback();
+            });
           },
-          [callback]
+          [callbacks]
         );
 
         if (undefined) {
Diff for index.html
@@ -7,7 +7,7 @@
     <noscript data-n-css=""></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/webpack-cd65fc63c0c0cd4c0054.js"
+      href="/_next/static/chunks/webpack-b6976af37b4cba711bde.js"
       as="script"
     />
     <link
@@ -17,12 +17,12 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/597-e27c5352823a0901db8c.js"
+      href="/_next/static/chunks/597-ce2d8ad287ead7daa2d3.js"
       as="script"
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/778-53316af9753f067a68b6.js"
+      href="/_next/static/chunks/778-f63dd3b9e43afa14e0c3.js"
       as="script"
     />
     <link
@@ -58,7 +58,7 @@
       src="/_next/static/chunks/polyfills-8683bd742a84c1edd48c.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-cd65fc63c0c0cd4c0054.js"
+      src="/_next/static/chunks/webpack-b6976af37b4cba711bde.js"
       async=""
     ></script>
     <script
@@ -66,11 +66,11 @@
       async=""
     ></script>
     <script
-      src="/_next/static/chunks/597-e27c5352823a0901db8c.js"
+      src="/_next/static/chunks/597-ce2d8ad287ead7daa2d3.js"
       async=""
     ></script>
     <script
-      src="/_next/static/chunks/778-53316af9753f067a68b6.js"
+      src="/_next/static/chunks/778-f63dd3b9e43afa14e0c3.js"
       async=""
     ></script>
     <script
Diff for link.html
@@ -7,7 +7,7 @@
     <noscript data-n-css=""></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/webpack-cd65fc63c0c0cd4c0054.js"
+      href="/_next/static/chunks/webpack-b6976af37b4cba711bde.js"
       as="script"
     />
     <link
@@ -17,12 +17,12 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/597-e27c5352823a0901db8c.js"
+      href="/_next/static/chunks/597-ce2d8ad287ead7daa2d3.js"
       as="script"
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/778-53316af9753f067a68b6.js"
+      href="/_next/static/chunks/778-f63dd3b9e43afa14e0c3.js"
       as="script"
     />
     <link
@@ -63,7 +63,7 @@
       src="/_next/static/chunks/polyfills-8683bd742a84c1edd48c.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-cd65fc63c0c0cd4c0054.js"
+      src="/_next/static/chunks/webpack-b6976af37b4cba711bde.js"
       async=""
     ></script>
     <script
@@ -71,11 +71,11 @@
       async=""
     ></script>
     <script
-      src="/_next/static/chunks/597-e27c5352823a0901db8c.js"
+      src="/_next/static/chunks/597-ce2d8ad287ead7daa2d3.js"
       async=""
     ></script>
     <script
-      src="/_next/static/chunks/778-53316af9753f067a68b6.js"
+      src="/_next/static/chunks/778-f63dd3b9e43afa14e0c3.js"
       async=""
     ></script>
     <script
Diff for withRouter.html
@@ -7,7 +7,7 @@
     <noscript data-n-css=""></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/webpack-cd65fc63c0c0cd4c0054.js"
+      href="/_next/static/chunks/webpack-b6976af37b4cba711bde.js"
       as="script"
     />
     <link
@@ -17,12 +17,12 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/597-e27c5352823a0901db8c.js"
+      href="/_next/static/chunks/597-ce2d8ad287ead7daa2d3.js"
       as="script"
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/778-53316af9753f067a68b6.js"
+      href="/_next/static/chunks/778-f63dd3b9e43afa14e0c3.js"
       as="script"
     />
     <link
@@ -58,7 +58,7 @@
       src="/_next/static/chunks/polyfills-8683bd742a84c1edd48c.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-cd65fc63c0c0cd4c0054.js"
+      src="/_next/static/chunks/webpack-b6976af37b4cba711bde.js"
       async=""
     ></script>
     <script
@@ -66,11 +66,11 @@
       async=""
     ></script>
     <script
-      src="/_next/static/chunks/597-e27c5352823a0901db8c.js"
+      src="/_next/static/chunks/597-ce2d8ad287ead7daa2d3.js"
       async=""
     ></script>
     <script
-      src="/_next/static/chunks/778-53316af9753f067a68b6.js"
+      src="/_next/static/chunks/778-f63dd3b9e43afa14e0c3.js"
       async=""
     ></script>
     <script

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
buildDuration 16.7s 20.8s ⚠️ +4s
buildDurationCached 7.9s 7.8s -107ms
nodeModulesSize 46 MB 46.6 MB ⚠️ +650 kB
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
677f882d2ed8..HASH.js gzip 13.4 kB N/A N/A
framework.HASH.js gzip 39 kB N/A N/A
main-HASH.js gzip 7.12 kB 151 B -6.96 kB
webpack-HASH.js gzip 751 B 993 B ⚠️ +242 B
597-HASH.js gzip N/A 13.3 kB N/A
778-HASH.js gzip N/A 7.12 kB N/A
framework-HASH.js gzip N/A 39.3 kB N/A
Overall change 60.2 kB 60.8 kB ⚠️ +636 B
Legacy Client Bundles (polyfills) Overall decrease ✓
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
polyfills-HASH.js gzip 31.3 kB 31.1 kB -157 B
Overall change 31.3 kB 31.1 kB -157 B
Client Pages Overall increase ⚠️
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
_app-HASH.js gzip 1.28 kB 1.3 kB ⚠️ +15 B
_error-HASH.js gzip 3.46 kB 3.68 kB ⚠️ +225 B
amp-HASH.js gzip 536 B 558 B ⚠️ +22 B
css-HASH.js gzip 339 B 363 B ⚠️ +24 B
hooks-HASH.js gzip 887 B 924 B ⚠️ +37 B
index-HASH.js gzip 227 B 243 B ⚠️ +16 B
link-HASH.js gzip 1.65 kB 1.66 kB ⚠️ +14 B
routerDirect..HASH.js gzip 303 B 336 B ⚠️ +33 B
withRouter-HASH.js gzip 302 B 334 B ⚠️ +32 B
21c68fa65a48..217.css gzip 125 B N/A N/A
99a142a5cfae..804.css gzip N/A 125 B N/A
Overall change 9.1 kB 9.52 kB ⚠️ +418 B
Client Build Manifests Overall decrease ✓
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
_buildManifest.js gzip 420 B 390 B -30 B
Overall change 420 B 390 B -30 B
Serverless bundles Overall increase ⚠️
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
_error.js 1.36 MB 1.39 MB ⚠️ +30.1 kB
404.html 2.67 kB 2.76 kB ⚠️ +96 B
500.html 2.65 kB 2.75 kB ⚠️ +96 B
amp.amp.html 10.8 kB 10.8 kB
amp.html 1.86 kB 1.96 kB ⚠️ +96 B
css.html 2.04 kB 2.13 kB ⚠️ +96 B
hooks.html 1.92 kB 2.01 kB ⚠️ +96 B
index.js 1.36 MB 1.39 MB ⚠️ +30.1 kB
link.js 1.42 MB 1.45 MB ⚠️ +30.5 kB
routerDirect.js 1.41 MB 1.44 MB ⚠️ +30.5 kB
withRouter.js 1.41 MB 1.44 MB ⚠️ +30.4 kB
Overall change 7 MB 7.15 MB ⚠️ +152 kB

Webpack 4 Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
buildDuration 14.1s 14.1s ⚠️ +24ms
buildDurationCached 6.1s 6s -193ms
nodeModulesSize 46 MB 46.6 MB ⚠️ +650 kB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
/ failed reqs 0 0
/ total time (seconds) 2.474 2.922 ⚠️ +0.45
/ avg req/sec 1010.38 855.61 ⚠️ -154.77
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.697 1.723 ⚠️ +0.03
/error-in-render avg req/sec 1473.18 1450.79 ⚠️ -22.39
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
677f882d2ed8..HASH.js gzip 13.4 kB 13.4 kB
framework.HASH.js gzip 39 kB 39 kB
main-HASH.js gzip 7.12 kB 7.2 kB ⚠️ +83 B
webpack-HASH.js gzip 751 B 751 B
Overall change 60.2 kB 60.3 kB ⚠️ +83 B
Legacy Client Bundles (polyfills)
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
polyfills-HASH.js gzip 31.3 kB 31.3 kB
Overall change 31.3 kB 31.3 kB
Client Pages Overall increase ⚠️
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
_app-HASH.js gzip 1.28 kB 1.28 kB
_error-HASH.js gzip 3.46 kB 3.71 kB ⚠️ +255 B
amp-HASH.js gzip 536 B 536 B
css-HASH.js gzip 339 B 339 B
hooks-HASH.js gzip 887 B 887 B
index-HASH.js gzip 227 B 227 B
link-HASH.js gzip 1.65 kB 1.65 kB
routerDirect..HASH.js gzip 303 B 303 B
withRouter-HASH.js gzip 302 B 302 B
21c68fa65a48..217.css gzip 125 B 125 B
Overall change 9.1 kB 9.36 kB ⚠️ +255 B
Client Build Manifests Overall decrease ✓
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
_buildManifest.js gzip 420 B 419 B -1 B
Overall change 420 B 419 B -1 B
Rendered Page Sizes Overall decrease ✓
vercel/next.js canary v10.1.3 vercel/next.js refs/heads/canary Change
index.html gzip 613 B 612 B -1 B
link.html gzip 620 B 619 B -1 B
withRouter.html gzip 606 B 605 B -1 B
Overall change 1.84 kB 1.84 kB -3 B

Diffs

Diff for _buildManifest.js
@@ -2,7 +2,7 @@ self.__BUILD_MANIFEST = {
   __rewrites: { beforeFiles: [], afterFiles: [], fallback: [] },
   "/": ["static\u002Fchunks\u002Fpages\u002Findex-b460df3d63326fbb06a1.js"],
   "/_error": [
-    "static\u002Fchunks\u002Fpages\u002F_error-6fc12bd74dc2417101e6.js"
+    "static\u002Fchunks\u002Fpages\u002F_error-c75557f170c57b2c8979.js"
   ],
   "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-27f75ad11120c5cdedd1.js"],
   "/css": [
Diff for _error-HASH.js
@@ -540,8 +540,23 @@ Also adds support for deduplicated `key` properties
           .map(function(c, i) {
             var key = c.key || i;
 
-            if (false) {
-              var newProps;
+            if (true && !props.inAmpMode) {
+              if (
+                c.type === "link" &&
+                c.props["href"] && // TODO(prateekbh@): Replace this with const from `constants` when the tree shaking works.
+                ["https://fonts.googleapis.com/css"].some(function(url) {
+                  return c.props["href"].startsWith(url);
+                })
+              ) {
+                var newProps = _objectSpread({}, c.props || {});
+
+                newProps["data-href"] = newProps["href"];
+                newProps["href"] = undefined;
+                return /*#__PURE__*/ _react["default"].cloneElement(
+                  c,
+                  newProps
+                );
+              }
             }
 
             return /*#__PURE__*/ _react["default"].cloneElement(c, {
Diff for 677f882d2ed8..c4df.HASH.js
@@ -1273,6 +1273,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
 
       function addLocale(path, locale, defaultLocale) {
         if (false) {
+          var localeLower, pathLower;
         }
 
         return path;
@@ -1280,6 +1281,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
 
       function delLocale(path, locale) {
         if (false) {
+          var localeLower, pathLower, pathname;
         }
 
         return path;
@@ -1753,7 +1755,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
           this.isReady = !!(
             self.__NEXT_DATA__.gssp ||
             self.__NEXT_DATA__.gip ||
-            (!autoExportDynamic && !self.location.search)
+            (!autoExportDynamic && !self.location.search && !false)
           );
           this.isPreview = !!isPreview;
           this.isLocaleDomain = false;
Diff for main-HASH.js
@@ -408,7 +408,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
         document.getElementById("__NEXT_DATA__").textContent
       );
       window.__NEXT_DATA__ = data;
-      var version = "10.1.3";
+      var version = "10.1.4-canary.14";
       exports.version = version;
 
       var looseToArray = function looseToArray(input) {
@@ -522,12 +522,24 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
               // - if it is a client-side skeleton (fallback render)
 
               if (
-                router.isSsr &&
+                router.isSsr && // We don't update for 404 requests as this can modify
+                // the asPath unexpectedly e.g. adding basePath when
+                // it wasn't originally present
+                page !== "/404" &&
+                !(
+                  page === "/_error" &&
+                  hydrateProps &&
+                  hydrateProps.pageProps &&
+                  hydrateProps.pageProps.statusCode === 404
+                ) &&
                 (isFallback ||
                   (data.nextExport &&
                     ((0, _isDynamic.isDynamicRoute)(router.pathname) ||
-                      location.search)) ||
-                  (hydrateProps && hydrateProps.__N_SSG && location.search))
+                      location.search ||
+                      false)) ||
+                  (hydrateProps &&
+                    hydrateProps.__N_SSG &&
+                    (location.search || false)))
               ) {
                 // update query on mount for exported pages
                 router.replace(
@@ -601,10 +613,10 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
         var _ref3 = _asyncToGenerator(
           /*#__PURE__*/ _regeneratorRuntime.mark(function _callee() {
             var opts,
+              initialErr,
               appEntrypoint,
               app,
               mod,
-              initialErr,
               pageEntrypoint,
               _require7,
               isValidElementType,
@@ -627,20 +639,22 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
                       if (false) {
                       }
 
-                      _context.next = 4;
+                      initialErr = hydrateErr;
+                      _context.prev = 3;
+                      _context.next = 6;
                       return pageLoader.routeLoader.whenEntrypoint("/_app");
 
-                    case 4:
+                    case 6:
                       appEntrypoint = _context.sent;
 
                       if (!("error" in appEntrypoint)) {
-                        _context.next = 7;
+                        _context.next = 9;
                         break;
                       }
 
                       throw appEntrypoint.error;
 
-                    case 7:
+                    case 9:
                       (app = appEntrypoint.component),
                         (mod = appEntrypoint.exports);
                       CachedApp = app;
@@ -679,9 +693,6 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
                         };
                       }
 
-                      initialErr = hydrateErr;
-                      _context.prev = 11;
-
                       if (true) {
                         _context.next = 16;
                         break;
@@ -745,7 +756,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
 
                     case 29:
                       _context.prev = 29;
-                      _context.t1 = _context["catch"](11);
+                      _context.t1 = _context["catch"](3);
                       // This catches errors like throwing in the top level of a module
                       initialErr = _context.t1;
 
@@ -826,7 +837,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
               },
               _callee,
               null,
-              [[11, 29]]
+              [[3, 29]]
             );
           })
         );
@@ -962,21 +973,26 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       var reactRoot = null;
       var shouldUseHydrate = typeof _reactDom["default"].hydrate === "function";
 
-      function renderReactElement(reactEl, domEl) {
+      function renderReactElement(domEl, fn) {
+        // mark start of hydrate/render
+        if (_utils.ST) {
+          performance.mark("beforeRender");
+        }
+
+        var reactEl = fn(
+          shouldUseHydrate ? markHydrateComplete : markRenderComplete
+        );
+
         if (false) {
           var opts;
         } else {
-          // mark start of hydrate/render
-          if (_utils.ST) {
-            performance.mark("beforeRender");
-          } // The check for `.hydrate` is there to support React alternatives like preact
-
+          // The check for `.hydrate` is there to support React alternatives like preact
           if (shouldUseHydrate) {
-            _reactDom["default"].hydrate(reactEl, domEl, markHydrateComplete);
+            _reactDom["default"].hydrate(reactEl, domEl);
 
             shouldUseHydrate = false;
           } else {
-            _reactDom["default"].render(reactEl, domEl, markRenderComplete);
+            _reactDom["default"].render(reactEl, domEl);
           }
         }
       }
@@ -1241,11 +1257,11 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
           resolvePromise();
         }
 
+        onStart();
+
         var elem = /*#__PURE__*/ _react["default"].createElement(
-          Root,
-          {
-            callback: onRootCommit
-          },
+          _react["default"].Fragment,
+          null,
           /*#__PURE__*/ _react["default"].createElement(Head, {
             callback: onHeadCommit
           }),
@@ -1264,25 +1280,33 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
               )
             )
           )
-        );
-
-        onStart(); // We catch runtime errors using componentDidCatch which will trigger renderError
+        ); // We catch runtime errors using componentDidCatch which will trigger renderError
 
-        renderReactElement(false ? /*#__PURE__*/ undefined : elem, appElement);
+        renderReactElement(appElement, function(callback) {
+          return /*#__PURE__*/ _react["default"].createElement(
+            Root,
+            {
+              callbacks: [callback, onRootCommit]
+            },
+            false ? /*#__PURE__*/ undefined : elem
+          );
+        });
         return renderPromise;
       }
 
       function Root(_ref9) {
-        var callback = _ref9.callback,
+        var callbacks = _ref9.callbacks,
           children = _ref9.children;
 
-        // We use `useLayoutEffect` to guarantee the callback is executed
-        // as soon as React flushes the update.
+        // We use `useLayoutEffect` to guarantee the callbacks are executed
+        // as soon as React flushes the update
         _react["default"].useLayoutEffect(
           function() {
-            return callback();
+            return callbacks.forEach(function(callback) {
+              return callback();
+            });
           },
-          [callback]
+          [callbacks]
         );
 
         if (undefined) {
Diff for index.html
@@ -17,12 +17,12 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.d5b389c227c16c686519.js"
+      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.95fa13665e1988802dfd.js"
       as="script"
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/main-9fc0c1058633c9eea817.js"
+      href="/_next/static/chunks/main-6c563aab5768177a3ea5.js"
       as="script"
     />
     <link
@@ -61,11 +61,11 @@
       async=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.d5b389c227c16c686519.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.95fa13665e1988802dfd.js"
       async=""
     ></script>
     <script
-      src="/_next/static/chunks/main-9fc0c1058633c9eea817.js"
+      src="/_next/static/chunks/main-6c563aab5768177a3ea5.js"
       async=""
     ></script>
     <script
Diff for link.html
@@ -17,12 +17,12 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.d5b389c227c16c686519.js"
+      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.95fa13665e1988802dfd.js"
       as="script"
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/main-9fc0c1058633c9eea817.js"
+      href="/_next/static/chunks/main-6c563aab5768177a3ea5.js"
       as="script"
     />
     <link
@@ -66,11 +66,11 @@
       async=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.d5b389c227c16c686519.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.95fa13665e1988802dfd.js"
       async=""
     ></script>
     <script
-      src="/_next/static/chunks/main-9fc0c1058633c9eea817.js"
+      src="/_next/static/chunks/main-6c563aab5768177a3ea5.js"
       async=""
     ></script>
     <script
Diff for withRouter.html
@@ -17,12 +17,12 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.d5b389c227c16c686519.js"
+      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.95fa13665e1988802dfd.js"
       as="script"
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/main-9fc0c1058633c9eea817.js"
+      href="/_next/static/chunks/main-6c563aab5768177a3ea5.js"
       as="script"
     />
     <link
@@ -61,11 +61,11 @@
       async=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.d5b389c227c16c686519.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.95fa13665e1988802dfd.js"
       async=""
     ></script>
     <script
-      src="/_next/static/chunks/main-9fc0c1058633c9eea817.js"
+      src="/_next/static/chunks/main-6c563aab5768177a3ea5.js"
       async=""
     ></script>
     <script

Please sign in to comment.