gax-nodejs icon indicating copy to clipboard operation
gax-nodejs copied to clipboard

punycode deprecation warning.

Open cirvladimir opened this issue 1 year ago • 3 comments

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/[email protected]
  └─┬ [email protected]
    └─┬ [email protected]
      └── [email protected]

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

Environment details

  • OS: Ubuntu
  • Node.js version: 21.7.0
  • npm version: 10.5.0
  • @google-cloud/pubsub version: 4.3.3

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

cirvladimir avatar Mar 14 '24 20:03 cirvladimir

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

feywind avatar Mar 18 '24 19:03 feywind

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

leahecole avatar Jun 06 '24 18:06 leahecole

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.

sofisl avatar Jun 11 '24 20:06 sofisl