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

Use SWC to compile Next.js core server files #27167

Merged
merged 8 commits into from
Jul 14, 2021

Conversation

timneutkens
Copy link
Member

  • Use SWC to compile Next.js core server files
  • Ensure only @babel/runtime/helpers/interopRequireDefault helper is used

Just an initial comparison to compare size difference of this change.

Bug

  • Related issues linked using fixes #number
  • Integration tests added
  • Errors have helpful link attached, see contributing.md

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.
  • Errors have helpful link attached, see contributing.md

Documentation / Examples

  • Make sure the linting passes

@ijjk

This comment has been minimized.

@ijjk

This comment has been minimized.

@ijjk

This comment has been minimized.

@ijjk

This comment has been minimized.

packages/next/taskfile-swc.js Outdated Show resolved Hide resolved
@ijjk

This comment has been minimized.

@ijjk

This comment has been minimized.

Copy link
Member

@padmaia padmaia left a comment

Choose a reason for hiding this comment

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

Looks good to me. Only question I have is if there's a reason for keeping the babelServerOpts in packages/next/taskfile-babel.js. Is it still being used in other tasks?

@timneutkens
Copy link
Member Author

Looks good to me. Only question I have is if there's a reason for keeping the babelServerOpts in packages/next/taskfile-babel.js. Is it still being used in other tasks?

It can be removed. Planning to do that in a follow-up PR. It's not being used in other tasks now.

@ijjk
Copy link
Member

ijjk commented Jul 14, 2021

Stats from current PR

Default Build (Decrease detected ✓)
General Overall increase ⚠️
vercel/next.js canary timneutkens/next.js add/use-swc-for-next-core Change
buildDuration 12.6s 12.8s ⚠️ +187ms
buildDurationCached 2.9s 3s ⚠️ +23ms
nodeModulesSize 49.3 MB 49.5 MB ⚠️ +175 kB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary timneutkens/next.js add/use-swc-for-next-core Change
/ failed reqs 0 0
/ total time (seconds) 2.042 2.072 ⚠️ +0.03
/ avg req/sec 1224.4 1206.85 ⚠️ -17.55
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.118 1.135 ⚠️ +0.02
/error-in-render avg req/sec 2235.71 2202.82 ⚠️ -32.89
Client Bundles (main, webpack, commons) Overall decrease ✓
vercel/next.js canary timneutkens/next.js add/use-swc-for-next-core Change
359.HASH.js gzip 3.09 kB 2.96 kB -122 B
framework-HASH.js gzip 42 kB 42 kB
main-HASH.js gzip 20.9 kB 20.9 kB -72 B
webpack-HASH.js gzip 1.49 kB 1.49 kB
Overall change 67.6 kB 67.4 kB -194 B
Legacy Client Bundles (polyfills)
vercel/next.js canary timneutkens/next.js add/use-swc-for-next-core Change
polyfills-HASH.js gzip 31.1 kB 31.1 kB
Overall change 31.1 kB 31.1 kB
Client Pages Overall decrease ✓
vercel/next.js canary timneutkens/next.js add/use-swc-for-next-core Change
_app-HASH.js gzip 803 B 803 B
_error-HASH.js gzip 3.18 kB 3.06 kB -120 B
amp-HASH.js gzip 526 B 554 B ⚠️ +28 B
css-HASH.js gzip 329 B 329 B
hooks-HASH.js gzip 903 B 903 B
image-HASH.js gzip 5.69 kB 5.58 kB -111 B
index-HASH.js gzip 261 B 261 B
link-HASH.js gzip 1.66 kB 1.66 kB ⚠️ +3 B
routerDirect..HASH.js gzip 319 B 319 B
withRouter-HASH.js gzip 320 B 320 B
bb14e60e810b..30f.css gzip 125 B 125 B
Overall change 14.1 kB 13.9 kB -200 B
Client Build Manifests Overall decrease ✓
vercel/next.js canary timneutkens/next.js add/use-swc-for-next-core Change
_buildManifest.js gzip 419 B 418 B -1 B
Overall change 419 B 418 B -1 B
Rendered Page Sizes Overall increase ⚠️
vercel/next.js canary timneutkens/next.js add/use-swc-for-next-core Change
index.html gzip 531 B 531 B
link.html gzip 544 B 545 B ⚠️ +1 B
withRouter.html gzip 524 B 526 B ⚠️ +2 B
Overall change 1.6 kB 1.6 kB ⚠️ +3 B

Diffs

Diff for _buildManifest.js
@@ -2,9 +2,9 @@ self.__BUILD_MANIFEST = {
   __rewrites: { beforeFiles: [], afterFiles: [], fallback: [] },
   "/": ["static\u002Fchunks\u002Fpages\u002Findex-191cfefb947010b4d318.js"],
   "/_error": [
-    "static\u002Fchunks\u002Fpages\u002F_error-3cd003e3c07a727d48b6.js"
+    "static\u002Fchunks\u002Fpages\u002F_error-b7cf869ea4c3dc245b13.js"
   ],
-  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-99a85859b8a93cc45609.js"],
+  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-110c9d1dfe07ae6114f8.js"],
   "/css": [
     "static\u002Fcss\u002F59de118426c393f58653.css",
     "static\u002Fchunks\u002Fpages\u002Fcss-fc196f2ef04da4c7630f.js"
@@ -13,9 +13,9 @@ self.__BUILD_MANIFEST = {
     "static\u002Fchunks\u002Fpages\u002Fhooks-4e38b05900fed34fcf34.js"
   ],
   "/image": [
-    "static\u002Fchunks\u002Fpages\u002Fimage-7b2a3db6fef72dcc481e.js"
+    "static\u002Fchunks\u002Fpages\u002Fimage-011996dbc6095969738b.js"
   ],
-  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-461e3656f357dad048d3.js"],
+  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-36845453cb7a35e1a731.js"],
   "/routerDirect": [
     "static\u002Fchunks\u002Fpages\u002FrouterDirect-7d3bf8d007854c164077.js"
   ],
Diff for _error-HASH.js
@@ -17,27 +17,6 @@
       /***/
     },
 
-    /***/ 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;
-      }
-
-      module.exports = _defineProperty;
-
-      /***/
-    },
-
     /***/ 6860: /***/ function(module) {
       function _iterableToArray(iter) {
         if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter))
@@ -307,7 +286,9 @@
     ) {
       "use strict";
 
-      exports.__esModule = true;
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
       exports.AmpStateContext = void 0;
 
       var _react = _interopRequireDefault(__webpack_require__(7294));
@@ -320,7 +301,7 @@
             };
       }
 
-      var AmpStateContext = /*#__PURE__*/ _react["default"].createContext({});
+      var AmpStateContext = _react["default"].createContext({});
 
       exports.AmpStateContext = AmpStateContext;
 
@@ -337,7 +318,9 @@
     ) {
       "use strict";
 
-      exports.__esModule = true;
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
       exports.isInAmpMode = isInAmpMode;
       exports.useAmp = useAmp;
 
@@ -425,7 +408,9 @@
         return target;
       }
 
-      exports.__esModule = true;
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
       exports.defaultHead = defaultHead;
       exports.default = void 0;
 
@@ -447,62 +432,32 @@
             };
       }
 
-      function _getRequireWildcardCache() {
-        if (typeof WeakMap !== "function") return null;
-        var cache = new WeakMap();
-
-        _getRequireWildcardCache = function _getRequireWildcardCache() {
-          return cache;
-        };
-
-        return cache;
-      }
-
       function _interopRequireWildcard(obj) {
         if (obj && obj.__esModule) {
           return obj;
-        }
-
-        if (
-          obj === null ||
-          (typeof obj !== "object" && typeof obj !== "function")
-        ) {
-          return {
-            default: obj
-          };
-        }
-
-        var cache = _getRequireWildcardCache();
-
-        if (cache && cache.has(obj)) {
-          return cache.get(obj);
-        }
-
-        var newObj = {};
-        var hasPropertyDescriptor =
-          Object.defineProperty && Object.getOwnPropertyDescriptor;
-
-        for (var key in obj) {
-          if (Object.prototype.hasOwnProperty.call(obj, key)) {
-            var desc = hasPropertyDescriptor
-              ? Object.getOwnPropertyDescriptor(obj, key)
-              : null;
-
-            if (desc && (desc.get || desc.set)) {
-              Object.defineProperty(newObj, key, desc);
-            } else {
-              newObj[key] = obj[key];
+        } else {
+          var newObj = {};
+
+          if (obj != null) {
+            for (var key in obj) {
+              if (Object.prototype.hasOwnProperty.call(obj, key)) {
+                var desc =
+                  Object.defineProperty && Object.getOwnPropertyDescriptor
+                    ? Object.getOwnPropertyDescriptor(obj, key)
+                    : {};
+
+                if (desc.get || desc.set) {
+                  Object.defineProperty(newObj, key, desc);
+                } else {
+                  newObj[key] = obj[key];
+                }
+              }
             }
           }
-        }
 
-        newObj["default"] = obj;
-
-        if (cache) {
-          cache.set(obj, newObj);
+          newObj["default"] = obj;
+          return newObj;
         }
-
-        return newObj;
       }
 
       function defaultHead() {
@@ -557,9 +512,9 @@
 
       var METATYPES = ["name", "httpEquiv", "charSet", "itemProp"];
       /*
-returns a function for filtering head child elements
-which shouldn't be duplicated, like <title/>
-Also adds support for deduplicated `key` properties
+ returns a function for filtering head child elements
+ which shouldn't be duplicated, like <title/>
+ Also adds support for deduplicated `key` properties
 */
 
       function unique() {
@@ -684,8 +639,8 @@ Also adds support for deduplicated `key` properties
 
       function Head(_ref) {
         var children = _ref.children;
-        var ampState = (0, _react.useContext)(_ampContext.AmpStateContext);
-        var headManager = (0, _react.useContext)(
+        var ampState = (0, _react).useContext(_ampContext.AmpStateContext);
+        var headManager = (0, _react).useContext(
           _headManagerContext.HeadManagerContext
         );
         return /*#__PURE__*/ _react["default"].createElement(
@@ -693,7 +648,7 @@ Also adds support for deduplicated `key` properties
           {
             reduceComponentsToState: reduceComponents,
             headManager: headManager,
-            inAmpMode: (0, _amp.isInAmpMode)(ampState)
+            inAmpMode: (0, _amp).isInAmpMode(ampState)
           },
           children
         );
@@ -755,25 +710,26 @@ Also adds support for deduplicated `key` properties
         }
       }
 
-      exports.__esModule = true;
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
       exports.default = void 0;
 
       var _react = __webpack_require__(7294);
 
       var isServer = false;
 
-      var _default = /*#__PURE__*/ (function(_react$Component) {
-        _inherits(_default, _react$Component);
+      var _class = /*#__PURE__*/ (function(_react$Component) {
+        _inherits(_class, _react$Component);
 
-        var _super = _createSuper(_default);
+        var _super = _createSuper(_class);
 
-        function _default(props) {
+        function _class(props) {
           var _this;
 
-          _classCallCheck(this, _default);
+          _classCallCheck(this, _class);
 
           _this = _super.call(this, props);
-          _this._hasHeadManager = void 0;
 
           _this.emitChange = function() {
             if (_this._hasHeadManager) {
@@ -800,7 +756,7 @@ Also adds support for deduplicated `key` properties
           return _this;
         }
 
-        _createClass(_default, [
+        _createClass(_class, [
           {
             key: "componentDidMount",
             value: function componentDidMount() {
@@ -835,10 +791,10 @@ Also adds support for deduplicated `key` properties
           }
         ]);
 
-        return _default;
+        return _class;
       })(_react.Component);
 
-      exports.default = _default;
+      exports.default = _class;
 
       /***/
     },
Diff for amp-HASH.js
@@ -18,7 +18,9 @@
     ) {
       "use strict";
 
-      exports.__esModule = true;
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
       exports.AmpStateContext = void 0;
 
       var _react = _interopRequireDefault(__webpack_require__(7294));
@@ -31,7 +33,7 @@
             };
       }
 
-      var AmpStateContext = /*#__PURE__*/ _react["default"].createContext({});
+      var AmpStateContext = _react["default"].createContext({});
 
       exports.AmpStateContext = AmpStateContext;
 
@@ -48,7 +50,9 @@
     ) {
       "use strict";
 
-      exports.__esModule = true;
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
       exports.isInAmpMode = isInAmpMode;
       exports.useAmp = useAmp;
Diff for image-HASH.js
@@ -17,27 +17,6 @@
       /***/
     },
 
-    /***/ 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;
-      }
-
-      module.exports = _defineProperty;
-
-      /***/
-    },
-
     /***/ 6860: /***/ function(module) {
       function _iterableToArray(iter) {
         if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter))
@@ -98,19 +77,55 @@
 
       var _slicedToArray = __webpack_require__(3038);
 
+      var _objectWithoutProperties = __webpack_require__(6479);
+
+      var _defineProperty = __webpack_require__(9713);
+
       var _toConsumableArray = __webpack_require__(319);
 
+      function ownKeys(object, enumerableOnly) {
+        var keys = Object.keys(object);
+        if (Object.getOwnPropertySymbols) {
+          var symbols = Object.getOwnPropertySymbols(object);
+          if (enumerableOnly)
+            symbols = symbols.filter(function(sym) {
+              return Object.getOwnPropertyDescriptor(object, sym).enumerable;
+            });
+          keys.push.apply(keys, symbols);
+        }
+        return keys;
+      }
+
+      function _objectSpread(target) {
+        for (var i = 1; i < arguments.length; i++) {
+          var source = arguments[i] != null ? arguments[i] : {};
+          if (i % 2) {
+            ownKeys(Object(source), true).forEach(function(key) {
+              _defineProperty(target, key, source[key]);
+            });
+          } else if (Object.getOwnPropertyDescriptors) {
+            Object.defineProperties(
+              target,
+              Object.getOwnPropertyDescriptors(source)
+            );
+          } else {
+            ownKeys(Object(source)).forEach(function(key) {
+              Object.defineProperty(
+                target,
+                key,
+                Object.getOwnPropertyDescriptor(source, key)
+              );
+            });
+          }
+        }
+        return target;
+      }
+
       var _interopRequireDefault = __webpack_require__(5318);
 
       __webpack_unused_export__ = true;
       exports.default = Image;
 
-      var _objectWithoutPropertiesLoose2 = _interopRequireDefault(
-        __webpack_require__(7316)
-      );
-
-      var _extends2 = _interopRequireDefault(__webpack_require__(7154));
-
       var _react = _interopRequireDefault(__webpack_require__(7294));
 
       var _head = _interopRequireDefault(__webpack_require__(639));
@@ -157,18 +172,18 @@
         );
       }
 
-      var _ref2 =
+      var _ref =
           {
             deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
             imageSizes: [16, 32, 48, 64, 96, 128, 256, 384],
             path: "/_next/image",
             loader: "default"
           } || _imageConfig.imageConfigDefault,
-        configDeviceSizes = _ref2.deviceSizes,
-        configImageSizes = _ref2.imageSizes,
-        configLoader = _ref2.loader,
-        configPath = _ref2.path,
-        configDomains = _ref2.domains; // sort smallest to largest
+        configDeviceSizes = _ref.deviceSizes,
+        configImageSizes = _ref.imageSizes,
+        configLoader = _ref.loader,
+        configPath = _ref.path,
+        configDomains = _ref.domains; // sort smallest to largest
 
       var allSizes = [].concat(
         _toConsumableArray(configDeviceSizes),
@@ -247,14 +262,14 @@
         };
       }
 
-      function generateImgAttrs(_ref3) {
-        var src = _ref3.src,
-          unoptimized = _ref3.unoptimized,
-          layout = _ref3.layout,
-          width = _ref3.width,
-          quality = _ref3.quality,
-          sizes = _ref3.sizes,
-          loader = _ref3.loader;
+      function generateImgAttrs(_ref2) {
+        var src = _ref2.src,
+          unoptimized = _ref2.unoptimized,
+          layout = _ref2.layout,
+          width = _ref2.width,
+          quality = _ref2.quality,
+          sizes = _ref2.sizes,
+          loader = _ref2.loader;
 
         if (unoptimized) {
           return {
@@ -317,7 +332,7 @@
 
         if (load) {
           return load(
-            (0, _extends2["default"])(
+            _objectSpread(
               {
                 root: configPath
               },
@@ -368,28 +383,29 @@
         }
       }
 
-      function Image(_ref) {
-        var src = _ref.src,
-          sizes = _ref.sizes,
-          _ref$unoptimized = _ref.unoptimized,
-          unoptimized = _ref$unoptimized === void 0 ? false : _ref$unoptimized,
-          _ref$priority = _ref.priority,
-          priority = _ref$priority === void 0 ? false : _ref$priority,
-          loading = _ref.loading,
-          className = _ref.className,
-          quality = _ref.quality,
-          width = _ref.width,
-          height = _ref.height,
-          objectFit = _ref.objectFit,
-          objectPosition = _ref.objectPosition,
-          onLoadingComplete = _ref.onLoadingComplete,
-          _ref$loader = _ref.loader,
-          loader = _ref$loader === void 0 ? defaultImageLoader : _ref$loader,
-          _ref$placeholder = _ref.placeholder,
+      function Image(_ref3) {
+        var src = _ref3.src,
+          sizes = _ref3.sizes,
+          _ref3$unoptimized = _ref3.unoptimized,
+          unoptimized =
+            _ref3$unoptimized === void 0 ? false : _ref3$unoptimized,
+          _ref3$priority = _ref3.priority,
+          priority = _ref3$priority === void 0 ? false : _ref3$priority,
+          loading = _ref3.loading,
+          className = _ref3.className,
+          quality = _ref3.quality,
+          width = _ref3.width,
+          height = _ref3.height,
+          objectFit = _ref3.objectFit,
+          objectPosition = _ref3.objectPosition,
+          onLoadingComplete = _ref3.onLoadingComplete,
+          _ref3$loader = _ref3.loader,
+          loader = _ref3$loader === void 0 ? defaultImageLoader : _ref3$loader,
+          _ref3$placeholder = _ref3.placeholder,
           placeholder =
-            _ref$placeholder === void 0 ? "empty" : _ref$placeholder,
-          blurDataURL = _ref.blurDataURL,
-          all = (0, _objectWithoutPropertiesLoose2["default"])(_ref, [
+            _ref3$placeholder === void 0 ? "empty" : _ref3$placeholder,
+          blurDataURL = _ref3.blurDataURL,
+          all = _objectWithoutProperties(_ref3, [
             "src",
             "sizes",
             "unoptimized",
@@ -406,6 +422,7 @@
             "placeholder",
             "blurDataURL"
           ]);
+
         var rest = all;
         var layout = sizes ? "responsive" : "intrinsic";
 
@@ -479,7 +496,8 @@
         var wrapperStyle;
         var sizerStyle;
         var sizerSvg;
-        var imgStyle = (0, _extends2["default"])(
+
+        var imgStyle = _objectSpread(
           {
             position: "absolute",
             top: 0,
@@ -914,7 +932,9 @@
     ) {
       "use strict";
 
-      exports.__esModule = true;
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
       exports.AmpStateContext = void 0;
 
       var _react = _interopRequireDefault(__webpack_require__(7294));
@@ -927,7 +947,7 @@
             };
       }
 
-      var AmpStateContext = /*#__PURE__*/ _react["default"].createContext({});
+      var AmpStateContext = _react["default"].createContext({});
 
       exports.AmpStateContext = AmpStateContext;
 
@@ -944,7 +964,9 @@
     ) {
       "use strict";
 
-      exports.__esModule = true;
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
       exports.isInAmpMode = isInAmpMode;
       exports.useAmp = useAmp;
 
@@ -1032,7 +1054,9 @@
         return target;
       }
 
-      exports.__esModule = true;
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
       exports.defaultHead = defaultHead;
       exports.default = void 0;
 
@@ -1054,62 +1078,32 @@
             };
       }
 
-      function _getRequireWildcardCache() {
-        if (typeof WeakMap !== "function") return null;
-        var cache = new WeakMap();
-
-        _getRequireWildcardCache = function _getRequireWildcardCache() {
-          return cache;
-        };
-
-        return cache;
-      }
-
       function _interopRequireWildcard(obj) {
         if (obj && obj.__esModule) {
           return obj;
-        }
-
-        if (
-          obj === null ||
-          (typeof obj !== "object" && typeof obj !== "function")
-        ) {
-          return {
-            default: obj
-          };
-        }
-
-        var cache = _getRequireWildcardCache();
-
-        if (cache && cache.has(obj)) {
-          return cache.get(obj);
-        }
-
-        var newObj = {};
-        var hasPropertyDescriptor =
-          Object.defineProperty && Object.getOwnPropertyDescriptor;
-
-        for (var key in obj) {
-          if (Object.prototype.hasOwnProperty.call(obj, key)) {
-            var desc = hasPropertyDescriptor
-              ? Object.getOwnPropertyDescriptor(obj, key)
-              : null;
-
-            if (desc && (desc.get || desc.set)) {
-              Object.defineProperty(newObj, key, desc);
-            } else {
-              newObj[key] = obj[key];
+        } else {
+          var newObj = {};
+
+          if (obj != null) {
+            for (var key in obj) {
+              if (Object.prototype.hasOwnProperty.call(obj, key)) {
+                var desc =
+                  Object.defineProperty && Object.getOwnPropertyDescriptor
+                    ? Object.getOwnPropertyDescriptor(obj, key)
+                    : {};
+
+                if (desc.get || desc.set) {
+                  Object.defineProperty(newObj, key, desc);
+                } else {
+                  newObj[key] = obj[key];
+                }
+              }
             }
           }
-        }
 
-        newObj["default"] = obj;
-
-        if (cache) {
-          cache.set(obj, newObj);
+          newObj["default"] = obj;
+          return newObj;
         }
-
-        return newObj;
       }
 
       function defaultHead() {
@@ -1164,9 +1158,9 @@
 
       var METATYPES = ["name", "httpEquiv", "charSet", "itemProp"];
       /*
-returns a function for filtering head child elements
-which shouldn't be duplicated, like <title/>
-Also adds support for deduplicated `key` properties
+ returns a function for filtering head child elements
+ which shouldn't be duplicated, like <title/>
+ Also adds support for deduplicated `key` properties
 */
 
       function unique() {
@@ -1291,8 +1285,8 @@ Also adds support for deduplicated `key` properties
 
       function Head(_ref) {
         var children = _ref.children;
-        var ampState = (0, _react.useContext)(_ampContext.AmpStateContext);
-        var headManager = (0, _react.useContext)(
+        var ampState = (0, _react).useContext(_ampContext.AmpStateContext);
+        var headManager = (0, _react).useContext(
           _headManagerContext.HeadManagerContext
         );
         return /*#__PURE__*/ _react["default"].createElement(
@@ -1300,7 +1294,7 @@ Also adds support for deduplicated `key` properties
           {
             reduceComponentsToState: reduceComponents,
             headManager: headManager,
-            inAmpMode: (0, _amp.isInAmpMode)(ampState)
+            inAmpMode: (0, _amp).isInAmpMode(ampState)
           },
           children
         );
@@ -1362,25 +1356,26 @@ Also adds support for deduplicated `key` properties
         }
       }
 
-      exports.__esModule = true;
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
       exports.default = void 0;
 
       var _react = __webpack_require__(7294);
 
       var isServer = false;
 
-      var _default = /*#__PURE__*/ (function(_react$Component) {
-        _inherits(_default, _react$Component);
+      var _class = /*#__PURE__*/ (function(_react$Component) {
+        _inherits(_class, _react$Component);
 
-        var _super = _createSuper(_default);
+        var _super = _createSuper(_class);
 
-        function _default(props) {
+        function _class(props) {
           var _this;
 
-          _classCallCheck(this, _default);
+          _classCallCheck(this, _class);
 
           _this = _super.call(this, props);
-          _this._hasHeadManager = void 0;
 
           _this.emitChange = function() {
             if (_this._hasHeadManager) {
@@ -1407,7 +1402,7 @@ Also adds support for deduplicated `key` properties
           return _this;
         }
 
-        _createClass(_default, [
+        _createClass(_class, [
           {
             key: "componentDidMount",
             value: function componentDidMount() {
@@ -1442,10 +1437,10 @@ Also adds support for deduplicated `key` properties
           }
         ]);
 
-        return _default;
+        return _class;
       })(_react.Component);
 
-      exports.default = _default;
+      exports.default = _class;
 
       /***/
     },
@@ -1453,11 +1448,10 @@ Also adds support for deduplicated `key` properties
     /***/ 8997: /***/ function(__unused_webpack_module, exports) {
       "use strict";
 
-      exports.__esModule = true;
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
       exports.toBase64 = toBase64;
-      /**
-       * Isomorphic base64 that works on the server and client
-       */
 
       function toBase64(str) {
         if (false) {
@@ -1538,7 +1532,10 @@ Also adds support for deduplicated `key` properties
 
     /***/ 5809: /***/ function(__unused_webpack_module, exports) {
       "use strict";
-      exports.__esModule = true;
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
       exports.imageConfigDefault = exports.VALID_LOADERS = void 0;
       const VALID_LOADERS = [
         "default",
@@ -1557,6 +1554,7 @@ Also adds support for deduplicated `key` properties
         disableStaticImages: false
       };
       exports.imageConfigDefault = imageConfigDefault;
+
       //# sourceMappingURL=image-config.js.map
 
       /***/
Diff for link-HASH.js
@@ -11,12 +11,12 @@
 
       var _slicedToArray = __webpack_require__(3038);
 
-      var _interopRequireWildcard = __webpack_require__(862);
+      var _interopRequireDefault = __webpack_require__(5318);
 
       __webpack_unused_export__ = true;
       exports.default = void 0;
 
-      var _react = _interopRequireWildcard(__webpack_require__(7294));
+      var _react = _interopRequireDefault(__webpack_require__(7294));
 
       var _router = __webpack_require__(1063);
 
@@ -140,7 +140,7 @@
 
         if (false) {
         } else {
-          child = _react.Children.only(children);
+          child = _react["default"].Children.only(children);
         }
 
         var childRef = child && typeof child === "object" && child.ref;
@@ -166,7 +166,7 @@
           [childRef, setIntersectionRef]
         );
 
-        (0, _react.useEffect)(
+        _react["default"].useEffect(
           function() {
             var shouldPrefetch =
               isVisible && p && (0, _router.isLocalURL)(href);
@@ -183,6 +183,7 @@
           },
           [as, href, isVisible, locale, p, router]
         );
+
         var childProps = {
           ref: setRef,
           onClick: function onClick(e) {
Diff for 359.HASH.js
@@ -17,27 +17,6 @@
       /***/
     },
 
-    /***/ 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;
-      }
-
-      module.exports = _defineProperty;
-
-      /***/
-    },
-
     /***/ 6860: /***/ function(module) {
       function _iterableToArray(iter) {
         if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter))
@@ -307,7 +286,9 @@
     ) {
       "use strict";
 
-      exports.__esModule = true;
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
       exports.AmpStateContext = void 0;
 
       var _react = _interopRequireDefault(__webpack_require__(7294));
@@ -320,7 +301,7 @@
             };
       }
 
-      var AmpStateContext = /*#__PURE__*/ _react["default"].createContext({});
+      var AmpStateContext = _react["default"].createContext({});
 
       exports.AmpStateContext = AmpStateContext;
 
@@ -337,7 +318,9 @@
     ) {
       "use strict";
 
-      exports.__esModule = true;
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
       exports.isInAmpMode = isInAmpMode;
       exports.useAmp = useAmp;
 
@@ -425,7 +408,9 @@
         return target;
       }
 
-      exports.__esModule = true;
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
       exports.defaultHead = defaultHead;
       exports.default = void 0;
 
@@ -447,62 +432,32 @@
             };
       }
 
-      function _getRequireWildcardCache() {
-        if (typeof WeakMap !== "function") return null;
-        var cache = new WeakMap();
-
-        _getRequireWildcardCache = function _getRequireWildcardCache() {
-          return cache;
-        };
-
-        return cache;
-      }
-
       function _interopRequireWildcard(obj) {
         if (obj && obj.__esModule) {
           return obj;
-        }
-
-        if (
-          obj === null ||
-          (typeof obj !== "object" && typeof obj !== "function")
-        ) {
-          return {
-            default: obj
-          };
-        }
-
-        var cache = _getRequireWildcardCache();
-
-        if (cache && cache.has(obj)) {
-          return cache.get(obj);
-        }
-
-        var newObj = {};
-        var hasPropertyDescriptor =
-          Object.defineProperty && Object.getOwnPropertyDescriptor;
-
-        for (var key in obj) {
-          if (Object.prototype.hasOwnProperty.call(obj, key)) {
-            var desc = hasPropertyDescriptor
-              ? Object.getOwnPropertyDescriptor(obj, key)
-              : null;
-
-            if (desc && (desc.get || desc.set)) {
-              Object.defineProperty(newObj, key, desc);
-            } else {
-              newObj[key] = obj[key];
+        } else {
+          var newObj = {};
+
+          if (obj != null) {
+            for (var key in obj) {
+              if (Object.prototype.hasOwnProperty.call(obj, key)) {
+                var desc =
+                  Object.defineProperty && Object.getOwnPropertyDescriptor
+                    ? Object.getOwnPropertyDescriptor(obj, key)
+                    : {};
+
+                if (desc.get || desc.set) {
+                  Object.defineProperty(newObj, key, desc);
+                } else {
+                  newObj[key] = obj[key];
+                }
+              }
             }
           }
-        }
 
-        newObj["default"] = obj;
-
-        if (cache) {
-          cache.set(obj, newObj);
+          newObj["default"] = obj;
+          return newObj;
         }
-
-        return newObj;
       }
 
       function defaultHead() {
@@ -557,9 +512,9 @@
 
       var METATYPES = ["name", "httpEquiv", "charSet", "itemProp"];
       /*
-returns a function for filtering head child elements
-which shouldn't be duplicated, like <title/>
-Also adds support for deduplicated `key` properties
+ returns a function for filtering head child elements
+ which shouldn't be duplicated, like <title/>
+ Also adds support for deduplicated `key` properties
 */
 
       function unique() {
@@ -684,8 +639,8 @@ Also adds support for deduplicated `key` properties
 
       function Head(_ref) {
         var children = _ref.children;
-        var ampState = (0, _react.useContext)(_ampContext.AmpStateContext);
-        var headManager = (0, _react.useContext)(
+        var ampState = (0, _react).useContext(_ampContext.AmpStateContext);
+        var headManager = (0, _react).useContext(
           _headManagerContext.HeadManagerContext
         );
         return /*#__PURE__*/ _react["default"].createElement(
@@ -693,7 +648,7 @@ Also adds support for deduplicated `key` properties
           {
             reduceComponentsToState: reduceComponents,
             headManager: headManager,
-            inAmpMode: (0, _amp.isInAmpMode)(ampState)
+            inAmpMode: (0, _amp).isInAmpMode(ampState)
           },
           children
         );
@@ -755,25 +710,26 @@ Also adds support for deduplicated `key` properties
         }
       }
 
-      exports.__esModule = true;
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
       exports.default = void 0;
 
       var _react = __webpack_require__(7294);
 
       var isServer = false;
 
-      var _default = /*#__PURE__*/ (function(_react$Component) {
-        _inherits(_default, _react$Component);
+      var _class = /*#__PURE__*/ (function(_react$Component) {
+        _inherits(_class, _react$Component);
 
-        var _super = _createSuper(_default);
+        var _super = _createSuper(_class);
 
-        function _default(props) {
+        function _class(props) {
           var _this;
 
-          _classCallCheck(this, _default);
+          _classCallCheck(this, _class);
 
           _this = _super.call(this, props);
-          _this._hasHeadManager = void 0;
 
           _this.emitChange = function() {
             if (_this._hasHeadManager) {
@@ -800,7 +756,7 @@ Also adds support for deduplicated `key` properties
           return _this;
         }
 
-        _createClass(_default, [
+        _createClass(_class, [
           {
             key: "componentDidMount",
             value: function componentDidMount() {
@@ -835,10 +791,10 @@ Also adds support for deduplicated `key` properties
           }
         ]);
 
-        return _default;
+        return _class;
       })(_react.Component);
 
-      exports.default = _default;
+      exports.default = _class;
 
       /***/
     }
Diff for main-HASH.js

Diff too large to display

Diff for webpack-HASH.js
@@ -158,7 +158,7 @@
     /******/ __webpack_require__.u = function(chunkId) {
       /******/ // return url for filenames based on template
       /******/ return (
-        "static/chunks/" + chunkId + "." + "9e8a22bf0eefac79f784" + ".js"
+        "static/chunks/" + chunkId + "." + "a0174d903d9b7e0f2bb9" + ".js"
       );
       /******/
     };
Diff for index.html
@@ -11,7 +11,7 @@
       src="/_next/static/chunks/polyfills-78af6fe89161f65f5762.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-42f1545080114fddca9d.js"
+      src="/_next/static/chunks/webpack-16216cd1510c82e6f68d.js"
       defer=""
     ></script>
     <script
@@ -19,7 +19,7 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-8eb398ab1850803c98be.js"
+      src="/_next/static/chunks/main-73bef1d47947e4269935.js"
       defer=""
     ></script>
     <script
Diff for link.html
@@ -11,7 +11,7 @@
       src="/_next/static/chunks/polyfills-78af6fe89161f65f5762.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-42f1545080114fddca9d.js"
+      src="/_next/static/chunks/webpack-16216cd1510c82e6f68d.js"
       defer=""
     ></script>
     <script
@@ -19,7 +19,7 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-8eb398ab1850803c98be.js"
+      src="/_next/static/chunks/main-73bef1d47947e4269935.js"
       defer=""
     ></script>
     <script
@@ -27,7 +27,7 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/link-461e3656f357dad048d3.js"
+      src="/_next/static/chunks/pages/link-36845453cb7a35e1a731.js"
       defer=""
     ></script>
     <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
Diff for withRouter.html
@@ -11,7 +11,7 @@
       src="/_next/static/chunks/polyfills-78af6fe89161f65f5762.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-42f1545080114fddca9d.js"
+      src="/_next/static/chunks/webpack-16216cd1510c82e6f68d.js"
       defer=""
     ></script>
     <script
@@ -19,7 +19,7 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-8eb398ab1850803c98be.js"
+      src="/_next/static/chunks/main-73bef1d47947e4269935.js"
       defer=""
     ></script>
     <script

Webpack 4 Mode (Decrease detected ✓)
General Overall increase ⚠️
vercel/next.js canary timneutkens/next.js add/use-swc-for-next-core Change
buildDuration 10.2s 10s -125ms
buildDurationCached 4s 4s -8ms
nodeModulesSize 49.3 MB 49.5 MB ⚠️ +175 kB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary timneutkens/next.js add/use-swc-for-next-core Change
/ failed reqs 0 0
/ total time (seconds) 2.062 2.095 ⚠️ +0.03
/ avg req/sec 1212.24 1193.52 ⚠️ -18.72
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.131 1.128 0
/error-in-render avg req/sec 2210.04 2216.16 +6.12
Client Bundles (main, webpack, commons) Overall decrease ✓
vercel/next.js canary timneutkens/next.js add/use-swc-for-next-core Change
14.HASH.js gzip 3.11 kB 2.98 kB -127 B
677f882d2ed8..HASH.js gzip 13.9 kB 13.7 kB -249 B
framework.HASH.js gzip 41.8 kB 41.8 kB
main-HASH.js gzip 8.17 kB 8.39 kB ⚠️ +223 B
webpack-HASH.js gzip 1.19 kB 1.19 kB ⚠️ +2 B
Overall change 68.1 kB 68 kB -151 B
Legacy Client Bundles (polyfills)
vercel/next.js canary timneutkens/next.js add/use-swc-for-next-core Change
polyfills-HASH.js gzip 31.3 kB 31.3 kB
Overall change 31.3 kB 31.3 kB
Client Pages Overall decrease ✓
vercel/next.js canary timneutkens/next.js add/use-swc-for-next-core Change
_app-HASH.js gzip 791 B 791 B
_error-HASH.js gzip 3.83 kB 3.76 kB -73 B
amp-HASH.js gzip 531 B 552 B ⚠️ +21 B
css-HASH.js gzip 333 B 333 B
hooks-HASH.js gzip 910 B 910 B
index-HASH.js gzip 230 B 230 B
link-HASH.js gzip 1.64 kB 1.64 kB ⚠️ +1 B
routerDirect..HASH.js gzip 297 B 297 B
withRouter-HASH.js gzip 293 B 293 B
e025d2764813..52f.css gzip 125 B 125 B
Overall change 8.98 kB 8.93 kB -51 B
Client Build Manifests Overall increase ⚠️
vercel/next.js canary timneutkens/next.js add/use-swc-for-next-core Change
_buildManifest.js gzip 418 B 420 B ⚠️ +2 B
Overall change 418 B 420 B ⚠️ +2 B
Rendered Page Sizes Overall decrease ✓
vercel/next.js canary timneutkens/next.js add/use-swc-for-next-core Change
index.html gzip 576 B 574 B -2 B
link.html gzip 587 B 588 B ⚠️ +1 B
withRouter.html gzip 569 B 568 B -1 B
Overall change 1.73 kB 1.73 kB -2 B

Diffs

Diff for _buildManifest.js
@@ -2,17 +2,17 @@ self.__BUILD_MANIFEST = {
   __rewrites: { beforeFiles: [], afterFiles: [], fallback: [] },
   "/": ["static\u002Fchunks\u002Fpages\u002Findex-73ec2e3d8814cd501450.js"],
   "/_error": [
-    "static\u002Fchunks\u002Fpages\u002F_error-bef1871fd32355e6147b.js"
+    "static\u002Fchunks\u002Fpages\u002F_error-a733528b8a1a82e09516.js"
   ],
-  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-5b1703f6b64f268c0fdc.js"],
+  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-4855291bfb1c5a551232.js"],
   "/css": [
     "static\u002Fcss\u002Fe025d27648136bbd252f.css",
-    "static\u002Fchunks\u002Fpages\u002Fcss-18fb61bd16b12bc4dfa3.js"
+    "static\u002Fchunks\u002Fpages\u002Fcss-0fc40b547d044664b6a0.js"
   ],
   "/hooks": [
-    "static\u002Fchunks\u002Fpages\u002Fhooks-fdb4ee79a7c3f53f3fd0.js"
+    "static\u002Fchunks\u002Fpages\u002Fhooks-0a0a53b9082bd25aa8f6.js"
   ],
-  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-94f65bf9ab7e7f669e7d.js"],
+  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-18697bace873ce66b8e9.js"],
   "/routerDirect": [
     "static\u002Fchunks\u002Fpages\u002FrouterDirect-486f9fdcc774bce46e12.js"
   ],
Diff for _error-HASH.js
@@ -291,25 +291,26 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
         }
       }
 
-      exports.__esModule = true;
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
       exports["default"] = void 0;
 
       var _react = __webpack_require__("q1tI");
 
       var isServer = false;
 
-      var _default = /*#__PURE__*/ (function(_react$Component) {
-        _inherits(_default, _react$Component);
+      var _class = /*#__PURE__*/ (function(_react$Component) {
+        _inherits(_class, _react$Component);
 
-        var _super = _createSuper(_default);
+        var _super = _createSuper(_class);
 
-        function _default(props) {
+        function _class(props) {
           var _this;
 
-          _classCallCheck(this, _default);
+          _classCallCheck(this, _class);
 
           _this = _super.call(this, props);
-          _this._hasHeadManager = void 0;
 
           _this.emitChange = function() {
             if (_this._hasHeadManager) {
@@ -336,7 +337,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
           return _this;
         }
 
-        _createClass(_default, [
+        _createClass(_class, [
           {
             key: "componentDidMount",
             value: function componentDidMount() {
@@ -371,10 +372,10 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
           }
         ]);
 
-        return _default;
+        return _class;
       })(_react.Component);
 
-      exports["default"] = _default;
+      exports["default"] = _class;
 
       /***/
     },
@@ -394,7 +395,9 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
     /***/ CM2u: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
-      exports.__esModule = true;
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
       exports.HeadManagerContext = void 0;
 
       var _react = _interopRequireDefault(__webpack_require__("q1tI"));
@@ -407,9 +410,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
             };
       }
 
-      var HeadManagerContext = /*#__PURE__*/ _react["default"].createContext(
-        {}
-      );
+      var HeadManagerContext = _react["default"].createContext({});
 
       exports.HeadManagerContext = HeadManagerContext;
 
@@ -475,9 +476,11 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
 
     /***/ 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
 
       /***/
@@ -650,7 +653,9 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
     /***/ dTAc: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
-      exports.__esModule = true;
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
       exports.isInAmpMode = isInAmpMode;
       exports.useAmp = useAmp;
 
@@ -767,7 +772,9 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
         return target;
       }
 
-      exports.__esModule = true;
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
       exports.defaultHead = defaultHead;
       exports["default"] = void 0;
 
@@ -789,62 +796,32 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
             };
       }
 
-      function _getRequireWildcardCache() {
-        if (typeof WeakMap !== "function") return null;
-        var cache = new WeakMap();
-
-        _getRequireWildcardCache = function _getRequireWildcardCache() {
-          return cache;
-        };
-
-        return cache;
-      }
-
       function _interopRequireWildcard(obj) {
         if (obj && obj.__esModule) {
           return obj;
-        }
-
-        if (
-          obj === null ||
-          (typeof obj !== "object" && typeof obj !== "function")
-        ) {
-          return {
-            default: obj
-          };
-        }
-
-        var cache = _getRequireWildcardCache();
-
-        if (cache && cache.has(obj)) {
-          return cache.get(obj);
-        }
-
-        var newObj = {};
-        var hasPropertyDescriptor =
-          Object.defineProperty && Object.getOwnPropertyDescriptor;
-
-        for (var key in obj) {
-          if (Object.prototype.hasOwnProperty.call(obj, key)) {
-            var desc = hasPropertyDescriptor
-              ? Object.getOwnPropertyDescriptor(obj, key)
-              : null;
-
-            if (desc && (desc.get || desc.set)) {
-              Object.defineProperty(newObj, key, desc);
-            } else {
-              newObj[key] = obj[key];
+        } else {
+          var newObj = {};
+
+          if (obj != null) {
+            for (var key in obj) {
+              if (Object.prototype.hasOwnProperty.call(obj, key)) {
+                var desc =
+                  Object.defineProperty && Object.getOwnPropertyDescriptor
+                    ? Object.getOwnPropertyDescriptor(obj, key)
+                    : {};
+
+                if (desc.get || desc.set) {
+                  Object.defineProperty(newObj, key, desc);
+                } else {
+                  newObj[key] = obj[key];
+                }
+              }
             }
           }
-        }
-
-        newObj["default"] = obj;
 
-        if (cache) {
-          cache.set(obj, newObj);
+          newObj["default"] = obj;
+          return newObj;
         }
-
-        return newObj;
       }
 
       function defaultHead() {
@@ -899,9 +876,9 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
 
       var METATYPES = ["name", "httpEquiv", "charSet", "itemProp"];
       /*
-returns a function for filtering head child elements
-which shouldn't be duplicated, like <title/>
-Also adds support for deduplicated `key` properties
+ returns a function for filtering head child elements
+ which shouldn't be duplicated, like <title/>
+ Also adds support for deduplicated `key` properties
 */
 
       function unique() {
@@ -1026,8 +1003,8 @@ Also adds support for deduplicated `key` properties
 
       function Head(_ref) {
         var children = _ref.children;
-        var ampState = (0, _react.useContext)(_ampContext.AmpStateContext);
-        var headManager = (0, _react.useContext)(
+        var ampState = (0, _react).useContext(_ampContext.AmpStateContext);
+        var headManager = (0, _react).useContext(
           _headManagerContext.HeadManagerContext
         );
         return /*#__PURE__*/ _react["default"].createElement(
@@ -1035,7 +1012,7 @@ Also adds support for deduplicated `key` properties
           {
             reduceComponentsToState: reduceComponents,
             headManager: headManager,
-            inAmpMode: (0, _amp.isInAmpMode)(ampState)
+            inAmpMode: (0, _amp).isInAmpMode(ampState)
           },
           children
         );
@@ -1050,7 +1027,9 @@ Also adds support for deduplicated `key` properties
     /***/ r55Z: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
-      exports.__esModule = true;
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
       exports.AmpStateContext = void 0;
 
       var _react = _interopRequireDefault(__webpack_require__("q1tI"));
@@ -1063,7 +1042,7 @@ Also adds support for deduplicated `key` properties
             };
       }
 
-      var AmpStateContext = /*#__PURE__*/ _react["default"].createContext({});
+      var AmpStateContext = _react["default"].createContext({});
 
       exports.AmpStateContext = AmpStateContext;
Diff for amp-HASH.js
@@ -20,9 +20,11 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
 
     /***/ 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
 
       /***/
@@ -31,7 +33,9 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
     /***/ dTAc: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
-      exports.__esModule = true;
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
       exports.isInAmpMode = isInAmpMode;
       exports.useAmp = useAmp;
 
@@ -75,7 +79,9 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
     /***/ r55Z: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
-      exports.__esModule = true;
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
       exports.AmpStateContext = void 0;
 
       var _react = _interopRequireDefault(__webpack_require__("q1tI"));
@@ -88,7 +94,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
             };
       }
 
-      var AmpStateContext = /*#__PURE__*/ _react["default"].createContext({});
+      var AmpStateContext = _react["default"].createContext({});
 
       exports.AmpStateContext = AmpStateContext;
Diff for css-HASH.js
@@ -21,9 +21,11 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
 
     /***/ 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
 
       /***/
Diff for hooks-HASH.js
@@ -147,9 +147,11 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
 
     /***/ 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
 
       /***/
Diff for link-HASH.js
@@ -77,12 +77,12 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
 
       var _slicedToArray = __webpack_require__("J4zp");
 
-      var _interopRequireWildcard = __webpack_require__("284h");
+      var _interopRequireDefault = __webpack_require__("TqRt");
 
       exports.__esModule = true;
       exports["default"] = void 0;
 
-      var _react = _interopRequireWildcard(__webpack_require__("q1tI"));
+      var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
       var _router = __webpack_require__("Sgtc");
 
@@ -206,7 +206,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
 
         if (false) {
         } else {
-          child = _react.Children.only(children);
+          child = _react["default"].Children.only(children);
         }
 
         var childRef = child && typeof child === "object" && child.ref;
@@ -232,7 +232,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
           [childRef, setIntersectionRef]
         );
 
-        (0, _react.useEffect)(
+        _react["default"].useEffect(
           function() {
             var shouldPrefetch =
               isVisible && p && (0, _router.isLocalURL)(href);
@@ -249,6 +249,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
           },
           [as, href, isVisible, locale, p, router]
         );
+
         var childProps = {
           ref: setRef,
           onClick: function onClick(e) {
Diff for 14.HASH.js
@@ -255,25 +255,26 @@
         }
       }
 
-      exports.__esModule = true;
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
       exports["default"] = void 0;
 
       var _react = __webpack_require__("q1tI");
 
       var isServer = false;
 
-      var _default = /*#__PURE__*/ (function(_react$Component) {
-        _inherits(_default, _react$Component);
+      var _class = /*#__PURE__*/ (function(_react$Component) {
+        _inherits(_class, _react$Component);
 
-        var _super = _createSuper(_default);
+        var _super = _createSuper(_class);
 
-        function _default(props) {
+        function _class(props) {
           var _this;
 
-          _classCallCheck(this, _default);
+          _classCallCheck(this, _class);
 
           _this = _super.call(this, props);
-          _this._hasHeadManager = void 0;
 
           _this.emitChange = function() {
             if (_this._hasHeadManager) {
@@ -300,7 +301,7 @@
           return _this;
         }
 
-        _createClass(_default, [
+        _createClass(_class, [
           {
             key: "componentDidMount",
             value: function componentDidMount() {
@@ -335,10 +336,10 @@
           }
         ]);
 
-        return _default;
+        return _class;
       })(_react.Component);
 
-      exports["default"] = _default;
+      exports["default"] = _class;
 
       /***/
     },
@@ -404,7 +405,9 @@
     /***/ dTAc: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
-      exports.__esModule = true;
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
       exports.isInAmpMode = isInAmpMode;
       exports.useAmp = useAmp;
 
@@ -445,27 +448,6 @@
       /***/
     },
 
-    /***/ 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;
-        }
-
-        return obj;
-      }
-
-      module.exports = _defineProperty;
-
-      /***/
-    },
-
     /***/ mLbm: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
@@ -509,7 +491,9 @@
         return target;
       }
 
-      exports.__esModule = true;
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
       exports.defaultHead = defaultHead;
       exports["default"] = void 0;
 
@@ -531,62 +515,32 @@
             };
       }
 
-      function _getRequireWildcardCache() {
-        if (typeof WeakMap !== "function") return null;
-        var cache = new WeakMap();
-
-        _getRequireWildcardCache = function _getRequireWildcardCache() {
-          return cache;
-        };
-
-        return cache;
-      }
-
       function _interopRequireWildcard(obj) {
         if (obj && obj.__esModule) {
           return obj;
-        }
-
-        if (
-          obj === null ||
-          (typeof obj !== "object" && typeof obj !== "function")
-        ) {
-          return {
-            default: obj
-          };
-        }
-
-        var cache = _getRequireWildcardCache();
-
-        if (cache && cache.has(obj)) {
-          return cache.get(obj);
-        }
-
-        var newObj = {};
-        var hasPropertyDescriptor =
-          Object.defineProperty && Object.getOwnPropertyDescriptor;
-
-        for (var key in obj) {
-          if (Object.prototype.hasOwnProperty.call(obj, key)) {
-            var desc = hasPropertyDescriptor
-              ? Object.getOwnPropertyDescriptor(obj, key)
-              : null;
-
-            if (desc && (desc.get || desc.set)) {
-              Object.defineProperty(newObj, key, desc);
-            } else {
-              newObj[key] = obj[key];
+        } else {
+          var newObj = {};
+
+          if (obj != null) {
+            for (var key in obj) {
+              if (Object.prototype.hasOwnProperty.call(obj, key)) {
+                var desc =
+                  Object.defineProperty && Object.getOwnPropertyDescriptor
+                    ? Object.getOwnPropertyDescriptor(obj, key)
+                    : {};
+
+                if (desc.get || desc.set) {
+                  Object.defineProperty(newObj, key, desc);
+                } else {
+                  newObj[key] = obj[key];
+                }
+              }
             }
           }
-        }
-
-        newObj["default"] = obj;
 
-        if (cache) {
-          cache.set(obj, newObj);
+          newObj["default"] = obj;
+          return newObj;
         }
-
-        return newObj;
       }
 
       function defaultHead() {
@@ -641,9 +595,9 @@
 
       var METATYPES = ["name", "httpEquiv", "charSet", "itemProp"];
       /*
-returns a function for filtering head child elements
-which shouldn't be duplicated, like <title/>
-Also adds support for deduplicated `key` properties
+ returns a function for filtering head child elements
+ which shouldn't be duplicated, like <title/>
+ Also adds support for deduplicated `key` properties
 */
 
       function unique() {
@@ -768,8 +722,8 @@ Also adds support for deduplicated `key` properties
 
       function Head(_ref) {
         var children = _ref.children;
-        var ampState = (0, _react.useContext)(_ampContext.AmpStateContext);
-        var headManager = (0, _react.useContext)(
+        var ampState = (0, _react).useContext(_ampContext.AmpStateContext);
+        var headManager = (0, _react).useContext(
           _headManagerContext.HeadManagerContext
         );
         return /*#__PURE__*/ _react["default"].createElement(
@@ -777,7 +731,7 @@ Also adds support for deduplicated `key` properties
           {
             reduceComponentsToState: reduceComponents,
             headManager: headManager,
-            inAmpMode: (0, _amp.isInAmpMode)(ampState)
+            inAmpMode: (0, _amp).isInAmpMode(ampState)
           },
           children
         );
@@ -792,7 +746,9 @@ Also adds support for deduplicated `key` properties
     /***/ r55Z: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
-      exports.__esModule = true;
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
       exports.AmpStateContext = void 0;
 
       var _react = _interopRequireDefault(__webpack_require__("q1tI"));
@@ -805,7 +761,7 @@ Also adds support for deduplicated `key` properties
             };
       }
 
-      var AmpStateContext = /*#__PURE__*/ _react["default"].createContext({});
+      var AmpStateContext = _react["default"].createContext({});
 
       exports.AmpStateContext = AmpStateContext;
Diff for 677f882d2ed8..c4df.HASH.js

Diff too large to display

Diff for main-HASH.js
@@ -398,7 +398,9 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
     /***/ "3jzF": /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
-      exports.__esModule = true;
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
       exports.setConfig = setConfig;
       exports["default"] = void 0;
       var runtimeConfig;
@@ -419,20 +421,54 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
     /***/ "85TV": /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
+      var _defineProperty = __webpack_require__("lSNA");
+
+      var _objectWithoutProperties = __webpack_require__("QILm");
+
       var _slicedToArray = __webpack_require__("J4zp");
 
-      var _interopRequireDefault = __webpack_require__("TqRt");
+      function ownKeys(object, enumerableOnly) {
+        var keys = Object.keys(object);
+        if (Object.getOwnPropertySymbols) {
+          var symbols = Object.getOwnPropertySymbols(object);
+          if (enumerableOnly)
+            symbols = symbols.filter(function(sym) {
+              return Object.getOwnPropertyDescriptor(object, sym).enumerable;
+            });
+          keys.push.apply(keys, symbols);
+        }
+        return keys;
+      }
+
+      function _objectSpread(target) {
+        for (var i = 1; i < arguments.length; i++) {
+          var source = arguments[i] != null ? arguments[i] : {};
+          if (i % 2) {
+            ownKeys(Object(source), true).forEach(function(key) {
+              _defineProperty(target, key, source[key]);
+            });
+          } else if (Object.getOwnPropertyDescriptors) {
+            Object.defineProperties(
+              target,
+              Object.getOwnPropertyDescriptors(source)
+            );
+          } else {
+            ownKeys(Object(source)).forEach(function(key) {
+              Object.defineProperty(
+                target,
+                key,
+                Object.getOwnPropertyDescriptor(source, key)
+              );
+            });
+          }
+        }
+        return target;
+      }
 
       exports.__esModule = true;
       exports.initScriptLoader = initScriptLoader;
       exports["default"] = void 0;
 
-      var _extends2 = _interopRequireDefault(__webpack_require__("pVnL"));
-
-      var _objectWithoutPropertiesLoose2 = _interopRequireDefault(
-        __webpack_require__("8OQS")
-      );
-
       var _react = __webpack_require__("q1tI");
 
       var _headManagerContext = __webpack_require__("CM2u");
@@ -567,11 +603,12 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
           src = _props$src === void 0 ? "" : _props$src,
           _props$onLoad2 = props.onLoad,
           onLoad = _props$onLoad2 === void 0 ? function() {} : _props$onLoad2,
+          dangerouslySetInnerHTML = props.dangerouslySetInnerHTML,
           _props$strategy2 = props.strategy,
           strategy =
             _props$strategy2 === void 0 ? "afterInteractive" : _props$strategy2,
           onError = props.onError,
-          restProps = (0, _objectWithoutPropertiesLoose2["default"])(props, [
+          restProps = _objectWithoutProperties(props, [
             "src",
             "onLoad",
             "dangerouslySetInnerHTML",
@@ -601,7 +638,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
             scripts.beforeInteractive = (
               scripts.beforeInteractive || []
             ).concat([
-              (0, _extends2["default"])(
+              _objectSpread(
                 {
                   src: src,
                   onLoad: onLoad,
@@ -647,12 +684,21 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
     /***/ BMP1: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
-      var _interopRequireWildcard = __webpack_require__("284h");
+      var _ = __webpack_require__("IKlv");
+
+      window.next = {
+        version: _.version,
 
-      var next = _interopRequireWildcard(__webpack_require__("IKlv"));
+        // router is initialized later so it has to be live-binded
+        get router() {
Post job cleanup.
[command]/usr/bin/git version
git version 2.32.0
[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: 263d89aaeb8a31ba7c319b4dea8e026d1974c66d

@kodiakhq kodiakhq bot merged commit fdabeb7 into vercel:canary Jul 14, 2021
{ stripExtension, dev } = {}
) {
// Don't compile .d.ts
if (file.base.endsWith('.d.ts')) return
Copy link
Contributor

Choose a reason for hiding this comment

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

It may be possible to remove this check and change the glob pattern with the exception of d.ts?

flybayer pushed a commit to blitz-js/next.js that referenced this pull request Aug 19, 2021
- Use SWC to compile Next.js core server files
- Ensure only @babel/runtime/helpers/interopRequireDefault helper is used

Just an initial comparison to compare size difference of this change.



## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have helpful link attached, see `contributing.md`

## 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.
- [ ] Errors have helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes
@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.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants