Spec-Zone.ru › Node.js 12 LTS

Устаревшие API

Node.js может устаревать API по следующим причинам:

  • Использование API небезопасно.
  • Доступно улучшенное альтернативное API.
  • В будущей основной версии ожидаются изменения API, которые могут привести к разрыву совместимости.

Node.js использует три вида устаревания:

  • Только документация
  • Выполнение
  • Конец жизненного цикла

Устаревание только документации выражается только в документации Node.js API. При выполнении Node.js они не вызывают побочных эффектов. Некоторые устаревания только документации вызывают предупреждение во время выполнения, если запущено с флагом --pending-deprecation (или его альтернативой, NODE_PENDING_DEPRECATION=1 переменной окружения), аналогично устареваниям во время выполнения, описанным ниже. Устаревания только документации, которые поддерживают этот флаг, явно помечены как таковые в списке устаревших API.

Устаревание во время выполнения по умолчанию генерирует предупреждение процесса, которое будет выведено в stderr при первом использовании устаревшего API. При использовании командной строки флага --throw-deprecation, устаревание во время выполнения вызовет ошибку.

Устаревание «конец жизненного цикла» используется, когда функция удалена или будет удалена из Node.js.

Отмена устареваний

Иногда устаревание API может быть отменено. В таких ситуациях этот документ будет обновлен с информацией, относящейся к этому решению. Однако идентификатор устаревания не будет изменён.

Список устаревших API

DEP0001: http.OutgoingMessage.prototype.flush

История
Версия Изменения
v4.8.6, v6.12.0

Код устаревания был назначен.

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

История
Версия Изменения
v4.8.6, v6.12.0

Код устаревания был назначен.

v0.11.15

Устаревание во время выполнения.

Тип: Выполнение

Свойство _writableState.buffer устарело. Используйте метод _writableState.getBuffer() вместо него.

DEP0004: CryptoStream.prototype.readyState

История
Версия Изменения
v10.0.0

Конец жизненного цикла.

v4.8.6, v6.12.0

Код устаревания был назначен.

0.4.0

Устаревание только документации.

Тип: Конец жизненного цикла

Свойство CryptoStream.prototype.readyState было удалено.

DEP0005: Buffer() конструктор

История
Версия Изменения
v10.0.0

Устаревание во время выполнения.

v6.12.0

Код устаревания был назначен.

v6.0.0

Устаревание только документации.

Тип: Выполнение (поддерживает --pending-deprecation)

Функция Buffer() и конструктор new Buffer() устарели из-за проблем с удобством использования API, которые могут привести к случайным проблемам безопасности.

В качестве альтернативы используйте один из следующих способов создания объектов Buffer:

  • Buffer.alloc(size[, fill[, encoding]]): Создать Buffer с инициализированной памятью.
  • Buffer.allocUnsafe(size): Создать Buffer с неинициализированной памятью.
  • Buffer.allocUnsafeSlow(size): Создать Buffer с неинициализированной памятью.
  • Buffer.from(array): Создать Buffer с копией array
  • Buffer.from(arrayBuffer[, byteOffset[, length]]) - Создать Buffer, который обернёт указанный arrayBuffer.
  • Buffer.from(buffer): Создать Buffer, который скопирует buffer.
  • Buffer.from(string[, encoding]): Создать Buffer, который скопирует string.

Без --pending-deprecation, предупреждения во время выполнения происходят только для кода, который не находится в node_modules. Это означает, что предупреждений об устаревании не будет для использования Buffer() в зависимостях. С --pending-deprecation, предупреждение во время выполнения возникает независимо от того, где происходит использование Buffer().

DEP0006: child_process options.customFds

История
Версия Изменения
v12.0.0

Конец жизненного цикла.

v4.8.6, v6.12.0

Код устаревания был назначен.

v0.11.14

Устаревание во время выполнения.

v0.5.11

Устаревание только документации.

Тип: Конец жизненного цикла

В модуле child_process в методах spawn(), exec() и 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, объекту Worker было добавлено булевое свойство с именем suicide. Цель этого свойства заключалась в предоставлении указания на то, как и почему экземпляр Worker завершился. В Node.js 6.0.0 старое свойство устарело и было заменено новым свойством worker.exitedAfterDisconnect. Старое имя свойства не точно описывало фактические семантику и было излишне эмоционально окрашено.

DEP0008: require('constants')

История
Версия Изменения
v6.12.0

Код устаревания был назначен.

v6.3.0

Устаревание только документации.

Тип: Только документация

Модуль constants устарел. При необходимости получить доступ к константам, относящимся к конкретным встроенным модулям Node.js, разработчики должны вместо этого обращаться к свойству constants, предоставляемому соответствующим модулем. Например, require('fs').constants и require('os').constants.

DEP0009: crypto.pbkdf2 без digest

История
Версия Изменения
v11.0.0

Устаревание во время выполнения (для digest === null).

v8.0.0

Конец жизненного цикла (для digest === undefined).

v6.12.0

Код устаревания был назначен.

v6.0.0

Устаревание во время выполнения (для digest === undefined).

Тип: Выполнение

Использование API crypto.pbkdf2() без указания digest устарело в Node.js 6.0, потому что метод по умолчанию использовал не рекомендуемый digest 'SHA1'. Ранее выводилось предупреждение об устаревании. Начиная с Node.js 8.0.0, вызов crypto.pbkdf2() или crypto.pbkdf2Sync() с digest установленным на undefined приведет к броске TypeError.

Начиная с Node.js v11.0.0, вызов этих функций с digest установленным на null будет выводить предупреждение об устаревании, чтобы соответствовать поведению при установке digest в undefined.

DEP0010: crypto.createCredentials

История
Версия Изменения
v11.0.0

Конец жизненного цикла.

v4.8.6, v6.12.0

Код устаревания был назначен.

v0.11.13

Устаревание во время выполнения.

Тип: Конец жизненного цикла

API crypto.createCredentials() был удалён. Используйте tls.createSecureContext() вместо него.

DEP0011: crypto.Credentials

История
Версия Изменения
v11.0.0

Конец жизненного цикла.

v4.8.6, v6.12.0

Код устаревания был назначен.

v0.11.13

Устаревание во время выполнения.

Тип: Конец жизненного цикла

Класс crypto.Credentials был удалён. Используйте tls.SecureContext вместо него.

DEP0012: Domain.dispose

История
Версия Изменения
v9.0.0

Конец жизненного цикла.

v4.8.6, v6.12.0

Код устаревания был назначен.

v0.11.7

Устаревание во время выполнения.

Тип: Конец жизненного цикла

Domain.dispose() был удалён. Восстановление после неудачных операций ввода-вывода должно выполняться явно через обработчики событий ошибок, установленные в домене.

DEP0013: fs асинхронная функция без обратного вызова

История
Версия Изменения
v10.0.0

Достиг конец жизненного цикла.

v7.0.0

Отключена во время выполнения.

Тип: Достиг конец жизненного цикла

Вызов асинхронной функции без обратного вызова генерирует TypeError в Node.js 10.0.0 и выше. См. https://github.com/nodejs/node/pull/12562.

DEP0014: fs.read устаревшего интерфейса String

История
Версия Изменения
v8.0.0

Достиг конец жизненного цикла.

v6.0.0

Отключена во время выполнения.

v4.8.6, v6.12.0

Присвоен код устаревания.

v0.1.96

Устаревание только в документации.

Тип: Достиг конец жизненного цикла

Устарел устаревший интерфейс String fs.read(). Используйте вместо него API Buffer, как указано в документации.

DEP0015: fs.readSync устаревшего интерфейса String

История
Версия Изменения
v8.0.0

Достиг конец жизненного цикла.

v6.0.0

Отключена во время выполнения.

v4.8.6, v6.12.0

Присвоен код устаревания.

v0.1.96

Устаревание только в документации.

Тип: Достиг конец жизненного цикла

Устарел устаревший интерфейс String fs.readSync(). Используйте вместо него API Buffer, как указано в документации.

DEP0016: GLOBAL/root

История
Версия Изменения
v6.12.0

Присвоен код устаревания.

v6.0.0

Отключена во время выполнения.

Тип: Время выполнения

Устарели псевдонимы GLOBAL и root для свойства global и их больше использовать не следует.

DEP0017: Intl.v8BreakIterator

История
Версия Изменения
v9.0.0

Достиг конец жизненного цикла.

v7.0.0

Отключена во время выполнения.

Тип: Достиг конец жизненного цикла

Intl.v8BreakIterator был нестандартным расширением и был удалён. См. Intl.Segmenter.

DEP0018: Необработанные отклонения обещаний

История
Версия Изменения
v7.0.0

Отключена во время выполнения.

Тип: Время выполнения

Необработанные отклонения обещаний устарели. В будущем, необработанные отклонения обещаний приведут к завершению процесса Node.js с ненулевым кодом выхода.

DEP0019: require('.') вне каталога

История
Версия Изменения
v12.0.0

Функциональность удалена.

v4.8.6, v6.12.0

Присвоен код устаревания.

v1.8.1

Отключена во время выполнения.

Тип: Достиг конец жизненного цикла

В некоторых случаях, require('.') мог разрешиться вне каталога пакета. Это поведение было удалено.

DEP0020: Server.connections

История
Версия Изменения
v4.8.6, v6.12.0

Присвоен код устаревания.

v0.9.7

Отключена во время выполнения.

Тип: Время выполнения

Свойство Server.connections устарело. Пожалуйста, используйте метод Server.getConnections() вместо него.

DEP0021: Server.listenFD

История
Версия Изменения
v12.0.0

Достиг конец жизненного цикла.

v4.8.6, v6.12.0

Присвоен код устаревания.

v0.7.12

Отключена во время выполнения.

Тип: Достиг конец жизненного цикла

Метод Server.listenFD() устарел и удалён. Пожалуйста, используйте Server.listen({fd: <number>}) вместо него.

DEP0022: os.tmpDir()

История
Версия Изменения
v7.0.0

Отключена во время выполнения.

Тип: Время выполнения

API os.tmpDir() устарел. Пожалуйста, используйте os.tmpdir() вместо него.

DEP0023: os.getNetworkInterfaces()

История
Версия Изменения
v12.0.0

Достиг конец жизненного цикла.

v4.8.6, v6.12.0

Присвоен код устаревания.

v0.6.0

Отключена во время выполнения.

Тип: Достиг конец жизненного цикла

Метод os.getNetworkInterfaces() устарел. Пожалуйста, используйте метод os.networkInterfaces() вместо него.

DEP0024: REPLServer.prototype.convertToContext()

История
Версия Изменения
v9.0.0

Достиг конец жизненного цикла.

v7.0.0

Отключена во время выполнения.

Тип: Достиг конец жизненного цикла

API REPLServer.prototype.convertToContext() был удалён.

DEP0025: require('sys')

История
Версия Изменения
v4.8.6, v6.12.0

Присвоен код устаревания.

v1.0.0

Отключена во время выполнения.

Тип: Время выполнения

Модуль sys устарел. Пожалуйста, используйте модуль util вместо него.

DEP0026: util.print()

История
Версия Изменения
v12.0.0

Достиг конец жизненного цикла.

v4.8.6, v6.12.0

Присвоен код устаревания.

v0.11.3

Отключена во время выполнения.

Тип: Достиг конец жизненного цикла

util.print() был удалён. Пожалуйста, используйте console.log() вместо него.

DEP0027: util.puts()

История
Версия Изменения
v12.0.0

Достиг конец жизненного цикла.

v4.8.6, v6.12.0

Присвоен код устаревания.

v0.11.3

Отключена во время выполнения.

Тип: Достиг конец жизненного цикла

util.puts() был удалён. Пожалуйста, используйте console.log() вместо него.

DEP0028: util.debug()

История
Версия Изменения
v12.0.0

Достиг конец жизненного цикла.

v4.8.6, v6.12.0

Присвоен код устаревания.

v0.11.3

Отключена во время выполнения.

Тип: Достиг конец жизненного цикла

util.debug() был удалён. Пожалуйста, используйте console.error() вместо него.

DEP0029: util.error()

История
Версия Изменения
v12.0.0

Достиг конец жизненного цикла.

v4.8.6, v6.12.0

Присвоен код устаревания.

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: domain модуль

История
Версия Изменения
v4.8.6, v6.12.0

Присвоен код устаревания.

v1.4.2

Устаревание только в документации.

Тип: Только в документации

Модуль domain устарел и его не следует использовать.

DEP0033: EventEmitter.listenerCount()

История
Версия Изменения
v4.8.6, v6.12.0

Присвоен код устаревания.

v3.2.0

Устаревание только в документации.

Тип: Только в документации

API EventEmitter.listenerCount(emitter, eventName) устарел. Используйте вместо него emitter.listenerCount(eventName).

DEP0034: fs.exists(path, callback)

История
Версия Изменения
v4.8.6, v6.12.0

Присвоен код устаревания.

v1.0.0

Устаревание только в документации.

Тип: Только в документации

API fs.exists(path, callback) устарел. Используйте вместо него fs.stat() или fs.access().

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

История
Версия Изменения
v4.8.6, v6.12.0

Присвоен код устаревания.

v0.4.7

Устаревание только в документации.

Тип: Только в документации

API fs.lchmod(path, mode, callback) устарел.

DEP0036: fs.lchmodSync(path, mode)

История
Версия Изменения
v4.8.6, v6.12.0

Присвоен код устаревания.

v0.4.7

Устаревание только в документации.

Тип: Только в документации

API fs.lchmodSync(path, mode) устарел.

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

История
Версия Изменения
v10.6.0

Устаревание отменено.

v4.8.6, v6.12.0

Присвоен код устаревания.

v0.4.7

Устаревание только в документации.

Тип: Устаревание отменено

API fs.lchown(path, uid, gid, callback) был устаревшим. Устаревание было отменено, так как необходимые вспомогательные API были добавлены в libuv.

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

История
Версия Изменения
v10.6.0

Устаревание отменено.

v4.8.6, v6.12.0

Присвоен код устаревания.

v0.4.7

Устаревание только в документации.

Тип: Устаревание отменено

API fs.lchownSync(path, uid, gid) был устаревшим. Устаревание было отменено, так как необходимые вспомогательные API были добавлены в libuv.

DEP0039: require.extensions

История
Версия Изменения
v4.8.6, v6.12.0

Присвоен код устаревания.

v0.10.6

Устаревание только в документации.

Тип: Только в документации

Свойство require.extensions устарело.

DEP0040: punycode модуль

История
Версия Изменения
v7.0.0

Устаревание только в документации.

Тип: Только в документации

Модуль punycode устарел. Используйте альтернативу на стороне пользователя.

DEP0041: NODE_REPL_HISTORY_FILE переменная среды

История
Версия Изменения
v10.0.0

Конец жизненного цикла.

v4.8.6, v6.12.0

Присвоен код устаревания.

v3.0.0

Устаревание только в документации.

Тип: Конец жизненного цикла

Переменная среды NODE_REPL_HISTORY_FILE была удалена. Используйте вместо нее NODE_REPL_HISTORY.

DEP0042: tls.CryptoStream

История
Версия Изменения
v10.0.0

Конец жизненного цикла.

v4.8.6, v6.12.0

Присвоен код устаревания.

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()

История
Версия Изменения
v4.8.6, v6.12.0

Присвоен код устаревания.

v3.3.1, v4.0.0

Устаревание только в документации.

Тип: Только в документации

API util.isArray() устарел. Используйте вместо него Array.isArray().

DEP0045: util.isBoolean()

История
Версия Изменения
v4.8.6, v6.12.0

Присвоен код устаревания.

v3.3.1, v4.0.0

Устаревание только в документации.

Тип: Только в документации

API util.isBoolean() устарел.

DEP0046: util.isBuffer()

История
Версия Изменения
v4.8.6, v6.12.0

Присвоен код устаревания.

v3.3.1, v4.0.0

Устаревание только в документации.

Тип: Только в документации

API util.isBuffer() устарел. Используйте вместо него Buffer.isBuffer().

DEP0047: util.isDate()

История
Версия Изменения
v4.8.6, v6.12.0

Присвоен код устаревания.

v3.3.1, v4.0.0

Устаревание только в документации.

Тип: Только в документации

API util.isDate() устарел.

DEP0048: util.isError()

История
Версия Изменения
v4.8.6, v6.12.0

Присвоен код устаревания.

v3.3.1, v4.0.0

Устаревание только в документации.

Тип: Только в документации

API util.isError() устарел.

DEP0049: util.isFunction()

История
Версия Изменения
v4.8.6, v6.12.0

Присвоен код устаревания.

v3.3.1, v4.0.0

Устаревание только в документации.

Тип: Только в документации

API util.isFunction() устарел.

DEP0050: util.isNull()

История
Версия Изменения
v4.8.6, v6.12.0

Присвоен код устаревания.

v3.3.1, v4.0.0

Устаревание только в документации.

Тип: Только в документации

API util.isNull() устарел.

DEP0051: util.isNullOrUndefined()

История
Версия Изменения
v4.8.6, v6.12.0

Присвоен код устаревания.

v3.3.1, v4.0.0

Устаревание только в документации.

Тип: Только в документации

API util.isNullOrUndefined() устарел.

DEP0052: util.isNumber()

История
Версия Изменения
v4.8.6, v6.12.0

Присвоен код устаревания.

v3.3.1, v4.0.0

Устаревание только в документации.

Тип: Только в документации

API util.isNumber() устарел.

DEP0053 util.isObject()

История
Версия Изменения
v4.8.6, v6.12.0

Присвоено код устаревания.

v3.3.1, v4.0.0

Устаревание только в документации.

Тип: Только в документации

API util.isObject() устарел.

DEP0054: util.isPrimitive()

История
Версия Изменения
v4.8.6, v6.12.0

Присвоено код устаревания.

v3.3.1, v4.0.0

Устаревание только в документации.

Тип: Только в документации

API util.isPrimitive() устарел.

DEP0055: util.isRegExp()

История
Версия Изменения
v4.8.6, v6.12.0

Присвоено код устаревания.

v3.3.1, v4.0.0

Устаревание только в документации.

Тип: Только в документации

API util.isRegExp() устарел.

DEP0056: util.isString()

История
Версия Изменения
v4.8.6, v6.12.0

Присвоено код устаревания.

v3.3.1, v4.0.0

Устаревание только в документации.

Тип: Только в документации

API util.isString() устарел.

DEP0057: util.isSymbol()

История
Версия Изменения
v4.8.6, v6.12.0

Присвоено код устаревания.

v3.3.1, v4.0.0

Устаревание только в документации.

Тип: Только в документации

API util.isSymbol() устарел.

DEP0058: util.isUndefined()

История
Версия Изменения
v4.8.6, v6.12.0

Присвоено код устаревания.

v3.3.1, v4.0.0

Устаревание только в документации.

Тип: Только в документации

API util.isUndefined() устарел.

DEP0059: util.log()

История
Версия Изменения
v6.12.0

Присвоено код устаревания.

v6.0.0

Устаревание только в документации.

Тип: Только в документации

API util.log() устарел.

DEP0060: util._extend()

История
Версия Изменения
v6.12.0

Присвоено код устаревания.

v6.0.0

Устаревание только в документации.

Тип: Только в документации

API util._extend() устарел.

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, который был удален начиная с V8 5.8. Он заменён Инспектором, который активируется с помощью --inspect.

DEP0063: ServerResponse.prototype.writeHeader()

История
Версия Изменения
v8.0.0

Устаревание только в документации.

Тип: Только в документации

API модуля http ServerResponse.prototype.writeHeader() устарел. Пожалуйста, используйте 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

Устаревание во время выполнения.

Тип: Выполнение

API tls.createSecurePair() был помечен как устаревший в документации Node.js 0.11.3. Пользователи должны использовать tls.Socket вместо него.

DEP0065: repl.REPL_MODE_MAGIC и NODE_REPL_MODE=magic

История
Версия Изменения
v10.0.0

Конец жизни.

v8.0.0

Устаревание только в документации.

Тип: Конец жизни

Константа модуля repl, используемая для опции replMode, была удалена. Ее поведение функционально идентично поведению REPL_MODE_SLOPPY с Node.js 6.0.0, когда был импортирован V8 5.0. Пожалуйста, используйте REPL_MODE_SLOPPY вместо неё.

Переменная среды NODE_REPL_MODE используется для установки базового replMode интерактивной сессии node. Ее значение, magic, также удалено. Пожалуйста, используйте sloppy вместо неё.

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

История
Версия Изменения
v12.0.0

Устаревание во время выполнения.

v8.0.0

Устаревание только в документации.

Тип: Выполнение

Свойства модуля http OutgoingMessage.prototype._headers и OutgoingMessage.prototype._headerNames устарели. Используйте один из публичных методов (например, OutgoingMessage.prototype.getHeader(), OutgoingMessage.prototype.getHeaders(), OutgoingMessage.prototype.getHeaderNames(), OutgoingMessage.prototype.hasHeader(), OutgoingMessage.prototype.removeHeader(), OutgoingMessage.prototype.setHeader()) для работы с исходящими заголовками.

Свойства OutgoingMessage.prototype._headers и OutgoingMessage.prototype._headerNames никогда не были задокументированы как официально поддерживаемые свойства.

DEP0067: OutgoingMessage.prototype._renderHeaders

История
Версия Изменения
v8.0.0

Устаревание только в документации.

Тип: Только в документации

API модуля http OutgoingMessage.prototype._renderHeaders() устарел.

Свойство OutgoingMessage.prototype._renderHeaders никогда не было задокументировано как официально поддерживаемый API.

DEP0068: node debug

История
Версия Изменения
v8.0.0

Устаревание во время выполнения.

Тип: Выполнение

node debug соответствует устаревшему CLI отладчику, который был заменён на V8-инспектор-базированный CLI отладчик, доступный через node inspect.

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

История
Версия Изменения
v9.0.0

Отменено во время выполнения.

Тип: Во время выполнения

Свойство REPLServer.bufferedCommand было отменено в пользу REPLServer.clearBufferedCommand().

DEP0075: REPLServer.parseREPLKeyword()

История
Версия Изменения
v9.0.0

Отменено во время выполнения.

Тип: Во время выполнения

REPLServer.parseREPLKeyword() было удалено из видимости пользовательского пространства.

DEP0076: tls.parseCertString()

История
Версия Изменения
v9.0.0

Отменено во время выполнения.

v8.6.0

Отменено только в документации.

Тип: Во время выполнения

tls.parseCertString() — это вспомогательная функция тривиального разбора, которая была случайно сделана общедоступной. Эту функцию, как правило, можно заменить на:

const querystring = require('querystring');
querystring.parse(str, '\n', '=');

Эта функция не полностью эквивалентна querystring.parse(). Одно из отличий состоит в том, что querystring.parse() выполняет декодирование URL:

> querystring.parse('%E5%A5%BD=1', '\n', '=');
{ '好': '1' }
> tls.parseCertString('%E5%A5%BD=1');
{ '%E5%A5%BD': '1' }

DEP0077: Module._debug()

История
Версия Изменения
v9.0.0

Отменено во время выполнения.

Тип: Во время выполнения

Module._debug() устарел.

Функция Module._debug() никогда не была документирована как официально поддерживаемый API.

DEP0078: REPLServer.turnOffEditorMode()

История
Версия Изменения
v9.0.0

Отменено во время выполнения.

Тип: Во время выполнения

REPLServer.turnOffEditorMode() было удалено из видимости пользовательского пространства.

DEP0079: Пользовательская функция проверки объектов через .inspect()

История
Версия Изменения
v11.0.0

Достиг конец жизненного цикла.

v10.0.0

Отменено во время выполнения.

v8.7.0

Отменено только в документации.

Тип: Достиг конец жизненного цикла

