-
-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bug: importing 'crypto' polyfill leads to error exports is not defined
with yarn build && yarn preview in nuxt
#92
Comments
@clangenb did you find any solutions for this? |
I finally re-implemented our rsa crypto with the webcrypto api, so we don't need any polyfills at all. I would recommend such an approach if it is feasible in your case. |
same issue , any idea? |
I can only repeat what I mentioned above. If the crypto polyfill is needed because of a 3rd party dependency, I recommend looking for another dependency, as most maintained libraries should have switched to use the WebCrypto Api. If it is because of your own code (like in my case), I suggest rewriting the crypto stuff with WebCrypto API as I did here encointer/encointer-js#101, with a follow-up fix in encointer/encointer-js#105. |
@clangenb I can't rewrite the code because it's subpackage dependent. After two hours of code retracing I found that the sourcecode: randomfill:L39 Does that mean exports can't work with |
I am not an JS expert, but I would assume that this is a bug in either browserify or randomfill and that this should work in general. |
I used the replace plugin to change the code in question, nuxt.config.ts import { replaceCodePlugin } from 'vite-plugin-replace';
...
vite: {
plugins: [
replaceCodePlugin({
replacements: [
{
from: `if ((crypto && crypto.getRandomValues) || !process.browser) {
exports.randomFill = randomFill
exports.randomFillSync = randomFillSync
} else {
exports.randomFill = oldBrowser
exports.randomFillSync = oldBrowser
}`,
to: `exports.randomFill = randomFill
exports.randomFillSync = randomFillSync`,
},
],
}),
} |
davidmyersdev/vite-plugin-node-polyfills#92 (comment) this person deserves the best, thank you
yarn dev was working fine, but yarn build had some issues with crypto polyfill davidmyersdev/vite-plugin-node-polyfills#92 (comment)
The following commit breaks
yarn build && yarn preview
: integritee-network/try-incognitee-app@87272d0.However, unlike #90, I can't opt out of crypto as I need its function.
The code runs fine with
yarn dev
.The text was updated successfully, but these errors were encountered: