Skip to content

Commit

Permalink
Update 2.example_bug_report.yml
Browse files Browse the repository at this point in the history
  • Loading branch information
balazsorban44 committed Feb 16, 2022
1 parent 86aac3f commit 9b38ffe
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/2.example_bug_report.yml
Expand Up @@ -20,7 +20,7 @@ body:
label: Provide environment information
description: Please run `next info` in the root directory of your project and paste the results. You might need to use `npx --no-install next info` if next is not in the current PATH.
validations:
required: false
required: true
- type: input
attributes:
label: Which example does this report relate to?
Expand Down

1 comment on commit 9b38ffe

@ijjk
Copy link
Member

@ijjk ijjk commented on 9b38ffe Feb 16, 2022

Choose a reason for hiding this comment

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

Stats from current release

Default Build (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary v12.0.10 vercel/next.js refs/heads/canary Change
buildDuration 12.7s 16.1s ⚠️ +3.4s
buildDurationCached 3.1s 6.2s ⚠️ +3.1s
nodeModulesSize 359 MB 359 MB ⚠️ +97.6 kB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary v12.0.10 vercel/next.js refs/heads/canary Change
/ failed reqs 0 0
/ total time (seconds) 3.009 3.23 ⚠️ +0.22
/ avg req/sec 830.78 773.89 ⚠️ -56.89
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.399 1.386 -0.01
/error-in-render avg req/sec 1786.42 1803.96 +17.54
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary v12.0.10 vercel/next.js refs/heads/canary Change
450.HASH.js gzip 179 B 179 B
framework-HASH.js gzip 42.2 kB 42 kB -186 B
main-HASH.js gzip 27.2 kB 27.9 kB ⚠️ +743 B
webpack-HASH.js gzip 1.44 kB 1.44 kB
Overall change 71 kB 71.6 kB ⚠️ +557 B
Legacy Client Bundles (polyfills)
vercel/next.js canary v12.0.10 vercel/next.js refs/heads/canary Change
polyfills-HASH.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages Overall increase ⚠️
vercel/next.js canary v12.0.10 vercel/next.js refs/heads/canary Change
_app-HASH.js gzip 1.37 kB 1.36 kB -2 B
_error-HASH.js gzip 194 B 194 B
amp-HASH.js gzip 312 B 312 B
css-HASH.js gzip 326 B 326 B
dynamic-HASH.js gzip 2.37 kB 2.57 kB ⚠️ +200 B
head-HASH.js gzip 350 B 350 B
hooks-HASH.js gzip 919 B 919 B
image-HASH.js gzip 4.94 kB 5.04 kB ⚠️ +106 B
index-HASH.js gzip 263 B 263 B
link-HASH.js gzip 2.19 kB 2.26 kB ⚠️ +72 B
routerDirect..HASH.js gzip 321 B 321 B
script-HASH.js gzip 383 B 383 B
withRouter-HASH.js gzip 318 B 318 B
85e02e95b279..7e3.css gzip 107 B 107 B
Overall change 14.4 kB 14.7 kB ⚠️ +376 B
Client Build Manifests Overall decrease ✓
vercel/next.js canary v12.0.10 vercel/next.js refs/heads/canary Change
_buildManifest.js gzip 459 B 458 B -1 B
Overall change 459 B 458 B -1 B
Rendered Page Sizes Overall increase ⚠️
vercel/next.js canary v12.0.10 vercel/next.js refs/heads/canary Change
index.html gzip 530 B 532 B ⚠️ +2 B
link.html gzip 543 B 544 B ⚠️ +1 B
withRouter.html gzip 525 B 527 B ⚠️ +2 B
Overall change 1.6 kB 1.6 kB ⚠️ +5 B

Diffs

Diff for _buildManifest.js
@@ -8,12 +8,12 @@ self.__BUILD_MANIFEST = {
     "static\u002Fchunks\u002Fpages\u002Fcss-97182c5b8324021a.js"
   ],
   "/dynamic": [
-    "static\u002Fchunks\u002Fpages\u002Fdynamic-9b7afaaa04b653ed.js"
+    "static\u002Fchunks\u002Fpages\u002Fdynamic-d871c798afae7091.js"
   ],
   "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-7100d3b2a548f0e4.js"],
   "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-538d621a0e670391.js"],
-  "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-53463827ccaef972.js"],
-  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-f0a2c3bb0706d8b2.js"],
+  "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-625405fe4694705b.js"],
+  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-b932c7479a7c37ca.js"],
   "/routerDirect": [
     "static\u002Fchunks\u002Fpages\u002FrouterDirect-76232dd6bc335a24.js"
   ],
