Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Fix #8634 #8978

Closed
wants to merge 2 commits into from
Closed

Fix #8634 #8978

wants to merge 2 commits into from

Conversation

pavelzubov
Copy link

Set history options if window.history.state is defined

Set history options if window.history.state is defined
@ijjk
Copy link
Member

ijjk commented Oct 7, 2019

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
zeit/next.js canary pavelzubov/next.js canary Change
buildDuration 15.3s 13.7s -1.6s
nodeModulesSize 48.3 MB 41.8 MB -6.53 MB
Client Bundles (main, webpack, commons) Overall decrease ✓
zeit/next.js canary pavelzubov/next.js canary Change
main-HASH.js 18.9 kB 18.2 kB -685 B
main-HASH.js gzip 6.79 kB 6.64 kB -144 B
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
253b41ed762a..2b8407376.js 21.9 kB N/A N/A
253b41ed762a..7376.js gzip 7.81 kB N/A N/A
be994614a9f0..6604acae7.js 43.2 kB N/A N/A
be994614a9f0..cae7.js gzip 15.5 kB N/A N/A
framework.5b..dbaff70d3.js 125 kB 125 kB
framework.5b..70d3.js gzip 39.4 kB 39.4 kB
5f526ad5765b..ab6ad1311.js N/A 43.1 kB N/A
5f526ad5765b..1311.js gzip N/A 15.4 kB N/A
b907a87c3a75..2b8407376.js N/A 21.9 kB N/A
b907a87c3a75..7376.js gzip N/A 7.81 kB N/A
Overall change 211 kB 210 kB -685 B
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
zeit/next.js canary pavelzubov/next.js canary Change
main-HASH.module.js 17.2 kB 16.6 kB -616 B
main-HASH.module.js gzip 6.52 kB 6.38 kB -134 B
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
be994614a9f0..42.module.js 45.6 kB N/A N/A
be994614a9f0..dule.js gzip 16.5 kB N/A N/A
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
5f526ad5765b..be.module.js N/A 45.5 kB N/A
5f526ad5765b..dule.js gzip N/A 16.5 kB N/A
Overall change 190 kB 189 kB -616 B
Client Pages Overall increase ⚠️
zeit/next.js canary pavelzubov/next.js canary Change
_app.js 1.81 kB 1.83 kB ⚠️ +25 B
_app.js gzip 873 B 883 B ⚠️ +10 B
_error.js 12 kB 12.1 kB ⚠️ +25 B
_error.js gzip 4.73 kB 4.74 kB ⚠️ +11 B
hooks.js 12.7 kB 12.7 kB ⚠️ +25 B
hooks.js gzip 4.79 kB 4.81 kB ⚠️ +16 B
index.js 318 B 343 B ⚠️ +25 B
index.js gzip 222 B 237 B ⚠️ +15 B
link.js 8.14 kB 8.14 kB -5 B
link.js gzip 3.5 kB 3.49 kB -7 B
routerDirect.js 409 B 433 B ⚠️ +24 B
routerDirect.js gzip 281 B 296 B ⚠️ +15 B
withRouter.js 419 B 444 B ⚠️ +25 B
withRouter.js gzip 280 B 294 B ⚠️ +14 B
Overall change 35.8 kB 36 kB ⚠️ +144 B
Client Pages Modern Overall increase ⚠️
zeit/next.js canary pavelzubov/next.js canary Change
_app.module.js 1.7 kB 1.73 kB ⚠️ +25 B
_app.module.js gzip 832 B 841 B ⚠️ +9 B
_error.module.js 23.3 kB 23.3 kB ⚠️ +25 B
_error.module.js gzip 8.59 kB 8.6 kB ⚠️ +10 B
hooks.module.js 1.52 kB 1.55 kB ⚠️ +25 B
hooks.module.js gzip 794 B 804 B ⚠️ +10 B
index.module.js 294 B 319 B ⚠️ +25 B
index.module.js gzip 223 B 238 B ⚠️ +15 B
link.module.js 8.53 kB 8.52 kB -5 B
link.module.js gzip 3.68 kB 3.67 kB -8 B
routerDirect.module.js 394 B 419 B ⚠️ +25 B
routerDirect..dule.js gzip 280 B 294 B ⚠️ +14 B
withRouter.module.js 405 B 429 B ⚠️ +24 B
withRouter.m..dule.js gzip 278 B 293 B ⚠️ +15 B
Overall change 36.1 kB 36.2 kB ⚠️ +144 B
Client Build Manifests
zeit/next.js canary pavelzubov/next.js canary Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 162 B 162 B
Rendered Page Sizes
zeit/next.js canary pavelzubov/next.js canary Change
index.html 3.75 kB 3.75 kB
index.html gzip 960 B 958 B -2 B
link.html 3.79 kB 3.79 kB
link.html gzip 968 B 966 B -2 B
withRouter.html 3.8 kB 3.8 kB
withRouter.html gzip 956 B 953 B -3 B
Overall change 11.3 kB 11.3 kB

Diffs

Diff for main-HASH.js
@@ -327,7 +327,7 @@ var _extends2 = _interopRequireDefault(__webpack_require__("htGi"));
 
 var _promise = _interopRequireDefault(__webpack_require__("eVuF"));
 
-var _react = _interopRequireDefault(__webpack_require__("q1tI"));
+var _react = _interopRequireWildcard(__webpack_require__("q1tI"));
 
 var _reactDom = _interopRequireDefault(__webpack_require__("i8i4"));
 
