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

Add info on storing cache in GitHub Actions #10231

Merged
merged 4 commits into from Jan 23, 2020
Merged

Conversation

amytych
Copy link
Contributor

@amytych amytych commented Jan 23, 2020

No description provided.

@amytych amytych requested a review from Timer as a code owner January 23, 2020 11:40
@amytych amytych changed the base branch from master to canary January 23, 2020 11:42
@ijjk
Copy link
Member

ijjk commented Jan 23, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
zeit/next.js canary amytych/next.js patch-1 Change
buildDuration 13.4s 13.4s -50ms
nodeModulesSize 51 MB 49 MB -1.98 MB
Client Bundles (main, webpack, commons) Overall decrease ✓
zeit/next.js canary amytych/next.js patch-1 Change
main-HASH.js gzip 5.1 kB 5.1 kB -4 B
webpack-HASH.js gzip 746 B 746 B
4952ddcd88e7..54d3.js gzip 4.68 kB 4.68 kB
commons.HASH.js gzip 4.06 kB 4.06 kB
de003c3a9d30..d57b.js gzip 16.1 kB 13.7 kB -2.39 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 69.8 kB 67.4 kB -2.39 kB
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
zeit/next.js canary amytych/next.js patch-1 Change
main-HASH.module.js gzip 4.1 kB 4.16 kB ⚠️ +59 B
webpack-HASH..dule.js gzip 746 B 746 B
4952ddcd88e7..dule.js gzip 5.56 kB 5.56 kB
de003c3a9d30..dule.js gzip 15 kB N/A N/A
framework.HA..dule.js gzip 39.1 kB 39.1 kB
de003c3a9d30..dule.js gzip N/A 12.5 kB N/A
Overall change 64.5 kB 62.1 kB ⚠️ +59 B
Legacy Client Bundles (polyfills)
zeit/next.js canary amytych/next.js patch-1 Change
polyfills-HASH.js gzip 4.76 kB 4.76 kB
Overall change 4.76 kB 4.76 kB
Client Pages Overall increase ⚠️
zeit/next.js canary amytych/next.js patch-1 Change
_app.js gzip 1.15 kB 1.33 kB ⚠️ +184 B
_error.js gzip 4.07 kB 4.07 kB
hooks.js gzip 779 B 779 B
index.js gzip 222 B 222 B
link.js gzip 2.89 kB 2.9 kB ⚠️ +5 B
routerDirect.js gzip 283 B 283 B
withRouter.js gzip 282 B 282 B
Overall change 9.68 kB 9.87 kB ⚠️ +189 B
Client Pages Modern Overall increase ⚠️
zeit/next.js canary amytych/next.js patch-1 Change
_app.module.js gzip 576 B 757 B ⚠️ +181 B
_error.module.js gzip 3.06 kB 3.06 kB
hooks.module.js gzip 371 B 371 B
index.module.js gzip 212 B 212 B
link.module.js gzip 2.46 kB 2.47 kB ⚠️ +9 B
routerDirect..dule.js gzip 273 B 273 B
withRouter.m..dule.js gzip 272 B 272 B
Overall change 7.22 kB 7.41 kB ⚠️ +190 B
Client Build Manifests
zeit/next.js canary amytych/next.js patch-1 Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Rendered Page Sizes Overall decrease ✓
zeit/next.js canary amytych/next.js patch-1 Change
index.html gzip 1.02 kB 1.02 kB -1 B
link.html gzip 1.03 kB 1.03 kB -1 B
withRouter.html gzip 1.02 kB 1.01 kB -3 B
Overall change 3.07 kB 3.07 kB -5 B

Diffs