Diff for dynamic-HASH.js
@@ -375,7 +375,11 @@
         }
         // Client only
         if (!initialized && "object" !== "undefined" && !opts.suspense) {
-          var moduleIds = opts.webpack ? opts.webpack() : opts.modules;
+          // require.resolveWeak check is needed for environments that don't have it available like Jest
+          var moduleIds =
+            opts.webpack && "function" === "function"
+              ? opts.webpack()
+              : opts.modules;
           if (moduleIds) {
             READY_INITIALIZERS.push(function(ids) {
               var _iteratorNormalCompletion = true,
@@ -633,6 +637,79 @@
     ) {
       module.exports = __webpack_require__(638);
 
+      /***/
+    },
+
+    /***/ 8217: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+      /** @license React vundefined
+       * use-subscription.production.min.js
+       *
+       * Copyright (c) Facebook, Inc. and its affiliates.
+       *
+       * This source code is licensed under the MIT license found in the
+       * LICENSE file in the root directory of this source tree.
+       */
+      var e = __webpack_require__(6086),
+        g = __webpack_require__(7294);
+      exports.useSubscription = function(a) {
+        var c = a.getCurrentValue,
+          d = a.subscribe,
+          b = g.useState(function() {
+            return { getCurrentValue: c, subscribe: d, value: c() };
+          });
+        a = b[0];
+        var f = b[1];
+        b = a.value;
+        if (a.getCurrentValue !== c || a.subscribe !== d)
+          (b = c()), f({ getCurrentValue: c, subscribe: d, value: b });
+        g.useDebugValue(b);
+        g.useEffect(
+          function() {
+            function b() {
+              if (!a) {
+                var b = c();
+                f(function(a) {
+                  return a.getCurrentValue !== c ||
+                    a.subscribe !== d ||
+                    a.value === b
+                    ? a
+                    : e({}, a, { value: b });
+                });
+              }
+            }
+            var a = !1,
+              h = d(b);
+            b();
+            return function() {
+              a = !0;
+              h();
+            };
+          },
+          [c, d]
+        );
+        return b;
+      };
+
+      /***/
+    },
+
+    /***/ 7161: /***/ function(
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      if (true) {
+        module.exports = __webpack_require__(8217);
+      } else {
+      }
+
       /***/
     }
   },
Diff for image-HASH.js
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/image",
         function() {
-          return __webpack_require__(5924);
+          return __webpack_require__(3155);
         }
       ]);
       if (false) {
@@ -131,6 +131,7 @@
       var _head = _interopRequireDefault(__webpack_require__(5443));
       var _imageConfig = __webpack_require__(5809);
       var _useIntersection = __webpack_require__(7190);
+      var _imageConfigContext = __webpack_require__(9977);
       function _defineProperty1(obj, key, value) {
         if (key in obj) {
           Object.defineProperty(obj, key, {
@@ -225,6 +226,12 @@
         }
         return target;
       }
+      var configEnv = {
+        deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
+        imageSizes: [16, 32, 48, 64, 96, 128, 256, 384],
+        path: "/_next/image",
+        loader: "default"
+      };
       var loadedImageURLs = new Set();
       var allImgs = new Map();
       var perfObserver;
@@ -263,29 +270,9 @@
           (isStaticRequire(src) || isStaticImageData(src))
         );
       }
-      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 = ref.deviceSizes,
-        configImageSizes = ref.imageSizes,
-        configLoader = ref.loader,
-        configPath = ref.path,
-        configDomains = ref.domains;
-      // sort smallest to largest
-      var allSizes = _toConsumableArray(configDeviceSizes).concat(
-        _toConsumableArray(configImageSizes)
-      );
-      configDeviceSizes.sort(function(a, b) {
-        return a - b;
-      });
-      allSizes.sort(function(a, b) {
-        return a - b;
-      });
-      function getWidths(width, layout, sizes) {
+      function getWidths(param, width, layout, sizes) {
+        var deviceSizes = param.deviceSizes,
+          allSizes = param.allSizes;
         if (sizes && (layout === "fill" || layout === "responsive")) {
           // Find all the "vw" percent sizes used in the sizes prop
           var viewportWidthRe = /(^|\s)(1?\d?\d)vw/g;
@@ -302,7 +289,7 @@
               ) * 0.01;
             return {
               widths: allSizes.filter(function(s) {
-                return s >= configDeviceSizes[0] * smallestRatio;
+                return s >= deviceSizes[0] * smallestRatio;
               }),
               kind: "w"
             };
@@ -318,7 +305,7 @@
           layout === "responsive"
         ) {
           return {
-            widths: configDeviceSizes,
+            widths: deviceSizes,
             kind: "w"
           };
         }
@@ -345,7 +332,8 @@
         };
       }
       function generateImgAttrs(param) {
-        var src = param.src,
+        var config = param.config,
+          src = param.src,
           unoptimized = param.unoptimized,
           layout = param.layout,
           width = param.width,
@@ -359,9 +347,9 @@
             sizes: undefined
           };
         }
-        var ref1 = getWidths(width, layout, sizes),
-          widths = ref1.widths,
-          kind = ref1.kind;
+        var ref = getWidths(config, width, layout, sizes),
+          widths = ref.widths,
+          kind = ref.kind;
         var last = widths.length - 1;
         return {
           sizes: !sizes && kind === "w" ? "100vw" : sizes,
@@ -370,6 +358,7 @@
               return ""
                 .concat(
                   loader({
+                    config: config,
                     src: src,
                     quality: quality,
                     width: w
@@ -387,6 +376,7 @@
           // and `sizes` are defined.
           // This bug cannot be reproduced in Chrome or Firefox.
           src: loader({
+            config: config,
             src: src,
             quality: quality,
             width: widths[last]
@@ -403,21 +393,19 @@
         return undefined;
       }
       function defaultImageLoader(loaderProps) {
-        var load = loaders.get(configLoader);
+        var ref;
+        var loaderKey =
+          ((ref = loaderProps.config) === null || ref === void 0
+            ? void 0
+            : ref.loader) || "default";
+        var load = loaders.get(loaderKey);
         if (load) {
-          return load(
-            _objectSpread(
-              {
-                root: configPath
-              },
-              loaderProps
-            )
-          );
+          return load(loaderProps);
         }
         throw new Error(
           'Unknown "loader" found in "next.config.js". Expected: '
             .concat(_imageConfig.VALID_LOADERS.join(", "), ". Received: ")
-            .concat(configLoader)
+            .concat(loaderKey)
         );
       }
       // See https://stackoverflow.com/q/39777833/266535 for why we use this ref
@@ -458,7 +446,7 @@
                 });
               }
               if (false) {
-                var parent, ref2;
+                var parent, ref;
               }
             });
           }
