You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have a project using this plugin and mongodb (mongoose) as a dependencies.
Mongodb has mongodb-client-encryption and aws4 as optional peerDependencies:
and tries to require them inside a try / catch, so esbuild sends them to this plugin via build.onResolve().
It fails with the following errors:
> pnp:/home/anton/Projects/pnp-bug/.yarn/$$virtual/ws-virtual-535d9b46ac/0/cache/ws-npm-7.4.3-0b722707c3-493655b7c4.zip/node_modules/ws/lib/buffer-util.js: error: [pnp-plugin] ws tried to access bufferutil (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound.
Required package: bufferutil (via "bufferutil")
Required by: ws@virtual:d28d90fcce8f835b192578396e8f5173b2b8b328b7cfef0576840b7a542ac690165edbef41106c1d84e3785afed3d0e0f75720e95cf3e9fc4449f815cf17d425#npm:7.4.3 (via /home/anton/Projects/pnp-bug/.yarn/$$virtual/ws-virtual-535d9b46ac/0/cache/ws-npm-7.4.3-0b722707c3-493655b7c4.zip/node_modules/ws/lib/)
Ancestor breaking the chain: engine.io@npm:4.1.1
Ancestor breaking the chain: jsdom@virtual:51b2d3db5940cbda81797992a2f896453e18927005ba88742e0fe2eeb71cfb090b53a8594298c25967a351a8b709cd58d3612e5feba8c79a7b59ae3338b0722b#npm:16.4.0
105 │ const bufferUtil = require('bufferutil');
╵ ~~~~~~~~~~~~
> pnp:/home/anton/Projects/pnp-bug/.yarn/$$virtual/mongodb-virtual-1a6d487e1f/0/cache/mongodb-npm-3.6.3-3206384cb1-85a8064180.zip/node_modules/mongodb/lib/operations/connect.js: error: [pnp-plugin] mongodb tried to access mongodb-client-encryption (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound.
Required package: mongodb-client-encryption (via "mongodb-client-encryption")
Required by: mongodb@virtual:4aa8df445eee8963fd8c1f58ef19305d83825503b1218ced8747fba919196c60e8a0029dc817a11e9c3f061c3db32887f679974bfcd5f68685331fd0236da61f#npm:3.6.3 (via /home/anton/Projects/pnp-bug/.yarn/$$virtual/mongodb-virtual-1a6d487e1f/0/cache/mongodb-npm-3.6.3-3206384cb1-85a8064180.zip/node_modules/mongodb/lib/operations/)
Ancestor breaking the chain: mongoose@https://github.com/raphaelschwinger/mongoose.git#commit=734e82191feb2f9b51a946c5b2589f4f55ff61af
501 │ require.resolve('mongodb-client-encryption');
╵ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
> pnp:/home/anton/Projects/pnp-bug/.yarn/$$virtual/mongodb-virtual-1a6d487e1f/0/cache/mongodb-npm-3.6.3-3206384cb1-85a8064180.zip/node_modules/mongodb/lib/operations/connect.js: error: [pnp-plugin] mongodb tried to access mongodb-client-encryption (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound.
Required package: mongodb-client-encryption (via "mongodb-client-encryption")
Required by: mongodb@virtual:4aa8df445eee8963fd8c1f58ef19305d83825503b1218ced8747fba919196c60e8a0029dc817a11e9c3f061c3db32887f679974bfcd5f68685331fd0236da61f#npm:3.6.3 (via /home/anton/Projects/pnp-bug/.yarn/$$virtual/mongodb-virtual-1a6d487e1f/0/cache/mongodb-npm-3.6.3-3206384cb1-85a8064180.zip/node_modules/mongodb/lib/operations/)
Ancestor breaking the chain: mongoose@https://github.com/raphaelschwinger/mongoose.git#commit=734e82191feb2f9b51a946c5b2589f4f55ff61af
512 │ let mongodbClientEncryption = require('mongodb-client-encryption');
╵ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
> pnp:/home/anton/Projects/pnp-bug/.yarn/$$virtual/mongodb-virtual-1a6d487e1f/0/cache/mongodb-npm-3.6.3-3206384cb1-85a8064180.zip/node_modules/mongodb/lib/core/auth/mongodb_aws.js: error: [pnp-plugin] mongodb tried to access aws4 (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound.
Required package: aws4 (via "aws4")
Required by: mongodb@virtual:4aa8df445eee8963fd8c1f58ef19305d83825503b1218ced8747fba919196c60e8a0029dc817a11e9c3f061c3db32887f679974bfcd5f68685331fd0236da61f#npm:3.6.3 (via /home/anton/Projects/pnp-bug/.yarn/$$virtual/mongodb-virtual-1a6d487e1f/0/cache/mongodb-npm-3.6.3-3206384cb1-85a8064180.zip/node_modules/mongodb/lib/core/auth/)
Ancestor breaking the chain: mongoose@https://github.com/raphaelschwinger/mongoose.git#commit=734e82191feb2f9b51a946c5b2589f4f55ff61af
12 │ aws4 = require('aws4');
I currently worked around it by defining mongodb-client-encryption and aws4 as externals for this plugin, but IMO this should be somehow handled by the plugin automatically. Maybe some check like is this dependency optional then just show a warning instead of throwing an error would be a solution.
Hope this helps.
The text was updated successfully, but these errors were encountered:
I have a project using this plugin and mongodb (mongoose) as a dependencies.
Mongodb has
mongodb-client-encryption
andaws4
as optional peerDependencies:and tries to require them inside a try / catch, so esbuild sends them to this plugin via
build.onResolve()
.It fails with the following errors:
I currently worked around it by defining
mongodb-client-encryption
andaws4
as externals for this plugin, but IMO this should be somehow handled by the plugin automatically. Maybe some check like is this dependency optional then just show a warning instead of throwing an error would be a solution.Hope this helps.
The text was updated successfully, but these errors were encountered: