Skip to content

Commit

Permalink
v12.0.5-canary.18
Browse files Browse the repository at this point in the history
  • Loading branch information
ijjk committed Dec 3, 2021
1 parent bc429f5 commit b194664
Show file tree
Hide file tree
Showing 15 changed files with 21 additions and 21 deletions.
2 changes: 1 addition & 1 deletion lerna.json
Expand Up @@ -17,5 +17,5 @@
"registry": "https://registry.npmjs.org/"
}
},
"version": "12.0.5-canary.17"
"version": "12.0.5-canary.18"
}
2 changes: 1 addition & 1 deletion packages/create-next-app/package.json
@@ -1,6 +1,6 @@
{
"name": "create-next-app",
"version": "12.0.5-canary.17",
"version": "12.0.5-canary.18",
"keywords": [
"react",
"next",
Expand Down
4 changes: 2 additions & 2 deletions packages/eslint-config-next/package.json
@@ -1,6 +1,6 @@
{
"name": "eslint-config-next",
"version": "12.0.5-canary.17",
"version": "12.0.5-canary.18",
"description": "ESLint configuration used by NextJS.",
"main": "index.js",
"license": "MIT",
Expand All @@ -9,7 +9,7 @@
"directory": "packages/eslint-config-next"
},
"dependencies": {
"@next/eslint-plugin-next": "12.0.5-canary.17",
"@next/eslint-plugin-next": "12.0.5-canary.18",
"@rushstack/eslint-patch": "^1.0.8",
"@typescript-eslint/parser": "^5.0.0",
"eslint-import-resolver-node": "^0.3.4",
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin-next/package.json
@@ -1,6 +1,6 @@
{
"name": "@next/eslint-plugin-next",
"version": "12.0.5-canary.17",
"version": "12.0.5-canary.18",
"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
@@ -1,6 +1,6 @@
{
"name": "@next/bundle-analyzer",
"version": "12.0.5-canary.17",
"version": "12.0.5-canary.18",
"main": "index.js",
"license": "MIT",
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion packages/next-codemod/package.json
@@ -1,6 +1,6 @@
{
"name": "@next/codemod",
"version": "12.0.5-canary.17",
"version": "12.0.5-canary.18",
"license": "MIT",
"dependencies": {
"chalk": "4.1.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/next-env/package.json
@@ -1,6 +1,6 @@
{
"name": "@next/env",
"version": "12.0.5-canary.17",
"version": "12.0.5-canary.18",
"keywords": [
"react",
"next",
Expand Down
2 changes: 1 addition & 1 deletion packages/next-mdx/package.json
@@ -1,6 +1,6 @@
{
"name": "@next/mdx",
"version": "12.0.5-canary.17",
"version": "12.0.5-canary.18",
"main": "index.js",
"license": "MIT",
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion packages/next-plugin-storybook/package.json
@@ -1,6 +1,6 @@
{
"name": "@next/plugin-storybook",
"version": "12.0.5-canary.17",
"version": "12.0.5-canary.18",
"repository": {
"url": "vercel/next.js",
"directory": "packages/next-plugin-storybook"
Expand Down
2 changes: 1 addition & 1 deletion packages/next-polyfill-module/package.json
@@ -1,6 +1,6 @@
{
"name": "@next/polyfill-module",
"version": "12.0.5-canary.17",
"version": "12.0.5-canary.18",
"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
@@ -1,6 +1,6 @@
{
"name": "@next/polyfill-nomodule",
"version": "12.0.5-canary.17",
"version": "12.0.5-canary.18",
"description": "A polyfill for non-dead, nomodule browsers.",
"main": "dist/polyfill-nomodule.js",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion packages/next-swc/package.json
@@ -1,6 +1,6 @@
{
"name": "@next/swc",
"version": "12.0.5-canary.17",
"version": "12.0.5-canary.18",
"private": true,
"scripts": {
"build-native": "napi build --platform --cargo-name next_swc_napi native"
Expand Down
12 changes: 6 additions & 6 deletions packages/next/package.json
@@ -1,6 +1,6 @@
{
"name": "next",
"version": "12.0.5-canary.17",
"version": "12.0.5-canary.18",
"description": "The React Framework",
"main": "./dist/server/next.js",
"license": "MIT",
Expand Down Expand Up @@ -70,10 +70,10 @@
"@babel/runtime": "7.15.4",
"@hapi/accept": "5.0.2",
"@napi-rs/triples": "1.0.3",
"@next/env": "12.0.5-canary.17",
"@next/polyfill-module": "12.0.5-canary.17",
"@next/react-dev-overlay": "12.0.5-canary.17",
"@next/react-refresh-utils": "12.0.5-canary.17",
"@next/env": "12.0.5-canary.18",
"@next/polyfill-module": "12.0.5-canary.18",
"@next/react-dev-overlay": "12.0.5-canary.18",
"@next/react-refresh-utils": "12.0.5-canary.18",
"acorn": "8.5.0",
"assert": "2.0.0",
"browserify-zlib": "0.2.0",
Expand Down Expand Up @@ -156,7 +156,7 @@
"@babel/traverse": "7.15.0",
"@babel/types": "7.15.0",
"@napi-rs/cli": "1.2.1",
"@next/polyfill-nomodule": "12.0.5-canary.17",
"@next/polyfill-nomodule": "12.0.5-canary.18",
"@peculiar/webcrypto": "1.1.7",
"@taskr/clear": "1.1.0",
"@taskr/esnext": "1.1.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/react-dev-overlay/package.json
@@ -1,6 +1,6 @@
{
"name": "@next/react-dev-overlay",
"version": "12.0.5-canary.17",
"version": "12.0.5-canary.18",
"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
@@ -1,6 +1,6 @@
{
"name": "@next/react-refresh-utils",
"version": "12.0.5-canary.17",
"version": "12.0.5-canary.18",
"description": "An experimental package providing utilities for React Refresh.",
"repository": {
"url": "vercel/next.js",
Expand Down

1 comment on commit b194664

@ijjk
Copy link
Member Author

@ijjk ijjk commented on b194664 Dec 3, 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 Build (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary v12.0.4 vercel/next.js refs/heads/canary Change
buildDuration 18s 18.3s ⚠️ +286ms
buildDurationCached 3.6s 3.3s -234ms
nodeModulesSize 347 MB 347 MB ⚠️ +30.5 kB
Page Load Tests Overall increase βœ“
vercel/next.js canary v12.0.4 vercel/next.js refs/heads/canary Change
/ failed reqs 0 0 βœ“
/ total time (seconds) 2.96 2.914 -0.05
/ avg req/sec 844.64 857.8 +13.16
/error-in-render failed reqs 0 0 βœ“
/error-in-render total time (seconds) 1.332 1.337 0
/error-in-render avg req/sec 1876.2 1869.45 ⚠️ -6.75
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary v12.0.4 vercel/next.js refs/heads/canary Change
450.HASH.js gzip 179 B 179 B βœ“
framework-HASH.js gzip 42.2 kB 42.2 kB βœ“
main-HASH.js gzip 28.4 kB 28.4 kB ⚠️ +37 B
webpack-HASH.js gzip 1.45 kB 1.45 kB βœ“
Overall change 72.2 kB 72.3 kB ⚠️ +37 B
Legacy Client Bundles (polyfills)
vercel/next.js canary v12.0.4 vercel/next.js refs/heads/canary Change
polyfills-HASH.js gzip 31 kB 31 kB βœ“
Overall change 31 kB 31 kB βœ“
Client Pages Overall increase ⚠️
vercel/next.js canary v12.0.4 vercel/next.js refs/heads/canary Change
_app-HASH.js gzip 1.37 kB 1.37 kB βœ“
_error-HASH.js gzip 194 B 194 B βœ“
amp-HASH.js gzip 312 B 312 B βœ“
css-HASH.js gzip 327 B 326 B -1 B
dynamic-HASH.js gzip 2.38 kB 2.38 kB βœ“
head-HASH.js gzip 350 B 350 B βœ“
hooks-HASH.js gzip 635 B 635 B βœ“
image-HASH.js gzip 4.44 kB 4.49 kB ⚠️ +46 B
index-HASH.js gzip 263 B 263 B βœ“
link-HASH.js gzip 1.87 kB 1.87 kB -4 B
routerDirect..HASH.js gzip 321 B 321 B βœ“
script-HASH.js gzip 383 B 383 B βœ“
withRouter-HASH.js gzip 318 B 318 B βœ“
85e02e95b279..7e3.css gzip 107 B 107 B βœ“
Overall change 13.3 kB 13.3 kB ⚠️ +41 B
Client Build Manifests
vercel/next.js canary v12.0.4 vercel/next.js refs/heads/canary Change
_buildManifest.js gzip 460 B 460 B βœ“
Overall change 460 B 460 B βœ“
Rendered Page Sizes Overall increase ⚠️
vercel/next.js canary v12.0.4 vercel/next.js refs/heads/canary Change
index.html gzip 522 B 531 B ⚠️ +9 B
link.html gzip 535 B 544 B ⚠️ +9 B
withRouter.html gzip 516 B 526 B ⚠️ +10 B
Overall change 1.57 kB 1.6 kB ⚠️ +28 B

Diffs

Diff for _buildManifest.js
@@ -5,15 +5,15 @@ self.__BUILD_MANIFEST = {
   "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-8c7b17a56b7abb6e.js"],
   "/css": [
     "static\u002Fcss\u002F94fdbc56eafa2039.css",
-    "static\u002Fchunks\u002Fpages\u002Fcss-deb2f2a41a5bf511.js"
+    "static\u002Fchunks\u002Fpages\u002Fcss-97182c5b8324021a.js"
   ],
   "/dynamic": [
     "static\u002Fchunks\u002Fpages\u002Fdynamic-0a48d89fced3e24b.js"
   ],
   "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-7100d3b2a548f0e4.js"],
   "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-ff60bc61acd2698b.js"],
-  "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-2a8b03d7b35abada.js"],
-  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-fa969765a079642e.js"],
+  "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-f207079640969086.js"],
+  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-b57fa5abc6a43d15.js"],
   "/routerDirect": [
     "static\u002Fchunks\u002Fpages\u002FrouterDirect-76232dd6bc335a24.js"
   ],
Diff for css-HASH.js
@@ -29,7 +29,7 @@
         5893
       );
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        3350
+        1785
       );
       /* 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 @@
       /***/
     },
 
-    /***/ 3350: /***/ function(module) {
+    /***/ 1785: /***/ function(module) {
       // extracted by mini-css-extract-plugin
       module.exports = { helloWorld: "css_helloWorld__qqNwY" };
Diff for image-HASH.js
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/image",
         function() {
-          return __webpack_require__(3155);
+          return __webpack_require__(5924);
         }
       ]);
       if (false) {
@@ -37,6 +37,19 @@
           return arr2;
         }
       }
+      function _defineProperty(obj, key, value) {
+        if (key in obj) {
+          Object.defineProperty(obj, key, {
+            value: value,
+            enumerable: true,
+            configurable: true,
+            writable: true
+          });
+        } else {
+          obj[key] = value;
+        }
+        return obj;
+      }
       function _iterableToArray(iter) {
         if (
           Symbol.iterator in Object(iter) ||
@@ -101,7 +114,7 @@
       var _toBase64 = __webpack_require__(6978);
       var _imageConfig = __webpack_require__(5809);
       var _useIntersection = __webpack_require__(7190);
-      function _defineProperty(obj, key, value) {
+      function _defineProperty1(obj, key, value) {
         if (key in obj) {
           Object.defineProperty(obj, key, {
             value: value,
@@ -137,7 +150,7 @@
               );
             }
             ownKeys.forEach(function(key) {
-              _defineProperty(target, key, source[key]);
+              _defineProperty1(target, key, source[key]);
             });
           };
         for (var i = 1; i < arguments.length; i++) _loop(i);
@@ -403,6 +416,7 @@
           img.onload = handleLoad;
         }
       }
+      var _obj;
       function Image(_param) {
         var src = _param.src,
           sizes = _param.sizes,
@@ -624,6 +638,15 @@
         if (false) {
           var fullUrl;
         }
+        var imageSrcSetPropName = "imagesrcset";
+        var imageSizesPropName = "imagesizes";
+        if (false) {
+        }
+        var linkProps =
+          ((_obj = {}), // Note: imagesrcset and imagesizes are not in the link element type with react 17.
+          _defineProperty(_obj, imageSrcSetPropName, imgAttributes.srcSet),
+          _defineProperty(_obj, imageSizesPropName, imgAttributes.sizes),
+          _obj);
         return /*#__PURE__*/ _react.default.createElement(
           "span",
           {
@@ -711,20 +734,22 @@
               /*#__PURE__*/ _react.default.createElement(
                 _head.default,
                 null,
-                /*#__PURE__*/ _react.default.createElement("link", {
-                  key:
-                    "__nimg-" +
-                    imgAttributes.src +
-                    imgAttributes.srcSet +
-                    imgAttributes.sizes,
-                  rel: "preload",
-                  as: "image",
-                  href: imgAttributes.srcSet ? undefined : imgAttributes.src,
-                  // @ts-ignore: imagesrcset is not yet in the link element type.
-                  imagesrcset: imgAttributes.srcSet,
-                  // @ts-ignore: imagesizes is not yet in the link element type.
-                  imagesizes: imgAttributes.sizes
-                })
+                /*#__PURE__*/ _react.default.createElement(
+                  "link",
+                  Object.assign(
+                    {
+                      key:
+                        "__nimg-" +
+                        imgAttributes.src +
+                        imgAttributes.srcSet +
+                        imgAttributes.sizes,
+                      rel: "preload",
+                      as: "image",
+                      href: imgAttributes.srcSet ? undefined : imgAttributes.src
+                    },
+                    linkProps
+                  )
+                )
               )
             : null
         );
@@ -969,7 +994,7 @@
       /***/
     },
 
-    /***/ 3155: /***/ function(
+    /***/ 5924: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
Diff for link-HASH.js
@@ -184,7 +184,6 @@
           shallow = props.shallow,
           scroll = props.scroll,
           locale = props.locale;
-        // Deprecated. Warning shown by propType check. If the children provided is a string (<Link>example</Link>) we wrap it in an <a> tag
         if (typeof children === "string") {
           children = /*#__PURE__*/ _react.default.createElement(
             "a",
@@ -256,13 +255,14 @@
           }
         };
         childProps.onMouseEnter = function(e) {
-          if (!(0, _router).isLocalURL(href)) return;
           if (child.props && typeof child.props.onMouseEnter === "function") {
             child.props.onMouseEnter(e);
           }
-          prefetch(router, href, as, {
-            priority: true
-          });
+          if ((0, _router).isLocalURL(href)) {
+            prefetch(router, href, as, {
+              priority: true
+            });
+          }
         };
         // If child is an <a> tag and doesn't have a href attribute, or if the 'passHref' property is
         // defined, we specify the current 'href', so that repetition is not needed by the user
Diff for main-HASH.js
@@ -590,7 +590,7 @@
         document.getElementById("__NEXT_DATA__").textContent
       );
       window.__NEXT_DATA__ = data;
-      var version = "12.0.4";
+      var version = "12.0.5-canary.18";
       exports.version = version;
       var looseToArray = function(input) {
         return [].slice.call(input);
@@ -1541,17 +1541,15 @@
           this.routeLoader = (0, _routeLoader).createRouteLoader(assetPrefix);
           this.buildId = buildId;
           this.assetPrefix = assetPrefix;
-          /** @type {Promise<Set<string>>} */ this.promisedSsgManifest = new Promise(
-            function(resolve) {
-              if (window.__SSG_MANIFEST) {
+          this.promisedSsgManifest = new Promise(function(resolve) {
+            if (window.__SSG_MANIFEST) {
+              resolve(window.__SSG_MANIFEST);
+            } else {
+              window.__SSG_MANIFEST_CB = function() {
                 resolve(window.__SSG_MANIFEST);
-              } else {
-                window.__SSG_MANIFEST_CB = function() {
-                  resolve(window.__SSG_MANIFEST);
-                };
-              }
+              };
             }
-          );
+          });
         }
         _createClass(PageLoader, [
           {
@@ -1626,8 +1624,8 @@
              * @param {string} route - the route (file-system path)
              */ key: "_isSsg",
             value: function _isSsg(route) {
-              return this.promisedSsgManifest.then(function(s) {
-                return s.has(route);
+              return this.promisedSsgManifest.then(function(manifest) {
+                return manifest.has(route);
               });
             }
           },
@@ -2272,31 +2270,31 @@
             var _this = this;
             return withFuture(route, routes, function() {
               var _this1 = _this;
-              var routeFilesPromise = getFilesForRoute(assetPrefix, route)
-                .then(function(param) {
-                  var scripts = param.scripts,
-                    css = param.css;
-                  return Promise.all([
-                    entrypoints.has(route)
-                      ? []
-                      : Promise.all(scripts.map(maybeExecuteScript)),
-                    Promise.all(css.map(fetchStyleSheet))
-                  ]);
-                })
-                .then(function(res) {
-                  return _this1
-                    .whenEntrypoint(route)
-                    .then(function(entrypoint) {
-                      return {
-                        entrypoint: entrypoint,
-                        styles: res[1]
-                      };
-                    });
-                });
+              var devBuildPromiseResolve;
               if (false) {
               }
               return resolvePromiseWithTimeout(
-                routeFilesPromise,
+                getFilesForRoute(assetPrefix, route)
+                  .then(function(param) {
+                    var scripts = param.scripts,
+                      css = param.css;
+                    return Promise.all([
+                      entrypoints.has(route)
+                        ? []
+                        : Promise.all(scripts.map(maybeExecuteScript)),
+                      Promise.all(css.map(fetchStyleSheet))
+                    ]);
+                  })
+                  .then(function(res) {
+                    return _this1
+                      .whenEntrypoint(route)
+                      .then(function(entrypoint) {
+                        return {
+                          entrypoint: entrypoint,
+                          styles: res[1]
+                        };
+                      });
+                  }),
                 MS_MAX_IDLE_DELAY,
                 markAssetError(
                   new Error("Route did not complete loading: ".concat(route))
@@ -2321,6 +2319,12 @@
                   return {
                     error: err
                   };
+                })
+                .finally(function() {
+                  return devBuildPromiseResolve === null ||
+                    devBuildPromiseResolve === void 0
+                    ? void 0
+                    : devBuildPromiseResolve();
                 });
             });
           },
@@ -4855,7 +4859,11 @@
                                 delBasePath(resolvedAs),
                                 this.locale
                               );
-                              _ctx.next = 66;
+                              if (!(options._h !== 1)) {
+                                _ctx.next = 84;
+                                break;
+                              }
+                              _ctx.next = 67;
                               return this._preflightRequest({
                                 as: as,
                                 cache: "production" === "production",
@@ -4863,10 +4871,10 @@
                                 pathname: pathname,
                                 query: query
                               });
-                            case 66:
+                            case 67:
                               effect = _ctx.sent;
                               if (!(effect.type === "rewrite")) {
-                                _ctx.next = 71;
+                                _ctx.next = 72;
                                 break;
                               }
                               {
@@ -4880,13 +4888,13 @@
                                 parsed.pathname = effect.resolvedHref;
                                 url = (0, _utils).formatWithValidation(parsed);
                               }
-                              _ctx.next = 83;
+                              _ctx.next = 84;
                               break;
-                            case 71:
+                            case 72:
                               if (
                                 !(effect.type === "redirect" && effect.newAs)
                               ) {
-                                _ctx.next = 75;
+                                _ctx.next = 76;
                                 break;
                               }
                               return _ctx.abrupt(
@@ -4898,14 +4906,14 @@
                                   options
                                 )
                               );
-                            case 75:
+                            case 76:
                               if (
                                 !(
                                   effect.type === "redirect" &&
                                   effect.destination
                                 )
                               ) {
-                                _ctx.next = 80;
+                                _ctx.next = 81;
                                 break;
                               }
                               window.location.href = effect.destination;
@@ -4913,9 +4921,9 @@
                                 "return",
                                 new Promise(function() {})
                               );
-                            case 80:
+                            case 81:
                               if (!(effect.type === "refresh")) {
-                                _ctx.next = 83;
+                                _ctx.next = 84;
                                 break;
                               }
                               window.location.href = as;
@@ -4923,13 +4931,13 @@
                                 "return",
                                 new Promise(function() {})
                               );
-                            case 83:
+                            case 84:
                               route = (0,
                               _normalizeTrailingSlash).removePathTrailingSlash(
                                 pathname
                               );
                               if (!(0, _isDynamic).isDynamicRoute(route)) {
-                                _ctx.next = 99;
+                                _ctx.next = 100;
                                 break;
                               }
                               parsedAs1 = (0,
@@ -4951,7 +4959,7 @@
                                   (shouldInterpolate && !interpolatedAs.result)
                                 )
                               ) {
-                                _ctx.next = 98;
+                                _ctx.next = 99;
                                 break;
                               }
                               missingParams = Object.keys(
@@ -4960,7 +4968,7 @@
                                 return !query[param];
                               });
                               if (!(missingParams.length > 0)) {
-                                _ctx.next = 96;
+                                _ctx.next = 97;
                                 break;
                               }
                               if (false) {
@@ -4988,10 +4996,10 @@
                                       : "incompatible-href-as"
                                   )
                               );
-                            case 96:
-                              _ctx.next = 99;
+                            case 97:
+                              _ctx.next = 100;
                               break;
-                            case 98:
+                            case 99:
                               if (shouldInterpolate) {
                                 as = (0, _utils).formatWithValidation(
                                   Object.assign({}, parsedAs1, {
@@ -5006,14 +5014,14 @@
                                 // Merge params into `query`, overwriting any specified in search
                                 Object.assign(query, routeMatch);
                               }
-                            case 99:
+                            case 100:
                               Router.events.emit(
                                 "routeChangeStart",
                                 as,
                                 routeProps
                               );
-                              _ctx.prev = 100;
-                              _ctx.next = 104;
+                              _ctx.prev = 101;
+                              _ctx.next = 105;
                               return this.getRouteInfo(
                                 route,
                                 pathname,
@@ -5022,14 +5030,14 @@
                                 resolvedAs,
                                 routeProps
                               );
-                            case 104:
+                            case 105:
                               routeInfo = _ctx.sent;
                               (error = routeInfo.error),
                                 (props = routeInfo.props),
                                 (__N_SSG = routeInfo.__N_SSG),
                                 (__N_SSP = routeInfo.__N_SSP);
                               if (!((__N_SSG || __N_SSP) && props)) {
-                                _ctx.next = 131;
+                                _ctx.next = 132;
                                 break;
                               }
                               if (
@@ -5038,7 +5046,7 @@
                                   props.pageProps.__N_REDIRECT
                                 )
                               ) {
-                                _ctx.next = 116;
+                                _ctx.next = 117;
                                 break;
                               }
                               destination = props.pageProps.__N_REDIRECT;
@@ -5049,7 +5057,7 @@
                                     false
                                 )
                               ) {
-                                _ctx.next = 114;
+                                _ctx.next = 115;
                                 break;
                               }
                               parsedHref = (0,
@@ -5069,31 +5077,31 @@
                                 "return",
                                 this.change(method, newUrl, newAs, options)
                               );
-                            case 114:
+                            case 115:
                               window.location.href = destination;
                               return _ctx.abrupt(
                                 "return",
                                 new Promise(function() {})
                               );
-                            case 116:
+                            case 117:
                               this.isPreview = !!props.__N_PREVIEW;
                               if (!(props.notFound === SSG_DATA_NOT_FOUND)) {
-                                _ctx.next = 131;
+                                _ctx.next = 132;
                                 break;
                               }
-                              _ctx.prev = 119;
-                              _ctx.next = 122;
+                              _ctx.prev = 120;
+                              _ctx.next = 123;
                               return this.fetchComponent("/404");
-                            case 122:
+                            case 123:
                               notFoundRoute = "/404";
-                              _ctx.next = 128;
+                              _ctx.next = 129;
                               break;
-                            case 125:
-                              _ctx.prev = 125;
-                              _ctx.t3 = _ctx["catch"](119);
+                            case 126:
+                              _ctx.prev = 126;
+                              _ctx.t3 = _ctx["catch"](120);
                               notFoundRoute = "/_error";
-                            case 128:
-                              _ctx.next = 130;
+                            case 129:
+                              _ctx.next = 131;
                               return this.getRouteInfo(
                                 notFoundRoute,
                                 notFoundRoute,
@@ -5104,9 +5112,9 @@
                                   shallow: false
                                 }
                               );
-                            case 130:
-                              routeInfo = _ctx.sent;
                             case 131:
+                              routeInfo = _ctx.sent;
+                            case 132:
                               Router.events.emit(
                                 "beforeHistoryChange",
                                 as,
@@ -5144,7 +5152,7 @@
                                     y: 0
                                   }
                                 : null;
-                              _ctx.next = 140;
+                              _ctx.next = 141;
                               return this.set(
                                 route,
                                 pathname,
@@ -5158,9 +5166,9 @@
                                 if (e.cancelled) error = error || e;
                                 else throw e;
                               });
-                            case 140:
+                            case 141:
                               if (!error) {
-                                _ctx.next = 143;
+                                _ctx.next = 144;
                                 break;
                               }
                               Router.events.emit(
@@ -5170,7 +5178,7 @@
                                 routeProps
                               );
                               throw error;
-                            case 143:
+                            case 144:
                               if (false) {
                               }
                               Router.events.emit(
@@ -5179,22 +5187,22 @@
                                 routeProps
                               );
                               return _ctx.abrupt("return", true);
-                            case 148:
-                              _ctx.prev = 148;
-                              _ctx.t4 = _ctx["catch"](100);
+                            case 149:
+                              _ctx.prev = 149;
+                              _ctx.t4 = _ctx["catch"](101);
                               if (
                                 !(
                                   (0, _isError).default(_ctx.t4) &&
                                   _ctx.t4.cancelled
                                 )
                               ) {
-                                _ctx.next = 152;
+                                _ctx.next = 153;
                                 break;
                               }
                               return _ctx.abrupt("return", false);
-                            case 152:
-                              throw _ctx.t4;
                             case 153:
+                              throw _ctx.t4;
+                            case 154:
                             case "end":
                               return _ctx.stop();
                           }
@@ -5203,8 +5211,8 @@
                       this,
                       [
                         [38, 50],
-                        [100, 148],
-                        [119, 125]
+                        [101, 149],
+                        [120, 126]
                       ]
                     );
                   })
Diff for index.html
@@ -19,7 +19,7 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-d83007871c015cb0.js"
+      src="/_next/static/chunks/main-b7b23fe71add3e9f.js"
       defer=""
     ></script>
     <script
@@ -38,7 +38,7 @@
     ></script>
   </head>
   <body>
-    <div id="__next">Hello world πŸ‘‹</div>
+    <div id="__next" data-reactroot="">Hello world πŸ‘‹</div>
     <script id="__NEXT_DATA__" type="application/json">
       {
         "props": { "pageProps": {}, "__N_SSP": true },
Diff for link.html
@@ -19,7 +19,7 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-d83007871c015cb0.js"
+      src="/_next/static/chunks/main-b7b23fe71add3e9f.js"
       defer=""
     ></script>
     <script
@@ -27,7 +27,7 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/link-fa969765a079642e.js"
+      src="/_next/static/chunks/pages/link-b57fa5abc6a43d15.js"
       defer=""
     ></script>
     <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
@@ -38,7 +38,7 @@
     ></script>
   </head>
   <body>
-    <div id="__next">
+    <div id="__next" data-reactroot="">
       <div>
         <h3>A Link page!</h3>
         <a href="/">Go to /</a>
Diff for withRouter.html
@@ -19,7 +19,7 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-d83007871c015cb0.js"
+      src="/_next/static/chunks/main-b7b23fe71add3e9f.js"
       defer=""
     ></script>
     <script
@@ -38,7 +38,7 @@
     ></script>
   </head>
   <body>
-    <div id="__next"><div>I use withRouter</div></div>
+    <div id="__next" data-reactroot=""><div>I use withRouter</div></div>
     <script id="__NEXT_DATA__" type="application/json">
       {
         "props": { "pageProps": {}, "__N_SSP": true },

Default Build with SWC (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary v12.0.4 vercel/next.js refs/heads/canary Change
buildDuration 19s 19.6s ⚠️ +587ms
buildDurationCached 3.5s 3.3s -166ms
nodeModulesSize 347 MB 347 MB ⚠️ +30.5 kB
Page Load Tests Overall increase βœ“
vercel/next.js canary v12.0.4 vercel/next.js refs/heads/canary Change
/ failed reqs 0 0 βœ“
/ total time (seconds) 2.956 2.91 -0.05
/ avg req/sec 845.82 859.04 +13.22
/error-in-render failed reqs 0 0 βœ“
/error-in-render total time (seconds) 1.334 1.314 -0.02
/error-in-render avg req/sec 1874.36 1902.42 +28.06
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary v12.0.4 vercel/next.js refs/heads/canary Change
450.HASH.js gzip 179 B 179 B βœ“
framework-HASH.js gzip 42.3 kB 42.3 kB βœ“
main-HASH.js gzip 28.6 kB 28.6 kB ⚠️ +27 B
webpack-HASH.js gzip 1.44 kB 1.44 kB βœ“
Overall change 72.5 kB 72.5 kB ⚠️ +27 B
Legacy Client Bundles (polyfills)
vercel/next.js canary v12.0.4 vercel/next.js refs/heads/canary Change
polyfills-HASH.js gzip 31 kB 31 kB βœ“
Overall change 31 kB 31 kB βœ“
Client Pages Overall increase ⚠️
vercel/next.js canary v12.0.4 vercel/next.js refs/heads/canary Change
_app-HASH.js gzip 1.35 kB 1.35 kB βœ“
_error-HASH.js gzip 180 B 180 B βœ“
amp-HASH.js gzip 305 B 305 B βœ“
css-HASH.js gzip 321 B 321 B βœ“
dynamic-HASH.js gzip 2.37 kB 2.37 kB βœ“
head-HASH.js gzip 342 B 342 B βœ“
hooks-HASH.js gzip 622 B 622 B βœ“
image-HASH.js gzip 4.46 kB 4.53 kB ⚠️ +63 B
index-HASH.js gzip 256 B 256 B βœ“
link-HASH.js gzip 1.91 kB 1.9 kB -2 B
routerDirect..HASH.js gzip 314 B 314 B βœ“
script-HASH.js gzip 375 B 375 B βœ“
withRouter-HASH.js gzip 309 B 309 B βœ“
85e02e95b279..7e3.css gzip 107 B 107 B βœ“
Overall change 13.2 kB 13.3 kB ⚠️ +61 B
Client Build Manifests Overall decrease βœ“
vercel/next.js canary v12.0.4 vercel/next.js refs/heads/canary Change
_buildManifest.js gzip 459 B 458 B -1 B
Overall change 459 B 458 B -1 B
Rendered Page Sizes Overall increase ⚠️
vercel/next.js canary v12.0.4 vercel/next.js refs/heads/canary Change
index.html gzip 523 B 532 B ⚠️ +9 B
link.html gzip 535 B 546 B ⚠️ +11 B
withRouter.html gzip 517 B 526 B ⚠️ +9 B
Overall change 1.57 kB 1.6 kB ⚠️ +29 B

Diffs

Diff for _buildManifest.js
@@ -5,15 +5,15 @@ self.__BUILD_MANIFEST = {
   "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-8c7b17a56b7abb6e.js"],
   "/css": [
     "static\u002Fcss\u002F94fdbc56eafa2039.css",
-    "static\u002Fchunks\u002Fpages\u002Fcss-deb2f2a41a5bf511.js"
+    "static\u002Fchunks\u002Fpages\u002Fcss-97182c5b8324021a.js"
   ],
   "/dynamic": [
     "static\u002Fchunks\u002Fpages\u002Fdynamic-0a48d89fced3e24b.js"
   ],
   "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-7100d3b2a548f0e4.js"],
   "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-ff60bc61acd2698b.js"],
-  "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-2a8b03d7b35abada.js"],
-  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-fa969765a079642e.js"],
+  "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-f207079640969086.js"],
+  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-b57fa5abc6a43d15.js"],
   "/routerDirect": [
     "static\u002Fchunks\u002Fpages\u002FrouterDirect-76232dd6bc335a24.js"
   ],
Diff for css-HASH.js
@@ -29,7 +29,7 @@
         5893
       );
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        3350
+        1785
       );
       /* 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 @@
       /***/
     },
 
-    /***/ 3350: /***/ function(module) {
+    /***/ 1785: /***/ function(module) {
       // extracted by mini-css-extract-plugin
       module.exports = { helloWorld: "css_helloWorld__qqNwY" };
Diff for image-HASH.js
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/image",
         function() {
-          return __webpack_require__(3155);
+          return __webpack_require__(5924);
         }
       ]);
       if (false) {
@@ -37,6 +37,19 @@
           return arr2;
         }
       }
+      function _defineProperty(obj, key, value) {
+        if (key in obj) {
+          Object.defineProperty(obj, key, {
+            value: value,
+            enumerable: true,
+            configurable: true,
+            writable: true
+          });
+        } else {
+          obj[key] = value;
+        }
+        return obj;
+      }
       function _iterableToArray(iter) {
         if (
           Symbol.iterator in Object(iter) ||
@@ -101,7 +114,7 @@
       var _toBase64 = __webpack_require__(6978);
       var _imageConfig = __webpack_require__(5809);
       var _useIntersection = __webpack_require__(7190);
-      function _defineProperty(obj, key, value) {
+      function _defineProperty1(obj, key, value) {
         if (key in obj) {
           Object.defineProperty(obj, key, {
             value: value,
@@ -137,7 +150,7 @@
               );
             }
             ownKeys.forEach(function(key) {
-              _defineProperty(target, key, source[key]);
+              _defineProperty1(target, key, source[key]);
             });
           };
         for (var i = 1; i < arguments.length; i++) _loop(i);
@@ -403,6 +416,7 @@
           img.onload = handleLoad;
         }
       }
+      var _obj;
       function Image(_param) {
         var src = _param.src,
           sizes = _param.sizes,
@@ -624,6 +638,15 @@
         if (false) {
           var fullUrl;
         }
+        var imageSrcSetPropName = "imagesrcset";
+        var imageSizesPropName = "imagesizes";
+        if (false) {
+        }
+        var linkProps =
+          ((_obj = {}), // Note: imagesrcset and imagesizes are not in the link element type with react 17.
+          _defineProperty(_obj, imageSrcSetPropName, imgAttributes.srcSet),
+          _defineProperty(_obj, imageSizesPropName, imgAttributes.sizes),
+          _obj);
         return /*#__PURE__*/ _react.default.createElement(
           "span",
           {
@@ -711,20 +734,22 @@
               /*#__PURE__*/ _react.default.createElement(
                 _head.default,
                 null,
-                /*#__PURE__*/ _react.default.createElement("link", {
-                  key:
-                    "__nimg-" +
-                    imgAttributes.src +
-                    imgAttributes.srcSet +
-                    imgAttributes.sizes,
-                  rel: "preload",
-                  as: "image",
-                  href: imgAttributes.srcSet ? undefined : imgAttributes.src,
-                  // @ts-ignore: imagesrcset is not yet in the link element type.
-                  imagesrcset: imgAttributes.srcSet,
-                  // @ts-ignore: imagesizes is not yet in the link element type.
-                  imagesizes: imgAttributes.sizes
-                })
+                /*#__PURE__*/ _react.default.createElement(
+                  "link",
+                  Object.assign(
+                    {
+                      key:
+                        "__nimg-" +
+                        imgAttributes.src +
+                        imgAttributes.srcSet +
+                        imgAttributes.sizes,
+                      rel: "preload",
+                      as: "image",
+                      href: imgAttributes.srcSet ? undefined : imgAttributes.src
+                    },
+                    linkProps
+                  )
+                )
               )
             : null
         );
@@ -969,7 +994,7 @@
       /***/
     },
 
-    /***/ 3155: /***/ function(
+    /***/ 5924: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
Diff for link-HASH.js
@@ -184,7 +184,6 @@
           shallow = props.shallow,
           scroll = props.scroll,
           locale = props.locale;
-        // Deprecated. Warning shown by propType check. If the children provided is a string (<Link>example</Link>) we wrap it in an <a> tag
         if (typeof children === "string") {
           children = /*#__PURE__*/ _react.default.createElement(
             "a",
@@ -256,13 +255,14 @@
           }
         };
         childProps.onMouseEnter = function(e) {
-          if (!(0, _router).isLocalURL(href)) return;
           if (child.props && typeof child.props.onMouseEnter === "function") {
             child.props.onMouseEnter(e);
           }
-          prefetch(router, href, as, {
-            priority: true
-          });
+          if ((0, _router).isLocalURL(href)) {
+            prefetch(router, href, as, {
+              priority: true
+            });
+          }
         };
         // If child is an <a> tag and doesn't have a href attribute, or if the 'passHref' property is
         // defined, we specify the current 'href', so that repetition is not needed by the user
Diff for main-HASH.js
@@ -590,7 +590,7 @@
         document.getElementById("__NEXT_DATA__").textContent
       );
       window.__NEXT_DATA__ = data;
-      var version = "12.0.4";
+      var version = "12.0.5-canary.18";
       exports.version = version;
       var looseToArray = function(input) {
         return [].slice.call(input);
@@ -1541,17 +1541,15 @@
           this.routeLoader = (0, _routeLoader).createRouteLoader(assetPrefix);
           this.buildId = buildId;
           this.assetPrefix = assetPrefix;
-          /** @type {Promise<Set<string>>} */ this.promisedSsgManifest = new Promise(
-            function(resolve) {
-              if (window.__SSG_MANIFEST) {
+          this.promisedSsgManifest = new Promise(function(resolve) {
+            if (window.__SSG_MANIFEST) {
+              resolve(window.__SSG_MANIFEST);
+            } else {
+              window.__SSG_MANIFEST_CB = function() {
                 resolve(window.__SSG_MANIFEST);
-              } else {
-                window.__SSG_MANIFEST_CB = function() {
-                  resolve(window.__SSG_MANIFEST);
-                };
-              }
+              };
             }
-          );
+          });
         }
         _createClass(PageLoader, [
           {
@@ -1626,8 +1624,8 @@
              * @param {string} route - the route (file-system path)
              */ key: "_isSsg",
             value: function _isSsg(route) {
-              return this.promisedSsgManifest.then(function(s) {
-                return s.has(route);
+              return this.promisedSsgManifest.then(function(manifest) {
+                return manifest.has(route);
               });
             }
           },
@@ -2272,31 +2270,31 @@
             var _this = this;
             return withFuture(route, routes, function() {
               var _this1 = _this;
-              var routeFilesPromise = getFilesForRoute(assetPrefix, route)
-                .then(function(param) {
-                  var scripts = param.scripts,
-                    css = param.css;
-                  return Promise.all([
-                    entrypoints.has(route)
-                      ? []
-                      : Promise.all(scripts.map(maybeExecuteScript)),
-                    Promise.all(css.map(fetchStyleSheet))
-                  ]);
-                })
-                .then(function(res) {
-                  return _this1
-                    .whenEntrypoint(route)
-                    .then(function(entrypoint) {
-                      return {
-                        entrypoint: entrypoint,
-                        styles: res[1]
-                      };
-                    });
-                });
+              var devBuildPromiseResolve;
               if (false) {
               }
               return resolvePromiseWithTimeout(
-                routeFilesPromise,
+                getFilesForRoute(assetPrefix, route)
+                  .then(function(param) {
+                    var scripts = param.scripts,
+                      css = param.css;
+                    return Promise.all([
+                      entrypoints.has(route)
+                        ? []
+                        : Promise.all(scripts.map(maybeExecuteScript)),
+                      Promise.all(css.map(fetchStyleSheet))
+                    ]);
+                  })
+                  .then(function(res) {
+                    return _this1
+                      .whenEntrypoint(route)
+                      .then(function(entrypoint) {
+                        return {
+                          entrypoint: entrypoint,
+                          styles: res[1]
+                        };
+                      });
+                  }),
                 MS_MAX_IDLE_DELAY,
                 markAssetError(
                   new Error("Route did not complete loading: ".concat(route))
@@ -2321,6 +2319,12 @@
                   return {
                     error: err
                   };
+                })
+                .finally(function() {
+                  return devBuildPromiseResolve === null ||
+                    devBuildPromiseResolve === void 0
+                    ? void 0
+                    : devBuildPromiseResolve();
                 });
             });
           },
@@ -4855,7 +4859,11 @@
                                 delBasePath(resolvedAs),
                                 this.locale
                               );
-                              _ctx.next = 66;
+                              if (!(options._h !== 1)) {
+                                _ctx.next = 84;
+                                break;
+                              }
+                              _ctx.next = 67;
                               return this._preflightRequest({
                                 as: as,
                                 cache: "production" === "production",
@@ -4863,10 +4871,10 @@
                                 pathname: pathname,
                                 query: query
                               });
-                            case 66:
+                            case 67:
                               effect = _ctx.sent;
                               if (!(effect.type === "rewrite")) {
-                                _ctx.next = 71;
+                                _ctx.next = 72;
                                 break;
                               }
                               {
@@ -4880,13 +4888,13 @@
                                 parsed.pathname = effect.resolvedHref;
                                 url = (0, _utils).formatWithValidation(parsed);
                               }
-                              _ctx.next = 83;
+                              _ctx.next = 84;
                               break;
-                            case 71:
+                            case 72:
                               if (
                                 !(effect.type === "redirect" && effect.newAs)
                               ) {
-                                _ctx.next = 75;
+                                _ctx.next = 76;
                                 break;
                               }
                               return _ctx.abrupt(
@@ -4898,14 +4906,14 @@
                                   options
                                 )
                               );
-                            case 75:
+                            case 76:
                               if (
                                 !(
                                   effect.type === "redirect" &&
                                   effect.destination
                                 )
                               ) {
-                                _ctx.next = 80;
+                                _ctx.next = 81;
                                 break;
                               }
                               window.location.href = effect.destination;
@@ -4913,9 +4921,9 @@
                                 "return",
                                 new Promise(function() {})
                               );
-                            case 80:
+                            case 81:
                               if (!(effect.type === "refresh")) {
-                                _ctx.next = 83;
+                                _ctx.next = 84;
                                 break;
                               }
                               window.location.href = as;
@@ -4923,13 +4931,13 @@
                                 "return",
                                 new Promise(function() {})
                               );
-                            case 83:
+                            case 84:
                               route = (0,
                               _normalizeTrailingSlash).removePathTrailingSlash(
                                 pathname
                               );
                               if (!(0, _isDynamic).isDynamicRoute(route)) {
-                                _ctx.next = 99;
+                                _ctx.next = 100;
                                 break;
                               }
                               parsedAs1 = (0,
@@ -4951,7 +4959,7 @@
                                   (shouldInterpolate && !interpolatedAs.result)
                                 )
                               ) {
-                                _ctx.next = 98;
+                                _ctx.next = 99;
                                 break;
                               }
                               missingParams = Object.keys(
@@ -4960,7 +4968,7 @@
                                 return !query[param];
                               });
                               if (!(missingParams.length > 0)) {
-                                _ctx.next = 96;
+                                _ctx.next = 97;
                                 break;
                               }
                               if (false) {
@@ -4988,10 +4996,10 @@
                                       : "incompatible-href-as"
                                   )
                               );
-                            case 96:
-                              _ctx.next = 99;
+                            case 97:
+                              _ctx.next = 100;
                               break;
-                            case 98:
+                            case 99:
                               if (shouldInterpolate) {
                                 as = (0, _utils).formatWithValidation(
                                   Object.assign({}, parsedAs1, {
@@ -5006,14 +5014,14 @@
                                 // Merge params into `query`, overwriting any specified in search
                                 Object.assign(query, routeMatch);
                               }
-                            case 99:
+                            case 100:
                               Router.events.emit(
                                 "routeChangeStart",
                                 as,
                                 routeProps
                               );
-                              _ctx.prev = 100;
-                              _ctx.next = 104;
+                              _ctx.prev = 101;
+                              _ctx.next = 105;
                               return this.getRouteInfo(
                                 route,
                                 pathname,
@@ -5022,14 +5030,14 @@
                                 resolvedAs,
                                 routeProps
                               );
-                            case 104:
+                            case 105:
                               routeInfo = _ctx.sent;
                               (error = routeInfo.error),
                                 (props = routeInfo.props),
                                 (__N_SSG = routeInfo.__N_SSG),
                                 (__N_SSP = routeInfo.__N_SSP);
                               if (!((__N_SSG || __N_SSP) && props)) {
-                                _ctx.next = 131;
+                                _ctx.next = 132;
                                 break;
                               }
                               if (
@@ -5038,7 +5046,7 @@
                                   props.pageProps.__N_REDIRECT
                                 )
                               ) {
-                                _ctx.next = 116;
+                                _ctx.next = 117;
                                 break;
                               }
                               destination = props.pageProps.__N_REDIRECT;
@@ -5049,7 +5057,7 @@
                                     false
                                 )
                               ) {
-                                _ctx.next = 114;
+                                _ctx.next = 115;
                                 break;
                               }
                               parsedHref = (0,
@@ -5069,31 +5077,31 @@
                                 "return",
                                 this.change(method, newUrl, newAs, options)
                               );
-                            case 114:
+                            case 115:
                               window.location.href = destination;
                               return _ctx.abrupt(
                                 "return",
                                 new Promise(function() {})
                               );
-                            case 116:
+                            case 117:
                               this.isPreview = !!props.__N_PREVIEW;
                               if (!(props.notFound === SSG_DATA_NOT_FOUND)) {
-                                _ctx.next = 131;
+                                _ctx.next = 132;
                                 break;
                               }
-                              _ctx.prev = 119;
-                              _ctx.next = 122;
+                              _ctx.prev = 120;
+                              _ctx.next = 123;
                               return this.fetchComponent("/404");
-                            case 122:
+                            case 123:
                               notFoundRoute = "/404";
-                              _ctx.next = 128;
+                              _ctx.next = 129;
                               break;
-                            case 125:
-                              _ctx.prev = 125;
-                              _ctx.t3 = _ctx["catch"](119);
+                            case 126:
+                              _ctx.prev = 126;
+                              _ctx.t3 = _ctx["catch"](120);
                               notFoundRoute = "/_error";
-                            case 128:
-                              _ctx.next = 130;
+                            case 129:
+                              _ctx.next = 131;
                               return this.getRouteInfo(
                                 notFoundRoute,
                                 notFoundRoute,
@@ -5104,9 +5112,9 @@
                                   shallow: false
                                 }
                               );
-                            case 130:
-                              routeInfo = _ctx.sent;
                             case 131:
+                              routeInfo = _ctx.sent;
+                            case 132:
                               Router.events.emit(
                                 "beforeHistoryChange",
                                 as,
@@ -5144,7 +5152,7 @@
                                     y: 0
                                   }
                                 : null;
-                              _ctx.next = 140;
+                              _ctx.next = 141;
                               return this.set(
                                 route,
                                 pathname,
@@ -5158,9 +5166,9 @@
                                 if (e.cancelled) error = error || e;
                                 else throw e;
                               });
