個人開発しているgatsby,remixなどのフレームワークを使ってるプロジェクトで、dependencyを更新したらどれもこれも、こんなDeprecationWarningが表示されるようになってしまいました。
2025/08/24時点で
(node:67778) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
結論
package.jsonにoverridesでajv@8.17.1
を指定`すれば解決する場合がある。ただajvは依存関係が複雑に絡んでることが多いので注意する。
"overrides": {
"ajv": "8.17.1"
},
調べたこと
- uri-jsからWarningが出ていて、依存関係があるpackageからWarningが出ている
- uri-jsのメンテナンスが止まっている。
- 最後のcommitは2021-04-01
- uri-jsのメンテナンスが止まっている。
- 多くのフレームワークがajvに依存ている
- ajvがuri-jsを利用していたが、8.17.1で解消された