widgets
widgets copied to clipboard
Could not find dependency: 'jotai-immer' when using SwapWidget
Bug Description
After installing @uniswap/widgets
and importing SwapWidget
, a DependencyNotFound
error for jotai-immer
throws.
Steps to Reproduce
- install
@uniswap/widgets
per the readme - try to use
SwapWidget
- error occurs
Expected Behavior
After following the installation steps in the readme, SwapWidget
is usable without error.
Additional Context
- noticed this at first on our Next.js app
- Tried in a clean react codesandbox to reproduce the issue and confirm it wasn't local to my machine
- manually adding
jotai-immer
andqs
as dependencies to my project appears to resolve the issue
Same!
Same, and when I fix it it says error - Error: Cannot find module '***/node_modules/@uniswap/conedison/dist/format'
Same
see #404 for a suggestion on a fix/workaround. this should help resolve the conedison issue until we can update that library.
Had the same issue, solved by doing:
-- npm i @uniswap/[email protected] -- npm i react/redux -- npm i jotai-immer
and it should work.
This makes the project building properly and run.
However, in my application it seems that after this I get thousands of deprecated error occuring in an infinite loop. Then the swap button is always greyed out. I don't know if it is linked but I see no other reason for this button to stay deactivated.
After manually adding jotai-immer,the console loops indefinitely warning:use useSetAtom
from jotai
instead.
Same
And uniswap widget doesn't show some tokens.. wondering it's related to this deprecated warning
same issue as above - After manually adding jotai-immer,the console loops indefinitely warning:use useSetAtom from jotai instead.
For anyone having issues with a bunch of infinite loops about deprecated warnings, add this to your package.json of your project: "jotai": "~1.3.7",
What I noticed was that in the demo code (cosmos) it worked fine, but in newer versions (nextjs etc) jotai was auto-upgraded to 1.18.1 (which has all the weird breaking changes). So the above code simply forces npm to use the compatible jotai version (it gets bumped to 1.3.9 but that's still fine).
This issue is fixed on 2.47.10, you can remove jotai
and jotai-immer
from your dependencies.
Hm, I can't confirm whether 2.47.10
fixes, upon upgrading and removing I get the following error:
Error: Cannot find module 'node_modules/@uniswap/widgets/node_modules/@uniswap/conedison/dist/provider/signing'
I have attempted creating an alias per the suggestion in #404, however that simply yields a slightly different error:
Module not found: Can't resolve '@uniswap/conedison/provider/signing'
Hm, I can't confirm whether
2.47.10
fixes, upon upgrading and removing I get the following error:
This is a different issue, caused by some export shenanigans uniswap has. Use the fixes from here - https://github.com/Uniswap/widgets/issues/404 - disabling SSR worked for me.
Our swap component is already dynamically imported, unfortunately
Had the same issue, solved by doing:
-- npm i @uniswap/[email protected] -- npm i react/redux -- npm i jotai-immer
and it should work.
This makes the project building properly and run.
However, in my application it seems that after this I get thousands of deprecated error occuring in an infinite loop. Then the swap button is always greyed out. I don't know if it is linked but I see no other reason for this button to stay deactivated.
I was experiencing the same issue and I asked on their discord - someone pointed out there is a permit2
prop you can add in the widget (funnily enough i can't see it anywhere in the docs) but it does sort this issue of the greyed out review swap button
Is there anybody can resolve this issue
Have tried the fixes above but doesn't resolve the issue unfortunately. Is there another potential resolution to this issue?
Had the same issue, solved by doing:
-- npm i @uniswap/[email protected] -- npm i react/redux -- npm i jotai-immer
and it should work.
This makes the project building properly and run. However, in my application it seems that after this I get thousands of deprecated error occuring in an infinite loop. Then the swap button is always greyed out. I don't know if it is linked but I see no other reason for this button to stay deactivated.
I was experiencing the same issue and I asked on their discord - someone pointed out there is a
permit2
prop you can add in the widget (funnily enough i can't see it anywhere in the docs) but it does sort this issue of the greyed out review swap button
Absolute lifesaver, for those who may have missed it, add the permit2
prop to SwapWidget
.