Skip to content

Commit

Permalink
v9.5.2
Browse files Browse the repository at this point in the history
  • Loading branch information
Timer committed Aug 10, 2020
1 parent 1bc63a3 commit 07df897
Show file tree
Hide file tree
Showing 13 changed files with 16 additions and 16 deletions.
2 changes: 1 addition & 1 deletion lerna.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,5 @@
"registry": "https://registry.npmjs.org/"
}
},
"version": "9.5.2-canary.18"
"version": "9.5.2"
}
2 changes: 1 addition & 1 deletion packages/create-next-app/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "create-next-app",
"version": "9.5.2-canary.18",
"version": "9.5.2",
"keywords": [
"react",
"next",
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin-next/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/eslint-plugin-next",
"version": "9.5.2-canary.18",
"version": "9.5.2",
"description": "ESLint plugin for NextJS.",
"main": "lib/index.js",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion packages/next-bundle-analyzer/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/bundle-analyzer",
"version": "9.5.2-canary.18",
"version": "9.5.2",
"main": "index.js",
"license": "MIT",
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion packages/next-codemod/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/codemod",
"version": "9.5.2-canary.18",
"version": "9.5.2",
"license": "MIT",
"dependencies": {
"chalk": "4.1.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/next-mdx/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/mdx",
"version": "9.5.2-canary.18",
"version": "9.5.2",
"main": "index.js",
"license": "MIT",
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion packages/next-plugin-google-analytics/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/plugin-google-analytics",
"version": "9.5.2-canary.18",
"version": "9.5.2",
"repository": {
"url": "vercel/next.js",
"directory": "packages/next-plugin-google-analytics"
Expand Down
2 changes: 1 addition & 1 deletion packages/next-plugin-sentry/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/plugin-sentry",
"version": "9.5.2-canary.18",
"version": "9.5.2",
"repository": {
"url": "vercel/next.js",
"directory": "packages/next-plugin-sentry"
Expand Down
2 changes: 1 addition & 1 deletion packages/next-plugin-storybook/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/plugin-storybook",
"version": "9.5.2-canary.18",
"version": "9.5.2",
"repository": {
"url": "vercel/next.js",
"directory": "packages/next-plugin-storybook"
Expand Down
2 changes: 1 addition & 1 deletion packages/next-polyfill-nomodule/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/polyfill-nomodule",
"version": "9.5.2-canary.18",
"version": "9.5.2",
"description": "A polyfill for non-dead, nomodule browsers.",
"main": "dist/polyfill-nomodule.js",
"license": "MIT",
Expand Down
8 changes: 4 additions & 4 deletions packages/next/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "next",
"version": "9.5.2-canary.18",
"version": "9.5.2",
"description": "The React Framework",
"main": "./dist/server/next.js",
"license": "MIT",
Expand Down Expand Up @@ -77,8 +77,8 @@
"@babel/preset-typescript": "7.9.0",
"@babel/runtime": "7.9.6",
"@babel/types": "7.9.6",
"@next/react-dev-overlay": "9.5.2-canary.18",
"@next/react-refresh-utils": "9.5.2-canary.18",
"@next/react-dev-overlay": "9.5.2",
"@next/react-refresh-utils": "9.5.2",
"ast-types": "0.13.2",
"babel-plugin-syntax-jsx": "6.18.0",
"babel-plugin-transform-define": "2.0.0",
Expand Down Expand Up @@ -124,7 +124,7 @@
"react-dom": "^16.6.0"
},
"devDependencies": {
"@next/polyfill-nomodule": "9.5.2-canary.18",
"@next/polyfill-nomodule": "9.5.2",
"@taskr/clear": "1.1.0",
"@taskr/esnext": "1.1.0",
"@taskr/watch": "1.1.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/react-dev-overlay/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/react-dev-overlay",
"version": "9.5.2-canary.18",
"version": "9.5.2",
"description": "A development-only overlay for developing React applications.",
"repository": {
"url": "vercel/next.js",
Expand Down
2 changes: 1 addition & 1 deletion packages/react-refresh-utils/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/react-refresh-utils",
"version": "9.5.2-canary.18",
"version": "9.5.2",
"description": "An experimental package providing utilities for React Refresh.",
"repository": {
"url": "vercel/next.js",
Expand Down

1 comment on commit 07df897

@ijjk
Copy link
Member

@ijjk ijjk commented on 07df897 Aug 11, 2020

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 Server Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary v9.5.1 vercel/next.js refs/tags/v9.5.2 Change
buildDuration 12.5s 12.1s -390ms
nodeModulesSize 65.5 MB 57.2 MB -8.29 MB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary v9.5.1 vercel/next.js refs/tags/v9.5.2 Change
/ failed reqs 0 0
/ total time (seconds) 2.33 2.378 ⚠️ +0.05
/ avg req/sec 1073.05 1051.41 ⚠️ -21.64
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.372 1.378 ⚠️ +0.01
/error-in-render avg req/sec 1821.67 1814.87 ⚠️ -6.8
Client Bundles (main, webpack, commons) Overall decrease ✓
vercel/next.js canary v9.5.1 vercel/next.js refs/tags/v9.5.2 Change
677f882d2ed8..b7a9.js gzip 10.2 kB 10 kB -153 B
framework.HASH.js gzip 39.1 kB 39.1 kB
main-646fd73..0fae.js gzip 6.75 kB 6.71 kB -36 B
webpack-488d..c0e7.js gzip 751 B N/A N/A
webpack-4f62..dule.js gzip N/A 751 B N/A
Overall change 56.8 kB 56.6 kB -189 B
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
vercel/next.js canary v9.5.1 vercel/next.js refs/tags/v9.5.2 Change
677f882d2ed8..dule.js gzip 6.09 kB 5.92 kB -167 B
framework.HA..dule.js gzip 39.1 kB 39.1 kB
main-600b543..dule.js gzip 5.83 kB 5.79 kB -42 B
webpack-4f62..dule.js gzip 751 B N/A N/A
webpack-488d..c0e7.js gzip N/A 751 B N/A
Overall change 51.8 kB 51.6 kB -209 B
Legacy Client Bundles (polyfills) Overall increase ⚠️
vercel/next.js canary v9.5.1 vercel/next.js refs/tags/v9.5.2 Change
polyfills-05..1236.js gzip 30.8 kB 31 kB ⚠️ +197 B
Overall change 30.8 kB 31 kB ⚠️ +197 B
Client Pages Overall decrease ✓
vercel/next.js canary v9.5.1 vercel/next.js refs/tags/v9.5.2 Change
_app-8f5f611..1f7b.js gzip 1.28 kB 1.28 kB
_error-a98d9..5cb7.js gzip 3.45 kB 3.45 kB
hooks-f7f3d0..7465.js gzip 887 B 887 B
index-08fb3f..c0e9.js gzip 227 B 227 B
link-6f8445b..99e1.js gzip 1.3 kB N/A N/A
routerDirect..8aa1.js gzip 284 B 284 B
withRouter-f..e777.js gzip 284 B 284 B
link-4c2bd9b..eadd.js gzip N/A 1.29 kB N/A
Overall change 7.72 kB 7.71 kB -3 B
Client Pages Modern Overall increase ⚠️
vercel/next.js canary v9.5.1 vercel/next.js refs/tags/v9.5.2 Change
_app-669dbe5..dule.js gzip 626 B 626 B
_error-d5979..dule.js gzip 2.3 kB 2.3 kB
hooks-805c40..dule.js gzip 387 B 387 B
index-6ba5a4..dule.js gzip 226 B 226 B
link-91516ae..dule.js gzip 1.25 kB N/A N/A
routerDirect..dule.js gzip 284 B 284 B
withRouter-d..dule.js gzip 282 B 282 B
link-236a801..dule.js gzip N/A 1.26 kB N/A
Overall change 5.36 kB 5.37 kB ⚠️ +10 B
Client Build Manifests Overall decrease ✓
vercel/next.js canary v9.5.1 vercel/next.js refs/tags/v9.5.2 Change
_buildManifest.js gzip 274 B 273 B -1 B
_buildManife..dule.js gzip 282 B 279 B -3 B
Overall change 556 B 552 B -4 B
Rendered Page Sizes Overall decrease ✓
vercel/next.js canary v9.5.1 vercel/next.js refs/tags/v9.5.2 Change
index.html gzip 948 B 945 B -3 B
link.html gzip 953 B 954 B ⚠️ +1 B
withRouter.html gzip 939 B 939 B
Overall change 2.84 kB 2.84 kB -2 B

Diffs

Diff for _buildManifest.js
@@ -6,7 +6,7 @@ self.__BUILD_MANIFEST = {
   "/hooks": [
     "static\u002Fchunks\u002Fpages\u002Fhooks-8001dc76075832ee8949.js"
   ],
-  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-a9269e283072f7ef2b5f.js"],
+  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-3e536e855e7143324b04.js"],
   "/routerDirect": [
     "static\u002Fchunks\u002Fpages\u002FrouterDirect-2e9bfd441bd88cd3382e.js"
   ],
Diff for _buildManifest.module.js
@@ -9,7 +9,7 @@ self.__BUILD_MANIFEST = {
     "static\u002Fchunks\u002Fpages\u002Fhooks-56fa58a6f0993d7d36d7.module.js"
   ],
   "/link": [
-    "static\u002Fchunks\u002Fpages\u002Flink-9be23e1ed7374cb42e26.module.js"
+    "static\u002Fchunks\u002Fpages\u002Flink-6fa73e7e8736497268e2.module.js"
   ],
   "/routerDirect": [
     "static\u002Fchunks\u002Fpages\u002FrouterDirect-368af3dfef3c9cd99dc3.module.js"
Diff for link-9be23e1..26.module.js
@@ -72,20 +72,11 @@
 
       var _react = _interopRequireWildcard(__webpack_require__("q1tI"));
 
-      var _utils = __webpack_require__("g/15");
-
-      var _router = __webpack_require__("nOHt");
+      var _router = __webpack_require__("elyg");
 
-      var _router2 = __webpack_require__("elyg");
-      /**
-       * Detects whether a given url is from the same origin as the current page (browser only).
-       */
+      var _utils = __webpack_require__("g/15");
 
-      function isLocal(url) {
-        var locationOrigin = (0, _utils.getLocationOrigin)();
-        var resolved = new URL(url, locationOrigin);
-        return resolved.origin === locationOrigin;
-      }
+      var _router2 = __webpack_require__("nOHt");
 
       var cachedObserver;
       var listeners = new Map();
@@ -146,7 +137,8 @@
 
       function prefetch(router, href, as, options) {
         if (false) {
-        } // Prefetch the JSON page if asked (only in the client)
+        }
+        if (!(0, _router.isLocalURL)(href)) return; // Prefetch the JSON page if asked (only in the client)
         // We need to handle a prefetch error here since we may be
         // loading with priority which can reject but we don't
         // want to force navigation since this is only a prefetch
@@ -159,23 +151,26 @@
         prefetched[href + "%" + as] = true;
       }
 
+      function isModifiedEvent(event) {
+        var { target } = event.currentTarget;
+        return (
+          (target && target !== "_self") ||
+          event.metaKey ||
+          event.ctrlKey ||
+          event.shiftKey ||
+          event.altKey || // triggers resource download
+          (event.nativeEvent && event.nativeEvent.which === 2)
+        );
+      }
+
       function linkClicked(e, router, href, as, replace, shallow, scroll) {
-        var { nodeName, target } = e.currentTarget;
+        var { nodeName } = e.currentTarget;
 
         if (
           nodeName === "A" &&
-          ((target && target !== "_self") ||
-            e.metaKey ||
-            e.ctrlKey ||
-            e.shiftKey ||
-            (e.nativeEvent && e.nativeEvent.which === 2))
+          (isModifiedEvent(e) || !(0, _router.isLocalURL)(href))
         ) {
-          // ignore click for new tab / new window behavior
-          return;
-        }
-
-        if (!isLocal(href)) {
-          // ignore click if it's outside our scope (e.g. https://google.com)
+          // ignore click for browser’s default behavior
           return;
         }
 
@@ -206,21 +201,27 @@
 
         var [childElm, setChildElm] = _react.default.useState();
 
-        var router = (0, _router.useRouter)();
+        var router = (0, _router2.useRouter)();
         var pathname = (router && router.pathname) || "/";
 
         var { href, as } = _react.default.useMemo(() => {
-          var resolvedHref = (0, _router2.resolveHref)(pathname, props.href);
+          var resolvedHref = (0, _router.resolveHref)(pathname, props.href);
           return {
             href: resolvedHref,
             as: props.as
-              ? (0, _router2.resolveHref)(pathname, props.as)
+              ? (0, _router.resolveHref)(pathname, props.as)
               : resolvedHref
           };
         }, [pathname, props.href, props.as]);
 
         _react.default.useEffect(() => {
-          if (p && IntersectionObserver && childElm && childElm.tagName) {
+          if (
+            p &&
+            IntersectionObserver &&
+            childElm &&
+            childElm.tagName &&
+            (0, _router.isLocalURL)(href)
+          ) {
             // Join on an invalid URI character
             var isPrefetched = prefetched[href + "%" + as];
 
@@ -268,6 +269,8 @@
 
         if (p) {
           childProps.onMouseEnter = e => {
+            if (!(0, _router.isLocalURL)(href)) return;
+
             if (child.props && typeof child.props.onMouseEnter === "function") {
               child.props.onMouseEnter(e);
             }
@@ -283,12 +286,7 @@
           props.passHref ||
           (child.type === "a" && !("href" in child.props))
         ) {
-          childProps.href = (0, _router2.addBasePath)(as);
-        } // Add the ending slash to the paths. So, we can serve the
-        // "<page>/index.html" directly.
-
-        if (false) {
-          var rewriteUrlForNextExport;
+          childProps.href = (0, _router.addBasePath)(as);
         }
 
         return _react.default.cloneElement(child, childProps);
Diff for link-a9269e2..2f7ef2b5f.js
@@ -76,20 +76,11 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
 
       var _react = _interopRequireWildcard(__webpack_require__("q1tI"));
 
-      var _utils = __webpack_require__("g/15");
-
-      var _router = __webpack_require__("nOHt");
+      var _router = __webpack_require__("elyg");
 
-      var _router2 = __webpack_require__("elyg");
-      /**
-       * Detects whether a given url is from the same origin as the current page (browser only).
-       */
+      var _utils = __webpack_require__("g/15");
 
-      function isLocal(url) {
-        var locationOrigin = (0, _utils.getLocationOrigin)();
-        var resolved = new URL(url, locationOrigin);
-        return resolved.origin === locationOrigin;
-      }
+      var _router2 = __webpack_require__("nOHt");
 
       var cachedObserver;
       var listeners = new Map();
@@ -150,7 +141,8 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
 
       function prefetch(router, href, as, options) {
         if (false) {
-        } // Prefetch the JSON page if asked (only in the client)
+        }
+        if (!(0, _router.isLocalURL)(href)) return; // Prefetch the JSON page if asked (only in the client)
         // We need to handle a prefetch error here since we may be
         // loading with priority which can reject but we don't
         // want to force navigation since this is only a prefetch
@@ -163,25 +155,26 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
         prefetched[href + "%" + as] = true;
       }
 
+      function isModifiedEvent(event) {
+        var target = event.currentTarget.target;
+        return (
+          (target && target !== "_self") ||
+          event.metaKey ||
+          event.ctrlKey ||
+          event.shiftKey ||
+          event.altKey || // triggers resource download
+          (event.nativeEvent && event.nativeEvent.which === 2)
+        );
+      }
+
       function linkClicked(e, router, href, as, replace, shallow, scroll) {
-        var _e$currentTarget = e.currentTarget,
-          nodeName = _e$currentTarget.nodeName,
-          target = _e$currentTarget.target;
+        var nodeName = e.currentTarget.nodeName;
 
         if (
           nodeName === "A" &&
-          ((target && target !== "_self") ||
-            e.metaKey ||
-            e.ctrlKey ||
-            e.shiftKey ||
-            (e.nativeEvent && e.nativeEvent.which === 2))
+          (isModifiedEvent(e) || !(0, _router.isLocalURL)(href))
         ) {
-          // ignore click for new tab / new window behavior
-          return;
-        }
-
-        if (!isLocal(href)) {
-          // ignore click if it's outside our scope (e.g. https://google.com)
+          // ignore click for browser’s default behavior
           return;
         }
 
@@ -215,19 +208,16 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
           childElm = _react$default$useSta2[0],
           setChildElm = _react$default$useSta2[1];
 
-        var router = (0, _router.useRouter)();
+        var router = (0, _router2.useRouter)();
         var pathname = (router && router.pathname) || "/";
 
         var _react$default$useMem = _react["default"].useMemo(
             function() {
-              var resolvedHref = (0, _router2.resolveHref)(
-                pathname,
-                props.href
-              );
+              var resolvedHref = (0, _router.resolveHref)(pathname, props.href);
               return {
                 href: resolvedHref,
                 as: props.as
-                  ? (0, _router2.resolveHref)(pathname, props.as)
+                  ? (0, _router.resolveHref)(pathname, props.as)
                   : resolvedHref
               };
             },
@@ -238,7 +228,13 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
 
         _react["default"].useEffect(
           function() {
-            if (p && IntersectionObserver && childElm && childElm.tagName) {
+            if (
+              p &&
+              IntersectionObserver &&
+              childElm &&
+              childElm.tagName &&
+              (0, _router.isLocalURL)(href)
+            ) {
               // Join on an invalid URI character
               var isPrefetched = prefetched[href + "%" + as];
 
@@ -291,6 +287,8 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
 
         if (p) {
           childProps.onMouseEnter = function(e) {
+            if (!(0, _router.isLocalURL)(href)) return;
+
             if (child.props && typeof child.props.onMouseEnter === "function") {
               child.props.onMouseEnter(e);
             }
@@ -306,12 +304,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
           props.passHref ||
           (child.type === "a" && !("href" in child.props))
         ) {
-          childProps.href = (0, _router2.addBasePath)(as);
-        } // Add the ending slash to the paths. So, we can serve the
-        // "<page>/index.html" directly.
-
-        if (false) {
-          var rewriteUrlForNextExport;
+          childProps.href = (0, _router.addBasePath)(as);
         }
 
         return _react["default"].cloneElement(child, childProps);
Diff for 677f882d2ed8..f9.module.js
@@ -121,98 +121,60 @@
       /***/
     },
 
-    /***/ "4JlD": /***/ function(module, exports, __webpack_require__) {
+    /***/ "3WeD": /***/ function(module, exports, __webpack_require__) {
       "use strict";
-      // Copyright Joyent, Inc. and other Node contributors.
-      //
-      // Permission is hereby granted, free of charge, to any person obtaining a
-      // copy of this software and associated documentation files (the
-      // "Software"), to deal in the Software without restriction, including
-      // without limitation the rights to use, copy, modify, merge, publish,
-      // distribute, sublicense, and/or sell copies of the Software, and to permit
-      // persons to whom the Software is furnished to do so, subject to the
-      // following conditions:
-      //
-      // The above copyright notice and this permission notice shall be included
-      // in all copies or substantial portions of the Software.
-      //
-      // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-      // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-      // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
-      // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-      // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-      // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-      // USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-      var stringifyPrimitive = function(v) {
-        switch (typeof v) {
-          case "string":
-            return v;
 
-          case "boolean":
-            return v ? "true" : "false";
+      exports.__esModule = true;
+      exports.searchParamsToUrlQuery = searchParamsToUrlQuery;
+      exports.urlQueryToSearchParams = urlQueryToSearchParams;
+      exports.assign = assign;
 
-          case "number":
-            return isFinite(v) ? v : "";
+      function searchParamsToUrlQuery(searchParams) {
+        var query = {};
+        searchParams.forEach((value, key) => {
+          if (typeof query[key] === "undefined") {
+            query[key] = value;
+          } else if (Array.isArray(query[key])) {
+            query[key].push(value);
+          } else {
+            query[key] = [query[key], value];
+          }
+        });
+        return query;
+      }
 
-          default:
-            return "";
-        }
-      };
+      function urlQueryToSearchParams(urlQuery) {
+        var result = new URLSearchParams();
+        Object.entries(urlQuery).forEach(_ref => {
+          var [key, value] = _ref;
 
-      module.exports = function(obj, sep, eq, name) {
-        sep = sep || "&";
-        eq = eq || "=";
-        if (obj === null) {
-          obj = undefined;
-        }
+          if (Array.isArray(value)) {
+            value.forEach(item => result.append(key, item));
+          } else {
+            result.set(key, value);
+          }
+        });
+        return result;
+      }
 
-        if (typeof obj === "object") {
-          return map(objectKeys(obj), function(k) {
-            var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;
-            if (isArray(obj[k])) {
-              return map(obj[k], function(v) {
-                return ks + encodeURIComponent(stringifyPrimitive(v));
-              }).join(sep);
-            } else {
-              return ks + encodeURIComponent(stringifyPrimitive(obj[k]));
-            }
-          }).join(sep);
+      function assign(target) {
+        for (
+          var _len = arguments.length,
+            searchParamsList = new Array(_len > 1 ? _len - 1 : 0),
+            _key = 1;
+          _key < _len;
+          _key++
+        ) {
+          searchParamsList[_key - 1] = arguments[_key];
         }
 
-        if (!name) return "";
-        return (
-          encodeURIComponent(stringifyPrimitive(name)) +
-          eq +
-          encodeURIComponent(stringifyPrimitive(obj))
-        );
-      };
-
-      var isArray =
-        Array.isArray ||
-        function(xs) {
-          return Object.prototype.toString.call(xs) === "[object Array]";
-        };
-
-      function map(xs, f) {
-        if (xs.map) return xs.map(f);
-        var res = [];
-        for (var i = 0; i < xs.length; i++) {
-          res.push(f(xs[i], i));
-        }
-        return res;
+        searchParamsList.forEach(searchParams => {
+          Array.from(searchParams.keys()).forEach(key => target.delete(key));
+          searchParams.forEach((value, key) => target.append(key, value));
+        });
+        return target;
       }
 
-      var objectKeys =
-        Object.keys ||
-        function(obj) {
-          var res = [];
-          for (var key in obj) {
-            if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);
-          }
-          return res;
-        };
-
       /***/
     },
 
@@ -222,7 +184,65 @@
       exports.__esModule = true;
       exports.formatUrl = formatUrl;
 
-      var _querystring = __webpack_require__("s4NR"); // Format function modified from nodejs
+      var querystring = _interopRequireWildcard(__webpack_require__("3WeD"));
+
+      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];
+            }
+          }
+        }
+
+        newObj.default = obj;
+
+        if (cache) {
+          cache.set(obj, newObj);
+        }
+
+        return newObj;
+      } // Format function modified from nodejs
       // Copyright Joyent, Inc. and other Node contributors.
       //
       // Permission is hereby granted, free of charge, to any person obtaining a
@@ -268,8 +288,7 @@
         }
 
         if (query && typeof query === "object") {
-          // query = '' + new URLSearchParams(query);
-          query = (0, _querystring.encode)(query);
+          query = String(querystring.urlQueryToSearchParams(query));
         }
 
         var search = urlObj.search || (query && "?".concat(query)) || "";
@@ -457,29 +476,6 @@
       /***/
     },
 
-    /***/ cE6r: /***/ function(module, exports, __webpack_require__) {
-      "use strict";
-
-      exports.__esModule = true;
-      exports.searchParamsToUrlQuery = searchParamsToUrlQuery;
-
-      function searchParamsToUrlQuery(searchParams) {
-        var query = {};
-        searchParams.forEach((value, key) => {
-          if (typeof query[key] === "undefined") {
-            query[key] = value;
-          } else if (Array.isArray(query[key])) {
-            query[key].push(value);
-          } else {
-            query[key] = [query[key], value];
-          }
-        });
-        return query;
-      }
-
-      /***/
-    },
-
     /***/ dZ6Y: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
@@ -536,9 +532,12 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
       "use strict";
 
       exports.__esModule = true;
+      exports.hasBasePath = hasBasePath;
       exports.addBasePath = addBasePath;
       exports.delBasePath = delBasePath;
+      exports.isLocalURL = isLocalURL;
       exports.resolveHref = resolveHref;
+      exports.markLoadingError = markLoadingError;
       exports.default = void 0;
 
       var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
@@ -551,7 +550,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
 
       var _routeRegex = __webpack_require__("YTqd");
 
-      var _searchParamsToUrlQuery = __webpack_require__("cE6r");
+      var _querystring = __webpack_require__("3WeD");
 
       var _parseRelativeUrl = __webpack_require__("hS4m");
 
@@ -575,8 +574,13 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
         });
       }
 
+      function hasBasePath(path) {
+        return path === basePath || path.startsWith(basePath + "/");
+      }
+
       function addBasePath(path) {
-        return basePath
+        // we only add the basepath on relative urls
+        return basePath && path.startsWith("/")
           ? path === "/"
             ? (0, _normalizeTrailingSlash.normalizePathTrailingSlash)(basePath)
             : basePath + path
@@ -586,6 +590,24 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
       function delBasePath(path) {
         return path.slice(basePath.length) || "/";
       }
+      /**
+       * Detects whether a given url is routable by the Next.js router (browser only).
+       */
+
+      function isLocalURL(url) {
+        if (url.startsWith("/")) return true;
+
+        try {
+          // absolute urls can be local if they are on the same origin
+          var locationOrigin = (0, _utils.getLocationOrigin)();
+          var resolved = new URL(url, locationOrigin);
+          return (
+            resolved.origin === locationOrigin && hasBasePath(resolved.pathname)
+          );
+        } catch (_) {
+          return false;
+        }
+      }
       /**
        * Resolves a given hyperlink with a certain router state (basePath not included).
        * Preserves absolute urls.
@@ -598,13 +620,26 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
           typeof href === "string"
             ? href
             : (0, _utils.formatWithValidation)(href);
-        var finalUrl = new URL(urlAsString, base);
-        finalUrl.pathname = (0,
-        _normalizeTrailingSlash.normalizePathTrailingSlash)(finalUrl.pathname); // if the origin didn't change, it means we received a relative href
 
-        return finalUrl.origin === base.origin
-          ? finalUrl.href.slice(finalUrl.origin.length)
-          : finalUrl.href;
+        try {
+          var finalUrl = new URL(urlAsString, base);
+          finalUrl.pathname = (0,
+          _normalizeTrailingSlash.normalizePathTrailingSlash)(
+            finalUrl.pathname
+          ); // if the origin didn't change, it means we received a relative href
+
+          return finalUrl.origin === base.origin
+            ? finalUrl.href.slice(finalUrl.origin.length)
+            : finalUrl.href;
+        } catch (_) {
+          return urlAsString;
+        }
+      }
+
+      var PAGE_LOAD_ERROR = Symbol("PAGE_LOAD_ERROR");
+
+      function markLoadingError(err) {
+        return Object.defineProperty(err, PAGE_LOAD_ERROR, {});
       }
 
       function prepareUrlAs(router, url, as) {
@@ -662,7 +697,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
           // on a client-side transition. Otherwise, we'd get into an infinite
           // loop.
           if (!isServerRender) {
-            err.code = "PAGE_LOAD_ERROR";
+            markLoadingError(err);
           }
 
           throw err;
@@ -703,7 +738,9 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
           this._inFlightRoute = void 0;
 
           this.onPopState = e => {
-            if (!e.state) {
+            var state = e.state;
+
+            if (!state) {
               // We get state as undefined for two reasons.
               //  1. With older safari (< 8) and older chrome (< 34)
               //  2. When the URL changed with #
@@ -725,13 +762,11 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
               return;
             }
 
-            var { url, as, options, __N } = e.state;
-
-            if (!__N) {
-              // this history state wasn't created by next.js so it can be ignored
+            if (!state.__N) {
               return;
             }
 
+            var { url, as, options } = state;
             var { pathname } = (0, _parseRelativeUrl.parseRelativeUrl)(url); // Make sure we don't re-render on initial load,
             // can be caused by navigating back from an external site
 
@@ -744,13 +779,10 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
             } // If the downstream application returns falsy, return.
             // They will then be responsible for handling the event.
 
-            if (this._bps && !this._bps(e.state)) {
+            if (this._bps && !this._bps(state)) {
               return;
             }
 
-            if (false) {
-            }
-
             this.change("replaceState", url, as, options);
           }; // represents the current component key
 
@@ -820,14 +852,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
               var debouncedScrollSave, scrollDebounceTimeout;
             }
           }
-        } // @deprecated backwards compatibility even though it's a private method.
-
-        static _rewriteUrlForNextExport(url) {
-          if (false) {
-            var rewriteUrlForNextExport;
-          } else {
-            return url;
-          }
         }
 
         update(route, mod) {
@@ -905,24 +929,24 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
         }
 
         async change(method, url, as, options) {
+          if (!isLocalURL(url)) {
+            window.location.href = url;
+            return false;
+          }
+
           if (!options._h) {
             this.isSsr = false;
           } // marking route changes as a navigation start entry
 
           if (_utils.ST) {
             performance.mark("routeChange");
-          } // Add the ending slash to the paths. So, we can serve the
-          // "<page>/index.html" directly for the SSR page.
-
-          if (false) {
-            var rewriteUrlForNextExport;
           }
 
           if (this._inFlightRoute) {
             this.abortComponentLoad(this._inFlightRoute);
           }
 
-          var cleanedAs = delBasePath(as);
+          var cleanedAs = hasBasePath(as) ? delBasePath(as) : as;
           this._inFlightRoute = as; // If the url change is only related to a hash change
           // We should not proceed. We should only change the state.
           // WARNING: `_h` is an internal option for handing Next.js client-side
@@ -934,6 +958,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
             Router.events.emit("hashChangeStart", as);
             this.changeState(method, url, as, options);
             this.scrollToHash(cleanedAs);
+            this.notify(this.components[this.route]);
             Router.events.emit("hashChangeComplete", as);
             return true;
           }
@@ -941,9 +966,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
           var parsed = tryParseRelativeUrl(url);
           if (!parsed) return false;
           var { pathname, searchParams } = parsed;
-          var query = (0, _searchParamsToUrlQuery.searchParamsToUrlQuery)(
-            searchParams
-          ); // url and as should always be prefixed with basePath by this
+          var query = (0, _querystring.searchParamsToUrlQuery)(searchParams); // url and as should always be prefixed with basePath by this
           // point by either next/link or router.push/replace so strip the
           // basePath from the pathname to match the pages dir 1-to-1
 
@@ -1069,7 +1092,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
             throw err;
           }
 
-          if (err.code === "PAGE_LOAD_ERROR" || loadErrorFail) {
+          if (PAGE_LOAD_ERROR in err || loadErrorFail) {
             Router.events.emit("routeChangeError", err, as); // If we can't load the page it could be one of following reasons
             //  1. Page doesn't exists
             //  2. Page does exist in a different zone
@@ -1549,21 +1572,35 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
 
       exports.__esModule = true;
       exports.parseRelativeUrl = parseRelativeUrl;
-      var DUMMY_BASE = new URL("http://n");
+
+      var _utils = __webpack_require__("g/15");
+
+      var DUMMY_BASE = new URL(
+        false ? undefined : (0, _utils.getLocationOrigin)()
+      );
       /**
        * Parses path-relative urls (e.g. `/hello/world?foo=bar`). If url isn't path-relative
        * (e.g. `./hello`) then at least base must be.
-       * Absolute urls are rejected.
+       * Absolute urls are rejected with one exception, in the browser, absolute urls that are on
+       * the current origin will be parsed as relative
        */
 
       function parseRelativeUrl(url, base) {
         var resolvedBase = base ? new URL(base, DUMMY_BASE) : DUMMY_BASE;
-        var { pathname, searchParams, search, hash, href, origin } = new URL(
-          url,
-          resolvedBase
-        );
+        var {
+          pathname,
+          searchParams,
+          search,
+          hash,
+          href,
+          origin,
+          protocol
+        } = new URL(url, resolvedBase);
 
-        if (origin !== DUMMY_BASE.origin) {
+        if (
+          origin !== DUMMY_BASE.origin ||
+          (protocol !== "http:" && protocol !== "https:")
+        ) {
           throw new Error("invariant: invalid relative URL");
         }
 
@@ -1579,99 +1616,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
       /***/
     },
 
-    /***/ kd2E: /***/ function(module, exports, __webpack_require__) {
-      "use strict";
-      // Copyright Joyent, Inc. and other Node contributors.
-      //
-      // Permission is hereby granted, free of charge, to any person obtaining a
-      // copy of this software and associated documentation files (the
-      // "Software"), to deal in the Software without restriction, including
-      // without limitation the rights to use, copy, modify, merge, publish,
-      // distribute, sublicense, and/or sell copies of the Software, and to permit
-      // persons to whom the Software is furnished to do so, subject to the
-      // following conditions:
-      //
-      // The above copyright notice and this permission notice shall be included
-      // in all copies or substantial portions of the Software.
-      //
-      // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-      // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-      // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
-      // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-      // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-      // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-      // USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-      // If obj.hasOwnProperty has been overridden, then calling
-      // obj.hasOwnProperty(prop) will break.
-      // See: https://github.com/joyent/node/issues/1707
-      function hasOwnProperty(obj, prop) {
-        return Object.prototype.hasOwnProperty.call(obj, prop);
-      }
-
-      module.exports = function(qs, sep, eq, options) {
-        sep = sep || "&";
-        eq = eq || "=";
-        var obj = {};
-
-        if (typeof qs !== "string" || qs.length === 0) {
-          return obj;
-        }
-
-        var regexp = /\+/g;
-        qs = qs.split(sep);
-
-        var maxKeys = 1000;
-        if (options && typeof options.maxKeys === "number") {
-          maxKeys = options.maxKeys;
-        }
-
-        var len = qs.length;
-        // maxKeys <= 0 means that we should not limit keys count
-        if (maxKeys > 0 && len > maxKeys) {
-          len = maxKeys;
-        }
-
-        for (var i = 0; i < len; ++i) {
-          var x = qs[i].replace(regexp, "%20"),
-            idx = x.indexOf(eq),
-            kstr,
-            vstr,
-            k,
-            v;
-
-          if (idx >= 0) {
-            kstr = x.substr(0, idx);
-            vstr = x.substr(idx + 1);
-          } else {
-            kstr = x;
-            vstr = "";
-          }
-
-          k = decodeURIComponent(kstr);
-          v = decodeURIComponent(vstr);
-
-          if (!hasOwnProperty(obj, k)) {
-            obj[k] = v;
-          } else if (isArray(obj[k])) {
-            obj[k].push(v);
-          } else {
-            obj[k] = [obj[k], v];
-          }
-        }
-
-        return obj;
-      };
-
-      var isArray =
-        Array.isArray ||
-        function(xs) {
-          return Object.prototype.toString.call(xs) === "[object Array]";
-        };
-
-      /***/
-    },
-
     /***/ nOHt: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
@@ -1876,15 +1820,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
       if (false) {
       }
 
-      /***/
-    },
-
-    /***/ s4NR: /***/ function(module, exports, __webpack_require__) {
-      "use strict";
-
-      exports.decode = exports.parse = __webpack_require__("kd2E");
-      exports.encode = exports.stringify = __webpack_require__("4JlD");
-
       /***/
     }
   }
Diff for 677f882d2ed8..dbb170329.js

Diff too large to display

Diff for main-00aa042..3ac7702af.js
@@ -247,15 +247,15 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
         "default"
       ] = exports.emitter = exports.router = exports.version = void 0;
 
+      var _extends2 = _interopRequireDefault(__webpack_require__("pVnL"));
+
       var _interopRequireWildcard2 = _interopRequireDefault(
         __webpack_require__("284h")
       );
 
-      var _extends2 = _interopRequireDefault(__webpack_require__("pVnL"));
-
       var _router = __webpack_require__("nOHt");
 
-      var _querystring = __webpack_require__("s4NR");
+      var querystring = _interopRequireWildcard3(__webpack_require__("3WeD"));
 
       var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
@@ -294,7 +294,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
         document.getElementById("__NEXT_DATA__").textContent
       );
       window.__NEXT_DATA__ = data;
-      var version = "9.5.1";
+      var version = "9.5.2";
       exports.version = version;
       var hydrateProps = data.props,
         hydrateErr = data.err,
@@ -317,14 +317,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       });
       var asPath = (0, _utils.getURL)(); // make sure not to attempt stripping basePath for 404s
 
-      if (
-        page !== "/404" &&
-        !(
-          page === "/_error" &&
-          hydrateProps &&
-          hydrateProps.pageProps.statusCode === "404"
-        )
-      ) {
+      if ((0, _router2.hasBasePath)(asPath)) {
         asPath = (0, _router2.delBasePath)(asPath);
       }
 
@@ -400,10 +393,10 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
                 router.replace(
                   router.pathname +
                     "?" +
-                    (0, _querystring.stringify)(
-                      (0, _extends2["default"])(
-                        (0, _extends2["default"])({}, router.query),
-                        (0, _querystring.parse)(location.search.substr(1))
+                    String(
+                      querystring.assign(
+                        querystring.urlQueryToSearchParams(router.query),
+                        new URLSearchParams(location.search)
                       )
                     ),
                   asPath,
@@ -1484,15 +1477,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
 
       var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 
-      var _isDynamic = __webpack_require__("/jkW");
-
-      var _routeMatcher = __webpack_require__("gguc");
-
-      var _routeRegex = __webpack_require__("YTqd");
-
-      var _searchParamsToUrlQuery = __webpack_require__("cE6r");
-
-      var _parseRelativeUrl = __webpack_require__("hS4m");
+      var _router = __webpack_require__("elyg");
 
       var _escapePathDelimiters = _interopRequireDefault(
         __webpack_require__("fcRV")
@@ -1502,7 +1487,15 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
         __webpack_require__("Lab5")
       );
 
-      var _router = __webpack_require__("elyg");
+      var _isDynamic = __webpack_require__("/jkW");
+
+      var _parseRelativeUrl = __webpack_require__("hS4m");
+
+      var _querystring = __webpack_require__("3WeD");
+
+      var _routeMatcher = __webpack_require__("gguc");
+
+      var _routeRegex = __webpack_require__("YTqd");
 
       function hasRel(rel, link) {
         try {
@@ -1512,9 +1505,9 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       }
 
       function pageLoadError(route) {
-        var error = new Error("Error loading ".concat(route));
-        error.code = "PAGE_LOAD_ERROR";
-        return error;
+        return (0, _router.markLoadingError)(
+          new Error("Error loading ".concat(route))
+        );
       }
 
       var relPrefetch =
@@ -1637,7 +1630,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
                 searchParams = _ref.searchParams,
                 search = _ref.search;
 
-              var query = (0, _searchParamsToUrlQuery.searchParamsToUrlQuery)(
+              var query = (0, _querystring.searchParamsToUrlQuery)(
                 searchParams
               );
Diff for main-62303b8..18.module.js
@@ -165,15 +165,15 @@
       exports.renderError = renderError;
       exports.default = exports.emitter = exports.router = exports.version = void 0;
 
+      var _extends2 = _interopRequireDefault(__webpack_require__("pVnL"));
+
       var _interopRequireWildcard2 = _interopRequireDefault(
         __webpack_require__("284h")
       );
 
-      var _extends2 = _interopRequireDefault(__webpack_require__("pVnL"));
-
       var _router = __webpack_require__("nOHt");
 
-      var _querystring = __webpack_require__("s4NR");
+      var querystring = _interopRequireWildcard3(__webpack_require__("3WeD"));
 
       var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
@@ -212,7 +212,7 @@
         document.getElementById("__NEXT_DATA__").textContent
       );
       window.__NEXT_DATA__ = data;
-      var version = "9.5.1";
+      var version = "9.5.2";
       exports.version = version;
       var {
         props: hydrateProps,
@@ -237,14 +237,7 @@
       });
       var asPath = (0, _utils.getURL)(); // make sure not to attempt stripping basePath for 404s
 
-      if (
-        page !== "/404" &&
-        !(
-          page === "/_error" &&
-          hydrateProps &&
-          hydrateProps.pageProps.statusCode === "404"
-        )
-      ) {
+      if ((0, _router2.hasBasePath)(asPath)) {
         asPath = (0, _router2.delBasePath)(asPath);
       }
 
@@ -296,10 +289,10 @@
             router.replace(
               router.pathname +
                 "?" +
-                (0, _querystring.stringify)(
-                  (0, _extends2.default)(
-                    (0, _extends2.default)({}, router.query),
-                    (0, _querystring.parse)(location.search.substr(1))
+                String(
+                  querystring.assign(
+                    querystring.urlQueryToSearchParams(router.query),
+                    new URLSearchParams(location.search)
                   )
                 ),
               asPath,
@@ -1123,15 +1116,7 @@
 
       var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 
-      var _isDynamic = __webpack_require__("/jkW");
-
-      var _routeMatcher = __webpack_require__("gguc");
-
-      var _routeRegex = __webpack_require__("YTqd");
-
-      var _searchParamsToUrlQuery = __webpack_require__("cE6r");
-
-      var _parseRelativeUrl = __webpack_require__("hS4m");
+      var _router = __webpack_require__("elyg");
 
       var _escapePathDelimiters = _interopRequireDefault(
         __webpack_require__("fcRV")
@@ -1141,7 +1126,15 @@
         __webpack_require__("Lab5")
       );
 
-      var _router = __webpack_require__("elyg");
+      var _isDynamic = __webpack_require__("/jkW");
+
+      var _parseRelativeUrl = __webpack_require__("hS4m");
+
+      var _querystring = __webpack_require__("3WeD");
+
+      var _routeMatcher = __webpack_require__("gguc");
+
+      var _routeRegex = __webpack_require__("YTqd");
 
       function hasRel(rel, link) {
         try {
@@ -1151,9 +1144,9 @@
       }
 
       function pageLoadError(route) {
-        var error = new Error("Error loading ".concat(route));
-        error.code = "PAGE_LOAD_ERROR";
-        return error;
+        return (0, _router.markLoadingError)(
+          new Error("Error loading ".concat(route))
+        );
       }
 
       var relPrefetch =
@@ -1257,9 +1250,7 @@
         getDataHref(href, asPath, ssg) {
           var { pathname: hrefPathname, searchParams, search } = (0,
           _parseRelativeUrl.parseRelativeUrl)(href);
-          var query = (0, _searchParamsToUrlQuery.searchParamsToUrlQuery)(
-            searchParams
-          );
+          var query = (0, _querystring.searchParamsToUrlQuery)(searchParams);
           var { pathname: asPathname } = (0,
           _parseRelativeUrl.parseRelativeUrl)(asPath);
           var route = normalizeRoute(hrefPathname);
Diff for polyfills-cd..400b29b58.js

Diff too large to display

Diff for index.html
@@ -6,7 +6,7 @@
     <meta name="next-head-count" content="2" />
     <link
       rel="preload"
-      href="/_next/static/chunks/main-62303b8e6d0b46c95118.module.js"
+      href="/_next/static/chunks/main-b2c679a983254aeb7617.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -24,7 +24,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.277a28e61ddacb493af9.module.js"
+      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6e957134ad87644bd4a6.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -78,16 +78,16 @@
     <script
       crossorigin="anonymous"
       nomodule=""
-      src="/_next/static/chunks/polyfills-cdbbd579644400b29b58.js"
+      src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-00aa04203cd3ac7702af.js"
+      src="/_next/static/chunks/main-d3421a9581b998ca3c86.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-62303b8e6d0b46c95118.module.js"
+      src="/_next/static/chunks/main-b2c679a983254aeb7617.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
@@ -117,13 +117,13 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.289defeb577dbb170329.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.25e748ff47129ff1dba4.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.277a28e61ddacb493af9.module.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6e957134ad87644bd4a6.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for link.html
@@ -6,7 +6,7 @@
     <meta name="next-head-count" content="2" />
     <link
       rel="preload"
-      href="/_next/static/chunks/main-62303b8e6d0b46c95118.module.js"
+      href="/_next/static/chunks/main-b2c679a983254aeb7617.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -24,7 +24,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.277a28e61ddacb493af9.module.js"
+      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6e957134ad87644bd4a6.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -36,7 +36,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/pages/link-9be23e1ed7374cb42e26.module.js"
+      href="/_next/static/chunks/pages/link-6fa73e7e8736497268e2.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -83,16 +83,16 @@
     <script
       crossorigin="anonymous"
       nomodule=""
-      src="/_next/static/chunks/polyfills-cdbbd579644400b29b58.js"
+      src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-00aa04203cd3ac7702af.js"
+      src="/_next/static/chunks/main-d3421a9581b998ca3c86.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-62303b8e6d0b46c95118.module.js"
+      src="/_next/static/chunks/main-b2c679a983254aeb7617.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
@@ -122,13 +122,13 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.289defeb577dbb170329.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.25e748ff47129ff1dba4.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.277a28e61ddacb493af9.module.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6e957134ad87644bd4a6.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
@@ -146,13 +146,13 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/pages/link-a9269e283072f7ef2b5f.js"
+      src="/_next/static/chunks/pages/link-3e536e855e7143324b04.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/link-9be23e1ed7374cb42e26.module.js"
+      src="/_next/static/chunks/pages/link-6fa73e7e8736497268e2.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for withRouter.html
@@ -6,7 +6,7 @@
     <meta name="next-head-count" content="2" />
     <link
       rel="preload"
-      href="/_next/static/chunks/main-62303b8e6d0b46c95118.module.js"
+      href="/_next/static/chunks/main-b2c679a983254aeb7617.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -24,7 +24,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.277a28e61ddacb493af9.module.js"
+      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6e957134ad87644bd4a6.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -78,16 +78,16 @@
     <script
       crossorigin="anonymous"
       nomodule=""
-      src="/_next/static/chunks/polyfills-cdbbd579644400b29b58.js"
+      src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-00aa04203cd3ac7702af.js"
+      src="/_next/static/chunks/main-d3421a9581b998ca3c86.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-62303b8e6d0b46c95118.module.js"
+      src="/_next/static/chunks/main-b2c679a983254aeb7617.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
@@ -117,13 +117,13 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.289defeb577dbb170329.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.25e748ff47129ff1dba4.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.277a28e61ddacb493af9.module.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6e957134ad87644bd4a6.module.js"
       async=""
       crossorigin="anonymous"
       type="module"

Serverless Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary v9.5.1 vercel/next.js refs/tags/v9.5.2 Change
buildDuration 13.4s 13.8s ⚠️ +448ms
nodeModulesSize 65.5 MB 57.2 MB -8.29 MB
Client Bundles (main, webpack, commons) Overall decrease ✓
vercel/next.js canary v9.5.1 vercel/next.js refs/tags/v9.5.2 Change
677f882d2ed8..b7a9.js gzip 10.2 kB N/A N/A
framework.HASH.js gzip 39.1 kB 39.1 kB
main-646fd73..0fae.js gzip 6.75 kB N/A N/A
webpack-488d..c0e7.js gzip 751 B N/A N/A
677f882d2ed8..6aa6.js gzip N/A 10 kB N/A
main-9a7a5f4..661e.js gzip N/A 6.71 kB N/A
webpack-ccf5..276a.js gzip N/A 751 B N/A
Overall change 56.8 kB 56.6 kB -189 B
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
vercel/next.js canary v9.5.1 vercel/next.js refs/tags/v9.5.2 Change
677f882d2ed8..dule.js gzip 6.09 kB N/A N/A
framework.HA..dule.js gzip 39.1 kB 39.1 kB
main-600b543..dule.js gzip 5.83 kB N/A N/A
webpack-4f62..dule.js gzip 751 B N/A N/A
677f882d2ed8..dule.js gzip N/A 5.92 kB N/A
main-d0ac695..dule.js gzip N/A 5.79 kB N/A
webpack-10c7..dule.js gzip N/A 751 B N/A
Overall change 51.8 kB 51.6 kB -209 B
Legacy Client Bundles (polyfills) Overall increase ⚠️
vercel/next.js canary v9.5.1 vercel/next.js refs/tags/v9.5.2 Change
polyfills-05..1236.js gzip 30.8 kB N/A N/A
polyfills-75..1629.js gzip N/A 31 kB N/A
Overall change 30.8 kB 31 kB ⚠️ +197 B
Client Pages Overall decrease ✓
vercel/next.js canary v9.5.1 vercel/next.js refs/tags/v9.5.2 Change
_app-8f5f611..1f7b.js gzip 1.28 kB N/A N/A
_error-a98d9..5cb7.js gzip 3.45 kB N/A N/A
hooks-f7f3d0..7465.js gzip 887 B N/A N/A
index-08fb3f..c0e9.js gzip 227 B N/A N/A
link-6f8445b..99e1.js gzip 1.3 kB N/A N/A
routerDirect..8aa1.js gzip 284 B N/A N/A
withRouter-f..e777.js gzip 284 B N/A N/A
_app-874bd8a..0103.js gzip N/A 1.28 kB N/A
_error-fa39c..ec40.js gzip N/A 3.45 kB N/A
hooks-585f07..95a3.js gzip N/A 887 B N/A
index-c7b63f..fc02.js gzip N/A 227 B N/A
link-4c2bd9b..eadd.js gzip N/A 1.29 kB N/A
routerDirect..ebc7.js gzip N/A 284 B N/A
withRouter-2..db68.js gzip N/A 284 B N/A
Overall change 7.72 kB 7.71 kB -3 B
Client Pages Modern Overall increase ⚠️
vercel/next.js canary v9.5.1 vercel/next.js refs/tags/v9.5.2 Change
_app-669dbe5..dule.js gzip 626 B N/A N/A
_error-d5979..dule.js gzip 2.3 kB N/A N/A
hooks-805c40..dule.js gzip 387 B N/A N/A
index-6ba5a4..dule.js gzip 226 B N/A N/A
link-91516ae..dule.js gzip 1.25 kB N/A N/A
routerDirect..dule.js gzip 284 B N/A N/A
withRouter-d..dule.js gzip 282 B N/A N/A
_app-97e743e..dule.js gzip N/A 626 B N/A
_error-b4004..dule.js gzip N/A 2.3 kB N/A
hooks-696209..dule.js gzip N/A 387 B N/A
index-a4dd74..dule.js gzip N/A 226 B N/A
link-236a801..dule.js gzip N/A 1.26 kB N/A
routerDirect..dule.js gzip N/A 284 B N/A
withRouter-1..dule.js gzip N/A 282 B N/A
Overall change 5.36 kB 5.37 kB ⚠️ +10 B
Client Build Manifests Overall decrease ✓
vercel/next.js canary v9.5.1 vercel/next.js refs/tags/v9.5.2 Change
_buildManifest.js gzip 274 B 273 B -1 B
_buildManife..dule.js gzip 282 B 279 B -3 B
Overall change 556 B 552 B -4 B
Serverless bundles Overall increase ⚠️
vercel/next.js canary v9.5.1 vercel/next.js refs/tags/v9.5.2 Change
_error.js 1.02 MB 1.03 MB ⚠️ +11.7 kB
404.html 4.18 kB 4.18 kB
hooks.html 3.82 kB 3.82 kB
index.js 1.02 MB 1.03 MB ⚠️ +11.7 kB
link.js 1.06 MB 1.07 MB ⚠️ +11.9 kB
routerDirect.js 1.05 MB 1.06 MB ⚠️ +12 kB
withRouter.js 1.05 MB 1.06 MB ⚠️ +12 kB
Overall change 5.2 MB 5.26 MB ⚠️ +59.2 kB

Please sign in to comment.