bitwiseshiftleft / sjcl

Stanford Javascript Crypto Library
http://bitwiseshiftleft.github.com/sjcl/
Other
7.18k stars 987 forks source link

Crypto error #371

Open mdev0987 opened 6 years ago

mdev0987 commented 6 years ago

After install react-native-bip39 to my react-native app, I get this error:

error: bundling failed: Error: While trying to resolve module `crypto` from file `/wallet-frontend/node_modules/sjcl/sjcl.js`, the package `/wallet-frontend/node_modules/crypto/package.json` was successfully found. However, this package itself specifies a `main` module field that could not be resolved (`/wallet-frontend/node_modules/crypto/index.js`. Indeed, none of these files exist:
  * `/wallet-frontend/node_modules/crypto/index.js(.native||.ios.js|.native.js|.js|.ios.json|.native.json|.json)`
  * `/wallet-frontend/node_modules/crypto/index.js/index(.native||.ios.js|.native.js|.js|.ios.json|.native.json|.json)`
    at ResolutionRequest.resolveDependency (/wallet-frontend/node_modules/metro/src/node-haste/DependencyGraph/ResolutionRequest.js:92:15)
    at DependencyGraph.resolveDependency (/wallet-frontend/node_modules/metro/src/node-haste/DependencyGraph.js:237:485)
    at Object.resolve (/wallet-frontend/node_modules/metro/src/lib/transformHelpers.js:116:25)
    at dependencies.map.result (/wallet-frontend/node_modules/metro/src/DeltaBundler/traverseDependencies.js:298:29)
    at Array.map (<anonymous>)
    at resolveDependencies (/wallet-frontend/node_modules/metro/src/DeltaBundler/traverseDependencies.js:294:16)
    at /wallet-frontend/node_modules/metro/src/DeltaBundler/traverseDependencies.js:159:33
    at Generator.next (<anonymous>)
    at step (/wallet-frontend/node_modules/metro/src/DeltaBundler/traverseDependencies.js:239:307)
    at /wallet-frontend/node_modules/metro/src/DeltaBundler/traverseDependencies.js:239:467

"dependencies": { "assert": "^1.4.1", "crypto": "^1.0.1", "react": "16.4.1", "react-native": "0.56.0", "react-native-bip39": "^2.3.0", "stream": "^0.0.2" }

Please help me out on this

andidev commented 5 years ago

This is cause crypto is a core node module which is not available in react native.

rajivshah3 commented 5 years ago

@mdev0730 you can use https://github.com/tradle/rn-nodeify to patch this so that it uses react-native-crypto instead