@@ -518,6 +506,28 @@
             "blurDataURL"
           ]);
         var imgRef = (0, _react).useRef(null);
+        var configContext = (0, _react).useContext(
+          _imageConfigContext.ImageConfigContext
+        );
+        var config = (0, _react).useMemo(
+          function() {
+            var c =
+              configEnv || configContext || _imageConfig.imageConfigDefault;
+            var allSizes = _toConsumableArray(c.deviceSizes)
+              .concat(_toConsumableArray(c.imageSizes))
+              .sort(function(a, b) {
+                return a - b;
+              });
+            var deviceSizes = c.deviceSizes.sort(function(a, b) {
+              return a - b;
+            });
+            return _objectSpread({}, c, {
+              allSizes: allSizes,
+              deviceSizes: deviceSizes
+            });
+          },
+          [configContext]
+        );
         var rest = all;
         var layout = sizes ? "responsive" : "intrinsic";
         if ("layout" in rest) {
@@ -564,10 +574,13 @@
         if (true && loadedImageURLs.has(src)) {
           isLazy = false;
         }
+        if (src.endsWith(".svg") && !config.dangerouslyAllowSVG) {
+          unoptimized = true;
+        }
         if (false) {
           var url, urlStr, VALID_BLUR_EXT;
         }
-        var ref3 = _slicedToArray(
+        var ref1 = _slicedToArray(
             (0, _useIntersection).useIntersection({
               rootRef: lazyRoot,
               rootMargin: lazyBoundary,
@@ -575,8 +588,8 @@
             }),
             2
           ),
-          setIntersection = ref3[0],
-          isIntersected = ref3[1];
+          setIntersection = ref1[0],
+          isIntersected = ref1[1];
         var isVisible = !isLazy || isIntersected;
         var wrapperStyle = {
           boxSizing: "border-box",
@@ -684,6 +697,7 @@
         };
         if (isVisible) {
           imgAttributes = generateImgAttrs({
+            config: config,
             src: src,
             unoptimized: unoptimized,
             layout: layout,
@@ -784,6 +798,7 @@
                   {},
                   rest,
                   generateImgAttrs({
+                    config: config,
                     src: src,
                     unoptimized: unoptimized,
                     layout: layout,
@@ -834,12 +849,12 @@
         return src[0] === "/" ? src.slice(1) : src;
       }
       function imgixLoader(param) {
-        var root = param.root,
+        var config = param.config,
           src = param.src,
           width = param.width,
           quality = param.quality;
         // Demo: https://static.imgix.net/daisy.png?auto=format&fit=max&w=300
-        var url = new URL("".concat(root).concat(normalizeSrc(src)));
+        var url = new URL("".concat(config.path).concat(normalizeSrc(src)));
         var params = url.searchParams;
         params.set("auto", params.get("auto") || "format");
         params.set("fit", params.get("fit") || "max");
@@ -850,16 +865,16 @@
         return url.href;
       }
       function akamaiLoader(param) {
-        var root = param.root,
+        var config = param.config,
           src = param.src,
           width = param.width;
         return ""
-          .concat(root)
+          .concat(config.path)
           .concat(normalizeSrc(src), "?imwidth=")
           .concat(width);
       }
       function cloudinaryLoader(param) {
-        var root = param.root,
+        var config = param.config,
           src = param.src,
           width = param.width,
           quality = param.quality;
@@ -872,7 +887,7 @@
         ];
         var paramsString = params.join(",") + "/";
         return ""
-          .concat(root)
+          .concat(config.path)
           .concat(paramsString)
           .concat(normalizeSrc(src));
       }
@@ -884,7 +899,7 @@
         );
       }
       function defaultLoader(param) {
-        var root = param.root,
+        var config = param.config,
           src = param.src,
           width = param.width,
           quality = param.quality;
@@ -892,7 +907,7 @@
           var parsedSrc, missingValues;
         }
         return ""
-          .concat(root, "?url=")
+          .concat(config.path, "?url=")
           .concat(encodeURIComponent(src), "&w=")
           .concat(width, "&q=")
           .concat(quality || 75);
@@ -1053,13 +1068,32 @@
           if (elements.size === 0) {
             observer.disconnect();
             observers.delete(id);
+            var index = idList.findIndex(function(obj) {
+              return obj.root === id.root && obj.margin === id.margin;
+            });
+            if (index > -1) {
+              idList.splice(index, 1);
+            }
           }
         };
       }
       var observers = new Map();
+      var idList = [];
       function createObserver(options) {
-        var id = options.rootMargin || "";
-        var instance = observers.get(id);
+        var id = {
+          root: options.root || null,
+          margin: options.rootMargin || ""
+        };
+        var existing = idList.find(function(obj) {
+          return obj.root === id.root && obj.margin === id.margin;
+        });
+        var instance;
+        if (existing) {
+          instance = observers.get(existing);
+        } else {
+          instance = observers.get(id);
+          idList.push(id);
+        }
         if (instance) {
           return instance;
         }
@@ -1087,7 +1121,7 @@
       /***/
     },
 
-    /***/ 5924: /***/ function(
+    /***/ 3155: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -1136,38 +1170,6 @@
       /***/
     },
 
-    /***/ 5809: /***/ function(__unused_webpack_module, exports) {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true
-      });
-      exports.imageConfigDefault = exports.VALID_LOADERS = void 0;
-      const VALID_LOADERS = [
-        "default",
-        "imgix",
-        "cloudinary",
-        "akamai",
-        "custom"
-      ];
-      exports.VALID_LOADERS = VALID_LOADERS;
-      const imageConfigDefault = {
-        deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
-        imageSizes: [16, 32, 48, 64, 96, 128, 256, 384],
-        path: "/_next/image",
-        loader: "default",
-        domains: [],
-        disableStaticImages: false,
-        minimumCacheTTL: 60,
-        formats: ["image/webp"]
-      };
-      exports.imageConfigDefault = imageConfigDefault;
-
-      //# sourceMappingURL=image-config.js.map
-
-      /***/
-    },
-
     /***/ 5675: /***/ function(
       module,
       __unused_webpack_exports,
Diff for link-HASH.js
@@ -151,18 +151,16 @@
         locale
       ) {
         var nodeName = e.currentTarget.nodeName;
+        // anchors inside an svg have a lowercase nodeName
+        var isAnchorNodeName = nodeName.toUpperCase() === "A";
         if (
-          nodeName === "A" &&
+          isAnchorNodeName &&
           (isModifiedEvent(e) || !(0, _router).isLocalURL(href))
         ) {
           // ignore click for browser’s default behavior
           return;
         }
         e.preventDefault();
-        //  avoid scroll for urls with anchor refs
-        if (scroll == null && as.indexOf("#") >= 0) {
-          scroll = false;
-        }
         // replace state instead of push if prop is present
         router[replace ? "replace" : "push"](href, as, {
           shallow: shallow,
@@ -258,6 +256,8 @@
         var childProps = {
           ref: setRef,
           onClick: function(e) {
+            if (false) {
+            }
             if (child.props && typeof child.props.onClick === "function") {
               child.props.onClick(e);
             }
@@ -474,13 +474,32 @@
           if (elements.size === 0) {
             observer.disconnect();
             observers.delete(id);
+            var index = idList.findIndex(function(obj) {
+              return obj.root === id.root && obj.margin === id.margin;
+            });
+            if (index > -1) {
+              idList.splice(index, 1);
+            }
           }
         };
       }
       var observers = new Map();
+      var idList = [];
       function createObserver(options) {
-        var id = options.rootMargin || "";
-        var instance = observers.get(id);
+        var id = {
+          root: options.root || null,
+          margin: options.rootMargin || ""
+        };
+        var existing = idList.find(function(obj) {
+          return obj.root === id.root && obj.margin === id.margin;
+        });
+        var instance;
+        if (existing) {
+          instance = observers.get(existing);
+        } else {
+          instance = observers.get(id);
+          idList.push(id);
+        }
         if (instance) {
           return instance;
         }
Diff for framework-HASH.js
@@ -8688,76 +8688,6 @@
       } else {
       }
 
-      /***/
-    },
-
-    /***/ 8217: /***/ function(
-      __unused_webpack_module,
-      exports,
-      __webpack_require__
-    ) {
-      /** @license React vundefined
-       * use-subscription.production.min.js
-       *
-       * Copyright (c) Facebook, Inc. and its affiliates.
-       *
-       * This source code is licensed under the MIT license found in the
-       * LICENSE file in the root directory of this source tree.
-       */
-      var e = __webpack_require__(6086),
-        g = __webpack_require__(7294);
-      exports.useSubscription = function(a) {
-        var c = a.getCurrentValue,
-          d = a.subscribe,
-          b = g.useState(function() {
-            return { getCurrentValue: c, subscribe: d, value: c() };
-          });
-        a = b[0];
-        var f = b[1];
-        b = a.value;
-        if (a.getCurrentValue !== c || a.subscribe !== d)
-          (b = c()), f({ getCurrentValue: c, subscribe: d, value: b });
-        g.useDebugValue(b);
-        g.useEffect(
-          function() {
-            function b() {
-              if (!a) {
-                var b = c();
-                f(function(a) {
-                  return a.getCurrentValue !== c ||
-                    a.subscribe !== d ||
-                    a.value === b
-                    ? a
-                    : e({}, a, { value: b });
-                });
-              }
-            }
-            var a = !1,
-              h = d(b);
-            b();
-            return function() {
-              a = !0;
-              h();
-            };
-          },
-          [c, d]
-        );
-        return b;
-      };
-
-      /***/
-    },
-
-    /***/ 7161: /***/ function(
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) {
-      if (true) {
-        module.exports = __webpack_require__(8217);
-      } else {
-      }
-
       /***/
     }
   }
Diff for main-HASH.js

Diff too large to display

Diff for index.html
@@ -15,11 +15,11 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/framework-535325b9235a831f.js"
+      src="/_next/static/chunks/framework-287ad9396a03b869.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-c6fc133fe313f8ea.js"
+      src="/_next/static/chunks/main-44d8380e90a97ad8.js"
       defer=""
     ></script>
     <script
Diff for link.html
@@ -15,11 +15,11 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/framework-535325b9235a831f.js"
+      src="/_next/static/chunks/framework-287ad9396a03b869.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-c6fc133fe313f8ea.js"
+      src="/_next/static/chunks/main-44d8380e90a97ad8.js"
       defer=""
     ></script>
     <script
@@ -27,7 +27,7 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/link-f0a2c3bb0706d8b2.js"
+      src="/_next/static/chunks/pages/link-b932c7479a7c37ca.js"
       defer=""
     ></script>
     <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
Diff for withRouter.html
@@ -15,11 +15,11 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/framework-535325b9235a831f.js"
+      src="/_next/static/chunks/framework-287ad9396a03b869.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-c6fc133fe313f8ea.js"
+      src="/_next/static/chunks/main-44d8380e90a97ad8.js"
       defer=""
     ></script>
     <script

Default Build with SWC (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary v12.0.10 vercel/next.js refs/heads/canary Change
buildDuration 16.5s 19.7s ⚠️ +3.2s
buildDurationCached 3.1s 6.3s ⚠️ +3.2s
nodeModulesSize 359 MB 359 MB ⚠️ +97.6 kB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary v12.0.10 vercel/next.js refs/heads/canary Change
/ failed reqs 0 0
/ total time (seconds) 3.044 3.257 ⚠️ +0.21
/ avg req/sec 821.25 767.61 ⚠️ -53.64
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.38 1.423 ⚠️ +0.04
/error-in-render avg req/sec 1811.51 1756.82 ⚠️ -54.69
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary v12.0.10 vercel/next.js refs/heads/canary Change
450.HASH.js gzip 179 B 179 B
framework-HASH.js gzip 42.3 kB 42.1 kB -190 B
main-HASH.js gzip 27.3 kB 28 kB ⚠️ +704 B
webpack-HASH.js gzip 1.44 kB 1.44 kB
Overall change 71.2 kB 71.7 kB ⚠️ +514 B
Legacy Client Bundles (polyfills)
vercel/next.js canary v12.0.10 vercel/next.js refs/heads/canary Change
polyfills-HASH.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages Overall increase ⚠️
vercel/next.js canary v12.0.10 vercel/next.js refs/heads/canary Change
_app-HASH.js gzip 1.35 kB 1.35 kB
_error-HASH.js gzip 180 B 180 B
amp-HASH.js gzip 305 B 305 B
css-HASH.js gzip 321 B 321 B
dynamic-HASH.js gzip 2.36 kB 2.56 kB ⚠️ +196 B
head-HASH.js gzip 342 B 342 B
hooks-HASH.js gzip 911 B 911 B
image-HASH.js gzip 4.98 kB 5.08 kB ⚠️ +103 B
index-HASH.js gzip 256 B 256 B
link-HASH.js gzip 2.21 kB 2.28 kB ⚠️ +70 B
routerDirect..HASH.js gzip 314 B 314 B
script-HASH.js gzip 375 B 375 B
withRouter-HASH.js gzip 309 B 309 B
85e02e95b279..7e3.css gzip 107 B 107 B
Overall change 14.3 kB 14.7 kB ⚠️ +369 B
Client Build Manifests
vercel/next.js canary v12.0.10 vercel/next.js refs/heads/canary Change
_buildManifest.js gzip 459 B 459 B
Overall change 459 B 459 B
Rendered Page Sizes Overall increase ⚠️
vercel/next.js canary v12.0.10 vercel/next.js refs/heads/canary Change
index.html gzip 532 B 534 B ⚠️ +2 B
link.html gzip 546 B 547 B ⚠️ +1 B
withRouter.html gzip 527 B 528 B ⚠️ +1 B
Overall change 1.6 kB 1.61 kB ⚠️ +4 B

Diffs

Diff for _buildManifest.js
@@ -8,12 +8,12 @@ self.__BUILD_MANIFEST = {
     "static\u002Fchunks\u002Fpages\u002Fcss-97182c5b8324021a.js"
   ],
   "/dynamic": [
-    "static\u002Fchunks\u002Fpages\u002Fdynamic-9b7afaaa04b653ed.js"
+    "static\u002Fchunks\u002Fpages\u002Fdynamic-d871c798afae7091.js"
   ],
   "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-7100d3b2a548f0e4.js"],
   "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-538d621a0e670391.js"],