@@ -368,7 +368,7 @@ if (!window.Promise) {
 
 var data = JSON.parse(document.getElementById('__NEXT_DATA__').textContent);
 window.__NEXT_DATA__ = data;
-var version = "9.0.9-canary.0";
+var version = "9.0.6-canary.1";
 exports.version = version;
 var props = data.props,
     err = data.err,
@@ -417,7 +417,7 @@ exports.router = router;
 var ErrorComponent;
 exports.ErrorComponent = ErrorComponent;
 var Component;
-var App, onPerfEntry;
+var App;
 
 var Container =
 /*#__PURE__*/
@@ -490,7 +490,7 @@ function () {
   var _ref2 = (0, _asyncToGenerator2["default"])(
   /*#__PURE__*/
   _regeneratorRuntime.mark(function _callee(_temp) {
-    var _ref, passedWebpackHMR, _ref3, app, mod, initialErr, _require, isValidElementType, renderCtx;
+    var _ref, passedWebpackHMR, initialErr, _require, isValidElementType, renderCtx;
 
     return _regeneratorRuntime.wrap(function _callee$(_context) {
       while (1) {
@@ -501,69 +501,52 @@ function () {
             if (false) {}
 
             _context.next = 4;
-            return pageLoader.loadPageScript('/_app');
+            return pageLoader.loadPage('/_app');
 
           case 4:
-            _ref3 = _context.sent;
-            app = _ref3.page;
-            mod = _ref3.mod;
-            App = app;
-
-            if (mod && mod.unstable_onPerformanceData) {
-              onPerfEntry = function onPerfEntry(_ref3) {
-                var name = _ref3.name,
-                    startTime = _ref3.startTime,
-                    value = _ref3.value;
-                mod.unstable_onPerformanceData({
-                  name: name,
-                  startTime: startTime,
-                  value: value
-                });
-              };
-            }
-
+            App = _context.sent;
             initialErr = err;
-            _context.prev = 10;
-            _context.next = 13;
+            _context.prev = 6;
+            _context.next = 9;
             return pageLoader.loadPage(page);
 
-          case 13:
+          case 9:
             Component = _context.sent;
 
             if (true) {
-              _context.next = 18;
+              _context.next = 14;
               break;
             }
 
             _require = __webpack_require__(!(function webpackMissingModule() { var e = new Error("Cannot find module 'react-is'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())), isValidElementType = _require.isValidElementType;
 
             if (isValidElementType(Component)) {
-              _context.next = 18;
+              _context.next = 14;
               break;
             }
 
             throw new Error("The default export is not a React Component in page: \"" + page + "\"");
 
-          case 18:
-            _context.next = 23;
+          case 14:
+            _context.next = 19;
             break;
 
-          case 20:
-            _context.prev = 20;
-            _context.t0 = _context["catch"](10);
+          case 16:
+            _context.prev = 16;
+            _context.t0 = _context["catch"](6);
             // This catches errors like throwing in the top level of a module
             initialErr = _context.t0;
 
-          case 23:
+          case 19:
             if (!window.__NEXT_PRELOADREADY) {
-              _context.next = 26;
+              _context.next = 22;
               break;
             }
 
-            _context.next = 26;
+            _context.next = 22;
             return window.__NEXT_PRELOADREADY(dynamicIds);
 
-          case 26:
+          case 22:
             exports.router = router = (0, _router.createRouter)(page, query, asPath, {
               initialProps: props,
               pageLoader: pageLoader,
@@ -571,10 +554,10 @@ function () {
               Component: Component,
               wrapApp: wrapApp,
               err: initialErr,
-              subscription: function subscription(_ref4, App) {
-                var Component = _ref4.Component,
-                    props = _ref4.props,
-                    err = _ref4.err;
+              subscription: function subscription(_ref3, App) {
+                var Component = _ref3.Component,
+                    props = _ref3.props,
+                    err = _ref3.err;
                 render({
                   App: App,
                   Component: Component,
@@ -594,12 +577,12 @@ function () {
             render(renderCtx);
             return _context.abrupt("return", emitter);
 
-          case 30:
+          case 26:
           case "end":
             return _context.stop();
         }
       }
-    }, _callee, null, [[10, 20]]);
+    }, _callee, null, [[6, 16]]);
   }));
 
   return function (_x) {
@@ -762,10 +745,6 @@ function renderReactElement(reactEl, domEl) {
   } else {
     _reactDom["default"].render(reactEl, domEl, markRenderComplete);
   }
-
-  if (onPerfEntry) {
-    performance.getEntriesByType('paint').forEach(onPerfEntry);
-  }
 }
 
 function markHydrateComplete() {
@@ -774,12 +753,6 @@ function markHydrateComplete() {
 
   performance.measure('Next.js-before-hydration', 'navigationStart', 'beforeRender');
   performance.measure('Next.js-hydration', 'beforeRender', 'afterHydrate');
-
-  if (onPerfEntry) {
-    performance.getEntriesByName('Next.js-hydration').forEach(onPerfEntry);
-    performance.getEntriesByName('beforeRender').forEach(onPerfEntry);
-  }
-
   clearMarks();
 }
 
@@ -795,12 +768,6 @@ function markRenderComplete() {
 
   performance.measure('Next.js-route-change-to-render', navStartEntries[0].name, 'beforeRender');
   performance.measure('Next.js-render', 'beforeRender', 'afterRender');
-
-  if (onPerfEntry) {
-    performance.getEntriesByName('Next.js-render').forEach(onPerfEntry);
-    performance.getEntriesByName('Next.js-route-change-to-render').forEach(onPerfEntry);
-  }
-
   clearMarks();
 }
 
@@ -809,13 +776,15 @@ function clearMarks() {
   ['beforeRender', 'afterHydrate', 'afterRender', 'routeChange'].forEach(function (mark) {
     return performance.clearMarks(mark);
   });
-  ['Next.js-before-hydration', 'Next.js-hydration', 'Next.js-route-change-to-render', 'Next.js-render'].forEach(function (measure) {
-    return performance.clearMeasures(measure);
-  });
+  /*
+  * TODO: uncomment the following line when we have a way to
+  * expose this to user code.
+  */
+  // performance.clearMeasures()
 }
 
-function AppContainer(_ref5) {
-  var children = _ref5.children;
+function AppContainer(_ref4) {
+  var children = _ref4.children;
   return _react["default"].createElement(Container, {
     fn: function fn(error) {
       return renderError({
@@ -825,13 +794,15 @@ function AppContainer(_ref5) {
         return console.error('Error rendering page: ', err);
       });
     }
+  }, _react["default"].createElement(_react.Suspense, {
+    fallback: _react["default"].createElement("div", null, "Loading...")
   }, _react["default"].createElement(_routerContext.RouterContext.Provider, {
     value: (0, _router.makePublicRouterInstance)(router)
   }, _react["default"].createElement(_dataManagerContext.DataManagerContext.Provider, {
     value: dataManager
   }, _react["default"].createElement(_headManagerContext.HeadManagerContext.Provider, {
     value: headManager.updateHead
-  }, children))));
+  }, children)))));
 }
 
 var wrapApp = function wrapApp(App) {
@@ -852,14 +823,14 @@ function doRender(_x4) {
 function _doRender() {
   _doRender = (0, _asyncToGenerator2["default"])(
   /*#__PURE__*/
-  _regeneratorRuntime.mark(function _callee4(_ref6) {
+  _regeneratorRuntime.mark(function _callee4(_ref5) {
     var App, Component, props, err, _router2, pathname, _query, _asPath, AppTree, appCtx, appProps;
 
     return _regeneratorRuntime.wrap(function _callee4$(_context4) {
       while (1) {
         switch (_context4.prev = _context4.next) {
           case 0:
-            App = _ref6.App, Component = _ref6.Component, props = _ref6.props, err = _ref6.err; // Usual getInitialProps fetching is handled in next/router
+            App = _ref5.App, Component = _ref5.Component, props = _ref5.props, err = _ref5.err; // Usual getInitialProps fetching is handled in next/router
             // this is for when ErrorComponent gets replaced by Component by HMR
 
             if (!(!props && Component && Component !== ErrorComponent && lastAppProps.Component === ErrorComponent)) {
@@ -1503,21 +1474,13 @@ function () {
   }, {
     key: "loadPage",
     value: function loadPage(route) {
-      return this.loadPageScript(route).then(function (v) {
-        return v.page;
-      });
-    }
-  }, {
-    key: "loadPageScript",
-    value: function loadPageScript(route) {
       var _this3 = this;
 
       route = this.normalizeRoute(route);
       return new _promise["default"](function (resolve, reject) {
         var fire = function fire(_ref) {
           var error = _ref.error,
-              page = _ref.page,
-              mod = _ref.mod;
+              page = _ref.page;
 
           _this3.pageRegisterEvents.off(route, fire);
 
@@ -1526,10 +1489,7 @@ function () {
           if (error) {
             reject(error);
           } else {
-            resolve({
-              page: page,
-              mod: mod
-            });
+            resolve(page);
           }
         }; // If there's a cached version of the page, let's use it.
 
@@ -1538,12 +1498,8 @@ function () {
 
         if (cachedPage) {
           var error = cachedPage.error,
-              page = cachedPage.page,
-              mod = cachedPage.mod;
-          error ? reject(error) : resolve({
-            page: page,
-            mod: mod
-          });
+              page = cachedPage.page;
+          error ? reject(error) : resolve(page);
           return;
         } // Register a listener to get the page
 
@@ -1636,14 +1592,19 @@ function () {
 
       var register = function register() {
         try {
-          var mod = regFn();
-          var pageData = {
-            page: mod["default"] || mod,
-            mod: mod
+          var _regFn = regFn(),
+              error = _regFn.error,
+              page = _regFn.page;
+
+          _this5.pageCache[route] = {
+            error: error,
+            page: page
           };
-          _this5.pageCache[route] = pageData;
 
-          _this5.pageRegisterEvents.emit(route, pageData);
+          _this5.pageRegisterEvents.emit(route, {
+            error: error,
+            page: page
+          });
         } catch (error) {
           _this5.pageCache[route] = {
             error: error
Diff for main-HASH.module.js
@@ -384,7 +384,7 @@ var _extends2 = _interopRequireDefault(__webpack_require__("htGi"));
 
 var _promise = _interopRequireDefault(__webpack_require__("eVuF"));
 
-var _react = _interopRequireDefault(__webpack_require__("q1tI"));
+var _react = _interopRequireWildcard(__webpack_require__("q1tI"));
 
 var _reactDom = _interopRequireDefault(__webpack_require__("i8i4"));
 
@@ -425,7 +425,7 @@ if (!window.Promise) {
 
 const data = JSON.parse(document.getElementById('__NEXT_DATA__').textContent);
 window.__NEXT_DATA__ = data;
-const version = "9.0.9-canary.0";
+const version = "9.0.6-canary.1";
 exports.version = version;
 const {
   props,
@@ -473,7 +473,7 @@ exports.router = router;
 let ErrorComponent;
 exports.ErrorComponent = ErrorComponent;
 let Component;
-let App, onPerfEntry;
+let App;
 
 class Container extends _react.default.Component {
   componentDidCatch(err, info) {
@@ -531,27 +531,7 @@ function () {
 
     if (false) {}
 
-    const {
-      page: app,
-      mod
-    } = yield pageLoader.loadPageScript('/_app');
-    App = app;
-
-    if (mod && mod.unstable_onPerformanceData) {
-      onPerfEntry = function onPerfEntry(_ref3) {
-        let {
-          name,
-          startTime,
-          value
-        } = _ref3;
-        mod.unstable_onPerformanceData({
-          name,
-          startTime,
-          value
-        });
-      };
-    }
-
+    App = yield pageLoader.loadPage('/_app');
     let initialErr = err;
 
     try {
@@ -574,12 +554,12 @@ function () {
       Component,
       wrapApp,
       err: initialErr,
-      subscription: (_ref4, App) => {
+      subscription: (_ref3, App) => {
         let {
           Component,
           props,
           err
-        } = _ref4;
+        } = _ref3;
         render({
           App,
           Component,
@@ -692,10 +672,6 @@ function renderReactElement(reactEl, domEl) {
   } else {
     _reactDom.default.render(reactEl, domEl, markRenderComplete);
   }
-
-  if (onPerfEntry) {
-    performance.getEntriesByType('paint').forEach(onPerfEntry);
-  }
 }
 
 function markHydrateComplete() {
@@ -704,12 +680,6 @@ function markHydrateComplete() {
 
   performance.measure('Next.js-before-hydration', 'navigationStart', 'beforeRender');
   performance.measure('Next.js-hydration', 'beforeRender', 'afterHydrate');
-
-  if (onPerfEntry) {
-    performance.getEntriesByName('Next.js-hydration').forEach(onPerfEntry);
-    performance.getEntriesByName('beforeRender').forEach(onPerfEntry);
-  }
-
   clearMarks();
 }
 
@@ -725,37 +695,37 @@ function markRenderComplete() {
 
   performance.measure('Next.js-route-change-to-render', navStartEntries[0].name, 'beforeRender');
   performance.measure('Next.js-render', 'beforeRender', 'afterRender');
-
-  if (onPerfEntry) {
-    performance.getEntriesByName('Next.js-render').forEach(onPerfEntry);
-    performance.getEntriesByName('Next.js-route-change-to-render').forEach(onPerfEntry);
-  }
-
   clearMarks();
 }
 
 function clearMarks() {
   ;
   ['beforeRender', 'afterHydrate', 'afterRender', 'routeChange'].forEach(mark => performance.clearMarks(mark));
-  ['Next.js-before-hydration', 'Next.js-hydration', 'Next.js-route-change-to-render', 'Next.js-render'].forEach(measure => performance.clearMeasures(measure));
+  /*
+  * TODO: uncomment the following line when we have a way to
+  * expose this to user code.
+  */
+  // performance.clearMeasures()
 }
 
-function AppContainer(_ref5) {
+function AppContainer(_ref4) {
   let {
     children
-  } = _ref5;
+  } = _ref4;
   return _react.default.createElement(Container, {
     fn: error => renderError({
       App,
       err: error
     }).catch(err => console.error('Error rendering page: ', err))
+  }, _react.default.createElement(_react.Suspense, {
+    fallback: _react.default.createElement("div", null, "Loading...")
   }, _react.default.createElement(_routerContext.RouterContext.Provider, {
     value: (0, _router.makePublicRouterInstance)(router)
   }, _react.default.createElement(_dataManagerContext.DataManagerContext.Provider, {
     value: dataManager
   }, _react.default.createElement(_headManagerContext.HeadManagerContext.Provider, {
     value: headManager.updateHead
-  }, children))));
+  }, children)))));
 }
 
 const wrapApp = App => props => {
@@ -772,13 +742,13 @@ function doRender(_x4) {
 }
 
 function _doRender() {
-  _doRender = (0, _asyncToGenerator2.default)(function* (_ref6) {
+  _doRender = (0, _asyncToGenerator2.default)(function* (_ref5) {
     let {
       App,
       Component,
       props,
       err
-    } = _ref6; // Usual getInitialProps fetching is handled in next/router
+    } = _ref5; // Usual getInitialProps fetching is handled in next/router
     // this is for when ErrorComponent gets replaced by Component by HMR
 
     if (!props && Component && Component !== ErrorComponent && lastAppProps.Component === ErrorComponent) {
@@ -1403,17 +1373,12 @@ class PageLoader {
   }
 
   loadPage(route) {
-    return this.loadPageScript(route).then(v => v.page);
-  }
-
-  loadPageScript(route) {
     route = this.normalizeRoute(route);
     return new _promise.default((resolve, reject) => {
       const fire = _ref => {
         let {
           error,
-          page,
-          mod
+          page
         } = _ref;
         this.pageRegisterEvents.off(route, fire);
         delete this.loadingRoutes[route];
@@ -1421,10 +1386,7 @@ class PageLoader {
         if (error) {
           reject(error);
         } else {
-          resolve({
-            page,
-            mod
-          });
+          resolve(page);
         }
       }; // If there's a cached version of the page, let's use it.
 
@@ -1434,13 +1396,9 @@ class PageLoader {
       if (cachedPage) {
         const {
           error,
-          page,
-          mod
+          page
         } = cachedPage;
-        error ? reject(error) : resolve({
-          page,
-          mod
-        });
+        error ? reject(error) : resolve(page);
         return;
       } // Register a listener to get the page
 
@@ -1508,13 +1466,18 @@ class PageLoader {
   registerPage(route, regFn) {
     const register = () => {
       try {
-        const mod = regFn();
-        const pageData = {
-          page: mod.default || mod,
-          mod
+        const {
+          error,
+          page
+        } = regFn();
+        this.pageCache[route] = {
+          error,
+          page
         };
-        this.pageCache[route] = pageData;
-        this.pageRegisterEvents.emit(route, pageData);
+        this.pageRegisterEvents.emit(route, {
+          error,
+          page
+        });
       } catch (error) {
         this.pageCache[route] = {
           error
Diff for _app.js
@@ -192,9 +192,9 @@ function createUrl(router) {
 
 
     (window.__NEXT_P=window.__NEXT_P||[]).push(["/_app", function() {
-      var mod = __webpack_require__("B5Ud")
+      var page = __webpack_require__("B5Ud")
       if(false) {}
-      return mod
+      return { page: page.default || page }
     }]);
Diff for _error.js
@@ -187,9 +187,9 @@ var styles = {
 
 
     (window.__NEXT_P=window.__NEXT_P||[]).push(["/_error", function() {
-      var mod = __webpack_require__("/a9y")
+      var page = __webpack_require__("/a9y")
       if(false) {}
-      return mod
+      return { page: page.default || page }
     }]);
Diff for hooks.js
@@ -994,9 +994,9 @@ module.exports = __webpack_require__("jmDH") ? Object.defineProperties : functio
 
 
     (window.__NEXT_P=window.__NEXT_P||[]).push(["/hooks", function() {
-      var mod = __webpack_require__("+MDD")
+      var page = __webpack_require__("+MDD")
       if(false) {}
-      return mod
+      return { page: page.default || page }
     }]);
Diff for index.js
@@ -22,9 +22,9 @@ Page.getInitialProps = function () {
 
 
     (window.__NEXT_P=window.__NEXT_P||[]).push(["/", function() {
-      var mod = __webpack_require__("RNiq")
+      var page = __webpack_require__("RNiq")
       if(false) {}
-      return mod
+      return { page: page.default || page }
     }]);
Diff for link.js
@@ -167,9 +167,9 @@ module.exports = function (TYPE, $create) {
 
 
     (window.__NEXT_P=window.__NEXT_P||[]).push(["/link", function() {
-      var mod = __webpack_require__("ObF3")
+      var page = __webpack_require__("ObF3")
       if(false) {}
-      return mod
+      return { page: page.default || page }
     }]);
   
 
@@ -512,12 +512,7 @@ var listenToIntersections = function listenToIntersections(el, cb) {
   observer.observe(el);
   listeners.set(el, cb);
   return function () {
-    try {
-      observer.unobserve(el);
-    } catch (err) {
-      console.error(err);
-    }
-
+    observer.unobserve(el);
     listeners["delete"](el);
   };
 };
Diff for routerDirect.js
@@ -5,9 +5,9 @@
 
 
     (window.__NEXT_P=window.__NEXT_P||[]).push(["/routerDirect", function() {
-      var mod = __webpack_require__("jSAA")
+      var page = __webpack_require__("jSAA")
       if(false) {}
-      return mod
+      return { page: page.default || page }
     }]);
Diff for withRouter.js
@@ -30,9 +30,9 @@ useWithRouter.getInitialProps = function () {
 
 
     (window.__NEXT_P=window.__NEXT_P||[]).push(["/withRouter", function() {
-      var mod = __webpack_require__("0Hlz")
+      var page = __webpack_require__("0Hlz")
       if(false) {}
-      return mod
+      return { page: page.default || page }
     }]);
Diff for _app.module.js
@@ -197,9 +197,9 @@ function createUrl(router) {
 
 
     (window.__NEXT_P=window.__NEXT_P||[]).push(["/_app", function() {
-      var mod = __webpack_require__("B5Ud")
+      var page = __webpack_require__("B5Ud")
       if(false) {}
-      return mod
+      return { page: page.default || page }
     }]);
Diff for _error.module.js
@@ -163,9 +163,9 @@ const styles = {
 
 
     (window.__NEXT_P=window.__NEXT_P||[]).push(["/_error", function() {
-      var mod = __webpack_require__("/a9y")
+      var page = __webpack_require__("/a9y")
       if(false) {}
-      return mod
+      return { page: page.default || page }
     }]);
Diff for hooks.module.js
@@ -133,9 +133,9 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) {
 
 
     (window.__NEXT_P=window.__NEXT_P||[]).push(["/hooks", function() {
-      var mod = __webpack_require__("+MDD")
+      var page = __webpack_require__("+MDD")
       if(false) {}
-      return mod
+      return { page: page.default || page }
     }]);
Diff for index.module.js
@@ -18,9 +18,9 @@ Page.getInitialProps = () => ({});
 
 
     (window.__NEXT_P=window.__NEXT_P||[]).push(["/", function() {
-      var mod = __webpack_require__("RNiq")
+      var page = __webpack_require__("RNiq")
       if(false) {}
-      return mod
+      return { page: page.default || page }
     }]);
Diff for link.module.js
@@ -225,9 +225,9 @@ module.exports = function (TYPE, $create) {
 
 
     (window.__NEXT_P=window.__NEXT_P||[]).push(["/link", function() {
-      var mod = __webpack_require__("ObF3")
+      var page = __webpack_require__("ObF3")
       if(false) {}
-      return mod
+      return { page: page.default || page }
     }]);
   
 
@@ -560,12 +560,7 @@ const listenToIntersections = (el, cb) => {
   observer.observe(el);
   listeners.set(el, cb);
   return () => {
-    try {
-      observer.unobserve(el);
-    } catch (err) {
-      console.error(err);
-    }
-
+    observer.unobserve(el);
     listeners.delete(el);
   };
 };
Diff for routerDirect.module.js
@@ -5,9 +5,9 @@
 
 
     (window.__NEXT_P=window.__NEXT_P||[]).push(["/routerDirect", function() {
-      var mod = __webpack_require__("jSAA")
+      var page = __webpack_require__("jSAA")
       if(false) {}
-      return mod
+      return { page: page.default || page }
     }]);
Diff for withRouter.module.js
@@ -28,9 +28,9 @@ useWithRouter.getInitialProps = () => ({});
 
 
     (window.__NEXT_P=window.__NEXT_P||[]).push(["/withRouter", function() {
-      var mod = __webpack_require__("0Hlz")
+      var page = __webpack_require__("0Hlz")
       if(false) {}
-      return mod
+      return { page: page.default || page }
     }]);
Diff for index.html
@@ -6,19 +6,19 @@
         <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"
         />
         <meta name="next-head-count" content="2" />
-        <link rel="preload" href="/_next/static/3UIHtN864KURBRC2CTK-7/pages/index.module.js"
+        <link rel="preload" href="/_next/static/j5ySuri-6O4QTVwFPupQH/pages/index.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/3UIHtN864KURBRC2CTK-7/pages/_app.module.js"
+        <link rel="preload" href="/_next/static/j5ySuri-6O4QTVwFPupQH/pages/_app.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-ab3e460f58f5676f29ef.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-e3367c6cc0a826287f74.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/7436ed5d20f655ee52be6aa61674b37d157c5d2b.119f7caa0f0e5f3f7629.module.js"
+        <link rel="preload" href="/_next/static/chunks/7ad71ad0051aa8dbbc47719501a50316b9909909.49ebfe338e597471b01b.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/3UIHtN864KURBRC2CTK-7/_buildManifest.module.js"
+        <link rel="preload" href="/_next/static/j5ySuri-6O4QTVwFPupQH/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -26,40 +26,40 @@
         <div id="__next">Hello world 👋</div>
         <script id="__NEXT_DATA__" type="application/json"
         crossorigin="anonymous">
-            {"dataManager":"[]","props":{"pageProps":{}},"page":"/","query":{},"buildId":"3UIHtN864KURBRC2CTK-7"}
+            {"dataManager":"[]","props":{"pageProps":{}},"page":"/","query":{},"buildId":"j5ySuri-6O4QTVwFPupQH"}
         </script>
         <script crossorigin="anonymous" nomodule="">
             !function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();
         </script>
-        <script async="" data-next-page="/" src="/_next/static/3UIHtN864KURBRC2CTK-7/pages/index.js"
+        <script async="" data-next-page="/" src="/_next/static/j5ySuri-6O4QTVwFPupQH/pages/index.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/" src="/_next/static/3UIHtN864KURBRC2CTK-7/pages/index.module.js"
+        <script async="" data-next-page="/" src="/_next/static/j5ySuri-6O4QTVwFPupQH/pages/index.module.js"
         crossorigin="anonymous" type="module"></script>
-        <script async="" data-next-page="/_app" src="/_next/static/3UIHtN864KURBRC2CTK-7/pages/_app.js"
+        <script async="" data-next-page="/_app" src="/_next/static/j5ySuri-6O4QTVwFPupQH/pages/_app.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/_app" src="/_next/static/3UIHtN864KURBRC2CTK-7/pages/_app.module.js"
+        <script async="" data-next-page="/_app" src="/_next/static/j5ySuri-6O4QTVwFPupQH/pages/_app.module.js"
         crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/runtime/webpack-a470c2a25bcb4d5a8ec0.js"
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-391abed99e83465b0660.js"
+        <script src="/_next/static/runtime/main-26e9253859bbcb659328.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-ab3e460f58f5676f29ef.module.js"
+        <script src="/_next/static/runtime/main-e3367c6cc0a826287f74.module.js"
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/be8ff8570c76ca0633be7516a87f4cb37f974eda.155621535702fe040780.js"
+        <script src="/_next/static/chunks/01e3af2d4759ebfa1c3bb8f7a8dbec231aaa8367.155621535702fe040780.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/7436ed5d20f655ee52be6aa61674b37d157c5d2b.9e7d362a01a7a57a5210.js"
+        <script src="/_next/static/chunks/7ad71ad0051aa8dbbc47719501a50316b9909909.6741a4b5e4fd0ee890fc.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/7436ed5d20f655ee52be6aa61674b37d157c5d2b.119f7caa0f0e5f3f7629.module.js"
+        <script src="/_next/static/chunks/7ad71ad0051aa8dbbc47719501a50316b9909909.49ebfe338e597471b01b.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/3UIHtN864KURBRC2CTK-7/_buildManifest.js"
+        <script src="/_next/static/j5ySuri-6O4QTVwFPupQH/_buildManifest.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/3UIHtN864KURBRC2CTK-7/_buildManifest.module.js"
+        <script src="/_next/static/j5ySuri-6O4QTVwFPupQH/_buildManifest.module.js"
         async="" crossorigin="anonymous" type="module"></script>
     </body>
Diff for link.html
@@ -6,19 +6,19 @@
         <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"
         />
         <meta name="next-head-count" content="2" />
-        <link rel="preload" href="/_next/static/3UIHtN864KURBRC2CTK-7/pages/link.module.js"
+        <link rel="preload" href="/_next/static/j5ySuri-6O4QTVwFPupQH/pages/link.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/3UIHtN864KURBRC2CTK-7/pages/_app.module.js"
+        <link rel="preload" href="/_next/static/j5ySuri-6O4QTVwFPupQH/pages/_app.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/7436ed5d20f655ee52be6aa61674b37d157c5d2b.119f7caa0f0e5f3f7629.module.js"
+        <link rel="preload" href="/_next/static/chunks/7ad71ad0051aa8dbbc47719501a50316b9909909.49ebfe338e597471b01b.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-ab3e460f58f5676f29ef.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-e3367c6cc0a826287f74.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/3UIHtN864KURBRC2CTK-7/_buildManifest.module.js"
+        <link rel="preload" href="/_next/static/j5ySuri-6O4QTVwFPupQH/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -29,18 +29,18 @@
             </div>
         </div>
         <script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">
-            {"dataManager":"[]","props":{"pageProps":{}},"page":"/link","query":{},"buildId":"3UIHtN864KURBRC2CTK-7"}
+            {"dataManager":"[]","props":{"pageProps":{}},"page":"/link","query":{},"buildId":"j5ySuri-6O4QTVwFPupQH"}
         </script>
         <script crossorigin="anonymous" nomodule="">
             !function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();
         </script>
-        <script async="" data-next-page="/link" src="/_next/static/3UIHtN864KURBRC2CTK-7/pages/link.js"
+        <script async="" data-next-page="/link" src="/_next/static/j5ySuri-6O4QTVwFPupQH/pages/link.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/link" src="/_next/static/3UIHtN864KURBRC2CTK-7/pages/link.module.js"
+        <script async="" data-next-page="/link" src="/_next/static/j5ySuri-6O4QTVwFPupQH/pages/link.module.js"
         crossorigin="anonymous" type="module"></script>
-        <script async="" data-next-page="/_app" src="/_next/static/3UIHtN864KURBRC2CTK-7/pages/_app.js"
+        <script async="" data-next-page="/_app" src="/_next/static/j5ySuri-6O4QTVwFPupQH/pages/_app.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/_app" src="/_next/static/3UIHtN864KURBRC2CTK-7/pages/_app.module.js"
+        <script async="" data-next-page="/_app" src="/_next/static/j5ySuri-6O4QTVwFPupQH/pages/_app.module.js"
         crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/runtime/webpack-a470c2a25bcb4d5a8ec0.js"
         async="" crossorigin="anonymous" nomodule=""></script>
@@ -50,19 +50,19 @@
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/be8ff8570c76ca0633be7516a87f4cb37f974eda.155621535702fe040780.js"
+        <script src="/_next/static/chunks/01e3af2d4759ebfa1c3bb8f7a8dbec231aaa8367.155621535702fe040780.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/7436ed5d20f655ee52be6aa61674b37d157c5d2b.9e7d362a01a7a57a5210.js"
+        <script src="/_next/static/chunks/7ad71ad0051aa8dbbc47719501a50316b9909909.6741a4b5e4fd0ee890fc.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/7436ed5d20f655ee52be6aa61674b37d157c5d2b.119f7caa0f0e5f3f7629.module.js"
+        <script src="/_next/static/chunks/7ad71ad0051aa8dbbc47719501a50316b9909909.49ebfe338e597471b01b.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-391abed99e83465b0660.js"
+        <script src="/_next/static/runtime/main-26e9253859bbcb659328.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-ab3e460f58f5676f29ef.module.js"
+        <script src="/_next/static/runtime/main-e3367c6cc0a826287f74.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/3UIHtN864KURBRC2CTK-7/_buildManifest.js"
+        <script src="/_next/static/j5ySuri-6O4QTVwFPupQH/_buildManifest.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/3UIHtN864KURBRC2CTK-7/_buildManifest.module.js"
+        <script src="/_next/static/j5ySuri-6O4QTVwFPupQH/_buildManifest.module.js"
         async="" crossorigin="anonymous" type="module"></script>
     </body>
Diff for withRouter.html
@@ -6,19 +6,19 @@
         <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"
         />
         <meta name="next-head-count" content="2" />
-        <link rel="preload" href="/_next/static/3UIHtN864KURBRC2CTK-7/pages/withRouter.module.js"
+        <link rel="preload" href="/_next/static/j5ySuri-6O4QTVwFPupQH/pages/withRouter.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/3UIHtN864KURBRC2CTK-7/pages/_app.module.js"
+        <link rel="preload" href="/_next/static/j5ySuri-6O4QTVwFPupQH/pages/_app.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/7436ed5d20f655ee52be6aa61674b37d157c5d2b.119f7caa0f0e5f3f7629.module.js"
+        <link rel="preload" href="/_next/static/chunks/7ad71ad0051aa8dbbc47719501a50316b9909909.49ebfe338e597471b01b.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-ab3e460f58f5676f29ef.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-e3367c6cc0a826287f74.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/3UIHtN864KURBRC2CTK-7/_buildManifest.module.js"
+        <link rel="preload" href="/_next/static/j5ySuri-6O4QTVwFPupQH/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -27,18 +27,18 @@
             <div>I use withRouter</div>
         </div>
         <script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">
-            {"dataManager":"[]","props":{"pageProps":{}},"page":"/withRouter","query":{},"buildId":"3UIHtN864KURBRC2CTK-7"}
+            {"dataManager":"[]","props":{"pageProps":{}},"page":"/withRouter","query":{},"buildId":"j5ySuri-6O4QTVwFPupQH"}
         </script>
         <script crossorigin="anonymous" nomodule="">
             !function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();
         </script>
-        <script async="" data-next-page="/withRouter" src="/_next/static/3UIHtN864KURBRC2CTK-7/pages/withRouter.js"
+        <script async="" data-next-page="/withRouter" src="/_next/static/j5ySuri-6O4QTVwFPupQH/pages/withRouter.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/withRouter" src="/_next/static/3UIHtN864KURBRC2CTK-7/pages/withRouter.module.js"
+        <script async="" data-next-page="/withRouter" src="/_next/static/j5ySuri-6O4QTVwFPupQH/pages/withRouter.module.js"
         crossorigin="anonymous" type="module"></script>
-        <script async="" data-next-page="/_app" src="/_next/static/3UIHtN864KURBRC2CTK-7/pages/_app.js"
+        <script async="" data-next-page="/_app" src="/_next/static/j5ySuri-6O4QTVwFPupQH/pages/_app.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/_app" src="/_next/static/3UIHtN864KURBRC2CTK-7/pages/_app.module.js"
+        <script async="" data-next-page="/_app" src="/_next/static/j5ySuri-6O4QTVwFPupQH/pages/_app.module.js"
         crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/runtime/webpack-a470c2a25bcb4d5a8ec0.js"
         async="" crossorigin="anonymous" nomodule=""></script>
@@ -48,19 +48,19 @@
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/be8ff8570c76ca0633be7516a87f4cb37f974eda.155621535702fe040780.js"
+        <script src="/_next/static/chunks/01e3af2d4759ebfa1c3bb8f7a8dbec231aaa8367.155621535702fe040780.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/7436ed5d20f655ee52be6aa61674b37d157c5d2b.9e7d362a01a7a57a5210.js"
+        <script src="/_next/static/chunks/7ad71ad0051aa8dbbc47719501a50316b9909909.6741a4b5e4fd0ee890fc.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/7436ed5d20f655ee52be6aa61674b37d157c5d2b.119f7caa0f0e5f3f7629.module.js"
+        <script src="/_next/static/chunks/7ad71ad0051aa8dbbc47719501a50316b9909909.49ebfe338e597471b01b.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-391abed99e83465b0660.js"
+        <script src="/_next/static/runtime/main-26e9253859bbcb659328.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-ab3e460f58f5676f29ef.module.js"
+        <script src="/_next/static/runtime/main-e3367c6cc0a826287f74.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/3UIHtN864KURBRC2CTK-7/_buildManifest.js"
+        <script src="/_next/static/j5ySuri-6O4QTVwFPupQH/_buildManifest.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/3UIHtN864KURBRC2CTK-7/_buildManifest.module.js"
+        <script src="/_next/static/j5ySuri-6O4QTVwFPupQH/_buildManifest.module.js"
         async="" crossorigin="anonymous" type="module"></script>
     </body>

Serverless Mode (Increase detected ⚠️)
General Overall decrease ✓
zeit/next.js canary pavelzubov/next.js canary Change
buildDuration 14.6s 14s -560ms
nodeModulesSize 48.3 MB 41.8 MB -6.53 MB
Client Bundles (main, webpack, commons) Overall decrease ✓
zeit/next.js canary pavelzubov/next.js canary Change
main-HASH.js 18.9 kB 18.2 kB -686 B
main-HASH.js gzip 6.79 kB 6.64 kB -145 B
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
24a3fb32ff45..6604acae7.js 43.2 kB N/A N/A
24a3fb32ff45..cae7.js gzip 15.5 kB N/A N/A
c9fcd24c69e0..2b8407376.js 21.9 kB N/A N/A
c9fcd24c69e0..7376.js gzip 7.81 kB N/A N/A
framework.5b..dbaff70d3.js 125 kB 125 kB
framework.5b..70d3.js gzip 39.4 kB 39.4 kB
63c1d97ed46e..2b8407376.js N/A 21.9 kB N/A
63c1d97ed46e..7376.js gzip N/A 7.81 kB N/A
f3d4974cd7ab..ab6ad1311.js N/A 43.1 kB N/A
f3d4974cd7ab..1311.js gzip N/A 15.4 kB N/A
Overall change 211 kB 210 kB -686 B
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
zeit/next.js canary pavelzubov/next.js canary Change
main-HASH.module.js 17.2 kB 16.6 kB -617 B
main-HASH.module.js gzip 6.52 kB 6.38 kB -135 B
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
24a3fb32ff45..42.module.js 45.6 kB N/A N/A
24a3fb32ff45..dule.js gzip 16.5 kB N/A N/A
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
f3d4974cd7ab..be.module.js N/A 45.5 kB N/A
f3d4974cd7ab..dule.js gzip N/A 16.5 kB N/A
Overall change 190 kB 189 kB -617 B
Client Pages Overall increase ⚠️
zeit/next.js canary pavelzubov/next.js canary Change
_app.js 1.81 kB 1.83 kB ⚠️ +25 B
_app.js gzip 873 B 883 B ⚠️ +10 B
_error.js 12 kB 12.1 kB ⚠️ +25 B
_error.js gzip 4.73 kB 4.74 kB ⚠️ +11 B
hooks.js 12.7 kB 12.7 kB ⚠️ +25 B
hooks.js gzip 4.79 kB 4.81 kB ⚠️ +16 B
index.js 318 B 343 B ⚠️ +25 B
index.js gzip 222 B 237 B ⚠️ +15 B
link.js 8.14 kB 8.14 kB -5 B
link.js gzip 3.5 kB 3.49 kB -6 B
routerDirect.js 408 B 433 B ⚠️ +25 B
routerDirect.js gzip 281 B 296 B ⚠️ +15 B
withRouter.js 419 B 444 B ⚠️ +25 B
withRouter.js gzip 280 B 294 B ⚠️ +14 B
Overall change 35.8 kB 36 kB ⚠️ +145 B
Client Pages Modern Overall increase ⚠️
zeit/next.js canary pavelzubov/next.js canary Change
_app.module.js 1.7 kB 1.73 kB ⚠️ +25 B
_app.module.js gzip 832 B 841 B ⚠️ +9 B
_error.module.js 23.3 kB 23.3 kB ⚠️ +25 B
_error.module.js gzip 8.59 kB 8.6 kB ⚠️ +9 B
hooks.module.js 1.52 kB 1.55 kB ⚠️ +25 B
hooks.module.js gzip 793 B 804 B ⚠️ +11 B
index.module.js 294 B 319 B ⚠️ +25 B
index.module.js gzip 223 B 238 B ⚠️ +15 B
link.module.js 8.53 kB 8.52 kB -5 B
link.module.js gzip 3.68 kB 3.67 kB -8 B
routerDirect.module.js 394 B 419 B ⚠️ +25 B
routerDirect..dule.js gzip 281 B 294 B ⚠️ +13 B
withRouter.module.js 404 B 429 B ⚠️ +25 B
withRouter.m..dule.js gzip 278 B 293 B ⚠️ +15 B
Overall change 36.1 kB 36.2 kB ⚠️ +145 B
Client Build Manifests
zeit/next.js canary pavelzubov/next.js canary Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 162 B 162 B
Serverless bundles Overall decrease ✓
zeit/next.js canary pavelzubov/next.js canary Change
_error.js 253 kB 247 kB -6.03 kB
_error.js gzip 67.9 kB 66.2 kB -1.77 kB
hooks.html 3.88 kB 3.86 kB -18 B
hooks.html gzip 991 B 987 B -4 B
index.js 254 kB 248 kB -6.01 kB
index.js gzip 68.3 kB 66.4 kB -1.9 kB
link.js 262 kB 255 kB -6.08 kB
link.js gzip 70.3 kB 68.5 kB -1.77 kB
routerDirect.js 255 kB 249 kB -6.01 kB
routerDirect.js gzip 68.4 kB 66.6 kB -1.84 kB
withRouter.js 255 kB 249 kB -6.01 kB
withRouter.js gzip 68.4 kB 66.5 kB -1.83 kB
Overall change 1.28 MB 1.25 MB -30.2 kB

Commit: 6635156

@ijjk
Copy link
Member

ijjk commented Oct 7, 2019

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary pavelzubov/next.js canary Change
buildDuration 14.7s 15.7s ⚠️ +984ms
nodeModulesSize 48.3 MB 48.3 MB ⚠️ +116 B
Client Bundles (main, webpack, commons)
zeit/next.js canary pavelzubov/next.js canary Change
main-HASH.js 18.9 kB 18.9 kB
main-HASH.js gzip 6.79 kB 6.79 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
4952ddcd88e7..2b8407376.js 21.9 kB 21.9 kB
4952ddcd88e7..7376.js gzip 7.81 kB 7.81 kB
de003c3a9d30..6604acae7.js 43.2 kB N/A N/A
de003c3a9d30..cae7.js gzip 15.5 kB N/A N/A
framework.5b..dbaff70d3.js 125 kB 125 kB
framework.5b..70d3.js gzip 39.4 kB 39.4 kB
de003c3a9d30..16fd47bf2.js N/A 43.2 kB N/A
de003c3a9d30..7bf2.js gzip N/A 15.5 kB N/A
Overall change 211 kB 211 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary pavelzubov/next.js canary Change
main-HASH.module.js 17.2 kB 17.2 kB
main-HASH.module.js gzip 6.52 kB 6.52 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..42.module.js 45.6 kB N/A N/A
de003c3a9d30..dule.js gzip 16.5 kB N/A N/A
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
de003c3a9d30..4d.module.js N/A 45.6 kB N/A
de003c3a9d30..dule.js gzip N/A 16.5 kB N/A
Overall change 190 kB 190 kB
Client Pages
zeit/next.js canary pavelzubov/next.js canary Change
_app.js 1.81 kB 1.81 kB
_app.js gzip 873 B 873 B
_error.js 12 kB 12 kB
_error.js gzip 4.73 kB 4.73 kB
hooks.js 12.7 kB 12.7 kB
hooks.js gzip 4.79 kB 4.79 kB
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 8.14 kB 8.14 kB
link.js gzip 3.5 kB 3.5 kB
routerDirect.js 408 B 408 B
routerDirect.js gzip 281 B 281 B
withRouter.js 419 B 419 B
withRouter.js gzip 280 B 280 B
Overall change 35.8 kB 35.8 kB
Client Pages Modern
zeit/next.js canary pavelzubov/next.js canary Change
_app.module.js 1.7 kB 1.7 kB
_app.module.js gzip 832 B 832 B
_error.module.js 23.3 kB 23.3 kB
_error.module.js gzip 8.59 kB 8.59 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 793 B 793 B
index.module.js 294 B 294 B
index.module.js gzip 223 B 223 B
link.module.js 8.53 kB 8.53 kB
link.module.js gzip 3.68 kB 3.68 kB
routerDirect.module.js 394 B 394 B
routerDirect..dule.js gzip 281 B 281 B
withRouter.module.js 404 B 404 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 36.1 kB 36.1 kB
Client Build Manifests
zeit/next.js canary pavelzubov/next.js canary Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 162 B 162 B
Rendered Page Sizes
zeit/next.js canary pavelzubov/next.js canary Change
index.html 3.62 kB 3.62 kB
index.html gzip 945 B 943 B -2 B
link.html 3.66 kB 3.66 kB
link.html gzip 953 B 952 B -1 B
withRouter.html 3.67 kB 3.67 kB
withRouter.html gzip 941 B 939 B -2 B
Overall change 10.9 kB 10.9 kB

Diffs

Diff for index.html
@@ -16,7 +16,7 @@
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.119f7caa0f0e5f3f7629.module.js"
+        <link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.de81ed692db39d5d22c5.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/BUILD_ID/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
@@ -53,9 +53,9 @@
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.155621535702fe040780.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.9e7d362a01a7a57a5210.js"
+        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.3b424217ea7d1cf12042.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.119f7caa0f0e5f3f7629.module.js"
+        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.de81ed692db39d5d22c5.module.js"
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/BUILD_ID/_buildManifest.js" async=""
         crossorigin="anonymous" nomodule=""></script>
Diff for link.html
@@ -14,7 +14,7 @@
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.119f7caa0f0e5f3f7629.module.js"
+        <link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.de81ed692db39d5d22c5.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/main-ab3e460f58f5676f29ef.module.js"
         as="script" crossorigin="anonymous" />
@@ -52,9 +52,9 @@
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.155621535702fe040780.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.9e7d362a01a7a57a5210.js"
+        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.3b424217ea7d1cf12042.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.119f7caa0f0e5f3f7629.module.js"
+        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.de81ed692db39d5d22c5.module.js"
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/runtime/main-391abed99e83465b0660.js"
         async="" crossorigin="anonymous" nomodule=""></script>
Diff for withRouter.html
@@ -14,7 +14,7 @@
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.119f7caa0f0e5f3f7629.module.js"
+        <link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.de81ed692db39d5d22c5.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/main-ab3e460f58f5676f29ef.module.js"
         as="script" crossorigin="anonymous" />
@@ -50,9 +50,9 @@
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.155621535702fe040780.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.9e7d362a01a7a57a5210.js"
+        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.3b424217ea7d1cf12042.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.119f7caa0f0e5f3f7629.module.js"
+        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.de81ed692db39d5d22c5.module.js"
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/runtime/main-391abed99e83465b0660.js"
         async="" crossorigin="anonymous" nomodule=""></script>

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary pavelzubov/next.js canary Change
buildDuration 15.3s 14.9s -373ms
nodeModulesSize 48.3 MB 48.3 MB ⚠️ +116 B
Client Bundles (main, webpack, commons)
zeit/next.js canary pavelzubov/next.js canary Change
main-HASH.js 18.9 kB 18.9 kB
main-HASH.js gzip 6.79 kB 6.79 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
4952ddcd88e7..2b8407376.js 21.9 kB 21.9 kB
4952ddcd88e7..7376.js gzip 7.81 kB 7.81 kB
de003c3a9d30..6604acae7.js 43.2 kB N/A N/A
de003c3a9d30..cae7.js gzip 15.5 kB N/A N/A
framework.5b..dbaff70d3.js 125 kB 125 kB
framework.5b..70d3.js gzip 39.4 kB 39.4 kB
de003c3a9d30..16fd47bf2.js N/A 43.2 kB N/A
de003c3a9d30..7bf2.js gzip N/A 15.5 kB N/A
Overall change 211 kB 211 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary pavelzubov/next.js canary Change
main-HASH.module.js 17.2 kB 17.2 kB
main-HASH.module.js gzip 6.52 kB 6.52 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..42.module.js 45.6 kB N/A N/A
de003c3a9d30..dule.js gzip 16.5 kB N/A N/A
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
de003c3a9d30..4d.module.js N/A 45.6 kB N/A
de003c3a9d30..dule.js gzip N/A 16.5 kB N/A
Overall change 190 kB 190 kB
Client Pages
zeit/next.js canary pavelzubov/next.js canary Change
_app.js 1.81 kB 1.81 kB
_app.js gzip 873 B 873 B
_error.js 12 kB 12 kB
_error.js gzip 4.73 kB 4.73 kB
hooks.js 12.7 kB 12.7 kB
hooks.js gzip 4.79 kB 4.79 kB
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 8.14 kB 8.14 kB
link.js gzip 3.5 kB 3.5 kB
routerDirect.js 408 B 408 B
routerDirect.js gzip 281 B 281 B
withRouter.js 419 B 419 B
withRouter.js gzip 280 B 280 B
Overall change 35.8 kB 35.8 kB
Client Pages Modern
zeit/next.js canary pavelzubov/next.js canary Change
_app.module.js 1.7 kB 1.7 kB
_app.module.js gzip 832 B 832 B
_error.module.js 23.3 kB 23.3 kB
_error.module.js gzip 8.59 kB 8.59 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 793 B 793 B
index.module.js 294 B 294 B
index.module.js gzip 223 B 223 B
link.module.js 8.53 kB 8.53 kB
link.module.js gzip 3.68 kB 3.68 kB
routerDirect.module.js 394 B 394 B
routerDirect..dule.js gzip 281 B 281 B
withRouter.module.js 404 B 404 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 36.1 kB 36.1 kB
Client Build Manifests
zeit/next.js canary pavelzubov/next.js canary Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 162 B 162 B
Serverless bundles
zeit/next.js canary pavelzubov/next.js canary Change
_error.js 253 kB 253 kB
_error.js gzip 67.9 kB 67.9 kB ⚠️ +1 B
hooks.html 3.75 kB 3.75 kB
hooks.html gzip 977 B 975 B -2 B
index.js 254 kB 254 kB
index.js gzip 68.2 kB 68.2 kB
link.js 261 kB 261 kB
link.js gzip 70.3 kB 70.3 kB ⚠️ +1 B
routerDirect.js 255 kB 255 kB
routerDirect.js gzip 68.3 kB 68.3 kB ⚠️ +1 B
withRouter.js 254 kB 254 kB
withRouter.js gzip 68.4 kB 68.4 kB ⚠️ +1 B
Overall change 1.28 MB 1.28 MB

Commit: 02e401d

Copy link
Member

@timneutkens timneutkens left a comment

Choose a reason for hiding this comment

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

This PR doesn't seem correct. The only way a user can inject that state is through manually editing the history which breaks back button behavior and shouldn't be done.

@pavelzubov
Copy link
Author

pavelzubov commented Oct 7, 2019

This PR doesn't seem correct. The only way a user can inject that state is through manually editing the history which breaks back button behavior and shouldn't be done.

Can you describe this in the issue topic (zeit#8634) so that we can discuss this with other interested users?

@Timer
Copy link
Member

Timer commented Oct 16, 2019

I'll close this PR in favor of the linked issue since it appears tests don't pass with this.

Let's please discuss there, I'll tag that issue for investigation!

@Timer Timer closed this Oct 16, 2019
@vercel vercel locked as resolved and limited conversation to collaborators Feb 1, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants