Tired of the punycode deprecation message?

nullvoxpopuli

NullVoxPopuli

Posted on August 6, 2024

Tired of the punycode deprecation message?

Are you tired of seeing this?:

[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:399:7)
     at BuiltinModule.compileForPublicLoader (node:internal/bootstrap/realm:338:10)
     at loadBuiltinModule (node:internal/modules/helpers:96:7)
     at Module._load (node:internal/modules/cjs/loader:1070:17)
     at TracingChannel.traceSync  
     ...
Enter fullscreen mode Exit fullscreen mode

The "Solve"

Change your start or dev script in package.json to be prefixed with:

NODE_NO_WARNINGS=1
Enter fullscreen mode Exit fullscreen mode

For example,
if you previously had

"start": "vite"
Enter fullscreen mode Exit fullscreen mode

change it to

"start": "NODE_NO_WARNINGS=1 vite"
Enter fullscreen mode Exit fullscreen mode

Now you can enjoy console output with 80,000 less lines of spew.


If you are motivated and have the time, it is beneficial to try to help out packages by either:

  • upgrading them to a version that doesn't trigger the deprecation
  • PR a fix that doesn't trigger the deprecation (uses a userland module, as instructed).

The userland module is here: https://github.com/mathiasbynens/punycode.js

And you can scan all your dependencies for violations (so you don't have to rely on runtime to find every occurrance) with this tool: punycode-detector

npx punycode-detector
Enter fullscreen mode Exit fullscreen mode

or

pnpm dlx punycode-detector
Enter fullscreen mode Exit fullscreen mode


This also works for other tools

For example,
if you previously had

"start": "ember serve"
Enter fullscreen mode Exit fullscreen mode

change it to

"start": "NODE_NO_WARNINGS=1 ember serve"
Enter fullscreen mode Exit fullscreen mode
💖 💪 🙅 🚩
nullvoxpopuli
NullVoxPopuli

Posted on August 6, 2024

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related