-  "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-53463827ccaef972.js"],
-  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-f0a2c3bb0706d8b2.js"],
+  "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-625405fe4694705b.js"],
+  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-b932c7479a7c37ca.js"],
   "/routerDirect": [
     "static\u002Fchunks\u002Fpages\u002FrouterDirect-76232dd6bc335a24.js"
   ],
Diff for dynamic-HASH.js
@@ -375,7 +375,11 @@
         }
         // Client only
         if (!initialized && "object" !== "undefined" && !opts.suspense) {
-          var moduleIds = opts.webpack ? opts.webpack() : opts.modules;
+          // require.resolveWeak check is needed for environments that don't have it available like Jest
+          var moduleIds =
+            opts.webpack && "function" === "function"
+              ? opts.webpack()
+              : opts.modules;
           if (moduleIds) {
             READY_INITIALIZERS.push(function(ids) {
               var _iteratorNormalCompletion = true,
@@ -633,6 +637,79 @@
     ) {
       module.exports = __webpack_require__(638);
 
+      /***/
+    },
+
+    /***/ 8217: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+      /** @license React vundefined
+       * use-subscription.production.min.js
+       *
+       * Copyright (c) Facebook, Inc. and its affiliates.
+       *
+       * This source code is licensed under the MIT license found in the
+       * LICENSE file in the root directory of this source tree.
+       */
+      var e = __webpack_require__(6086),
+        g = __webpack_require__(7294);
+      exports.useSubscription = function(a) {
+        var c = a.getCurrentValue,
+          d = a.subscribe,
+          b = g.useState(function() {
+            return { getCurrentValue: c, subscribe: d, value: c() };
+          });
+        a = b[0];
+        var f = b[1];
+        b = a.value;
+        if (a.getCurrentValue !== c || a.subscribe !== d)
+          (b = c()), f({ getCurrentValue: c, subscribe: d, value: b });
+        g.useDebugValue(b);
+        g.useEffect(
+          function() {
+            function b() {
+              if (!a) {
+                var b = c();
+                f(function(a) {
+                  return a.getCurrentValue !== c ||
+                    a.subscribe !== d ||
+                    a.value === b
+                    ? a
+                    : e({}, a, { value: b });
+                });
+              }
+            }
+            var a = !1,
+              h = d(b);
+            b();
+            return function() {
+              a = !0;
+              h();
+            };
+          },
+          [c, d]
+        );
+        return b;
+      };
+
+      /***/
+    },
+
+    /***/ 7161: /***/ function(
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      if (true) {
+        module.exports = __webpack_require__(8217);
+      } else {
+      }
+
       /***/
     }
   },
Diff for image-HASH.js
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/image",
         function() {
-          return __webpack_require__(5924);
+          return __webpack_require__(3155);
         }
       ]);
       if (false) {
@@ -131,6 +131,7 @@
       var _head = _interopRequireDefault(__webpack_require__(5443));
       var _imageConfig = __webpack_require__(5809);
       var _useIntersection = __webpack_require__(7190);
+      var _imageConfigContext = __webpack_require__(9977);
       function _defineProperty1(obj, key, value) {
         if (key in obj) {
           Object.defineProperty(obj, key, {
@@ -225,6 +226,12 @@
         }
         return target;
       }
+      var configEnv = {
+        deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
+        imageSizes: [16, 32, 48, 64, 96, 128, 256, 384],
+        path: "/_next/image",
+        loader: "default"
+      };
       var loadedImageURLs = new Set();
       var allImgs = new Map();
       var perfObserver;
@@ -263,29 +270,9 @@
           (isStaticRequire(src) || isStaticImageData(src))
         );
       }
-      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 = ref.deviceSizes,
-        configImageSizes = ref.imageSizes,
-        configLoader = ref.loader,
-        configPath = ref.path,
-        configDomains = ref.domains;
-      // sort smallest to largest
-      var allSizes = _toConsumableArray(configDeviceSizes).concat(
-        _toConsumableArray(configImageSizes)
-      );
-      configDeviceSizes.sort(function(a, b) {
-        return a - b;
-      });
-      allSizes.sort(function(a, b) {
-        return a - b;
-      });
-      function getWidths(width, layout, sizes) {
+      function getWidths(param, width, layout, sizes) {
+        var deviceSizes = param.deviceSizes,
+          allSizes = param.allSizes;
         if (sizes && (layout === "fill" || layout === "responsive")) {
           // Find all the "vw" percent sizes used in the sizes prop
           var viewportWidthRe = /(^|\s)(1?\d?\d)vw/g;
@@ -302,7 +289,7 @@
               ) * 0.01;
             return {
               widths: allSizes.filter(function(s) {
-                return s >= configDeviceSizes[0] * smallestRatio;
+                return s >= deviceSizes[0] * smallestRatio;
               }),
               kind: "w"
             };
@@ -318,7 +305,7 @@
           layout === "responsive"
         ) {
           return {
-            widths: configDeviceSizes,
+            widths: deviceSizes,
             kind: "w"
           };
         }
@@ -345,7 +332,8 @@
         };
       }
       function generateImgAttrs(param) {
-        var src = param.src,
+        var config = param.config,
+          src = param.src,
           unoptimized = param.unoptimized,
           layout = param.layout,
           width = param.width,
@@ -359,9 +347,9 @@
             sizes: undefined
           };
         }
