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

Enable webpack5 for all apps #25639

Merged
merged 15 commits into from Jun 7, 2021

Conversation

timneutkens
Copy link
Member

Enable webpack 5 by default for all apps, still provides a way to opt-out through webpack5: false in next.config.js.

Bug

  • Related issues linked using fixes #number
  • Integration tests added

Feature

  • Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR.
  • Related issues linked using fixes #number
  • Integration tests added
  • Documentation added
  • Telemetry added. In case of a feature if it's used or not.

Documentation / Examples

  • Make sure the linting passes

Still provides a way to opt-out using `webpack5: false` in next.config.js. Also throws an error for `future.webpack5`.
@ijjk

This comment has been minimized.

@timneutkens timneutkens changed the title add/enable webpack5 for all apps Enable webpack5 for all apps Jun 2, 2021
@ijjk

This comment has been minimized.

@ijjk

This comment has been minimized.

@ijjk

This comment has been minimized.

@ijjk

This comment has been minimized.

@ijjk

This comment has been minimized.

@ijjk

This comment has been minimized.

@ijjk

This comment has been minimized.

@ijjk

This comment has been minimized.

@ijjk

This comment has been minimized.

@ijjk

This comment has been minimized.

ijjk
ijjk previously approved these changes Jun 7, 2021
@ijjk
Copy link
Member

ijjk commented Jun 7, 2021

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary timneutkens/next.js add/enable-webpack5-for-all-apps Change
buildDuration 14.5s 14.7s ⚠️ +161ms
buildDurationCached 3.5s 3.5s ⚠️ +23ms
nodeModulesSize 46.7 MB 46.7 MB -681 B
Page Load Tests Overall increase ✓
vercel/next.js canary timneutkens/next.js add/enable-webpack5-for-all-apps Change
/ failed reqs 0 0
/ total time (seconds) 2.902 2.859 -0.04
/ avg req/sec 861.41 874.5 +13.09
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.698 1.688 -0.01
/error-in-render avg req/sec 1472.5 1481.2 +8.7
Client Bundles (main, webpack, commons)
vercel/next.js canary timneutkens/next.js add/enable-webpack5-for-all-apps Change
framework-HASH.js gzip 39.3 kB 39.3 kB
main-HASH.js gzip 20.2 kB 20.2 kB
webpack-HASH.js gzip 804 B 804 B
Overall change 60.3 kB 60.3 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary timneutkens/next.js add/enable-webpack5-for-all-apps Change
polyfills-HASH.js gzip 31.1 kB 31.1 kB
Overall change 31.1 kB 31.1 kB
Client Pages
vercel/next.js canary timneutkens/next.js add/enable-webpack5-for-all-apps Change
_app-HASH.js gzip 801 B 801 B
_error-HASH.js gzip 3.07 kB 3.07 kB
amp-HASH.js gzip 527 B 527 B
css-HASH.js gzip 334 B 334 B
hooks-HASH.js gzip 890 B 890 B
index-HASH.js gzip 263 B 263 B
link-HASH.js gzip 1.64 kB 1.64 kB
routerDirect..HASH.js gzip 333 B 333 B
withRouter-HASH.js gzip 330 B 330 B
bb14e60e810b..30f.css gzip 125 B 125 B
Overall change 8.31 kB 8.31 kB
Client Build Manifests
vercel/next.js canary timneutkens/next.js add/enable-webpack5-for-all-apps Change
_buildManifest.js gzip 391 B 391 B
Overall change 391 B 391 B
Rendered Page Sizes
vercel/next.js canary timneutkens/next.js add/enable-webpack5-for-all-apps Change
index.html gzip 572 B 572 B
link.html gzip 579 B 579 B
withRouter.html gzip 567 B 567 B
Overall change 1.72 kB 1.72 kB

Diffs

Diff for _buildManifest.js
@@ -1,23 +1,23 @@
 self.__BUILD_MANIFEST = {
   __rewrites: { beforeFiles: [], afterFiles: [], fallback: [] },
-  "/": ["static\u002Fchunks\u002Fpages\u002Findex-b460df3d63326fbb06a1.js"],
+  "/": ["static\u002Fchunks\u002Fpages\u002Findex-96d821e908dd023681e4.js"],
   "/_error": [
-    "static\u002Fchunks\u002Fpages\u002F_error-51845a36fe9902c725c2.js"
+    "static\u002Fchunks\u002Fpages\u002F_error-93cb8d6a3e74cf2fe4b2.js"
   ],
-  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-27f75ad11120c5cdedd1.js"],
+  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-7f1c918feab47667356f.js"],
   "/css": [
-    "static\u002Fcss\u002Fe025d27648136bbd252f.css",
-    "static\u002Fchunks\u002Fpages\u002Fcss-ebb5bfc372f92af6f275.js"
+    "static\u002Fcss\u002F59de118426c393f58653.css",
+    "static\u002Fchunks\u002Fpages\u002Fcss-184c47d2cd96affa4c34.js"
   ],
   "/hooks": [
-    "static\u002Fchunks\u002Fpages\u002Fhooks-f1cc32851f5e866a7e78.js"
+    "static\u002Fchunks\u002Fpages\u002Fhooks-1a097873c02b793e8683.js"
   ],
-  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-b1edcc58b3477620bce2.js"],
+  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-9ddbd6b16dce28fb106c.js"],
   "/routerDirect": [
-    "static\u002Fchunks\u002Fpages\u002FrouterDirect-e9bdf4dc22ca5dd5d885.js"
+    "static\u002Fchunks\u002Fpages\u002FrouterDirect-ae68b1c6ae0c3591e527.js"
   ],
   "/withRouter": [
-    "static\u002Fchunks\u002Fpages\u002FwithRouter-c910fe66863aa0ee6cad.js"
+    "static\u002Fchunks\u002Fpages\u002FwithRouter-452d126a75584c6a354e.js"
   ],
   sortedPages: [
     "\u002F",
Diff for _app-HASH.js
@@ -1,54 +1,26 @@
-_N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
-  [4],
+(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
+  [888],
   {
-    /***/ 0: /***/ function(module, exports, __webpack_require__) {
-      __webpack_require__("e9+W");
-      module.exports = __webpack_require__("nOHt");
-
-      /***/
-    },
-
-    /***/ "7W2i": /***/ function(module, exports, __webpack_require__) {
-      var setPrototypeOf = __webpack_require__("SksO");
-
-      function _inherits(subClass, superClass) {
-        if (typeof superClass !== "function" && superClass !== null) {
-          throw new TypeError(
-            "Super expression must either be null or a function"
-          );
-        }
-
-        subClass.prototype = Object.create(superClass && superClass.prototype, {
-          constructor: {
-            value: subClass,
-            writable: true,
-            configurable: true
-          }
-        });
-        if (superClass) setPrototypeOf(subClass, superClass);
-      }
-
-      module.exports = _inherits;
-
-      /***/
-    },
-
-    /***/ B5Ud: /***/ function(module, exports, __webpack_require__) {
+    /***/ 3857: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
       "use strict";
 
-      var _regeneratorRuntime = __webpack_require__("o0o1");
+      var _regeneratorRuntime = __webpack_require__(7757);
 
-      var _classCallCheck = __webpack_require__("lwsE");
+      var _classCallCheck = __webpack_require__(4575);
 
-      var _createClass = __webpack_require__("W8MJ");
+      var _createClass = __webpack_require__(3913);
 
-      var _inherits = __webpack_require__("7W2i");
+      var _inherits = __webpack_require__(2205);
 
-      var _possibleConstructorReturn = __webpack_require__("a1gu");
+      var _possibleConstructorReturn = __webpack_require__(8585);
 
-      var _getPrototypeOf = __webpack_require__("Nsbk");
+      var _getPrototypeOf = __webpack_require__(9754);
 
-      var _asyncToGenerator = __webpack_require__("yXPU");
+      var _asyncToGenerator = __webpack_require__(8926);
 
       function _createSuper(Derived) {
         var hasNativeReflectConstruct = _isNativeReflectConstruct();
@@ -79,14 +51,14 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
         }
       }
 
-      var _interopRequireDefault = __webpack_require__("TqRt");
+      var _interopRequireDefault = __webpack_require__(5318);
 
       exports.__esModule = true;
-      exports["default"] = void 0;
+      exports.default = void 0;
 
-      var _react = _interopRequireDefault(__webpack_require__("q1tI"));
+      var _react = _interopRequireDefault(__webpack_require__(7294));
 
-      var _utils = __webpack_require__("g/15");
+      var _utils = __webpack_require__(4755);
 
       exports.AppInitialProps = _utils.AppInitialProps;
       exports.NextWebVitalsMetric = _utils.NextWebVitalsMetric;
@@ -157,75 +129,41 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
         return App;
       })(_react["default"].Component);
 
-      exports["default"] = App;
+      exports.default = App;
       App.origGetInitialProps = appGetInitialProps;
       App.getInitialProps = appGetInitialProps;
 
       /***/
     },
 
-    /***/ Nsbk: /***/ function(module, exports) {
-      function _getPrototypeOf(o) {
-        module.exports = _getPrototypeOf = Object.setPrototypeOf
-          ? Object.getPrototypeOf
-          : function _getPrototypeOf(o) {
-              return o.__proto__ || Object.getPrototypeOf(o);
-            };
-        return _getPrototypeOf(o);
-      }
-
-      module.exports = _getPrototypeOf;
-
-      /***/
-    },
-
-    /***/ PJYZ: /***/ function(module, exports) {
-      function _assertThisInitialized(self) {
-        if (self === void 0) {
-          throw new ReferenceError(
-            "this hasn't been initialised - super() hasn't been called"
-          );
-        }
-
-        return self;
-      }
-
-      module.exports = _assertThisInitialized;
-
-      /***/
-    },
-
-    /***/ a1gu: /***/ function(module, exports, __webpack_require__) {
-      var _typeof = __webpack_require__("cDf5");
-
-      var assertThisInitialized = __webpack_require__("PJYZ");
-
-      function _possibleConstructorReturn(self, call) {
-        if (
-          call &&
-          (_typeof(call) === "object" || typeof call === "function")
-        ) {
-          return call;
-        }
-
-        return assertThisInitialized(self);
-      }
-
-      module.exports = _possibleConstructorReturn;
-
-      /***/
-    },
-
-    /***/ "e9+W": /***/ function(module, exports, __webpack_require__) {
+    /***/ 915: /***/ function(
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/_app",
         function() {
-          return __webpack_require__("B5Ud");
+          return __webpack_require__(3857);
         }
       ]);
 
       /***/
     }
   },
-  [[0, 0, 1, 2]]
+  /******/ function(__webpack_require__) {
+    // webpackRuntimeModules
+    /******/ // runtime can't be in strict mode because a global variable is assign and maybe created.
+    /******/
+
+    /******/ var __webpack_exec__ = function(moduleId) {
+      return __webpack_require__((__webpack_require__.s = moduleId));
+    };
+    /******/ __webpack_require__.O(0, [774, 179], function() {
+      return __webpack_exec__(915), __webpack_exec__(4651);
+    });
+    /******/ var __webpack_exports__ = __webpack_require__.O();
+    /******/ _N_E = __webpack_exports__;
+    /******/
+  }
 ]);
Diff for _error-HASH.js
@@ -1,283 +1,179 @@
-_N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
-  [5],
+(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
+  [820],
   {
-    /***/ "/0+H": /***/ function(module, exports, __webpack_require__) {
-      "use strict";
+    /***/ 3646: /***/ function(
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      var arrayLikeToArray = __webpack_require__(7228);
 
-      exports.__esModule = true;
-      exports.isInAmpMode = isInAmpMode;
-      exports.useAmp = useAmp;
+      function _arrayWithoutHoles(arr) {
+        if (Array.isArray(arr)) return arrayLikeToArray(arr);
+      }
 
-      var _react = _interopRequireDefault(__webpack_require__("q1tI"));
+      module.exports = _arrayWithoutHoles;
 
-      var _ampContext = __webpack_require__("lwAK");
+      /***/
+    },
 
-      function _interopRequireDefault(obj) {
-        return obj && obj.__esModule
-          ? obj
-          : {
-              default: obj
-            };
+    /***/ 9713: /***/ function(module) {
+      function _defineProperty(obj, key, value) {
+        if (key in obj) {
+          Object.defineProperty(obj, key, {
+            value: value,
+            enumerable: true,
+            configurable: true,
+            writable: true
+          });
+        } else {
+          obj[key] = value;
+        }
+
+        return obj;
       }
 
-      function isInAmpMode() {
-        var _ref =
-            arguments.length > 0 && arguments[0] !== undefined
-              ? arguments[0]
-              : {},
-          _ref$ampFirst = _ref.ampFirst,
-          ampFirst = _ref$ampFirst === void 0 ? false : _ref$ampFirst,
-          _ref$hybrid = _ref.hybrid,
-          hybrid = _ref$hybrid === void 0 ? false : _ref$hybrid,
-          _ref$hasQuery = _ref.hasQuery,
-          hasQuery = _ref$hasQuery === void 0 ? false : _ref$hasQuery;
+      module.exports = _defineProperty;
 
-        return ampFirst || (hybrid && hasQuery);
-      }
+      /***/
+    },
 
-      function useAmp() {
-        // Don't assign the context value to a variable to save bytes
-        return isInAmpMode(
-          _react["default"].useContext(_ampContext.AmpStateContext)
-        );
+    /***/ 6860: /***/ function(module) {
+      function _iterableToArray(iter) {
+        if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter))
+          return Array.from(iter);
       }
 
+      module.exports = _iterableToArray;
+
       /***/
     },
 
-    /***/ "/a9y": /***/ function(module, exports, __webpack_require__) {
-      "use strict";
+    /***/ 8206: /***/ function(module) {
+      function _nonIterableSpread() {
+        throw new TypeError(
+          "Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
+        );
+      }
 
-      var _classCallCheck = __webpack_require__("lwsE");
+      module.exports = _nonIterableSpread;
 
-      var _createClass = __webpack_require__("W8MJ");
+      /***/
+    },
 
-      var _inherits = __webpack_require__("7W2i");
+    /***/ 319: /***/ function(
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      var arrayWithoutHoles = __webpack_require__(3646);
 
-      var _possibleConstructorReturn = __webpack_require__("a1gu");
+      var iterableToArray = __webpack_require__(6860);
 
-      var _getPrototypeOf = __webpack_require__("Nsbk");
+      var unsupportedIterableToArray = __webpack_require__(379);
 
-      function _createSuper(Derived) {
-        var hasNativeReflectConstruct = _isNativeReflectConstruct();
-        return function _createSuperInternal() {
-          var Super = _getPrototypeOf(Derived),
-            result;
-          if (hasNativeReflectConstruct) {
-            var NewTarget = _getPrototypeOf(this).constructor;
-            result = Reflect.construct(Super, arguments, NewTarget);
-          } else {
-            result = Super.apply(this, arguments);
-          }
-          return _possibleConstructorReturn(this, result);
-        };
-      }
+      var nonIterableSpread = __webpack_require__(8206);
 
-      function _isNativeReflectConstruct() {
-        if (typeof Reflect === "undefined" || !Reflect.construct) return false;
-        if (Reflect.construct.sham) return false;
-        if (typeof Proxy === "function") return true;
-        try {
-          Date.prototype.toString.call(
-            Reflect.construct(Date, [], function() {})
-          );
-          return true;
-        } catch (e) {
-          return false;
-        }
+      function _toConsumableArray(arr) {
+        return (
+          arrayWithoutHoles(arr) ||
+          iterableToArray(arr) ||
+          unsupportedIterableToArray(arr) ||
+          nonIterableSpread()
+        );
       }
 
-      var _interopRequireDefault = __webpack_require__("TqRt");
+      module.exports = _toConsumableArray;
 
-      exports.__esModule = true;
-      exports["default"] = void 0;
+      /***/
+    },
 
-      var _react = _interopRequireDefault(__webpack_require__("q1tI"));
+    /***/ 3398: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
 
-      var _head = _interopRequireDefault(__webpack_require__("8Kt/"));
+      exports.__esModule = true;
+      exports.AmpStateContext = void 0;
 
-      var statusCodes = {
-        400: "Bad Request",
-        404: "This page could not be found",
-        405: "Method Not Allowed",
-        500: "Internal Server Error"
-      };
+      var _react = _interopRequireDefault(__webpack_require__(7294));
 
-      function _getInitialProps(_ref) {
-        var res = _ref.res,
-          err = _ref.err;
-        var statusCode =
-          res && res.statusCode ? res.statusCode : err ? err.statusCode : 404;
-        return {
-          statusCode: statusCode
-        };
+      function _interopRequireDefault(obj) {
+        return obj && obj.__esModule
+          ? obj
+          : {
+              default: obj
+            };
       }
-      /**
-       * `Error` component used for handling errors.
-       */
-
-      var Error = /*#__PURE__*/ (function(_react$default$Compon) {
-        _inherits(Error, _react$default$Compon);
-
-        var _super = _createSuper(Error);
-
-        function Error() {
-          _classCallCheck(this, Error);
-
-          return _super.apply(this, arguments);
-        }
 
-        _createClass(Error, [
-          {
-            key: "render",
-            value: function render() {
-              var statusCode = this.props.statusCode;
-              var title =
-                this.props.title ||
-                statusCodes[statusCode] ||
-                "An unexpected error has occurred";
-              return /*#__PURE__*/ _react["default"].createElement(
-                "div",
-                {
-                  style: styles.error
-                },
-                /*#__PURE__*/ _react["default"].createElement(
-                  _head["default"],
-                  null,
-                  /*#__PURE__*/ _react["default"].createElement(
-                    "title",
-                    null,
-                    statusCode,
-                    ": ",
-                    title
-                  )
-                ),
-                /*#__PURE__*/ _react["default"].createElement(
-                  "div",
-                  null,
-                  /*#__PURE__*/ _react["default"].createElement("style", {
-                    dangerouslySetInnerHTML: {
-                      __html: "body { margin: 0 }"
-                    }
-                  }),
-                  statusCode
-                    ? /*#__PURE__*/ _react["default"].createElement(
-                        "h1",
-                        {
-                          style: styles.h1
-                        },
-                        statusCode
-                      )
-                    : null,
-                  /*#__PURE__*/ _react["default"].createElement(
-                    "div",
-                    {
-                      style: styles.desc
-                    },
-                    /*#__PURE__*/ _react["default"].createElement(
-                      "h2",
-                      {
-                        style: styles.h2
-                      },
-                      title,
-                      "."
-                    )
-                  )
-                )
-              );
-            }
-          }
-        ]);
+      var AmpStateContext = /*#__PURE__*/ _react["default"].createContext({});
 
-        return Error;
-      })(_react["default"].Component);
+      exports.AmpStateContext = AmpStateContext;
 
-      exports["default"] = Error;
-      Error.displayName = "ErrorPage";
-      Error.getInitialProps = _getInitialProps;
-      Error.origGetInitialProps = _getInitialProps;
-      var styles = {
-        error: {
-          color: "#000",
-          background: "#fff",
-          fontFamily:
-            '-apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Fira Sans", Avenir, "Helvetica Neue", "Lucida Grande", sans-serif',
-          height: "100vh",
-          textAlign: "center",
-          display: "flex",
-          flexDirection: "column",
-          alignItems: "center",
-          justifyContent: "center"
-        },
-        desc: {
-          display: "inline-block",
-          textAlign: "left",
-          lineHeight: "49px",
-          height: "49px",
-          verticalAlign: "middle"
-        },
-        h1: {
-          display: "inline-block",
-          borderRight: "1px solid rgba(0, 0, 0,.3)",
-          margin: 0,
-          marginRight: "20px",
-          padding: "10px 23px 10px 0",
-          fontSize: "24px",
-          fontWeight: 500,
-          verticalAlign: "top"
-        },
-        h2: {
-          fontSize: "14px",
-          fontWeight: "normal",
-          lineHeight: "inherit",
-          margin: 0,
-          padding: 0
-        }
-      };
+      if (false) {
+      }
 
       /***/
     },
 
-    /***/ "04ac": /***/ function(module, exports, __webpack_require__) {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/_error",
-        function() {
-          return __webpack_require__("/a9y");
-        }
-      ]);
+    /***/ 6393: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
 
-      /***/
-    },
+      exports.__esModule = true;
+      exports.isInAmpMode = isInAmpMode;
+      exports.useAmp = useAmp;
 
-    /***/ "7W2i": /***/ function(module, exports, __webpack_require__) {
-      var setPrototypeOf = __webpack_require__("SksO");
+      var _react = _interopRequireDefault(__webpack_require__(7294));
 
-      function _inherits(subClass, superClass) {
-        if (typeof superClass !== "function" && superClass !== null) {
-          throw new TypeError(
-            "Super expression must either be null or a function"
-          );
-        }
+      var _ampContext = __webpack_require__(3398);
 
-        subClass.prototype = Object.create(superClass && superClass.prototype, {
-          constructor: {
-            value: subClass,
-            writable: true,
-            configurable: true
-          }
-        });
-        if (superClass) setPrototypeOf(subClass, superClass);
+      function _interopRequireDefault(obj) {
+        return obj && obj.__esModule
+          ? obj
+          : {
+              default: obj
+            };
+      }
+
+      function isInAmpMode() {
+        var _ref =
+            arguments.length > 0 && arguments[0] !== undefined
+              ? arguments[0]
+              : {},
+          _ref$ampFirst = _ref.ampFirst,
+          ampFirst = _ref$ampFirst === void 0 ? false : _ref$ampFirst,
+          _ref$hybrid = _ref.hybrid,
+          hybrid = _ref$hybrid === void 0 ? false : _ref$hybrid,
+          _ref$hasQuery = _ref.hasQuery,
+          hasQuery = _ref$hasQuery === void 0 ? false : _ref$hasQuery;
+
+        return ampFirst || (hybrid && hasQuery);
       }
 
-      module.exports = _inherits;
+      function useAmp() {
+        // Don't assign the context value to a variable to save bytes
+        return isInAmpMode(
+          _react["default"].useContext(_ampContext.AmpStateContext)
+        );
+      }
 
       /***/
     },
 
-    /***/ "8Kt/": /***/ function(module, exports, __webpack_require__) {
+    /***/ 2775: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
       "use strict";
 
-      var _defineProperty = __webpack_require__("lSNA");
+      var _defineProperty = __webpack_require__(9713);
 
       function ownKeys(object, enumerableOnly) {
         var keys = Object.keys(object);
@@ -319,17 +215,17 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
 
       exports.__esModule = true;
       exports.defaultHead = defaultHead;
-      exports["default"] = void 0;
+      exports.default = void 0;
 
-      var _react = _interopRequireWildcard(__webpack_require__("q1tI"));
+      var _react = _interopRequireWildcard(__webpack_require__(7294));
 
-      var _sideEffect = _interopRequireDefault(__webpack_require__("Xuae"));
+      var _sideEffect = _interopRequireDefault(__webpack_require__(3244));
 
-      var _ampContext = __webpack_require__("lwAK");
+      var _ampContext = __webpack_require__(3398);
 
-      var _headManagerContext = __webpack_require__("FYa8");
+      var _headManagerContext = __webpack_require__(1165);
 
-      var _amp = __webpack_require__("/0+H");
+      var _amp = __webpack_require__(6393);
 
       function _interopRequireDefault(obj) {
         return obj && obj.__esModule
@@ -594,223 +490,31 @@ Also adds support for deduplicated `key` properties
       Head.rewind = function() {};
 
       var _default = Head;
-      exports["default"] = _default;
-
-      /***/
-    },
-
-    /***/ Bnag: /***/ function(module, exports) {
-      function _nonIterableSpread() {
-        throw new TypeError(
-          "Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
-        );
-      }
-
-      module.exports = _nonIterableSpread;
-
-      /***/
-    },
-
-    /***/ EbDI: /***/ function(module, exports) {
-      function _iterableToArray(iter) {
-        if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter))
-          return Array.from(iter);
-      }
-
-      module.exports = _iterableToArray;
-
-      /***/
-    },
-
-    /***/ FYa8: /***/ function(module, exports, __webpack_require__) {
-      "use strict";
-
-      exports.__esModule = true;
-      exports.HeadManagerContext = void 0;
-
-      var _react = _interopRequireDefault(__webpack_require__("q1tI"));
-
-      function _interopRequireDefault(obj) {
-        return obj && obj.__esModule
-          ? obj
-          : {
-              default: obj
-            };
-      }
-
-      var HeadManagerContext = /*#__PURE__*/ _react["default"].createContext(
-        {}
-      );
-
-      exports.HeadManagerContext = HeadManagerContext;
-
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ Ijbi: /***/ function(module, exports, __webpack_require__) {
-      var arrayLikeToArray = __webpack_require__("WkPL");
-
-      function _arrayWithoutHoles(arr) {
-        if (Array.isArray(arr)) return arrayLikeToArray(arr);
-      }
-
-      module.exports = _arrayWithoutHoles;
-
-      /***/
-    },
-
-    /***/ Nsbk: /***/ function(module, exports) {
-      function _getPrototypeOf(o) {
-        module.exports = _getPrototypeOf = Object.setPrototypeOf
-          ? Object.getPrototypeOf
-          : function _getPrototypeOf(o) {
-              return o.__proto__ || Object.getPrototypeOf(o);
-            };
-        return _getPrototypeOf(o);
-      }
-
-      module.exports = _getPrototypeOf;
+      exports.default = _default;
 
       /***/
     },
 
-    /***/ PJYZ: /***/ function(module, exports) {
-      function _assertThisInitialized(self) {
-        if (self === void 0) {
-          throw new ReferenceError(
-            "this hasn't been initialised - super() hasn't been called"
-          );
-        }
-
-        return self;
-      }
-
-      module.exports = _assertThisInitialized;
-
-      /***/
-    },
-
-    /***/ Qetd: /***/ function(module, exports, __webpack_require__) {
+    /***/ 3244: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
       "use strict";
-      var assign = Object.assign.bind(Object);
-      module.exports = assign;
-      module.exports.default = module.exports;
-      //# sourceMappingURL=object-assign.js.map
-
-      /***/
-    },
-
-    /***/ RIqP: /***/ function(module, exports, __webpack_require__) {
-      var arrayWithoutHoles = __webpack_require__("Ijbi");
 
-      var iterableToArray = __webpack_require__("EbDI");
+      var _toConsumableArray = __webpack_require__(319);
 
-      var unsupportedIterableToArray = __webpack_require__("ZhPi");
-
-      var nonIterableSpread = __webpack_require__("Bnag");
-
-      function _toConsumableArray(arr) {
-        return (
-          arrayWithoutHoles(arr) ||
-          iterableToArray(arr) ||
-          unsupportedIterableToArray(arr) ||
-          nonIterableSpread()
-        );
-      }
+      var _classCallCheck = __webpack_require__(4575);
 
-      module.exports = _toConsumableArray;
+      var _createClass = __webpack_require__(3913);
 
-      /***/
-    },
+      var _assertThisInitialized = __webpack_require__(1506);
 
-    /***/ SksO: /***/ function(module, exports) {
-      function _setPrototypeOf(o, p) {
-        module.exports = _setPrototypeOf =
-          Object.setPrototypeOf ||
-          function _setPrototypeOf(o, p) {
-            o.__proto__ = p;
-            return o;
-          };
+      var _inherits = __webpack_require__(2205);
 
-        return _setPrototypeOf(o, p);
-      }
+      var _possibleConstructorReturn = __webpack_require__(8585);
 
-      module.exports = _setPrototypeOf;
-
-      /***/
-    },
-
-    /***/ TqRt: /***/ function(module, exports) {
-      function _interopRequireDefault(obj) {
-        return obj && obj.__esModule
-          ? obj
-          : {
-              default: obj
-            };
-      }
-
-      module.exports = _interopRequireDefault;
-
-      /***/
-    },
-
-    /***/ W8MJ: /***/ function(module, exports) {
-      function _defineProperties(target, props) {
-        for (var i = 0; i < props.length; i++) {
-          var descriptor = props[i];
-          descriptor.enumerable = descriptor.enumerable || false;
-          descriptor.configurable = true;
-          if ("value" in descriptor) descriptor.writable = true;
-          Object.defineProperty(target, descriptor.key, descriptor);
-        }
-      }
-
-      function _createClass(Constructor, protoProps, staticProps) {
-        if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-        if (staticProps) _defineProperties(Constructor, staticProps);
-        return Constructor;
-      }
-
-      module.exports = _createClass;
-
-      /***/
-    },
-
-    /***/ WkPL: /***/ function(module, exports) {
-      function _arrayLikeToArray(arr, len) {
-        if (len == null || len > arr.length) len = arr.length;
-
-        for (var i = 0, arr2 = new Array(len); i < len; i++) {
-          arr2[i] = arr[i];
-        }
-
-        return arr2;
-      }
-
-      module.exports = _arrayLikeToArray;
-
-      /***/
-    },
-
-    /***/ Xuae: /***/ function(module, exports, __webpack_require__) {
-      "use strict";
-
-      var _toConsumableArray = __webpack_require__("RIqP");
-
-      var _classCallCheck = __webpack_require__("lwsE");
-
-      var _createClass = __webpack_require__("W8MJ");
-
-      var _assertThisInitialized = __webpack_require__("PJYZ");
-
-      var _inherits = __webpack_require__("7W2i");
-
-      var _possibleConstructorReturn = __webpack_require__("a1gu");
-
-      var _getPrototypeOf = __webpack_require__("Nsbk");
+      var _getPrototypeOf = __webpack_require__(9754);
 
       function _createSuper(Derived) {
         var hasNativeReflectConstruct = _isNativeReflectConstruct();
@@ -842,9 +546,9 @@ Also adds support for deduplicated `key` properties
       }
 
       exports.__esModule = true;
-      exports["default"] = void 0;
+      exports.default = void 0;
 
-      var _react = __webpack_require__("q1tI");
+      var _react = __webpack_require__(7294);
 
       var isServer = false;
 
@@ -924,141 +628,236 @@ Also adds support for deduplicated `key` properties
         return _default;
       })(_react.Component);
 
-      exports["default"] = _default;
+      exports.default = _default;
 
       /***/
     },
 
-    /***/ ZhPi: /***/ function(module, exports, __webpack_require__) {
-      var arrayLikeToArray = __webpack_require__("WkPL");
+    /***/ 3359: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
 
-      function _unsupportedIterableToArray(o, minLen) {
-        if (!o) return;
-        if (typeof o === "string") return arrayLikeToArray(o, minLen);
-        var n = Object.prototype.toString.call(o).slice(8, -1);
-        if (n === "Object" && o.constructor) n = o.constructor.name;
-        if (n === "Map" || n === "Set") return Array.from(o);
-        if (
-          n === "Arguments" ||
-          /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
-        )
-          return arrayLikeToArray(o, minLen);
-      }
+      var _classCallCheck = __webpack_require__(4575);
 
-      module.exports = _unsupportedIterableToArray;
+      var _createClass = __webpack_require__(3913);
 
-      /***/
-    },
+      var _inherits = __webpack_require__(2205);
 
-    /***/ a1gu: /***/ function(module, exports, __webpack_require__) {
-      var _typeof = __webpack_require__("cDf5");
+      var _possibleConstructorReturn = __webpack_require__(8585);
 
-      var assertThisInitialized = __webpack_require__("PJYZ");
+      var _getPrototypeOf = __webpack_require__(9754);
 
-      function _possibleConstructorReturn(self, call) {
-        if (
-          call &&
-          (_typeof(call) === "object" || typeof call === "function")
-        ) {
-          return call;
-        }
-
-        return assertThisInitialized(self);
+      function _createSuper(Derived) {
+        var hasNativeReflectConstruct = _isNativeReflectConstruct();
+        return function _createSuperInternal() {
+          var Super = _getPrototypeOf(Derived),
+            result;
+          if (hasNativeReflectConstruct) {
+            var NewTarget = _getPrototypeOf(this).constructor;
+            result = Reflect.construct(Super, arguments, NewTarget);
+          } else {
+            result = Super.apply(this, arguments);
+          }
+          return _possibleConstructorReturn(this, result);
+        };
       }
 
-      module.exports = _possibleConstructorReturn;
-
-      /***/
-    },
-
-    /***/ cDf5: /***/ function(module, exports) {
-      function _typeof(obj) {
-        "@babel/helpers - typeof";
-
-        if (
-          typeof Symbol === "function" &&
-          typeof Symbol.iterator === "symbol"
-        ) {
-          module.exports = _typeof = function _typeof(obj) {
-            return typeof obj;
-          };
-        } else {
-          module.exports = _typeof = function _typeof(obj) {
-            return obj &&
-              typeof Symbol === "function" &&
-              obj.constructor === Symbol &&
-              obj !== Symbol.prototype
-              ? "symbol"
-              : typeof obj;
-          };
+      function _isNativeReflectConstruct() {
+        if (typeof Reflect === "undefined" || !Reflect.construct) return false;
+        if (Reflect.construct.sham) return false;
+        if (typeof Proxy === "function") return true;
+        try {
+          Date.prototype.toString.call(
+            Reflect.construct(Date, [], function() {})
+          );
+          return true;
+        } catch (e) {
+          return false;
         }
-
-        return _typeof(obj);
       }
 
-      module.exports = _typeof;
+      var _interopRequireDefault = __webpack_require__(5318);
 
-      /***/
-    },
+      exports.__esModule = true;
+      exports.default = void 0;
 
-    /***/ lSNA: /***/ function(module, exports) {
-      function _defineProperty(obj, key, value) {
-        if (key in obj) {
-          Object.defineProperty(obj, key, {
-            value: value,
-            enumerable: true,
-            configurable: true,
-            writable: true
-          });
-        } else {
-          obj[key] = value;
-        }
+      var _react = _interopRequireDefault(__webpack_require__(7294));
 
-        return obj;
-      }
+      var _head = _interopRequireDefault(__webpack_require__(2775));
 
-      module.exports = _defineProperty;
+      var statusCodes = {
+        400: "Bad Request",
+        404: "This page could not be found",
+        405: "Method Not Allowed",
+        500: "Internal Server Error"
+      };
 
-      /***/
-    },
+      function _getInitialProps(_ref) {
+        var res = _ref.res,
+          err = _ref.err;
+        var statusCode =
+          res && res.statusCode ? res.statusCode : err ? err.statusCode : 404;
+        return {
+          statusCode: statusCode
+        };
+      }
+      /**
+       * `Error` component used for handling errors.
+       */
 
-    /***/ lwAK: /***/ function(module, exports, __webpack_require__) {
-      "use strict";
+      var Error = /*#__PURE__*/ (function(_react$default$Compon) {
+        _inherits(Error, _react$default$Compon);
 
-      exports.__esModule = true;
-      exports.AmpStateContext = void 0;
+        var _super = _createSuper(Error);
 
-      var _react = _interopRequireDefault(__webpack_require__("q1tI"));
+        function Error() {
+          _classCallCheck(this, Error);
 
-      function _interopRequireDefault(obj) {
-        return obj && obj.__esModule
-          ? obj
-          : {
-              default: obj
-            };
-      }
+          return _super.apply(this, arguments);
+        }
 
-      var AmpStateContext = /*#__PURE__*/ _react["default"].createContext({});
+        _createClass(Error, [
+          {
+            key: "render",
+            value: function render() {
+              var statusCode = this.props.statusCode;
+              var title =
+                this.props.title ||
+                statusCodes[statusCode] ||
+                "An unexpected error has occurred";
+              return /*#__PURE__*/ _react["default"].createElement(
+                "div",
+                {
+                  style: styles.error
+                },
+                /*#__PURE__*/ _react["default"].createElement(
+                  _head["default"],
+                  null,
+                  /*#__PURE__*/ _react["default"].createElement(
+                    "title",
+                    null,
+                    statusCode,
+                    ": ",
+                    title
+                  )
+                ),
+                /*#__PURE__*/ _react["default"].createElement(
+                  "div",
+                  null,
+                  /*#__PURE__*/ _react["default"].createElement("style", {
+                    dangerouslySetInnerHTML: {
+                      __html: "body { margin: 0 }"
+                    }
+                  }),
+                  statusCode
+                    ? /*#__PURE__*/ _react["default"].createElement(
+                        "h1",
+                        {
+                          style: styles.h1
+                        },
+                        statusCode
+                      )
+                    : null,
+                  /*#__PURE__*/ _react["default"].createElement(
+                    "div",
+                    {
+                      style: styles.desc
+                    },
+                    /*#__PURE__*/ _react["default"].createElement(
+                      "h2",
+                      {
+                        style: styles.h2
+                      },
+                      title,
+                      "."
+                    )
+                  )
+                )
+              );
+            }
+          }
+        ]);
 
-      exports.AmpStateContext = AmpStateContext;
+        return Error;
+      })(_react["default"].Component);
 
-      if (false) {
-      }
+      exports.default = Error;
+      Error.displayName = "ErrorPage";
+      Error.getInitialProps = _getInitialProps;
+      Error.origGetInitialProps = _getInitialProps;
+      var styles = {
+        error: {
+          color: "#000",
+          background: "#fff",
+          fontFamily:
+            '-apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Fira Sans", Avenir, "Helvetica Neue", "Lucida Grande", sans-serif',
+          height: "100vh",
+          textAlign: "center",
+          display: "flex",
+          flexDirection: "column",
+          alignItems: "center",
+          justifyContent: "center"
+        },
+        desc: {
+          display: "inline-block",
+          textAlign: "left",
+          lineHeight: "49px",
+          height: "49px",
+          verticalAlign: "middle"
+        },
+        h1: {
+          display: "inline-block",
+          borderRight: "1px solid rgba(0, 0, 0,.3)",
+          margin: 0,
+          marginRight: "20px",
+          padding: "10px 23px 10px 0",
+          fontSize: "24px",
+          fontWeight: 500,
+          verticalAlign: "top"
+        },
+        h2: {
+          fontSize: "14px",
+          fontWeight: "normal",
+          lineHeight: "inherit",
+          margin: 0,
+          padding: 0
+        }
+      };
 
       /***/
     },
 
-    /***/ lwsE: /***/ function(module, exports) {
-      function _classCallCheck(instance, Constructor) {
-        if (!(instance instanceof Constructor)) {
-          throw new TypeError("Cannot call a class as a function");
+    /***/ 4977: /***/ function(
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/_error",
+        function() {
+          return __webpack_require__(3359);
         }
-      }
-
-      module.exports = _classCallCheck;
+      ]);
 
       /***/
     }
   },
-  [["04ac", 0, 1]]
+  /******/ function(__webpack_require__) {
+    // webpackRuntimeModules
+    /******/ // runtime can't be in strict mode because a global variable is assign and maybe created.
+    /******/
+
+    /******/ var __webpack_exec__ = function(moduleId) {
+      return __webpack_require__((__webpack_require__.s = moduleId));
+    };
+    /******/ __webpack_require__.O(0, [888, 774, 179], function() {
+      return __webpack_exec__(4977);
+    });
+    /******/ var __webpack_exports__ = __webpack_require__.O();
+    /******/ _N_E = __webpack_exports__;
+    /******/
+  }
 ]);
Diff for amp-HASH.js
@@ -1,16 +1,60 @@
-_N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
-  [6],
+(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
+  [216],
   {
-    /***/ "/0+H": /***/ function(module, exports, __webpack_require__) {
+    /***/ 9135: /***/ function(
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      module.exports = __webpack_require__(6393);
+
+      /***/
+    },
+
+    /***/ 3398: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      exports.__esModule = true;
+      exports.AmpStateContext = void 0;
+
+      var _react = _interopRequireDefault(__webpack_require__(7294));
+
+      function _interopRequireDefault(obj) {
+        return obj && obj.__esModule
+          ? obj
+          : {
+              default: obj
+            };
+      }
+
+      var AmpStateContext = /*#__PURE__*/ _react["default"].createContext({});
+
+      exports.AmpStateContext = AmpStateContext;
+
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 6393: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
       "use strict";
 
       exports.__esModule = true;
       exports.isInAmpMode = isInAmpMode;
       exports.useAmp = useAmp;
 
-      var _react = _interopRequireDefault(__webpack_require__("q1tI"));
+      var _react = _interopRequireDefault(__webpack_require__(7294));
 
-      var _ampContext = __webpack_require__("lwAK");
+      var _ampContext = __webpack_require__(3398);
 
       function _interopRequireDefault(obj) {
         return obj && obj.__esModule
@@ -45,98 +89,66 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       /***/
     },
 
-    /***/ JjeS: /***/ function(module, exports, __webpack_require__) {
-      module.exports = __webpack_require__("/0+H");
-
-      /***/
-    },
-
-    /***/ Q6ik: /***/ function(module, exports, __webpack_require__) {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/amp",
-        function() {
-          return __webpack_require__("rsBd");
-        }
-      ]);
-
-      /***/
-    },
-
-    /***/ Qetd: /***/ function(module, exports, __webpack_require__) {
-      "use strict";
-      var assign = Object.assign.bind(Object);
-      module.exports = assign;
-      module.exports.default = module.exports;
-      //# sourceMappingURL=object-assign.js.map
-
-      /***/
-    },
-
-    /***/ lwAK: /***/ function(module, exports, __webpack_require__) {
-      "use strict";
-
-      exports.__esModule = true;
-      exports.AmpStateContext = void 0;
-
-      var _react = _interopRequireDefault(__webpack_require__("q1tI"));
-
-      function _interopRequireDefault(obj) {
-        return obj && obj.__esModule
-          ? obj
-          : {
-              default: obj
-            };
-      }
-
-      var AmpStateContext = /*#__PURE__*/ _react["default"].createContext({});
-
-      exports.AmpStateContext = AmpStateContext;
-
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ rsBd: /***/ function(
-      module,
+    /***/ 6739: /***/ function(
+      __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
     ) {
       "use strict";
       __webpack_require__.r(__webpack_exports__);
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "config",
-        function() {
-          return config;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "default",
-        function() {
-          return Amp;
+      /* harmony export */ __webpack_require__.d(__webpack_exports__, {
+        /* harmony export */ config: function() {
+          return /* binding */ config;
+        },
+        /* harmony export */ default: function() {
+          return /* binding */ Amp;
         }
-      );
+        /* harmony export */
+      });
       /* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        "JjeS"
-      );
-      /* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/ __webpack_require__.n(
-        next_amp__WEBPACK_IMPORTED_MODULE_0__
+        9135
       );
 
       var config = {
         amp: "hybrid"
       };
       function Amp(props) {
-        return Object(next_amp__WEBPACK_IMPORTED_MODULE_0__["useAmp"])()
+        return (0, next_amp__WEBPACK_IMPORTED_MODULE_0__.useAmp)()
           ? "AMP mode"
           : "normal mode";
       }
 
+      /***/
+    },
+
+    /***/ 6071: /***/ function(
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/amp",
+        function() {
+          return __webpack_require__(6739);
+        }
+      ]);
+
       /***/
     }
   },
-  [["Q6ik", 0, 1]]
+  /******/ function(__webpack_require__) {
+    // webpackRuntimeModules
+    /******/ // runtime can't be in strict mode because a global variable is assign and maybe created.
+    /******/
+
+    /******/ var __webpack_exec__ = function(moduleId) {
+      return __webpack_require__((__webpack_require__.s = moduleId));
+    };
+    /******/ __webpack_require__.O(0, [888, 774, 179], function() {
+      return __webpack_exec__(6071);
+    });
+    /******/ var __webpack_exports__ = __webpack_require__.O();
+    /******/ _N_E = __webpack_exports__;
+    /******/
+  }
 ]);
Diff for css-HASH.js
@@ -1,62 +1,34 @@
-_N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
-  [7],
+(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
+  [706],
   {
-    /***/ Bf75: /***/ function(module, exports, __webpack_require__) {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/css",
-        function() {
-          return __webpack_require__("YsY6");
-        }
-      ]);
-
-      /***/
-    },
-
-    /***/ OHXn: /***/ function(module, exports, __webpack_require__) {
-      // extracted by mini-css-extract-plugin
-      module.exports = { helloWorld: "css_helloWorld__2Fhmt" };
-
-      /***/
-    },
-
-    /***/ Qetd: /***/ function(module, exports, __webpack_require__) {
-      "use strict";
-      var assign = Object.assign.bind(Object);
-      module.exports = assign;
-      module.exports.default = module.exports;
-      //# sourceMappingURL=object-assign.js.map
-
-      /***/
-    },
-
-    /***/ YsY6: /***/ function(
-      module,
+    /***/ 5409: /***/ function(
+      __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
     ) {
       "use strict";
       __webpack_require__.r(__webpack_exports__);
       /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        "q1tI"
+        7294
       );
       /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/ __webpack_require__.n(
         react__WEBPACK_IMPORTED_MODULE_0__
       );
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        "OHXn"
+        5964
       );
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         _css_module_css__WEBPACK_IMPORTED_MODULE_1__
       );
 
-      var __jsx = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement;
+      var __jsx = react__WEBPACK_IMPORTED_MODULE_0___default().createElement;
 
       var Page = function Page() {
         return __jsx(
           "div",
           {
-            className:
-              _css_module_css__WEBPACK_IMPORTED_MODULE_1___default.a.helloWorld
+            className: _css_module_css__WEBPACK_IMPORTED_MODULE_1___default()
+              .helloWorld
           },
           "Hello world \uD83D\uDC4B"
         );
@@ -64,8 +36,44 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
 
       /* harmony default export */ __webpack_exports__["default"] = Page;
 
+      /***/
+    },
+
+    /***/ 7083: /***/ function(
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/css",
+        function() {
+          return __webpack_require__(5409);
+        }
+      ]);
+
+      /***/
+    },
+
+    /***/ 5964: /***/ function(module) {
+      // extracted by mini-css-extract-plugin
+      module.exports = { helloWorld: "css_helloWorld__2Fhmt" };
+
       /***/
     }
   },
-  [["Bf75", 0, 1]]
+  /******/ function(__webpack_require__) {
+    // webpackRuntimeModules
+    /******/ // runtime can't be in strict mode because a global variable is assign and maybe created.
+    /******/
+
+    /******/ var __webpack_exec__ = function(moduleId) {
+      return __webpack_require__((__webpack_require__.s = moduleId));
+    };
+    /******/ __webpack_require__.O(0, [888, 774, 179], function() {
+      return __webpack_exec__(7083);
+    });
+    /******/ var __webpack_exports__ = __webpack_require__.O();
+    /******/ _N_E = __webpack_exports__;
+    /******/
+  }
 ]);
Diff for hooks-HASH.js
@@ -1,8 +1,8 @@
-_N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
-  [8],
+(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
+  [757],
   {
-    /***/ "+MDD": /***/ function(
-      module,
+    /***/ 3050: /***/ function(
+      __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
     ) {
@@ -10,11 +10,16 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       // ESM COMPAT FLAG
       __webpack_require__.r(__webpack_exports__);
 
-      // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js
+      // EXPORTS
+      __webpack_require__.d(__webpack_exports__, {
+        default: function() {
+          return /* binding */ hooks;
+        }
+      }); // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js
+
       function _arrayWithHoles(arr) {
         if (Array.isArray(arr)) return arr;
-      }
-      // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js
+      } // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js
       function _iterableToArrayLimit(arr, i) {
         if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr)))
           return;
@@ -45,8 +50,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
         }
 
         return _arr;
-      }
-      // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
+      } // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
       function _arrayLikeToArray(arr, len) {
         if (len == null || len > arr.length) len = arr.length;
 
@@ -55,9 +59,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
         }
 
         return arr2;
-      }
-      // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
-
+      } // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
       function _unsupportedIterableToArray(o, minLen) {
         if (!o) return;
         if (typeof o === "string") return _arrayLikeToArray(o, minLen);
@@ -69,15 +71,12 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
           /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
         )
           return _arrayLikeToArray(o, minLen);
-      }
-      // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js
+      } // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js
       function _nonIterableRest() {
         throw new TypeError(
           "Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
         );
-      }
-      // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js
-
+      } // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js
       function _slicedToArray(arr, i) {
         return (
           _arrayWithHoles(arr) ||
@@ -87,39 +86,34 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
         );
       }
       // EXTERNAL MODULE: ./node_modules/react/index.js
-      var react = __webpack_require__("q1tI");
-      var react_default = /*#__PURE__*/ __webpack_require__.n(react);
+      var react = __webpack_require__(7294);
+      var react_default = /*#__PURE__*/ __webpack_require__.n(react); // CONCATENATED MODULE: ./pages/hooks.js
+      var __jsx = react_default().createElement;
 
-      // CONCATENATED MODULE: ./pages/hooks.js
-
-      var __jsx = react_default.a.createElement;
-
-      /* harmony default export */ var hooks = (__webpack_exports__[
-        "default"
-      ] = function() {
-        var _React$useState = react_default.a.useState(0),
+      /* harmony default export */ var hooks = function() {
+        var _React$useState = react_default().useState(0),
           _React$useState2 = _slicedToArray(_React$useState, 2),
           clicks1 = _React$useState2[0],
           setClicks1 = _React$useState2[1];
 
-        var _useState = Object(react["useState"])(0),
+        var _useState = (0, react.useState)(0),
           clicks2 = _useState[0],
           setClicks2 = _useState[1];
 
-        var doClick1 = react_default.a.useCallback(
+        var doClick1 = react_default().useCallback(
           function() {
             setClicks1(clicks1 + 1);
           },
           [clicks1]
         );
-        var doClick2 = Object(react["useCallback"])(
+        var doClick2 = (0, react.useCallback)(
           function() {
             setClicks2(clicks2 + 1);
           },
           [clicks2]
         );
         return __jsx(
-          react_default.a.Fragment,
+          react_default().Fragment,
           null,
           __jsx("h3", null, "Clicks ", clicks1),
           __jsx(
@@ -138,31 +132,39 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
             "Click me"
           )
         );
-      });
+      };
 
       /***/
     },
 
-    /***/ Qetd: /***/ function(module, exports, __webpack_require__) {
-      "use strict";
-      var assign = Object.assign.bind(Object);
-      module.exports = assign;
-      module.exports.default = module.exports;
-      //# sourceMappingURL=object-assign.js.map
-
-      /***/
-    },
-
-    /***/ g1vQ: /***/ function(module, exports, __webpack_require__) {
+    /***/ 1470: /***/ function(
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/hooks",
         function() {
-          return __webpack_require__("+MDD");
+          return __webpack_require__(3050);
         }
       ]);
 
       /***/
     }
   },
