generated from apollographql/typescript-repo-template
    
        
        - 
                Notifications
    
You must be signed in to change notification settings  - Fork 23
 
Open
Description
Node version: 22.1.0
@apollo/datasource-rest version: 6.2.2 (latest version at time of writing)
The problem
Since moving to use node 22, we have seen the following deprecation warning:
(node:47562) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
    at node:punycode:3:9
    at BuiltinModule.compileForInternalLoader (node:internal/bootstrap/realm:398:7)
    at BuiltinModule.compileForPublicLoader (node:internal/bootstrap/realm:337:10)
    at loadBuiltinModule (node:internal/modules/helpers:104:7)
    at Module._load (node:internal/modules/cjs/loader:1075:17)
    at Module.require (node:internal/modules/cjs/loader:1310:19)
    at require (node:internal/modules/helpers:179:18)
    at Object.<anonymous> (/Users/remy.oudemans/Documents/apply-bff/node_modules/whatwg-url/lib/url-state-machine.js:2:18)
    at Module._compile (node:internal/modules/cjs/loader:1480:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1564:10)
This will affect everyone using Node 22, which is the Current Node release and will move to LTS on 2024-10-29.
Where it comes from
We have tracked this down to @apollo/datasource-rest using "node-fetch": "^2.6.7" (link) which uses "whatwg-url": "^5.0.0" (link) which uses the deprecated punycode module.
The current version of node-fetch does not depend on whatwg-url at all: https://github.com/node-fetch/node-fetch/blob/v3.3.2/package.json#L64. So updating to that version should fix this warning.
Node-fetch v3 is an ESM-only package, so that may make the update tricky.
william-lai-927, liviox, jeonghyeon-net and TimJLee
Metadata
Metadata
Assignees
Labels
No labels