-        var ref1 = getWidths(width, layout, sizes),
-          widths = ref1.widths,
-          kind = ref1.kind;
+        var ref = getWidths(config, width, layout, sizes),
+          widths = ref.widths,
+          kind = ref.kind;
         var last = widths.length - 1;
         return {
           sizes: !sizes && kind === "w" ? "100vw" : sizes,
@@ -370,6 +358,7 @@
               return ""
                 .concat(
                   loader({
+                    config: config,
                     src: src,
                     quality: quality,
                     width: w
@@ -387,6 +376,7 @@
           // and `sizes` are defined.
           // This bug cannot be reproduced in Chrome or Firefox.
           src: loader({
+            config: config,
             src: src,
             quality: quality,
             width: widths[last]
@@ -403,21 +393,19 @@
         return undefined;
       }
       function defaultImageLoader(loaderProps) {
-        var load = loaders.get(configLoader);
+        var ref;
+        var loaderKey =
+          ((ref = loaderProps.config) === null || ref === void 0
+            ? void 0
+            : ref.loader) || "default";
+        var load = loaders.get(loaderKey);
         if (load) {
-          return load(
-            _objectSpread(
-              {
-                root: configPath
-              },
-              loaderProps
-            )
-          );
+          return load(loaderProps);
         }
         throw new Error(
           'Unknown "loader" found in "next.config.js". Expected: '
             .concat(_imageConfig.VALID_LOADERS.join(", "), ". Received: ")
-            .concat(configLoader)
+            .concat(loaderKey)
         );
       }
       // See https://stackoverflow.com/q/39777833/266535 for why we use this ref
@@ -458,7 +446,7 @@
                 });
               }
               if (false) {
-                var parent, ref2;
+                var parent, ref;
               }
             });
           }
