Skip to content

非推奨 API

Node.js API が非推奨となる理由には、以下のいずれかが考えられます。

  • API の使用が安全ではない。
  • より改善された代替 API が利用可能である。
  • 将来のメジャーリリースで API に破壊的な変更が予想される。

Node.js では、4 種類の非推奨が使用されます。

  • ドキュメントのみ
  • アプリケーション (非 node_modules コードのみ)
  • ランタイム (すべてのコード)
  • 寿命終了

ドキュメントのみの非推奨は、Node.js API ドキュメント内でのみ表現されるものです。これらは Node.js の実行中に副作用を発生させません。一部のドキュメントのみの非推奨は、--pending-deprecation フラグ(またはその代替である NODE_PENDING_DEPRECATION=1 環境変数)を指定して起動すると、後述のランタイムの非推奨と同様にランタイム警告をトリガーします。このフラグをサポートするドキュメントのみの非推奨は、非推奨 API のリスト で明示的にラベル付けされています。

node_modules コードのみに対するアプリケーションの非推奨は、デフォルトでは、node_modules からロードされていないコードで非推奨 API が初めて使用されたときに、stderr に出力されるプロセス警告を生成します。--throw-deprecation コマンドラインフラグが使用されている場合、ランタイムの非推奨はエラーをスローさせます。--pending-deprecation が使用されている場合、node_modules からロードされたコードについても警告が発行されます。

すべてのコードに対するランタイムの非推奨は、非 node_modules コードに対するランタイムの非推奨と同様ですが、node_modules からロードされたコードについても警告を発行するという点が異なります。

寿命終了の非推奨は、機能が Node.js から削除されるか、間もなく削除される場合に使用されます。

非推奨の取り消し

場合によっては、API の非推奨が取り消されることがあります。そのような状況では、このドキュメントは決定に関連する情報で更新されます。ただし、非推奨識別子は変更されません。

非推奨 API のリスト

DEP0001: http.OutgoingMessage.prototype.flush

[履歴]

バージョン変更
v14.0.0寿命終了。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v1.6.0ランタイム非推奨。

タイプ: 寿命終了

OutgoingMessage.prototype.flush() は削除されました。代わりに OutgoingMessage.prototype.flushHeaders() を使用してください。

[履歴]

バージョン変更
v8.0.0寿命終了。
v6.12.0非推奨コードが割り当てられました。
v5.0.0ランタイム非推奨。

種類: 寿命終了

_linklistモジュールは非推奨です。ユーザーランドの代替を使用してください。

DEP0003: _writableState.buffer

[履歴]

バージョン変更
v14.0.0寿命終了。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v0.11.15ランタイム非推奨。

種類: 寿命終了

_writableState.bufferは削除されました。代わりに_writableState.getBuffer()を使用してください。

DEP0004: CryptoStream.prototype.readyState

[履歴]

バージョン変更
v10.0.0寿命終了。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v0.4.0ドキュメントのみの非推奨。

種類: 寿命終了

CryptoStream.prototype.readyStateプロパティは削除されました。

DEP0005: Buffer() コンストラクタ

[履歴]

バージョン変更
v10.0.0ランタイム非推奨。
v6.12.0非推奨コードが割り当てられました。
v6.0.0ドキュメントのみの非推奨。

種類: アプリケーション ( node_modulesコード以外のみ)

Buffer()関数とnew Buffer()コンストラクターは、偶発的なセキュリティ問題につながる可能性のある API の使いやすさの問題のため、非推奨となりました。

代替として、Bufferオブジェクトを構築する以下のいずれかの方法を使用してください。

--pending-deprecationがない場合、ランタイム警告はnode_modulesにないコードに対してのみ発生します。つまり、依存関係でのBuffer()の使用には非推奨の警告は発生しません。--pending-deprecationを使用すると、Buffer()の使用場所に関係なくランタイム警告が発生します。

DEP0006: child_process options.customFds

[履歴]

バージョン変更点
v12.0.0サポート終了。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v0.11.14ランタイムでの非推奨。
v0.5.10ドキュメントのみの非推奨。

タイプ: サポート終了

child_process モジュールの spawn()fork()、および exec() メソッドにおいて、options.customFds オプションは非推奨です。代わりに options.stdio オプションを使用する必要があります。

DEP0007: cluster worker.suicideworker.exitedAfterDisconnect で置き換える

[履歴]

バージョン変更点
v9.0.0サポート終了。
v7.0.0ランタイムでの非推奨。
v6.12.0非推奨コードが割り当てられました。
v6.0.0ドキュメントのみの非推奨。

タイプ: サポート終了

Node.js cluster の初期のバージョンでは、suicide という名前のブール値プロパティが Worker オブジェクトに追加されました。このプロパティの目的は、Worker インスタンスがどのように、なぜ終了したかを示すことでした。Node.js 6.0.0 では、古いプロパティは非推奨となり、新しい worker.exitedAfterDisconnect プロパティに置き換えられました。古いプロパティ名は、実際のセマンティクスを正確に記述しておらず、不必要に感情的でした。

DEP0008: require('node:constants')

[履歴]

バージョン変更点
v6.12.0非推奨コードが割り当てられました。
v6.3.0ドキュメントのみの非推奨。

タイプ: ドキュメントのみ

node:constants モジュールは非推奨です。特定の Node.js ビルトインモジュールに関連する定数へのアクセスが必要な場合、開発者は関連するモジュールによって公開されている constants プロパティを参照する必要があります。たとえば、require('node:fs').constantsrequire('node:os').constants などです。

DEP0009: ダイジェストなしの crypto.pbkdf2

[履歴]

バージョン変更点
v14.0.0サポート終了 (digest === null の場合)。
v11.0.0ランタイムでの非推奨 (digest === null の場合)。
v8.0.0サポート終了 (digest === undefined の場合)。
v6.12.0非推奨コードが割り当てられました。
v6.0.0ランタイムでの非推奨 (digest === undefined の場合)。

タイプ: サポート終了

ダイジェストを指定せずに crypto.pbkdf2() API を使用することは、メソッドが推奨されない 'SHA1' ダイジェストをデフォルトで使用するため、Node.js 6.0 で非推奨になりました。以前は、非推奨の警告が表示されていました。Node.js 8.0.0 以降では、digestundefined に設定して crypto.pbkdf2() または crypto.pbkdf2Sync() を呼び出すと、TypeError がスローされます。

Node.js v11.0.0 以降では、digestnull に設定してこれらの関数を呼び出すと、digestundefined の場合の動作と一致するように、非推奨の警告が表示されます。

ただし、現在では、undefined または null のいずれかを渡すと TypeError がスローされます。

DEP0010: crypto.createCredentials

[履歴]

バージョン変更点
v11.0.0寿命終了。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v0.11.13ランタイムでの非推奨。

タイプ: 寿命終了

crypto.createCredentials() API は削除されました。代わりにtls.createSecureContext()を使用してください。

DEP0011: crypto.Credentials

[履歴]

バージョン変更点
v11.0.0寿命終了。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v0.11.13ランタイムでの非推奨。

タイプ: 寿命終了

crypto.Credentialsクラスは削除されました。代わりにtls.SecureContextを使用してください。

DEP0012: Domain.dispose

[履歴]

バージョン変更点
v9.0.0寿命終了。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v0.11.7ランタイムでの非推奨。

タイプ: 寿命終了

Domain.dispose()は削除されました。代わりにドメインに設定されたエラーイベントハンドラを介して、失敗した I/O アクションから明示的に回復してください。

DEP0013: コールバックなしのfs非同期関数

[履歴]

バージョン変更点
v10.0.0寿命終了。
v7.0.0ランタイムでの非推奨。

タイプ: 寿命終了

コールバックなしで非同期関数を呼び出すと、Node.js 10.0.0 以降ではTypeErrorがスローされます。https://github.com/nodejs/node/pull/12562を参照してください。

DEP0014: fs.readレガシー String インターフェース

[履歴]

バージョン変更点
v8.0.0寿命終了。
v6.0.0ランタイムでの非推奨。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v0.1.96ドキュメントのみの非推奨。

タイプ: 寿命終了

fs.read()のレガシーなStringインターフェースは非推奨です。代わりにドキュメントに記載されているようにBuffer API を使用してください。

DEP0015: fs.readSyncレガシー String インターフェース

[履歴]

バージョン変更点
v8.0.0寿命終了。
v6.0.0ランタイムでの非推奨。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v0.1.96ドキュメントのみの非推奨。

タイプ: 寿命終了

fs.readSync()のレガシーなStringインターフェースは非推奨です。代わりにドキュメントに記載されているようにBuffer API を使用してください。

DEP0016: GLOBAL/root

[履歴]

バージョン変更点
v14.0.0寿命終了。
v6.12.0非推奨コードが割り当てられました。
v6.0.0ランタイムでの非推奨。

タイプ: 寿命終了

globalプロパティのエイリアスであるGLOBALrootは、Node.js 6.0.0 で非推奨となり、その後削除されました。

DEP0017: Intl.v8BreakIterator

[履歴]

バージョン変更点
v9.0.0寿命終了。
v7.0.0ランタイムでの非推奨。

タイプ: 寿命終了

Intl.v8BreakIteratorは非標準の拡張機能であり、削除されました。Intl.Segmenterを参照してください。

DEP0018: 未処理の Promise の拒否

[履歴]

バージョン変更点
v15.0.0寿命終了。
v7.0.0ランタイムでの非推奨。

タイプ: 寿命終了

未処理の Promise の拒否は非推奨です。デフォルトでは、処理されない Promise の拒否は、Node.js プロセスをゼロ以外の終了コードで終了させます。Node.js が未処理の拒否を扱う方法を変更するには、--unhandled-rejectionsコマンドラインオプションを使用してください。

DEP0019: ディレクトリ外で解決されるrequire('.')

[履歴]

バージョン変更点
v12.0.0機能が削除されました。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v1.8.1ランタイムでの非推奨。

タイプ: 寿命終了

特定のケースでは、require('.')はパッケージディレクトリ外で解決される可能性がありました。この動作は削除されました。

DEP0020: Server.connections

[履歴]

バージョン変更点
v15.0.0Server.connections が削除されました。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v0.9.7ランタイムでの非推奨。

タイプ: 寿命終了

Server.connectionsプロパティは、Node.js v0.9.7 で非推奨となり、削除されました。代わりに、Server.getConnections()メソッドを使用してください。

DEP0021: Server.listenFD

[履歴]

バージョン変更点
v12.0.0寿命終了。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v0.7.12ランタイムでの非推奨。

タイプ: 寿命終了

Server.listenFD()メソッドは非推奨となり、削除されました。代わりに、Server.listen({fd: \<number\>})を使用してください。

DEP0022: os.tmpDir()

[履歴]

バージョン変更点
v14.0.0廃止。
v7.0.0ランタイム非推奨。

タイプ: 廃止

os.tmpDir() API は Node.js 7.0.0 で非推奨となり、その後削除されました。代わりに os.tmpdir() を使用してください。

DEP0023: os.getNetworkInterfaces()

[履歴]

バージョン変更点
v12.0.0廃止。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v0.6.0ランタイム非推奨。

タイプ: 廃止

os.getNetworkInterfaces() メソッドは非推奨です。代わりに os.networkInterfaces() メソッドを使用してください。

DEP0024: REPLServer.prototype.convertToContext()

[履歴]

バージョン変更点
v9.0.0廃止。
v7.0.0ランタイム非推奨。

タイプ: 廃止

REPLServer.prototype.convertToContext() API は削除されました。

DEP0025: require('node:sys')

[履歴]

バージョン変更点
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v1.0.0ランタイム非推奨。

タイプ: ランタイム

node:sys モジュールは非推奨です。代わりに util モジュールを使用してください。

DEP0026: util.print()

[履歴]

バージョン変更点
v12.0.0廃止。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v0.11.3ランタイム非推奨。

タイプ: 廃止

util.print() は削除されました。代わりに console.log() を使用してください。

DEP0027: util.puts()

[履歴]

バージョン変更点
v12.0.0廃止。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v0.11.3ランタイム非推奨。

タイプ: 廃止

util.puts() は削除されました。代わりに console.log() を使用してください。

DEP0028: util.debug()

[履歴]

バージョン変更点
v12.0.0廃止。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v0.11.3ランタイム非推奨。

タイプ: 廃止

util.debug() は削除されました。代わりに console.error() を使用してください。

DEP0029: util.error()

[履歴]

バージョン変更点
v12.0.0寿命終了。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v0.11.3ランタイムでの非推奨。

タイプ: 寿命終了

util.error() は削除されました。代わりに console.error() を使用してください。

DEP0030: SlowBuffer

[履歴]

バージョン変更点
v6.12.0非推奨コードが割り当てられました。
v6.0.0ドキュメントのみの非推奨。

タイプ: ドキュメントのみ

SlowBuffer クラスは非推奨です。代わりに Buffer.allocUnsafeSlow(size) を使用してください。

DEP0031: ecdh.setPublicKey()

[履歴]

バージョン変更点
v6.12.0非推奨コードが割り当てられました。
v5.2.0ドキュメントのみの非推奨。

タイプ: ドキュメントのみ

ecdh.setPublicKey() メソッドは、API に含まれていても有用ではないため、現在非推奨となっています。

DEP0032: node:domain モジュール

[履歴]

バージョン変更点
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v1.4.2ドキュメントのみの非推奨。

タイプ: ドキュメントのみ

domain モジュールは非推奨であり、使用すべきではありません。

DEP0033: EventEmitter.listenerCount()

[履歴]

バージョン変更点
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v3.2.0ドキュメントのみの非推奨。

タイプ: ドキュメントのみ

events.listenerCount(emitter, eventName) API は非推奨です。代わりに emitter.listenerCount(eventName) を使用してください。

DEP0034: fs.exists(path, callback)

[履歴]

バージョン変更点
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v1.0.0ドキュメントのみの非推奨。

タイプ: ドキュメントのみ

fs.exists(path, callback) API は非推奨です。代わりに fs.stat() または fs.access() を使用してください。

DEP0035: fs.lchmod(path, mode, callback)

[履歴]

バージョン変更
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v0.4.7ドキュメントのみの非推奨。

タイプ: ドキュメントのみ

fs.lchmod(path, mode, callback) API は非推奨です。

DEP0036: fs.lchmodSync(path, mode)

[履歴]

バージョン変更
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v0.4.7ドキュメントのみの非推奨。

タイプ: ドキュメントのみ

fs.lchmodSync(path, mode) API は非推奨です。

DEP0037: fs.lchown(path, uid, gid, callback)

[履歴]

バージョン変更
v10.6.0非推奨が取り消されました。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v0.4.7ドキュメントのみの非推奨。

タイプ: 非推奨の取り消し

fs.lchown(path, uid, gid, callback) API は非推奨でした。必要なサポート API が libuv に追加されたため、非推奨は取り消されました。

DEP0038: fs.lchownSync(path, uid, gid)

[履歴]

バージョン変更
v10.6.0非推奨が取り消されました。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v0.4.7ドキュメントのみの非推奨。

タイプ: 非推奨の取り消し

fs.lchownSync(path, uid, gid) API は非推奨でした。必要なサポート API が libuv に追加されたため、非推奨は取り消されました。

DEP0039: require.extensions

[履歴]

バージョン変更
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v0.10.6ドキュメントのみの非推奨。

タイプ: ドキュメントのみ

require.extensions プロパティは非推奨です。

DEP0040: node:punycode モジュール

[履歴]

バージョン変更
v21.0.0ランタイム非推奨。
v16.6.0--pending-deprecation のサポートを追加。
v7.0.0ドキュメントのみの非推奨。

タイプ: ランタイム

punycode モジュールは非推奨です。代わりにユーザーランドの代替手段を使用してください。

DEP0041: NODE_REPL_HISTORY_FILE 環境変数

[履歴]

バージョン変更
v10.0.0廃止。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v3.0.0ドキュメントのみの非推奨。

タイプ: 廃止

NODE_REPL_HISTORY_FILE 環境変数は削除されました。代わりに NODE_REPL_HISTORY を使用してください。

DEP0042: tls.CryptoStream

[履歴]

バージョン変更
v10.0.0廃止。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v0.11.3ドキュメントのみの非推奨。

タイプ: 廃止

tls.CryptoStream クラスは削除されました。代わりに tls.TLSSocket を使用してください。

DEP0043: tls.SecurePair

[履歴]

バージョン変更
v8.0.0ランタイム非推奨。
v6.12.0非推奨コードが割り当てられました。
v6.0.0ドキュメントのみの非推奨。
v0.11.15非推奨の取り消し。
v0.11.3ランタイム非推奨。

タイプ: ドキュメントのみ

tls.SecurePair クラスは非推奨です。代わりに tls.TLSSocket を使用してください。

DEP0044: util.isArray()

[履歴]

バージョン変更
v22.0.0ランタイム非推奨。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v4.0.0, v3.3.1ドキュメントのみの非推奨。

タイプ: ランタイム

util.isArray() API は非推奨です。代わりに Array.isArray() を使用してください。

DEP0045: util.isBoolean()

[履歴]

バージョン変更
v23.0.0廃止。
v22.0.0ランタイム非推奨。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v4.0.0, v3.3.1ドキュメントのみの非推奨。

タイプ: 廃止

util.isBoolean() API は削除されました。代わりに typeof arg === 'boolean' を使用してください。

DEP0046: util.isBuffer()

[履歴]

バージョン変更
v23.0.0廃止。
v22.0.0ランタイム非推奨。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v4.0.0, v3.3.1ドキュメントのみの非推奨。

タイプ: 廃止

util.isBuffer() API は削除されました。代わりに Buffer.isBuffer() を使用してください。

DEP0047: util.isDate()

[履歴]

バージョン変更点
v23.0.0廃止予定の終了。
v22.0.0ランタイムでの非推奨。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v4.0.0, v3.3.1ドキュメントのみの非推奨。

タイプ: 廃止予定の終了

util.isDate() API は削除されました。代わりに arg instanceof Date を使用してください。

DEP0048: util.isError()

[履歴]

バージョン変更点
v23.0.0廃止予定の終了。
v22.0.0ランタイムでの非推奨。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v4.0.0, v3.3.1ドキュメントのみの非推奨。

タイプ: 廃止予定の終了

util.isError() API は削除されました。代わりに Object.prototype.toString(arg) === '[object Error]' || arg instanceof Error を使用してください。

DEP0049: util.isFunction()

[履歴]

バージョン変更点
v23.0.0廃止予定の終了。
v22.0.0ランタイムでの非推奨。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v4.0.0, v3.3.1ドキュメントのみの非推奨。

タイプ: 廃止予定の終了

util.isFunction() API は削除されました。代わりに typeof arg === 'function' を使用してください。

DEP0050: util.isNull()

[履歴]

バージョン変更点
v23.0.0廃止予定の終了。
v22.0.0ランタイムでの非推奨。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v4.0.0, v3.3.1ドキュメントのみの非推奨。

タイプ: 廃止予定の終了

util.isNull() API は削除されました。代わりに arg === null を使用してください。

DEP0051: util.isNullOrUndefined()

[履歴]

バージョン変更点
v23.0.0廃止予定の終了。
v22.0.0ランタイムでの非推奨。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v4.0.0, v3.3.1ドキュメントのみの非推奨。

タイプ: 廃止予定の終了

util.isNullOrUndefined() API は削除されました。代わりに arg === null || arg === undefined を使用してください。

DEP0052: util.isNumber()

[履歴]

バージョン変更
v23.0.0廃止終了。
v22.0.0ランタイムでの非推奨化。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v4.0.0, v3.3.1ドキュメントのみでの非推奨化。

タイプ: 廃止終了

util.isNumber() API は削除されました。代わりに typeof arg === 'number' を使用してください。

DEP0053: util.isObject()

[履歴]

バージョン変更
v23.0.0廃止終了。
v22.0.0ランタイムでの非推奨化。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v4.0.0, v3.3.1ドキュメントのみでの非推奨化。

タイプ: 廃止終了

util.isObject() API は削除されました。代わりに arg && typeof arg === 'object' を使用してください。

DEP0054: util.isPrimitive()

[履歴]

バージョン変更
v23.0.0廃止終了。
v22.0.0ランタイムでの非推奨化。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v4.0.0, v3.3.1ドキュメントのみでの非推奨化。

タイプ: 廃止終了

util.isPrimitive() API は削除されました。代わりに arg === null || (typeof arg !=='object' && typeof arg !== 'function') を使用してください。

DEP0055: util.isRegExp()

[履歴]

バージョン変更
v23.0.0廃止終了。
v22.0.0ランタイムでの非推奨化。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v4.0.0, v3.3.1ドキュメントのみでの非推奨化。

タイプ: 廃止終了

util.isRegExp() API は削除されました。代わりに arg instanceof RegExp を使用してください。

DEP0056: util.isString()

[履歴]

バージョン変更
v23.0.0廃止終了。
v22.0.0ランタイムでの非推奨化。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v4.0.0, v3.3.1ドキュメントのみでの非推奨化。

タイプ: 廃止終了

util.isString() API は削除されました。代わりに typeof arg === 'string' を使用してください。

DEP0057: util.isSymbol()

[履歴]

バージョン変更点
v23.0.0End-of-Life による非推奨。
v22.0.0実行時の非推奨。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v4.0.0, v3.3.1ドキュメントのみの非推奨。

タイプ: End-of-Life

util.isSymbol() API は削除されました。代わりに typeof arg === 'symbol' を使用してください。

DEP0058: util.isUndefined()

[履歴]

バージョン変更点
v23.0.0End-of-Life による非推奨。
v22.0.0実行時の非推奨。
v6.12.0, v4.8.6非推奨コードが割り当てられました。
v4.0.0, v3.3.1ドキュメントのみの非推奨。

タイプ: End-of-Life

util.isUndefined() API は削除されました。代わりに arg === undefined を使用してください。

DEP0059: util.log()

[履歴]

バージョン変更点
v23.0.0End-of-Life による非推奨。
v22.0.0実行時の非推奨。
v6.12.0非推奨コードが割り当てられました。
v6.0.0ドキュメントのみの非推奨。

タイプ: End-of-Life

util.log() API は、誤ってユーザーランドに公開された、メンテナンスされていないレガシー API であるため、削除されました。代わりに、特定のニーズに基づいて、次の代替案を検討してください。

  • サードパーティのロギングライブラリ
  • console.log(new Date().toLocaleString(), message) を使用する

これらの代替案のいずれかを採用することで、util.log() から移行し、アプリケーションの特定の要件と複雑さに合わせたロギング戦略を選択できます。

DEP0060: util._extend()

[履歴]

バージョン変更点
v22.0.0実行時の非推奨。
v6.12.0非推奨コードが割り当てられました。
v6.0.0ドキュメントのみの非推奨。

タイプ: 実行時

util._extend() API は、誤ってユーザーランドに公開された、メンテナンスされていないレガシー API であるため、非推奨になりました。代わりに target = Object.assign(target, source) を使用してください。

DEP0061: fs.SyncWriteStream

[履歴]

バージョン変更点
v11.0.0廃止。
v8.0.0ランタイム廃止。
v7.0.0ドキュメントのみの廃止。

タイプ: 廃止

fs.SyncWriteStream クラスは、公開されている API として使用されることを意図したものではなく、削除されました。代替となる API はありません。ユーザーランドの代替手段を使用してください。

DEP0062: node --debug

[履歴]

バージョン変更点
v12.0.0廃止。
v8.0.0ランタイム廃止。

タイプ: 廃止

--debug は、V8 5.8 で削除されたレガシーの V8 デバッガーインターフェイスを有効にします。代わりに --inspect で有効化される Inspector に置き換えられました。

DEP0063: ServerResponse.prototype.writeHeader()

[履歴]

バージョン変更点
v8.0.0ドキュメントのみの廃止。

タイプ: ドキュメントのみ

node:http モジュールの ServerResponse.prototype.writeHeader() API は非推奨になりました。代わりに ServerResponse.prototype.writeHead() を使用してください。

ServerResponse.prototype.writeHeader() メソッドは、公式にサポートされた API としてドキュメント化されたことはありません。

DEP0064: tls.createSecurePair()

[履歴]

バージョン変更点
v8.0.0ランタイム廃止。
v6.12.0非推奨コードが割り当てられました。
v6.0.0ドキュメントのみの廃止。
v0.11.15非推奨を撤回。
v0.11.3ランタイム廃止。

タイプ: ランタイム

tls.createSecurePair() API は、Node.js 0.11.3 のドキュメントで非推奨になりました。ユーザーは代わりに tls.Socket を使用する必要があります。

DEP0065: repl.REPL_MODE_MAGIC および NODE_REPL_MODE=magic

[履歴]

バージョン変更点
v10.0.0廃止。
v8.0.0ドキュメントのみの廃止。

タイプ: 廃止

node:repl モジュールの replMode オプションに使用される REPL_MODE_MAGIC 定数は削除されました。Node.js 6.0.0 で V8 5.0 がインポートされて以来、その動作は REPL_MODE_SLOPPY の動作と機能的に同一です。代わりに REPL_MODE_SLOPPY を使用してください。

NODE_REPL_MODE 環境変数は、インタラクティブな node セッションの基盤となる replMode を設定するために使用されます。その値である magic も削除されました。代わりに sloppy を使用してください。

DEP0066: OutgoingMessage.prototype._headers, OutgoingMessage.prototype._headerNames

[履歴]

バージョン変更点
v12.0.0ランタイム非推奨。
v8.0.0ドキュメントのみ非推奨。

型: ランタイム

node:http モジュールの OutgoingMessage.prototype._headers および OutgoingMessage.prototype._headerNames プロパティは非推奨です。送信ヘッダーを操作するには、パブリックメソッド(例:OutgoingMessage.prototype.getHeader()OutgoingMessage.prototype.getHeaders()OutgoingMessage.prototype.getHeaderNames()OutgoingMessage.prototype.getRawHeaderNames()OutgoingMessage.prototype.hasHeader()OutgoingMessage.prototype.removeHeader()OutgoingMessage.prototype.setHeader())のいずれかを使用してください。

OutgoingMessage.prototype._headers および OutgoingMessage.prototype._headerNames プロパティは、公式にサポートされているプロパティとして文書化されたことはありません。

DEP0067: OutgoingMessage.prototype._renderHeaders

[履歴]

バージョン変更点
v8.0.0ドキュメントのみ非推奨。

型: ドキュメントのみ

node:http モジュールの OutgoingMessage.prototype._renderHeaders() API は非推奨です。

OutgoingMessage.prototype._renderHeaders プロパティは、公式にサポートされている API として文書化されたことはありません。

DEP0068: node debug

[履歴]

バージョン変更点
v15.0.0レガシーの node debug コマンドは削除されました。
v8.0.0ランタイム非推奨。

型: 廃止

node debug は、レガシーの CLI デバッガーに対応しており、node inspect を通して利用可能な V8 インスペクターベースの CLI デバッガーに置き換えられました。

DEP0069: vm.runInDebugContext(string)

[履歴]

バージョン変更点
v10.0.0廃止。
v9.0.0ランタイム非推奨。
v8.0.0ドキュメントのみ非推奨。

型: 廃止

DebugContext は V8 で削除されており、Node.js 10+ では利用できません。

DebugContext は実験的な API でした。

DEP0070: async_hooks.currentId()

[履歴]

バージョン変更点
v9.0.0廃止。
v8.2.0ランタイム非推奨。

型: 廃止

async_hooks.currentId() は、明確にするために async_hooks.executionAsyncId() に名前が変更されました。

この変更は、async_hooks が実験的な API であった間に行われました。

DEP0071: async_hooks.triggerId()

[履歴]

バージョン変更点
v9.0.0サポート終了。
v8.2.0ランタイムでの非推奨化。

タイプ: サポート終了

async_hooks.triggerId() は、明確化のために async_hooks.triggerAsyncId() に名称が変更されました。

この変更は、async_hooks が実験的な API であったときに行われました。

DEP0072: async_hooks.AsyncResource.triggerId()

[履歴]

バージョン変更点
v9.0.0サポート終了。
v8.2.0ランタイムでの非推奨化。

タイプ: サポート終了

async_hooks.AsyncResource.triggerId() は、明確化のために async_hooks.AsyncResource.triggerAsyncId() に名称が変更されました。

この変更は、async_hooks が実験的な API であったときに行われました。

DEP0073: net.Server のいくつかの内部プロパティ

[履歴]

バージョン変更点
v10.0.0サポート終了。
v9.0.0ランタイムでの非推奨化。

タイプ: サポート終了

不適切な名前を持つ net.Server インスタンスのいくつかの内部的な、文書化されていないプロパティへのアクセスは非推奨になりました。

元の API は文書化されておらず、内部コード以外の用途には一般的に有用ではなかったため、代替 API は提供されません。