Использование свойства с именем inspect на объекте для указания пользовательской функции проверки для util.inspect() устарело. Используйте util.inspect.custom вместо этого. Для обратной совместимости с Node.js до версии 6.4.0, оба могут быть указаны.

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()

История
Версия Изменения
v9.0.0

Отменено во время выполнения.

Тип: Во время выполнения

REPLServer.prototype.memory() необходима только для внутренней работы REPLServer. Не используйте эту функцию.

DEP0083: Отключение ECDH установкой ecdhCurve в false

История
Версия Изменения
v10.0.0

Достиг конец жизненного цикла.

v9.2.0

Отменено во время выполнения.

Тип: Достиг конец жизненного цикла.

Параметр ecdhCurve для tls.createSecureContext() и tls.TLSSocket может быть установлен в false для полного отключения ECDH на сервере. Этот режим устарел в целях миграции на OpenSSL 1.1.0 и соблюдения согласованности с клиентом и сейчас не поддерживается. Используйте параметр ciphers вместо этого.

DEP0084: требование связанных внутренних зависимостей

История
Версия Изменения
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

История
Версия Изменения
10.0.0

Достиг конец жизненного цикла.

v8.10.0, v9.4.0

Отменено во время выполнения.

Тип: Достиг конец жизненного цикла

Чувствительный к AsyncHooks API никогда не был документирован и имел различные мелкие проблемы. Используйте API AsyncResource вместо него. Смотрите https://github.com/nodejs/node/issues/15572.

DEP0086: Удалить runInAsyncIdScope

История
Версия Изменения
10.0.0

Достиг конец жизненного цикла.

v8.10.0, v9.4.0

Отменено во время выполнения.

Тип: Достиг конец жизненного цикла

runInAsyncIdScope не излучает события 'before' или 'after' и, таким образом, может вызывать множество проблем. Смотрите https://github.com/nodejs/node/issues/14328.

DEP0089: require('assert')

История
Версия Изменения
v12.8.0

Отмена устаревания.

v9.9.0, v10.0.0

Отменено только в документации.

Тип: Отмена устаревания

Импорт assert напрямую не рекомендовался, так как открытые функции используют сравнения с нестрогим равенством. Отмена устаревания была проведена, так как использование модуля assert не является нежелательным и устаревание вызвало путаницу у разработчиков.

DEP0090: Недопустимые длины тегов аутентификации GCM

История
Версия Изменения
v11.0.0

Достиг конец жизненного цикла.

v10.0.0

Отменено во время выполнения.

Тип: Достиг конец жизненного цикла

Node.js поддерживал все длины тегов аутентификации GCM, которые принимаются OpenSSL при вызове decipher.setAuthTag(). Начиная с Node.js v11.0.0, разрешены только длины тегов аутентификации 128, 120, 112, 104, 96, 64 и 32 бита. Теги аутентификации других длин недопустимы согласно NIST SP 800-38D.

DEP0091: crypto.DEFAULT_ENCODING

История
Версия Изменения
v10.0.0

Отменено во время выполнения.

Тип: Во время выполнения

Свойство crypto.DEFAULT_ENCODING устарело.

DEP0092: Внешний this привязан к module.exports

История
Версия Изменения
v10.0.0

Отменено только в документации.

Тип: Только в документации

Присвоение свойств к внешнему this в качестве альтернативы module.exports устарело. Разработчики должны использовать exports или module.exports вместо этого.

DEP0093: crypto.fips устарел и заменён.

История
Версия Изменения
v10.0.0

Отменено только в документации.

Тип: Только в документации

Свойство crypto.fips устарело. Пожалуйста, используйте crypto.setFips() и crypto.getFips() вместо него.

DEP0094: Использование assert.fail() с более чем одним аргументом.

История
Версия Изменения
v10.0.0

Устарело во время выполнения.

Тип: Выполнение

Использование assert.fail() с более чем одним аргументом устарело. Используйте assert.fail() только с одним аргументом или другой метод модуля %%%CODE_BLOCK_343%%.

DEP0095: timers.enroll()

История
Версия Изменения
v10.0.0

Устарело во время выполнения.

Тип: Выполнение

timers.enroll() устарело. Пожалуйста, используйте публично документированную setTimeout() или setInterval() вместо этого.

DEP0096: timers.unenroll()

История
Версия Изменения
v10.0.0

Устарело во время выполнения.

Тип: Выполнение

timers.unenroll() устарело. Пожалуйста, используйте публично документированную clearTimeout() или clearInterval() вместо этого.

DEP0097: MakeCallback со свойством domain

История
Версия Изменения
v10.0.0

Устарело во время выполнения.

Тип: Выполнение

Пользователи MakeCallback, которые добавляют свойство %%%CODE_BLOCK_355%% для передачи контекста, должны начать использовать вариант async_context MakeCallback или CallbackScope, или высокоуровневый класс %%%CODE_BLOCK_359%%.

DEP0098: Встраиваемый API AsyncHooks AsyncResource.emitBefore и AsyncResource.emitAfter

История
Версия Изменения
v12.0.0

Конец Жизненного Цикла

v8.12.0, v9.6.0, v10.0.0

Устарело во время выполнения.

Тип: Конец Жизненного Цикла

Встраиваемый API AsyncHooks предоставляет методы .emitBefore() и .emitAfter(), которые очень легко использовать неправильно, что может привести к необратимым ошибкам.

Используйте API asyncResource.runInAsyncScope() вместо этого, он предоставляет гораздо более безопасную и удобную альтернативу. См. https://github.com/nodejs/node/pull/18513.

DEP0099: C++-API node::MakeCallback без учета контекста асинхронности

История
Версия Изменения
v10.0.0

Устарело на этапе компиляции.

Тип: Этап компиляции

Некоторые версии API node::MakeCallback модулей нативных модулей устарели. Пожалуйста, используйте версии API, которые принимают параметр async_context.

DEP0100: process.assert()

История
Версия Изменения
v10.0.0

Устарело во время выполнения.

v0.3.7

Устарело только в документации.

Тип: Выполнение

process.assert() устарело. Пожалуйста, используйте модуль assert вместо него.

Эта функция никогда не была задокументирована.

DEP0101: --with-lttng

История
Версия Изменения
v10.0.0

Конец Жизненного Цикла.

Тип: Конец Жизненного Цикла

Опция компиляции --with-lttng была удалена.

DEP0102: Использование noAssert в операциях Buffer#(read|write)

История
Версия Изменения
v10.0.0

Конец Жизненного Цикла.

Тип: Конец Жизненного Цикла

Использование аргумента noAssert больше не имеет функциональности. Вся входная информация будет проверена, независимо от того, установлено ли это значение в true или нет. Пропуск проверки может привести к трудно обнаруживаемым ошибкам и сбоям.

DEP0103: Типовые проверки process.binding('util').is[...]

История
Версия Изменения
v10.9.0

Заменено на DEP0111.

v10.0.0

Устарело только в документации.

Тип: Только в документации (поддерживает --pending-deprecation)

Использование process.binding() в целом следует избегать. В частности, методы проверки типов могут быть заменены использованием util.types.

