cosmos / cosmjs

The Swiss Army knife to power JavaScript based client solutions ranging from Web apps/explorers over browser extensions to server-side clients like faucets/scrapers.
https://cosmos.github.io/cosmjs/
Apache License 2.0
657 stars 343 forks source link

Error: Can't resolve 'crypto' #1550

Open sayhicoelho opened 9 months ago

sayhicoelho commented 9 months ago

I'm trying to install this library in my React project, but I'm receiving the error below when I run yarn start:

ERROR in ./node_modules/@cosmjs/crypto/build/pbkdf2.js 50:67-84
Module not found: Error: Can't resolve 'crypto' in '***\node_modules\@cosmjs\crypto\build'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "crypto": require.resolve("crypto-browserify") }'
        - install 'crypto-browserify'
If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "crypto": false }

Also I tried to setup webpack, but did not work.

webpack.config.js

module.exports = [
  {
    plugins: [],
    resolve: {
      fallback: {
        buffer: false,
        crypto: false,
        events: false,
        path: false,
        stream: false,
        string_decoder: false
      }
    }
  }
]

Version:

"@cosmjs/stargate": "^0.32.2"

cris-the-dev commented 5 months ago

Is this resolved? I'm having the same issue. @sayhicoelho

cris-the-dev commented 5 months ago

I've found the solution to solve this issue. That's not an issue of cosmjs

Shoydon commented 4 months ago

Then how do I overcome the "crypto" module error @cris-the-dev ?