DEP0074: REPLServer.bufferedCommand

[履歴]

バージョン変更点
v15.0.0サポート終了。
v9.0.0ランタイムでの非推奨化。

タイプ: サポート終了

REPLServer.bufferedCommand プロパティは、REPLServer.clearBufferedCommand() を推奨して非推奨となりました。

DEP0075: REPLServer.parseREPLKeyword()

[履歴]

バージョン変更点
v15.0.0サポート終了。
v9.0.0ランタイムでの非推奨化。

タイプ: サポート終了

REPLServer.parseREPLKeyword() はユーザーランドの可視性から削除されました。

DEP0076: tls.parseCertString()

[履歴]

バージョン変更点
v18.0.0サポート終了。
v9.0.0ランタイムでの非推奨化。
v8.6.0ドキュメントのみの非推奨化。

タイプ: サポート終了

tls.parseCertString() は、誤って公開された単純な解析ヘルパーでした。証明書のサブジェクトと発行者文字列を解析することを目的としていましたが、複数値の相対識別名を正しく処理することはありませんでした。

このドキュメントの以前のバージョンでは、tls.parseCertString() の代替として querystring.parse() を使用することを推奨していました。ただし、querystring.parse() もすべての証明書サブジェクトを正しく処理するわけではなく、使用すべきではありません。

DEP0077: Module._debug()

[履歴]

バージョン変更点
v9.0.0ランタイム非推奨。

タイプ: ランタイム

Module._debug() は非推奨です。

Module._debug() 関数は、公式にサポートされている API として文書化されたことはありませんでした。

DEP0078: REPLServer.turnOffEditorMode()

[履歴]

バージョン変更点
v15.0.0寿命終了。
v9.0.0ランタイム非推奨。

タイプ: 寿命終了

REPLServer.turnOffEditorMode() はユーザーランドの可視性から削除されました。

DEP0079: オブジェクトのカスタム検査関数を .inspect() で指定する

[履歴]

バージョン変更点
v11.0.0寿命終了。
v10.0.0ランタイム非推奨。
v8.7.0ドキュメントのみ非推奨。

タイプ: 寿命終了

util.inspect() のカスタム検査関数を指定するために、オブジェクト上で inspect という名前のプロパティを使用することは非推奨です。代わりに util.inspect.custom を使用してください。バージョン 6.4.0 より前の Node.js との下位互換性のために、両方を指定できます。

DEP0080: path._makeLong()

[履歴]

バージョン変更点
v9.0.0ドキュメントのみ非推奨。

タイプ: ドキュメントのみ

内部 path._makeLong() は、パブリックに使用することを意図していませんでした。ただし、ユーザーランドモジュールはそれが役立つことを見出しました。内部 API は非推奨となり、同一のパブリック path.toNamespacedPath() メソッドに置き換えられました。

DEP0081: ファイル記述子を使用した fs.truncate()

[履歴]

バージョン変更点
v9.0.0ランタイム非推奨。

タイプ: ランタイム

ファイル記述子を使用した fs.truncate() fs.truncateSync() の使用は非推奨です。ファイル記述子を操作するには、fs.ftruncate() または fs.ftruncateSync() を使用してください。

DEP0082: REPLServer.prototype.memory()

[履歴]

バージョン変更点
v15.0.0寿命終了。
v9.0.0ランタイム非推奨。

タイプ: 寿命終了

REPLServer.prototype.memory() は、REPLServer 自体の内部メカニズムにのみ必要です。この関数は使用しないでください。

DEP0083: ecdhCurvefalse に設定して ECDH を無効化する

[履歴]

バージョン変更点
v10.0.0寿命終了。
v9.2.0ランタイムでの非推奨。

タイプ: 寿命終了。

tls.createSecureContext() および tls.TLSSocketecdhCurve オプションを false に設定すると、サーバー側でのみ ECDH を完全に無効にできました。このモードは、OpenSSL 1.1.0 への移行とクライアントとの整合性を図る準備として非推奨となり、現在はサポートされていません。代わりに ciphers パラメーターを使用してください。

DEP0084: バンドルされた内部依存関係を require する

[履歴]

バージョン変更点
v12.0.0この機能は削除されました。
v10.0.0ランタイムでの非推奨。

タイプ: 寿命終了

Node.js バージョン 4.4.0 および 5.2.0 以降、内部使用のみを目的としたいくつかのモジュールが、誤って require() を介してユーザーコードに公開されていました。これらのモジュールは次のとおりです。

  • v8/tools/codemap
  • v8/tools/consarray
  • v8/tools/csvparser
  • v8/tools/logreader
  • v8/tools/profile_view
  • v8/tools/profile
  • v8/tools/SourceMap
  • v8/tools/splaytree
  • v8/tools/tickprocessor-driver
  • v8/tools/tickprocessor
  • node-inspect/lib/_inspect (7.6.0 以降)
  • node-inspect/lib/internal/inspect_client (7.6.0 以降)
  • node-inspect/lib/internal/inspect_repl (7.6.0 以降)

