Skip to content

Commit

Permalink
override whatwg-url dependency
Browse files Browse the repository at this point in the history
The generated client on the release-1.x branch relies on the
node-fetch@2.x module, which depends on whatwg-url@5.0.0, which
uses the Node core punycode module. Node's punycode module was
runtime deprecated v21, which causes this module to print a
deprecation warning when used on newer versions of Node.

whatwg-url@9.0.0 stopped using punycode directly, but continued
to use it indirectly via its own tr46 dependency. The problematic
use of punycode was finally removed in whatwg-url@12.0.1.

node-fetch will not update its 2.x release line to incorporate the
fix due to backwards compatibility.

node-fetch@2.x claims backwards compatibility to Node v4, but the
fixed version of whatwg-url only claims compatibility back to
Node 12. For this reason, the node-fetch project has stated that
they will not address this issue. For reference, Node v4 went
EOL in 2018, and Node v12 when EOL in early 2022. Node 18 is
currently the oldest supported version, and Node v23 was released
this week.

Ideally, the generator will move to a newer version of node-fetch,
native fetch, or even the undici module that implements fetch in
core. Until that happens, this module can override whatwg-url
and silence the deprecation warning.

It's also worth noting that this punycode deprecation is not the
same one as the punycode deprecation on the master branch.

This change has been tested locally on v18.0.0.

Refs: nodejs/node#47202
Refs: node-fetch/node-fetch#1793
  • Loading branch information
cjihrig committed Oct 18, 2024
1 parent 60fc281 commit c0a3a4c
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@
"arrowParens": "always"
},
"overrides": {
"colors": "1.4.0"
"colors": "1.4.0",
"whatwg-url@<12.0.1": "12.0.1"
}
}

0 comments on commit c0a3a4c

Please sign in to comment.