-
Notifications
You must be signed in to change notification settings - Fork 27.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove querystring from the client #15378
Conversation
Failing test suitesCommit: e96bcb1 test/integration/amphtml-fragment-style/test/index.test.js
Expand output● AMP Fragment Styles › adds styles from fragment in AMP mode correctly
● Test suite failed to run
test/integration/chunking/test/index.test.js
Expand output● Chunking › should use all url friendly names
● Chunking › should create a framework chunk
● Chunking › should not create a commons chunk
● Chunking › should not create a lib chunk for react or react-dom
● Chunking › should not preload the build manifest
● Chunking › should execute the build manifest
● Chunking › should not include more than one instance of react-dom
● Chunking › Serving › should hydrate with aggressive chunking
● Chunking › Serving › should load chunks when navigating
● Test suite failed to run
test/integration/absolute-assetprefix/test/index.test.js
Expand output● absolute assetPrefix with path prefix › should be able to fetch static data from a CDN
● absolute assetPrefix with path prefix › should fetch from cache correctly
● absolute assetPrefix with path prefix › should work with getStaticPaths prerendered
● absolute assetPrefix with path prefix › should work with getStaticPaths fallback
● absolute assetPrefix with path prefix › should work with getServerSideProps
● Test suite failed to run
test/integration/amphtml-custom-optimizer/test/index.test.js
Expand output● AMP Custom Optimizer › should build and start for static page
● AMP Custom Optimizer › should build and start for dynamic page
test/integration/api-support/test/index.test.js
Expand output● API routes › dev support › should render page
● API routes › dev support › should return 404 for undefined path
● API routes › dev support › should not conflict with /api routes
● API routes › dev support › should set cors headers when adding cors middleware
● API routes › dev support › should work with index api
● API routes › dev support › should return custom error
● API routes › dev support › should throw Internal Server Error
● API routes › dev support › should throw Internal Server Error (async)
● API routes › dev support › should parse JSON body
● API routes › dev support › should special-case empty JSON body
● API routes › dev support › should support boolean for JSON in api page
● API routes › dev support › should return error with invalid JSON
● API routes › dev support › should return error exceeded body limit
● API routes › dev support › should parse bigger body then 1mb
● API routes › dev support › should support etag spec
● API routes › dev support › should parse urlencoded body
● API routes › dev support › should parse body in handler
● API routes › dev support › should parse body with config
● API routes › dev support › should redirect with status code 307
● API routes › dev support › should redirect to login
● API routes › dev support › should redirect with status code 301
● API routes › dev support › should return empty query object
● API routes › dev support › should parse query correctly
● API routes › dev support › should return empty cookies object
● API routes › dev support › should return cookies object
● API routes › dev support › should return 200 on POST on pages
● API routes › dev support › should return JSON on post on API
● API routes › dev support › should return data on dynamic route
● API routes › dev support › should work with dynamic params and search string
● API routes › dev support › should work with dynamic params and search string like lambda
● API routes › dev support › should prioritize a non-dynamic page
● API routes › dev support › should return data on dynamic nested route
● API routes › dev support › should 404 on optional dynamic api page
● API routes › dev support › should return data on dynamic optional nested route
● API routes › dev support › should work with child_process correctly
● API routes › dev support › should compile only server code in development
● API routes › dev support › should show warning when the API resolves without ending the request in dev mode
● API routes › dev support › should not show warning when the API resolves and the response is piped
● API routes › dev support › should show false positive warning if not using externalResolver flag
● API routes › dev support › should not show warning if using externalResolver flag
● API routes › Server support › should render page
● API routes › Server support › should return 404 for undefined path
● API routes › Server support › should not conflict with /api routes
● API routes › Server support › should set cors headers when adding cors middleware
● API routes › Server support › should work with index api
● API routes › Server support › should return custom error
● API routes › Server support › should throw Internal Server Error
● API routes › Server support › should throw Internal Server Error (async)
● API routes › Server support › should parse JSON body
● API routes › Server support › should special-case empty JSON body
● API routes › Server support › should support boolean for JSON in api page
● API routes › Server support › should return error with invalid JSON
● API routes › Server support › should return error exceeded body limit
● API routes › Server support › should parse bigger body then 1mb
● API routes › Server support › should support etag spec
● API routes › Server support › should parse urlencoded body
● API routes › Server support › should parse body in handler
● API routes › Server support › should parse body with config
● API routes › Server support › should redirect with status code 307
● API routes › Server support › should redirect to login
● API routes › Server support › should redirect with status code 301
● API routes › Server support › should return empty query object
● API routes › Server support › should parse query correctly
● API routes › Server support › should return empty cookies object
● API routes › Server support › should return cookies object
● API routes › Server support › should return 200 on POST on pages
● API routes › Server support › should return JSON on post on API
● API routes › Server support › should return data on dynamic route
● API routes › Server support › should work with dynamic params and search string
● API routes › Server support › should work with dynamic params and search string like lambda
● API routes › Server support › should prioritize a non-dynamic page
● API routes › Server support › should return data on dynamic nested route
● API routes › Server support › should 404 on optional dynamic api page
● API routes › Server support › should return data on dynamic optional nested route
● API routes › Server support › should work with child_process correctly
● API routes › Server support › should show warning with next export
● API routes › Server support › should build api routes
● API routes › Serverless support › should render page
● API routes › Serverless support › should return 404 for undefined path
● API routes › Serverless support › should not conflict with /api routes
● API routes › Serverless support › should set cors headers when adding cors middleware
● API routes › Serverless support › should work with index api
● API routes › Serverless support › should return custom error
● API routes › Serverless support › should throw Internal Server Error
● API routes › Serverless support › should throw Internal Server Error (async)
● API routes › Serverless support › should parse JSON body
● API routes › Serverless support › should special-case empty JSON body
● API routes › Serverless support › should support boolean for JSON in api page
● API routes › Serverless support › should return error with invalid JSON
● API routes › Serverless support › should return error exceeded body limit
● API routes › Serverless support › should parse bigger body then 1mb
● API routes › Serverless support › should support etag spec
● API routes › Serverless support › should parse urlencoded body
● API routes › Serverless support › should parse body in handler
● API routes › Serverless support › should parse body with config
● API routes › Serverless support › should redirect with status code 307
● API routes › Serverless support › should redirect to login
● API routes › Serverless support › should redirect with status code 301
● API routes › Serverless support › should return empty query object
● API routes › Serverless support › should parse query correctly
● API routes › Serverless support › should return empty cookies object
● API routes › Serverless support › should return cookies object
● API routes › Serverless support › should return 200 on POST on pages
● API routes › Serverless support › should return JSON on post on API
● API routes › Serverless support › should return data on dynamic route
● API routes › Serverless support › should work with dynamic params and search string
● API routes › Serverless support › should work with dynamic params and search string like lambda
● API routes › Serverless support › should prioritize a non-dynamic page
● API routes › Serverless support › should return data on dynamic nested route
● API routes › Serverless support › should 404 on optional dynamic api page
● API routes › Serverless support › should return data on dynamic optional nested route
● API routes › Serverless support › should work with child_process correctly
● API routes › Serverless support › should show warning with next export
● API routes › Serverless support › should build api routes
● Test suite failed to run
● Test suite failed to run
● Test suite failed to run
test/integration/404-page/test/index.test.js
Expand output● 404 Page Support › dev mode › should use pages/404
● 404 Page Support › dev mode › should set correct status code with pages/404
● 404 Page Support › dev mode › should not error when visited directly
● 404 Page Support › dev mode › should render _error for a 500 error still
● 404 Page Support › server mode › should use pages/404
● 404 Page Support › server mode › should set correct status code with pages/404
● 404 Page Support › server mode › should not error when visited directly
● 404 Page Support › server mode › should render _error for a 500 error still
● 404 Page Support › server mode › should output 404.html during build
● 404 Page Support › server mode › should add /404 to pages-manifest correctly
● 404 Page Support › serverless mode › should use pages/404
● 404 Page Support › serverless mode › should set correct status code with pages/404
● 404 Page Support › serverless mode › should not error when visited directly
● 404 Page Support › serverless mode › should render _error for a 500 error still
● 404 Page Support › serverless mode › should output 404.html during build
● 404 Page Support › serverless mode › should add /404 to pages-manifest correctly
● 404 Page Support › falls back to _error correctly without pages/404
● 404 Page Support › shows error with getInitialProps in pages/404 build
● 404 Page Support › shows error with getInitialProps in pages/404 dev
● 404 Page Support › does not show error with getStaticProps in pages/404 build
● 404 Page Support › does not show error with getStaticProps in pages/404 dev
● 404 Page Support › shows error with getServerSideProps in pages/404 build
● 404 Page Support › shows error with getServerSideProps in pages/404 dev
● Test suite failed to run
● Test suite failed to run
● Test suite failed to run
|
Stats from current PRDefault Server Mode (Increase detected
|
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
buildDuration | 11.5s | 11s | -467ms |
nodeModulesSize | 66.4 MB | 66.4 MB |
Page Load Tests Overall increase ✓
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 1.836 | 1.761 | -0.08 |
/ avg req/sec | 1361.89 | 1419.72 | +57.83 |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.093 | 1.021 | -0.07 |
/error-in-render avg req/sec | 2287.68 | 2449.65 | +161.97 |
Client Bundles (main, webpack, commons) Overall decrease ✓
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
677f882d2ed8..5755.js gzip | 10.1 kB | 9.79 kB | -286 B |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
main-d8a3f1c..06ea.js gzip | 6.72 kB | 6.72 kB | |
polyfills-05..1236.js gzip | 30.8 kB | 30.8 kB | ✓ |
webpack-488d..c0e7.js gzip | 751 B | 751 B | ✓ |
Overall change | 87.5 kB | 87.2 kB | -280 B |
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
677f882d2ed8..dule.js gzip | 6.1 kB | 5.79 kB | -317 B |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
main-e63c4e5..dule.js gzip | 5.79 kB | 5.8 kB | |
polyfills-05..dule.js gzip | 30.8 kB | 30.8 kB | ✓ |
webpack-4f62..dule.js gzip | 751 B | 751 B | ✓ |
Overall change | 82.6 kB | 82.3 kB | -316 B |
Client Pages
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
_app-8f5f611..1f7b.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-8e69b..8695.js gzip | 3.41 kB | 3.41 kB | ✓ |
hooks-f7f3d0..7465.js gzip | 887 B | 887 B | ✓ |
index-08fb3f..c0e9.js gzip | 227 B | 227 B | ✓ |
link-ddd176e..5566.js gzip | 1.29 kB | 1.29 kB | ✓ |
routerDirect..8aa1.js gzip | 284 B | 284 B | ✓ |
withRouter-f..e777.js gzip | 284 B | 284 B | ✓ |
Overall change | 7.66 kB | 7.66 kB | ✓ |
Client Pages Modern
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
_app-669dbe5..dule.js gzip | 626 B | 626 B | ✓ |
_error-663e6..dule.js gzip | 2.24 kB | 2.24 kB | ✓ |
hooks-805c40..dule.js gzip | 387 B | 387 B | ✓ |
index-6ba5a4..dule.js gzip | 226 B | 226 B | ✓ |
link-69bc264..dule.js gzip | 1.25 kB | 1.25 kB | ✓ |
routerDirect..dule.js gzip | 284 B | 284 B | ✓ |
withRouter-d..dule.js gzip | 282 B | 282 B | ✓ |
Overall change | 5.29 kB | 5.29 kB | ✓ |
Client Build Manifests
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
_buildManifest.js gzip | 275 B | 275 B | ✓ |
_buildManife..dule.js gzip | 281 B | 281 B | ✓ |
Overall change | 556 B | 556 B | ✓ |
Rendered Page Sizes Overall decrease ✓
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
index.html gzip | 948 B | 946 B | -2 B |
link.html gzip | 954 B | 952 B | -2 B |
withRouter.html gzip | 940 B | 938 B | -2 B |
Overall change | 2.84 kB | 2.84 kB | -6 B |
Diffs
Diff for 677f882d2ed8..4c1625eb6.js
@@ -121,98 +121,70 @@
/***/
},
- /***/ "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;
+ var _slicedToArray = __webpack_require__("J4zp");
- 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(function(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(function(_ref) {
+ var _ref2 = _slicedToArray(_ref, 2),
+ key = _ref2[0],
+ value = _ref2[1];
- module.exports = function(obj, sep, eq, name) {
- sep = sep || "&";
- eq = eq || "=";
- if (obj === null) {
- obj = undefined;
- }
+ if (Array.isArray(value)) {
+ value.forEach(function(item) {
+ return 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(function(searchParams) {
+ Array.from(searchParams.keys()).forEach(function(key) {
+ return target["delete"](key);
+ });
+ searchParams.forEach(function(value, key) {
+ return 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 +194,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
@@ -269,8 +299,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)) || "";
@@ -580,29 +609,6 @@
/***/
},
- /***/ cE6r: /***/ function(module, exports, __webpack_require__) {
- "use strict";
-
- exports.__esModule = true;
- exports.searchParamsToUrlQuery = searchParamsToUrlQuery;
-
- function searchParamsToUrlQuery(searchParams) {
- var query = {};
- searchParams.forEach(function(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";
@@ -682,7 +688,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");
@@ -1140,8 +1146,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
case 16:
(pathname = parsed.pathname),
(searchParams = parsed.searchParams);
- query = (0,
- _searchParamsToUrlQuery.searchParamsToUrlQuery)(
+ 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
@@ -2230,99 +2235,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]";
- };
-
- /***/
- },
-
/***/ ls82: /***/ function(module, exports, __webpack_require__) {
/**
* Copyright (c) 2014-present, Facebook, Inc.
@@ -3430,15 +3342,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
/***/
},
- /***/ s4NR: /***/ function(module, exports, __webpack_require__) {
- "use strict";
-
- exports.decode = exports.parse = __webpack_require__("kd2E");
- exports.encode = exports.stringify = __webpack_require__("4JlD");
-
- /***/
- },
-
/***/ sXyB: /***/ function(module, exports, __webpack_require__) {
var setPrototypeOf = __webpack_require__("SksO");
Diff for 677f882d2ed8..bf.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";
@@ -551,7 +547,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");
@@ -935,9 +931,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
@@ -1574,99 +1568,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";
@@ -1871,15 +1772,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 main-233fc7b..ab.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"));
@@ -296,10 +296,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,
@@ -1129,7 +1129,7 @@
var _routeRegex = __webpack_require__("YTqd");
- var _searchParamsToUrlQuery = __webpack_require__("cE6r");
+ var _querystring = __webpack_require__("3WeD");
var _parseRelativeUrl = __webpack_require__("hS4m");
@@ -1249,9 +1249,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 main-beb4247..4150405ff.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"));
@@ -400,10 +400,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,
@@ -1490,7 +1490,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
var _routeRegex = __webpack_require__("YTqd");
- var _searchParamsToUrlQuery = __webpack_require__("cE6r");
+ var _querystring = __webpack_require__("3WeD");
var _parseRelativeUrl = __webpack_require__("hS4m");
@@ -1629,7 +1629,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 index.html
@@ -6,7 +6,7 @@
<meta name="next-head-count" content="2" />
<link
rel="preload"
- href="/_next/static/chunks/main-233fc7bd50b7ad77c6ab.module.js"
+ href="/_next/static/chunks/main-aa059a39dd213e3668d5.module.js"
as="script"
crossorigin="anonymous"
/>
@@ -24,7 +24,7 @@
/>
<link
rel="preload"
- href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.d8c79cdca1f5b78aa6bf.module.js"
+ href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.48745cbc80ee779a46da.module.js"
as="script"
crossorigin="anonymous"
/>
@@ -81,13 +81,13 @@
src="/_next/static/chunks/polyfills-cdbbd579644400b29b58.js"
></script>
<script
- src="/_next/static/chunks/main-beb424737c04150405ff.js"
+ src="/_next/static/chunks/main-0a52f88b9f909840165d.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/main-233fc7bd50b7ad77c6ab.module.js"
+ src="/_next/static/chunks/main-aa059a39dd213e3668d5.module.js"
async=""
crossorigin="anonymous"
type="module"
@@ -117,13 +117,13 @@
type="module"
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.47129aa59ae4c1625eb6.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.e3e4f510bec04ff07758.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.d8c79cdca1f5b78aa6bf.module.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.48745cbc80ee779a46da.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-233fc7bd50b7ad77c6ab.module.js"
+ href="/_next/static/chunks/main-aa059a39dd213e3668d5.module.js"
as="script"
crossorigin="anonymous"
/>
@@ -24,7 +24,7 @@
/>
<link
rel="preload"
- href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.d8c79cdca1f5b78aa6bf.module.js"
+ href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.48745cbc80ee779a46da.module.js"
as="script"
crossorigin="anonymous"
/>
@@ -86,13 +86,13 @@
src="/_next/static/chunks/polyfills-cdbbd579644400b29b58.js"
></script>
<script
- src="/_next/static/chunks/main-beb424737c04150405ff.js"
+ src="/_next/static/chunks/main-0a52f88b9f909840165d.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/main-233fc7bd50b7ad77c6ab.module.js"
+ src="/_next/static/chunks/main-aa059a39dd213e3668d5.module.js"
async=""
crossorigin="anonymous"
type="module"
@@ -122,13 +122,13 @@
type="module"
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.47129aa59ae4c1625eb6.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.e3e4f510bec04ff07758.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.d8c79cdca1f5b78aa6bf.module.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.48745cbc80ee779a46da.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-233fc7bd50b7ad77c6ab.module.js"
+ href="/_next/static/chunks/main-aa059a39dd213e3668d5.module.js"
as="script"
crossorigin="anonymous"
/>
@@ -24,7 +24,7 @@
/>
<link
rel="preload"
- href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.d8c79cdca1f5b78aa6bf.module.js"
+ href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.48745cbc80ee779a46da.module.js"
as="script"
crossorigin="anonymous"
/>
@@ -81,13 +81,13 @@
src="/_next/static/chunks/polyfills-cdbbd579644400b29b58.js"
></script>
<script
- src="/_next/static/chunks/main-beb424737c04150405ff.js"
+ src="/_next/static/chunks/main-0a52f88b9f909840165d.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/main-233fc7bd50b7ad77c6ab.module.js"
+ src="/_next/static/chunks/main-aa059a39dd213e3668d5.module.js"
async=""
crossorigin="anonymous"
type="module"
@@ -117,13 +117,13 @@
type="module"
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.47129aa59ae4c1625eb6.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.e3e4f510bec04ff07758.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.d8c79cdca1f5b78aa6bf.module.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.48745cbc80ee779a46da.module.js"
async=""
crossorigin="anonymous"
type="module"
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
buildDuration | 12.2s | 12.5s | |
nodeModulesSize | 66.4 MB | 66.4 MB |
Client Bundles (main, webpack, commons) Overall decrease ✓
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
677f882d2ed8..5755.js gzip | 10.1 kB | N/A | N/A |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
main-d8a3f1c..06ea.js gzip | 6.72 kB | N/A | N/A |
polyfills-05..1236.js gzip | 30.8 kB | 30.8 kB | ✓ |
webpack-488d..c0e7.js gzip | 751 B | 751 B | ✓ |
677f882d2ed8..0fa4.js gzip | N/A | 9.79 kB | N/A |
main-9dc4bed..be2b.js gzip | N/A | 6.72 kB | N/A |
Overall change | 87.5 kB | 87.2 kB | -280 B |
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
677f882d2ed8..dule.js gzip | 6.1 kB | N/A | N/A |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
main-e63c4e5..dule.js gzip | 5.79 kB | N/A | N/A |
polyfills-05..dule.js gzip | 30.8 kB | 30.8 kB | ✓ |
webpack-4f62..dule.js gzip | 751 B | 751 B | ✓ |
677f882d2ed8..dule.js gzip | N/A | 5.79 kB | N/A |
main-5098b50..dule.js gzip | N/A | 5.8 kB | N/A |
Overall change | 82.6 kB | 82.3 kB | -316 B |
Client Pages
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
_app-8f5f611..1f7b.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-8e69b..8695.js gzip | 3.41 kB | 3.41 kB | ✓ |
hooks-f7f3d0..7465.js gzip | 887 B | 887 B | ✓ |
index-08fb3f..c0e9.js gzip | 227 B | 227 B | ✓ |
link-ddd176e..5566.js gzip | 1.29 kB | 1.29 kB | ✓ |
routerDirect..8aa1.js gzip | 284 B | 284 B | ✓ |
withRouter-f..e777.js gzip | 284 B | 284 B | ✓ |
Overall change | 7.66 kB | 7.66 kB | ✓ |
Client Pages Modern
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
_app-669dbe5..dule.js gzip | 626 B | 626 B | ✓ |
_error-663e6..dule.js gzip | 2.24 kB | 2.24 kB | ✓ |
hooks-805c40..dule.js gzip | 387 B | 387 B | ✓ |
index-6ba5a4..dule.js gzip | 226 B | 226 B | ✓ |
link-69bc264..dule.js gzip | 1.25 kB | 1.25 kB | ✓ |
routerDirect..dule.js gzip | 284 B | 284 B | ✓ |
withRouter-d..dule.js gzip | 282 B | 282 B | ✓ |
Overall change | 5.29 kB | 5.29 kB | ✓ |
Client Build Manifests
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
_buildManifest.js gzip | 275 B | 275 B | ✓ |
_buildManife..dule.js gzip | 281 B | 281 B | ✓ |
Overall change | 556 B | 556 B | ✓ |
Serverless bundles Overall increase ⚠️
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
_error.js | 881 kB | 883 kB | |
404.html | 4.18 kB | 4.18 kB | ✓ |
hooks.html | 3.82 kB | 3.82 kB | ✓ |
index.js | 881 kB | 884 kB | |
link.js | 922 kB | 923 kB | |
routerDirect.js | 916 kB | 917 kB | |
withRouter.js | 916 kB | 917 kB | |
Overall change | 4.52 MB | 4.53 MB |
Stats from current PRDefault Server Mode (Increase detected
|
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
buildDuration | 12.3s | 12.5s | |
nodeModulesSize | 65.5 MB | 65.5 MB |
Page Load Tests Overall increase ✓
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 2.264 | 2.303 | |
/ avg req/sec | 1104.08 | 1085.61 | |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.396 | 1.365 | -0.03 |
/error-in-render avg req/sec | 1790.73 | 1832.17 | +41.44 |
Client Bundles (main, webpack, commons) Overall decrease ✓
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
677f882d2ed8..b7a9.js gzip | 10.2 kB | 9.89 kB | -284 B |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
main-af9a1a4..87fe.js gzip | 6.71 kB | 6.72 kB | |
polyfills-05..1236.js gzip | 30.8 kB | 30.8 kB | ✓ |
webpack-488d..c0e7.js gzip | 751 B | 751 B | ✓ |
Overall change | 87.6 kB | 87.3 kB | -278 B |
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
677f882d2ed8..dule.js gzip | 6.09 kB | 5.77 kB | -320 B |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
main-69d5e5f..dule.js gzip | 5.79 kB | 5.79 kB | |
polyfills-05..dule.js gzip | 30.8 kB | 30.8 kB | ✓ |
webpack-4f62..dule.js gzip | 751 B | 751 B | ✓ |
Overall change | 82.6 kB | 82.3 kB | -318 B |
Client Pages
vercel/next.js canary | Janpot/next.js remove-qs | 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-ddd176e..5566.js gzip | 1.29 kB | 1.29 kB | ✓ |
routerDirect..8aa1.js gzip | 284 B | 284 B | ✓ |
withRouter-f..e777.js gzip | 284 B | 284 B | ✓ |
Overall change | 7.71 kB | 7.71 kB | ✓ |
Client Pages Modern
vercel/next.js canary | Janpot/next.js remove-qs | 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-69bc264..dule.js gzip | 1.25 kB | 1.25 kB | ✓ |
routerDirect..dule.js gzip | 284 B | 284 B | ✓ |
withRouter-d..dule.js gzip | 282 B | 282 B | ✓ |
Overall change | 5.36 kB | 5.36 kB | ✓ |
Client Build Manifests
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
_buildManifest.js gzip | 275 B | 275 B | ✓ |
_buildManife..dule.js gzip | 281 B | 281 B | ✓ |
Overall change | 556 B | 556 B | ✓ |
Rendered Page Sizes Overall decrease ✓
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
index.html gzip | 946 B | 947 B | |
link.html gzip | 953 B | 952 B | -1 B |
withRouter.html gzip | 940 B | 939 B | -1 B |
Overall change | 2.84 kB | 2.84 kB | -1 B |
Diffs
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";
@@ -551,7 +547,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");
@@ -941,9 +937,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
@@ -1579,99 +1573,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 +1777,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
@@ -121,98 +121,70 @@
/***/
},
- /***/ "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;
+ var _slicedToArray = __webpack_require__("J4zp");
- 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(function(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(function(_ref) {
+ var _ref2 = _slicedToArray(_ref, 2),
+ key = _ref2[0],
+ value = _ref2[1];
- module.exports = function(obj, sep, eq, name) {
- sep = sep || "&";
- eq = eq || "=";
- if (obj === null) {
- obj = undefined;
- }
+ if (Array.isArray(value)) {
+ value.forEach(function(item) {
+ return 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(function(searchParams) {
+ Array.from(searchParams.keys()).forEach(function(key) {
+ return target["delete"](key);
+ });
+ searchParams.forEach(function(value, key) {
+ return 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 +194,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
@@ -269,8 +299,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)) || "";
@@ -580,29 +609,6 @@
/***/
},
- /***/ cE6r: /***/ function(module, exports, __webpack_require__) {
- "use strict";
-
- exports.__esModule = true;
- exports.searchParamsToUrlQuery = searchParamsToUrlQuery;
-
- function searchParamsToUrlQuery(searchParams) {
- var query = {};
- searchParams.forEach(function(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";
@@ -682,7 +688,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");
@@ -1146,8 +1152,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
case 16:
(pathname = parsed.pathname),
(searchParams = parsed.searchParams);
- query = (0,
- _searchParamsToUrlQuery.searchParamsToUrlQuery)(
+ 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
@@ -2280,99 +2285,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]";
- };
-
- /***/
- },
-
/***/ ls82: /***/ function(module, exports, __webpack_require__) {
/**
* Copyright (c) 2014-present, Facebook, Inc.
@@ -3494,15 +3406,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
/***/
},
- /***/ s4NR: /***/ function(module, exports, __webpack_require__) {
- "use strict";
-
- exports.decode = exports.parse = __webpack_require__("kd2E");
- exports.encode = exports.stringify = __webpack_require__("4JlD");
-
- /***/
- },
-
/***/ sXyB: /***/ function(module, exports, __webpack_require__) {
var setPrototypeOf = __webpack_require__("SksO");
Diff for main-3788e5e..7f57176d6.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"));
@@ -400,10 +400,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,
@@ -1490,7 +1490,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
var _routeRegex = __webpack_require__("YTqd");
- var _searchParamsToUrlQuery = __webpack_require__("cE6r");
+ var _querystring = __webpack_require__("3WeD");
var _parseRelativeUrl = __webpack_require__("hS4m");
@@ -1629,7 +1629,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-6b940b5..9a.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"));
@@ -296,10 +296,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,
@@ -1129,7 +1129,7 @@
var _routeRegex = __webpack_require__("YTqd");
- var _searchParamsToUrlQuery = __webpack_require__("cE6r");
+ var _querystring = __webpack_require__("3WeD");
var _parseRelativeUrl = __webpack_require__("hS4m");
@@ -1249,9 +1249,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 index.html
@@ -6,7 +6,7 @@
<meta name="next-head-count" content="2" />
<link
rel="preload"
- href="/_next/static/chunks/main-6b940b53117a1440949a.module.js"
+ href="/_next/static/chunks/main-97ece135bfc9ff013020.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.624ba65a9147712f2e55.module.js"
as="script"
crossorigin="anonymous"
/>
@@ -81,13 +81,13 @@
src="/_next/static/chunks/polyfills-cdbbd579644400b29b58.js"
></script>
<script
- src="/_next/static/chunks/main-3788e5ef2307f57176d6.js"
+ src="/_next/static/chunks/main-82e35b06b82913101663.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/main-6b940b53117a1440949a.module.js"
+ src="/_next/static/chunks/main-97ece135bfc9ff013020.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.87c251b0f6a0db9a6b2d.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.277a28e61ddacb493af9.module.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.624ba65a9147712f2e55.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-6b940b53117a1440949a.module.js"
+ href="/_next/static/chunks/main-97ece135bfc9ff013020.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.624ba65a9147712f2e55.module.js"
as="script"
crossorigin="anonymous"
/>
@@ -86,13 +86,13 @@
src="/_next/static/chunks/polyfills-cdbbd579644400b29b58.js"
></script>
<script
- src="/_next/static/chunks/main-3788e5ef2307f57176d6.js"
+ src="/_next/static/chunks/main-82e35b06b82913101663.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/main-6b940b53117a1440949a.module.js"
+ src="/_next/static/chunks/main-97ece135bfc9ff013020.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.87c251b0f6a0db9a6b2d.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.277a28e61ddacb493af9.module.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.624ba65a9147712f2e55.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-6b940b53117a1440949a.module.js"
+ href="/_next/static/chunks/main-97ece135bfc9ff013020.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.624ba65a9147712f2e55.module.js"
as="script"
crossorigin="anonymous"
/>
@@ -81,13 +81,13 @@
src="/_next/static/chunks/polyfills-cdbbd579644400b29b58.js"
></script>
<script
- src="/_next/static/chunks/main-3788e5ef2307f57176d6.js"
+ src="/_next/static/chunks/main-82e35b06b82913101663.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/main-6b940b53117a1440949a.module.js"
+ src="/_next/static/chunks/main-97ece135bfc9ff013020.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.87c251b0f6a0db9a6b2d.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.277a28e61ddacb493af9.module.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.624ba65a9147712f2e55.module.js"
async=""
crossorigin="anonymous"
type="module"
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
buildDuration | 13.9s | 13.9s | -31ms |
nodeModulesSize | 65.5 MB | 65.5 MB |
Client Bundles (main, webpack, commons) Overall decrease ✓
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
677f882d2ed8..b7a9.js gzip | 10.2 kB | N/A | N/A |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
main-af9a1a4..87fe.js gzip | 6.71 kB | N/A | N/A |
polyfills-05..1236.js gzip | 30.8 kB | 30.8 kB | ✓ |
webpack-488d..c0e7.js gzip | 751 B | 751 B | ✓ |
677f882d2ed8..fbd2.js gzip | N/A | 9.89 kB | N/A |
main-734377c..c6eb.js gzip | N/A | 6.72 kB | N/A |
Overall change | 87.6 kB | 87.3 kB | -278 B |
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
677f882d2ed8..dule.js gzip | 6.09 kB | N/A | N/A |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
main-69d5e5f..dule.js gzip | 5.79 kB | N/A | N/A |
polyfills-05..dule.js gzip | 30.8 kB | 30.8 kB | ✓ |
webpack-4f62..dule.js gzip | 751 B | 751 B | ✓ |
677f882d2ed8..dule.js gzip | N/A | 5.77 kB | N/A |
main-5b28d7a..dule.js gzip | N/A | 5.79 kB | N/A |
Overall change | 82.6 kB | 82.3 kB | -318 B |
Client Pages
vercel/next.js canary | Janpot/next.js remove-qs | 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-ddd176e..5566.js gzip | 1.29 kB | 1.29 kB | ✓ |
routerDirect..8aa1.js gzip | 284 B | 284 B | ✓ |
withRouter-f..e777.js gzip | 284 B | 284 B | ✓ |
Overall change | 7.71 kB | 7.71 kB | ✓ |
Client Pages Modern
vercel/next.js canary | Janpot/next.js remove-qs | 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-69bc264..dule.js gzip | 1.25 kB | 1.25 kB | ✓ |
routerDirect..dule.js gzip | 284 B | 284 B | ✓ |
withRouter-d..dule.js gzip | 282 B | 282 B | ✓ |
Overall change | 5.36 kB | 5.36 kB | ✓ |
Client Build Manifests
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
_buildManifest.js gzip | 275 B | 275 B | ✓ |
_buildManife..dule.js gzip | 281 B | 281 B | ✓ |
Overall change | 556 B | 556 B | ✓ |
Serverless bundles Overall increase ⚠️
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
_error.js | 1.02 MB | 1.02 MB | |
404.html | 4.18 kB | 4.18 kB | ✓ |
hooks.html | 3.82 kB | 3.82 kB | ✓ |
index.js | 1.02 MB | 1.02 MB | |
link.js | 1.06 MB | 1.06 MB | |
routerDirect.js | 1.05 MB | 1.05 MB | |
withRouter.js | 1.05 MB | 1.05 MB | |
Overall change | 5.2 MB | 5.21 MB |
Stats from current PRDefault Server Mode (Decrease detected ✓)General Overall increase
|
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
buildDuration | 13.5s | 13.7s | |
nodeModulesSize | 65.5 MB | 65.5 MB |
Page Load Tests Overall decrease ⚠️
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 2.456 | 2.484 | |
/ avg req/sec | 1017.99 | 1006.49 | |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.52 | 1.535 | |
/error-in-render avg req/sec | 1644.36 | 1628.69 |
Client Bundles (main, webpack, commons) Overall decrease ✓
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
677f882d2ed8..b7a9.js gzip | 10.2 kB | 9.89 kB | -284 B |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
main-7efbba9..5962.js gzip | 6.76 kB | 6.77 kB | |
webpack-488d..c0e7.js gzip | 751 B | 751 B | ✓ |
Overall change | 56.8 kB | 56.5 kB | -277 B |
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
677f882d2ed8..dule.js gzip | 6.09 kB | 5.77 kB | -320 B |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
main-763946d..dule.js gzip | 5.84 kB | 5.84 kB | |
webpack-4f62..dule.js gzip | 751 B | 751 B | ✓ |
Overall change | 51.8 kB | 51.5 kB | -319 B |
Legacy Client Bundles (polyfills)
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
polyfills-05..1236.js gzip | 30.8 kB | 30.8 kB | ✓ |
Overall change | 30.8 kB | 30.8 kB | ✓ |
Client Pages
vercel/next.js canary | Janpot/next.js remove-qs | 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 | 1.3 kB | ✓ |
routerDirect..8aa1.js gzip | 284 B | 284 B | ✓ |
withRouter-f..e777.js gzip | 284 B | 284 B | ✓ |
Overall change | 7.72 kB | 7.72 kB | ✓ |
Client Pages Modern
vercel/next.js canary | Janpot/next.js remove-qs | 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 | 1.25 kB | ✓ |
routerDirect..dule.js gzip | 284 B | 284 B | ✓ |
withRouter-d..dule.js gzip | 282 B | 282 B | ✓ |
Overall change | 5.36 kB | 5.36 kB | ✓ |
Client Build Manifests
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
_buildManifest.js gzip | 274 B | 274 B | ✓ |
_buildManife..dule.js gzip | 282 B | 282 B | ✓ |
Overall change | 556 B | 556 B | ✓ |
Rendered Page Sizes Overall increase ⚠️
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
index.html gzip | 946 B | 946 B | ✓ |
link.html gzip | 953 B | 953 B | ✓ |
withRouter.html gzip | 938 B | 939 B | |
Overall change | 2.84 kB | 2.84 kB |
Diffs
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";
@@ -551,7 +547,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");
@@ -941,9 +937,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
@@ -1579,99 +1573,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 +1777,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
@@ -121,98 +121,70 @@
/***/
},
- /***/ "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;
+ var _slicedToArray = __webpack_require__("J4zp");
- 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(function(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(function(_ref) {
+ var _ref2 = _slicedToArray(_ref, 2),
+ key = _ref2[0],
+ value = _ref2[1];
- module.exports = function(obj, sep, eq, name) {
- sep = sep || "&";
- eq = eq || "=";
- if (obj === null) {
- obj = undefined;
- }
+ if (Array.isArray(value)) {
+ value.forEach(function(item) {
+ return 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(function(searchParams) {
+ Array.from(searchParams.keys()).forEach(function(key) {
+ return target["delete"](key);
+ });
+ searchParams.forEach(function(value, key) {
+ return 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 +194,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
@@ -269,8 +299,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)) || "";
@@ -580,29 +609,6 @@
/***/
},
- /***/ cE6r: /***/ function(module, exports, __webpack_require__) {
- "use strict";
-
- exports.__esModule = true;
- exports.searchParamsToUrlQuery = searchParamsToUrlQuery;
-
- function searchParamsToUrlQuery(searchParams) {
- var query = {};
- searchParams.forEach(function(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";
@@ -682,7 +688,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");
@@ -1146,8 +1152,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
case 16:
(pathname = parsed.pathname),
(searchParams = parsed.searchParams);
- query = (0,
- _searchParamsToUrlQuery.searchParamsToUrlQuery)(
+ 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
@@ -2280,99 +2285,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]";
- };
-
- /***/
- },
-
/***/ ls82: /***/ function(module, exports, __webpack_require__) {
/**
* Copyright (c) 2014-present, Facebook, Inc.
@@ -3494,15 +3406,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
/***/
},
- /***/ s4NR: /***/ function(module, exports, __webpack_require__) {
- "use strict";
-
- exports.decode = exports.parse = __webpack_require__("kd2E");
- exports.encode = exports.stringify = __webpack_require__("4JlD");
-
- /***/
- },
-
/***/ sXyB: /***/ function(module, exports, __webpack_require__) {
var setPrototypeOf = __webpack_require__("SksO");
Diff for main-306355c..86680736c.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"));
@@ -400,10 +400,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,
@@ -1490,7 +1490,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
var _routeRegex = __webpack_require__("YTqd");
- var _searchParamsToUrlQuery = __webpack_require__("cE6r");
+ var _querystring = __webpack_require__("3WeD");
var _parseRelativeUrl = __webpack_require__("hS4m");
@@ -1637,7 +1637,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-3b5bed3..46.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"));
@@ -296,10 +296,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,
@@ -1129,7 +1129,7 @@
var _routeRegex = __webpack_require__("YTqd");
- var _searchParamsToUrlQuery = __webpack_require__("cE6r");
+ var _querystring = __webpack_require__("3WeD");
var _parseRelativeUrl = __webpack_require__("hS4m");
@@ -1257,9 +1257,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 index.html
@@ -6,7 +6,7 @@
<meta name="next-head-count" content="2" />
<link
rel="preload"
- href="/_next/static/chunks/main-3b5bed31b37a73599a46.module.js"
+ href="/_next/static/chunks/main-98ed20aeab716a372e1a.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.624ba65a9147712f2e55.module.js"
as="script"
crossorigin="anonymous"
/>
@@ -81,13 +81,13 @@
src="/_next/static/chunks/polyfills-cdbbd579644400b29b58.js"
></script>
<script
- src="/_next/static/chunks/main-306355cc25086680736c.js"
+ src="/_next/static/chunks/main-22f5da34f070fabca74d.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/main-3b5bed31b37a73599a46.module.js"
+ src="/_next/static/chunks/main-98ed20aeab716a372e1a.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.87c251b0f6a0db9a6b2d.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.277a28e61ddacb493af9.module.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.624ba65a9147712f2e55.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-3b5bed31b37a73599a46.module.js"
+ href="/_next/static/chunks/main-98ed20aeab716a372e1a.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.624ba65a9147712f2e55.module.js"
as="script"
crossorigin="anonymous"
/>
@@ -86,13 +86,13 @@
src="/_next/static/chunks/polyfills-cdbbd579644400b29b58.js"
></script>
<script
- src="/_next/static/chunks/main-306355cc25086680736c.js"
+ src="/_next/static/chunks/main-22f5da34f070fabca74d.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/main-3b5bed31b37a73599a46.module.js"
+ src="/_next/static/chunks/main-98ed20aeab716a372e1a.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.87c251b0f6a0db9a6b2d.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.277a28e61ddacb493af9.module.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.624ba65a9147712f2e55.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-3b5bed31b37a73599a46.module.js"
+ href="/_next/static/chunks/main-98ed20aeab716a372e1a.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.624ba65a9147712f2e55.module.js"
as="script"
crossorigin="anonymous"
/>
@@ -81,13 +81,13 @@
src="/_next/static/chunks/polyfills-cdbbd579644400b29b58.js"
></script>
<script
- src="/_next/static/chunks/main-306355cc25086680736c.js"
+ src="/_next/static/chunks/main-22f5da34f070fabca74d.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/main-3b5bed31b37a73599a46.module.js"
+ src="/_next/static/chunks/main-98ed20aeab716a372e1a.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.87c251b0f6a0db9a6b2d.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.277a28e61ddacb493af9.module.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.624ba65a9147712f2e55.module.js"
async=""
crossorigin="anonymous"
type="module"
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
buildDuration | 13.7s | 14.1s | |
nodeModulesSize | 65.5 MB | 65.5 MB |
Client Bundles (main, webpack, commons) Overall decrease ✓
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
677f882d2ed8..b7a9.js gzip | 10.2 kB | N/A | N/A |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
main-7efbba9..5962.js gzip | 6.76 kB | N/A | N/A |
webpack-488d..c0e7.js gzip | 751 B | 751 B | ✓ |
677f882d2ed8..fbd2.js gzip | N/A | 9.89 kB | N/A |
main-13d4fcf..5210.js gzip | N/A | 6.77 kB | N/A |
Overall change | 56.8 kB | 56.5 kB | -277 B |
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
677f882d2ed8..dule.js gzip | 6.09 kB | N/A | N/A |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
main-763946d..dule.js gzip | 5.84 kB | N/A | N/A |
webpack-4f62..dule.js gzip | 751 B | 751 B | ✓ |
677f882d2ed8..dule.js gzip | N/A | 5.77 kB | N/A |
main-5376ed4..dule.js gzip | N/A | 5.84 kB | N/A |
Overall change | 51.8 kB | 51.5 kB | -319 B |
Legacy Client Bundles (polyfills)
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
polyfills-05..1236.js gzip | 30.8 kB | 30.8 kB | ✓ |
Overall change | 30.8 kB | 30.8 kB | ✓ |
Client Pages
vercel/next.js canary | Janpot/next.js remove-qs | 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 | 1.3 kB | ✓ |
routerDirect..8aa1.js gzip | 284 B | 284 B | ✓ |
withRouter-f..e777.js gzip | 284 B | 284 B | ✓ |
Overall change | 7.72 kB | 7.72 kB | ✓ |
Client Pages Modern
vercel/next.js canary | Janpot/next.js remove-qs | 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 | 1.25 kB | ✓ |
routerDirect..dule.js gzip | 284 B | 284 B | ✓ |
withRouter-d..dule.js gzip | 282 B | 282 B | ✓ |
Overall change | 5.36 kB | 5.36 kB | ✓ |
Client Build Manifests
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
_buildManifest.js gzip | 274 B | 274 B | ✓ |
_buildManife..dule.js gzip | 282 B | 282 B | ✓ |
Overall change | 556 B | 556 B | ✓ |
Serverless bundles Overall increase ⚠️
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
_error.js | 1.02 MB | 1.02 MB | |
404.html | 4.18 kB | 4.18 kB | ✓ |
hooks.html | 3.82 kB | 3.82 kB | ✓ |
index.js | 1.02 MB | 1.02 MB | |
link.js | 1.06 MB | 1.06 MB | |
routerDirect.js | 1.05 MB | 1.05 MB | |
withRouter.js | 1.05 MB | 1.05 MB | |
Overall change | 5.2 MB | 5.21 MB |
Stats from current PRDefault Server Mode (Increase detected
|
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
buildDuration | 11.3s | 12.1s | |
nodeModulesSize | 66 MB | 66 MB |
Page Load Tests Overall increase ✓
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 2.213 | 2.177 | -0.04 |
/ avg req/sec | 1129.72 | 1148.62 | +18.9 |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.209 | 1.175 | -0.03 |
/error-in-render avg req/sec | 2068.61 | 2128.03 | +59.42 |
Client Bundles (main, webpack, commons) Overall decrease ✓
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
677f882d2ed8..8895.js gzip | 10.3 kB | 9.99 kB | -279 B |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
main-da9f477..d581.js gzip | 6.73 kB | 6.74 kB | |
webpack-ccf5..276a.js gzip | 751 B | 751 B | ✓ |
Overall change | 56.9 kB | 56.6 kB | -273 B |
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
677f882d2ed8..dule.js gzip | 6.21 kB | 5.89 kB | -321 B |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
main-ccc9938..dule.js gzip | 5.81 kB | 5.81 kB | ✓ |
webpack-10c7..dule.js gzip | 751 B | 751 B | ✓ |
Overall change | 51.9 kB | 51.6 kB | -321 B |
Legacy Client Bundles (polyfills)
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
polyfills-75..1629.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
_app-874bd8a..0103.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-fa39c..ec40.js gzip | 3.45 kB | 3.45 kB | ✓ |
hooks-585f07..95a3.js gzip | 887 B | 887 B | ✓ |
index-c7b63f..fc02.js gzip | 227 B | 227 B | ✓ |
link-f4d2979..e57b.js gzip | 1.29 kB | 1.29 kB | ✓ |
routerDirect..ebc7.js gzip | 284 B | 284 B | ✓ |
withRouter-2..db68.js gzip | 284 B | 284 B | ✓ |
Overall change | 7.71 kB | 7.71 kB | ✓ |
Client Pages Modern
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
_app-97e743e..dule.js gzip | 626 B | 626 B | ✓ |
_error-b4004..dule.js gzip | 2.3 kB | 2.3 kB | ✓ |
hooks-696209..dule.js gzip | 387 B | 387 B | ✓ |
index-a4dd74..dule.js gzip | 226 B | 226 B | ✓ |
link-653c74f..dule.js gzip | 1.26 kB | 1.26 kB | ✓ |
routerDirect..dule.js gzip | 284 B | 284 B | ✓ |
withRouter-1..dule.js gzip | 282 B | 282 B | ✓ |
Overall change | 5.37 kB | 5.37 kB | ✓ |
Client Build Manifests
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
_buildManifest.js gzip | 273 B | 273 B | ✓ |
_buildManife..dule.js gzip | 280 B | 280 B | ✓ |
Overall change | 553 B | 553 B | ✓ |
Rendered Page Sizes Overall decrease ✓
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
index.html gzip | 947 B | 946 B | -1 B |
link.html gzip | 953 B | 953 B | ✓ |
withRouter.html gzip | 942 B | 940 B | -2 B |
Overall change | 2.84 kB | 2.84 kB | -3 B |
Diffs
Diff for 677f882d2ed8..25.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";
@@ -553,7 +549,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");
@@ -962,9 +958,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
@@ -1614,99 +1608,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";
@@ -1911,15 +1812,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..c54397d07.js
@@ -121,98 +121,70 @@
/***/
},
- /***/ "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;
+ var _slicedToArray = __webpack_require__("J4zp");
- 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(function(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(function(_ref) {
+ var _ref2 = _slicedToArray(_ref, 2),
+ key = _ref2[0],
+ value = _ref2[1];
- module.exports = function(obj, sep, eq, name) {
- sep = sep || "&";
- eq = eq || "=";
- if (obj === null) {
- obj = undefined;
- }
+ if (Array.isArray(value)) {
+ value.forEach(function(item) {
+ return 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(function(searchParams) {
+ Array.from(searchParams.keys()).forEach(function(key) {
+ return target["delete"](key);
+ });
+ searchParams.forEach(function(value, key) {
+ return 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 +194,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
@@ -269,8 +299,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)) || "";
@@ -580,29 +609,6 @@
/***/
},
- /***/ cE6r: /***/ function(module, exports, __webpack_require__) {
- "use strict";
-
- exports.__esModule = true;
- exports.searchParamsToUrlQuery = searchParamsToUrlQuery;
-
- function searchParamsToUrlQuery(searchParams) {
- var query = {};
- searchParams.forEach(function(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";
@@ -684,7 +690,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");
@@ -1174,8 +1180,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
case 18:
(pathname = parsed.pathname),
(searchParams = parsed.searchParams);
- query = (0,
- _searchParamsToUrlQuery.searchParamsToUrlQuery)(
+ 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
@@ -2292,99 +2297,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]";
- };
-
- /***/
- },
-
/***/ ls82: /***/ function(module, exports, __webpack_require__) {
/**
* Copyright (c) 2014-present, Facebook, Inc.
@@ -3506,15 +3418,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
/***/
},
- /***/ s4NR: /***/ function(module, exports, __webpack_require__) {
- "use strict";
-
- exports.decode = exports.parse = __webpack_require__("kd2E");
- exports.encode = exports.stringify = __webpack_require__("4JlD");
-
- /***/
- },
-
/***/ sXyB: /***/ function(module, exports, __webpack_require__) {
var setPrototypeOf = __webpack_require__("SksO");
Diff for main-badaab3..727b6039e.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"));
@@ -393,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,
@@ -1483,7 +1483,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
var _routeRegex = __webpack_require__("YTqd");
- var _searchParamsToUrlQuery = __webpack_require__("cE6r");
+ var _querystring = __webpack_require__("3WeD");
var _parseRelativeUrl = __webpack_require__("hS4m");
@@ -1630,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-d0f2719..fc.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"));
@@ -289,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,
@@ -1122,7 +1122,7 @@
var _routeRegex = __webpack_require__("YTqd");
- var _searchParamsToUrlQuery = __webpack_require__("cE6r");
+ var _querystring = __webpack_require__("3WeD");
var _parseRelativeUrl = __webpack_require__("hS4m");
@@ -1250,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 index.html
@@ -6,7 +6,7 @@
<meta name="next-head-count" content="2" />
<link
rel="preload"
- href="/_next/static/chunks/main-d0f2719cffdbb7cf0efc.module.js"
+ href="/_next/static/chunks/main-81680a64ae8f4ce8647f.module.js"
as="script"
crossorigin="anonymous"
/>
@@ -24,7 +24,7 @@
/>
<link
rel="preload"
- href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.4411412e8e5469704f25.module.js"
+ href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.abab298279f1577d0b53.module.js"
as="script"
crossorigin="anonymous"
/>
@@ -81,13 +81,13 @@
src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
></script>
<script
- src="/_next/static/chunks/main-badaab334df727b6039e.js"
+ src="/_next/static/chunks/main-81c705185346b77df838.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/main-d0f2719cffdbb7cf0efc.module.js"
+ src="/_next/static/chunks/main-81680a64ae8f4ce8647f.module.js"
async=""
crossorigin="anonymous"
type="module"
@@ -117,13 +117,13 @@
type="module"
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.5b321416a5cc54397d07.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.ccd9e85644ff09d2c87c.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.4411412e8e5469704f25.module.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.abab298279f1577d0b53.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-d0f2719cffdbb7cf0efc.module.js"
+ href="/_next/static/chunks/main-81680a64ae8f4ce8647f.module.js"
as="script"
crossorigin="anonymous"
/>
@@ -24,7 +24,7 @@
/>
<link
rel="preload"
- href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.4411412e8e5469704f25.module.js"
+ href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.abab298279f1577d0b53.module.js"
as="script"
crossorigin="anonymous"
/>
@@ -86,13 +86,13 @@
src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
></script>
<script
- src="/_next/static/chunks/main-badaab334df727b6039e.js"
+ src="/_next/static/chunks/main-81c705185346b77df838.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/main-d0f2719cffdbb7cf0efc.module.js"
+ src="/_next/static/chunks/main-81680a64ae8f4ce8647f.module.js"
async=""
crossorigin="anonymous"
type="module"
@@ -122,13 +122,13 @@
type="module"
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.5b321416a5cc54397d07.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.ccd9e85644ff09d2c87c.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.4411412e8e5469704f25.module.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.abab298279f1577d0b53.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-d0f2719cffdbb7cf0efc.module.js"
+ href="/_next/static/chunks/main-81680a64ae8f4ce8647f.module.js"
as="script"
crossorigin="anonymous"
/>
@@ -24,7 +24,7 @@
/>
<link
rel="preload"
- href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.4411412e8e5469704f25.module.js"
+ href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.abab298279f1577d0b53.module.js"
as="script"
crossorigin="anonymous"
/>
@@ -81,13 +81,13 @@
src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
></script>
<script
- src="/_next/static/chunks/main-badaab334df727b6039e.js"
+ src="/_next/static/chunks/main-81c705185346b77df838.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/main-d0f2719cffdbb7cf0efc.module.js"
+ src="/_next/static/chunks/main-81680a64ae8f4ce8647f.module.js"
async=""
crossorigin="anonymous"
type="module"
@@ -117,13 +117,13 @@
type="module"
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.5b321416a5cc54397d07.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.ccd9e85644ff09d2c87c.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.4411412e8e5469704f25.module.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.abab298279f1577d0b53.module.js"
async=""
crossorigin="anonymous"
type="module"
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
buildDuration | 12.7s | 12.5s | -268ms |
nodeModulesSize | 66 MB | 66 MB |
Client Bundles (main, webpack, commons) Overall decrease ✓
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
677f882d2ed8..8895.js gzip | 10.3 kB | N/A | N/A |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
main-da9f477..d581.js gzip | 6.73 kB | N/A | N/A |
webpack-ccf5..276a.js gzip | 751 B | 751 B | ✓ |
677f882d2ed8..795d.js gzip | N/A | 9.99 kB | N/A |
main-c30ac70..0d39.js gzip | N/A | 6.74 kB | N/A |
Overall change | 56.9 kB | 56.6 kB | -273 B |
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
677f882d2ed8..dule.js gzip | 6.21 kB | N/A | N/A |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
main-ccc9938..dule.js gzip | 5.81 kB | N/A | N/A |
webpack-10c7..dule.js gzip | 751 B | 751 B | ✓ |
677f882d2ed8..dule.js gzip | N/A | 5.89 kB | N/A |
main-61da9c7..dule.js gzip | N/A | 5.81 kB | N/A |
Overall change | 51.9 kB | 51.6 kB | -321 B |
Legacy Client Bundles (polyfills)
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
polyfills-75..1629.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
_app-874bd8a..0103.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-fa39c..ec40.js gzip | 3.45 kB | 3.45 kB | ✓ |
hooks-585f07..95a3.js gzip | 887 B | 887 B | ✓ |
index-c7b63f..fc02.js gzip | 227 B | 227 B | ✓ |
link-f4d2979..e57b.js gzip | 1.29 kB | 1.29 kB | ✓ |
routerDirect..ebc7.js gzip | 284 B | 284 B | ✓ |
withRouter-2..db68.js gzip | 284 B | 284 B | ✓ |
Overall change | 7.71 kB | 7.71 kB | ✓ |
Client Pages Modern
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
_app-97e743e..dule.js gzip | 626 B | 626 B | ✓ |
_error-b4004..dule.js gzip | 2.3 kB | 2.3 kB | ✓ |
hooks-696209..dule.js gzip | 387 B | 387 B | ✓ |
index-a4dd74..dule.js gzip | 226 B | 226 B | ✓ |
link-653c74f..dule.js gzip | 1.26 kB | 1.26 kB | ✓ |
routerDirect..dule.js gzip | 284 B | 284 B | ✓ |
withRouter-1..dule.js gzip | 282 B | 282 B | ✓ |
Overall change | 5.37 kB | 5.37 kB | ✓ |
Client Build Manifests
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
_buildManifest.js gzip | 273 B | 273 B | ✓ |
_buildManife..dule.js gzip | 280 B | 280 B | ✓ |
Overall change | 553 B | 553 B | ✓ |
Serverless bundles Overall increase ⚠️
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
_error.js | 1.02 MB | 1.02 MB | |
404.html | 4.18 kB | 4.18 kB | ✓ |
hooks.html | 3.82 kB | 3.82 kB | ✓ |
index.js | 1.02 MB | 1.02 MB | |
link.js | 1.06 MB | 1.06 MB | |
routerDirect.js | 1.05 MB | 1.06 MB | |
withRouter.js | 1.05 MB | 1.06 MB | |
Overall change | 5.22 MB | 5.23 MB |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Stats from current PRDefault Server Mode (Decrease detected ✓)General Overall increase
|
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
buildDuration | 12.9s | 13.2s | |
nodeModulesSize | 66 MB | 66 MB |
Page Load Tests Overall decrease ⚠️
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 2.482 | 2.499 | |
/ avg req/sec | 1007.22 | 1000.26 | |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.477 | 1.487 | |
/error-in-render avg req/sec | 1692.97 | 1681.77 |
Client Bundles (main, webpack, commons) Overall decrease ✓
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
677f882d2ed8..8895.js gzip | 10.3 kB | 9.99 kB | -279 B |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
main-da9f477..d581.js gzip | 6.73 kB | 6.74 kB | |
webpack-ccf5..276a.js gzip | 751 B | 751 B | ✓ |
Overall change | 56.9 kB | 56.6 kB | -273 B |
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
677f882d2ed8..dule.js gzip | 6.21 kB | 5.89 kB | -321 B |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
main-ccc9938..dule.js gzip | 5.81 kB | 5.81 kB | ✓ |
webpack-10c7..dule.js gzip | 751 B | 751 B | ✓ |
Overall change | 51.9 kB | 51.6 kB | -321 B |
Legacy Client Bundles (polyfills)
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
polyfills-75..1629.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
_app-874bd8a..0103.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-fa39c..ec40.js gzip | 3.45 kB | 3.45 kB | ✓ |
hooks-585f07..95a3.js gzip | 887 B | 887 B | ✓ |
index-c7b63f..fc02.js gzip | 227 B | 227 B | ✓ |
link-f4d2979..e57b.js gzip | 1.29 kB | 1.29 kB | ✓ |
routerDirect..ebc7.js gzip | 284 B | 284 B | ✓ |
withRouter-2..db68.js gzip | 284 B | 284 B | ✓ |
Overall change | 7.71 kB | 7.71 kB | ✓ |
Client Pages Modern
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
_app-97e743e..dule.js gzip | 626 B | 626 B | ✓ |
_error-b4004..dule.js gzip | 2.3 kB | 2.3 kB | ✓ |
hooks-696209..dule.js gzip | 387 B | 387 B | ✓ |
index-a4dd74..dule.js gzip | 226 B | 226 B | ✓ |
link-653c74f..dule.js gzip | 1.26 kB | 1.26 kB | ✓ |
routerDirect..dule.js gzip | 284 B | 284 B | ✓ |
withRouter-1..dule.js gzip | 282 B | 282 B | ✓ |
Overall change | 5.37 kB | 5.37 kB | ✓ |
Client Build Manifests
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
_buildManifest.js gzip | 273 B | 273 B | ✓ |
_buildManife..dule.js gzip | 280 B | 280 B | ✓ |
Overall change | 553 B | 553 B | ✓ |
Rendered Page Sizes Overall decrease ✓
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
index.html gzip | 947 B | 946 B | -1 B |
link.html gzip | 953 B | 953 B | ✓ |
withRouter.html gzip | 942 B | 940 B | -2 B |
Overall change | 2.84 kB | 2.84 kB | -3 B |
Diffs
Diff for 677f882d2ed8..25.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";
@@ -553,7 +549,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");
@@ -962,9 +958,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
@@ -1614,99 +1608,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";
@@ -1911,15 +1812,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..c54397d07.js
@@ -121,98 +121,70 @@
/***/
},
- /***/ "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;
+ var _slicedToArray = __webpack_require__("J4zp");
- 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(function(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(function(_ref) {
+ var _ref2 = _slicedToArray(_ref, 2),
+ key = _ref2[0],
+ value = _ref2[1];
- module.exports = function(obj, sep, eq, name) {
- sep = sep || "&";
- eq = eq || "=";
- if (obj === null) {
- obj = undefined;
- }
+ if (Array.isArray(value)) {
+ value.forEach(function(item) {
+ return 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(function(searchParams) {
+ Array.from(searchParams.keys()).forEach(function(key) {
+ return target["delete"](key);
+ });
+ searchParams.forEach(function(value, key) {
+ return 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 +194,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
@@ -269,8 +299,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)) || "";
@@ -580,29 +609,6 @@
/***/
},
- /***/ cE6r: /***/ function(module, exports, __webpack_require__) {
- "use strict";
-
- exports.__esModule = true;
- exports.searchParamsToUrlQuery = searchParamsToUrlQuery;
-
- function searchParamsToUrlQuery(searchParams) {
- var query = {};
- searchParams.forEach(function(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";
@@ -684,7 +690,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");
@@ -1174,8 +1180,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
case 18:
(pathname = parsed.pathname),
(searchParams = parsed.searchParams);
- query = (0,
- _searchParamsToUrlQuery.searchParamsToUrlQuery)(
+ 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
@@ -2292,99 +2297,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]";
- };
-
- /***/
- },
-
/***/ ls82: /***/ function(module, exports, __webpack_require__) {
/**
* Copyright (c) 2014-present, Facebook, Inc.
@@ -3506,15 +3418,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
/***/
},
- /***/ s4NR: /***/ function(module, exports, __webpack_require__) {
- "use strict";
-
- exports.decode = exports.parse = __webpack_require__("kd2E");
- exports.encode = exports.stringify = __webpack_require__("4JlD");
-
- /***/
- },
-
/***/ sXyB: /***/ function(module, exports, __webpack_require__) {
var setPrototypeOf = __webpack_require__("SksO");
Diff for main-badaab3..727b6039e.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"));
@@ -393,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,
@@ -1483,7 +1483,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
var _routeRegex = __webpack_require__("YTqd");
- var _searchParamsToUrlQuery = __webpack_require__("cE6r");
+ var _querystring = __webpack_require__("3WeD");
var _parseRelativeUrl = __webpack_require__("hS4m");
@@ -1630,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-d0f2719..fc.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"));
@@ -289,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,
@@ -1122,7 +1122,7 @@
var _routeRegex = __webpack_require__("YTqd");
- var _searchParamsToUrlQuery = __webpack_require__("cE6r");
+ var _querystring = __webpack_require__("3WeD");
var _parseRelativeUrl = __webpack_require__("hS4m");
@@ -1250,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 index.html
@@ -6,7 +6,7 @@
<meta name="next-head-count" content="2" />
<link
rel="preload"
- href="/_next/static/chunks/main-d0f2719cffdbb7cf0efc.module.js"
+ href="/_next/static/chunks/main-81680a64ae8f4ce8647f.module.js"
as="script"
crossorigin="anonymous"
/>
@@ -24,7 +24,7 @@
/>
<link
rel="preload"
- href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.4411412e8e5469704f25.module.js"
+ href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.abab298279f1577d0b53.module.js"
as="script"
crossorigin="anonymous"
/>
@@ -81,13 +81,13 @@
src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
></script>
<script
- src="/_next/static/chunks/main-badaab334df727b6039e.js"
+ src="/_next/static/chunks/main-81c705185346b77df838.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/main-d0f2719cffdbb7cf0efc.module.js"
+ src="/_next/static/chunks/main-81680a64ae8f4ce8647f.module.js"
async=""
crossorigin="anonymous"
type="module"
@@ -117,13 +117,13 @@
type="module"
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.5b321416a5cc54397d07.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.ccd9e85644ff09d2c87c.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.4411412e8e5469704f25.module.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.abab298279f1577d0b53.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-d0f2719cffdbb7cf0efc.module.js"
+ href="/_next/static/chunks/main-81680a64ae8f4ce8647f.module.js"
as="script"
crossorigin="anonymous"
/>
@@ -24,7 +24,7 @@
/>
<link
rel="preload"
- href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.4411412e8e5469704f25.module.js"
+ href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.abab298279f1577d0b53.module.js"
as="script"
crossorigin="anonymous"
/>
@@ -86,13 +86,13 @@
src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
></script>
<script
- src="/_next/static/chunks/main-badaab334df727b6039e.js"
+ src="/_next/static/chunks/main-81c705185346b77df838.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/main-d0f2719cffdbb7cf0efc.module.js"
+ src="/_next/static/chunks/main-81680a64ae8f4ce8647f.module.js"
async=""
crossorigin="anonymous"
type="module"
@@ -122,13 +122,13 @@
type="module"
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.5b321416a5cc54397d07.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.ccd9e85644ff09d2c87c.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.4411412e8e5469704f25.module.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.abab298279f1577d0b53.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-d0f2719cffdbb7cf0efc.module.js"
+ href="/_next/static/chunks/main-81680a64ae8f4ce8647f.module.js"
as="script"
crossorigin="anonymous"
/>
@@ -24,7 +24,7 @@
/>
<link
rel="preload"
- href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.4411412e8e5469704f25.module.js"
+ href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.abab298279f1577d0b53.module.js"
as="script"
crossorigin="anonymous"
/>
@@ -81,13 +81,13 @@
src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
></script>
<script
- src="/_next/static/chunks/main-badaab334df727b6039e.js"
+ src="/_next/static/chunks/main-81c705185346b77df838.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/main-d0f2719cffdbb7cf0efc.module.js"
+ src="/_next/static/chunks/main-81680a64ae8f4ce8647f.module.js"
async=""
crossorigin="anonymous"
type="module"
@@ -117,13 +117,13 @@
type="module"
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.5b321416a5cc54397d07.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.ccd9e85644ff09d2c87c.js"
async=""
crossorigin="anonymous"
nomodule=""
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.4411412e8e5469704f25.module.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.abab298279f1577d0b53.module.js"
async=""
crossorigin="anonymous"
type="module"
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
buildDuration | 14.7s | 14.5s | -154ms |
nodeModulesSize | 66 MB | 66 MB |
Client Bundles (main, webpack, commons) Overall decrease ✓
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
677f882d2ed8..8895.js gzip | 10.3 kB | N/A | N/A |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
main-da9f477..d581.js gzip | 6.73 kB | N/A | N/A |
webpack-ccf5..276a.js gzip | 751 B | 751 B | ✓ |
677f882d2ed8..795d.js gzip | N/A | 9.99 kB | N/A |
main-c30ac70..0d39.js gzip | N/A | 6.74 kB | N/A |
Overall change | 56.9 kB | 56.6 kB | -273 B |
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
677f882d2ed8..dule.js gzip | 6.21 kB | N/A | N/A |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
main-ccc9938..dule.js gzip | 5.81 kB | N/A | N/A |
webpack-10c7..dule.js gzip | 751 B | 751 B | ✓ |
677f882d2ed8..dule.js gzip | N/A | 5.89 kB | N/A |
main-61da9c7..dule.js gzip | N/A | 5.81 kB | N/A |
Overall change | 51.9 kB | 51.6 kB | -321 B |
Legacy Client Bundles (polyfills)
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
polyfills-75..1629.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
_app-874bd8a..0103.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-fa39c..ec40.js gzip | 3.45 kB | 3.45 kB | ✓ |
hooks-585f07..95a3.js gzip | 887 B | 887 B | ✓ |
index-c7b63f..fc02.js gzip | 227 B | 227 B | ✓ |
link-f4d2979..e57b.js gzip | 1.29 kB | 1.29 kB | ✓ |
routerDirect..ebc7.js gzip | 284 B | 284 B | ✓ |
withRouter-2..db68.js gzip | 284 B | 284 B | ✓ |
Overall change | 7.71 kB | 7.71 kB | ✓ |
Client Pages Modern
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
_app-97e743e..dule.js gzip | 626 B | 626 B | ✓ |
_error-b4004..dule.js gzip | 2.3 kB | 2.3 kB | ✓ |
hooks-696209..dule.js gzip | 387 B | 387 B | ✓ |
index-a4dd74..dule.js gzip | 226 B | 226 B | ✓ |
link-653c74f..dule.js gzip | 1.26 kB | 1.26 kB | ✓ |
routerDirect..dule.js gzip | 284 B | 284 B | ✓ |
withRouter-1..dule.js gzip | 282 B | 282 B | ✓ |
Overall change | 5.37 kB | 5.37 kB | ✓ |
Client Build Manifests
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
_buildManifest.js gzip | 273 B | 273 B | ✓ |
_buildManife..dule.js gzip | 280 B | 280 B | ✓ |
Overall change | 553 B | 553 B | ✓ |
Serverless bundles Overall increase ⚠️
vercel/next.js canary | Janpot/next.js remove-qs | Change | |
---|---|---|---|
_error.js | 1.03 MB | 1.03 MB | |
404.html | 4.18 kB | 4.18 kB | ✓ |
hooks.html | 3.82 kB | 3.82 kB | ✓ |
index.js | 1.03 MB | 1.03 MB | |
link.js | 1.07 MB | 1.07 MB | |
routerDirect.js | 1.06 MB | 1.06 MB | |
withRouter.js | 1.06 MB | 1.06 MB | |
Overall change | 5.25 MB | 5.26 MB |
Remove node.js
querystring
usage in favour for browser nativeURLSearchParams
. Added a few helpers to translate between the two formats, but only do operations onURLSearchParams
instances.