非推奨 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()
を使用してください。
DEP0002: require('_linklist')
[履歴]
バージョン | 変更 |
---|---|
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
オブジェクトを構築する以下のいずれかの方法を使用してください。
Buffer.alloc(size[, fill[, encoding]])
: 初期化されたメモリを持つBuffer
を作成します。Buffer.allocUnsafe(size)
: 未初期化のメモリを持つBuffer
を作成します。Buffer.allocUnsafeSlow(size)
: 未初期化のメモリを持つBuffer
を作成します。Buffer.from(array)
:array
のコピーでBuffer
を作成します。Buffer.from(arrayBuffer[, byteOffset[, length]])
- 指定されたarrayBuffer
をラップするBuffer
を作成します。Buffer.from(buffer)
:buffer
をコピーするBuffer
を作成します。Buffer.from(string[, encoding])
:string
をコピーする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.suicide
を worker.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').constants
や require('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 以降では、digest
を undefined
に設定して crypto.pbkdf2()
または crypto.pbkdf2Sync()
を呼び出すと、TypeError
がスローされます。
Node.js v11.0.0 以降では、digest
を null
に設定してこれらの関数を呼び出すと、digest
が undefined
の場合の動作と一致するように、非推奨の警告が表示されます。
ただし、現在では、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
プロパティのエイリアスであるGLOBAL
とroot
は、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.0 | Server.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.0 | End-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.0 | End-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.0 | End-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: ecdhCurve
を false
に設定して ECDH を無効化する
[履歴]
バージョン | 変更点 |
---|---|
v10.0.0 | 寿命終了。 |
v9.2.0 | ランタイムでの非推奨。 |
タイプ: 寿命終了。
tls.createSecureContext()
および tls.TLSSocket
の ecdhCurve
オプションを 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: トップレベルの this
が module.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
または CallbackScope
の async_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.0 | DEP0111 によって置き換えられました。 |
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.createCipher
と crypto.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: http
、https
、および無効な 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._handle
、Socket.prototype._receiving
、Socket.prototype._bindState
、Socket.prototype._queue
、Socket.prototype._reuseAddr
、Socket.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.0 | DEP0169 で 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 では、Cipher
、Decipher
、DiffieHellman
、DiffieHellmanGroup
、ECDH
、Hash
、Hmac
、Sign
、および 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.finished
を response.writableEnded
に置き換える必要があります。
DEP0137: ガーベージコレクション時の fs.FileHandle のクローズ
[履歴]
バージョン | 変更点 |
---|---|
v14.0.0 | ランタイム非推奨。 |
タイプ: ランタイム
fs.FileHandle
オブジェクトをガーベージコレクション時にクローズすることは非推奨です。将来的には、これを行うとプロセスを終了させるエラーがスローされる可能性があります。
fs.FileHandle
が不要になった場合は、FileHandle.prototype.close()
を使用してすべての fs.FileHandle
オブジェクトを明示的にクローズしてください。
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.inputStream
と repl.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.main
と module
を比較することをお勧めします。
if (require.main === module) {
// 現在のファイルがエントリポイントの場合にのみ実行されるコードセクション
}
現在のモジュールを必要とした CommonJS モジュールを探す場合は、require.cache
と module.children
を使用できます。
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.rmdir
、fs.rmdirSync
、および fs.promises.rmdir
で recursive
オプションは無視されます。
代わりに、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.IncomingMessage
の readable.readableEnded
値をチェックして、中断されたのか、正常な破棄だったのかを確認する必要があります。
DEP0157: ストリームにおける Thenable のサポート
[履歴]
バージョン | 変更 |
---|---|
v18.0.0 | 廃止。 |
v17.2.0, v16.14.0 | ドキュメントのみの非推奨。 |
タイプ: 廃止
Node.js ストリームのドキュメント化されていない機能として、実装メソッドで thenable をサポートしていました。これは非推奨になったため、代わりにコールバックを使用し、ストリーム実装メソッドに async 関数を使用することは避けてください。
この機能により、ユーザーがコールバックスタイルで関数を実装したものの、例えば async メソッドを使用した場合、Promise とコールバックのセマンティクスの混在は無効であるため、エラーが発生するという予期しない問題に遭遇する原因となっていました。
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.0 | process.exitCode の整数強制変換のドキュメントのみでの非推奨。 |
v18.7.0, v16.17.0 | process.exit(code) の整数強制変換のドキュメントのみでの非推奨。 |
タイプ: サポート終了
process.exit()
の code
パラメーターの値として、および process.exitCode
に代入する値として、undefined
、null
、整数、整数文字列 (例: '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
インスタンス(modp1
、modp2
、modp5
)
[履歴]
バージョン | 変更 |
---|---|
v18.10.0, v16.18.0 | ドキュメントのみの非推奨。 |
タイプ: ドキュメントのみの非推奨
よく知られている MODP グループmodp1
、modp2
、および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
修飾子を使用することを推奨します。これは、Deflate
、DeflateRaw
、Gunzip
、Inflate
、InflateRaw
、Unzip
、および Zlib
などのすべての Zlib クラスに適用されます。
DEP0185: node:repl
クラスを new
なしでインスタンス化する
[履歴]
バージョン | 変更点 |
---|---|
v22.9.0, v20.18.0 | ドキュメントのみの非推奨化。 |
タイプ: ドキュメントのみ
node:repl
モジュールによってエクスポートされたクラスを new
修飾子なしでインスタンス化することは非推奨です。代わりに new
修飾子を使用することを推奨します。これは、REPLServer
や Recoverable
を含むすべての REPL クラスに適用されます。
DEP0187: fs.existsSync
に無効な引数型を渡す
[履歴]
バージョン | 変更点 |
---|---|
v23.4.0 | ドキュメントのみ。 |
タイプ: ドキュメントのみ
サポートされていない引数型を渡すことは非推奨であり、false
を返す代わりに、将来のバージョンでエラーをスローします。
DEP0188: process.features.ipv6
と process.features.uv
[履歴]
バージョン | 変更点 |
---|---|
v23.4.0 | ドキュメントのみの非推奨化。 |
タイプ: ドキュメントのみ
これらのプロパティは無条件に true
です。これらのプロパティに基づくチェックは冗長です。
DEP0189: process.features.tls_*
[履歴]
バージョン | 変更点 |
---|---|
v23.4.0 | ドキュメントのみの非推奨化。 |
タイプ: ドキュメントのみ
process.features.tls_alpn
、process.features.tls_ocsp
、および process.features.tls_sni
は、それらの値が process.features.tls
の値と同一であることが保証されているため、非推奨です。