-                            case 140:
+                            case 141:
                               if (!error) {
-                                _ctx.next = 143;
+                                _ctx.next = 144;
                                 break;
                               }
                               Router.events.emit(
@@ -5170,7 +5178,7 @@
                                 routeProps
                               );
                               throw error;
-                            case 143:
+                            case 144:
                               if (false) {
                               }
                               Router.events.emit(
@@ -5179,22 +5187,22 @@
                                 routeProps
                               );
                               return _ctx.abrupt("return", true);
-                            case 148:
-                              _ctx.prev = 148;
-                              _ctx.t4 = _ctx["catch"](100);
+                            case 149:
+                              _ctx.prev = 149;
+                              _ctx.t4 = _ctx["catch"](101);
                               if (
                                 !(
                                   (0, _isError).default(_ctx.t4) &&
                                   _ctx.t4.cancelled
                                 )
                               ) {
-                                _ctx.next = 152;
+                                _ctx.next = 153;
                                 break;
                               }
                               return _ctx.abrupt("return", false);
-                            case 152:
-                              throw _ctx.t4;
                             case 153:
+                              throw _ctx.t4;
+                            case 154:
                             case "end":
                               return _ctx.stop();
                           }
@@ -5203,8 +5211,8 @@
                       this,
                       [
                         [38, 50],
-                        [100, 148],
-                        [119, 125]
+                        [101, 149],
+                        [120, 126]
                       ]
                     );
                   })