@@ -518,6 +506,28 @@
             "blurDataURL"
           ]);
         var imgRef = (0, _react).useRef(null);
+        var configContext = (0, _react).useContext(
+          _imageConfigContext.ImageConfigContext
+        );
+        var config = (0, _react).useMemo(
+          function() {
+            var c =
+              configEnv || configContext || _imageConfig.imageConfigDefault;
+            var allSizes = _toConsumableArray(c.deviceSizes)
+              .concat(_toConsumableArray(c.imageSizes))
+              .sort(function(a, b) {
+                return a - b;
+              });
+            var deviceSizes = c.deviceSizes.sort(function(a, b) {
+              return a - b;
+            });
+            return _objectSpread({}, c, {
+              allSizes: allSizes,
+              deviceSizes: deviceSizes
+            });
+          },
+          [configContext]
+        );
         var rest = all;
         var layout = sizes ? "responsive" : "intrinsic";
         if ("layout" in rest) {
@@ -564,10 +574,13 @@
         if (true && loadedImageURLs.has(src)) {
           isLazy = false;
         }
+        if (src.endsWith(".svg") && !config.dangerouslyAllowSVG) {
+          unoptimized = true;
+        }
         if (false) {
           var url, urlStr, VALID_BLUR_EXT;
         }
-        var ref3 = _slicedToArray(
+        var ref1 = _slicedToArray(
             (0, _useIntersection).useIntersection({
               rootRef: lazyRoot,
               rootMargin: lazyBoundary,
@@ -575,8 +588,8 @@
             }),
             2
           ),
-          setIntersection = ref3[0],
-          isIntersected = ref3[1];
+          setIntersection = ref1[0],
+          isIntersected = ref1[1];
         var isVisible = !isLazy || isIntersected;
         var wrapperStyle = {
           boxSizing: "border-box",
@@ -684,6 +697,7 @@
         };
         if (isVisible) {
           imgAttributes = generateImgAttrs({
+            config: config,
             src: src,
             unoptimized: unoptimized,
             layout: layout,
@@ -784,6 +798,7 @@
                   {},
                   rest,
                   generateImgAttrs({
+                    config: config,
                     src: src,
                     unoptimized: unoptimized,
                     layout: layout,
@@ -834,12 +849,12 @@
         return src[0] === "/" ? src.slice(1) : src;
       }
       function imgixLoader(param) {
-        var root = param.root,
+        var config = param.config,
           src = param.src,
           width = param.width,
           quality = param.quality;
         // Demo: https://static.imgix.net/daisy.png?auto=format&fit=max&w=300
-        var url = new URL("".concat(root).concat(normalizeSrc(src)));
+        var url = new URL("".concat(config.path).concat(normalizeSrc(src)));
         var params = url.searchParams;
         params.set("auto", params.get("auto") || "format");
         params.set("fit", params.get("fit") || "max");
@@ -850,16 +865,16 @@
         return url.href;
       }
       function akamaiLoader(param) {
-        var root = param.root,
+        var config = param.config,
           src = param.src,
           width = param.width;
         return ""
-          .concat(root)
+          .concat(config.path)
           .concat(normalizeSrc(src), "?imwidth=")
           .concat(width);
       }
       function cloudinaryLoader(param) {
-        var root = param.root,
+        var config = param.config,
           src = param.src,
           width = param.width,
           quality = param.quality;
@@ -872,7 +887,7 @@
         ];
         var paramsString = params.join(",") + "/";
         return ""
-          .concat(root)
+          .concat(config.path)
           .concat(paramsString)
           .concat(normalizeSrc(src));
       }
@@ -884,7 +899,7 @@
         );
       }
       function defaultLoader(param) {
-        var root = param.root,
+        var config = param.config,
           src = param.src,
           width = param.width,
           quality = param.quality;
@@ -892,7 +907,7 @@
           var parsedSrc, missingValues;
         }
         return ""
-          .concat(root, "?url=")
+          .concat(config.path, "?url=")
           .concat(encodeURIComponent(src), "&w=")
           .concat(width, "&q=")
           .concat(quality || 75);
@@ -1053,13 +1068,32 @@
           if (elements.size === 0) {
             observer.disconnect();
             observers.delete(id);
+            var index = idList.findIndex(function(obj) {
+              return obj.root === id.root && obj.margin === id.margin;
+            });
+            if (index > -1) {
+              idList.splice(index, 1);
+            }
           }
         };
       }
       var observers = new Map();
+      var idList = [];
       function createObserver(options) {
-        var id = options.rootMargin || "";
-        var instance = observers.get(id);
+        var id = {
+          root: options.root || null,
+          margin: options.rootMargin || ""
+        };
+        var existing = idList.find(function(obj) {
+          return obj.root === id.root && obj.margin === id.margin;
+        });
+        var instance;
+        if (existing) {
+          instance = observers.get(existing);
+        } else {
+          instance = observers.get(id);
+          idList.push(id);
+        }
         if (instance) {
           return instance;
         }
@@ -1087,7 +1121,7 @@
       /***/
     },
 
-    /***/ 5924: /***/ function(
+    /***/ 3155: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -1136,38 +1170,6 @@
       /***/
     },
 
-    /***/ 5809: /***/ function(__unused_webpack_module, exports) {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true
-      });
-      exports.imageConfigDefault = exports.VALID_LOADERS = void 0;
-      const VALID_LOADERS = [
-        "default",
-        "imgix",
-        "cloudinary",
-        "akamai",
-        "custom"
-      ];
-      exports.VALID_LOADERS = VALID_LOADERS;
-      const imageConfigDefault = {
-        deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
-        imageSizes: [16, 32, 48, 64, 96, 128, 256, 384],
-        path: "/_next/image",
-        loader: "default",
-        domains: [],
-        disableStaticImages: false,
-        minimumCacheTTL: 60,
-        formats: ["image/webp"]
-      };
-      exports.imageConfigDefault = imageConfigDefault;
-
-      //# sourceMappingURL=image-config.js.map
-
-      /***/
-    },
-
     /***/ 5675: /***/ function(
       module,
       __unused_webpack_exports,
Diff for link-HASH.js
@@ -151,18 +151,16 @@
         locale
       ) {
         var nodeName = e.currentTarget.nodeName;
+        // anchors inside an svg have a lowercase nodeName
+        var isAnchorNodeName = nodeName.toUpperCase() === "A";
         if (
-          nodeName === "A" &&
+          isAnchorNodeName &&
           (isModifiedEvent(e) || !(0, _router).isLocalURL(href))
         ) {
           // ignore click for browser’s default behavior
           return;
         }
         e.preventDefault();
-        //  avoid scroll for urls with anchor refs
-        if (scroll == null && as.indexOf("#") >= 0) {
-          scroll = false;
-        }
         // replace state instead of push if prop is present
         router[replace ? "replace" : "push"](href, as, {
           shallow: shallow,
@@ -258,6 +256,8 @@
         var childProps = {
           ref: setRef,
           onClick: function(e) {
+            if (false) {
+            }
             if (child.props && typeof child.props.onClick === "function") {
               child.props.onClick(e);
             }
@@ -474,13 +474,32 @@
           if (elements.size === 0) {
             observer.disconnect();
             observers.delete(id);
+            var index = idList.findIndex(function(obj) {
+              return obj.root === id.root && obj.margin === id.margin;
+            });
+            if (index > -1) {
+              idList.splice(index, 1);
+            }
           }
         };
       }
       var observers = new Map();
+      var idList = [];
       function createObserver(options) {
-        var id = options.rootMargin || "";
-        var instance = observers.get(id);
+        var id = {
+          root: options.root || null,
+          margin: options.rootMargin || ""
+        };
+        var existing = idList.find(function(obj) {
+          return obj.root === id.root && obj.margin === id.margin;
+        });
+        var instance;
+        if (existing) {
+          instance = observers.get(existing);
+        } else {
+          instance = observers.get(id);
+          idList.push(id);
+        }
         if (instance) {
           return instance;
         }
Diff for framework-HASH.js
@@ -8688,76 +8688,6 @@
       } else {
       }
 
-      /***/
-    },
-
-    /***/ 8217: /***/ function(
-      __unused_webpack_module,
-      exports,
-      __webpack_require__
-    ) {
-      /** @license React vundefined
-       * use-subscription.production.min.js
-       *
-       * Copyright (c) Facebook, Inc. and its affiliates.
-       *
-       * This source code is licensed under the MIT license found in the
-       * LICENSE file in the root directory of this source tree.
-       */
-      var e = __webpack_require__(6086),
-        g = __webpack_require__(7294);
-      exports.useSubscription = function(a) {
-        var c = a.getCurrentValue,
-          d = a.subscribe,
-          b = g.useState(function() {
-            return { getCurrentValue: c, subscribe: d, value: c() };
-          });
-        a = b[0];
-        var f = b[1];
-        b = a.value;
-        if (a.getCurrentValue !== c || a.subscribe !== d)
-          (b = c()), f({ getCurrentValue: c, subscribe: d, value: b });
-        g.useDebugValue(b);
-        g.useEffect(
-          function() {
-            function b() {
-              if (!a) {
-                var b = c();
-                f(function(a) {
-                  return a.getCurrentValue !== c ||
-                    a.subscribe !== d ||
-                    a.value === b
-                    ? a
-                    : e({}, a, { value: b });
-                });
-              }
-            }
-            var a = !1,
-              h = d(b);
-            b();
-            return function() {
-              a = !0;
-              h();
-            };
-          },
-          [c, d]
-        );
-        return b;
-      };
-
-      /***/
-    },
-
-    /***/ 7161: /***/ function(
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) {
-      if (true) {
-        module.exports = __webpack_require__(8217);
-      } else {
-      }
-
       /***/
     }
   }
Diff for main-HASH.js

Diff too large to display

Diff for index.html
@@ -15,11 +15,11 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/framework-535325b9235a831f.js"
+      src="/_next/static/chunks/framework-287ad9396a03b869.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-c6fc133fe313f8ea.js"
+      src="/_next/static/chunks/main-44d8380e90a97ad8.js"
       defer=""
     ></script>
     <script
Diff for link.html
@@ -15,11 +15,11 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/framework-535325b9235a831f.js"
+      src="/_next/static/chunks/framework-287ad9396a03b869.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-c6fc133fe313f8ea.js"
+      src="/_next/static/chunks/main-44d8380e90a97ad8.js"
       defer=""
     ></script>
     <script
@@ -27,7 +27,7 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/link-f0a2c3bb0706d8b2.js"
+      src="/_next/static/chunks/pages/link-b932c7479a7c37ca.js"
       defer=""
     ></script>
     <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
Diff for withRouter.html
@@ -15,11 +15,11 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/framework-535325b9235a831f.js"
+      src="/_next/static/chunks/framework-287ad9396a03b869.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-c6fc133fe313f8ea.js"
+      src="/_next/static/chunks/main-44d8380e90a97ad8.js"
       defer=""
     ></script>
     <script

Please sign in to comment.