API dépréciées
Les API Node.js peuvent être dépréciées pour l'une des raisons suivantes :
- L'utilisation de l'API n'est pas sûre.
- Une API alternative améliorée est disponible.
- Des modifications importantes de l'API sont attendues dans une future version majeure.
Node.js utilise quatre types de dépréciations :
- Documentation uniquement
- Application (code autre que
node_modules
uniquement) - Exécution (tout le code)
- Fin de vie
Une dépréciation de documentation uniquement est une dépréciation qui est exprimée uniquement dans la documentation de l'API Node.js. Celles-ci ne génèrent aucun effet secondaire lors de l'exécution de Node.js. Certaines dépréciations de documentation uniquement déclenchent un avertissement d'exécution lorsqu'elles sont lancées avec l'indicateur --pending-deprecation
(ou son alternative, la variable d'environnement NODE_PENDING_DEPRECATION=1
), de la même manière que les dépréciations d'exécution ci-dessous. Les dépréciations de documentation uniquement qui prennent en charge cet indicateur sont explicitement étiquetées comme telles dans la liste des API dépréciées.
Une dépréciation d'application pour le code autre que node_modules
générera, par défaut, un avertissement de processus qui sera imprimé dans stderr
la première fois que l'API dépréciée est utilisée dans du code qui n'est pas chargé à partir de node_modules
. Lorsque l'indicateur de ligne de commande --throw-deprecation
est utilisé, une dépréciation d'exécution provoquera la levée d'une erreur. Lorsque --pending-deprecation
est utilisé, des avertissements seront également émis pour le code chargé à partir de node_modules
.
Une dépréciation d'exécution pour tout le code est similaire à la dépréciation d'exécution pour le code autre que node_modules
, sauf qu'elle émet également un avertissement pour le code chargé à partir de node_modules
.
Une dépréciation de fin de vie est utilisée lorsque des fonctionnalités sont ou seront bientôt supprimées de Node.js.
Révocation des dépréciations
Parfois, la dépréciation d'une API peut être annulée. Dans de telles situations, ce document sera mis à jour avec des informations pertinentes à la décision. Cependant, l'identifiant de dépréciation ne sera pas modifié.
Liste des API dépréciées
DEP0001 : http.OutgoingMessage.prototype.flush
[Historique]
Version | Modifications |
---|---|
v14.0.0 | Fin de vie. |
v6.12.0, v4.8.6 | Un code de dépréciation a été attribué. |
v1.6.0 | Dépréciation d'exécution. |
Type : Fin de vie
OutgoingMessage.prototype.flush()
a été supprimé. Utilisez OutgoingMessage.prototype.flushHeaders()
à la place.
DEP0002: require('_linklist')
[Historique]
Version | Modifications |
---|---|
v8.0.0 | Fin de vie. |
v6.12.0 | Un code de dépréciation a été attribué. |
v5.0.0 | Dépréciation d'exécution. |
Type: Fin de vie
Le module _linklist
est obsolète. Veuillez utiliser une alternative en espace utilisateur.
DEP0003: _writableState.buffer
[Historique]
Version | Modifications |
---|---|
v14.0.0 | Fin de vie. |
v6.12.0, v4.8.6 | Un code de dépréciation a été attribué. |
v0.11.15 | Dépréciation d'exécution. |
Type: Fin de vie
_writableState.buffer
a été supprimé. Utilisez _writableState.getBuffer()
à la place.
DEP0004: CryptoStream.prototype.readyState
[Historique]
Version | Modifications |
---|---|
v10.0.0 | Fin de vie. |
v6.12.0, v4.8.6 | Un code de dépréciation a été attribué. |
v0.4.0 | Dépréciation uniquement de documentation. |
Type: Fin de vie
La propriété CryptoStream.prototype.readyState
a été supprimée.
DEP0005: Constructeur Buffer()
[Historique]
Version | Modifications |
---|---|
v10.0.0 | Dépréciation d'exécution. |
v6.12.0 | Un code de dépréciation a été attribué. |
v6.0.0 | Dépréciation uniquement de documentation. |
Type: Application (code autre que node_modules
uniquement)
La fonction Buffer()
et le constructeur new Buffer()
sont obsolètes en raison de problèmes d'utilisabilité de l'API qui peuvent entraîner des problèmes de sécurité accidentels.
Comme alternative, utilisez l'une des méthodes suivantes pour construire des objets Buffer
:
Buffer.alloc(size[, fill[, encoding]])
: Créez unBuffer
avec de la mémoire initialisée.Buffer.allocUnsafe(size)
: Créez unBuffer
avec de la mémoire non initialisée.Buffer.allocUnsafeSlow(size)
: Créez unBuffer
avec de la mémoire non initialisée.Buffer.from(array)
: Créez unBuffer
avec une copie dearray
Buffer.from(arrayBuffer[, byteOffset[, length]])
- Créez unBuffer
qui encapsule l’arrayBuffer
donné.Buffer.from(buffer)
: Créez unBuffer
qui copiebuffer
.Buffer.from(string[, encoding])
: Créez unBuffer
qui copiestring
.
Sans --pending-deprecation
, les avertissements d'exécution se produisent uniquement pour le code qui n'est pas dans node_modules
. Cela signifie qu'il n'y aura pas d'avertissements de dépréciation pour l'utilisation de Buffer()
dans les dépendances. Avec --pending-deprecation
, un avertissement d'exécution est généré, quel que soit l'endroit où l'utilisation de Buffer()
se produit.
DEP0006 : child_process
options.customFds
[Historique]
Version | Modifications |
---|---|
v12.0.0 | Fin de vie. |
v6.12.0, v4.8.6 | Un code de dépréciation a été attribué. |
v0.11.14 | Dépréciation lors de l'exécution. |
v0.5.10 | Dépréciation uniquement dans la documentation. |
Type : Fin de vie
Dans les méthodes spawn()
, fork()
et exec()
du module child_process
, l'option options.customFds
est dépréciée. L'option options.stdio
doit être utilisée à la place.
DEP0007 : Remplacer cluster
worker.suicide
par worker.exitedAfterDisconnect
[Historique]
Version | Modifications |
---|---|
v9.0.0 | Fin de vie. |
v7.0.0 | Dépréciation lors de l'exécution. |
v6.12.0 | Un code de dépréciation a été attribué. |
v6.0.0 | Dépréciation uniquement dans la documentation. |
Type : Fin de vie
Dans une version antérieure du cluster
de Node.js, une propriété booléenne nommée suicide
a été ajoutée à l'objet Worker
. Cette propriété avait pour but d'indiquer comment et pourquoi l'instance Worker
s'était terminée. Dans Node.js 6.0.0, l'ancienne propriété a été dépréciée et remplacée par une nouvelle propriété worker.exitedAfterDisconnect
. L'ancien nom de propriété ne décrivait pas précisément la sémantique réelle et était inutilement chargé d'émotion.
DEP0008 : require('node:constants')
[Historique]
Version | Modifications |
---|---|
v6.12.0 | Un code de dépréciation a été attribué. |
v6.3.0 | Dépréciation uniquement dans la documentation. |
Type : Dépréciation uniquement dans la documentation
Le module node:constants
est déprécié. Lors de la nécessité d'accéder aux constantes pertinentes à des modules intégrés spécifiques de Node.js, les développeurs doivent se référer à la propriété constants
exposée par le module concerné. Par exemple, require('node:fs').constants
et require('node:os').constants
.
DEP0009 : crypto.pbkdf2
sans digest
[Historique]
Version | Modifications |
---|---|
v14.0.0 | Fin de vie (pour digest === null ). |
v11.0.0 | Dépréciation lors de l'exécution (pour digest === null ). |
v8.0.0 | Fin de vie (pour digest === undefined ). |
v6.12.0 | Un code de dépréciation a été attribué. |
v6.0.0 | Dépréciation lors de l'exécution (pour digest === undefined ). |
Type : Fin de vie
L'utilisation de l'API crypto.pbkdf2()
sans spécifier de digest a été dépréciée dans Node.js 6.0 car la méthode utilisait par défaut le digest 'SHA1'
, qui n'est pas recommandé. Auparavant, un avertissement de dépréciation était affiché. À partir de Node.js 8.0.0, appeler crypto.pbkdf2()
ou crypto.pbkdf2Sync()
avec digest
défini sur undefined
lèvera une TypeError
.
À partir de Node.js v11.0.0, appeler ces fonctions avec digest
défini sur null
afficherait un avertissement de dépréciation pour s'aligner sur le comportement lorsque digest
est undefined
.
Désormais, cependant, passer undefined
ou null
lèvera une TypeError
.
DEP0010 : crypto.createCredentials
[Historique]
Version | Modifications |
---|---|
v11.0.0 | Fin de vie. |
v6.12.0, v4.8.6 | Un code d’obsolescence a été attribué. |
v0.11.13 | Obsolescence d’exécution. |
Type : Fin de vie
L’API crypto.createCredentials()
a été supprimée. Veuillez utiliser plutôt tls.createSecureContext()
.
DEP0011 : crypto.Credentials
[Historique]
Version | Modifications |
---|---|
v11.0.0 | Fin de vie. |
v6.12.0, v4.8.6 | Un code d’obsolescence a été attribué. |
v0.11.13 | Obsolescence d’exécution. |
Type : Fin de vie
La classe crypto.Credentials
a été supprimée. Veuillez utiliser plutôt tls.SecureContext
.
DEP0012 : Domain.dispose
[Historique]
Version | Modifications |
---|---|
v9.0.0 | Fin de vie. |
v6.12.0, v4.8.6 | Un code d’obsolescence a été attribué. |
v0.11.7 | Obsolescence d’exécution. |
Type : Fin de vie
Domain.dispose()
a été supprimé. Récupérez les actions d’E/S ayant échoué explicitement via les gestionnaires d’événements d’erreur définis sur le domaine à la place.
DEP0013 : fonction asynchrone fs
sans rappel
[Historique]
Version | Modifications |
---|---|
v10.0.0 | Fin de vie. |
v7.0.0 | Obsolescence d’exécution. |
Type : Fin de vie
L’appel d’une fonction asynchrone sans rappel lève une TypeError
dans Node.js 10.0.0 et versions ultérieures. Voir https://github.com/nodejs/node/pull/12562.
DEP0014 : interface String héritée fs.read
[Historique]
Version | Modifications |
---|---|
v8.0.0 | Fin de vie. |
v6.0.0 | Obsolescence d’exécution. |
v6.12.0, v4.8.6 | Un code d’obsolescence a été attribué. |
v0.1.96 | Obsolescence de documentation uniquement. |
Type : Fin de vie
L’interface String
héritée de fs.read()
est obsolète. Utilisez plutôt l’API Buffer
comme mentionné dans la documentation.
DEP0015 : interface String héritée fs.readSync
[Historique]
Version | Modifications |
---|---|
v8.0.0 | Fin de vie. |
v6.0.0 | Obsolescence d’exécution. |
v6.12.0, v4.8.6 | Un code d’obsolescence a été attribué. |
v0.1.96 | Obsolescence de documentation uniquement. |
Type : Fin de vie
L’interface String
héritée de fs.readSync()
est obsolète. Utilisez plutôt l’API Buffer
comme mentionné dans la documentation.
DEP0016 : GLOBAL
/root
[Historique]
Version | Modifications |
---|---|
v14.0.0 | Fin de vie. |
v6.12.0 | Un code d’obsolescence a été attribué. |
v6.0.0 | Obsolescence d’exécution. |
Type : Fin de vie
Les alias GLOBAL
et root
pour la propriété global
ont été déclarés obsolètes dans Node.js 6.0.0 et ont depuis été supprimés.
DEP0017 : Intl.v8BreakIterator
[Historique]
Version | Modifications |
---|---|
v9.0.0 | Fin de vie. |
v7.0.0 | Obsolescence d’exécution. |
Type : Fin de vie
Intl.v8BreakIterator
était une extension non standard et a été supprimée. Voir Intl.Segmenter
.
DEP0018 : Rejets de promesses non gérés
[Historique]
Version | Modifications |
---|---|
v15.0.0 | Fin de vie. |
v7.0.0 | Obsolescence d’exécution. |
Type : Fin de vie
Les rejets de promesses non gérés sont obsolètes. Par défaut, les rejets de promesses qui ne sont pas gérés terminent le processus Node.js avec un code de sortie non nul. Pour modifier la façon dont Node.js traite les rejets non gérés, utilisez l’option de ligne de commande --unhandled-rejections
.
DEP0019 : require('.')
résolu en dehors du répertoire
[Historique]
Version | Modifications |
---|---|
v12.0.0 | Fonctionnalité supprimée. |
v6.12.0, v4.8.6 | Un code d’obsolescence a été attribué. |
v1.8.1 | Obsolescence d’exécution. |
Type : Fin de vie
Dans certains cas, require('.')
pouvait être résolu en dehors du répertoire du package. Ce comportement a été supprimé.
DEP0020 : Server.connections
[Historique]
Version | Modifications |
---|---|
v15.0.0 | Server.connections a été supprimé. |
v6.12.0, v4.8.6 | Un code d’obsolescence a été attribué. |
v0.9.7 | Obsolescence d’exécution. |
Type : Fin de vie
La propriété Server.connections
a été déclarée obsolète dans Node.js v0.9.7 et a été supprimée. Veuillez utiliser à la place la méthode Server.getConnections()
.
DEP0021 : Server.listenFD
[Historique]
Version | Modifications |
---|---|
v12.0.0 | Fin de vie. |
v6.12.0, v4.8.6 | Un code d’obsolescence a été attribué. |
v0.7.12 | Obsolescence d’exécution. |
Type : Fin de vie
La méthode Server.listenFD()
a été déclarée obsolète et supprimée. Veuillez utiliser à la place Server.listen({fd: \<nombre\>})
.
DEP0022: os.tmpDir()
[Historique]
Version | Modifications |
---|---|
v14.0.0 | Fin de vie. |
v7.0.0 | Dépréciation à l'exécution. |
Type: Fin de vie
L'API os.tmpDir()
a été dépréciée dans Node.js 7.0.0 et a depuis été supprimée. Veuillez utiliser os.tmpdir()
à la place.
DEP0023: os.getNetworkInterfaces()
[Historique]
Version | Modifications |
---|---|
v12.0.0 | Fin de vie. |
v6.12.0, v4.8.6 | Un code de dépréciation a été attribué. |
v0.6.0 | Dépréciation à l'exécution. |
Type: Fin de vie
La méthode os.getNetworkInterfaces()
est dépréciée. Veuillez utiliser la méthode os.networkInterfaces()
à la place.
DEP0024: REPLServer.prototype.convertToContext()
[Historique]
Version | Modifications |
---|---|
v9.0.0 | Fin de vie. |
v7.0.0 | Dépréciation à l'exécution. |
Type: Fin de vie
L'API REPLServer.prototype.convertToContext()
a été supprimée.
DEP0025: require('node:sys')
[Historique]
Version | Modifications |
---|---|
v6.12.0, v4.8.6 | Un code de dépréciation a été attribué. |
v1.0.0 | Dépréciation à l'exécution. |
Type: Exécution
Le module node:sys
est déprécié. Veuillez utiliser le module util
à la place.
DEP0026: util.print()
[Historique]
Version | Modifications |
---|---|
v12.0.0 | Fin de vie. |
v6.12.0, v4.8.6 | Un code de dépréciation a été attribué. |
v0.11.3 | Dépréciation à l'exécution. |
Type: Fin de vie
util.print()
a été supprimé. Veuillez utiliser console.log()
à la place.
DEP0027: util.puts()
[Historique]
Version | Modifications |
---|---|
v12.0.0 | Fin de vie. |
v6.12.0, v4.8.6 | Un code de dépréciation a été attribué. |
v0.11.3 | Dépréciation à l'exécution. |
Type: Fin de vie
util.puts()
a été supprimé. Veuillez utiliser console.log()
à la place.
DEP0028: util.debug()
[Historique]
Version | Modifications |
---|---|
v12.0.0 | Fin de vie. |
v6.12.0, v4.8.6 | Un code de dépréciation a été attribué. |
v0.11.3 | Dépréciation à l'exécution. |
Type: Fin de vie
util.debug()
a été supprimé. Veuillez utiliser console.error()
à la place.
DEP0029 : util.error()
[Historique]
Version | Modifications |
---|---|
v12.0.0 | Fin de vie. |
v6.12.0, v4.8.6 | Un code d’obsolescence a été attribué. |
v0.11.3 | Obsolescence d’exécution. |
Type : Fin de vie
util.error()
a été supprimé. Veuillez utiliser console.error()
à la place.
DEP0030 : SlowBuffer
[Historique]
Version | Modifications |
---|---|
v6.12.0 | Un code d’obsolescence a été attribué. |
v6.0.0 | Obsolescence de documentation uniquement. |
Type : Documentation uniquement
La classe SlowBuffer
est obsolète. Veuillez utiliser Buffer.allocUnsafeSlow(size)
à la place.
DEP0031 : ecdh.setPublicKey()
[Historique]
Version | Modifications |
---|---|
v6.12.0 | Un code d’obsolescence a été attribué. |
v5.2.0 | Obsolescence de documentation uniquement. |
Type : Documentation uniquement
La méthode ecdh.setPublicKey()
est désormais obsolète, car son inclusion dans l’API n’est pas utile.
DEP0032 : Module node:domain
[Historique]
Version | Modifications |
---|---|
v6.12.0, v4.8.6 | Un code d’obsolescence a été attribué. |
v1.4.2 | Obsolescence de documentation uniquement. |
Type : Documentation uniquement
Le module domain
est obsolète et ne doit pas être utilisé.
DEP0033 : EventEmitter.listenerCount()
[Historique]
Version | Modifications |
---|---|
v6.12.0, v4.8.6 | Un code d’obsolescence a été attribué. |
v3.2.0 | Obsolescence de documentation uniquement. |
Type : Documentation uniquement
L’API events.listenerCount(emitter, eventName)
est obsolète. Veuillez utiliser emitter.listenerCount(eventName)
à la place.
DEP0034 : fs.exists(path, callback)
[Historique]
Version | Modifications |
---|---|
v6.12.0, v4.8.6 | Un code d’obsolescence a été attribué. |
v1.0.0 | Obsolescence de documentation uniquement. |
Type : Documentation uniquement
L’API fs.exists(path, callback)
est obsolète. Veuillez utiliser fs.stat()
ou fs.access()
à la place.
DEP0035: fs.lchmod(path, mode, callback)
[Historique]
Version | Modifications |
---|---|
v6.12.0, v4.8.6 | Un code de dépréciation a été attribué. |
v0.4.7 | Dépréciation uniquement documentaire. |
Type : Documentation uniquement
L’API fs.lchmod(path, mode, callback)
est obsolète.
DEP0036: fs.lchmodSync(path, mode)
[Historique]
Version | Modifications |
---|---|
v6.12.0, v4.8.6 | Un code de dépréciation a été attribué. |
v0.4.7 | Dépréciation uniquement documentaire. |
Type : Documentation uniquement
L’API fs.lchmodSync(path, mode)
est obsolète.
DEP0037: fs.lchown(path, uid, gid, callback)
[Historique]
Version | Modifications |
---|---|
v10.6.0 | Dépréciation révoquée. |
v6.12.0, v4.8.6 | Un code de dépréciation a été attribué. |
v0.4.7 | Dépréciation uniquement documentaire. |
Type : Dépréciation révoquée
L’API fs.lchown(path, uid, gid, callback)
était obsolète. La dépréciation a été révoquée car les API de support requises ont été ajoutées dans libuv.
DEP0038: fs.lchownSync(path, uid, gid)
[Historique]
Version | Modifications |
---|---|
v10.6.0 | Dépréciation révoquée. |
v6.12.0, v4.8.6 | Un code de dépréciation a été attribué. |
v0.4.7 | Dépréciation uniquement documentaire. |
Type : Dépréciation révoquée
L’API fs.lchownSync(path, uid, gid)
était obsolète. La dépréciation a été révoquée car les API de support requises ont été ajoutées dans libuv.
DEP0039: require.extensions
[Historique]
Version | Modifications |
---|---|
v6.12.0, v4.8.6 | Un code de dépréciation a été attribué. |
v0.10.6 | Dépréciation uniquement documentaire. |
Type : Documentation uniquement
La propriété require.extensions
est obsolète.
DEP0040: module node:punycode
[Historique]
Version | Modifications |
---|---|
v21.0.0 | Dépréciation d’exécution. |
v16.6.0 | Ajout du support pour --pending-deprecation . |
v7.0.0 | Dépréciation uniquement documentaire. |
Type : Exécution
Le module punycode
est obsolète. Veuillez utiliser une alternative côté utilisateur à la place.
DEP0041 : Variable d’environnement NODE_REPL_HISTORY_FILE
[Historique]
Version | Modifications |
---|---|
v10.0.0 | Fin de vie. |
v6.12.0, v4.8.6 | Un code d’obsolescence a été attribué. |
v3.0.0 | Obsolescence de documentation uniquement. |
Type : Fin de vie
La variable d’environnement NODE_REPL_HISTORY_FILE
a été supprimée. Veuillez plutôt utiliser NODE_REPL_HISTORY
.
DEP0042 : tls.CryptoStream
[Historique]
Version | Modifications |
---|---|
v10.0.0 | Fin de vie. |
v6.12.0, v4.8.6 | Un code d’obsolescence a été attribué. |
v0.11.3 | Obsolescence de documentation uniquement. |
Type : Fin de vie
La classe tls.CryptoStream
a été supprimée. Veuillez plutôt utiliser tls.TLSSocket
.
DEP0043 : tls.SecurePair
[Historique]
Version | Modifications |
---|---|
v8.0.0 | Obsolescence d’exécution. |
v6.12.0 | Un code d’obsolescence a été attribué. |
v6.0.0 | Obsolescence de documentation uniquement. |
v0.11.15 | Obsolescence révoquée. |
v0.11.3 | Obsolescence d’exécution. |
Type : Documentation uniquement
La classe tls.SecurePair
est obsolète. Veuillez plutôt utiliser tls.TLSSocket
.
DEP0044 : util.isArray()
[Historique]
Version | Modifications |
---|---|
v22.0.0 | Obsolescence d’exécution. |
v6.12.0, v4.8.6 | Un code d’obsolescence a été attribué. |
v4.0.0, v3.3.1 | Obsolescence de documentation uniquement. |
Type : Exécution
L’API util.isArray()
est obsolète. Veuillez plutôt utiliser Array.isArray()
.
DEP0045 : util.isBoolean()
[Historique]
Version | Modifications |
---|---|
v23.0.0 | Obsolescence de fin de vie. |
v22.0.0 | Obsolescence d’exécution. |
v6.12.0, v4.8.6 | Un code d’obsolescence a été attribué. |
v4.0.0, v3.3.1 | Obsolescence de documentation uniquement. |
Type : Fin de vie
L’API util.isBoolean()
a été supprimée. Veuillez plutôt utiliser typeof arg === 'boolean'
.
DEP0046 : util.isBuffer()
[Historique]
Version | Modifications |
---|---|
v23.0.0 | Obsolescence de fin de vie. |
v22.0.0 | Obsolescence d’exécution. |
v6.12.0, v4.8.6 | Un code d’obsolescence a été attribué. |
v4.0.0, v3.3.1 | Obsolescence de documentation uniquement. |
Type : Fin de vie
L’API util.isBuffer()
a été supprimée. Veuillez plutôt utiliser Buffer.isBuffer()
.
DEP0047: util.isDate()
[Historique]
Version | Changements |
---|---|
v23.0.0 | Dépréciation en fin de vie. |
v22.0.0 | Dépréciation à l'exécution. |
v6.12.0, v4.8.6 | Un code de dépréciation a été assigné. |
v4.0.0, v3.3.1 | Dépréciation de la documentation uniquement. |
Type: Fin de vie
L'API util.isDate()
a été supprimée. Veuillez utiliser arg instanceof Date
à la place.
DEP0048: util.isError()
[Historique]
Version | Changements |
---|---|
v23.0.0 | Dépréciation en fin de vie. |
v22.0.0 | Dépréciation à l'exécution. |
v6.12.0, v4.8.6 | Un code de dépréciation a été assigné. |
v4.0.0, v3.3.1 | Dépréciation de la documentation uniquement. |
Type: Fin de vie
L'API util.isError()
a été supprimée. Veuillez utiliser Object.prototype.toString(arg) === '[object Error]' || arg instanceof Error
à la place.
DEP0049: util.isFunction()
[Historique]
Version | Changements |
---|---|
v23.0.0 | Dépréciation en fin de vie. |
v22.0.0 | Dépréciation à l'exécution. |
v6.12.0, v4.8.6 | Un code de dépréciation a été assigné. |
v4.0.0, v3.3.1 | Dépréciation de la documentation uniquement. |
Type: Fin de vie
L'API util.isFunction()
a été supprimée. Veuillez utiliser typeof arg === 'function'
à la place.
DEP0050: util.isNull()
[Historique]
Version | Changements |
---|---|
v23.0.0 | Dépréciation en fin de vie. |
v22.0.0 | Dépréciation à l'exécution. |
v6.12.0, v4.8.6 | Un code de dépréciation a été assigné. |
v4.0.0, v3.3.1 | Dépréciation de la documentation uniquement. |
Type: Fin de vie
L'API util.isNull()
a été supprimée. Veuillez utiliser arg === null
à la place.
DEP0051: util.isNullOrUndefined()
[Historique]
Version | Changements |
---|---|
v23.0.0 | Dépréciation en fin de vie. |
v22.0.0 | Dépréciation à l'exécution. |
v6.12.0, v4.8.6 | Un code de dépréciation a été assigné. |
v4.0.0, v3.3.1 | Dépréciation de la documentation uniquement. |
Type: Fin de vie
L'API util.isNullOrUndefined()
a été supprimée. Veuillez utiliser arg === null || arg === undefined
à la place.
DEP0052 : util.isNumber()
[Historique]
Version | Modifications |
---|---|
v23.0.0 | Dépréciation en fin de vie. |
v22.0.0 | Dépréciation à l'exécution. |
v6.12.0, v4.8.6 | Un code de dépréciation a été attribué. |
v4.0.0, v3.3.1 | Dépréciation uniquement documentaire. |
Type : Fin de vie
L'API util.isNumber()
a été supprimée. Veuillez utiliser typeof arg === 'number'
à la place.
DEP0053 : util.isObject()
[Historique]
Version | Modifications |
---|---|
v23.0.0 | Dépréciation en fin de vie. |
v22.0.0 | Dépréciation à l'exécution. |
v6.12.0, v4.8.6 | Un code de dépréciation a été attribué. |
v4.0.0, v3.3.1 | Dépréciation uniquement documentaire. |
Type : Fin de vie
L'API util.isObject()
a été supprimée. Veuillez utiliser arg && typeof arg === 'object'
à la place.
DEP0054 : util.isPrimitive()
[Historique]
Version | Modifications |
---|---|
v23.0.0 | Dépréciation en fin de vie. |
v22.0.0 | Dépréciation à l'exécution. |
v6.12.0, v4.8.6 | Un code de dépréciation a été attribué. |
v4.0.0, v3.3.1 | Dépréciation uniquement documentaire. |
Type : Fin de vie
L'API util.isPrimitive()
a été supprimée. Veuillez utiliser arg === null || (typeof arg !=='object' && typeof arg !== 'function')
à la place.
DEP0055 : util.isRegExp()
[Historique]
Version | Modifications |
---|---|
v23.0.0 | Dépréciation en fin de vie. |
v22.0.0 | Dépréciation à l'exécution. |
v6.12.0, v4.8.6 | Un code de dépréciation a été attribué. |
v4.0.0, v3.3.1 | Dépréciation uniquement documentaire. |
Type : Fin de vie
L'API util.isRegExp()
a été supprimée. Veuillez utiliser arg instanceof RegExp
à la place.
DEP0056 : util.isString()
[Historique]
Version | Modifications |
---|---|
v23.0.0 | Dépréciation en fin de vie. |
v22.0.0 | Dépréciation à l'exécution. |
v6.12.0, v4.8.6 | Un code de dépréciation a été attribué. |
v4.0.0, v3.3.1 | Dépréciation uniquement documentaire. |
Type : Fin de vie
L'API util.isString()
a été supprimée. Veuillez utiliser typeof arg === 'string'
à la place.
DEP0057 : util.isSymbol()
[Historique]
Version | Modifications |
---|---|
v23.0.0 | Dépréciation en fin de vie. |
v22.0.0 | Dépréciation d’exécution. |
v6.12.0, v4.8.6 | Un code de dépréciation a été attribué. |
v4.0.0, v3.3.1 | Dépréciation uniquement dans la documentation. |
Type : Fin de vie
L’API util.isSymbol()
a été supprimée. Veuillez utiliser typeof arg === 'symbol'
à la place.
DEP0058 : util.isUndefined()
[Historique]
Version | Modifications |
---|---|
v23.0.0 | Dépréciation en fin de vie. |
v22.0.0 | Dépréciation d’exécution. |
v6.12.0, v4.8.6 | Un code de dépréciation a été attribué. |
v4.0.0, v3.3.1 | Dépréciation uniquement dans la documentation. |
Type : Fin de vie
L’API util.isUndefined()
a été supprimée. Veuillez utiliser arg === undefined
à la place.
DEP0059 : util.log()
[Historique]
Version | Modifications |
---|---|
v23.0.0 | Dépréciation en fin de vie. |
v22.0.0 | Dépréciation d’exécution. |
v6.12.0 | Un code de dépréciation a été attribué. |
v6.0.0 | Dépréciation uniquement dans la documentation. |
Type : Fin de vie
L’API util.log()
a été supprimée car il s’agit d’une API héritée non maintenue qui a été exposée accidentellement à la zone utilisateur. Envisagez plutôt les alternatives suivantes en fonction de vos besoins spécifiques :
- Bibliothèques de journalisation tierces
- Utiliser
console.log(new Date().toLocaleString(), message)
En adoptant l’une de ces alternatives, vous pouvez abandonner util.log()
et choisir une stratégie de journalisation qui correspond aux exigences et à la complexité spécifiques de votre application.
DEP0060 : util._extend()
[Historique]
Version | Modifications |
---|---|
v22.0.0 | Dépréciation d’exécution. |
v6.12.0 | Un code de dépréciation a été attribué. |
v6.0.0 | Dépréciation uniquement dans la documentation. |
Type : Exécution
L’API util._extend()
est dépréciée car il s’agit d’une API héritée non maintenue qui a été exposée accidentellement à la zone utilisateur. Veuillez utiliser target = Object.assign(target, source)
à la place.
DEP0061: fs.SyncWriteStream
[Historique]
Version | Changements |
---|---|
v11.0.0 | Fin de vie. |
v8.0.0 | Dépréciation à l'exécution. |
v7.0.0 | Dépréciation uniquement dans la documentation. |
Type : Fin de vie
La classe fs.SyncWriteStream
n'a jamais été conçue pour être une API accessible au public et a été supprimée. Aucune API alternative n'est disponible. Veuillez utiliser une alternative en espace utilisateur.
DEP0062: node --debug
[Historique]
Version | Changements |
---|---|
v12.0.0 | Fin de vie. |
v8.0.0 | Dépréciation à l'exécution. |
Type : Fin de vie
--debug
active l'ancienne interface de débogage V8, qui a été supprimée à partir de V8 5.8. Elle est remplacée par Inspector qui est activé avec --inspect
à la place.
DEP0063: ServerResponse.prototype.writeHeader()
[Historique]
Version | Changements |
---|---|
v8.0.0 | Dépréciation uniquement dans la documentation. |
Type : Uniquement dans la documentation
L'API ServerResponse.prototype.writeHeader()
du module node:http
est obsolète. Veuillez utiliser ServerResponse.prototype.writeHead()
à la place.
La méthode ServerResponse.prototype.writeHeader()
n'a jamais été documentée comme une API officiellement prise en charge.
DEP0064: tls.createSecurePair()
[Historique]
Version | Changements |
---|---|
v8.0.0 | Dépréciation à l'exécution. |
v6.12.0 | Un code de dépréciation a été attribué. |
v6.0.0 | Dépréciation uniquement dans la documentation. |
v0.11.15 | Dépréciation révoquée. |
v0.11.3 | Dépréciation à l'exécution. |
Type : Exécution
L'API tls.createSecurePair()
a été déclarée obsolète dans la documentation de Node.js 0.11.3. Les utilisateurs doivent utiliser tls.Socket
à la place.
DEP0065: repl.REPL_MODE_MAGIC
et NODE_REPL_MODE=magic
[Historique]
Version | Changements |
---|---|
v10.0.0 | Fin de vie. |
v8.0.0 | Dépréciation uniquement dans la documentation. |
Type : Fin de vie
La constante REPL_MODE_MAGIC
du module node:repl
, utilisée pour l'option replMode
, a été supprimée. Son comportement est fonctionnellement identique à celui de REPL_MODE_SLOPPY
depuis Node.js 6.0.0, lors de l'importation de V8 5.0. Veuillez utiliser REPL_MODE_SLOPPY
à la place.
La variable d'environnement NODE_REPL_MODE
est utilisée pour définir le replMode
sous-jacent d'une session node
interactive. Sa valeur, magic
, est également supprimée. Veuillez utiliser sloppy
à la place.
DEP0066 : OutgoingMessage.prototype._headers, OutgoingMessage.prototype._headerNames
[Historique]
Version | Modifications |
---|---|
v12.0.0 | Dépréciation d’exécution. |
v8.0.0 | Dépréciation de la documentation uniquement. |
Type : Exécution
Les propriétés OutgoingMessage.prototype._headers
et OutgoingMessage.prototype._headerNames
du module node:http
sont obsolètes. Utilisez l’une des méthodes publiques (par exemple, OutgoingMessage.prototype.getHeader()
, OutgoingMessage.prototype.getHeaders()
, OutgoingMessage.prototype.getHeaderNames()
, OutgoingMessage.prototype.getRawHeaderNames()
, OutgoingMessage.prototype.hasHeader()
, OutgoingMessage.prototype.removeHeader()
, OutgoingMessage.prototype.setHeader()
) pour travailler avec les en-têtes sortants.
Les propriétés OutgoingMessage.prototype._headers
et OutgoingMessage.prototype._headerNames
n’ont jamais été documentées comme propriétés officiellement prises en charge.
DEP0067 : OutgoingMessage.prototype._renderHeaders
[Historique]
Version | Modifications |
---|---|
v8.0.0 | Dépréciation de la documentation uniquement. |
Type : Documentation uniquement
L’API OutgoingMessage.prototype._renderHeaders()
du module node:http
est obsolète.
La propriété OutgoingMessage.prototype._renderHeaders
n’a jamais été documentée comme une API officiellement prise en charge.
DEP0068 : node debug
[Historique]
Version | Modifications |
---|---|
v15.0.0 | La commande node debug héritée a été supprimée. |
v8.0.0 | Dépréciation d’exécution. |
Type : Fin de vie
node debug
correspond au débogueur CLI hérité qui a été remplacé par un débogueur CLI basé sur V8-inspector disponible via node inspect
.
DEP0069 : vm.runInDebugContext(string)
[Historique]
Version | Modifications |
---|---|
v10.0.0 | Fin de vie. |
v9.0.0 | Dépréciation d’exécution. |
v8.0.0 | Dépréciation de la documentation uniquement. |
Type : Fin de vie
DebugContext a été supprimé dans V8 et n’est pas disponible dans Node.js 10+.
DebugContext était une API expérimentale.
DEP0070 : async_hooks.currentId()
[Historique]
Version | Modifications |
---|---|
v9.0.0 | Fin de vie. |
v8.2.0 | Dépréciation d’exécution. |
Type : Fin de vie
async_hooks.currentId()
a été renommé en async_hooks.executionAsyncId()
pour plus de clarté.
Cette modification a été apportée alors que async_hooks
était une API expérimentale.
DEP0071 : async_hooks.triggerId()
[Historique]
Version | Modifications |
---|---|
v9.0.0 | Fin de vie. |
v8.2.0 | Dépréciation lors de l’exécution. |
Type : Fin de vie
async_hooks.triggerId()
a été renommé en async_hooks.triggerAsyncId()
pour plus de clarté.
Ce changement a été effectué alors que async_hooks
était une API expérimentale.
DEP0072 : async_hooks.AsyncResource.triggerId()
[Historique]
Version | Modifications |
---|---|
v9.0.0 | Fin de vie. |
v8.2.0 | Dépréciation lors de l’exécution. |
Type : Fin de vie
async_hooks.AsyncResource.triggerId()
a été renommé en async_hooks.AsyncResource.triggerAsyncId()
pour plus de clarté.
Ce changement a été effectué alors que async_hooks
était une API expérimentale.
DEP0073 : Plusieurs propriétés internes de net.Server
[Historique]
Version | Modifications |
---|---|
v10.0.0 | Fin de vie. |
v9.0.0 | Dépréciation lors de l’exécution. |
Type : Fin de vie
L’accès à plusieurs propriétés internes et non documentées des instances de net.Server
avec des noms inappropriés est déprécié.
Comme l’API d’origine n’était pas documentée et n’était généralement pas utile pour le code non interne, aucune API de remplacement n’est fournie.
DEP0074 : REPLServer.bufferedCommand
[Historique]
Version | Modifications |
---|---|
v15.0.0 | Fin de vie. |
v9.0.0 | Dépréciation lors de l’exécution. |
Type : Fin de vie
La propriété REPLServer.bufferedCommand
a été dépréciée en faveur de REPLServer.clearBufferedCommand()
.
DEP0075 : REPLServer.parseREPLKeyword()
[Historique]
Version | Modifications |
---|---|
v15.0.0 | Fin de vie. |
v9.0.0 | Dépréciation lors de l’exécution. |
Type : Fin de vie
REPLServer.parseREPLKeyword()
a été supprimé de la visibilité de l’espace utilisateur.
DEP0076 : tls.parseCertString()
[Historique]
Version | Modifications |
---|---|
v18.0.0 | Fin de vie. |
v9.0.0 | Dépréciation lors de l’exécution. |
v8.6.0 | Dépréciation de la documentation uniquement. |
Type : Fin de vie
tls.parseCertString()
était un assistant d’analyse trivial qui a été rendu public par erreur. Bien qu’il était censé analyser les chaînes de sujet et d’émetteur du certificat, il n’a jamais correctement géré les noms distinctifs relatifs à plusieurs valeurs.
Les versions antérieures de ce document suggéraient d’utiliser querystring.parse()
comme alternative à tls.parseCertString()
. Cependant, querystring.parse()
ne gère pas non plus correctement tous les sujets de certificats et ne doit pas être utilisé.
DEP0077 : Module._debug()
[Historique]
Version | Changements |
---|---|
v9.0.0 | Obsolescence d’exécution. |
Type : Exécution
Module._debug()
est obsolète.
La fonction Module._debug()
n’a jamais été documentée comme une API officiellement prise en charge.
DEP0078 : REPLServer.turnOffEditorMode()
[Historique]
Version | Changements |
---|---|
v15.0.0 | Fin de vie. |
v9.0.0 | Obsolescence d’exécution. |
Type : Fin de vie
REPLServer.turnOffEditorMode()
a été supprimé de la visibilité de l’espace utilisateur.
DEP0079 : Fonction d’inspection personnalisée sur les objets via .inspect()
[Historique]
Version | Changements |
---|---|
v11.0.0 | Fin de vie. |
v10.0.0 | Obsolescence d’exécution. |
v8.7.0 | Obsolescence de documentation uniquement. |
Type : Fin de vie
L’utilisation d’une propriété nommée inspect
sur un objet pour spécifier une fonction d’inspection personnalisée pour util.inspect()
est obsolète. Utilisez plutôt util.inspect.custom
. Pour la rétrocompatibilité avec Node.js antérieur à la version 6.4.0, les deux peuvent être spécifiés.
DEP0080 : path._makeLong()
[Historique]
Version | Changements |
---|---|
v9.0.0 | Obsolescence de documentation uniquement. |
Type : Documentation uniquement
L’élément interne path._makeLong()
n’était pas destiné à un usage public. Cependant, les modules de l’espace utilisateur l’ont trouvé utile. L’API interne est obsolète et remplacée par une méthode publique identique : path.toNamespacedPath()
.
DEP0081 : fs.truncate()
utilisant un descripteur de fichier
[Historique]
Version | Changements |
---|---|
v9.0.0 | Obsolescence d’exécution. |
Type : Exécution
L’utilisation de fs.truncate()
fs.truncateSync()
avec un descripteur de fichier est obsolète. Veuillez utiliser fs.ftruncate()
ou fs.ftruncateSync()
pour travailler avec les descripteurs de fichier.
DEP0082 : REPLServer.prototype.memory()
[Historique]
Version | Changements |
---|---|
v15.0.0 | Fin de vie. |
v9.0.0 | Obsolescence d’exécution. |
Type : Fin de vie
REPLServer.prototype.memory()
est uniquement nécessaire pour le fonctionnement interne du REPLServer
lui-même. N’utilisez pas cette fonction.
DEP0083: Désactivation de ECDH en définissant ecdhCurve
sur false
[Historique]
Version | Changements |
---|---|
v10.0.0 | Fin de vie. |
v9.2.0 | Dépréciation à l'exécution. |
Type: Fin de vie.
L'option ecdhCurve
de tls.createSecureContext()
et tls.TLSSocket
pouvait être définie sur false
pour désactiver complètement ECDH sur le serveur uniquement. Ce mode a été déprécié en préparation de la migration vers OpenSSL 1.1.0 et pour assurer la cohérence avec le client, et n'est plus pris en charge. Utilisez plutôt le paramètre ciphers
.
DEP0084: Exigence de dépendances internes groupées
[Historique]
Version | Changements |
---|---|
v12.0.0 | Cette fonctionnalité a été supprimée. |
v10.0.0 | Dépréciation à l'exécution. |
Type: Fin de vie
Depuis les versions 4.4.0 et 5.2.0 de Node.js, plusieurs modules destinés uniquement à un usage interne ont été exposés par erreur au code utilisateur via require()
. Ces modules étaient :
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
(à partir de 7.6.0)node-inspect/lib/internal/inspect_client
(à partir de 7.6.0)node-inspect/lib/internal/inspect_repl
(à partir de 7.6.0)
Les modules v8/*
n'ont pas d'exportations et, s'ils ne sont pas importés dans un ordre spécifique, génèrent en fait des erreurs. En tant que tels, il n'y a pratiquement aucun cas d'utilisation légitime pour les importer via require()
.
D'autre part, node-inspect
peut être installé localement via un gestionnaire de packages, car il est publié sur le registre npm sous le même nom. Aucune modification du code source n'est nécessaire si cela est fait.
DEP0085 : API sensible AsyncHooks
[Historique]
Version | Changements |
---|---|
v10.0.0 | Fin de vie. |
v9.4.0, v8.10.0 | Dépréciation à l'exécution. |
Type: Fin de vie
L'API sensible AsyncHooks n'a jamais été documentée et présentait divers problèmes mineurs. Utilisez plutôt l'API AsyncResource
. Voir https://github.com/nodejs/node/issues/15572.
DEP0086 : Suppression de runInAsyncIdScope
[Historique]
Version | Modifications |
---|---|
v10.0.0 | Fin de vie. |
v9.4.0, v8.10.0 | Dépréciation d’exécution. |
Type : Fin de vie
runInAsyncIdScope
n’émet pas l’événement 'before'
ou 'after'
et peut donc causer de nombreux problèmes. Voir https://github.com/nodejs/node/issues/14328.
DEP0089 : require('node:assert')
[Historique]
Version | Modifications |
---|---|
v12.8.0 | Dépréciation révoquée. |
v9.9.0, v8.13.0 | Dépréciation de documentation uniquement. |
Type : Dépréciation révoquée
L’importation directe d’assert n’était pas recommandée car les fonctions exposées utilisent des vérifications d’égalité relâchées. La dépréciation a été révoquée car l’utilisation du module node:assert
n’est pas déconseillée, et la dépréciation a causé la confusion des développeurs.
DEP0090 : Longueurs de balise d’authentification GCM invalides
[Historique]
Version | Modifications |
---|---|
v11.0.0 | Fin de vie. |
v10.0.0 | Dépréciation d’exécution. |
Type : Fin de vie
Node.js prenait en charge toutes les longueurs de balise d’authentification GCM acceptées par OpenSSL lors de l’appel de decipher.setAuthTag()
. À partir de Node.js v11.0.0, seules les longueurs de balise d’authentification de 128, 120, 112, 104, 96, 64 et 32 bits sont autorisées. Les balises d’authentification d’autres longueurs sont invalides selon NIST SP 800-38D.
DEP0091 : crypto.DEFAULT_ENCODING
[Historique]
Version | Modifications |
---|---|
v20.0.0 | Fin de vie. |
v10.0.0 | Dépréciation d’exécution. |
Type : Fin de vie
La propriété crypto.DEFAULT_ENCODING
n’existait que pour la compatibilité avec les versions de Node.js antérieures aux versions 0.9.3 et a été supprimée.
DEP0092 : this
de niveau supérieur lié à module.exports
[Historique]
Version | Modifications |
---|---|
v10.0.0 | Dépréciation de documentation uniquement. |
Type : Documentation uniquement
L’attribution de propriétés au this
de niveau supérieur comme alternative à module.exports
est dépréciée. Les développeurs doivent utiliser exports
ou module.exports
à la place.
DEP0093 : crypto.fips
est obsolète et remplacé
[Historique]
Version | Modifications |
---|---|
v23.0.0 | Obsolescence d’exécution. |
v10.0.0 | Obsolescence de la documentation uniquement. |
Type : Exécution
La propriété crypto.fips
est obsolète. Veuillez plutôt utiliser crypto.setFips()
et crypto.getFips()
.
DEP0094 : Utilisation de assert.fail()
avec plus d’un argument
[Historique]
Version | Modifications |
---|---|
v10.0.0 | Obsolescence d’exécution. |
Type : Exécution
L’utilisation de assert.fail()
avec plus d’un argument est obsolète. Utilisez assert.fail()
avec un seul argument ou utilisez une autre méthode du module node:assert
.
DEP0095 : timers.enroll()
[Historique]
Version | Modifications |
---|---|
v10.0.0 | Obsolescence d’exécution. |
Type : Exécution
timers.enroll()
est obsolète. Veuillez plutôt utiliser les fonctions setTimeout()
ou setInterval()
documentées publiquement.
DEP0096 : timers.unenroll()
[Historique]
Version | Modifications |
---|---|
v10.0.0 | Obsolescence d’exécution. |
Type : Exécution
timers.unenroll()
est obsolète. Veuillez plutôt utiliser les fonctions clearTimeout()
ou clearInterval()
documentées publiquement.
DEP0097 : MakeCallback
avec propriété domain
[Historique]
Version | Modifications |
---|---|
v10.0.0 | Obsolescence d’exécution. |
Type : Exécution
Les utilisateurs de MakeCallback
qui ajoutent la propriété domain
pour transporter le contexte, devraient commencer à utiliser la variante async_context
de MakeCallback
ou CallbackScope
, ou la classe de haut niveau AsyncResource
.
DEP0098 : API d’intégration AsyncHooks AsyncResource.emitBefore
et AsyncResource.emitAfter
[Historique]
Version | Modifications |
---|---|
v12.0.0 | Fin de vie. |
v10.0.0, v9.6.0, v8.12.0 | Obsolescence d’exécution. |
Type : Fin de vie
L’API intégrée fournie par AsyncHooks expose les méthodes .emitBefore()
et .emitAfter()
qui sont très faciles à utiliser incorrectement, ce qui peut entraîner des erreurs irrécupérables.
Utilisez plutôt l’API asyncResource.runInAsyncScope()
qui fournit une alternative beaucoup plus sûre et plus pratique. Voir https://github.com/nodejs/node/pull/18513.
DEP0099 : API C++ node::MakeCallback
ignorant du contexte asynchrone
[Historique]
Version | Modifications |
---|---|
v10.0.0 | Dépréciation au moment de la compilation. |
Type : Au moment de la compilation
Certaines versions des API node::MakeCallback
disponibles pour les extensions natives sont dépréciées. Veuillez utiliser les versions de l’API qui acceptent un paramètre async_context
.
DEP0100 : process.assert()
[Historique]
Version | Modifications |
---|---|
v23.0.0 | Fin de vie. |
v10.0.0 | Dépréciation d’exécution. |
v0.3.7 | Dépréciation de documentation uniquement. |
Type : Fin de vie
process.assert()
est déprécié. Veuillez utiliser le module assert
à la place.
Il ne s’agissait pas d’une fonctionnalité documentée.
DEP0101 : --with-lttng
[Historique]
Version | Modifications |
---|---|
v10.0.0 | Fin de vie. |
Type : Fin de vie
L’option de compilation --with-lttng
a été supprimée.
DEP0102 : Utilisation de noAssert
dans les opérations Buffer#(read|write)
[Historique]
Version | Modifications |
---|---|
v10.0.0 | Fin de vie. |
Type : Fin de vie
L’utilisation de l’argument noAssert
n’a plus aucune fonctionnalité. Toutes les entrées sont vérifiées, quelle que soit la valeur de noAssert
. Le fait de sauter la vérification pourrait conduire à des erreurs et à des blocages difficiles à trouver.
DEP0103 : Vérifications de type process.binding('util').is[...]
[Historique]
Version | Modifications |
---|---|
v10.9.0 | Remplacé par DEP0111. |
v10.0.0 | Dépréciation de documentation uniquement. |
Type : Documentation uniquement (prend en charge --pending-deprecation
)
L’utilisation de process.binding()
en général doit être évitée. Les méthodes de vérification de type en particulier peuvent être remplacées en utilisant util.types
.
Cette dépréciation a été remplacée par la dépréciation de l’API process.binding()
(DEP0111).
DEP0104 : Coercition de chaîne process.env
[Historique]
Version | Modifications |
---|---|
v10.0.0 | Dépréciation de documentation uniquement. |
Type : Documentation uniquement (prend en charge --pending-deprecation
)
Lorsqu’une propriété non-chaîne est affectée à process.env
, la valeur affectée est implicitement convertie en chaîne. Ce comportement est déprécié si la valeur affectée n’est pas une chaîne, un booléen ou un nombre. À l’avenir, une telle affectation pourrait entraîner une erreur. Veuillez convertir la propriété en une chaîne avant de l’affecter à process.env
.
DEP0105 : decipher.finaltol
[Historique]
Version | Modifications |
---|---|
v11.0.0 | Fin de vie. |
v10.0.0 | Dépréciation au moment de l’exécution. |
Type : Fin de vie
decipher.finaltol()
n’a jamais été documentée et était un alias pour decipher.final()
. Cette API a été supprimée, et il est recommandé d’utiliser decipher.final()
à la place.
DEP0106 : crypto.createCipher
et crypto.createDecipher
[Historique]
Version | Modifications |
---|---|
v22.0.0 | Fin de vie. |
v11.0.0 | Dépréciation au moment de l’exécution. |
v10.0.0 | Dépréciation de la documentation uniquement. |
Type : Fin de vie
crypto.createCipher()
et crypto.createDecipher()
ont été supprimés, car ils utilisent une fonction de dérivation de clé faible (MD5 sans sel) et des vecteurs d’initialisation statiques. Il est recommandé de dériver une clé en utilisant crypto.pbkdf2()
ou crypto.scrypt()
avec des sels aléatoires et d’utiliser crypto.createCipheriv()
et crypto.createDecipheriv()
pour obtenir respectivement les objets Cipher
et Decipher
.
DEP0107 : tls.convertNPNProtocols()
[Historique]
Version | Modifications |
---|---|
v11.0.0 | Fin de vie. |
v10.0.0 | Dépréciation au moment de l’exécution. |
Type : Fin de vie
Il s’agissait d’une fonction d’assistance non documentée, non destinée à être utilisée en dehors du cœur de Node.js et obsolète suite à la suppression de la prise en charge de NPN (Next Protocol Negotiation).
DEP0108 : zlib.bytesRead
[Historique]
Version | Modifications |
---|---|
v23.0.0 | Fin de vie. |
v11.0.0 | Dépréciation au moment de l’exécution. |
v10.0.0 | Dépréciation de la documentation uniquement. |
Type : Fin de vie
Alias déprécié pour zlib.bytesWritten
. Ce nom d’origine a été choisi, car il était également logique d’interpréter la valeur comme le nombre d’octets lus par le moteur, mais il est incompatible avec d’autres flux dans Node.js qui exposent des valeurs sous ces noms.
DEP0109 : Prise en charge de http
, https
et tls
pour les URL invalides
[Historique]
Version | Modifications |
---|---|
v16.0.0 | Fin de vie. |
v11.0.0 | Dépréciation d’exécution. |
Type : Fin de vie
Certaines URL précédemment prises en charge (mais strictement invalides) étaient acceptées via les API http.request()
, http.get()
, https.request()
, https.get()
et tls.checkServerIdentity()
parce qu’elles étaient acceptées par l’ancienne API url.parse()
. Les API mentionnées utilisent désormais l’analyseur URL WHATWG qui exige des URL strictement valides. Le passage d’une URL invalide est déconseillé et la prise en charge sera supprimée à l’avenir.
DEP0110 : Données mises en cache vm.Script
[Historique]
Version | Modifications |
---|---|
v10.6.0 | Dépréciation de la documentation uniquement. |
Type : Documentation uniquement
L’option produceCachedData
est déconseillée. Utilisez plutôt script.createCachedData()
.
DEP0111 : process.binding()
[Historique]
Version | Modifications |
---|---|
v11.12.0 | Ajout de la prise en charge de --pending-deprecation . |
v10.9.0 | Dépréciation de la documentation uniquement. |
Type : Documentation uniquement (prend en charge --pending-deprecation
)
process.binding()
est destiné à être utilisé uniquement par le code interne de Node.js.
Bien que process.binding()
n’ait pas atteint le statut de fin de vie en général, il n’est pas disponible lorsque le modèle d’autorisation est activé.
DEP0112 : API privées dgram
[Historique]
Version | Modifications |
---|---|
v11.0.0 | Dépréciation d’exécution. |
Type : Exécution
Le module node:dgram
contenait auparavant plusieurs API qui n’étaient jamais censées être accessibles en dehors du cœur de Node.js : Socket.prototype._handle
, Socket.prototype._receiving
, Socket.prototype._bindState
, Socket.prototype._queue
, Socket.prototype._reuseAddr
, Socket.prototype._healthCheck()
, Socket.prototype._stopReceiving()
et dgram._createSocketHandle()
.
DEP0113 : Cipher.setAuthTag()
, Decipher.getAuthTag()
[Historique]
Version | Modifications |
---|---|
v12.0.0 | Fin de vie. |
v11.0.0 | Obsolescence d'exécution. |
Type : Fin de vie
Cipher.setAuthTag()
et Decipher.getAuthTag()
ne sont plus disponibles. Ils n'ont jamais été documentés et généraient une erreur lors de leur appel.
DEP0114 : crypto._toBuf()
[Historique]
Version | Modifications |
---|---|
v12.0.0 | Fin de vie. |
v11.0.0 | Obsolescence d'exécution. |
Type : Fin de vie
La fonction crypto._toBuf()
n'était pas conçue pour être utilisée par des modules en dehors du cœur de Node.js et a été supprimée.
DEP0115 : crypto.prng()
, crypto.pseudoRandomBytes()
, crypto.rng()
[Historique]
Version | Modifications |
---|---|
v11.0.0 | Ajout d'une obsolescence de documentation uniquement avec la prise en charge de --pending-deprecation . |
Type : Documentation uniquement (prend en charge --pending-deprecation
)
Dans les versions récentes de Node.js, il n'y a aucune différence entre crypto.randomBytes()
et crypto.pseudoRandomBytes()
. Cette dernière est obsolète, ainsi que les alias non documentés crypto.prng()
et crypto.rng()
, au profit de crypto.randomBytes()
et pourrait être supprimée dans une version future.
DEP0116 : API URL Legacy
[Historique]
Version | Modifications |
---|---|
v19.0.0, v18.13.0 | url.parse() est à nouveau obsolète dans DEP0169. |
v15.13.0, v14.17.0 | Obsolescence révoquée. Statut modifié en "Legacy". |
v11.0.0 | Obsolescence de la documentation uniquement. |
Type : Obsolescence révoquée
L'API URL Legacy est obsolète. Cela inclut url.format()
, url.parse()
, url.resolve()
, et l'objet urlObject
Legacy. Veuillez utiliser l'API WHATWG URL à la place.
DEP0117 : Gestionnaires natifs de cryptographie
[Historique]
Version | Changements |
---|---|
v12.0.0 | Fin de vie. |
v11.0.0 | Dépréciation d’exécution. |
Type : Fin de vie
Les versions précédentes de Node.js exposaient des gestionnaires à des objets natifs internes via la propriété _handle
des classes Cipher
, Decipher
, DiffieHellman
, DiffieHellmanGroup
, ECDH
, Hash
, Hmac
, Sign
et Verify
. La propriété _handle
a été supprimée car une utilisation incorrecte de l’objet natif peut entraîner le plantage de l’application.
DEP0118 : Prise en charge de dns.lookup()
pour un nom d’hôte faux
[Historique]
Version | Changements |
---|---|
v11.0.0 | Dépréciation d’exécution. |
Type : Exécution
Les versions précédentes de Node.js prenaient en charge dns.lookup()
avec un nom d’hôte faux comme dns.lookup(false)
en raison de la rétrocompatibilité. Ce comportement n’est pas documenté et est considéré comme inutilisé dans les applications du monde réel. Cela deviendra une erreur dans les futures versions de Node.js.
DEP0119 : API privée process.binding('uv').errname()
[Historique]
Version | Changements |
---|---|
v11.0.0 | Dépréciation de la documentation uniquement. |
Type : Documentation uniquement (prend en charge --pending-deprecation
)
process.binding('uv').errname()
est déprécié. Veuillez plutôt utiliser util.getSystemErrorName()
.
DEP0120 : Prise en charge du compteur de performance Windows
[Historique]
Version | Changements |
---|---|
v12.0.0 | Fin de vie. |
v11.0.0 | Dépréciation d’exécution. |
Type : Fin de vie
La prise en charge du compteur de performance Windows a été supprimée de Node.js. Les fonctions non documentées COUNTER_NET_SERVER_CONNECTION()
, COUNTER_NET_SERVER_CONNECTION_CLOSE()
, COUNTER_HTTP_SERVER_REQUEST()
, COUNTER_HTTP_SERVER_RESPONSE()
, COUNTER_HTTP_CLIENT_REQUEST()
et COUNTER_HTTP_CLIENT_RESPONSE()
ont été dépréciées.
DEP0121 : net._setSimultaneousAccepts()
[Historique]
Version | Changements |
---|---|
v12.0.0 | Dépréciation d’exécution. |
Type : Exécution
La fonction non documentée net._setSimultaneousAccepts()
était initialement destinée au débogage et à l’optimisation des performances lors de l’utilisation des modules node:child_process
et node:cluster
sous Windows. La fonction n’est généralement pas utile et est en cours de suppression. Voir la discussion ici : https://github.com/nodejs/node/issues/18391
DEP0122 : tls
Server.prototype.setOptions()
[Historique]
Version | Modifications |
---|---|
v12.0.0 | Obsolescence d’exécution. |
Type : Exécution
Veuillez utiliser Server.prototype.setSecureContext()
à la place.
DEP0123 : définition du nom de serveur TLS sur une adresse IP
[Historique]
Version | Modifications |
---|---|
v12.0.0 | Obsolescence d’exécution. |
Type : Exécution
La définition du nom de serveur TLS sur une adresse IP n’est pas autorisée par la RFC 6066. Cela sera ignoré dans une version future.
DEP0124 : utilisation de REPLServer.rli
[Historique]
Version | Modifications |
---|---|
v15.0.0 | Fin de vie. |
v12.0.0 | Obsolescence d’exécution. |
Type : Fin de vie
Cette propriété est une référence à l’instance elle-même.
DEP0125 : require('node:_stream_wrap')
[Historique]
Version | Modifications |
---|---|
v12.0.0 | Obsolescence d’exécution. |
Type : Exécution
Le module node:_stream_wrap
est obsolète.
DEP0126 : timers.active()
[Historique]
Version | Modifications |
---|---|
v11.14.0 | Obsolescence d’exécution. |
Type : Exécution
La fonction timers.active()
, qui n’était pas documentée auparavant, est obsolète. Veuillez utiliser la fonction timeout.refresh()
qui est documentée publiquement à la place. Si une nouvelle référence au délai d’attente est nécessaire, la fonction timeout.ref()
peut être utilisée sans impact sur les performances depuis Node.js 10.
DEP0127 : timers._unrefActive()
[Historique]
Version | Modifications |
---|---|
v11.14.0 | Obsolescence d’exécution. |
Type : Exécution
La fonction timers._unrefActive()
, qui n’était pas documentée auparavant et qui était considérée comme « privée », est obsolète. Veuillez utiliser la fonction timeout.refresh()
qui est documentée publiquement à la place. Si l’annulation de la référence au délai d’attente est nécessaire, la fonction timeout.unref()
peut être utilisée sans impact sur les performances depuis Node.js 10.
DEP0128 : modules avec une entrée main
invalide et un fichier index.js
[Historique]
Version | Modifications |
---|---|
v16.0.0 | Obsolescence d’exécution. |
v12.0.0 | Documentation uniquement. |
Type : Exécution
Les modules qui ont une entrée main
invalide (par exemple, ./does-not-exist.js
) et qui ont également un fichier index.js
dans le répertoire de niveau supérieur résoudront le fichier index.js
. Cela est obsolète et entraînera une erreur dans les futures versions de Node.js.
DEP0129 : ChildProcess._channel
[Historique]
Version | Modifications |
---|---|
v13.0.0 | Obsolescence à l’exécution. |
v11.14.0 | Documentation uniquement. |
Type : Exécution
La propriété _channel
des objets de processus enfant retournés par spawn()
et des fonctions similaires n’est pas destinée à un usage public. Utilisez ChildProcess.channel
à la place.
DEP0130 : Module.createRequireFromPath()
[Historique]
Version | Modifications |
---|---|
v16.0.0 | Fin de vie. |
v13.0.0 | Obsolescence à l’exécution. |
v12.2.0 | Documentation uniquement. |
Type : Fin de vie
Utilisez module.createRequire()
à la place.
DEP0131 : Analyseur HTTP hérité
[Historique]
Version | Modifications |
---|---|
v13.0.0 | Cette fonctionnalité a été supprimée. |
v12.22.0 | Obsolescence à l’exécution. |
v12.3.0 | Documentation uniquement. |
Type : Fin de vie
L’analyseur HTTP hérité, utilisé par défaut dans les versions de Node.js antérieures à 12.0.0, est obsolète et a été supprimé dans la v13.0.0. Avant la v13.0.0, l’indicateur de ligne de commande --http-parser=legacy
pouvait être utilisé pour revenir à l’utilisation de l’analyseur hérité.
DEP0132 : worker.terminate()
avec rappel
[Historique]
Version | Modifications |
---|---|
v12.5.0 | Obsolescence à l’exécution. |
Type : Exécution
Le passage d’un rappel à worker.terminate()
est obsolète. Utilisez plutôt la Promise
retournée, ou un écouteur à l’événement 'exit'
du worker.
DEP0133 : http
connection
[Historique]
Version | Modifications |
---|---|
v12.12.0 | Obsolescence de documentation uniquement. |
Type : Documentation uniquement
Préférez response.socket
à response.connection
et request.socket
à request.connection
.
DEP0134 : process._tickCallback
[Historique]
Version | Modifications |
---|---|
v12.12.0 | Obsolescence de documentation uniquement. |
Type : Documentation uniquement (prend en charge --pending-deprecation
)
La propriété process._tickCallback
n’a jamais été documentée comme une API officiellement prise en charge.
DEP0135 : WriteStream.open()
et ReadStream.open()
sont internes
[Historique]
Version | Modifications |
---|---|
v13.0.0 | Dépréciation à l’exécution. |
Type : Exécution
WriteStream.open()
et ReadStream.open()
sont des API internes non documentées dont l’utilisation n’a pas de sens dans l’espace utilisateur. Les flux de fichiers doivent toujours être ouverts par le biais de leurs méthodes de création correspondantes fs.createWriteStream()
et fs.createReadStream()
ou en passant un descripteur de fichier dans les options.
DEP0136 : http
finished
[Historique]
Version | Modifications |
---|---|
v13.4.0, v12.16.0 | Dépréciation de la documentation uniquement. |
Type : Documentation uniquement
response.finished
indique si response.end()
a été appelé, et non si 'finish'
a été émis et si les données sous-jacentes ont été vidées.
Utilisez plutôt response.writableFinished
ou response.writableEnded
en conséquence pour éviter toute ambiguïté.
Pour maintenir le comportement existant, response.finished
doit être remplacé par response.writableEnded
.
DEP0137 : Fermeture de fs.FileHandle lors du nettoyage de la mémoire
[Historique]
Version | Modifications |
---|---|
v14.0.0 | Dépréciation à l’exécution. |
Type : Exécution
Autoriser la fermeture d’un objet fs.FileHandle
lors du nettoyage de la mémoire est déconseillé. À l’avenir, cela pourrait entraîner une erreur qui mettra fin au processus.
Veuillez vous assurer que tous les objets fs.FileHandle
sont explicitement fermés à l’aide de FileHandle.prototype.close()
lorsque le fs.FileHandle
n’est plus nécessaire :
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
[Historique]
Version | Modifications |
---|---|
v14.0.0 | Dépréciation uniquement documentaire. |
Type : Uniquement documentaire
process.mainModule
est une fonctionnalité propre à CommonJS alors que l’objet global process
est partagé avec les environnements non-CommonJS. Son utilisation dans les modules ECMAScript n’est pas prise en charge.
Il est déprécié en faveur de require.main
, car il sert le même objectif et n’est disponible que dans l’environnement CommonJS.
DEP0139 : process.umask()
sans argument
[Historique]
Version | Modifications |
---|---|
v14.0.0, v12.19.0 | Dépréciation uniquement documentaire. |
Type : Uniquement documentaire
L’appel de process.umask()
sans argument entraîne l’écriture deux fois du masque umask à l’échelle du processus. Cela introduit une situation de concurrence entre les threads, et constitue une vulnérabilité potentielle de sécurité. Il n’existe pas d’API alternative sûre et multiplateforme.
DEP0140 : Utiliser request.destroy()
au lieu de request.abort()
[Historique]
Version | Modifications |
---|---|
v14.1.0, v13.14.0 | Dépréciation uniquement documentaire. |
Type : Uniquement documentaire
Utiliser request.destroy()
au lieu de request.abort()
.
DEP0141 : repl.inputStream
et repl.outputStream
[Historique]
Version | Modifications |
---|---|
v14.3.0 | Uniquement documentaire (prend en charge [--pending-deprecation ][]). |
Type : Uniquement documentaire (prend en charge --pending-deprecation
)
Le module node:repl
exportait deux fois le flux d’entrée et de sortie. Utilisez .input
au lieu de .inputStream
et .output
au lieu de .outputStream
.
DEP0142 : repl._builtinLibs
[Historique]
Version | Modifications |
---|---|
v14.3.0 | Uniquement documentaire (prend en charge [--pending-deprecation ][]). |
Type : Uniquement documentaire
Le module node:repl
exporte une propriété _builtinLibs
qui contient un tableau de modules intégrés. Elle était incomplète jusqu’à présent et il est préférable de s’appuyer sur require('node:module').builtinModules
.
DEP0143: Transform._transformState
[Historique]
Version | Modifications |
---|---|
v14.5.0 | Dépréciation d'exécution. |
Type: Exécution Transform._transformState
sera supprimé dans les versions futures car il ne sera plus nécessaire en raison de la simplification de l'implémentation.
DEP0144: module.parent
[Historique]
Version | Modifications |
---|---|
v14.6.0, v12.19.0 | Dépréciation de la documentation uniquement. |
Type: Documentation uniquement (prend en charge --pending-deprecation
)
Un module CommonJS peut accéder au premier module qui l'a requis en utilisant module.parent
. Cette fonctionnalité est dépréciée car elle ne fonctionne pas de manière cohérente en présence de modules ECMAScript et parce qu'elle donne une représentation inexacte du graphe de modules CommonJS.
Certains modules l'utilisent pour vérifier s'ils sont le point d'entrée du processus actuel. Au lieu de cela, il est recommandé de comparer require.main
et module
:
if (require.main === module) {
// Section de code qui ne s'exécutera que si le fichier courant est le point d'entrée.
}
Lorsque vous recherchez les modules CommonJS qui ont requis le module actuel, require.cache
et module.children
peuvent être utilisés :
const moduleParents = Object.values(require.cache).filter(m => m.children.includes(module))
DEP0145: socket.bufferSize
[Historique]
Version | Modifications |
---|---|
v14.6.0 | Dépréciation de la documentation uniquement. |
Type: Documentation uniquement
socket.bufferSize
n'est qu'un alias pour writable.writableLength
.
DEP0146: new crypto.Certificate()
[Historique]
Version | Modifications |
---|---|
v14.9.0 | Dépréciation de la documentation uniquement. |
Type: Documentation uniquement
Le constructeur crypto.Certificate()
est déprécié. Utilisez plutôt les méthodes statiques de crypto.Certificate()
.
DEP0147: fs.rmdir(path, { recursive: true })
{#dep0147-fsrmdirpath-{-recursive-true-}}
[Historique]
Version | Modifications |
---|---|
v16.0.0 | Dépréciation d'exécution. |
v15.0.0 | Dépréciation d'exécution pour un comportement permissif. |
v14.14.0 | Dépréciation de la documentation uniquement. |
Type: Exécution
Dans les futures versions de Node.js, l'option recursive
sera ignorée pour fs.rmdir
, fs.rmdirSync
et fs.promises.rmdir
.
Utilisez plutôt fs.rm(path, { recursive: true, force: true })
, fs.rmSync(path, { recursive: true, force: true })
ou fs.promises.rm(path, { recursive: true, force: true })
.
DEP0148 : Mappages de dossiers dans "exports"
(barre oblique finale "/"
)
[Historique]
Version | Modifications |
---|---|
v17.0.0 | Fin de vie. |
v16.0.0 | Dépréciation d’exécution. |
v15.1.0 | Dépréciation d’exécution pour les importations auto-référencées. |
v14.13.0 | Dépréciation de la documentation uniquement. |
Type : Exécution
L’utilisation d’une barre oblique finale "/"
pour définir les mappages de dossiers de sous-chemin dans les champs exports de sous-chemin ou imports de sous-chemin est dépréciée. Utilisez plutôt des modèles de sous-chemin.
DEP0149 : http.IncomingMessage#connection
[Historique]
Version | Modifications |
---|---|
v16.0.0 | Dépréciation de la documentation uniquement. |
Type : Documentation uniquement.
Préférez message.socket
à message.connection
.
DEP0150 : Modification de la valeur de process.config
[Historique]
Version | Modifications |
---|---|
v19.0.0 | Fin de vie. |
v16.0.0 | Dépréciation d’exécution. |
Type : Fin de vie
La propriété process.config
donne accès aux paramètres de compilation de Node.js. Cependant, la propriété est mutable et donc sujette à des manipulations. La possibilité de modifier la valeur sera supprimée dans une prochaine version de Node.js.
DEP0151 : Recherche d’index principal et recherche d’extension
[Historique]
Version | Modifications |
---|---|
v16.0.0 | Dépréciation d’exécution. |
v15.8.0, v14.18.0 | Dépréciation de la documentation uniquement avec prise en charge de --pending-deprecation . |
Type : Exécution
Auparavant, les recherches index.js
et les recherches d’extension s’appliquaient à la résolution du point d’entrée principal import 'pkg'
, même lors de la résolution des modules ES.
Avec cette dépréciation, toutes les résolutions du point d’entrée principal des modules ES nécessitent une entrée "exports"
ou "main"
explicite avec l’extension de fichier exacte.
DEP0152 : Propriétés Extension PerformanceEntry
[Historique]
Version | Modifications |
---|---|
v16.0.0 | Dépréciation d’exécution. |
Type : Exécution
Les types d’objets <PerformanceEntry> 'gc'
, 'http2'
et 'http'
ont des propriétés supplémentaires qui leur sont attribuées et qui fournissent des informations supplémentaires. Ces propriétés sont maintenant disponibles dans la propriété standard detail
de l’objet PerformanceEntry
. Les accesseurs existants ont été dépréciés et ne doivent plus être utilisés.
DEP0153 : Conversion de type des options dns.lookup
et dnsPromises.lookup
[Historique]
Version | Modifications |
---|---|
v18.0.0 | Fin de vie. |
v17.0.0 | Dépréciation d’exécution. |
v16.8.0 | Dépréciation uniquement dans la documentation. |
Type : Fin de vie
L’utilisation d’une valeur non nulle et non entière pour l’option family
, d’une valeur non nulle et non numérique pour l’option hints
, d’une valeur non nulle et non booléenne pour l’option all
ou d’une valeur non nulle et non booléenne pour l’option verbatim
dans dns.lookup()
et dnsPromises.lookup()
lève une erreur ERR_INVALID_ARG_TYPE
.
DEP0154 : Options de génération de paire de clés RSA-PSS
[Historique]
Version | Modifications |
---|---|
v20.0.0 | Dépréciation d’exécution. |
v16.10.0 | Dépréciation uniquement dans la documentation. |
Type : Exécution
Les options 'hash'
et 'mgf1Hash'
sont remplacées par 'hashAlgorithm'
et 'mgf1HashAlgorithm'
.
DEP0155 : Barres obliques finales dans les résolutions de spécificateurs de motifs
[Historique]
Version | Modifications |
---|---|
v17.0.0 | Dépréciation d’exécution. |
v16.10.0 | Dépréciation uniquement dans la documentation avec prise en charge de --pending-deprecation . |
Type : Exécution
Le remappage des spécificateurs se terminant par "/"
comme import 'pkg/x/'
est déprécié pour les résolutions de modèles "exports"
et "imports"
de paquet.
DEP0156 : Propriété .aborted
et événement 'abort'
, 'aborted'
dans http
[Historique]
Version | Modifications |
---|---|
v17.0.0, v16.12.0 | Dépréciation uniquement dans la documentation. |
Type : Uniquement dans la documentation
Passez plutôt à l’API <Stream>, car http.ClientRequest
, http.ServerResponse
et http.IncomingMessage
sont tous basés sur des flux. Vérifiez stream.destroyed
au lieu de la propriété .aborted
et écoutez 'close'
au lieu de l’événement 'abort'
, 'aborted'
.
La propriété .aborted
et l’événement 'abort'
ne sont utiles que pour détecter les appels .abort()
. Pour fermer une requête plus tôt, utilisez Stream.destroy([error])
, puis vérifiez la propriété .destroyed
et l’événement 'close'
devraient avoir le même effet. L’extrémité réceptrice doit également vérifier la valeur readable.readableEnded
sur http.IncomingMessage
pour savoir s’il s’agissait d’une destruction avortée ou correcte.
DEP0157 : Prise en charge des « thenables » dans les flux
[Historique]
Version | Modifications |
---|---|
v18.0.0 | Fin de vie. |
v17.2.0, v16.14.0 | Dépréciation uniquement dans la documentation. |
Type : Fin de vie
Une fonctionnalité non documentée des flux Node.js était la prise en charge des « thenables » dans les méthodes d’implémentation. Cette fonctionnalité est désormais obsolète. Utilisez plutôt des rappels et évitez d’utiliser une fonction asynchrone pour les méthodes d’implémentation des flux.
Cette fonctionnalité a causé des problèmes inattendus pour les utilisateurs qui implémentaient la fonction avec le style de rappel, mais utilisaient, par exemple, une méthode asynchrone qui provoquait une erreur, car le mélange des sémantiques de promesses et de rappels n’est pas valide.
const w = new Writable({
async final(callback) {
await someOp()
callback()
},
})
DEP0158 : buffer.slice(start, end)
[Historique]
Version | Modifications |
---|---|
v17.5.0, v16.15.0 | Dépréciation uniquement dans la documentation. |
Type : Uniquement dans la documentation
Cette méthode a été déclarée obsolète, car elle n’est pas compatible avec Uint8Array.prototype.slice()
, qui est une superclasse de Buffer
.
Utilisez buffer.subarray
qui fait la même chose à la place.
DEP0159 : ERR_INVALID_CALLBACK
[Historique]
Version | Modifications |
---|---|
v18.0.0 | Fin de vie. |
Type : Fin de vie
Ce code d’erreur a été supprimé, car il ajoutait davantage de confusion aux erreurs utilisées pour la validation du type de valeur.
DEP0160 : process.on('multipleResolves', handler)
[Historique]
Version | Modifications |
---|---|
v18.0.0 | Dépréciation à l’exécution. |
v17.6.0, v16.15.0 | Dépréciation uniquement dans la documentation. |
Type : Exécution.
Cet événement a été déclaré obsolète, car il ne fonctionnait pas avec les combinateurs de promesses V8, ce qui diminuait son utilité.
DEP0161 : process._getActiveRequests()
et process._getActiveHandles()
[Historique]
Version | Modifications |
---|---|
v17.6.0, v16.15.0 | Dépréciation uniquement dans la documentation. |
Type : Uniquement dans la documentation
Les fonctions process._getActiveHandles()
et process._getActiveRequests()
ne sont pas destinées à un usage public et peuvent être supprimées dans les versions futures.
Utilisez process.getActiveResourcesInfo()
pour obtenir la liste des types de ressources actives, et non les références réelles.
DEP0162 : fs.write()
, fs.writeFileSync()
conversion forcée en chaîne de caractères
[Historique]
Version | Modifications |
---|---|
v19.0.0 | Fin de vie. |
v18.0.0 | Dépréciation d'exécution. |
v17.8.0, v16.15.0 | Dépréciation limitée à la documentation. |
Type : Fin de vie
La conversion implicite d'objets avec leur propre propriété toString
, passée comme second paramètre dans fs.write()
, fs.writeFile()
, fs.appendFile()
, fs.writeFileSync()
et fs.appendFileSync()
est dépréciée. Convertissez-les en chaînes de caractères primitives.
DEP0163 : channel.subscribe(onMessage)
, channel.unsubscribe(onMessage)
[Historique]
Version | Modifications |
---|---|
v18.7.0, v16.17.0 | Dépréciation limitée à la documentation. |
Type : Dépréciation limitée à la documentation
Ces méthodes ont été dépréciées, car elles peuvent être utilisées d'une manière qui ne maintient pas la référence au canal active assez longtemps pour recevoir les événements.
Utilisez plutôt diagnostics_channel.subscribe(name, onMessage)
ou diagnostics_channel.unsubscribe(name, onMessage)
qui font la même chose.
DEP0164 : process.exit(code)
, process.exitCode
conversion forcée en entier
[Historique]
Version | Modifications |
---|---|
v20.0.0 | Fin de vie. |
v19.0.0 | Dépréciation d'exécution. |
v18.10.0, v16.18.0 | Dépréciation limitée à la documentation de la conversion forcée en entier de process.exitCode . |
v18.7.0, v16.17.0 | Dépréciation limitée à la documentation de la conversion forcée en entier de process.exit(code) . |
Type : Fin de vie
Les valeurs autres que undefined
, null
, les nombres entiers et les chaînes de caractères entières (par ex. '1'
) sont dépréciées en tant que valeur pour le paramètre code
dans process.exit()
et comme valeur à affecter à process.exitCode
.
DEP0165 : --trace-atomics-wait
[Historique]
Version | Modifications |
---|---|
v23.0.0 | Fin de vie. |
v22.0.0 | Dépréciation lors de l'exécution. |
v18.8.0, v16.18.0 | Dépréciation uniquement dans la documentation. |
Type : Fin de vie
L’option --trace-atomics-wait
a été supprimée car elle utilise le hook V8 SetAtomicsWaitCallback
, qui sera supprimé dans une future version de V8.
DEP0166 : Doubles barres obliques dans les cibles d’importation et d’exportation
[Historique]
Version | Modifications |
---|---|
v19.0.0 | Dépréciation lors de l’exécution. |
v18.10.0 | Dépréciation uniquement dans la documentation avec prise en charge de --pending-deprecation . |
Type : Exécution
Les importations de packages et les cibles d’exportation qui correspondent à des chemins incluant une double barre oblique (de "/" ou "") sont dépréciées et échoueront avec une erreur de validation de résolution dans une version ultérieure. Cette même dépréciation s’applique également aux correspondances de motifs commençant ou se terminant par une barre oblique.
DEP0167 : Instances faibles de DiffieHellmanGroup
(modp1
, modp2
, modp5
)
[Historique]
Version | Modifications |
---|---|
v18.10.0, v16.18.0 | Dépréciation uniquement dans la documentation. |
Type : Uniquement dans la documentation
Les groupes MODP bien connus modp1
, modp2
et modp5
sont dépréciés car ils ne sont pas sécurisés contre les attaques pratiques. Consultez la section 2.4 de la RFC 8247 pour plus de détails.
Ces groupes pourraient être supprimés dans de futures versions de Node.js. Les applications qui reposent sur ces groupes doivent évaluer l’utilisation de groupes MODP plus robustes.
DEP0168 : Exception non gérée dans les rappels de Node-API
[Historique]
Version | Modifications |
---|---|
v18.3.0, v16.17.0 | Dépréciation lors de l’exécution. |
Type : Exécution
La suppression implicite des exceptions non interceptées dans les rappels de Node-API est désormais dépréciée.
Définissez l’option --force-node-api-uncaught-exceptions-policy
pour forcer Node.js à émettre un événement 'uncaughtException'
si l’exception n’est pas gérée dans les rappels de Node-API.
DEP0169 : url.parse() non sécurisé
[Historique]
Version | Modifications |
---|---|
v19.9.0, v18.17.0 | Ajout de la prise en charge de --pending-deprecation . |
v19.0.0, v18.13.0 | Obsolescence de documentation uniquement. |
Type : Documentation uniquement (prend en charge --pending-deprecation
)
Le comportement de url.parse()
n’est pas normalisé et est sujet à des erreurs qui ont des implications en matière de sécurité. Utilisez plutôt l’API URL WHATWG. Les CVE ne sont pas émises pour les vulnérabilités url.parse()
.
DEP0170 : Port non valide lors de l’utilisation de url.parse()
[Historique]
Version | Modifications |
---|---|
v20.0.0 | Obsolescence d’exécution. |
v19.2.0, v18.13.0 | Obsolescence de documentation uniquement. |
Type : Exécution
url.parse()
accepte les URL avec des ports qui ne sont pas des nombres. Ce comportement pourrait entraîner l’usurpation du nom d’hôte avec une entrée inattendue. Ces URL généreront une erreur dans les futures versions de Node.js, comme le fait déjà l’API URL WHATWG.
DEP0171 : Setters pour les en-têtes et les bandes-annonces http.IncomingMessage
[Historique]
Version | Modifications |
---|---|
v19.3.0, v18.13.0 | Obsolescence de documentation uniquement. |
Type : Documentation uniquement
Dans une future version de Node.js, message.headers
, message.headersDistinct
, message.trailers
, et message.trailersDistinct
seront en lecture seule.
DEP0172 : La propriété asyncResource
des fonctions liées AsyncResource
[Historique]
Version | Modifications |
---|---|
v20.0.0 | Obsolescence d’exécution. |
Type : Exécution
Dans une future version de Node.js, la propriété asyncResource
ne sera plus ajoutée lorsqu’une fonction est liée à un AsyncResource
.
DEP0173 : La classe assert.CallTracker
[Historique]
Version | Modifications |
---|---|
v20.1.0 | Obsolescence de documentation uniquement. |
Type : Documentation uniquement
Dans une future version de Node.js, assert.CallTracker
sera supprimé. Envisagez d’utiliser d’autres solutions telles que la fonction d’assistance mock
.
DEP0174 : appeler promisify
sur une fonction qui retourne une Promise
[Historique]
Version | Modifications |
---|---|
v21.0.0 | Dépréciation d’exécution. |
v20.8.0 | Dépréciation de documentation uniquement. |
Type : Exécution
Appeler util.promisify
sur une fonction qui retourne une
DEP0175 : util.toUSVString
[Historique]
Version | Modifications |
---|---|
v20.8.0 | Dépréciation de documentation uniquement. |
Type : Documentation uniquement
L’API util.toUSVString()
est dépréciée. Veuillez utiliser String.prototype.toWellFormed
à la place.
DEP0176 : fs.F_OK
, fs.R_OK
, fs.W_OK
, fs.X_OK
[Historique]
Version | Modifications |
---|---|
v20.8.0 | Dépréciation de documentation uniquement. |
Type : Documentation uniquement
Les accesseurs F_OK
, R_OK
, W_OK
et X_OK
exposés directement sur node:fs
sont dépréciés. Veuillez les obtenir à partir de fs.constants
ou fs.promises.constants
à la place.
DEP0177 : util.types.isWebAssemblyCompiledModule
[Historique]
Version | Modifications |
---|---|
v21.7.0, v20.12.0 | Fin de vie. |
v21.3.0, v20.11.0 | Un code de dépréciation a été attribué. |
v14.0.0 | Dépréciation de documentation uniquement. |
Type : Fin de vie
L’API util.types.isWebAssemblyCompiledModule
a été supprimée. Veuillez utiliser value instanceof WebAssembly.Module
à la place.
DEP0178 : dirent.path
[Historique]
Version | Modifications |
---|---|
v23.0.0 | Dépréciation d’exécution. |
v21.5.0, v20.12.0, v18.20.0 | Dépréciation de documentation uniquement. |
Type : Exécution
La propriété dirent.path
est dépréciée en raison de son manque de cohérence entre les lignes de version. Veuillez utiliser dirent.parentPath
à la place.
DEP0179 : Constructeur Hash
[Historique]
Version | Modifications |
---|---|
v22.0.0 | Dépréciation d’exécution. |
v21.5.0, v20.12.0 | Dépréciation de documentation uniquement. |
Type : Exécution
L’appel direct de la classe Hash
avec Hash()
ou new Hash()
est déprécié car il s’agit d’éléments internes, qui ne sont pas destinés à un usage public. Veuillez utiliser la méthode crypto.createHash()
pour créer des instances Hash.
DEP0180 : Constructeur fs.Stats
[Historique]
Version | Modifications |
---|---|
v22.0.0 | Obsolescence d’exécution. |
v20.13.0 | Obsolescence de documentation uniquement. |
Type : Exécution
L’appel direct de la classe fs.Stats
avec Stats()
ou new Stats()
est obsolète, car il s’agit d’éléments internes et non destinés à un usage public.
DEP0181 : Constructeur Hmac
[Historique]
Version | Modifications |
---|---|
v22.0.0 | Obsolescence d’exécution. |
v20.13.0 | Obsolescence de documentation uniquement. |
Type : Exécution
L’appel direct de la classe Hmac
avec Hmac()
ou new Hmac()
est obsolète, car il s’agit d’éléments internes et non destinés à un usage public. Veuillez utiliser la méthode crypto.createHmac()
pour créer des instances Hmac.
DEP0182 : Balises d’authentification GCM courtes sans authTagLength
explicite
[Historique]
Version | Modifications |
---|---|
v23.0.0 | Obsolescence d’exécution. |
v20.13.0 | Obsolescence de documentation uniquement. |
Type : Exécution
Les applications qui ont l’intention d’utiliser des balises d’authentification plus courtes que la longueur de balise d’authentification par défaut doivent définir l’option authTagLength
de la fonction crypto.createDecipheriv()
sur la longueur appropriée.
Pour les chiffrements en mode GCM, la fonction decipher.setAuthTag()
accepte les balises d’authentification de toute longueur valide (voir DEP0090). Ce comportement est obsolète afin de mieux s’aligner sur les recommandations de la NIST SP 800-38D.
DEP0183 : API basées sur le moteur OpenSSL
[Historique]
Version | Modifications |
---|---|
v22.4.0, v20.16.0 | Obsolescence de documentation uniquement. |
Type : Documentation uniquement
OpenSSL 3 a rendu obsolète la prise en charge des moteurs personnalisés avec une recommandation de passer à son nouveau modèle de fournisseur. L’option clientCertEngine
pour https.request()
, tls.createSecureContext()
et tls.createServer()
; privateKeyEngine
et privateKeyIdentifier
pour tls.createSecureContext()
; et crypto.setEngine()
dépendent tous de cette fonctionnalité d’OpenSSL.
DEP0184 : Instanciation des classes node:zlib
sans new
[Historique]
Version | Modifications |
---|---|
v22.9.0, v20.18.0 | Dépréciation de la documentation uniquement. |
Type : Documentation uniquement
L’instanciation des classes sans le qualificateur new
exporté par le module node:zlib
est obsolète. Il est recommandé d’utiliser à la place le qualificateur new
. Cela s’applique à toutes les classes Zlib, telles que Deflate
, DeflateRaw
, Gunzip
, Inflate
, InflateRaw
, Unzip
et Zlib
.
DEP0185 : Instanciation des classes node:repl
sans new
[Historique]
Version | Modifications |
---|---|
v22.9.0, v20.18.0 | Dépréciation de la documentation uniquement. |
Type : Documentation uniquement
L’instanciation des classes sans le qualificateur new
exporté par le module node:repl
est obsolète. Il est recommandé d’utiliser à la place le qualificateur new
. Cela s’applique à toutes les classes REPL, y compris REPLServer
et Recoverable
.
DEP0187 : Transmission de types d’arguments non valides à fs.existsSync
[Historique]
Version | Modifications |
---|---|
v23.4.0 | Documentation uniquement. |
Type : Documentation uniquement
La transmission de types d’arguments non pris en charge est obsolète et, au lieu de renvoyer false
, lèvera une erreur dans une version ultérieure.
DEP0188 : process.features.ipv6
et process.features.uv
[Historique]
Version | Modifications |
---|---|
v23.4.0 | Dépréciation de la documentation uniquement. |
Type : Documentation uniquement
Ces propriétés sont inconditionnellement true
. Tous les contrôles basés sur ces propriétés sont redondants.
DEP0189 : process.features.tls_*
[Historique]
Version | Modifications |
---|---|
v23.4.0 | Dépréciation de la documentation uniquement. |
Type : Documentation uniquement
process.features.tls_alpn
, process.features.tls_ocsp
et process.features.tls_sni
sont obsolètes, car leurs valeurs sont garanties comme étant identiques à celles de process.features.tls
.