Diff for index.html
@@ -19,7 +19,7 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-d83007871c015cb0.js"
+      src="/_next/static/chunks/main-b7b23fe71add3e9f.js"
       defer=""
     ></script>
     <script
@@ -38,7 +38,7 @@
     ></script>
   </head>
   <body>
-    <div id="__next">Hello world πŸ‘‹</div>
+    <div id="__next" data-reactroot="">Hello world πŸ‘‹</div>
     <script id="__NEXT_DATA__" type="application/json">
       {
         "props": { "pageProps": {}, "__N_SSP": true },
Diff for link.html
@@ -19,7 +19,7 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-d83007871c015cb0.js"
+      src="/_next/static/chunks/main-b7b23fe71add3e9f.js"
       defer=""
     ></script>
     <script
@@ -27,7 +27,7 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/link-fa969765a079642e.js"
+      src="/_next/static/chunks/pages/link-b57fa5abc6a43d15.js"
       defer=""
     ></script>
     <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
@@ -38,7 +38,7 @@
     ></script>
   </head>
   <body>
-    <div id="__next">
+    <div id="__next" data-reactroot="">
       <div>
         <h3>A Link page!</h3>
         <a href="/">Go to /</a>
Diff for withRouter.html
@@ -19,7 +19,7 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-d83007871c015cb0.js"
+      src="/_next/static/chunks/main-b7b23fe71add3e9f.js"
       defer=""
     ></script>
     <script
@@ -38,7 +38,7 @@
     ></script>
   </head>
   <body>
-    <div id="__next"><div>I use withRouter</div></div>
+    <div id="__next" data-reactroot=""><div>I use withRouter</div></div>
     <script id="__NEXT_DATA__" type="application/json">
       {
         "props": { "pageProps": {}, "__N_SSP": true },

Please sign in to comment.