v8/* モジュールにはエクスポートがなく、特定の順序でインポートしないと実際にはエラーがスローされます。そのため、require() を介してインポートする正当なユースケースは事実上ありません。

一方、node-inspect は同じ名前で npm レジストリで公開されているため、パッケージマネージャーを通じてローカルにインストールできます。そのようにすれば、ソースコードの変更は必要ありません。

DEP0085: AsyncHooks の機密 API

[履歴]

バージョン変更点
v10.0.0寿命終了。
v9.4.0, v8.10.0ランタイムでの非推奨。

タイプ: 寿命終了

AsyncHooks の機密 API はドキュメント化されておらず、さまざまな小さな問題がありました。代わりに AsyncResource API を使用してください。https://github.com/nodejs/node/issues/15572 を参照してください。

DEP0086: runInAsyncIdScope の削除

[履歴]

バージョン変更点
v10.0.0寿命終了。
v9.4.0, v8.10.0ランタイムでの非推奨化。

種類: 寿命終了

runInAsyncIdScope'before''after' イベントを発行しないため、多くの問題を引き起こす可能性があります。 https://github.com/nodejs/node/issues/14328 を参照してください。

DEP0089: require('node:assert')

[履歴]

バージョン変更点
v12.8.0非推奨が取り消されました。
v9.9.0, v8.13.0ドキュメントのみの非推奨化。

種類: 非推奨の取り消し

assert を直接インポートすることは、公開された関数が緩い等価性チェックを使用するため推奨されていませんでした。 node:assert モジュールの使用は推奨されなくなったため、非推奨は取り消されました。また、非推奨が開発者の混乱を引き起こしたためです。

DEP0090: 無効な GCM 認証タグの長さ

[履歴]

バージョン変更点
v11.0.0寿命終了。
v10.0.0ランタイムでの非推奨化。

種類: 寿命終了

Node.js は、decipher.setAuthTag() を呼び出す際に OpenSSL が受け入れるすべての GCM 認証タグ長さをサポートしていました。 Node.js v11.0.0 以降では、128、120、112、104、96、64、32 ビットの認証タグ長のみが許可されます。他の長さの認証タグは、NIST SP 800-38D に準拠して無効です。

DEP0091: crypto.DEFAULT_ENCODING

[履歴]

バージョン変更点
v20.0.0寿命終了。
v10.0.0ランタイムでの非推奨化。

種類: 寿命終了

crypto.DEFAULT_ENCODING プロパティは、バージョン 0.9.3 より前の Node.js リリースとの互換性のためにのみ存在しており、削除されました。

DEP0092: トップレベルの thismodule.exports にバインドされる

[履歴]

バージョン変更点
v10.0.0ドキュメントのみの非推奨化。

種類: ドキュメントのみ

module.exports の代わりにトップレベルの this にプロパティを割り当てることは非推奨です。開発者は代わりに exports または module.exports を使用する必要があります。

DEP0093: crypto.fips は非推奨となり、置き換えられました。

[履歴]

バージョン変更
v23.0.0ランタイム非推奨。
v10.0.0ドキュメントのみの非推奨。

種類: ランタイム

crypto.fips プロパティは非推奨です。代わりに crypto.setFips() および crypto.getFips() を使用してください。

DEP0094: 複数の引数を持つ assert.fail() の使用

[履歴]

バージョン変更
v10.0.0ランタイム非推奨。

種類: ランタイム

複数の引数を持つ assert.fail() の使用は非推奨です。1 つの引数のみを持つ assert.fail() を使用するか、別の node:assert モジュールメソッドを使用してください。

DEP0095: timers.enroll()

[履歴]

バージョン変更
v10.0.0ランタイム非推奨。

種類: ランタイム

timers.enroll() は非推奨です。代わりに、公開されている setTimeout() または setInterval() を使用してください。

DEP0096: timers.unenroll()

[履歴]

バージョン変更
v10.0.0ランタイム非推奨。

種類: ランタイム

timers.unenroll() は非推奨です。代わりに、公開されている clearTimeout() または clearInterval() を使用してください。

DEP0097: domain プロパティを持つ MakeCallback

[履歴]

バージョン変更
v10.0.0ランタイム非推奨。

種類: ランタイム

コンテキストを伝達するために domain プロパティを追加する MakeCallback のユーザーは、MakeCallback または CallbackScopeasync_context バリアント、または高レベルの AsyncResource クラスの使用を開始する必要があります。

DEP0098: AsyncHooks 埋め込み AsyncResource.emitBefore および AsyncResource.emitAfter API

[履歴]

バージョン変更
v12.0.0サポート終了。
v10.0.0, v9.6.0, v8.12.0ランタイム非推奨。

種類: サポート終了

AsyncHooks によって提供される埋め込み API は、誤った使用が非常に容易で、回復不能なエラーにつながる可能性のある .emitBefore() および .emitAfter() メソッドを公開します。

代わりに、より安全で便利な代替手段を提供する asyncResource.runInAsyncScope() API を使用してください。 https://github.com/nodejs/node/pull/18513 を参照してください。

DEP0099: 非同期コンテキストを認識しない node::MakeCallback C++ API

[履歴]

バージョン変更点
v10.0.0コンパイル時の非推奨。

タイプ: コンパイル時

ネイティブアドオンで利用可能な node::MakeCallback API の特定のバージョンは非推奨です。async_context パラメータを受け入れる API のバージョンを使用してください。

DEP0100: process.assert()

[履歴]

バージョン変更点
v23.0.0寿命終了。
v10.0.0実行時の非推奨。
v0.3.7ドキュメントのみの非推奨。

タイプ: 寿命終了

process.assert() は非推奨です。代わりに assert モジュールを使用してください。

これはドキュメント化された機能ではありませんでした。

DEP0101: --with-lttng

[履歴]

バージョン変更点
v10.0.0寿命終了。

タイプ: 寿命終了

--with-lttng コンパイル時オプションは削除されました。

DEP0102: Buffer#(read|write) 操作での noAssert の使用

[履歴]

バージョン変更点
v10.0.0寿命終了。

タイプ: 寿命終了

noAssert 引数を使用しても、もはや機能はありません。noAssert の値に関係なく、すべての入力が検証されます。検証をスキップすると、見つけにくいエラーやクラッシュにつながる可能性があります。

DEP0103: process.binding('util').is[...] 型チェック

[履歴]

バージョン変更点
v10.9.0DEP0111 によって置き換えられました。
v10.0.0ドキュメントのみの非推奨。

タイプ: ドキュメントのみ (--pending-deprecation をサポート)

一般的に process.binding() の使用は避けるべきです。特に型チェックメソッドは、util.types を使用することで置き換えることができます。

この非推奨は、process.binding() API の非推奨 (DEP0111) によって置き換えられました。

DEP0104: process.env の文字列強制型変換

[履歴]

バージョン変更点
v10.0.0ドキュメントのみの非推奨。

タイプ: ドキュメントのみ (--pending-deprecation をサポート)

文字列以外のプロパティを process.env に割り当てると、割り当てられた値は暗黙的に文字列に変換されます。割り当てられた値が文字列、ブール値、数値ではない場合、この動作は非推奨です。将来、このような割り当てはエラーをスローする可能性があります。プロパティを process.env に割り当てる前に、文字列に変換してください。

DEP0105: decipher.finaltol

[履歴]

バージョン変更点
v11.0.0寿命終了。
v10.0.0ランタイムでの非推奨化。

タイプ: 寿命終了

decipher.finaltol() は文書化されたことがなく、decipher.final() のエイリアスでした。この API は削除され、代わりに decipher.final() を使用することが推奨されます。

DEP0106: crypto.createCiphercrypto.createDecipher

[履歴]

バージョン変更点
v22.0.0寿命終了。
v11.0.0ランタイムでの非推奨化。
v10.0.0ドキュメントのみの非推奨化。

タイプ: 寿命終了

crypto.createCipher()crypto.createDecipher() は、脆弱な鍵導出関数(ソルトなしの MD5)と静的な初期化ベクトルを使用するため、削除されました。crypto.pbkdf2() または crypto.scrypt() をランダムなソルトとともに使用して鍵を導出し、crypto.createCipheriv() および crypto.createDecipheriv() を使用して、それぞれ Cipher および Decipher オブジェクトを取得することが推奨されます。

DEP0107: tls.convertNPNProtocols()

[履歴]

バージョン変更点
v11.0.0寿命終了。
v10.0.0ランタイムでの非推奨化。

タイプ: 寿命終了

これは、Node.js コア以外での使用を意図しない文書化されていないヘルパー関数であり、NPN(Next Protocol Negotiation)サポートの削除によって廃止されました。

DEP0108: zlib.bytesRead

[履歴]

バージョン変更点
v23.0.0寿命終了。
v11.0.0ランタイムでの非推奨化。
v10.0.0ドキュメントのみの非推奨化。

タイプ: 寿命終了

zlib.bytesWritten の非推奨のエイリアス。この元の名前は、エンジンによって読み取られたバイト数として値を解釈することも理にかなっていたため選択されましたが、これらの名前で値を公開する Node.js の他のストリームとは一貫性がありません。

DEP0109: httphttps、および無効な URL に対するtlsのサポート

[履歴]

バージョン変更点
v16.0.0サポート終了。
v11.0.0ランタイムでの非推奨。

タイプ: サポート終了

以前は、http.request()http.get()https.request()https.get()、およびtls.checkServerIdentity() API を通じて、一部の以前にサポートされていた(ただし厳密には無効な)URL が、従来のurl.parse() API で受け入れられていたため、受け入れられていました。上記の API は、厳密に有効な URL を必要とする WHATWG URL パーサーを使用するようになりました。無効な URL を渡すことは非推奨となり、将来サポートが削除されます。

DEP0110: vm.Scriptのキャッシュされたデータ

[履歴]

バージョン変更点
v10.6.0ドキュメントのみの非推奨。

タイプ: ドキュメントのみ

produceCachedDataオプションは非推奨です。代わりにscript.createCachedData()を使用してください。

DEP0111: process.binding()

[履歴]

バージョン変更点
v11.12.0--pending-deprecationのサポートを追加。
v10.9.0ドキュメントのみの非推奨。

タイプ: ドキュメントのみ (--pending-deprecationをサポート)

process.binding()は、Node.js の内部コードでのみ使用されます。

process.binding()は一般的にはサポート終了ステータスに達していませんが、パーミッションモデルが有効になっている場合は利用できません。

DEP0112: dgramのプライベート API

[履歴]

バージョン変更点
v11.0.0ランタイムでの非推奨。

タイプ: ランタイム

node:dgramモジュールには、以前は Node.js コアの外部からアクセスすることを意図していなかったいくつかの API が含まれていました:Socket.prototype._handleSocket.prototype._receivingSocket.prototype._bindStateSocket.prototype._queueSocket.prototype._reuseAddrSocket.prototype._healthCheck()Socket.prototype._stopReceiving()、およびdgram._createSocketHandle()

DEP0113: Cipher.setAuthTag(), Decipher.getAuthTag()

[履歴]

バージョン変更
v12.0.0サポート終了。
v11.0.0ランタイム非推奨。

タイプ: サポート終了

Cipher.setAuthTag() および Decipher.getAuthTag() は利用できなくなりました。これらはドキュメント化されておらず、呼び出されると例外をスローしていました。

DEP0114: crypto._toBuf()

[履歴]

バージョン変更
v12.0.0サポート終了。
v11.0.0ランタイム非推奨。

タイプ: サポート終了

crypto._toBuf() 関数は、Node.js コアの外部のモジュールで使用されるようには設計されておらず、削除されました。

DEP0115: crypto.prng(), crypto.pseudoRandomBytes(), crypto.rng()

[履歴]

バージョン変更
v11.0.0--pending-deprecation サポート付きのドキュメントのみの非推奨を追加。

タイプ: ドキュメントのみ (--pending-deprecation をサポート)

最近のバージョンの Node.js では、crypto.randomBytes()crypto.pseudoRandomBytes() に違いはありません。後者は、ドキュメント化されていないエイリアス crypto.prng() および crypto.rng() とともに非推奨となり、crypto.randomBytes() が推奨され、将来のリリースで削除される可能性があります。

DEP0116: レガシー URL API

[履歴]

バージョン変更
v19.0.0, v18.13.0DEP0169 で url.parse() が再び非推奨になりました。
v15.13.0, v14.17.0非推奨が取り消されました。ステータスが「レガシー」に変更されました。
v11.0.0ドキュメントのみの非推奨。

タイプ: 非推奨が取り消されました

レガシー URL API は非推奨です。これには、url.format()url.parse()url.resolve()、およびレガシー urlObject が含まれます。代わりに、WHATWG URL API を使用してください。

DEP0117: ネイティブ暗号ハンドル

[履歴]

バージョン変更点
v12.0.0サポート終了。
v11.0.0実行時の非推奨。

タイプ: サポート終了

以前のバージョンの Node.js では、CipherDecipherDiffieHellmanDiffieHellmanGroupECDHHashHmacSign、および Verify クラスの _handle プロパティを通じて、内部ネイティブオブジェクトへのハンドルを公開していました。ネイティブオブジェクトの不適切な使用はアプリケーションのクラッシュにつながる可能性があるため、_handle プロパティは削除されました。

DEP0118: dns.lookup() での falsy なホスト名のサポート

[履歴]

バージョン変更点
v11.0.0実行時の非推奨。

タイプ: 実行時

以前のバージョンの Node.js では、下位互換性のために dns.lookup(false) のような falsy なホスト名での dns.lookup() をサポートしていました。この動作は文書化されておらず、現実世界のアプリでは使用されていないと考えられています。将来のバージョンの Node.js ではエラーになります。

DEP0119: process.binding('uv').errname() プライベート API

[履歴]

バージョン変更点
v11.0.0ドキュメントのみの非推奨。

タイプ: ドキュメントのみ (--pending-deprecation をサポート)

process.binding('uv').errname() は非推奨です。代わりに util.getSystemErrorName() を使用してください。

DEP0120: Windows パフォーマンスカウンターのサポート

[履歴]

バージョン変更点
v12.0.0サポート終了。
v11.0.0実行時の非推奨。

タイプ: サポート終了

Windows パフォーマンスカウンターのサポートは Node.js から削除されました。文書化されていない COUNTER_NET_SERVER_CONNECTION()COUNTER_NET_SERVER_CONNECTION_CLOSE()COUNTER_HTTP_SERVER_REQUEST()COUNTER_HTTP_SERVER_RESPONSE()COUNTER_HTTP_CLIENT_REQUEST()、および COUNTER_HTTP_CLIENT_RESPONSE() 関数は非推奨になりました。

DEP0121: net._setSimultaneousAccepts()

[履歴]

バージョン変更点
v12.0.0実行時の非推奨。

タイプ: 実行時

文書化されていない net._setSimultaneousAccepts() 関数は、元々は Windows で node:child_process および node:cluster モジュールを使用する際のデバッグとパフォーマンスチューニングを目的としていました。この関数は一般的には有用ではなく、削除されます。詳細については、https://github.com/nodejs/node/issues/18391 を参照してください。

DEP0122: tls Server.prototype.setOptions()

[履歴]

バージョン変更点
v12.0.0ランタイム廃止

タイプ: ランタイム

代わりに Server.prototype.setSecureContext() を使用してください。

DEP0123: TLS ServerName を IP アドレスに設定する

[履歴]

バージョン変更点
v12.0.0ランタイム廃止

タイプ: ランタイム

TLS ServerName を IP アドレスに設定することは、RFC 6066 によって許可されていません。これは将来のバージョンでは無視されます。

DEP0124: REPLServer.rli の使用

[履歴]

バージョン変更点
v15.0.0寿命終了
v12.0.0ランタイム廃止

タイプ: 寿命終了

このプロパティはインスタンス自身への参照です。

DEP0125: require('node:_stream_wrap')

[履歴]

バージョン変更点
v12.0.0ランタイム廃止

タイプ: ランタイム

node:_stream_wrap モジュールは廃止予定です。

DEP0126: timers.active()

[履歴]

バージョン変更点
v11.14.0ランタイム廃止

タイプ: ランタイム

以前は文書化されていなかった timers.active() は廃止予定です。代わりに、公開されている timeout.refresh() を使用してください。タイムアウトを再参照する必要がある場合は、Node.js 10 以降ではパフォーマンスに影響を与えることなく timeout.ref() を使用できます。

DEP0127: timers._unrefActive()

[履歴]

バージョン変更点
v11.14.0ランタイム廃止

タイプ: ランタイム

以前は文書化されていなかった "プライベート" な timers._unrefActive() は廃止予定です。代わりに、公開されている timeout.refresh() を使用してください。タイムアウトをアンリファレンスする必要がある場合は、Node.js 10 以降ではパフォーマンスに影響を与えることなく timeout.unref() を使用できます。

DEP0128: 無効な main エントリと index.js ファイルを持つモジュール

[履歴]

バージョン変更点
v16.0.0ランタイム廃止
v12.0.0ドキュメントのみ

タイプ: ランタイム

無効な main エントリ (例: ./does-not-exist.js) を持ち、最上位ディレクトリに index.js ファイルも持つモジュールは、index.js ファイルを解決します。これは廃止予定であり、将来の Node.js バージョンではエラーをスローする予定です。

DEP0129: ChildProcess._channel

[履歴]

バージョン変更
v13.0.0ランタイムでの非推奨。
v11.14.0ドキュメントのみ。

タイプ: ランタイム

spawn() や同様の関数によって返される子プロセスオブジェクトの _channel プロパティは、一般公開を意図したものではありません。代わりに ChildProcess.channel を使用してください。

DEP0130: Module.createRequireFromPath()

[履歴]

バージョン変更
v16.0.0寿命終了。
v13.0.0ランタイムでの非推奨。
v12.2.0ドキュメントのみ。

タイプ: 寿命終了

代わりに module.createRequire() を使用してください。

DEP0131: レガシー HTTP パーサー

[履歴]

バージョン変更
v13.0.0この機能は削除されました。
v12.22.0ランタイムでの非推奨。
v12.3.0ドキュメントのみ。

タイプ: 寿命終了

Node.js の 12.0.0 より前のバージョンでデフォルトで使用されていたレガシー HTTP パーサーは非推奨となり、v13.0.0 で削除されました。v13.0.0 より前のバージョンでは、--http-parser=legacy コマンドラインフラグを使用して、レガシーパーサーの使用に戻すことができました。

DEP0132: コールバック付きの worker.terminate()

[履歴]

バージョン変更
v12.5.0ランタイムでの非推奨。

タイプ: ランタイム

worker.terminate() にコールバックを渡すことは非推奨です。代わりに返される Promise またはワーカーの 'exit' イベントのリスナーを使用してください。

DEP0133: http connection

[履歴]

バージョン変更
v12.12.0ドキュメントのみの非推奨。

タイプ: ドキュメントのみ

response.connection よりも response.socket を、request.connection よりも request.socket を優先してください。

DEP0134: process._tickCallback

[履歴]

バージョン変更
v12.12.0ドキュメントのみの非推奨。

タイプ: ドキュメントのみ(--pending-deprecation をサポート)

process._tickCallback プロパティは、公式にサポートされている API として文書化されたことはありません。

DEP0135: WriteStream.open()ReadStream.open() は内部 API です

[履歴]

バージョン変更点
v13.0.0ランタイム非推奨。

タイプ: ランタイム

WriteStream.open()ReadStream.open() は、ユーザーランドで使用することが想定されていないドキュメント化されていない内部 API です。ファイルストリームは、対応するファクトリーメソッドである fs.createWriteStream()fs.createReadStream() を使用するか、オプションでファイル記述子を渡すことで常に開く必要があります。

DEP0136: http finished

[履歴]

バージョン変更点
v13.4.0, v12.16.0ドキュメントのみ非推奨。

タイプ: ドキュメントのみ

response.finished は、'finish' が発行されたか、および基になるデータがフラッシュされたかではなく、response.end() が呼び出されたかどうかを示します。

曖昧さを避けるために、代わりに response.writableFinished または response.writableEnded を適切に使用してください。

既存の動作を維持するには、response.finishedresponse.writableEnded に置き換える必要があります。

DEP0137: ガーベージコレクション時の fs.FileHandle のクローズ

[履歴]

バージョン変更点
v14.0.0ランタイム非推奨。

タイプ: ランタイム

fs.FileHandle オブジェクトをガーベージコレクション時にクローズすることは非推奨です。将来的には、これを行うとプロセスを終了させるエラーがスローされる可能性があります。

fs.FileHandle が不要になった場合は、FileHandle.prototype.close() を使用してすべての fs.FileHandle オブジェクトを明示的にクローズしてください。

js
const fsPromises = require('node:fs').promises
async function openAndClose() {
  let filehandle
  try {
    filehandle = await fsPromises.open('thefile.txt', 'r')
  } finally {
    if (filehandle !== undefined) await filehandle.close()
  }
}

DEP0138: process.mainModule

[履歴]

バージョン変更
v14.0.0ドキュメントのみの非推奨化。

タイプ: ドキュメントのみ

process.mainModule は CommonJS のみの機能ですが、process グローバルオブジェクトは非 CommonJS 環境と共有されます。ECMAScript モジュール内での使用はサポートされていません。

これは、同じ目的を果たし、CommonJS 環境でのみ利用可能であるため、require.main を優先して非推奨となりました。

DEP0139: 引数なしの process.umask()

[履歴]

バージョン変更
v14.0.0, v12.19.0ドキュメントのみの非推奨化。

タイプ: ドキュメントのみ

引数なしで process.umask() を呼び出すと、プロセス全体の umask が 2 回書き込まれます。これにより、スレッド間で競合状態が発生し、セキュリティ上の脆弱性となる可能性があります。安全なクロスプラットフォームの代替 API はありません。

DEP0140: request.abort() の代わりに request.destroy() を使用する

[履歴]

バージョン変更
v14.1.0, v13.14.0ドキュメントのみの非推奨化。

タイプ: ドキュメントのみ

request.abort() の代わりに request.destroy() を使用してください。

DEP0141: repl.inputStreamrepl.outputStream

[履歴]

バージョン変更
v14.3.0ドキュメントのみ ([--pending-deprecation][] をサポート)。

タイプ: ドキュメントのみ (--pending-deprecation をサポート)

node:repl モジュールは、入力ストリームと出力ストリームを 2 回エクスポートしました。.inputStream の代わりに .input を、.outputStream の代わりに .output を使用してください。

DEP0142: repl._builtinLibs

[履歴]

バージョン変更
v14.3.0ドキュメントのみ ([--pending-deprecation][] をサポート)。

タイプ: ドキュメントのみ

node:repl モジュールは、組み込みモジュールの配列を含む _builtinLibs プロパティをエクスポートします。これはこれまで不完全であったため、代わりに require('node:module').builtinModules に依存することをお勧めします。

DEP0143: Transform._transformState

[履歴]

バージョン変更
v14.5.0ランタイム廃止予定。

タイプ: ランタイム Transform._transformState は、実装の簡素化により不要になるため、将来のバージョンで削除されます。

DEP0144: module.parent

[履歴]

バージョン変更
v14.6.0, v12.19.0ドキュメントのみの廃止予定。

タイプ: ドキュメントのみ (--pending-deprecation をサポート)

CommonJS モジュールは、module.parent を使用して、それを必要とした最初のモジュールにアクセスできます。この機能は、ECMAScript モジュールが存在する場合に一貫して機能しないため、また CommonJS モジュールグラフを不正確に表現するため、非推奨となりました。

一部のモジュールは、現在のプロセスのエントリポイントであるかどうかを確認するために使用しています。代わりに、require.mainmodule を比較することをお勧めします。

js
if (require.main === module) {
  // 現在のファイルがエントリポイントの場合にのみ実行されるコードセクション
}

現在のモジュールを必要とした CommonJS モジュールを探す場合は、require.cachemodule.children を使用できます。

js
const moduleParents = Object.values(require.cache).filter(m => m.children.includes(module))

DEP0145: socket.bufferSize

[履歴]

バージョン変更
v14.6.0ドキュメントのみの廃止予定。

タイプ: ドキュメントのみ

socket.bufferSize は、writable.writableLength の単なるエイリアスです。

DEP0146: new crypto.Certificate()

[履歴]

バージョン変更
v14.9.0ドキュメントのみの廃止予定。

タイプ: ドキュメントのみ

crypto.Certificate() コンストラクター は非推奨になりました。代わりに、crypto.Certificate() の静的メソッド を使用してください。

DEP0147: fs.rmdir(path, { recursive: true }) {#dep0147-fsrmdirpath-{-recursive-true-}}

[履歴]

バージョン変更
v16.0.0ランタイム廃止予定。
v15.0.0寛容な動作に対するランタイム廃止予定。
v14.14.0ドキュメントのみの廃止予定。

タイプ: ランタイム

将来のバージョンの Node.js では、fs.rmdirfs.rmdirSync、および fs.promises.rmdirrecursive オプションは無視されます。

代わりに、fs.rm(path, { recursive: true, force: true })fs.rmSync(path, { recursive: true, force: true })、または fs.promises.rm(path, { recursive: true, force: true }) を使用してください。

DEP0148: "exports" 内のフォルダーマッピング (末尾 "/")

[履歴]

バージョン変更
v17.0.0サポート終了。
v16.0.0ランタイムでの非推奨。
v15.1.0自己参照インポートのランタイムでの非推奨。
v14.13.0ドキュメントのみの非推奨。

タイプ: ランタイム

サブパス exports または サブパス imports フィールドでサブパスフォルダーマッピングを定義するために末尾 "/" を使用することは非推奨です。サブパターンのパターン を代わりに使用してください。

DEP0149: http.IncomingMessage#connection

[履歴]

バージョン変更
v16.0.0ドキュメントのみの非推奨。

タイプ: ドキュメントのみ。

message.connection よりも message.socket を優先してください。

DEP0150: process.config の値の変更

[履歴]

バージョン変更
v19.0.0サポート終了。
v16.0.0ランタイムでの非推奨。

タイプ: サポート終了

process.config プロパティは、Node.js のコンパイル時設定へのアクセスを提供します。ただし、このプロパティは変更可能であり、改ざんされる可能性があります。値を変更する機能は、Node.js の将来のバージョンで削除されます。

DEP0151: メインインデックスのルックアップと拡張子の検索

[履歴]

バージョン変更
v16.0.0ランタイムでの非推奨。
v15.8.0, v14.18.0--pending-deprecation サポート付きのドキュメントのみの非推奨。

タイプ: ランタイム

以前は、index.js および拡張子検索のルックアップは、ES モジュールを解決する場合でも、import 'pkg' メインエントリポイントの解決に適用されていました。

この非推奨により、すべての ES モジュールのメインエントリポイント解決には、正確なファイル拡張子を持つ明示的な "exports" または "main" エントリ が必要になります。

DEP0152: 拡張機能 PerformanceEntry プロパティ

[履歴]

バージョン変更
v16.0.0ランタイムでの非推奨。

タイプ: ランタイム

'gc''http2'、および 'http'<PerformanceEntry> オブジェクトタイプには、追加情報を提供する追加のプロパティが割り当てられています。これらのプロパティは、PerformanceEntry オブジェクトの標準の detail プロパティ内で使用できるようになりました。既存のアクセサーは非推奨になっており、使用すべきではありません。

DEP0153: dns.lookup および dnsPromises.lookup オプションの型強制

[履歴]

バージョン変更
v18.0.0廃止。
v17.0.0ランタイムでの非推奨。
v16.8.0ドキュメントのみの非推奨。

型: 廃止

dns.lookup() および dnsPromises.lookup() において、family オプションに null 以外の整数以外の値、hints オプションに null 以外の数値以外の値、all オプションに null 以外の真偽値以外の値、または verbatim オプションに null 以外の真偽値以外の値を使用すると、ERR_INVALID_ARG_TYPE エラーがスローされます。

DEP0154: RSA-PSS 鍵ペア生成オプション

[履歴]

バージョン変更
v20.0.0ランタイムでの非推奨。
v16.10.0ドキュメントのみの非推奨。

型: ランタイム

'hash' および 'mgf1Hash' オプションは 'hashAlgorithm' および 'mgf1HashAlgorithm' に置き換えられます。

DEP0155: パターンスペシフィア解決における末尾のスラッシュ

[履歴]

バージョン変更
v17.0.0ランタイムでの非推奨。
v16.10.0--pending-deprecation サポート付きのドキュメントのみの非推奨。

型: ランタイム

import 'pkg/x/' のように "/" で終わるスペシフィアのマッピングは、パッケージ "exports" および "imports" パターン解決に対して非推奨になりました。

DEP0156: http における .aborted プロパティと 'abort', 'aborted' イベント

[履歴]

バージョン変更
v17.0.0, v16.12.0ドキュメントのみの非推奨。

型: ドキュメントのみ

http.ClientRequest, http.ServerResponse, および http.IncomingMessage はすべてストリームベースであるため、代わりに <Stream> API に移行してください。.aborted プロパティの代わりに stream.destroyed を確認し、'abort', 'aborted' イベントの代わりに 'close' をリッスンしてください。

.aborted プロパティと 'abort' イベントは、.abort() 呼び出しを検出する場合にのみ役立ちます。リクエストを早期にクローズするには、Stream の .destroy([error]) を使用し、次に .destroyed プロパティを確認し、'close' イベントが同じ効果を持つはずです。受信側は、http.IncomingMessagereadable.readableEnded 値をチェックして、中断されたのか、正常な破棄だったのかを確認する必要があります。

DEP0157: ストリームにおける Thenable のサポート

[履歴]

バージョン変更
v18.0.0廃止。
v17.2.0, v16.14.0ドキュメントのみの非推奨。

タイプ: 廃止

Node.js ストリームのドキュメント化されていない機能として、実装メソッドで thenable をサポートしていました。これは非推奨になったため、代わりにコールバックを使用し、ストリーム実装メソッドに async 関数を使用することは避けてください。

この機能により、ユーザーがコールバックスタイルで関数を実装したものの、例えば async メソッドを使用した場合、Promise とコールバックのセマンティクスの混在は無効であるため、エラーが発生するという予期しない問題に遭遇する原因となっていました。

js
const w = new Writable({
  async final(callback) {
    await someOp()
    callback()
  },
})

DEP0158: buffer.slice(start, end)

[履歴]

バージョン変更
v17.5.0, v16.15.0ドキュメントのみの非推奨。

タイプ: ドキュメントのみ

このメソッドは、Buffer のスーパークラスである Uint8Array.prototype.slice() と互換性がないため、非推奨となりました。

代わりに、同じことを行う buffer.subarray を使用してください。

DEP0159: ERR_INVALID_CALLBACK

[履歴]

バージョン変更
v18.0.0廃止。

タイプ: 廃止

このエラーコードは、値の型検証に使用されるエラーにさらに混乱を招くため、削除されました。

DEP0160: process.on('multipleResolves', handler)

[履歴]

バージョン変更
v18.0.0ランタイムの非推奨。
v17.6.0, v16.15.0ドキュメントのみの非推奨。

タイプ: ランタイム。

このイベントは、その有用性を低下させる V8 Promise コンビネータでは動作しなかったため、非推奨となりました。

DEP0161: process._getActiveRequests() および process._getActiveHandles()

[履歴]

バージョン変更
v17.6.0, v16.15.0ドキュメントのみの非推奨。

タイプ: ドキュメントのみ

process._getActiveHandles() および process._getActiveRequests() 関数は、パブリックに使用することを意図しておらず、将来のリリースで削除される可能性があります。

アクティブなリソースの実際の参照ではなく、タイプの一覧を取得するには、process.getActiveResourcesInfo() を使用してください。

DEP0162: fs.write(), fs.writeFileSync() の文字列への強制変換

[履歴]

バージョン変更
v19.0.0サポート終了。
v18.0.0ランタイムでの非推奨。
v17.8.0, v16.15.0ドキュメントのみでの非推奨。

タイプ: サポート終了

fs.write()fs.writeFile()fs.appendFile()fs.writeFileSync()、および fs.appendFileSync() の第 2 引数として渡された、独自の toString プロパティを持つオブジェクトの暗黙的な強制変換は非推奨です。それらをプリミティブ文字列に変換してください。

DEP0163: channel.subscribe(onMessage), channel.unsubscribe(onMessage)

[履歴]

バージョン変更
v18.7.0, v16.17.0ドキュメントのみでの非推奨。

タイプ: ドキュメントのみ

これらのメソッドは、イベントを受信するのに十分な期間チャネル参照を保持しない方法で使用できるため、非推奨となりました。

代わりに、同じことを行う diagnostics_channel.subscribe(name, onMessage) または diagnostics_channel.unsubscribe(name, onMessage) を使用してください。

DEP0164: process.exit(code), process.exitCode の整数への強制変換

[履歴]

バージョン変更
v20.0.0サポート終了。
v19.0.0ランタイムでの非推奨。
v18.10.0, v16.18.0process.exitCode の整数強制変換のドキュメントのみでの非推奨。
v18.7.0, v16.17.0process.exit(code) の整数強制変換のドキュメントのみでの非推奨。

タイプ: サポート終了

process.exit()code パラメーターの値として、および process.exitCode に代入する値として、undefinednull、整数、整数文字列 (例: '1') 以外の値は非推奨です。

DEP0165: --trace-atomics-wait

[履歴]

バージョン変更
v23.0.0寿命終了。
v22.0.0ランタイム非推奨。
v18.8.0, v16.18.0ドキュメントのみの非推奨。

タイプ: 寿命終了

--trace-atomics-waitフラグは、将来の V8 リリースで削除される V8 フックSetAtomicsWaitCallbackを使用するため削除されました。

DEP0166: インポートおよびエクスポートターゲットの二重スラッシュ

[履歴]

バージョン変更
v19.0.0ランタイム非推奨。
v18.10.0--pending-deprecationサポート付きのドキュメントのみの非推奨。

タイプ: ランタイム

二重スラッシュ("/"または"\")を含むパスにマッピングされるパッケージのインポートおよびエクスポートターゲットは非推奨となり、将来のリリースでは解決検証エラーで失敗します。この同じ非推奨は、スラッシュで始まるか終わるパターンマッチにも適用されます。

DEP0167: 脆弱なDiffieHellmanGroupインスタンス(modp1modp2modp5

[履歴]

バージョン変更
v18.10.0, v16.18.0ドキュメントのみの非推奨。

タイプ: ドキュメントのみの非推奨

よく知られている MODP グループmodp1modp2、およびmodp5は、実用的な攻撃に対して安全ではないため非推奨です。詳細については、RFC 8247 セクション 2.4を参照してください。

これらのグループは、Node.js の将来のバージョンで削除される可能性があります。これらのグループに依存するアプリケーションは、代わりに強力な MODP グループを使用することを検討する必要があります。

DEP0168: Node-API コールバックでの未処理の例外

[履歴]

バージョン変更
v18.3.0, v16.17.0ランタイム非推奨。

タイプ: ランタイム

Node-API コールバックでのキャッチされない例外の暗黙的な抑制は、現在非推奨です。

フラグ--force-node-api-uncaught-exceptions-policyを設定して、Node-API コールバックで例外が処理されない場合に、Node.js に'uncaughtException'イベントを強制的に発行させます。

DEP0169: 安全でない url.parse()

[履歴]

バージョン変更点
v19.9.0, v18.17.0--pending-deprecation のサポートを追加。
v19.0.0, v18.13.0ドキュメントのみの非推奨。

タイプ: ドキュメントのみ(--pending-deprecation をサポート)

url.parse() の動作は標準化されておらず、セキュリティ上の問題につながるエラーが発生しやすいです。代わりに WHATWG URL API を使用してください。url.parse() の脆弱性に対して CVE は発行されません。

DEP0170: url.parse() 使用時の無効なポート

[履歴]

バージョン変更点
v20.0.0ランタイム非推奨。
v19.2.0, v18.13.0ドキュメントのみの非推奨。

タイプ: ランタイム

url.parse() は、数値ではないポートを持つ URL を受け入れます。この動作は、予期しない入力によるホスト名スプーフィングを引き起こす可能性があります。これらの URL は、WHATWG URL API がすでにそうであるように、今後の Node.js のバージョンではエラーをスローします。

DEP0171: http.IncomingMessage ヘッダーおよびトレーラーのセッター

[履歴]

バージョン変更点
v19.3.0, v18.13.0ドキュメントのみの非推奨。

タイプ: ドキュメントのみ

今後の Node.js のバージョンでは、message.headers, message.headersDistinct, message.trailers, および message.trailersDistinct は読み取り専用になります。

DEP0172: AsyncResource バインド関数の asyncResource プロパティ

[履歴]

バージョン変更点
v20.0.0ランタイム非推奨。

タイプ: ランタイム

今後の Node.js のバージョンでは、関数が AsyncResource にバインドされている場合、asyncResource プロパティは追加されなくなります。

DEP0173: assert.CallTracker クラス

[履歴]

バージョン変更点
v20.1.0ドキュメントのみの非推奨。

タイプ: ドキュメントのみ

今後の Node.js のバージョンでは、assert.CallTracker は削除されます。mock ヘルパー関数などの代替手段の使用を検討してください。

DEP0174: Promiseを返す関数に対するpromisifyの呼び出し

[履歴]

バージョン変更
v21.0.0ランタイムでの非推奨化。
v20.8.0ドキュメントのみの非推奨化。

タイプ: ランタイム

util.promisifyを、Promiseを返す関数に対して呼び出すことは

DEP0175: util.toUSVString

[履歴]

バージョン変更
v20.8.0ドキュメントのみの非推奨化。

タイプ: ドキュメントのみ

util.toUSVString() API は非推奨です。代わりに String.prototype.toWellFormed を使用してください。

DEP0176: fs.F_OK, fs.R_OK, fs.W_OK, fs.X_OK

[履歴]

バージョン変更
v20.8.0ドキュメントのみの非推奨化。

タイプ: ドキュメントのみ

node:fs で直接公開されている F_OK, R_OK, W_OK, X_OK ゲッターは非推奨です。代わりに fs.constants または fs.promises.constants から取得してください。

DEP0177: util.types.isWebAssemblyCompiledModule

[履歴]

バージョン変更
v21.7.0, v20.12.0寿命終了。
v21.3.0, v20.11.0非推奨コードが割り当てられました。
v14.0.0ドキュメントのみの非推奨化。

タイプ: 寿命終了

util.types.isWebAssemblyCompiledModule API は削除されました。代わりに value instanceof WebAssembly.Module を使用してください。

DEP0178: dirent.path

[履歴]

バージョン変更
v23.0.0ランタイムでの非推奨化。
v21.5.0, v20.12.0, v18.20.0ドキュメントのみの非推奨化。

タイプ: ランタイム

dirent.path は、リリースライン間での一貫性がないため非推奨です。代わりに dirent.parentPath を使用してください。

DEP0179: Hash コンストラクタ

[履歴]

バージョン変更
v22.0.0ランタイムでの非推奨化。
v21.5.0, v20.12.0ドキュメントのみの非推奨化。

タイプ: ランタイム

Hash() または new Hash()Hash クラスを直接呼び出すことは、内部的なものであり、一般向けの使用を意図していないため非推奨です。Hash インスタンスを作成するには、crypto.createHash() メソッドを使用してください。

DEP0180: fs.Stats コンストラクター

[履歴]

バージョン変更点
v22.0.0ランタイムでの非推奨化。
v20.13.0ドキュメントのみの非推奨化。

タイプ: ランタイム

fs.Stats クラスを Stats() または new Stats() で直接呼び出すことは、内部的なものであり、一般利用を意図していないため、非推奨です。

DEP0181: Hmac コンストラクター

[履歴]

バージョン変更点
v22.0.0ランタイムでの非推奨化。
v20.13.0ドキュメントのみの非推奨化。

タイプ: ランタイム

Hmac クラスを Hmac() または new Hmac() で直接呼び出すことは、内部的なものであり、一般利用を意図していないため、非推奨です。 Hmac インスタンスを作成するには、crypto.createHmac() メソッドを使用してください。

DEP0182: 明示的な authTagLength がない短い GCM 認証タグ

[履歴]

バージョン変更点
v23.0.0ランタイムでの非推奨化。
v20.13.0ドキュメントのみの非推奨化。

タイプ: ランタイム

デフォルトの認証タグ長よりも短い認証タグを使用するアプリケーションは、crypto.createDecipheriv() 関数の authTagLength オプションを適切な長さに設定する必要があります。

GCM モードの暗号では、decipher.setAuthTag() 関数は任意の有効な長さの認証タグを受け入れます(DEP0090を参照)。 この動作は、NIST SP 800-38D に基づく推奨事項により良く整合させるために、非推奨となりました。

DEP0183: OpenSSL エンジンベースの API

[履歴]

バージョン変更点
v22.4.0, v20.16.0ドキュメントのみの非推奨化。

タイプ: ドキュメントのみ

OpenSSL 3 はカスタムエンジンのサポートを非推奨とし、新しいプロバイダーモデルに切り替えることを推奨しています。 https.request()tls.createSecureContext()、および tls.createServer()clientCertEngine オプション、tls.createSecureContext()privateKeyEngine および privateKeyIdentifier、そして crypto.setEngine() はすべて、OpenSSL のこの機能に依存しています。

DEP0184: node:zlib クラスを new なしでインスタンス化する

[履歴]

バージョン変更点
v22.9.0, v20.18.0ドキュメントのみの非推奨化。

タイプ: ドキュメントのみ

node:zlib モジュールによってエクスポートされたクラスを new 修飾子なしでインスタンス化することは非推奨です。代わりに new 修飾子を使用することを推奨します。これは、DeflateDeflateRawGunzipInflateInflateRawUnzip、および Zlib などのすべての Zlib クラスに適用されます。

DEP0185: node:repl クラスを new なしでインスタンス化する

[履歴]

バージョン変更点
v22.9.0, v20.18.0ドキュメントのみの非推奨化。

タイプ: ドキュメントのみ

node:repl モジュールによってエクスポートされたクラスを new 修飾子なしでインスタンス化することは非推奨です。代わりに new 修飾子を使用することを推奨します。これは、REPLServerRecoverable を含むすべての REPL クラスに適用されます。

DEP0187: fs.existsSync に無効な引数型を渡す

[履歴]

バージョン変更点
v23.4.0ドキュメントのみ。

タイプ: ドキュメントのみ

サポートされていない引数型を渡すことは非推奨であり、false を返す代わりに、将来のバージョンでエラーをスローします。

DEP0188: process.features.ipv6process.features.uv

[履歴]

バージョン変更点
v23.4.0ドキュメントのみの非推奨化。

タイプ: ドキュメントのみ

これらのプロパティは無条件に true です。これらのプロパティに基づくチェックは冗長です。

DEP0189: process.features.tls_*

[履歴]

バージョン変更点
v23.4.0ドキュメントのみの非推奨化。

タイプ: ドキュメントのみ

process.features.tls_alpnprocess.features.tls_ocsp、および process.features.tls_sni は、それらの値が process.features.tls の値と同一であることが保証されているため、非推奨です。