Это устарело, заменено устарением API process.binding() (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

История
Версия Изменения
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

История
Версия Изменения
v11.0.0

Устарело во время выполнения.

v10.0.0

Устарело только в документации.

Тип: Выполнение

Устаревший псевдоним для zlib.bytesWritten. Это первоначальное имя было выбрано, потому что оно также имело смысл для интерпретации значения как числа прочитанных байтов движком, но несовместимо с другими потоками в Node.js, которые экспонируют значения под этими именами.

DEP0109: http, https, и tls поддержка для невалидных URL

История
Версия Изменения
v11.0.0

Устарело во время выполнения.

Тип: Выполнение

Некоторые ранее поддерживаемые (но строго невалидные) URL были приняты через http.request(), http.get(), https.request(), https.get() и tls.checkServerIdentity() API, потому что они принимались устаревшим API url.parse(). Теперь упомянутые 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.

DEP0112: dgram частные API

История
Версия Изменения
v11.0.0

Устаревшая версия в ходе выполнения.

Тип: В ходе выполнения

Модуль dgram ранее содержал несколько API, которые никогда не предназначались для доступа извне ядра Node.js: 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: Устаревший API URL

История
Версия Изменения
v11.0.0

Только документационная устаревшая версия.

Тип: Только документационная

Устарел устаревший API URL. Это включает url.format(), url.parse(), url.resolve() и устаревший urlObject. Используйте вместо этого API URL WHATWG.

DEP0117: Встроенные обработчики криптографии

История
Версия Изменения
v12.0.0

Конец жизненного цикла.

v11.0.0

Устаревшая версия в ходе выполнения.

Тип: Конец жизненного цикла

Предыдущие версии Node.js предоставляли обработчики внутренних системных объектов через свойство _handle классов Cipher, Decipher, DiffieHellman, DiffieHellmanGroup, ECDH, Hash, Hmac, Sign, и Verify. Свойство _handle было удалено, потому что ненадлежащее использование системных объектов может привести к падению приложения.

DEP0118: dns.lookup() поддержка для имени узла с ложным значением

История
Версия Изменения
v11.0.0

Устаревшая версия в ходе выполнения.

Тип: В ходе выполнения

Предыдущие версии Node.js поддерживали dns.lookup() с именем узла с ложным значением, таким как dns.lookup(false) из-за обратной совместимости. Это поведение не документировано и, как считается, не используется в реальных приложениях. В будущих версиях 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() изначально предназначалась для отладки и настройки производительности при использовании модулей child_process и cluster в Windows. Функция не является общеполезной и удаляется. См. обсуждение здесь: 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

История
Версия Изменения
v12.0.0

Устаревшая версия в ходе выполнения.

Тип: В ходе выполнения

Это свойство является ссылкой на сам экземпляр.

DEP0125: require('_stream_wrap')

История
Версия Изменения
v12.0.0

Устаревшая версия в ходе выполнения.

Тип: В ходе выполнения

Модуль _stream_wrap устарел.

DEP0126: timers.active()

История
Версия Изменения
v11.14.0

Устаревшая версия в ходе выполнения.

Тип: В ходе выполнения

Прежде недокументированный timers.active() устарел. Используйте вместо него публично документированный timeout.refresh(). Если повторная ссылка на таймаут необходима, можно использовать timeout.ref() без влияния на производительность с Node.js 10.

DEP0127: timers._unrefActive()

История
Версия Изменения
v11.14.0

Устаревшая версия в ходе выполнения.

Тип: В ходе выполнения

Прежде недокументированный и "частный" timers._unrefActive() устарел. Используйте вместо него публично документированный timeout.refresh(). Если необходимо снять ссылку с таймаута, используйте timeout.unref() без влияния на производительность с Node.js 10.

DEP0128: модули с некорректной записью main и файлом index.js

История
Версия Изменения
v12.0.0

Только документационная.

Тип: Только документационная (поддерживает --pending-deprecation)

Модули, у которых есть некорректная запись main (например, ./does-not-exist.js) и также файл index.js в корневом каталоге, будут разрешать файл index.js. Это устарело и в будущих версиях Node.js вызовет ошибку.

DEP0129: ChildProcess._channel

История
Версия Изменения
v11.14.0

Только документационная.

Тип: Только документационная

Свойство _channel объектов процессов-потомков, возвращаемых функциями spawn() и аналогичными функциями, не предназначено для публичного использования. Используйте вместо этого ChildProcess.channel.

DEP0130: Module.createRequireFromPath()

История
Версия Изменения
v12.2.0

Только документация.

Тип: Только документация

Module.createRequireFromPath() устарел. Пожалуйста, используйте module.createRequire() вместо этого.

DEP0131: Устаревший HTTP-парсер

История
Версия Изменения
v12.22.0

Устарел во время выполнения.

v12.3.0

Только документация.

Тип: Во время выполнения

Устаревший HTTP-парсер, используемый по умолчанию в версиях Node.js до 12.0.0, устарел. Это устаревание относится к пользователям командной строки --http-parser=legacy.

DEP0132: worker.terminate() с обратным вызовом

История
Версия Изменения
v12.5.0

Устарел во время выполнения.

Тип: Во время выполнения

Передача обратного вызова в worker.terminate() устарела. Используйте возвращенный Promise вместо этого или обработчик события 'exit' работника.

DEP0133: http connection

История
Версия Изменения
v12.12.0

Устарел только в документации.

Тип: Только документация

Предпочтительнее использовать response.socket вместо response.connection и request.socket вместо request.connection.

DEP0134: process._tickCallback

История
Версия Изменения
v12.12.0

Устарел только в документации.

Тип: Только документация (поддерживает --pending-deprecation)

Свойство process._tickCallback никогда не документировалось как официально поддерживаемый API.

DEP0136: http finished

История
Версия Изменения
v12.16.0

Устарел только в документации.

Тип: Только документация

response.finished указывает, был ли вызван response.end(), а не то, был ли выпущен 'finish' и подлежащие данные сброшены.

Вместо этого используйте response.writableFinished или response.writableEnded соответственно, чтобы избежать неоднозначности.

Для сохранения существующего поведения response.finished следует заменить на response.writableEnded.

DEP0139: process.umask() без аргументов

История
Версия Изменения
v12.19.0, v14.0.0

Устарел только в документации.

Тип: Только документация

Вызов process.umask() без аргументов приводит к тому, что маска процесса записывается дважды. Это создает состояние гонки между потоками и потенциальную уязвимость для системы безопасности. Нет безопасного кроссплатформенного альтернативного API.

DEP0144: module.parent

История
Версия Изменения
v12.19.0, v14.6.0

Устарел только в документации.

Тип: Только документация

Модуль CommonJS может получить доступ к первому модулю, который его запросил, с помощью module.parent. Эта функция устарела, поскольку она не работает последовательно в присутствии ECMAScript-модулей и потому, что она предоставляет неточное представление графа модулей CommonJS.

Некоторые модули используют ее для проверки того, является ли текущий процесс точкой входа. Вместо этого рекомендуется сравнить require.main и module:

if (require.main === module) {
  // Code section that will run only if current file is the entry point.
}

При поиске модулей CommonJS, которые запросили текущий, можно использовать require.cache и module.children:

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

© Joyent, Inc. and other Node contributors
Licensed under the MIT License.
Node.js is a trademark of Joyent, Inc. and is used with its permission.
We are not endorsed by or affiliated with Joyent.
https://nodejs.org/dist/latest-v12.x/docs/api/deprecations.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API