Next.js にて DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead. が出た時の対応

結論から。
Node.js のバージョンを20以下まで下げれば表示されなくなるらしい。
ただし、エラーではないのでビルドしても問題ないらしい。

環境

  • Next.js v15
  • Node.js v22

ビルド時に発生

Next.js にてビルドした時に下記 Warning が出た。

$ npm run build
(node:76704) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)

Use `node --trace-deprecation ...` を使うと、
詳細が分かるらしい。

NODE_OPTIONS='--trace-deprecation'

package.json

調べると、環境変数で対応するらしい。

{
	"scripts": {
		"build": "NODE_OPTIONS='--trace-deprecation' next build"
	}
}

確認

$ npm run build
(node:76704) [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:108:7)
    at Module._load (node:internal/modules/cjs/loader:1099:17)
    at TracingChannel.traceSync (node:diagnostics_channel:315:14)
    at wrapModuleLoad (node:internal/modules/cjs/loader:217:24)
    at Module.require (node:internal/modules/cjs/loader:1339:12)
    at mod.require (/path/to/your/app/node_modules/next/dist/server/require-hook.js:65:28)
    at require (node:internal/modules/helpers:135:16)

まとめ

まだ修正されてないぽいので、
気になる人は Node.js のバージョンを下げる。