From 232c3b36699105987ab000eafb6f9c40967add86 Mon Sep 17 00:00:00 2001 From: Andrea Carraro Date: Sat, 26 Oct 2024 12:35:32 +0200 Subject: [PATCH] refactor: remove qs-stringify dependency (#18) --- .changeset/unlucky-seahorses-taste.md | 5 +++++ package-lock.json | 10 +++++----- package.json | 4 +--- src/index.ts | 11 +++++------ 4 files changed, 16 insertions(+), 14 deletions(-) create mode 100644 .changeset/unlucky-seahorses-taste.md diff --git a/.changeset/unlucky-seahorses-taste.md b/.changeset/unlucky-seahorses-taste.md new file mode 100644 index 0000000..dd08716 --- /dev/null +++ b/.changeset/unlucky-seahorses-taste.md @@ -0,0 +1,5 @@ +--- +'next-use-contextual-routing': minor +--- + +refactor: remove qs-stringify dependency in favour of native URLSearchParams diff --git a/package-lock.json b/package-lock.json index ff1a28c..965f48b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,9 +8,6 @@ "name": "next-use-contextual-routing", "version": "3.2.0", "license": "ISC", - "dependencies": { - "qs-stringify": "^1.2.1" - }, "devDependencies": { "@changesets/cli": "^2.27.7", "@testing-library/react": "^16.0.0", @@ -20,6 +17,7 @@ "jest-environment-jsdom": "^29.3.1", "next": "^15.0.0", "prettier": "^3.3.2", + "qs-stringify": "^1.2.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-modal": "^3.16.1", @@ -5248,7 +5246,8 @@ "node_modules/qs-stringify": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/qs-stringify/-/qs-stringify-1.2.1.tgz", - "integrity": "sha512-2N5xGLGZUxpgAYq1fD1LmBSCbxQVsXYt5JU0nU3FuPWO8PlCnKNFQwXkZgyB6mrTdg7IbexX4wxIR403dJw9pw==" + "integrity": "sha512-2N5xGLGZUxpgAYq1fD1LmBSCbxQVsXYt5JU0nU3FuPWO8PlCnKNFQwXkZgyB6mrTdg7IbexX4wxIR403dJw9pw==", + "dev": true }, "node_modules/querystringify": { "version": "2.2.0", @@ -10181,7 +10180,8 @@ "qs-stringify": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/qs-stringify/-/qs-stringify-1.2.1.tgz", - "integrity": "sha512-2N5xGLGZUxpgAYq1fD1LmBSCbxQVsXYt5JU0nU3FuPWO8PlCnKNFQwXkZgyB6mrTdg7IbexX4wxIR403dJw9pw==" + "integrity": "sha512-2N5xGLGZUxpgAYq1fD1LmBSCbxQVsXYt5JU0nU3FuPWO8PlCnKNFQwXkZgyB6mrTdg7IbexX4wxIR403dJw9pw==", + "dev": true }, "querystringify": { "version": "2.2.0", diff --git a/package.json b/package.json index a15c43e..f40da7d 100644 --- a/package.json +++ b/package.json @@ -43,9 +43,6 @@ }, "author": "Andrea Carraro ", "license": "ISC", - "dependencies": { - "qs-stringify": "^1.2.1" - }, "devDependencies": { "@changesets/cli": "^2.27.7", "@testing-library/react": "^16.0.0", @@ -55,6 +52,7 @@ "jest-environment-jsdom": "^29.3.1", "next": "^15.0.0", "prettier": "^3.3.2", + "qs-stringify": "^1.2.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-modal": "^3.16.1", diff --git a/src/index.ts b/src/index.ts index 823a192..31a9d83 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,6 +1,5 @@ import { useCallback } from 'react'; import { useRouter } from 'next/router.js'; -import stringify from 'qs-stringify'; export const RETURN_HREF_QUERY_PARAM = '_UCR_return_href'; /** @@ -36,11 +35,11 @@ export function useContextualRouting(): { (extraParams?: Record) => router.pathname + '?' + - stringify( - Object.assign({}, router.query, extraParams, { - [RETURN_HREF_QUERY_PARAM]: returnHref, - }) - ), + new URLSearchParams({ + ...router.query, + ...extraParams, + [RETURN_HREF_QUERY_PARAM]: returnHref, + }).toString(), [queryHash, returnHref] );