Diff for _app.js
@@ -1,6 +1,74 @@
 ;(window['webpackJsonp'] = window['webpackJsonp'] || []).push([
   [5],
   {
+    /***/ '+oT+': /***/ function(module, exports, __webpack_require__) {
+      var _Promise = __webpack_require__('eVuF')
+
+      function asyncGeneratorStep(
+        gen,
+        resolve,
+        reject,
+        _next,
+        _throw,
+        key,
+        arg
+      ) {
+        try {
+          var info = gen[key](arg)
+          var value = info.value
+        } catch (error) {
+          reject(error)
+          return
+        }
+
+        if (info.done) {
+          resolve(value)
+        } else {
+          _Promise.resolve(value).then(_next, _throw)
+        }
+      }
+
+      function _asyncToGenerator(fn) {
+        return function() {
+          var self = this,
+            args = arguments
+          return new _Promise(function(resolve, reject) {
+            var gen = fn.apply(self, args)
+
+            function _next(value) {
+              asyncGeneratorStep(
+                gen,
+                resolve,
+                reject,
+                _next,
+                _throw,
+                'next',
+                value
+              )
+            }
+
+            function _throw(err) {
+              asyncGeneratorStep(
+                gen,
+                resolve,
+                reject,
+                _next,
+                _throw,
+                'throw',
+                err
+              )
+            }
+
+            _next(undefined)
+          })
+        }
+      }
+
+      module.exports = _asyncToGenerator
+
+      /***/
+    },
+
     /***/ '+plK': /***/ function(module, exports, __webpack_require__) {
       __webpack_require__('ApPD')
       module.exports = __webpack_require__('WEpk').Object.getPrototypeOf
@@ -27,13 +95,6 @@
       /***/
     },
 
-    /***/ 0: /***/ function(module, exports, __webpack_require__) {
-      __webpack_require__('e9+W')
-      module.exports = __webpack_require__('nOHt')
-
-      /***/
-    },
-
     /***/ ApPD: /***/ function(module, exports, __webpack_require__) {
       // 19.1.2.9 Object.getPrototypeOf(O)
       var toObject = __webpack_require__('JB68')
@@ -51,8 +112,6 @@
     /***/ B5Ud: /***/ function(module, exports, __webpack_require__) {
       'use strict'
 
-      var _Object$assign = __webpack_require__('Qetd')
-
       var _classCallCheck = __webpack_require__('/HRN')
 
       var _createClass = __webpack_require__('WaGi')
@@ -72,42 +131,56 @@
       exports.createUrl = createUrl
       exports['default'] = void 0
 
+      var _extends2 = _interopRequireDefault(__webpack_require__('htGi'))
+
+      var _asyncToGenerator2 = _interopRequireDefault(
+        __webpack_require__('+oT+')
+      )
+
       var _react = _interopRequireDefault(__webpack_require__('q1tI'))
 
       var _utils = __webpack_require__('g/15')
 
       exports.AppInitialProps = _utils.AppInitialProps
+
+      __webpack_require__('nOHt')
       /**
        * `App` component is used for initialize of pages. It allows for overwriting and full control of the `page` initialization.
        * This allows for keeping state between navigation, custom error handling, injecting additional data.
        */
 
-      function appGetInitialProps(_ref) {
-        var Component, ctx, pageProps
-        return _regeneratorRuntime.async(function appGetInitialProps$(
-          _context
-        ) {
-          while (1) {
-            switch ((_context.prev = _context.next)) {
-              case 0:
-                ;(Component = _ref.Component), (ctx = _ref.ctx)
-                _context.next = 3
-                return _regeneratorRuntime.awrap(
-                  (0, _utils.loadGetInitialProps)(Component, ctx)
-                )
-
-              case 3:
-                pageProps = _context.sent
-                return _context.abrupt('return', {
-                  pageProps: pageProps,
-                })
+      function appGetInitialProps(_x) {
+        return _appGetInitialProps.apply(this, arguments)
+      }
 
-              case 5:
-              case 'end':
-                return _context.stop()
-            }
-          }
-        })
+      function _appGetInitialProps() {
+        _appGetInitialProps = (0, _asyncToGenerator2['default'])(
+          /*#__PURE__*/
+          _regeneratorRuntime.mark(function _callee(_ref) {
+            var Component, ctx, pageProps
+            return _regeneratorRuntime.wrap(function _callee$(_context) {
+              while (1) {
+                switch ((_context.prev = _context.next)) {
+                  case 0:
+                    ;(Component = _ref.Component), (ctx = _ref.ctx)
+                    _context.next = 3
+                    return (0, _utils.loadGetInitialProps)(Component, ctx)
+
+                  case 3:
+                    pageProps = _context.sent
+                    return _context.abrupt('return', {
+                      pageProps: pageProps,
+                    })
+
+                  case 5:
+                  case 'end':
+                    return _context.stop()
+                }
+              }
+            }, _callee)
+          })
+        )
+        return _appGetInitialProps.apply(this, arguments)
       }
 
       var App =
@@ -144,7 +217,7 @@
                 var url = createUrl(router)
                 return _react['default'].createElement(
                   Component,
-                  _Object$assign({}, pageProps, {
+                  (0, _extends2['default'])({}, pageProps, {
                     url: url,
                   })
                 )
@@ -316,5 +389,5 @@
       /***/
     },
   },
-  [[0, 0, 2, 1, 3, 4]],
+  [['e9+W', 0, 2, 1, 3, 4]],
 ])
Diff for _app.module.js
@@ -1,9 +1,70 @@
 ;(window['webpackJsonp'] = window['webpackJsonp'] || []).push([
   [4],
   {
-    /***/ 0: /***/ function(module, exports, __webpack_require__) {
-      __webpack_require__('e9+W')
-      module.exports = __webpack_require__('nOHt')
+    /***/ '+oT+': /***/ function(module, exports, __webpack_require__) {
+      var _Promise = __webpack_require__('eVuF')
+
+      function asyncGeneratorStep(
+        gen,
+        resolve,
+        reject,
+        _next,
+        _throw,
+        key,
+        arg
+      ) {
+        try {
+          var info = gen[key](arg)
+          var value = info.value
+        } catch (error) {
+          reject(error)
+          return
+        }
+
+        if (info.done) {
+          resolve(value)
+        } else {
+          _Promise.resolve(value).then(_next, _throw)
+        }
+      }
+
+      function _asyncToGenerator(fn) {
+        return function() {
+          var self = this,
+            args = arguments
+          return new _Promise(function(resolve, reject) {
+            var gen = fn.apply(self, args)
+
+            function _next(value) {
+              asyncGeneratorStep(
+                gen,
+                resolve,
+                reject,
+                _next,
+                _throw,
+                'next',
+                value
+              )
+            }
+
+            function _throw(err) {
+              asyncGeneratorStep(
+                gen,
+                resolve,
+                reject,
+                _next,
+                _throw,
+                'throw',
+                err
+              )
+            }
+
+            _next(undefined)
+          })
+        }
+      }
+
+      module.exports = _asyncToGenerator
 
       /***/
     },
@@ -11,8 +72,6 @@
     /***/ B5Ud: /***/ function(module, exports, __webpack_require__) {
       'use strict'
 
-      var _Object$assign = __webpack_require__('Qetd')
-
       var _interopRequireDefault = __webpack_require__('KI45')
 
       exports.__esModule = true
@@ -20,22 +79,37 @@
       exports.createUrl = createUrl
       exports.default = void 0
 
+      var _extends2 = _interopRequireDefault(__webpack_require__('htGi'))
+
+      var _asyncToGenerator2 = _interopRequireDefault(
+        __webpack_require__('+oT+')
+      )
+
       var _react = _interopRequireDefault(__webpack_require__('q1tI'))
 
       var _utils = __webpack_require__('g/15')
 
       exports.AppInitialProps = _utils.AppInitialProps
+
+      __webpack_require__('nOHt')
       /**
        * `App` component is used for initialize of pages. It allows for overwriting and full control of the `page` initialization.
        * This allows for keeping state between navigation, custom error handling, injecting additional data.
        */
 
-      async function appGetInitialProps(_ref) {
-        var { Component, ctx } = _ref
-        var pageProps = await (0, _utils.loadGetInitialProps)(Component, ctx)
-        return {
-          pageProps,
-        }
+      function appGetInitialProps(_x) {
+        return _appGetInitialProps.apply(this, arguments)
+      }
+
+      function _appGetInitialProps() {
+        _appGetInitialProps = (0, _asyncToGenerator2.default)(function*(_ref) {
+          var { Component, ctx } = _ref
+          var pageProps = yield (0, _utils.loadGetInitialProps)(Component, ctx)
+          return {
+            pageProps,
+          }
+        })
+        return _appGetInitialProps.apply(this, arguments)
       }
 
       class App extends _react.default.Component {
@@ -51,7 +125,7 @@
           var url = createUrl(router)
           return _react.default.createElement(
             Component,
-            _Object$assign({}, pageProps, {
+            (0, _extends2.default)({}, pageProps, {
               url: url,
             })
           )
@@ -144,5 +218,5 @@
       /***/
     },
   },
-  [[0, 0, 1, 2, 3]],
+  [['e9+W', 0, 1, 2, 3]],
 ])
Diff for link.js
@@ -432,16 +432,16 @@
 
       var _inherits = __webpack_require__('N9n2')
 
-      var _Map = __webpack_require__('LX0d')
+      var _interopRequireWildcard = __webpack_require__('5Uuq')
 
       var _interopRequireDefault = __webpack_require__('KI45')
 
-      var _interopRequireWildcard = __webpack_require__('5Uuq')
-
       exports.__esModule = true
       exports['default'] = void 0
 
-      var _url = __webpack_require__('CxY0')
+      var _map = _interopRequireDefault(__webpack_require__('LX0d'))
+
+      var _url = __webpack_require__('QmWs')
 
       var _react = _interopRequireWildcard(__webpack_require__('q1tI'))
 
@@ -486,7 +486,7 @@
       }
 
       var observer
-      var listeners = new _Map()
+      var listeners = new _map['default']()
       var IntersectionObserver = true ? window.IntersectionObserver : undefined
       var prefetched = {}
Diff for link.module.js
@@ -307,16 +307,16 @@
     /***/ cTJO: /***/ function(module, exports, __webpack_require__) {
       'use strict'
 
-      var _Map = __webpack_require__('LX0d')
+      var _interopRequireWildcard = __webpack_require__('5Uuq')
 
       var _interopRequireDefault = __webpack_require__('KI45')
 
-      var _interopRequireWildcard = __webpack_require__('5Uuq')
-
       exports.__esModule = true
       exports.default = void 0
 
-      var _url = __webpack_require__('CxY0')
+      var _map = _interopRequireDefault(__webpack_require__('LX0d'))
+
+      var _url = __webpack_require__('QmWs')
 
       var _react = _interopRequireWildcard(__webpack_require__('q1tI'))
 
@@ -361,7 +361,7 @@
       }
 
       var observer
-      var listeners = new _Map()
+      var listeners = new _map.default()
       var IntersectionObserver = true ? window.IntersectionObserver : undefined
       var prefetched = {}
Diff for de003c3a9d30..e3035c8ae.js

Diff too large to display

Diff for de003c3a9d30..d3.module.js

Diff too large to display

Diff for main-HASH.js

Diff too large to display

Diff for main-HASH.module.js
@@ -1,6 +1,74 @@
 ;(window['webpackJsonp'] = window['webpackJsonp'] || []).push([
   [11],
   {
+    /***/ '+oT+': /***/ function(module, exports, __webpack_require__) {
+      var _Promise = __webpack_require__('eVuF')
+
+      function asyncGeneratorStep(
+        gen,
+        resolve,
+        reject,
+        _next,
+        _throw,
+        key,
+        arg
+      ) {
+        try {
+          var info = gen[key](arg)
+          var value = info.value
+        } catch (error) {
+          reject(error)
+          return
+        }
+
+        if (info.done) {
+          resolve(value)
+        } else {
+          _Promise.resolve(value).then(_next, _throw)
+        }
+      }
+
+      function _asyncToGenerator(fn) {
+        return function() {
+          var self = this,
+            args = arguments
+          return new _Promise(function(resolve, reject) {
+            var gen = fn.apply(self, args)
+
+            function _next(value) {
+              asyncGeneratorStep(
+                gen,
+                resolve,
+                reject,
+                _next,
+                _throw,
+                'next',
+                value
+              )
+            }
+
+            function _throw(err) {
+              asyncGeneratorStep(
+                gen,
+                resolve,
+                reject,
+                _next,
+                _throw,
+                'throw',
+                err
+              )
+            }
+
+            _next(undefined)
+          })
+        }
+      }
+
+      module.exports = _asyncToGenerator
+
+      /***/
+    },
+
     /***/ BMP1: /***/ function(module, exports, __webpack_require__) {
       'use strict'
 
@@ -19,10 +87,13 @@
     /***/ DqTX: /***/ function(module, exports, __webpack_require__) {
       'use strict'
 
-      var _Promise = __webpack_require__('eVuF')
+      var _interopRequireDefault = __webpack_require__('KI45')
 
       exports.__esModule = true
       exports.default = void 0
+
+      var _promise = _interopRequireDefault(__webpack_require__('eVuF'))
+
       var DOMAttributeNames = {
         acceptCharset: 'accept-charset',
         className: 'class',
@@ -33,11 +104,13 @@
       class HeadManager {
         constructor() {
           this.updateHead = head => {
-            var promise = (this.updatePromise = _Promise.resolve().then(() => {
-              if (promise !== this.updatePromise) return
-              this.updatePromise = null
-              this.doUpdateHead(head)
-            }))
+            var promise = (this.updatePromise = _promise.default
+              .resolve()
+              .then(() => {
+                if (promise !== this.updatePromise) return
+                this.updatePromise = null
+                this.doUpdateHead(head)
+              }))
           }
 
           this.updatePromise = null
@@ -170,8 +243,6 @@
     /***/ IKlv: /***/ function(module, exports, __webpack_require__) {
       'use strict'
 
-      var _Promise = __webpack_require__('eVuF')
-
       var _interopRequireWildcard3 = __webpack_require__('5Uuq')
 
       var _interopRequireDefault = __webpack_require__('KI45')
@@ -181,12 +252,18 @@
       exports.renderError = renderError
       exports.default = exports.emitter = exports.router = exports.version = void 0
 
+      var _asyncToGenerator2 = _interopRequireDefault(
+        __webpack_require__('+oT+')
+      )
+
       var _extends2 = _interopRequireDefault(__webpack_require__('htGi'))
 
       var _interopRequireWildcard2 = _interopRequireDefault(
         __webpack_require__('5Uuq')
       )
 
+      var _promise = _interopRequireDefault(__webpack_require__('eVuF'))
+
       var _react = _interopRequireDefault(__webpack_require__('q1tI'))
 
       var _reactDom = _interopRequireDefault(__webpack_require__('i8i4'))
@@ -213,14 +290,14 @@
       /* global location */
 
       if (!window.Promise) {
-        window.Promise = __webpack_require__('eVuF')
+        window.Promise = _promise.default
       }
 
       var data = JSON.parse(
         document.getElementById('__NEXT_DATA__').textContent
       )
       window.__NEXT_DATA__ = data
-      var version = '9.2.1-canary.9'
+      var version = '9.2.0'
       exports.version = version
       var {
         props,
@@ -306,14 +383,6 @@
               }
             )
           }
-
-          if (undefined) {
-            window.__NEXT_HYDRATED = true
-
-            if (window.__NEXT_HYDRATED_CB) {
-              window.__NEXT_HYDRATED_CB()
-            }
-          }
         }
 
         componentDidUpdate() {
@@ -339,146 +408,162 @@
       var emitter = (0, _mitt.default)()
       exports.emitter = emitter
 
-      var _default = async function _default(_temp) {
-        var { webpackHMR: passedWebpackHMR } = _temp === void 0 ? {} : _temp // This makes sure this specific lines are removed in production
+      var _default =
+        /*#__PURE__*/
+        (function() {
+          var _ref2 = (0, _asyncToGenerator2.default)(function*(_temp) {
+            var { webpackHMR: passedWebpackHMR } = _temp === void 0 ? {} : _temp // This makes sure this specific lines are removed in production
 
-        if (false) {
-        }
+            if (false) {
+            }
 
-        var { page: app, mod } = await pageLoader.loadPageScript('/_app')
-        App = app
-
-        if (mod && mod.unstable_onPerformanceData) {
-          onPerfEntry = function onPerfEntry(_ref2) {
-            var { name, startTime, value, duration } = _ref2
-            mod.unstable_onPerformanceData({
-              name,
-              startTime,
-              value,
-              duration,
-            })
-          }
-        }
+            var { page: app, mod } = yield pageLoader.loadPageScript('/_app')
+            App = app
+
+            if (mod && mod.unstable_onPerformanceData) {
+              onPerfEntry = function onPerfEntry(_ref3) {
+                var { name, startTime, value, duration } = _ref3
+                mod.unstable_onPerformanceData({
+                  name,
+                  startTime,
+                  value,
+                  duration,
+                })
+              }
+            }
 
-        var initialErr = err
+            var initialErr = err
 
-        try {
-          Component = await pageLoader.loadPage(page)
+            try {
+              Component = yield pageLoader.loadPage(page)
 
-          if (false) {
-            var isValidElementType
-          }
-        } catch (error) {
-          // This catches errors like throwing in the top level of a module
-          initialErr = error
-        }
+              if (false) {
+                var isValidElementType
+              }
+            } catch (error) {
+              // This catches errors like throwing in the top level of a module
+              initialErr = error
+            }
 
-        if (window.__NEXT_PRELOADREADY) {
-          await window.__NEXT_PRELOADREADY(dynamicIds)
-        }
+            if (window.__NEXT_PRELOADREADY) {
+              yield window.__NEXT_PRELOADREADY(dynamicIds)
+            }
 
-        exports.router = router = (0, _router.createRouter)(
-          page,
-          query,
-          asPath,
-          {
-            initialProps: props,
-            pageLoader,
-            App,
-            Component,
-            wrapApp,
-            err: initialErr,
-            subscription: (_ref3, App) => {
-              var { Component, props, err } = _ref3
-              render({
+            exports.router = router = (0, _router.createRouter)(
+              page,
+              query,
+              asPath,
+              {
+                initialProps: props,
+                pageLoader,
                 App,
                 Component,
-                props,
-                err,
-              })
-            },
-          }
-        ) // call init-client middleware
-
-        if (false) {
-        }
+                wrapApp,
+                err: initialErr,
+                subscription: (_ref4, App) => {
+                  var { Component, props, err } = _ref4
+                  render({
+                    App,
+                    Component,
+                    props,
+                    err,
+                  })
+                },
+              }
+            ) // call init-client middleware
 
-        var renderCtx = {
-          App,
-          Component,
-          props,
-          err: initialErr,
-        }
+            if (false) {
+            }
 
-        if (true) {
-          render(renderCtx)
-          return emitter
-        }
+            var renderCtx = {
+              App,
+              Component,
+              props,
+              err: initialErr,
+            }
+            render(renderCtx)
+            return emitter
+          })
 
-        if (false) {
-        }
-      }
+          return function(_x) {
+            return _ref2.apply(this, arguments)
+          }
+        })()
 
       exports.default = _default
 
-      async function render(props) {
-        if (props.err) {
-          await renderError(props)
-          return
-        }
-
-        try {
-          await doRender(props)
-        } catch (err) {
-          await renderError(
-            (0, _extends2.default)({}, props, {
-              err,
-            })
-          )
-        }
+      function render(_x2) {
+        return _render.apply(this, arguments)
       } // This method handles all runtime and debug errors.
       // 404 and 500 errors are special kind of errors
       // and they are still handle via the main render method.
 
-      async function renderError(props) {
-        var { App, err } = props // In development runtime errors are caught by react-error-overlay
-        // In production we catch runtime errors using componentDidCatch which will trigger renderError
+      function _render() {
+        _render = (0, _asyncToGenerator2.default)(function*(props) {
+          if (props.err) {
+            yield renderError(props)
+            return
+          }
 
-        if (false) {
-        }
+          try {
+            yield doRender(props)
+          } catch (err) {
+            yield renderError(
+              (0, _extends2.default)({}, props, {
+                err,
+              })
+            )
+          }
+        })
+        return _render.apply(this, arguments)
+      }
 
-        if (false) {
-        } // Make sure we log the error to the console, otherwise users can't track down issues.
+      function renderError(_x3) {
+        return _renderError.apply(this, arguments)
+      } // If hydrate does not exist, eg in preact.
 
-        console.error(err)
-        ErrorComponent = await pageLoader.loadPage('/_error') // In production we do a normal render with the `ErrorComponent` as component.
-        // If we've gotten here upon initial render, we can use the props from the server.
-        // Otherwise, we need to call `getInitialProps` on `App` before mounting.
+      function _renderError() {
+        _renderError = (0, _asyncToGenerator2.default)(function*(props) {
+          var { App, err } = props // In development runtime errors are caught by react-error-overlay
+          // In production we catch runtime errors using componentDidCatch which will trigger renderError
 
-        var AppTree = wrapApp(App)
-        var appCtx = {
-          Component: ErrorComponent,
-          AppTree,
-          router,
-          ctx: {
-            err,
-            pathname: page,
-            query,
-            asPath,
-            AppTree,
-          },
-        }
-        var initProps = props.props
-          ? props.props
-          : await (0, _utils.loadGetInitialProps)(App, appCtx)
-        await doRender(
-          (0, _extends2.default)({}, props, {
-            err,
+          if (false) {
+          }
+
+          if (false) {
+          } // Make sure we log the error to the console, otherwise users can't track down issues.
+
+          console.error(err)
+          ErrorComponent = yield pageLoader.loadPage('/_error') // In production we do a normal render with the `ErrorComponent` as component.
+          // If we've gotten here upon initial render, we can use the props from the server.
+          // Otherwise, we need to call `getInitialProps` on `App` before mounting.
+
+          var AppTree = wrapApp(App)
+          var appCtx = {
             Component: ErrorComponent,
-            props: initProps,
-          })
-        )
-      } // If hydrate does not exist, eg in preact.
+            AppTree,
+            router,
+            ctx: {
+              err,
+              pathname: page,
+              query,
+              asPath,
+              AppTree,
+            },
+          }
+          var initProps = props.props
+            ? props.props
+            : yield (0, _utils.loadGetInitialProps)(App, appCtx)
+          yield doRender(
+            (0, _extends2.default)({}, props, {
+              err,
+              Component: ErrorComponent,
+              props: initProps,
+            })
+          )
+        })
+        return _renderError.apply(this, arguments)
+      }
 
       var isInitialRender = typeof _reactDom.default.hydrate === 'function'
       var reactRoot = null
@@ -580,8 +665,8 @@
         ].forEach(measure => performance.clearMeasures(measure))
       }
 
-      function AppContainer(_ref4) {
-        var { children } = _ref4
+      function AppContainer(_ref5) {
+        var { children } = _ref5
         return _react.default.createElement(
           Container,
           {
@@ -620,113 +705,68 @@
         )
       }
 
-      async function doRender(_ref5) {
-        var { App, Component, props, err } = _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
-        ) {
-          var { pathname, query: _query, asPath: _asPath } = router
-          var AppTree = wrapApp(App)
-          var appCtx = {
-            router,
-            AppTree,
-            Component: ErrorComponent,
-            ctx: {
-              err,
-              pathname,
-              query: _query,
-              asPath: _asPath,
-              AppTree,
-            },
-          }
-          props = await (0, _utils.loadGetInitialProps)(App, appCtx)
-        }
-
-        Component = Component || lastAppProps.Component
-        props = props || lastAppProps.props
-        var appProps = (0, _extends2.default)({}, props, {
-          Component,
-          err,
-          router,
-        }) // lastAppProps has to be set before ReactDom.render to account for ReactDom throwing an error.
-
-        lastAppProps = appProps
-        emitter.emit('before-reactdom-render', {
-          Component,
-          ErrorComponent,
-          appProps,
-        })
-
-        var elem = _react.default.createElement(
-          AppContainer,
-          null,
-          _react.default.createElement(App, appProps)
-        ) // We catch runtime errors using componentDidCatch which will trigger renderError
-
-        renderReactElement(false ? undefined : elem, appElement)
-        emitter.emit('after-reactdom-render', {
-          Component,
-          ErrorComponent,
-          appProps,
-        })
+      function doRender(_x4) {
+        return _doRender.apply(this, arguments)
       }
 
-      /***/
-    },
-
-    /***/ UXZV: /***/ function(module, exports, __webpack_require__) {
-      module.exports = __webpack_require__('UbbE')
-
-      /***/
-    },
-
-    /***/ UbbE: /***/ function(module, exports, __webpack_require__) {
-      __webpack_require__('o8NH')
-      module.exports = __webpack_require__('WEpk').Object.assign
+      function _doRender() {
+        _doRender = (0, _asyncToGenerator2.default)(function*(_ref6) {
+          var { App, Component, props, err } = _ref6 // Usual getInitialProps fetching is handled in next/router
+          // this is for when ErrorComponent gets replaced by Component by HMR
 
-      /***/
-    },
-
-    /***/ htGi: /***/ function(module, exports, __webpack_require__) {
-      var _Object$assign = __webpack_require__('UXZV')
-
-      function _extends() {
-        module.exports = _extends =
-          _Object$assign ||
-          function(target) {
-            for (var i = 1; i < arguments.length; i++) {
-              var source = arguments[i]
-
-              for (var key in source) {
-                if (Object.prototype.hasOwnProperty.call(source, key)) {
-                  target[key] = source[key]
-                }
-              }
+          if (
+            !props &&
+            Component &&
+            Component !== ErrorComponent &&
+            lastAppProps.Component === ErrorComponent
+          ) {
+            var { pathname, query: _query, asPath: _asPath } = router
+            var AppTree = wrapApp(App)
+            var appCtx = {
+              router,
+              AppTree,
+              Component: ErrorComponent,
+              ctx: {
+                err,
+                pathname,
+                query: _query,
+                asPath: _asPath,
+                AppTree,
+              },
             }
-
-            return target
+            props = yield (0, _utils.loadGetInitialProps)(App, appCtx)
           }
 
-        return _extends.apply(this, arguments)
-      }
-
-      module.exports = _extends
+          Component = Component || lastAppProps.Component
+          props = props || lastAppProps.props
+          var appProps = (0, _extends2.default)({}, props, {
+            Component,
+            err,
+            router,
+          }) // lastAppProps has to be set before ReactDom.render to account for ReactDom throwing an error.
 
-      /***/
-    },
+          lastAppProps = appProps
+          emitter.emit('before-reactdom-render', {
+            Component,
+            ErrorComponent,
+            appProps,
+          })
 
-    /***/ o8NH: /***/ function(module, exports, __webpack_require__) {
-      // 19.1.3.1 Object.assign(target, source)
-      var $export = __webpack_require__('Y7ZC')
+          var elem = _react.default.createElement(
+            AppContainer,
+            null,
+            _react.default.createElement(App, appProps)
+          ) // We catch runtime errors using componentDidCatch which will trigger renderError
 
-      $export($export.S + $export.F, 'Object', {
-        assign: __webpack_require__('kwZ1'),
-      })
+          renderReactElement(false ? undefined : elem, appElement)
+          emitter.emit('after-reactdom-render', {
+            Component,
+            ErrorComponent,
+            appProps,
+          })
+        })
+        return _doRender.apply(this, arguments)
+      }
 
       /***/
     },
@@ -758,13 +798,13 @@
     /***/ zmvN: /***/ function(module, exports, __webpack_require__) {
       'use strict'
 
-      var _Promise = __webpack_require__('eVuF')
-
       var _interopRequireDefault = __webpack_require__('KI45')
 
       exports.__esModule = true
       exports.default = void 0
 
+      var _promise = _interopRequireDefault(__webpack_require__('eVuF'))
+
       var _mitt = _interopRequireDefault(__webpack_require__('dZ6Y'))
 
       function hasRel(rel, link) {
@@ -795,7 +835,7 @@
       }
 
       function appendLink(href, rel, as) {
-        return new _Promise((res, rej, link) => {
+        return new _promise.default((res, rej, link) => {
           link = document.createElement('link')
           link.crossOrigin = 'anonymous'
           link.href = href
@@ -816,7 +856,7 @@
           this.loadingRoutes = {}
 
           if (true) {
-            this.promisedBuildManifest = new _Promise(resolve => {
+            this.promisedBuildManifest = new _promise.default(resolve => {
               if (window.__BUILD_MANIFEST) {
                 resolve(window.__BUILD_MANIFEST)
               } else {
@@ -845,7 +885,7 @@
 
         loadPageScript(route) {
           route = normalizeRoute(route)
-          return new _Promise((resolve, reject) => {
+          return new _promise.default((resolve, reject) => {
             var fire = _ref => {
               var { error, page, mod } = _ref
               this.pageRegisterEvents.off(route, fire)
@@ -987,7 +1027,7 @@
           if ((cn = navigator.connection)) {
             // Don't prefetch if using 2G or if Save-Data is enabled.
             if (cn.saveData || /2g/.test(cn.effectiveType))
-              return _Promise.resolve()
+              return _promise.default.resolve()
           }
 
           var url
@@ -1010,7 +1050,7 @@
               encodeURI(scriptRoute)
           }
 
-          return _Promise
+          return _promise.default
             .all(
               document.querySelector(
                 'link[rel="' +
@@ -1031,7 +1071,9 @@
                     true &&
                       !isDependency &&
                       this.getDependencies(route).then(urls =>
-                        _Promise.all(urls.map(url => this.prefetch(url, true)))
+                        _promise.default.all(
+                          urls.map(url => this.prefetch(url, true))
+                        )
                       ),
                   ]
             )
Diff for index.html
@@ -39,13 +39,13 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js"
+      href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.c5cfe57ad45f291e53e4.module.js"
       as="script"
       crossorigin="anonymous"
     />
     <link
       rel="preload"
-      href="/_next/static/runtime/main-6fbc99f6324f4c237d62.module.js"
+      href="/_next/static/runtime/main-c1f681b026529749e230.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -81,28 +81,28 @@
       src="/_next/static/runtime/polyfills-355bc4b3077ea9d3fc7a.js"
     ></script
     ><script
-      async=""
+      defer=""
       data-next-page="/"
       src="/_next/static/BUILD_ID/pages/index.js"
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
-      async=""
+      defer=""
       data-next-page="/"
       src="/_next/static/BUILD_ID/pages/index.module.js"
       crossorigin="anonymous"
       type="module"
     ></script
     ><script
-      async=""
+      defer=""
       data-next-page="/_app"
       src="/_next/static/BUILD_ID/pages/_app.js"
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
-      async=""
+      defer=""
       data-next-page="/_app"
       src="/_next/static/BUILD_ID/pages/_app.module.js"
       crossorigin="anonymous"
@@ -110,79 +110,79 @@
     ></script
     ><script
       src="/_next/static/runtime/webpack-4d739ac7b0d8f888ab18.js"
-      async=""
+      defer=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
       src="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js"
-      async=""
+      defer=""
       crossorigin="anonymous"
       type="module"
     ></script
     ><script
       src="/_next/static/chunks/framework.c07ba8a3b0945b0f6315.js"
-      async=""
+      defer=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
       src="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js"
-      async=""
+      defer=""
       crossorigin="anonymous"
       type="module"
     ></script
     ><script
       src="/_next/static/chunks/commons.5d483f979b96e9afed5a.js"
-      async=""
+      defer=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
       src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.9a0caf742c992a927903.js"
-      async=""
+      defer=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
       src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js"
-      async=""
+      defer=""
       crossorigin="anonymous"
       type="module"
     ></script
     ><script
-      src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.7f8e4c92f1de3035c8ae.js"
-      async=""
+      src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.f292cf66b770b02858bf.js"
+      defer=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
-      src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js"
-      async=""
+      src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.c5cfe57ad45f291e53e4.module.js"
+      defer=""
       crossorigin="anonymous"
       type="module"
     ></script
     ><script
-      src="/_next/static/runtime/main-e63398be6927fcbe177b.js"
-      async=""
+      src="/_next/static/runtime/main-b88ab0b3125aefaa36de.js"
+      defer=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
-      src="/_next/static/runtime/main-6fbc99f6324f4c237d62.module.js"
-      async=""
+      src="/_next/static/runtime/main-c1f681b026529749e230.module.js"
+      defer=""
       crossorigin="anonymous"
       type="module"
     ></script
     ><script
       src="/_next/static/BUILD_ID/_buildManifest.js"
-      async=""
+      defer=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
       src="/_next/static/BUILD_ID/_buildManifest.module.js"
-      async=""
+      defer=""
       crossorigin="anonymous"
       type="module"
     ></script>
Diff for link.html
@@ -39,13 +39,13 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js"
+      href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.c5cfe57ad45f291e53e4.module.js"
       as="script"
       crossorigin="anonymous"
     />
     <link
       rel="preload"
-      href="/_next/static/runtime/main-6fbc99f6324f4c237d62.module.js"
+      href="/_next/static/runtime/main-c1f681b026529749e230.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -86,28 +86,28 @@
       src="/_next/static/runtime/polyfills-355bc4b3077ea9d3fc7a.js"
     ></script
     ><script
-      async=""
+      defer=""
       data-next-page="/link"
       src="/_next/static/BUILD_ID/pages/link.js"
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
-      async=""
+      defer=""
       data-next-page="/link"
       src="/_next/static/BUILD_ID/pages/link.module.js"
       crossorigin="anonymous"
       type="module"
     ></script
     ><script
-      async=""
+      defer=""
       data-next-page="/_app"
       src="/_next/static/BUILD_ID/pages/_app.js"
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
-      async=""
+      defer=""
       data-next-page="/_app"
       src="/_next/static/BUILD_ID/pages/_app.module.js"
       crossorigin="anonymous"
@@ -115,79 +115,79 @@
     ></script
     ><script
       src="/_next/static/runtime/webpack-4d739ac7b0d8f888ab18.js"
-      async=""
+      defer=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
       src="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js"
-      async=""
+      defer=""
       crossorigin="anonymous"
       type="module"
     ></script
     ><script
       src="/_next/static/chunks/framework.c07ba8a3b0945b0f6315.js"
-      async=""
+      defer=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
       src="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js"
-      async=""
+      defer=""
       crossorigin="anonymous"
       type="module"
     ></script
     ><script
       src="/_next/static/chunks/commons.5d483f979b96e9afed5a.js"
-      async=""
+      defer=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
       src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.9a0caf742c992a927903.js"
-      async=""
+      defer=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
       src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js"
-      async=""
+      defer=""
       crossorigin="anonymous"
       type="module"
     ></script
     ><script
-      src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.7f8e4c92f1de3035c8ae.js"
-      async=""
+      src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.f292cf66b770b02858bf.js"
+      defer=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
-      src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js"
-      async=""
+      src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.c5cfe57ad45f291e53e4.module.js"
+      defer=""
       crossorigin="anonymous"
       type="module"
     ></script
     ><script
-      src="/_next/static/runtime/main-e63398be6927fcbe177b.js"
-      async=""
+      src="/_next/static/runtime/main-b88ab0b3125aefaa36de.js"
+      defer=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
-      src="/_next/static/runtime/main-6fbc99f6324f4c237d62.module.js"
-      async=""
+      src="/_next/static/runtime/main-c1f681b026529749e230.module.js"
+      defer=""
       crossorigin="anonymous"
       type="module"
     ></script
     ><script
       src="/_next/static/BUILD_ID/_buildManifest.js"
-      async=""
+      defer=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
       src="/_next/static/BUILD_ID/_buildManifest.module.js"
-      async=""
+      defer=""
       crossorigin="anonymous"
       type="module"
     ></script>
Diff for withRouter.html
@@ -39,13 +39,13 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js"
+      href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.c5cfe57ad45f291e53e4.module.js"
       as="script"
       crossorigin="anonymous"
     />
     <link
       rel="preload"
-      href="/_next/static/runtime/main-6fbc99f6324f4c237d62.module.js"
+      href="/_next/static/runtime/main-c1f681b026529749e230.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -81,28 +81,28 @@
       src="/_next/static/runtime/polyfills-355bc4b3077ea9d3fc7a.js"
     ></script
     ><script
-      async=""
+      defer=""
       data-next-page="/withRouter"
       src="/_next/static/BUILD_ID/pages/withRouter.js"
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
-      async=""
+      defer=""
       data-next-page="/withRouter"
       src="/_next/static/BUILD_ID/pages/withRouter.module.js"
       crossorigin="anonymous"
       type="module"
     ></script
     ><script
-      async=""
+      defer=""
       data-next-page="/_app"
       src="/_next/static/BUILD_ID/pages/_app.js"
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
-      async=""
+      defer=""
       data-next-page="/_app"
       src="/_next/static/BUILD_ID/pages/_app.module.js"
       crossorigin="anonymous"
@@ -110,79 +110,79 @@
     ></script
     ><script
       src="/_next/static/runtime/webpack-4d739ac7b0d8f888ab18.js"
-      async=""
+      defer=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
       src="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js"
-      async=""
+      defer=""
       crossorigin="anonymous"
       type="module"
     ></script
     ><script
       src="/_next/static/chunks/framework.c07ba8a3b0945b0f6315.js"
-      async=""
+      defer=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
       src="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js"
-      async=""
+      defer=""
       crossorigin="anonymous"
       type="module"
     ></script
     ><script
       src="/_next/static/chunks/commons.5d483f979b96e9afed5a.js"
-      async=""
+      defer=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
       src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.9a0caf742c992a927903.js"
-      async=""
+      defer=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
       src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js"
-      async=""
+      defer=""
       crossorigin="anonymous"
       type="module"
     ></script
     ><script
-      src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.7f8e4c92f1de3035c8ae.js"
-      async=""
+      src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.f292cf66b770b02858bf.js"
+      defer=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
-      src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js"
-      async=""
+      src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.c5cfe57ad45f291e53e4.module.js"
+      defer=""
       crossorigin="anonymous"
       type="module"
     ></script
     ><script
-      src="/_next/static/runtime/main-e63398be6927fcbe177b.js"
-      async=""
+      src="/_next/static/runtime/main-b88ab0b3125aefaa36de.js"
+      defer=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
-      src="/_next/static/runtime/main-6fbc99f6324f4c237d62.module.js"
-      async=""
+      src="/_next/static/runtime/main-c1f681b026529749e230.module.js"
+      defer=""
       crossorigin="anonymous"
       type="module"
     ></script
     ><script
       src="/_next/static/BUILD_ID/_buildManifest.js"
-      async=""
+      defer=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
       src="/_next/static/BUILD_ID/_buildManifest.module.js"
-      async=""
+      defer=""
       crossorigin="anonymous"
       type="module"
     ></script>

Serverless Mode (Increase detected ⚠️)
General Overall decrease ✓
zeit/next.js canary amytych/next.js patch-1 Change
buildDuration 14.2s 13.9s -279ms
nodeModulesSize 51 MB 49 MB -1.98 MB
Client Bundles (main, webpack, commons) Overall decrease ✓
zeit/next.js canary amytych/next.js patch-1 Change
main-HASH.js gzip 5.1 kB 5.1 kB -4 B
webpack-HASH.js gzip 746 B 746 B
4952ddcd88e7..54d3.js gzip 4.68 kB 4.68 kB
commons.HASH.js gzip 4.06 kB 4.06 kB
de003c3a9d30..d57b.js gzip 16.1 kB N/A N/A
framework.HASH.js gzip 39.1 kB 39.1 kB
de003c3a9d30..e54b.js gzip N/A 13.7 kB N/A
Overall change 69.8 kB 67.4 kB -4 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
zeit/next.js canary amytych/next.js patch-1 Change
main-HASH.module.js gzip 4.1 kB 4.16 kB ⚠️ +59 B
webpack-HASH..dule.js gzip 746 B 746 B
4952ddcd88e7..dule.js gzip 5.56 kB 5.56 kB
de003c3a9d30..dule.js gzip 15 kB N/A N/A
framework.HA..dule.js gzip 39.1 kB 39.1 kB
de003c3a9d30..dule.js gzip N/A 12.5 kB N/A
Overall change 64.5 kB 62.1 kB ⚠️ +59 B
Legacy Client Bundles (polyfills)
zeit/next.js canary amytych/next.js patch-1 Change
polyfills-HASH.js gzip 4.76 kB 4.76 kB
Overall change 4.76 kB 4.76 kB
Client Pages Overall increase ⚠️
zeit/next.js canary amytych/next.js patch-1 Change
_app.js gzip 1.15 kB 1.33 kB ⚠️ +184 B
_error.js gzip 4.07 kB 4.07 kB
hooks.js gzip 779 B 779 B
index.js gzip 222 B 222 B
link.js gzip 2.89 kB 2.9 kB ⚠️ +5 B
routerDirect.js gzip 283 B 283 B
withRouter.js gzip 282 B 282 B
Overall change 9.68 kB 9.87 kB ⚠️ +189 B
Client Pages Modern Overall increase ⚠️
zeit/next.js canary amytych/next.js patch-1 Change
_app.module.js gzip 576 B 757 B ⚠️ +181 B
_error.module.js gzip 3.06 kB 3.06 kB
hooks.module.js gzip 371 B 371 B
index.module.js gzip 212 B 212 B
link.module.js gzip 2.46 kB 2.47 kB ⚠️ +9 B
routerDirect..dule.js gzip 273 B 273 B
withRouter.m..dule.js gzip 272 B 272 B
Overall change 7.22 kB 7.41 kB ⚠️ +190 B
Client Build Manifests
zeit/next.js canary amytych/next.js patch-1 Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Serverless bundles Overall increase ⚠️
zeit/next.js canary amytych/next.js patch-1 Change
_error.js gzip 46.2 kB 77.8 kB ⚠️ +31.6 kB
hooks.html gzip 1.06 kB 1.05 kB -3 B
index.js gzip 46.4 kB 78 kB ⚠️ +31.6 kB
link.js gzip 71.9 kB 80.4 kB ⚠️ +8.49 kB
routerDirect.js gzip 69.9 kB 78.1 kB ⚠️ +8.18 kB
withRouter.js gzip 69.9 kB 78.1 kB ⚠️ +8.19 kB
Overall change 305 kB 393 kB ⚠️ +88 kB

Commit: b55af9f

errors/no-cache.md Outdated Show resolved Hide resolved
errors/no-cache.md Outdated Show resolved Hide resolved
amytych and others added 2 commits January 23, 2020 20:28
Co-Authored-By: Joe Haddad <timer150@gmail.com>
Co-Authored-By: Joe Haddad <timer150@gmail.com>
@ijjk
Copy link
Member

ijjk commented Jan 23, 2020

Stats from current PR

Default Server Mode
General
zeit/next.js canary amytych/next.js patch-1 Change
buildDuration 12.2s 12.2s ⚠️ +13ms
nodeModulesSize 51.3 MB 51.3 MB
Client Bundles (main, webpack, commons)
zeit/next.js canary amytych/next.js patch-1 Change
main-HASH.js gzip 5.11 kB 5.11 kB
webpack-HASH.js gzip 746 B 746 B
4952ddcd88e7..54d3.js gzip 4.68 kB 4.68 kB
commons.HASH.js gzip 4.06 kB 4.06 kB
de003c3a9d30..d57b.js gzip 16.1 kB 16.1 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 69.8 kB 69.8 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary amytych/next.js patch-1 Change
main-HASH.module.js gzip 4.1 kB 4.1 kB
webpack-HASH..dule.js gzip 746 B 746 B
4952ddcd88e7..dule.js gzip 5.56 kB 5.56 kB
de003c3a9d30..dule.js gzip 15 kB 15 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 64.5 kB 64.5 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary amytych/next.js patch-1 Change
polyfills-HASH.js gzip 4.76 kB 4.76 kB
Overall change 4.76 kB 4.76 kB
Client Pages
zeit/next.js canary amytych/next.js patch-1 Change
_app.js gzip 1.15 kB 1.15 kB
_error.js gzip 4.07 kB 4.07 kB
hooks.js gzip 779 B 779 B
index.js gzip 222 B 222 B
link.js gzip 2.89 kB 2.89 kB
routerDirect.js gzip 283 B 283 B
withRouter.js gzip 282 B 282 B
Overall change 9.68 kB 9.68 kB
Client Pages Modern
zeit/next.js canary amytych/next.js patch-1 Change
_app.module.js gzip 576 B 576 B
_error.module.js gzip 3.06 kB 3.06 kB
hooks.module.js gzip 371 B 371 B
index.module.js gzip 212 B 212 B
link.module.js gzip 2.46 kB 2.46 kB
routerDirect..dule.js gzip 273 B 273 B
withRouter.m..dule.js gzip 272 B 272 B
Overall change 7.22 kB 7.22 kB
Client Build Manifests
zeit/next.js canary amytych/next.js patch-1 Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Rendered Page Sizes
zeit/next.js canary amytych/next.js patch-1 Change
index.html gzip 1.02 kB 1.02 kB
link.html gzip 1.03 kB 1.03 kB
withRouter.html gzip 1.02 kB 1.02 kB
Overall change 3.07 kB 3.07 kB

Serverless Mode
General
zeit/next.js canary amytych/next.js patch-1 Change
buildDuration 12.5s 12.7s ⚠️ +161ms
nodeModulesSize 51.3 MB 51.3 MB
Client Bundles (main, webpack, commons)
zeit/next.js canary amytych/next.js patch-1 Change
main-HASH.js gzip 5.11 kB 5.11 kB
webpack-HASH.js gzip 746 B 746 B
4952ddcd88e7..54d3.js gzip 4.68 kB 4.68 kB
commons.HASH.js gzip 4.06 kB 4.06 kB
de003c3a9d30..d57b.js gzip 16.1 kB 16.1 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 69.8 kB 69.8 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary amytych/next.js patch-1 Change
main-HASH.module.js gzip 4.1 kB 4.1 kB
webpack-HASH..dule.js gzip 746 B 746 B
4952ddcd88e7..dule.js gzip 5.56 kB 5.56 kB
de003c3a9d30..dule.js gzip 15 kB 15 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 64.5 kB 64.5 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary amytych/next.js patch-1 Change
polyfills-HASH.js gzip 4.76 kB 4.76 kB
Overall change 4.76 kB 4.76 kB
Client Pages
zeit/next.js canary amytych/next.js patch-1 Change
_app.js gzip 1.15 kB 1.15 kB
_error.js gzip 4.07 kB 4.07 kB
hooks.js gzip 779 B 779 B
index.js gzip 222 B 222 B
link.js gzip 2.89 kB 2.89 kB
routerDirect.js gzip 283 B 283 B
withRouter.js gzip 282 B 282 B
Overall change 9.68 kB 9.68 kB
Client Pages Modern
zeit/next.js canary amytych/next.js patch-1 Change
_app.module.js gzip 576 B 576 B
_error.module.js gzip 3.06 kB 3.06 kB
hooks.module.js gzip 371 B 371 B
index.module.js gzip 212 B 212 B
link.module.js gzip 2.46 kB 2.46 kB
routerDirect..dule.js gzip 273 B 273 B
withRouter.m..dule.js gzip 272 B 272 B
Overall change 7.22 kB 7.22 kB
Client Build Manifests
zeit/next.js canary amytych/next.js patch-1 Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Serverless bundles
zeit/next.js canary amytych/next.js patch-1 Change
_error.js gzip 46.2 kB 46.2 kB
hooks.html gzip 1.06 kB 1.06 kB
index.js gzip 46.4 kB 46.4 kB
link.js gzip 71.9 kB 71.9 kB
routerDirect.js gzip 69.9 kB 69.9 kB
withRouter.js gzip 69.9 kB 69.9 kB
Overall change 305 kB 305 kB

Commit: 0d03721

@Timer Timer merged commit 9d7ee34 into vercel:canary Jan 23, 2020
@amytych amytych deleted the patch-1 branch January 23, 2020 20:41
@vercel vercel locked as resolved and limited conversation to collaborators Jan 31, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants