readable-stream
readable-stream copied to clipboard
Error: Cannot find module '../crypto/util'
In a mocha test I use readable-stream and I got this
Error: Cannot find module '../crypto/util'
Require stack:
- packages/formats/node_modules/readable-stream/lib/internal/streams/lazy_transform.js
I did not find why it gets loaded but the fact is there is no crypto/util.js or similar module.
how do you load lazy_transform.js?
That's kinda the thing, I don't.
There are only 2 mentions of lazy_transform in my entire working directory
> find . -type f | xargs egrep -i lazy_transform
node_modules/watchpack-chokidar2/node_modules/fsevents/build/config.gypi: "lib/internal/streams/lazy_transform.js",
node_modules/webpack-dev-server/node_modules/fsevents/build/config.gypi: "lib/internal/streams/lazy_transform.js",
Any ideas? For now I patched this locally but again, why is that module trying to import ../crypto/util.js which does not exist?
The main issue seems to be that readable-stream includes a broken-on-require unused internal module (lazy_transform).
This is a problem since bundlers / transpilers / test runners can sometimes recursively load all **.js modules, as is likely happening here.
lazy_transform should be skipped when we build this module from Node.js core source.
Adding it to this list would do: https://github.com/nodejs/readable-stream/blob/main/build/files.mjs
Would you like to send a PR? Ideally it should contain a unit test for this issue so we do not regress.