-  [["g1vQ", 0, 1]]
+  /******/ function(__webpack_require__) {
+    // webpackRuntimeModules
+    /******/ // runtime can't be in strict mode because a global variable is assign and maybe created.
+    /******/
+
+    /******/ var __webpack_exec__ = function(moduleId) {
+      return __webpack_require__((__webpack_require__.s = moduleId));
+    };
+    /******/ __webpack_require__.O(0, [888, 774, 179], function() {
+      return __webpack_exec__(1470);
+    });
+    /******/ var __webpack_exports__ = __webpack_require__.O();
+    /******/ _N_E = __webpack_exports__;
+    /******/
+  }
 ]);
Diff for index-HASH.js
@@ -1,8 +1,8 @@
-_N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
-  [9],
+(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
+  [405],
   {
-    /***/ RNiq: /***/ function(
-      module,
+    /***/ 6124: /***/ function(
+      __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
     ) {
@@ -21,16 +21,34 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       /***/
     },
 
-    /***/ vlRD: /***/ function(module, exports, __webpack_require__) {
+    /***/ 8581: /***/ function(
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/",
         function() {
-          return __webpack_require__("RNiq");
+          return __webpack_require__(6124);
         }
       ]);
 
       /***/
     }
   },
-  [["vlRD", 0]]
+  /******/ function(__webpack_require__) {
+    // webpackRuntimeModules
+    /******/ // runtime can't be in strict mode because a global variable is assign and maybe created.
+    /******/
+
+    /******/ var __webpack_exec__ = function(moduleId) {
+      return __webpack_require__((__webpack_require__.s = moduleId));
+    };
+    /******/ __webpack_require__.O(0, [888, 774, 179], function() {
+      return __webpack_exec__(8581);
+    });
+    /******/ var __webpack_exports__ = __webpack_require__.O();
+    /******/ _N_E = __webpack_exports__;
+    /******/
+  }
 ]);
Diff for link-HASH.js
@@ -1,86 +1,28 @@
-_N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
-  [10],
+(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
+  [644],
   {
-    /***/ ObF3: /***/ function(
-      module,
-      __webpack_exports__,
+    /***/ 2167: /***/ function(
+      __unused_webpack_module,
+      exports,
       __webpack_require__
     ) {
       "use strict";
-      __webpack_require__.r(__webpack_exports__);
-      /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        "q1tI"
-      );
-      /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/ __webpack_require__.n(
-        react__WEBPACK_IMPORTED_MODULE_0__
-      );
-      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        "YFqc"
-      );
-      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
-        next_link__WEBPACK_IMPORTED_MODULE_1__
-      );
-
-      var __jsx = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement;
-
-      function aLink(props) {
-        return __jsx(
-          "div",
-          null,
-          __jsx("h3", null, "A Link page!"),
-          __jsx(
-            next_link__WEBPACK_IMPORTED_MODULE_1___default.a,
-            {
-              href: "/"
-            },
-            "Go to /"
-          )
-        );
-      }
-
-      aLink.getInitialProps = function() {
-        return {};
-      };
-
-      /* harmony default export */ __webpack_exports__["default"] = aLink;
-
-      /***/
-    },
-
-    /***/ V8Sf: /***/ function(module, exports, __webpack_require__) {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/link",
-        function() {
-          return __webpack_require__("ObF3");
-        }
-      ]);
-
-      /***/
-    },
-
-    /***/ YFqc: /***/ function(module, exports, __webpack_require__) {
-      module.exports = __webpack_require__("cTJO");
-
-      /***/
-    },
-
-    /***/ cTJO: /***/ function(module, exports, __webpack_require__) {
-      "use strict";
+      var __webpack_unused_export__;
 
-      var _slicedToArray = __webpack_require__("J4zp");
+      var _slicedToArray = __webpack_require__(3038);
 
-      var _interopRequireWildcard = __webpack_require__("284h");
+      var _interopRequireWildcard = __webpack_require__(862);
 
-      exports.__esModule = true;
-      exports["default"] = void 0;
+      __webpack_unused_export__ = true;
+      exports.default = void 0;
 
-      var _react = _interopRequireWildcard(__webpack_require__("q1tI"));
+      var _react = _interopRequireWildcard(__webpack_require__(7294));
 
-      var _router = __webpack_require__("elyg");
+      var _router = __webpack_require__(9414);
 
-      var _router2 = __webpack_require__("nOHt");
+      var _router2 = __webpack_require__(4651);
 
-      var _useIntersection = __webpack_require__("vNVm");
+      var _useIntersection = __webpack_require__(7426);
 
       var prefetched = {};
 
@@ -308,22 +250,26 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       }
 
       var _default = Link;
-      exports["default"] = _default;
+      exports.default = _default;
 
       /***/
     },
 
-    /***/ vNVm: /***/ function(module, exports, __webpack_require__) {
+    /***/ 7426: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
       "use strict";
 
-      var _slicedToArray = __webpack_require__("J4zp");
+      var _slicedToArray = __webpack_require__(3038);
 
       exports.__esModule = true;
       exports.useIntersection = useIntersection;
 
-      var _react = __webpack_require__("q1tI");
+      var _react = __webpack_require__(7294);
 
-      var _requestIdleCallback = __webpack_require__("0G5g");
+      var _requestIdleCallback = __webpack_require__(3447);
 
       var hasIntersectionObserver = typeof IntersectionObserver !== "undefined";
 
@@ -433,8 +379,90 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
         return instance;
       }
 
+      /***/
+    },
+
+    /***/ 647: /***/ function(
+      __unused_webpack_module,
+      __webpack_exports__,
+      __webpack_require__
+    ) {
+      "use strict";
+      __webpack_require__.r(__webpack_exports__);
+      /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
+        7294
+      );
+      /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/ __webpack_require__.n(
+        react__WEBPACK_IMPORTED_MODULE_0__
+      );
+      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
+        1664
+      );
+
+      var __jsx = react__WEBPACK_IMPORTED_MODULE_0___default().createElement;
+
+      function aLink(props) {
+        return __jsx(
+          "div",
+          null,
+          __jsx("h3", null, "A Link page!"),
+          __jsx(
+            next_link__WEBPACK_IMPORTED_MODULE_1__.default,
+            {
+              href: "/"
+            },
+            "Go to /"
+          )
+        );
+      }
+
+      aLink.getInitialProps = function() {
+        return {};
+      };
+
+      /* harmony default export */ __webpack_exports__["default"] = aLink;
+
+      /***/
+    },
+
+    /***/ 7847: /***/ function(
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/link",
+        function() {
+          return __webpack_require__(647);
+        }
+      ]);
+
+      /***/
+    },
+
+    /***/ 1664: /***/ function(
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      module.exports = __webpack_require__(2167)
Post job cleanup.
[command]/usr/bin/git version
git version 2.31.1
[command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
[command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :
[command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
http.https://github.com/.extraheader
[command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
[command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :
Cleaning up orphan processes
Commit: 955498a584d2f1d7590f2379b67464392af3afb5

@ijjk ijjk merged commit e1502bc into vercel:canary Jun 7, 2021
flybayer pushed a commit to blitz-js/next.js that referenced this pull request Jun 16, 2021
* Enable webpack 5 by default for all apps

Still provides a way to opt-out using `webpack5: false` in next.config.js. Also throws an error for `future.webpack5`.

* Update tests

* Update test to run on webpack 4 instead of webpack 5

* disable webpack5 for legacy tests

* Fix stats-config for webpack4

* update tests

* update size for webpack4 test

* move basic suite first

* update basic test

* Add logs

* remove outdated testFutureDependencies job

Co-authored-by: JJ Kasper <jj@jjsweb.site>
@vercel vercel locked as resolved and limited conversation to collaborators Jan 28, 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

2 participants