Skip to content

Punycode Deprecation Warning #698

@bpholt

Description

@bpholt

When running on Node lts/jod (currently v22.17.1), node emits this warning when ip4s is used:

[DEP0040] DeprecationWarning: The punycode module is deprecated. Please use a userland alternative instead.

I think it is due to this line:

@JSImport("punycode", JSImport.Default)

which turns into

require("punycode");

in the optimized JS output (with either fastOptJS or fullOptJS).

Possibly it would work to replace "punycode" with "punycode/", but when I tried that locally and pulled those artifacts into another project, I get this error instead:

Error: Cannot find module 'punycode/'

I'm not sure if that means I'm not getting the transitive dependency set up correctly, or if something else is going wrong. (I didn't make any other changes to either my local ip4s or downstream project when testing that.)

The previous Node LTS version lts/iron doesn't emit the warning. It doesn't look to be EOL until April/May 2026, so this isn't an urgent problem, but it's pretty noisy when running tests (it looks like it's emitted once per test file).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions