googleapis / gax-nodejs

Google API Extensions for Node.js
Apache License 2.0
112 stars 82 forks source link

punycode deprecation warning. #1568

Open cirvladimir opened 3 months ago

cirvladimir commented 3 months ago

Hello, I'm getting a deprecation warning when I use the @google-cloud/pubsub library. Here is the warning:

(node:11518) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.

I checked where it's comming from, and I can see that in node_modules/whatwg-url/lib/url-state-machine.js there's a require("punycode"), which I assume causes the warning. Checking why my app imports that version of the whatwg-url pacakge I get the following:

└─┬ @google-cloud/pubsub@4.3.3
  └─┬ google-gax@4.3.1
    └─┬ node-fetch@2.7.0
      └── whatwg-url@5.0.0

Is there a newer version of something I'm supposed to be using so I don't get the warning?

Environment details

Steps to reproduce

  1. Install latest @google-cloud/pubsub from npm (version 4.3.3)
  2. import { PubSub } from "@google-cloud/pubsub";
  3. Run the app
  4. A deprecation warning pops up
feywind commented 3 months ago

I think this probably needs some attention from the google-gax folks?

leahecole commented 1 month ago

@sofisl this is related to the #1097 and the fact that node-fetch v3 is esm only, right?

sofisl commented 4 weeks ago

Correct, unfortunately we can't upgrade to node-fetch until we've migrated to dual format for ESM, or until we're on Node 22 and can use native-fetch with proxy support. However, we'll have to do some complicated loading to use node-fetch as v2 for CJS, and V3 for ESM if we upgrade this when we migrate to ESM. I'll create a separate bug to track.