-
-
Notifications
You must be signed in to change notification settings - Fork 910
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
Bundling for Node.js fails with @rollup/plugin-node-resolve>=11.0.0 #544
Comments
@josias-r seems like you discovered a bug with the most recent version of I suggest you watch that issue for updates. Until then you can downgrade to |
You need to specify |
@ctavan @lukastaegert Thank you guys, this resolved my issue! The docs you linked don't really show Why exactly this was not the behaviour in an old version/what exactly is going on I still don't fully understand, but I'll watch the other issue for that sake 😄 |
Keeping this open until rollup/plugins#695 has settled. |
I got bit by this issue as well, when bundling
|
This has caused a bit of confusion in uuidjs/uuid#544.
Great to see that this has been resolved. I've proposed a PR to clarify the solution in the rollup plugin docs: rollup/plugins#884 I'll already close this one since it is not a problem with the uuid library. |
) This has caused a bit of confusion in uuidjs/uuid#544.
…884) This has caused a bit of confusion in uuidjs/uuid#544.
Describe the bug
Your source code checks for something like this:
typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);
to find out whether crypto is available.I'm not sure exactly where it goes wrong, but this package inside a compiled js file with rollup, will never import crypto and only check the globals like mentioned above.
How to reproduce
With rollup and the following rollup.config, compile a file that uses "uuid":
myfile.ts
Expected behavior
The example should have something like
const crypto = require("crypto")
somewhere in the compiled code. Currently, it only checks whether it is available globally, but in my use case I'm not in a browser environment, but a nodejs environment, so it would need to get imported to work.As a note: I can see from the source that rng.js seems to be set-up correctly, but rng-browser.js is doing the unsupported check in a node environment. So the question really is, why I'm getting the browser package instead of the node one. Can I control this? (rollup is already set-up for node, aka cjs)
The text was updated successfully, but these errors were encountered: