Palmabit-IT / react-cookie-law

React Cookie Law is a cookie-info banner compliance with the GDPR and the EU cookie law. It allows the user to give consent in a granular way.
115 stars 55 forks source link

Compilation failure: Unable to import crypto module #54

Open tanmayvij opened 2 years ago

tanmayvij commented 2 years ago

Trying to install the library in a gatsby project, getting the following build error:

`Generating development JavaScript bundle failed

Can't resolve 'crypto' in 'gatsby-site\node_modules\@palmabit\react-cookie-law\dist'

If you're trying to use a package make sure that 'crypto' is installed. If you're trying to use a local file make sure that the path is correct.

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:

Tried installing crypto-browserify and making it as the fallback using webpack.config.js but still facing same issue.

Tr4Ks commented 1 year ago

same issue here

tseropian commented 1 year ago

As mentionned here: https://stackoverflow.com/a/72686567/13156702, you need to add the following to node_modules/react-scripts/config/webpack.config.js

fallback: {
  "crypto": require.resolve("crypto-browserify"),
  "safe-buffer": require.resolve("safe-buffer"),
  "safer-buffer": require.resolve("safer-buffer"),
  "buffer": require.resolve("buffer"),
  "cipher-base": require.resolve("cipher-base"),
  "stream": require.resolve("stream-browserify"),
 },