diff --git a/.changeset/fix-hydrogen-react-dom-iterable-lib.md b/.changeset/fix-hydrogen-react-dom-iterable-lib.md new file mode 100644 index 0000000000..3eb659f3ea --- /dev/null +++ b/.changeset/fix-hydrogen-react-dom-iterable-lib.md @@ -0,0 +1,5 @@ +--- +"@shopify/hydrogen-react": patch +--- + +Add `DOM.Iterable` to `lib` in `tsconfig.json` so `URLSearchParams` (and other DOM iterables) type-check correctly, and remove the workaround `@ts-ignore` and `eslint-disable` lines in `useSelectedOptionInUrlParam`. diff --git a/packages/hydrogen-react/src/useSelectedOptionInUrlParam.tsx b/packages/hydrogen-react/src/useSelectedOptionInUrlParam.tsx index bbe40d7067..f047d9b65d 100644 --- a/packages/hydrogen-react/src/useSelectedOptionInUrlParam.tsx +++ b/packages/hydrogen-react/src/useSelectedOptionInUrlParam.tsx @@ -12,15 +12,8 @@ export function useSelectedOptionInUrlParam( ); const currentSearchParams = new URLSearchParams(window.location.search); - // ts ignoring the URLSearchParams not iterable error for now - // https://stackoverflow.com/questions/72522489/urlsearchparams-not-accepting-string#answer-72522838 - // TODO: update ts lib const combinedSearchParams = new URLSearchParams({ - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore ...Object.fromEntries(currentSearchParams), - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore ...Object.fromEntries(optionsSearchParams), }); diff --git a/packages/hydrogen-react/tsconfig.json b/packages/hydrogen-react/tsconfig.json index 7192ce3d8f..3ce9446e75 100644 --- a/packages/hydrogen-react/tsconfig.json +++ b/packages/hydrogen-react/tsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { "target": "ESNext", - "lib": ["DOM", "ESNext"], + "lib": ["DOM", "DOM.Iterable", "ESNext"], "skipLibCheck": true, "strict": true, "forceConsistentCasingInFileNames": true,