واجهات برمجة التطبيقات المُهملة
قد تُهمل واجهات برمجة تطبيقات Node.js لأي من الأسباب التالية:
- استخدام واجهة برمجة التطبيقات غير آمن.
- تتوفر واجهة برمجة تطبيقات بديلة محسّنة.
- من المتوقع إجراء تغييرات جوهرية على واجهة برمجة التطبيقات في إصدار رئيسي مستقبلي.
يستخدم Node.js أربعة أنواع من الإهمال:
- وثائق فقط
- تطبيق (رمز خارج
node_modules
فقط) - وقت التشغيل (جميع الرموز)
- نهاية العمر الافتراضي
الإهمال الخاص بالوثائق فقط هو ما يُعبّر عنه فقط ضمن وثائق واجهة برمجة تطبيقات Node.js. هذه لا تُحدث أي آثار جانبية أثناء تشغيل Node.js. بعض حالات الإهمال الخاصة بالوثائق فقط تُنشط تحذيرًا أثناء وقت التشغيل عند تشغيلها باستخدام علم --pending-deprecation
(أو بديله، متغير البيئة NODE_PENDING_DEPRECATION=1
)، بشكل مشابه لإهمال وقت التشغيل أدناه. يتم تمييز حالات الإهمال الخاصة بالوثائق فقط التي تدعم هذا العلم بشكل صريح على أنها كذلك في قائمة واجهات برمجة التطبيقات المُهملة.
سيؤدي إهمال التطبيق لرمز خارج node_modules
فقط، بشكل افتراضي، إلى إنشاء تحذير عملية سيتم طباعته إلى stderr
في المرة الأولى التي يتم فيها استخدام واجهة برمجة التطبيقات المُهملة في الرمز الذي لم يتم تحميله من node_modules
. عند استخدام علم سطر الأوامر --throw-deprecation
، سيؤدي إهمال وقت التشغيل إلى إلقاء خطأ. عند استخدام --pending-deprecation
، سيتم أيضًا إصدار تحذيرات للرمز المُحمّل من node_modules
.
يشبه إهمال وقت التشغيل لجميع الرموز إهمال وقت التشغيل لرمز خارج node_modules
، إلا أنه يُصدر أيضًا تحذيرًا للرمز المُحمّل من node_modules
.
يُستخدم إهمال نهاية العمر الافتراضي عندما يتم أو سيتم قريبًا إزالة الوظيفة من Node.js.
إلغاء الإهمال
في بعض الأحيان، قد يتم عكس إهمال واجهة برمجة تطبيقات. في مثل هذه الحالات، سيتم تحديث هذه الوثيقة بمعلومات ذات صلة بالقرار. ومع ذلك، لن يتم تعديل معرف الإهمال.
قائمة واجهات برمجة التطبيقات المُهملة
DEP0001: http.OutgoingMessage.prototype.flush
[التاريخ]
الإصدار | التغييرات |
---|---|
v14.0.0 | نهاية العمر الافتراضي. |
v6.12.0, v4.8.6 | تم تعيين رمز إهمال. |
v1.6.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تم إزالة OutgoingMessage.prototype.flush()
. استخدم OutgoingMessage.prototype.flushHeaders()
بدلاً من ذلك.
DEP0002: require('_linklist')
[History]
الإصدار | التغييرات |
---|---|
v8.0.0 | نهاية العمر الافتراضي. |
v6.12.0 | تم تعيين رمز الإهمال. |
v5.0.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
وحدة _linklist
مُهملة. يرجى استخدام بديل من مستخدمي النظام.
DEP0003: _writableState.buffer
[History]
الإصدار | التغييرات |
---|---|
v14.0.0 | نهاية العمر الافتراضي. |
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v0.11.15 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تم إزالة _writableState.buffer
. استخدم _writableState.getBuffer()
بدلاً من ذلك.
DEP0004: CryptoStream.prototype.readyState
[History]
الإصدار | التغييرات |
---|---|
v10.0.0 | نهاية العمر الافتراضي. |
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v0.4.0 | إهمال الوثائق فقط. |
النوع: نهاية العمر الافتراضي
تم إزالة خاصية CryptoStream.prototype.readyState
.
DEP0005: مُنشئ Buffer()
[History]
الإصدار | التغييرات |
---|---|
v10.0.0 | إهمال وقت التشغيل. |
v6.12.0 | تم تعيين رمز الإهمال. |
v6.0.0 | إهمال الوثائق فقط. |
النوع: تطبيق (رمز خارج node_modules
فقط)
دالة Buffer()
ومُنشئ new Buffer()
مُهملان بسبب مشاكل في سهولة استخدام واجهة برمجة التطبيقات التي قد تؤدي إلى مشاكل أمنية عرضية.
كبديل، استخدم إحدى طرق إنشاء كائنات 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
[History]
الإصدار | التغييرات |
---|---|
v12.0.0 | نهاية العمر الافتراضي. |
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v0.11.14 | إهمال وقت التشغيل. |
v0.5.10 | إهمال في الوثائق فقط. |
النوع: نهاية العمر الافتراضي
داخل طرق spawn()
و fork()
و exec()
في وحدة child_process
، أصبح خيار options.customFds
قديمًا. يجب استخدام خيار options.stdio
بدلاً منه.
DEP0007: استبدال cluster
worker.suicide
بـ worker.exitedAfterDisconnect
[History]
الإصدار | التغييرات |
---|---|
v9.0.0 | نهاية العمر الافتراضي. |
v7.0.0 | إهمال وقت التشغيل. |
v6.12.0 | تم تعيين رمز الإهمال. |
v6.0.0 | إهمال في الوثائق فقط. |
النوع: نهاية العمر الافتراضي
في إصدار سابق من Node.js cluster
، تمت إضافة خاصية منطقية باسم suicide
إلى كائن Worker
. كان الغرض من هذه الخاصية هو توفير مؤشر لكيفية ولماذا خرجت مثيل Worker
. في Node.js 6.0.0، تم إهمال الخاصية القديمة واستبدالها بخاصية جديدة worker.exitedAfterDisconnect
. لم يصف اسم الخاصية القديمة الدلالات الفعلية بدقة وكان مليئًا بالعواطف بشكل غير ضروري.
DEP0008: require('node:constants')
[History]
الإصدار | التغييرات |
---|---|
v6.12.0 | تم تعيين رمز الإهمال. |
v6.3.0 | إهمال في الوثائق فقط. |
النوع: إهمال في الوثائق فقط
وحدة node:constants
قديمة. عند طلب الوصول إلى الثوابت ذات الصلة بوحدات Node.js المضمنة المحددة، يجب على المطورين الرجوع بدلاً من ذلك إلى خاصية constants
المعروضة بواسطة الوحدة ذات الصلة. على سبيل المثال، require('node:fs').constants
و require('node:os').constants
.
DEP0009: crypto.pbkdf2
بدون digest
[History]
الإصدار | التغييرات |
---|---|
v14.0.0 | نهاية العمر الافتراضي (لـ digest === null ). |
v11.0.0 | إهمال وقت التشغيل (لـ digest === null ). |
v8.0.0 | نهاية العمر الافتراضي (لـ digest === undefined ). |
v6.12.0 | تم تعيين رمز الإهمال. |
v6.0.0 | إهمال وقت التشغيل (لـ digest === undefined ). |
النوع: نهاية العمر الافتراضي
تم إهمال استخدام واجهة برمجة التطبيقات crypto.pbkdf2()
بدون تحديد مُلخص في Node.js 6.0 لأن الطريقة كانت تستخدم افتراضيًا مُلخص 'SHA1'
غير الموصى به. في السابق، تم طباعة تحذير الإهمال. بدءًا من Node.js 8.0.0، سيؤدي استدعاء crypto.pbkdf2()
أو crypto.pbkdf2Sync()
مع تعيين digest
إلى undefined
إلى إرسال TypeError
.
بدءًا من Node.js v11.0.0، سيؤدي استدعاء هاتين الوظيفتين مع تعيين digest
إلى null
إلى طباعة تحذير إهمال لمواءمة السلوك عندما يكون digest
هو undefined
.
ومع ذلك، الآن، فإن تمرير undefined
أو null
سيؤدي إلى إرسال TypeError
.
DEP0010: crypto.createCredentials
[History]
الإصدار | التغييرات |
---|---|
v11.0.0 | نهاية العمر الافتراضي. |
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v0.11.13 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تم إزالة واجهة برمجة التطبيقات crypto.createCredentials()
. يرجى استخدام tls.createSecureContext()
بدلاً من ذلك.
DEP0011: crypto.Credentials
[History]
الإصدار | التغييرات |
---|---|
v11.0.0 | نهاية العمر الافتراضي. |
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v0.11.13 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تم إزالة فئة crypto.Credentials
. يرجى استخدام tls.SecureContext
بدلاً من ذلك.
DEP0012: Domain.dispose
[History]
الإصدار | التغييرات |
---|---|
v9.0.0 | نهاية العمر الافتراضي. |
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v0.11.7 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تم إزالة Domain.dispose()
. استعد من إجراءات إدخال/إخراج فاشلة بشكل صريح عبر معالجات أحداث الخطأ المُعيّنة في المجال بدلاً من ذلك.
DEP0013: دالة fs
غير متزامنة بدون استدعاء للرجوع
[History]
الإصدار | التغييرات |
---|---|
v10.0.0 | نهاية العمر الافتراضي. |
v7.0.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
يؤدي استدعاء دالة غير متزامنة بدون استدعاء للرجوع إلى إخراج TypeError
في Node.js 10.0.0 وما بعده. انظر https://github.com/nodejs/node/pull/12562.
DEP0014: واجهة سلسلة تراثية fs.read
[History]
الإصدار | التغييرات |
---|---|
v8.0.0 | نهاية العمر الافتراضي. |
v6.0.0 | إهمال وقت التشغيل. |
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v0.1.96 | إهمال في الوثائق فقط. |
النوع: نهاية العمر الافتراضي
تم إهمال واجهة سلسلة تراثية fs.read()
[/api/fs#fsreadfd-buffer-offset-length-position-callback]. استخدم واجهة برمجة التطبيقات Buffer
كما هو مذكور في الوثائق بدلاً من ذلك.
DEP0015: واجهة سلسلة تراثية fs.readSync
[History]
الإصدار | التغييرات |
---|---|
v8.0.0 | نهاية العمر الافتراضي. |
v6.0.0 | إهمال وقت التشغيل. |
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v0.1.96 | إهمال في الوثائق فقط. |
النوع: نهاية العمر الافتراضي
تم إهمال واجهة سلسلة تراثية fs.readSync()
[/api/fs#fsreadsyncfd-buffer-offset-length-position]. استخدم واجهة برمجة التطبيقات Buffer
كما هو مذكور في الوثائق بدلاً من ذلك.
DEP0016: GLOBAL
/root
[History]
الإصدار | التغييرات |
---|---|
v14.0.0 | نهاية العمر الافتراضي. |
v6.12.0 | تم تعيين رمز الإهمال. |
v6.0.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تم إهمال مُرادفات GLOBAL
و root
لخاصية global
في Node.js 6.0.0 وتم إزالتهما منذ ذلك الحين.
DEP0017: Intl.v8BreakIterator
[History]
الإصدار | التغييرات |
---|---|
v9.0.0 | نهاية العمر الافتراضي. |
v7.0.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
كان Intl.v8BreakIterator
امتدادًا غير قياسي وتم إزالته. انظر Intl.Segmenter
.
DEP0018: رفض الوعود غير المُعالجة
[History]
الإصدار | التغييرات |
---|---|
v15.0.0 | نهاية العمر الافتراضي. |
v7.0.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تم إهمال رفض الوعود غير المُعالجة. بشكل افتراضي، يؤدي رفض الوعود التي لم يتم التعامل معها إلى إنهاء عملية Node.js برمز خروج غير صفري. لتغيير طريقة تعامل Node.js مع الرفوض غير المُعالجة، استخدم خيار سطر الأوامر --unhandled-rejections
.
DEP0019: require('.')
تم حله خارج الدليل
[History]
الإصدار | التغييرات |
---|---|
v12.0.0 | تمت إزالة الوظيفة. |
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v1.8.1 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
في بعض الحالات، يمكن أن يحل require('.')
خارج دليل الحزمة. تم إزالة هذا السلوك.
DEP0020: Server.connections
[History]
الإصدار | التغييرات |
---|---|
v15.0.0 | تمت إزالة Server.connections. |
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v0.9.7 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تم إهمال خاصية Server.connections
في Node.js v0.9.7 وتم إزالته. يرجى استخدام طريقة Server.getConnections()
بدلاً من ذلك.
DEP0021: Server.listenFD
[History]
الإصدار | التغييرات |
---|---|
v12.0.0 | نهاية العمر الافتراضي. |
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v0.7.12 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تم إهمال طريقة Server.listenFD()
وإزالتها. يرجى استخدام Server.listen({fd: \<number\>})
بدلاً من ذلك.
DEP0022: os.tmpDir()
[History]
الإصدار | التغييرات |
---|---|
v14.0.0 | نهاية عمر الخدمة. |
v7.0.0 | إهمال وقت التشغيل. |
النوع: نهاية عمر الخدمة
تم إهمال واجهة برمجة التطبيقات os.tmpDir()
في Node.js 7.0.0 وتم إزالته منذ ذلك الحين. يرجى استخدام os.tmpdir()
بدلاً من ذلك.
DEP0023: os.getNetworkInterfaces()
[History]
الإصدار | التغييرات |
---|---|
v12.0.0 | نهاية عمر الخدمة. |
v6.12.0, v4.8.6 | تم تعيين رمز إهمال. |
v0.6.0 | إهمال وقت التشغيل. |
النوع: نهاية عمر الخدمة
تم إهمال أسلوب os.getNetworkInterfaces()
. يرجى استخدام أسلوب os.networkInterfaces()
بدلاً من ذلك.
DEP0024: REPLServer.prototype.convertToContext()
[History]
الإصدار | التغييرات |
---|---|
v9.0.0 | نهاية عمر الخدمة. |
v7.0.0 | إهمال وقت التشغيل. |
النوع: نهاية عمر الخدمة
تمت إزالة واجهة برمجة التطبيقات REPLServer.prototype.convertToContext()
.
DEP0025: require('node:sys')
[History]
الإصدار | التغييرات |
---|---|
v6.12.0, v4.8.6 | تم تعيين رمز إهمال. |
v1.0.0 | إهمال وقت التشغيل. |
النوع: وقت التشغيل
تم إهمال وحدة node:sys
. يرجى استخدام وحدة util
بدلاً من ذلك.
DEP0026: util.print()
[History]
الإصدار | التغييرات |
---|---|
v12.0.0 | نهاية عمر الخدمة. |
v6.12.0, v4.8.6 | تم تعيين رمز إهمال. |
v0.11.3 | إهمال وقت التشغيل. |
النوع: نهاية عمر الخدمة
تمت إزالة util.print()
. يرجى استخدام console.log()
بدلاً من ذلك.
DEP0027: util.puts()
[History]
الإصدار | التغييرات |
---|---|
v12.0.0 | نهاية عمر الخدمة. |
v6.12.0, v4.8.6 | تم تعيين رمز إهمال. |
v0.11.3 | إهمال وقت التشغيل. |
النوع: نهاية عمر الخدمة
تمت إزالة util.puts()
. يرجى استخدام console.log()
بدلاً من ذلك.
DEP0028: util.debug()
[History]
الإصدار | التغييرات |
---|---|
v12.0.0 | نهاية عمر الخدمة. |
v6.12.0, v4.8.6 | تم تعيين رمز إهمال. |
v0.11.3 | إهمال وقت التشغيل. |
النوع: نهاية عمر الخدمة
تمت إزالة util.debug()
. يرجى استخدام console.error()
بدلاً من ذلك.
DEP0029: util.error()
[History]
الإصدار | التغييرات |
---|---|
v12.0.0 | نهاية العمر الافتراضي. |
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v0.11.3 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تم إزالة util.error()
. يرجى استخدام console.error()
بدلاً من ذلك.
DEP0030: SlowBuffer
[History]
الإصدار | التغييرات |
---|---|
v6.12.0 | تم تعيين رمز الإهمال. |
v6.0.0 | إهمال في الوثائق فقط. |
النوع: وثائق فقط
تم إهمال فئة SlowBuffer
. يرجى استخدام Buffer.allocUnsafeSlow(size)
بدلاً من ذلك.
DEP0031: ecdh.setPublicKey()
[History]
الإصدار | التغييرات |
---|---|
v6.12.0 | تم تعيين رمز الإهمال. |
v5.2.0 | إهمال في الوثائق فقط. |
النوع: وثائق فقط
تم الآن إهمال طريقة ecdh.setPublicKey()
لأن تضمينها في واجهة برمجة التطبيقات ليس مفيدًا.
DEP0032: وحدة node:domain
[History]
الإصدار | التغييرات |
---|---|
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v1.4.2 | إهمال في الوثائق فقط. |
النوع: وثائق فقط
تم إهمال وحدة domain
ويجب عدم استخدامها.
DEP0033: EventEmitter.listenerCount()
[History]
الإصدار | التغييرات |
---|---|
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v3.2.0 | إهمال في الوثائق فقط. |
النوع: وثائق فقط
تم إهمال واجهة برمجة التطبيقات events.listenerCount(emitter, eventName)
. يرجى استخدام emitter.listenerCount(eventName)
بدلاً من ذلك.
DEP0034: fs.exists(path, callback)
[History]
الإصدار | التغييرات |
---|---|
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v1.0.0 | إهمال في الوثائق فقط. |
النوع: وثائق فقط
تم إهمال واجهة برمجة التطبيقات fs.exists(path, callback)
. يرجى استخدام fs.stat()
أو fs.access()
بدلاً من ذلك.
DEP0035: fs.lchmod(path, mode, callback)
[History]
الإصدار | التغييرات |
---|---|
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v0.4.7 | إهمال وثائقي فقط. |
النوع: إهمال وثائقي فقط
تم إهمال واجهة برمجة التطبيقات fs.lchmod(path, mode, callback)
.
DEP0036: fs.lchmodSync(path, mode)
[History]
الإصدار | التغييرات |
---|---|
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v0.4.7 | إهمال وثائقي فقط. |
النوع: إهمال وثائقي فقط
تم إهمال واجهة برمجة التطبيقات fs.lchmodSync(path, mode)
.
DEP0037: fs.lchown(path, uid, gid, callback)
[History]
الإصدار | التغييرات |
---|---|
v10.6.0 | تم إلغاء الإهمال. |
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v0.4.7 | إهمال وثائقي فقط. |
النوع: تم إلغاء الإهمال
تم إهمال واجهة برمجة التطبيقات fs.lchown(path, uid, gid, callback)
. تم إلغاء الإهمال لأن واجهات برمجة التطبيقات الداعمة المطلوبة تمت إضافتها في libuv.
DEP0038: fs.lchownSync(path, uid, gid)
[History]
الإصدار | التغييرات |
---|---|
v10.6.0 | تم إلغاء الإهمال. |
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v0.4.7 | إهمال وثائقي فقط. |
النوع: تم إلغاء الإهمال
تم إهمال واجهة برمجة التطبيقات fs.lchownSync(path, uid, gid)
. تم إلغاء الإهمال لأن واجهات برمجة التطبيقات الداعمة المطلوبة تمت إضافتها في libuv.
DEP0039: require.extensions
[History]
الإصدار | التغييرات |
---|---|
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v0.10.6 | إهمال وثائقي فقط. |
النوع: إهمال وثائقي فقط
تم إهمال خاصية require.extensions
.
DEP0040: وحدة node:punycode
[History]
الإصدار | التغييرات |
---|---|
v21.0.0 | إهمال وقت التشغيل. |
v16.6.0 | تمت إضافة دعم لـ --pending-deprecation . |
v7.0.0 | إهمال وثائقي فقط. |
النوع: وقت التشغيل
تم إهمال وحدة punycode
. يرجى استخدام بديل من جانب المستخدم بدلاً من ذلك.
DEP0041: متغير البيئة NODE_REPL_HISTORY_FILE
[السجل]
الإصدار | التغييرات |
---|---|
v10.0.0 | نهاية العمر الافتراضي. |
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v3.0.0 | إهمال في الوثائق فقط. |
النوع: نهاية العمر الافتراضي
تم إزالة متغير البيئة NODE_REPL_HISTORY_FILE
. يرجى استخدام NODE_REPL_HISTORY
بدلاً من ذلك.
DEP0042: tls.CryptoStream
[السجل]
الإصدار | التغييرات |
---|---|
v10.0.0 | نهاية العمر الافتراضي. |
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v0.11.3 | إهمال في الوثائق فقط. |
النوع: نهاية العمر الافتراضي
تم إزالة فئة tls.CryptoStream
. يرجى استخدام tls.TLSSocket
بدلاً من ذلك.
DEP0043: tls.SecurePair
[السجل]
الإصدار | التغييرات |
---|---|
v8.0.0 | إهمال وقت التشغيل. |
v6.12.0 | تم تعيين رمز الإهمال. |
v6.0.0 | إهمال في الوثائق فقط. |
v0.11.15 | تم إلغاء الإهمال. |
v0.11.3 | إهمال وقت التشغيل. |
النوع: وثائق فقط
فئة tls.SecurePair
قديمة. يرجى استخدام tls.TLSSocket
بدلاً من ذلك.
DEP0044: util.isArray()
[السجل]
الإصدار | التغييرات |
---|---|
v22.0.0 | إهمال وقت التشغيل. |
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v4.0.0, v3.3.1 | إهمال في الوثائق فقط. |
النوع: وقت التشغيل
واجهة برمجة التطبيقات util.isArray()
قديمة. يرجى استخدام Array.isArray()
بدلاً من ذلك.
DEP0045: util.isBoolean()
[السجل]
الإصدار | التغييرات |
---|---|
v23.0.0 | إهمال نهاية العمر الافتراضي. |
v22.0.0 | إهمال وقت التشغيل. |
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v4.0.0, v3.3.1 | إهمال في الوثائق فقط. |
النوع: نهاية العمر الافتراضي
تم إزالة واجهة برمجة التطبيقات util.isBoolean()
. يرجى استخدام typeof arg === 'boolean'
بدلاً من ذلك.
DEP0046: util.isBuffer()
[السجل]
الإصدار | التغييرات |
---|---|
v23.0.0 | إهمال نهاية العمر الافتراضي. |
v22.0.0 | إهمال وقت التشغيل. |
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v4.0.0, v3.3.1 | إهمال في الوثائق فقط. |
النوع: نهاية العمر الافتراضي
تم إزالة واجهة برمجة التطبيقات util.isBuffer()
. يرجى استخدام Buffer.isBuffer()
بدلاً من ذلك.
DEP0047: util.isDate()
[History]
الإصدار | التغييرات |
---|---|
v23.0.0 | انتهاء عمر الإصدار. |
v22.0.0 | انتهاء عمر التشغيل. |
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v4.0.0, v3.3.1 | إهمال في الوثائق فقط. |
النوع: انتهاء عمر الإصدار
تم إزالة واجهة برمجة التطبيقات util.isDate()
. يرجى استخدام arg instanceof Date
بدلاً من ذلك.
DEP0048: util.isError()
[History]
الإصدار | التغييرات |
---|---|
v23.0.0 | انتهاء عمر الإصدار. |
v22.0.0 | انتهاء عمر التشغيل. |
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v4.0.0, v3.3.1 | إهمال في الوثائق فقط. |
النوع: انتهاء عمر الإصدار
تم إزالة واجهة برمجة التطبيقات util.isError()
. يرجى استخدام Object.prototype.toString(arg) === '[object Error]' || arg instanceof Error
بدلاً من ذلك.
DEP0049: util.isFunction()
[History]
الإصدار | التغييرات |
---|---|
v23.0.0 | انتهاء عمر الإصدار. |
v22.0.0 | انتهاء عمر التشغيل. |
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v4.0.0, v3.3.1 | إهمال في الوثائق فقط. |
النوع: انتهاء عمر الإصدار
تم إزالة واجهة برمجة التطبيقات util.isFunction()
. يرجى استخدام typeof arg === 'function'
بدلاً من ذلك.
DEP0050: util.isNull()
[History]
الإصدار | التغييرات |
---|---|
v23.0.0 | انتهاء عمر الإصدار. |
v22.0.0 | انتهاء عمر التشغيل. |
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v4.0.0, v3.3.1 | إهمال في الوثائق فقط. |
النوع: انتهاء عمر الإصدار
تم إزالة واجهة برمجة التطبيقات util.isNull()
. يرجى استخدام arg === null
بدلاً من ذلك.
DEP0051: util.isNullOrUndefined()
[History]
الإصدار | التغييرات |
---|---|
v23.0.0 | انتهاء عمر الإصدار. |
v22.0.0 | انتهاء عمر التشغيل. |
v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
v4.0.0, v3.3.1 | إهمال في الوثائق فقط. |
النوع: انتهاء عمر الإصدار
تم إزالة واجهة برمجة التطبيقات util.isNullOrUndefined()
. يرجى استخدام arg === null || arg === undefined
بدلاً من ذلك.
DEP0052: util.isNumber()
[History]
الإصدار | التغييرات |
---|---|
v23.0.0 | انتهاء عمر الإصدار. |
v22.0.0 | انتهاء الصلاحية وقت التشغيل. |
v6.12.0, v4.8.6 | تم تعيين رمز انتهاء الصلاحية. |
v4.0.0, v3.3.1 | انتهاء الصلاحية في الوثائق فقط. |
النوع: انتهاء عمر الإصدار
تم إزالة واجهة برمجة التطبيقات util.isNumber()
. يرجى استخدام typeof arg === 'number'
بدلاً من ذلك.
DEP0053: util.isObject()
[History]
الإصدار | التغييرات |
---|---|
v23.0.0 | انتهاء عمر الإصدار. |
v22.0.0 | انتهاء الصلاحية وقت التشغيل. |
v6.12.0, v4.8.6 | تم تعيين رمز انتهاء الصلاحية. |
v4.0.0, v3.3.1 | انتهاء الصلاحية في الوثائق فقط. |
النوع: انتهاء عمر الإصدار
تم إزالة واجهة برمجة التطبيقات util.isObject()
. يرجى استخدام arg && typeof arg === 'object'
بدلاً من ذلك.
DEP0054: util.isPrimitive()
[History]
الإصدار | التغييرات |
---|---|
v23.0.0 | انتهاء عمر الإصدار. |
v22.0.0 | انتهاء الصلاحية وقت التشغيل. |
v6.12.0, v4.8.6 | تم تعيين رمز انتهاء الصلاحية. |
v4.0.0, v3.3.1 | انتهاء الصلاحية في الوثائق فقط. |
النوع: انتهاء عمر الإصدار
تم إزالة واجهة برمجة التطبيقات util.isPrimitive()
. يرجى استخدام arg === null || (typeof arg !=='object' && typeof arg !== 'function')
بدلاً من ذلك.
DEP0055: util.isRegExp()
[History]
الإصدار | التغييرات |
---|---|
v23.0.0 | انتهاء عمر الإصدار. |
v22.0.0 | انتهاء الصلاحية وقت التشغيل. |
v6.12.0, v4.8.6 | تم تعيين رمز انتهاء الصلاحية. |
v4.0.0, v3.3.1 | انتهاء الصلاحية في الوثائق فقط. |
النوع: انتهاء عمر الإصدار
تم إزالة واجهة برمجة التطبيقات util.isRegExp()
. يرجى استخدام arg instanceof RegExp
بدلاً من ذلك.
DEP0056: util.isString()
[History]
الإصدار | التغييرات |
---|---|
v23.0.0 | انتهاء عمر الإصدار. |
v22.0.0 | انتهاء الصلاحية وقت التشغيل. |
v6.12.0, v4.8.6 | تم تعيين رمز انتهاء الصلاحية. |
v4.0.0, v3.3.1 | انتهاء الصلاحية في الوثائق فقط. |
النوع: انتهاء عمر الإصدار
تم إزالة واجهة برمجة التطبيقات util.isString()
. يرجى استخدام typeof arg === 'string'
بدلاً من ذلك.
DEP0057: util.isSymbol()
[History]
الإصدار | التغييرات |
---|---|
v23.0.0 | إزالة من نهاية عمر الدعم. |
v22.0.0 | إزالة من وقت التشغيل. |
v6.12.0, v4.8.6 | تم تعيين رمز إزالة من الخدمة. |
v4.0.0, v3.3.1 | إزالة من الوثائق فقط. |
النوع: نهاية عمر الدعم
تم إزالة واجهة برمجة التطبيقات util.isSymbol()
. يرجى استخدام typeof arg === 'symbol'
بدلاً من ذلك.
DEP0058: util.isUndefined()
[History]
الإصدار | التغييرات |
---|---|
v23.0.0 | إزالة من نهاية عمر الدعم. |
v22.0.0 | إزالة من وقت التشغيل. |
v6.12.0, v4.8.6 | تم تعيين رمز إزالة من الخدمة. |
v4.0.0, v3.3.1 | إزالة من الوثائق فقط. |
النوع: نهاية عمر الدعم
تم إزالة واجهة برمجة التطبيقات util.isUndefined()
. يرجى استخدام arg === undefined
بدلاً من ذلك.
DEP0059: util.log()
[History]
الإصدار | التغييرات |
---|---|
v23.0.0 | إزالة من نهاية عمر الدعم. |
v22.0.0 | إزالة من وقت التشغيل. |
v6.12.0 | تم تعيين رمز إزالة من الخدمة. |
v6.0.0 | إزالة من الوثائق فقط. |
النوع: نهاية عمر الدعم
تم إزالة واجهة برمجة التطبيقات util.log()
لأنها واجهة برمجة تطبيقات قديمة غير مدعومة تم عرضها على مستوى المستخدم عن طريق الخطأ. بدلاً من ذلك، ضع في اعتبارك البدائل التالية بناءً على احتياجاتك المحددة:
- مكتبات تسجيل سجلات تابعة لجهات خارجية
- استخدم
console.log(new Date().toLocaleString(), message)
من خلال تبني أحد هذه البدائل، يمكنك الانتقال بعيدًا عن util.log()
واختيار إستراتيجية تسجيل سجلات تتوافق مع متطلبات وتعقيد تطبيقك المحددين.
DEP0060: util._extend()
[History]
الإصدار | التغييرات |
---|---|
v22.0.0 | إزالة من وقت التشغيل. |
v6.12.0 | تم تعيين رمز إزالة من الخدمة. |
v6.0.0 | إزالة من الوثائق فقط. |
النوع: وقت التشغيل
تم إزالة واجهة برمجة التطبيقات util._extend()
لأنها واجهة برمجة تطبيقات قديمة غير مدعومة تم عرضها على مستوى المستخدم عن طريق الخطأ. يرجى استخدام target = Object.assign(target, source)
بدلاً من ذلك.
DEP0061: fs.SyncWriteStream
[History]
الإصدار | التغييرات |
---|---|
v11.0.0 | نهاية العمر الافتراضي. |
v8.0.0 | إهمال وقت التشغيل. |
v7.0.0 | إهمال في الوثائق فقط. |
النوع: نهاية العمر الافتراضي
لم تكن فئة fs.SyncWriteStream
مُخصصة أبدًا لتكون واجهة برمجة تطبيقات متاحة للجمهور وقد تمت إزالتها. لا توجد واجهة برمجة تطبيقات بديلة متاحة. يرجى استخدام بديل من جانب المستخدم.
DEP0062: node --debug
[History]
الإصدار | التغييرات |
---|---|
v12.0.0 | نهاية العمر الافتراضي. |
v8.0.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
يقوم --debug
بتنشيط واجهة مُصحح أخطاء V8 القديمة، والتي تمت إزالتها اعتبارًا من V8 5.8. وقد تم استبدالها بـ Inspector والذي يتم تنشيطه باستخدام --inspect
بدلاً من ذلك.
DEP0063: ServerResponse.prototype.writeHeader()
[History]
الإصدار | التغييرات |
---|---|
v8.0.0 | إهمال في الوثائق فقط. |
النوع: إهمال في الوثائق فقط
واجهة برمجة التطبيقات ServerResponse.prototype.writeHeader()
في وحدة node:http
قديمة. يرجى استخدام ServerResponse.prototype.writeHead()
بدلاً من ذلك.
لم يتم توثيق طريقة ServerResponse.prototype.writeHeader()
أبدًا كواجهة برمجة تطبيقات مدعومة رسميًا.
DEP0064: tls.createSecurePair()
[History]
الإصدار | التغييرات |
---|---|
v8.0.0 | إهمال وقت التشغيل. |
v6.12.0 | تم تعيين رمز إهمال. |
v6.0.0 | إهمال في الوثائق فقط. |
v0.11.15 | تم إلغاء الإهمال. |
v0.11.3 | إهمال وقت التشغيل. |
النوع: وقت التشغيل
تم إهمال واجهة برمجة التطبيقات tls.createSecurePair()
في الوثائق في Node.js 0.11.3. يجب على المستخدمين استخدام tls.Socket
بدلاً من ذلك.
DEP0065: repl.REPL_MODE_MAGIC
و NODE_REPL_MODE=magic
[History]
الإصدار | التغييرات |
---|---|
v10.0.0 | نهاية العمر الافتراضي. |
v8.0.0 | إهمال في الوثائق فقط. |
النوع: نهاية العمر الافتراضي
تم إزالة ثابت REPL_MODE_MAGIC
لوحدة node: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
[History]
الإصدار | التغييرات |
---|---|
v12.0.0 | إهمال وقت التشغيل. |
v8.0.0 | إهمال وثائق فقط. |
النوع: وقت التشغيل
خصائص وحدة node:http
OutgoingMessage.prototype._headers
و OutgoingMessage.prototype._headerNames
قديمة. استخدم إحدى الطرق العامة (مثل OutgoingMessage.prototype.getHeader()
, OutgoingMessage.prototype.getHeaders()
, OutgoingMessage.prototype.getHeaderNames()
, OutgoingMessage.prototype.getRawHeaderNames()
, OutgoingMessage.prototype.hasHeader()
, OutgoingMessage.prototype.removeHeader()
, OutgoingMessage.prototype.setHeader()
) للعمل مع رؤوس الخرج.
لم يتم توثيق خصائص OutgoingMessage.prototype._headers
و OutgoingMessage.prototype._headerNames
أبدًا كخصائص مدعومة رسميًا.
DEP0067: OutgoingMessage.prototype._renderHeaders
[History]
الإصدار | التغييرات |
---|---|
v8.0.0 | إهمال وثائق فقط. |
النوع: إهمال وثائق فقط
واجهة برمجة التطبيقات node:http
OutgoingMessage.prototype._renderHeaders()
قديمة.
لم يتم توثيق خاصية OutgoingMessage.prototype._renderHeaders
أبدًا كواجهة برمجة تطبيقات مدعومة رسميًا.
DEP0068: node debug
[History]
الإصدار | التغييرات |
---|---|
v15.0.0 | تمت إزالة أمر node debug القديم. |
v8.0.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
node debug
يتوافق مع مصحح الأخطاء القديم لسطر الأوامر والذي تم استبداله بمصحح أخطاء لسطر الأوامر يعتمد على V8-inspector متاح من خلال node inspect
.
DEP0069: vm.runInDebugContext(string)
[History]
الإصدار | التغييرات |
---|---|
v10.0.0 | نهاية العمر الافتراضي. |
v9.0.0 | إهمال وقت التشغيل. |
v8.0.0 | إهمال وثائق فقط. |
النوع: نهاية العمر الافتراضي
تم إزالة DebugContext في V8 وهي غير متوفرة في Node.js 10+.
كانت DebugContext واجهة برمجة تطبيقات تجريبية.
DEP0070: async_hooks.currentId()
[History]
الإصدار | التغييرات |
---|---|
v9.0.0 | نهاية العمر الافتراضي. |
v8.2.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تم تغيير اسم async_hooks.currentId()
إلى async_hooks.executionAsyncId()
من أجل الوضوح.
تم إجراء هذا التغيير بينما كانت async_hooks
واجهة برمجة تطبيقات تجريبية.
DEP0071: async_hooks.triggerId()
[History]
الإصدار | التغييرات |
---|---|
v9.0.0 | نهاية العمر الافتراضي. |
v8.2.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تم إعادة تسمية async_hooks.triggerId()
إلى async_hooks.triggerAsyncId()
من أجل الوضوح.
تم إجراء هذا التغيير بينما كانت async_hooks
واجهة برمجة تطبيقات تجريبية.
DEP0072: async_hooks.AsyncResource.triggerId()
[History]
الإصدار | التغييرات |
---|---|
v9.0.0 | نهاية العمر الافتراضي. |
v8.2.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تم إعادة تسمية async_hooks.AsyncResource.triggerId()
إلى async_hooks.AsyncResource.triggerAsyncId()
من أجل الوضوح.
تم إجراء هذا التغيير بينما كانت async_hooks
واجهة برمجة تطبيقات تجريبية.
DEP0073: العديد من الخصائص الداخلية لـ net.Server
[History]
الإصدار | التغييرات |
---|---|
v10.0.0 | نهاية العمر الافتراضي. |
v9.0.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تم إهمال الوصول إلى العديد من الخصائص الداخلية غير الموثقة لـ net.Server
instances ذات الأسماء غير المناسبة.
نظرًا لأن واجهة برمجة التطبيقات الأصلية لم تكن موثقة وليست مفيدة بشكل عام للرمز غير الداخلي، فلن يتم توفير واجهة برمجة تطبيقات بديلة.
DEP0074: REPLServer.bufferedCommand
[History]
الإصدار | التغييرات |
---|---|
v15.0.0 | نهاية العمر الافتراضي. |
v9.0.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تم إهمال خاصية REPLServer.bufferedCommand
لصالح REPLServer.clearBufferedCommand()
.
DEP0075: REPLServer.parseREPLKeyword()
[History]
الإصدار | التغييرات |
---|---|
v15.0.0 | نهاية العمر الافتراضي. |
v9.0.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تم إزالة REPLServer.parseREPLKeyword()
من رؤية المستخدم.
DEP0076: tls.parseCertString()
[History]
الإصدار | التغييرات |
---|---|
v18.0.0 | نهاية العمر الافتراضي. |
v9.0.0 | إهمال وقت التشغيل. |
v8.6.0 | إهمال وثائق فقط. |
النوع: نهاية العمر الافتراضي
كانت tls.parseCertString()
أداة مساعدة تحليل بسيطة تم نشرها عن طريق الخطأ. على الرغم من أنها كانت من المفترض أن تحلل سلاسل موضوع وناشر الشهادة، إلا أنها لم تعالج أسماء النطاقات المميزة النسبية متعددة القيم بشكل صحيح.
اقترحت الإصدارات السابقة من هذه الوثيقة استخدام querystring.parse()
كبديل لـ tls.parseCertString()
. ومع ذلك، فإن querystring.parse()
لا تعالج أيضًا جميع مواضيع الشهادات بشكل صحيح ويجب عدم استخدامها.
DEP0077: Module._debug()
[History]
الإصدار | التغييرات |
---|---|
v9.0.0 | إهمال وقت التشغيل. |
النوع: وقت التشغيل
Module._debug()
قديم.
لم يتم توثيق دالة Module._debug()
أبدًا كواجهة برمجة تطبيقات مدعومة رسميًا.
DEP0078: REPLServer.turnOffEditorMode()
[History]
الإصدار | التغييرات |
---|---|
v15.0.0 | نهاية العمر الافتراضي. |
v9.0.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تم إزالة REPLServer.turnOffEditorMode()
من وصول المستخدم.
DEP0079: دالة الفحص المخصصة على الكائنات عبر .inspect()
[History]
الإصدار | التغييرات |
---|---|
v11.0.0 | نهاية العمر الافتراضي. |
v10.0.0 | إهمال وقت التشغيل. |
v8.7.0 | إهمال الوثائق فقط. |
النوع: نهاية العمر الافتراضي
إن استخدام خاصية تحمل اسم inspect
على كائن لتحديد دالة فحص مخصصة لـ util.inspect()
قديم. استخدم util.inspect.custom
بدلاً من ذلك. من أجل التوافق مع الإصدارات السابقة من Node.js قبل الإصدار 6.4.0، يمكن تحديد كليهما.
DEP0080: path._makeLong()
[History]
الإصدار | التغييرات |
---|---|
v9.0.0 | إهمال الوثائق فقط. |
النوع: إهمال الوثائق فقط
لم يكن من المفترض استخدام path._makeLong()
الداخلي للاستخدام العام. ومع ذلك، وجدت وحدات المستخدمين أنها مفيدة. واجهة البرمجة التطبيقات الداخلية قديمة وتم استبدالها بطريقة عامة متطابقة وهي path.toNamespacedPath()
.
DEP0081: fs.truncate()
باستخدام مُعرّف الملف
[History]
الإصدار | التغييرات |
---|---|
v9.0.0 | إهمال وقت التشغيل. |
النوع: وقت التشغيل
fs.truncate()
fs.truncateSync()
باستخدام مُعرّف الملف قديم. يرجى استخدام fs.ftruncate()
أو fs.ftruncateSync()
للعمل مع مُعرّفات الملفات.
DEP0082: REPLServer.prototype.memory()
[History]
الإصدار | التغييرات |
---|---|
v15.0.0 | نهاية العمر الافتراضي. |
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
[السجل]
الإصدار | التغييرات |
---|---|
v10.0.0 | نهاية العمر الافتراضي. |
v9.4.0, v8.10.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
لم يتم توثيق واجهة برمجة التطبيقات الحساسة لـ AsyncHooks مطلقًا، وكان بها العديد من المشكلات الطفيفة. استخدم واجهة برمجة التطبيقات AsyncResource
بدلاً من ذلك. انظر https://github.com/nodejs/node/issues/15572.
DEP0086: إزالة runInAsyncIdScope
[History]
الإصدار | التغييرات |
---|---|
v10.0.0 | نهاية العمر الافتراضي. |
v9.4.0, v8.10.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
لا يُصدر runInAsyncIdScope
حدث 'before'
أو 'after'
، وبالتالي يمكن أن يتسبب في العديد من المشكلات. انظر https://github.com/nodejs/node/issues/14328.
DEP0089: require('node:assert')
[History]
الإصدار | التغييرات |
---|---|
v12.8.0 | تم إلغاء الإهمال. |
v9.9.0, v8.13.0 | إهمال في الوثائق فقط. |
النوع: تم إلغاء الإهمال
لم يكن يُوصى باستيراد assert
مباشرةً لأن الدوال المعروضة تستخدم عمليات تحقق متساوية فضفاضة. تم إلغاء الإهمال لأن استخدام وحدة node:assert
غير مُثبط، وقد تسبب الإهمال في ارتباك المطورين.
DEP0090: أطوال علامات مصادقة GCM غير صالحة
[History]
الإصدار | التغييرات |
---|---|
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
[History]
الإصدار | التغييرات |
---|---|
v20.0.0 | نهاية العمر الافتراضي. |
v10.0.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
كانت خاصية crypto.DEFAULT_ENCODING
موجودة فقط للتوافق مع إصدارات Node.js السابقة للإصدارات 0.9.3 وتم إزالتها.
DEP0092: this
الأعلى مستوى مرتبط بـ module.exports
[History]
الإصدار | التغييرات |
---|---|
v10.0.0 | إهمال في الوثائق فقط. |
النوع: إهمال في الوثائق فقط
إن تعيين الخصائص لـ this
الأعلى مستوى كبديل لـ module.exports
أمر مُهمل. يجب على المطورين استخدام exports
أو module.exports
بدلاً من ذلك.
DEP0093: تم إلغاء استخدام crypto.fips
وتم استبداله
[السجل]
الإصدار | التغييرات |
---|---|
v23.0.0 | إلغاء الاستخدام أثناء وقت التشغيل. |
v10.0.0 | إلغاء الاستخدام في الوثائق فقط. |
النوع: وقت التشغيل
تم إلغاء استخدام خاصية crypto.fips
. يرجى استخدام crypto.setFips()
و crypto.getFips()
بدلاً من ذلك.
DEP0094: استخدام assert.fail()
مع أكثر من وسيطة واحدة
[السجل]
الإصدار | التغييرات |
---|---|
v10.0.0 | إلغاء الاستخدام أثناء وقت التشغيل. |
النوع: وقت التشغيل
تم إلغاء استخدام assert.fail()
مع أكثر من وسيطة واحدة. استخدم assert.fail()
مع وسيطة واحدة فقط أو استخدم طريقة وحدة node:assert
مختلفة.
DEP0095: timers.enroll()
[السجل]
الإصدار | التغييرات |
---|---|
v10.0.0 | إلغاء الاستخدام أثناء وقت التشغيل. |
النوع: وقت التشغيل
تم إلغاء استخدام timers.enroll()
. يرجى استخدام setTimeout()
أو setInterval()
الموثّقين علنًا بدلاً من ذلك.
DEP0096: timers.unenroll()
[السجل]
الإصدار | التغييرات |
---|---|
v10.0.0 | إلغاء الاستخدام أثناء وقت التشغيل. |
النوع: وقت التشغيل
تم إلغاء استخدام timers.unenroll()
. يرجى استخدام clearTimeout()
أو clearInterval()
الموثّقين علنًا بدلاً من ذلك.
DEP0097: MakeCallback
مع خاصية domain
[السجل]
الإصدار | التغييرات |
---|---|
v10.0.0 | إلغاء الاستخدام أثناء وقت التشغيل. |
النوع: وقت التشغيل
يجب على مستخدمي MakeCallback
الذين يضيفون خاصية domain
لحمل السياق، البدء في استخدام متغير async_context
من MakeCallback
أو CallbackScope
، أو فئة AsyncResource
عالية المستوى.
DEP0098: واجهات برمجة تطبيقات AsyncHooks المُضمّنة AsyncResource.emitBefore
و AsyncResource.emitAfter
[السجل]
الإصدار | التغييرات |
---|---|
v12.0.0 | نهاية عمر الخدمة. |
v10.0.0, v9.6.0, v8.12.0 | إلغاء الاستخدام أثناء وقت التشغيل. |
النوع: نهاية عمر الخدمة
تُعرّض واجهة برمجة التطبيقات المُضمّنة التي يوفرها AsyncHooks طريقتي .emitBefore()
و .emitAfter()
اللتين يسهل جدًا استخدامهما بشكل غير صحيح، مما قد يؤدي إلى أخطاء لا يمكن استعادتها.
استخدم واجهة برمجة التطبيقات asyncResource.runInAsyncScope()
بدلاً من ذلك، والتي توفر بديلاً أكثر أمانًا وأكثر ملاءمة. انظر https://github.com/nodejs/node/pull/18513.
DEP0099: واجهات برمجة التطبيقات C++ غير الواعية لسياق المُزامنة node::MakeCallback
[السجل]
الإصدار | التغييرات |
---|---|
v10.0.0 | إهمال وقت التجميع. |
النوع: وقت التجميع
بعض إصدارات واجهات برمجة التطبيقات node::MakeCallback
المتاحة لإضافات النظام الأساسية قديمة. يرجى استخدام إصدارات واجهة برمجة التطبيقات التي تقبل معلمة async_context
.
DEP0100: process.assert()
[السجل]
الإصدار | التغييرات |
---|---|
v23.0.0 | نهاية العمر الافتراضي. |
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
لها أي وظيفة. يتم التحقق من جميع المدخلات بغض النظر عن قيمة noAssert
. قد يؤدي تخطي التحقق إلى أخطاء وحوادث يصعب العثور عليها.
DEP0103: عمليات فحص أنواع process.binding('util').is[...]
[السجل]
الإصدار | التغييرات |
---|---|
v10.9.0 | تم استبداله بـ DEP0111. |
v10.0.0 | إهمال في الوثائق فقط. |
النوع: وثائق فقط (يدعم --pending-deprecation
)
يجب تجنب استخدام process.binding()
بشكل عام. يمكن استبدال طرق فحص الأنواع بشكل خاص باستخدام util.types
.
تم استبدال هذا الإهمال بإهمال واجهة برمجة التطبيقات process.binding()
(DEP0111).
DEP0104: الإجبار على سلسلة نصية process.env
[السجل]
الإصدار | التغييرات |
---|---|
v10.0.0 | إهمال في الوثائق فقط. |
النوع: وثائق فقط (يدعم --pending-deprecation
)
عند تعيين خاصية غير سلسلة نصية إلى process.env
، يتم تحويل القيمة المعينة ضمنيًا إلى سلسلة نصية. هذا السلوك قديم إذا لم تكن القيمة المعينة سلسلة نصية أو قيمة منطقية أو رقمًا. في المستقبل، قد يؤدي هذا التعيين إلى حدوث خطأ. يرجى تحويل الخاصية إلى سلسلة نصية قبل تعيينها إلى process.env
.
DEP0105: decipher.finaltol
[History]
الإصدار | التغييرات |
---|---|
v11.0.0 | نهاية العمر الافتراضي. |
v10.0.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
لم يتم توثيق decipher.finaltol()
مطلقًا، وكان اسمًا مستعارًا لـ decipher.final()
. تمت إزالة واجهة برمجة التطبيقات هذه، ويُوصى باستخدام decipher.final()
بدلاً من ذلك.
DEP0106: crypto.createCipher
و crypto.createDecipher
[History]
الإصدار | التغييرات |
---|---|
v22.0.0 | نهاية العمر الافتراضي. |
v11.0.0 | إهمال وقت التشغيل. |
v10.0.0 | إهمال في الوثائق فقط. |
النوع: نهاية العمر الافتراضي
تمت إزالة crypto.createCipher()
و crypto.createDecipher()
لأنهما يستخدمان دالة اشتقاق مفتاح ضعيفة (MD5 بدون ملح) ومتجهات تهيئة ثابتة. يُوصى باستنتاج مفتاح باستخدام crypto.pbkdf2()
أو crypto.scrypt()
مع أملاح عشوائية، واستخدام crypto.createCipheriv()
و crypto.createDecipheriv()
للحصول على كائنات Cipher
و Decipher
على التوالي.
DEP0107: tls.convertNPNProtocols()
[History]
الإصدار | التغييرات |
---|---|
v11.0.0 | نهاية العمر الافتراضي. |
v10.0.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
كانت هذه دالة مساعدة غير موثقة لم تكن مخصصة للاستخدام خارج نواة Node.js، وقد أصبحت عتيقة مع إزالة دعم NPN (مفاوضة البروتوكول التالي).
DEP0108: zlib.bytesRead
[History]
الإصدار | التغييرات |
---|---|
v23.0.0 | نهاية العمر الافتراضي. |
v11.0.0 | إهمال وقت التشغيل. |
v10.0.0 | إهمال في الوثائق فقط. |
النوع: نهاية العمر الافتراضي
اسم مستعار مُهمل لـ zlib.bytesWritten
. تم اختيار الاسم الأصلي لأنّه كان منطقيًا أيضًا تفسير القيمة على أنها عدد البايتات التي قرأتها المحرّك، لكنّه غير متسق مع تيارات أخرى في Node.js التي تعرض القيم تحت هذه الأسماء.
DEP0109: دعم http
و https
و tls
لعنوان URL غير صالح
[السجل]
الإصدار | التغييرات |
---|---|
v16.0.0 | نهاية العمر الافتراضي. |
v11.0.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تم قبول بعض عناوين URL المدعومة سابقًا (ولكنها غير صالحة بشكل صارم) من خلال واجهات برمجة التطبيقات http.request()
و http.get()
و https.request()
و https.get()
و tls.checkServerIdentity()
نظرًا لأنها كانت مقبولة بواسطة واجهة برمجة التطبيقات القديمة url.parse()
. تستخدم واجهات برمجة التطبيقات المذكورة الآن محلل URL WHATWG الذي يتطلب عناوين URL صالحة بشكل صارم. إن تمرير عنوان URL غير صالح أمر مُهمل وسيتم إزالة الدعم في المستقبل.
DEP0110: البيانات المخزنة مؤقتًا في vm.Script
[السجل]
الإصدار | التغييرات |
---|---|
v10.6.0 | إهمال في الوثائق فقط. |
النوع: وثائق فقط
خيار produceCachedData
مهمل. استخدم script.createCachedData()
بدلاً من ذلك.
DEP0111: process.binding()
[السجل]
الإصدار | التغييرات |
---|---|
v11.12.0 | تم إضافة دعم لـ --pending-deprecation . |
v10.9.0 | إهمال في الوثائق فقط. |
النوع: وثائق فقط (يدعم --pending-deprecation
)
process.binding()
مخصص للاستخدام بواسطة رمز Node.js الداخلي فقط.
في حين أن process.binding()
لم تصل إلى حالة نهاية العمر الافتراضي بشكل عام، إلا أنها غير متوفرة عند تمكين نموذج الأذونات.
DEP0112: واجهات برمجة التطبيقات الخاصة في dgram
[السجل]
الإصدار | التغييرات |
---|---|
v11.0.0 | إهمال وقت التشغيل. |
النوع: وقت التشغيل
احتوى مُعامل node:dgram
سابقًا على العديد من واجهات برمجة التطبيقات التي لم تكن مخصصة أبدًا للوصول إليها خارج جوهر 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()
[History]
الإصدار | التغييرات |
---|---|
v12.0.0 | نهاية العمر الافتراضي. |
v11.0.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
لم تعد وظيفتا Cipher.setAuthTag()
و Decipher.getAuthTag()
متوفرتين. لم يتم توثيقهما قط، وستؤديان إلى إرسال استثناء عند استدعائهما.
DEP0114: crypto._toBuf()
[History]
الإصدار | التغييرات |
---|---|
v12.0.0 | نهاية العمر الافتراضي. |
v11.0.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
لم تكن وظيفة crypto._toBuf()
مُصممة للاستخدام من قبل الوحدات النمطية خارج نواة Node.js، وقد تمت إزالتها.
DEP0115: crypto.prng()
، crypto.pseudoRandomBytes()
، crypto.rng()
[History]
الإصدار | التغييرات |
---|---|
v11.0.0 | تم إضافة إهمال للوثائق فقط مع دعم --pending-deprecation . |
النوع: وثائق فقط (يدعم --pending-deprecation
)
في الإصدارات الحديثة من Node.js، لا يوجد فرق بين crypto.randomBytes()
و crypto.pseudoRandomBytes()
. تم إهمال الأخيرة مع أسماء مستعارة غير موثقة crypto.prng()
و crypto.rng()
لصالح crypto.randomBytes()
وقد يتم إزالتها في إصدار مستقبلي.
DEP0116: واجهة برمجة تطبيقات عنوان URL القديمة
[History]
الإصدار | التغييرات |
---|---|
v19.0.0، v18.13.0 | تم إهمال url.parse() مرة أخرى في DEP0169. |
v15.13.0، v14.17.0 | تم إلغاء الإهمال. تم تغيير الحالة إلى "قديم". |
v11.0.0 | إهمال للوثائق فقط. |
النوع: تم إلغاء الإهمال
تم إهمال واجهة برمجة تطبيقات عنوان URL القديمة. وهذا يشمل url.format()
، url.parse()
، url.resolve()
، وكائن urlObject
القديم. يرجى استخدام واجهة برمجة تطبيقات عنوان 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()
[السجل]
الإصدار | التغييرات |
---|---|
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()
غير الموثقة مخصصة في الأصل للتحقق من الأخطاء وضبط الأداء عند استخدام وحدات node:child_process
و node:cluster
على Windows. الدالة ليست مفيدة بشكل عام وسيتم إزالتها. راجع المناقشة هنا: https://github.com/nodejs/node/issues/18391
DEP0122: tls
Server.prototype.setOptions()
[History]
الإصدار | التغييرات |
---|---|
v12.0.0 | إهمال وقت التشغيل. |
النوع: وقت التشغيل
الرجاء استخدام Server.prototype.setSecureContext()
بدلاً من ذلك.
DEP0123: تعيين اسم الخادم TLS إلى عنوان IP
[History]
الإصدار | التغييرات |
---|---|
v12.0.0 | إهمال وقت التشغيل. |
النوع: وقت التشغيل
لا يسمح RFC 6066 بتعيين اسم خادم TLS إلى عنوان IP. سيتم تجاهل هذا في الإصدارات المستقبلية.
DEP0124: استخدام REPLServer.rli
[History]
الإصدار | التغييرات |
---|---|
v15.0.0 | نهاية العمر الافتراضي. |
v12.0.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
هذه الخاصية هي مرجع إلى المثيل نفسه.
DEP0125: require('node:_stream_wrap')
[History]
الإصدار | التغييرات |
---|---|
v12.0.0 | إهمال وقت التشغيل. |
النوع: وقت التشغيل
وحدة node:_stream_wrap
مُهملة.
DEP0126: timers.active()
[History]
الإصدار | التغييرات |
---|---|
v11.14.0 | إهمال وقت التشغيل. |
النوع: وقت التشغيل
تم إهمال timers.active()
غير الموثقة سابقًا. يرجى استخدام timeout.refresh()
الموثقة علنًا بدلاً من ذلك. إذا كان من الضروري إعادة الإشارة إلى مهلة الوقت، فيمكن استخدام timeout.ref()
بدون أي تأثير على الأداء منذ Node.js 10.
DEP0127: timers._unrefActive()
[History]
الإصدار | التغييرات |
---|---|
v11.14.0 | إهمال وقت التشغيل. |
النوع: وقت التشغيل
تم إهمال timers._unrefActive()
غير الموثقة سابقًا و "الخاصة". يرجى استخدام timeout.refresh()
الموثقة علنًا بدلاً من ذلك. إذا كان إلغاء الإشارة إلى مهلة الوقت ضروريًا، فيمكن استخدام timeout.unref()
بدون أي تأثير على الأداء منذ Node.js 10.
DEP0128: الوحدات التي تحتوي على إدخال main
غير صالح وملف index.js
[History]
الإصدار | التغييرات |
---|---|
v16.0.0 | إهمال وقت التشغيل. |
v12.0.0 | وثائق فقط. |
النوع: وقت التشغيل
ستحل الوحدات التي تحتوي على إدخال main
غير صالح (مثل: ./does-not-exist.js
) ولديها أيضًا ملف index.js
في الدليل الرئيسي محل ملف index.js
. هذا مُهمل، وسيؤدي إلى ظهور خطأ في إصدارات Node.js المستقبلية.
DEP0129: ChildProcess._channel
[History]
الإصدار | التغييرات |
---|---|
v13.0.0 | إهمال وقت التشغيل. |
v11.14.0 | وثائق فقط. |
النوع: وقت التشغيل
لم يُقصد استخدام الخاصية _channel
لكائنات عملية الطفل التي تُرجعها الدوال spawn()
وما شابهها للاستخدام العام. استخدم ChildProcess.channel
بدلاً من ذلك.
DEP0130: Module.createRequireFromPath()
[History]
الإصدار | التغييرات |
---|---|
v16.0.0 | نهاية العمر الافتراضي. |
v13.0.0 | إهمال وقت التشغيل. |
v12.2.0 | وثائق فقط. |
النوع: نهاية العمر الافتراضي
استخدم module.createRequire()
بدلاً من ذلك.
DEP0131: محلل HTTP القديم
[History]
الإصدار | التغييرات |
---|---|
v13.0.0 | تمت إزالة هذه الميزة. |
v12.22.0 | إهمال وقت التشغيل. |
v12.3.0 | وثائق فقط. |
النوع: نهاية العمر الافتراضي
محلل HTTP القديم، المستخدم افتراضيًا في إصدارات Node.js السابقة للإصدار 12.0.0، قديم وتم إزالته في الإصدار v13.0.0. قبل الإصدار v13.0.0، يمكن استخدام علم سطر الأوامر --http-parser=legacy
للرجوع إلى استخدام المحلل القديم.
DEP0132: worker.terminate()
مع دالة الاستدعاء العكسي
[History]
الإصدار | التغييرات |
---|---|
v12.5.0 | إهمال وقت التشغيل. |
النوع: وقت التشغيل
مرور دالة الاستدعاء العكسي إلى worker.terminate()
قديم. استخدم Promise
المُرجع بدلاً من ذلك، أو مستمع لحدث 'exit'
الخاص بالعامل.
DEP0133: http
connection
[History]
الإصدار | التغييرات |
---|---|
v12.12.0 | إهمال الوثائق فقط. |
النوع: وثائق فقط
يفضل استخدام response.socket
على response.connection
و request.socket
على request.connection
.
DEP0134: process._tickCallback
[History]
الإصدار | التغييرات |
---|---|
v12.12.0 | إهمال الوثائق فقط. |
النوع: وثائق فقط (يدعم --pending-deprecation
)
لم يتم توثيق الخاصية process._tickCallback
أبدًا كواجهة برمجة تطبيقات مدعومة رسميًا.
DEP0135: WriteStream.open()
و ReadStream.open()
داخليتان
[History]
الإصدار | التغييرات |
---|---|
v13.0.0 | إهمال وقت التشغيل. |
النوع: وقت التشغيل
WriteStream.open()
[/api/fs#class-fswritestream] و ReadStream.open()
[/api/fs#class-fsreadstream] هما واجهات برمجة تطبيقات داخلية غير موثقة لا معنى لاستخدامها في بيئة المستخدم. يجب دائمًا فتح تدفقات الملفات من خلال طرق المصنع الخاصة بها fs.createWriteStream()
[/api/fs#fscreatewritestreampath-options] و fs.createReadStream()
[/api/fs#fscreatereadstreampath-options] أو عن طريق تمرير مُعرّف ملف في الخيارات.
DEP0136: http
finished
[History]
الإصدار | التغييرات |
---|---|
v13.4.0, v12.16.0 | إهمال وثائقي فقط. |
النوع: وثائقي فقط
يشير response.finished
[/api/http#responsefinished] إلى ما إذا كان قد تم استدعاء response.end()
[/api/http#responseenddata-encoding-callback]، وليس ما إذا كان قد تم إصدار 'finish'
وتم تفريغ البيانات الأساسية.
استخدم response.writableFinished
[/api/http#responsewritablefinished] أو response.writableEnded
[/api/http#responsewritableended] بدلاً من ذلك لتجنب الغموض.
للحفاظ على السلوك الحالي، يجب استبدال response.finished
بـ response.writableEnded
.
DEP0137: إغلاق fs.FileHandle
عند جمع القمامة
[History]
الإصدار | التغييرات |
---|---|
v14.0.0 | إهمال وقت التشغيل. |
النوع: وقت التشغيل
يُعتبر السماح بإغلاق كائن fs.FileHandle
[/api/fs#class-filehandle] عند جمع القمامة أمرًا قديمًا. في المستقبل، قد يؤدي القيام بذلك إلى حدوث خطأ يُلقى به سيؤدي إلى إنهاء العملية.
يرجى التأكد من إغلاق جميع كائنات fs.FileHandle
صراحةً باستخدام FileHandle.prototype.close()
عندما لم يعد هناك حاجة إلى fs.FileHandle
:
const fsPromises = require('node:fs').promises
async function openAndClose() {
let filehandle
try {
filehandle = await fsPromises.open('thefile.txt', 'r')
} finally {
if (filehandle !== undefined) await filehandle.close()
}
}
DEP0138: process.mainModule
[History]
الإصدار | التغييرات |
---|---|
v14.0.0 | إهمال في الوثائق فقط. |
النوع: إهمال في الوثائق فقط
process.mainModule
هي ميزة خاصة بـ CommonJS فقط بينما يتم مشاركة كائن process
العام مع بيئة غير CommonJS. استخدامها داخل وحدات ECMAScript غير مدعوم.
لقد تم إهمالها لصالح require.main
، لأنها تخدم نفس الغرض وهي متوفرة فقط في بيئة CommonJS.
DEP0139: process.umask()
بدون وسيطات
[History]
الإصدار | التغييرات |
---|---|
v14.0.0, v12.19.0 | إهمال في الوثائق فقط. |
النوع: إهمال في الوثائق فقط
إن استدعاء process.umask()
بدون وسيطات يتسبب في كتابة قناع العملية (umask) على مستوى العملية مرتين. هذا يقدم حالة سباق بين الخيوط، وهو ثغرة أمنية محتملة. لا يوجد واجهة برمجة تطبيقات بديلة آمنة ومتوافقة مع جميع الأنظمة الأساسية.
DEP0140: استخدم request.destroy()
بدلاً من request.abort()
[History]
الإصدار | التغييرات |
---|---|
v14.1.0, v13.14.0 | إهمال في الوثائق فقط. |
النوع: إهمال في الوثائق فقط
استخدم request.destroy()
بدلاً من request.abort()
.
DEP0141: repl.inputStream
و repl.outputStream
[History]
الإصدار | التغييرات |
---|---|
v14.3.0 | إهمال في الوثائق فقط (يدعم [--pending-deprecation ][]). |
النوع: إهمال في الوثائق فقط (يدعم --pending-deprecation
)
قامت وحدة node:repl
بتصدير تيار الإدخال والإخراج مرتين. استخدم .input
بدلاً من .inputStream
و .output
بدلاً من .outputStream
.
DEP0142: repl._builtinLibs
[History]
الإصدار | التغييرات |
---|---|
v14.3.0 | إهمال في الوثائق فقط (يدعم [--pending-deprecation ][]). |
النوع: إهمال في الوثائق فقط
تقوم وحدة node:repl
بتصدير خاصية _builtinLibs
التي تحتوي على مصفوفة من الوحدات المدمجة. كانت غير كاملة حتى الآن، ومن الأفضل الاعتماد على require('node:module').builtinModules
.
DEP0143: Transform._transformState
[History]
الإصدار | التغييرات |
---|---|
v14.5.0 | إهمال وقت التشغيل. |
النوع: سيتم إزالة Transform._transformState
وقت التشغيل في الإصدارات المستقبلية حيث لم يعد مطلوبًا نظرًا لتبسيط التنفيذ.
DEP0144: module.parent
[History]
الإصدار | التغييرات |
---|---|
v14.6.0, v12.19.0 | إهمال الوثائق فقط. |
النوع: الوثائق فقط (يدعم --pending-deprecation
)
يمكن لوحدة CommonJS الوصول إلى أول وحدة طلبتها باستخدام module.parent
. تم إهمال هذه الميزة لأنها لا تعمل بشكل ثابت في وجود وحدات ECMAScript ولأنها تعطي تمثيلًا غير دقيق لرسوم وحدة CommonJS.
تستخدم بعض الوحدات هذه الميزة للتحقق مما إذا كانت هي نقطة دخول العملية الحالية. بدلاً من ذلك، يُنصح بمقارنة require.main
و module
:
if (require.main === module) {
// قسم التعليمات البرمجية الذي سيتم تشغيله فقط إذا كان الملف الحالي هو نقطة الدخول.
}
عند البحث عن وحدات CommonJS التي طلبت الوحدة الحالية، يمكن استخدام require.cache
و module.children
:
const moduleParents = Object.values(require.cache).filter(m => m.children.includes(module))
DEP0145: socket.bufferSize
[History]
الإصدار | التغييرات |
---|---|
v14.6.0 | إهمال الوثائق فقط. |
النوع: الوثائق فقط
socket.bufferSize
هو مجرد اسم مستعار لـ writable.writableLength
.
DEP0146: new crypto.Certificate()
[History]
الإصدار | التغييرات |
---|---|
v14.9.0 | إهمال الوثائق فقط. |
النوع: الوثائق فقط
تم إهمال مُنشئ crypto.Certificate()
. استخدم الطرق الثابتة لـ crypto.Certificate()
بدلاً من ذلك.
DEP0147: fs.rmdir(path, { recursive: true })
{#dep0147-fsrmdirpath-{-recursive-true-}}
[History]
الإصدار | التغييرات |
---|---|
v16.0.0 | إهمال وقت التشغيل. |
v15.0.0 | إهمال وقت التشغيل للسلوك التسامحي. |
v14.14.0 | إهمال الوثائق فقط. |
النوع: وقت التشغيل
في الإصدارات المستقبلية من Node.js، سيتم تجاهل خيار recursive
لـ fs.rmdir
و fs.rmdirSync
و fs.promises.rmdir
.
استخدم fs.rm(path, { recursive: true, force: true })
أو fs.rmSync(path, { recursive: true, force: true })
أو fs.promises.rm(path, { recursive: true, force: true })
بدلاً من ذلك.
DEP0148: تعيينات المجلدات في "exports"
(شرطة مائلة نهائية "/"
)
[السجل]
الإصدار | التغييرات |
---|---|
v17.0.0 | نهاية العمر الافتراضي. |
v16.0.0 | إهمال وقت التشغيل. |
v15.1.0 | إهمال وقت التشغيل للاستيرادات ذاتية الإشارة. |
v14.13.0 | إهمال وثائق فقط. |
النوع: وقت التشغيل
يُهمل استخدام شرطة مائلة نهائية "/"
لتحديد تعيينات مجلدات المسار الفرعي في حقول تصدير المسار الفرعي أو استيراد المسار الفرعي. استخدم أنماط المسار الفرعي بدلاً من ذلك.
DEP0149: http.IncomingMessage#connection
[السجل]
الإصدار | التغييرات |
---|---|
v16.0.0 | إهمال وثائق فقط. |
النوع: وثائق فقط.
يفضل استخدام message.socket
على message.connection
.
DEP0150: تغيير قيمة process.config
[السجل]
الإصدار | التغييرات |
---|---|
v19.0.0 | نهاية العمر الافتراضي. |
v16.0.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
توفر خاصية process.config
إمكانية الوصول إلى إعدادات وقت تجميع Node.js. ومع ذلك، فإن الخاصية قابلة للتغيير، وبالتالي فهي عرضة للتلاعب. سيتم إزالة إمكانية تغيير القيمة في إصدار مستقبلي من Node.js.
DEP0151: البحث عن الفهرس الرئيسي والبحث عن الامتداد
[السجل]
الإصدار | التغييرات |
---|---|
v16.0.0 | إهمال وقت التشغيل. |
v15.8.0، v14.18.0 | إهمال وثائق فقط مع دعم --pending-deprecation . |
النوع: وقت التشغيل
في السابق، كان البحث عن index.js
و البحث عن الامتدادات يُطبق على حل نقطة دخول import 'pkg'
الرئيسية، حتى عند حل وحدات ES.
مع هذا الإهمال، تتطلب جميع حلول نقطة دخول وحدة ES الرئيسية مدخلاً صريحاً "exports"
أو "main"
مع امتداد الملف الدقيق.
DEP0152: خصائص Extension PerformanceEntry
[السجل]
الإصدار | التغييرات |
---|---|
v16.0.0 | إهمال وقت التشغيل. |
النوع: وقت التشغيل
أنواع الكائنات 'gc'
, 'http2'
, و 'http'
<PerformanceEntry> لديها خصائص إضافية مُعيّنة لها توفر معلومات إضافية. أصبحت هذه الخصائص متاحة الآن داخل خاصية detail
القياسية لكائن PerformanceEntry
. تم إهمال مُحَوِّلات الوصول الحالية ويجب عدم استخدامها بعد الآن.
DEP0153: نوع الإكراه في خيارات dns.lookup
و dnsPromises.lookup
[السجل]
الإصدار | التغييرات |
---|---|
v18.0.0 | نهاية العمر الافتراضي. |
v17.0.0 | إهمال وقت التشغيل. |
v16.8.0 | إهمال وثائقي فقط. |
النوع: نهاية العمر الافتراضي
يؤدي استخدام قيمة غير عدد صحيح غير معدومة لخيار family
، وقيمة غير رقمية غير معدومة لخيار hints
، وقيمة غير منطقية غير معدومة لخيار all
، أو قيمة غير منطقية غير معدومة لخيار verbatim
في dns.lookup()
و dnsPromises.lookup()
إلى إصدار خطأ ERR_INVALID_ARG_TYPE
.
DEP0154: خيارات إنشاء زوج مفاتيح RSA-PSS
[السجل]
الإصدار | التغييرات |
---|---|
v20.0.0 | إهمال وقت التشغيل. |
v16.10.0 | إهمال وثائقي فقط. |
النوع: وقت التشغيل
تم استبدال خيارات 'hash'
و 'mgf1Hash'
بـ 'hashAlgorithm'
و 'mgf1HashAlgorithm'
.
DEP0155: الشرطة المائلة العكسية الأخيرة في حلول محددات الأنماط
[السجل]
الإصدار | التغييرات |
---|---|
v17.0.0 | إهمال وقت التشغيل. |
v16.10.0 | إهمال وثائقي فقط مع دعم --pending-deprecation . |
النوع: وقت التشغيل
تم إهمال إعادة تعيين المُحددات التي تنتهي بـ "/"
مثل import 'pkg/x/'
لحل أنماط "exports"
و "imports"
للحزمة.
DEP0156: خاصية .aborted
وحدث 'abort'
, 'aborted'
في http
[السجل]
الإصدار | التغييرات |
---|---|
v17.0.0, v16.12.0 | إهمال وثائقي فقط. |
النوع: وثائقي فقط
انتقل إلى واجهة برمجة التطبيقات <Stream> بدلاً من ذلك، حيث أن http.ClientRequest
، و http.ServerResponse
، و http.IncomingMessage
كلها تعتمد على الدفق. تحقق من stream.destroyed
بدلاً من خاصية .aborted
، واستمع إلى 'close'
بدلاً من حدث 'abort'
, 'aborted'
.
خاصية .aborted
وحدث 'abort'
مفيدان فقط للكشف عن مكالمات .abort()
. لإغلاق طلب مبكرًا، استخدم Stream
.destroy([error])ثم تحقق من خاصية
.destroyedويجب أن يكون لحدث
'close' نفس التأثير. يجب أن يتحقق الطرف المُستلم أيضًا من قيمة [
readable.readableEnded](/ar/api/stream#readablereadableended) على [
http.IncomingMessage`](/ar/api/http#class-httpincomingmessage) للحصول على ما إذا كان إغلاقًا مُلغى أو إغلاقًا سلسًا.
DEP0157: دعم Thenable في التدفقات
[التاريخ]
الإصدار | التغييرات |
---|---|
v18.0.0 | نهاية العمر الافتراضي. |
v17.2.0, v16.14.0 | إهمال في الوثائق فقط. |
النوع: نهاية العمر الافتراضي
كانت ميزة غير موثقة في تدفقات Node.js هي دعم Thenables في طرق التنفيذ. وقد تم إهمال هذا الآن، استخدم الاستدعاءات العكسية بدلاً من ذلك وتجنب استخدام الدالة غير المتزامنة لطرق تنفيذ التدفقات.
تسببت هذه الميزة في مواجهة المستخدمين لمشاكل غير متوقعة حيث يقوم المستخدم بتنفيذ الدالة بأسلوب الاستدعاء العكسي ولكنه يستخدم، على سبيل المثال، طريقة غير متزامنة من شأنها أن تسبب خطأً لأن مزج معاني الوعد والاستدعاء العكسي غير صالح.
const w = new Writable({
async final(callback) {
await someOp()
callback()
},
})
DEP0158: buffer.slice(start, end)
[التاريخ]
الإصدار | التغييرات |
---|---|
v17.5.0, v16.15.0 | إهمال في الوثائق فقط. |
النوع: وثائق فقط
تم إهمال هذه الطريقة لأنها غير متوافقة مع Uint8Array.prototype.slice()
، وهي فئة عليا لـ Buffer
.
استخدم buffer.subarray
الذي يقوم بنفس الشيء بدلاً من ذلك.
DEP0159: ERR_INVALID_CALLBACK
[التاريخ]
الإصدار | التغييرات |
---|---|
v18.0.0 | نهاية العمر الافتراضي. |
النوع: نهاية العمر الافتراضي
تم إزالة رمز الخطأ هذا نظرًا لإضافة المزيد من الارتباك إلى الأخطاء المستخدمة للتحقق من صحة نوع القيمة.
DEP0160: process.on('multipleResolves', handler)
[التاريخ]
الإصدار | التغييرات |
---|---|
v18.0.0 | إهمال وقت التشغيل. |
v17.6.0, v16.15.0 | إهمال في الوثائق فقط. |
النوع: وقت التشغيل.
تم إهمال هذا الحدث لأنه لم يعمل مع مُجمعات وعود V8 مما قلل من فائدته.
DEP0161: process._getActiveRequests()
و process._getActiveHandles()
[التاريخ]
الإصدار | التغييرات |
---|---|
v17.6.0, v16.15.0 | إهمال في الوثائق فقط. |
النوع: وثائق فقط
لم تكن وظائف process._getActiveHandles()
و process._getActiveRequests()
مخصصة للاستخدام العام ويمكن إزالتها في الإصدارات المستقبلية.
استخدم process.getActiveResourcesInfo()
للحصول على قائمة بأنواع الموارد النشطة وليس مراجعها الفعلية.
DEP0162: الإجبار على تحويل fs.write()
, fs.writeFileSync()
إلى سلسلة نصية
[السجل]
الإصدار | التغييرات |
---|---|
v19.0.0 | نهاية عمر الدعم. |
v18.0.0 | إهمال وقت التشغيل. |
v17.8.0, v16.15.0 | إهمال في الوثائق فقط. |
النوع: نهاية عمر الدعم
حُذِرَ الإجبار الضمني على تحويل الكائنات التي تملك خاصية toString
، والتي تُمرَّر كمعامل ثاني في fs.write()
، fs.writeFile()
، fs.appendFile()
، fs.writeFileSync()
، وfs.appendFileSync()
. حوِّلها إلى سلاسل نصية بدائية.
DEP0163: channel.subscribe(onMessage)
, channel.unsubscribe(onMessage)
[السجل]
الإصدار | التغييرات |
---|---|
v18.7.0, v16.17.0 | إهمال في الوثائق فقط. |
النوع: إهمال في الوثائق فقط
تم إهمال هاتين الطريقتين لأنه يمكن استخدامهما بطريقة لا تبقي مرجع القناة حيًا لفترة كافية لتلقي الأحداث.
استخدم diagnostics_channel.subscribe(name, onMessage)
أو diagnostics_channel.unsubscribe(name, onMessage)
اللذين يقومان بنفس الشيء بدلاً من ذلك.
DEP0164: الإجبار على تحويل process.exit(code)
, process.exitCode
إلى عدد صحيح
[السجل]
الإصدار | التغييرات |
---|---|
v20.0.0 | نهاية عمر الدعم. |
v19.0.0 | إهمال وقت التشغيل. |
v18.10.0, v16.18.0 | إهمال في الوثائق فقط لإجبار تحويل process.exitCode إلى عدد صحيح. |
v18.7.0, v16.17.0 | إهمال في الوثائق فقط لإجبار تحويل process.exit(code) إلى عدد صحيح. |
النوع: نهاية عمر الدعم
حُذِرَت القيم بخلاف undefined
، null
، الأعداد الصحيحة، والسلاسل النصية الصحيحة (مثل '1'
) كقيمة لمعامل code
في process.exit()
وكقيمة لتعيينها إلى process.exitCode
.
DEP0165: --trace-atomics-wait
[History]
الإصدار | التغييرات |
---|---|
v23.0.0 | نهاية العمر الافتراضي. |
v22.0.0 | إهمال وقت التشغيل. |
v18.8.0، v16.18.0 | إهمال وثائقي فقط. |
النوع: نهاية العمر الافتراضي
تم إزالة علم --trace-atomics-wait
لأنه يستخدم خطاف V8 SetAtomicsWaitCallback
، والذي سيتم إزالته في إصدار V8 مستقبلي.
DEP0166: الشرطة المائلة المزدوجة في أهداف الاستيراد والتصدير
[History]
الإصدار | التغييرات |
---|---|
v19.0.0 | إهمال وقت التشغيل. |
v18.10.0 | إهمال وثائقي فقط مع دعم --pending-deprecation . |
النوع: وقت التشغيل
أهداف استيراد وتصدير الحزمة التي يتم تعيينها إلى المسارات التي تتضمن شرطة مائلة مزدوجة ("/" أو "") قديمة وستفشل مع خطأ التحقق من الدقة في إصدار مستقبلي. ينطبق هذا الإهمال نفسه أيضًا على مطابقات الأنماط التي تبدأ أو تنتهي بشرطة مائلة.
DEP0167: مثيلات DiffieHellmanGroup
الضعيفة (modp1
, modp2
, modp5
)
[History]
الإصدار | التغييرات |
---|---|
v18.10.0، v16.18.0 | إهمال وثائقي فقط. |
النوع: وثائقي فقط
مجموعات MODP المعروفة modp1
و modp2
و modp5
قديمة لأنها ليست آمنة ضد الهجمات العملية. راجع RFC 8247 القسم 2.4 للحصول على التفاصيل.
قد تتم إزالة هذه المجموعات في إصدارات Node.js المستقبلية. يجب على التطبيقات التي تعتمد على هذه المجموعات تقييم استخدام مجموعات MODP أقوى بدلاً من ذلك.
DEP0168: استثناء غير معالج في استدعاءات Node-API
[History]
الإصدار | التغييرات |
---|---|
v18.3.0، v16.17.0 | إهمال وقت التشغيل. |
النوع: وقت التشغيل
تم الآن إهمال الكبت الضمني للاستثناءات غير المعالجة في استدعاءات Node-API.
اضبط العلم --force-node-api-uncaught-exceptions-policy
لإجبار Node.js على إصدار حدث 'uncaughtException'
إذا لم يتم التعامل مع الاستثناء في استدعاءات Node-API.
DEP0169: عنوان URL غير آمن url.parse()
[السجل]
الإصدار | التغييرات |
---|---|
v19.9.0، v18.17.0 | تم إضافة دعم لـ --pending-deprecation . |
v19.0.0، v18.13.0 | إهمال وثائقي فقط. |
النوع: إهمال وثائقي فقط (يدعم --pending-deprecation
)
سلوك url.parse()
غير موحد ومعرض لأخطاء لها آثار أمنية. استخدم واجهة برمجة تطبيقات URL WHATWG بدلاً من ذلك. لا يتم إصدار CVEs لثغرات أمان url.parse()
.
DEP0170: منفذ غير صالح عند استخدام url.parse()
[السجل]
الإصدار | التغييرات |
---|---|
v20.0.0 | إهمال وقت التشغيل. |
v19.2.0، v18.13.0 | إهمال وثائقي فقط. |
النوع: وقت التشغيل
يقبل url.parse()
عناوين URL ذات منافذ ليست أرقامًا. قد يؤدي هذا السلوك إلى انتحال اسم المضيف مع إدخال غير متوقع. ستُلقي هذه عناوين URL خطأً في الإصدارات المستقبلية من Node.js، كما تفعل بالفعل واجهة برمجة تطبيقات URL WHATWG.
DEP0171: مُعيّنات لـ http.IncomingMessage
الرؤوس والملحقات
[السجل]
الإصدار | التغييرات |
---|---|
v19.3.0، v18.13.0 | إهمال وثائقي فقط. |
النوع: إهمال وثائقي فقط
في إصدار مستقبلي من Node.js، ستصبح message.headers
، وmessage.headersDistinct
، وmessage.trailers
، وmessage.trailersDistinct
قراءة فقط.
DEP0172: خاصية asyncResource
من الدوال المرتبطة بـ AsyncResource
[السجل]
الإصدار | التغييرات |
---|---|
v20.0.0 | إهمال وقت التشغيل. |
النوع: وقت التشغيل
في إصدار مستقبلي من Node.js، لن يتم إضافة خاصية asyncResource
بعد الآن عند ربط دالة بـ AsyncResource
.
DEP0173: فئة assert.CallTracker
[السجل]
الإصدار | التغييرات |
---|---|
v20.1.0 | إهمال وثائقي فقط. |
النوع: إهمال وثائقي فقط
في إصدار مستقبلي من Node.js، سيتم إزالة assert.CallTracker
. ضع في اعتبارك استخدام بدائل مثل دالة المساعدة mock
.
DEP0174: استدعاء promisify
على دالة تُرجع Promise
[السجل]
الإصدار | التغييرات |
---|---|
v21.0.0 | إهمال وقت التشغيل. |
v20.8.0 | إهمال في الوثائق فقط. |
النوع: وقت التشغيل
استدعاء util.promisify
على دالة تُرجع
DEP0175: util.toUSVString
[السجل]
الإصدار | التغييرات |
---|---|
v20.8.0 | إهمال في الوثائق فقط. |
النوع: إهمال في الوثائق فقط
تم إهمال واجهة برمجة التطبيقات util.toUSVString()
. يرجى استخدام String.prototype.toWellFormed
بدلاً من ذلك.
DEP0176: fs.F_OK
, fs.R_OK
, fs.W_OK
, fs.X_OK
[السجل]
الإصدار | التغييرات |
---|---|
v20.8.0 | إهمال في الوثائق فقط. |
النوع: إهمال في الوثائق فقط
تم إهمال مُعلمات F_OK
, R_OK
, W_OK
و X_OK
المعروضة مباشرةً على node:fs
. احصل عليها من fs.constants
أو fs.promises.constants
بدلاً من ذلك.
DEP0177: util.types.isWebAssemblyCompiledModule
[السجل]
الإصدار | التغييرات |
---|---|
v21.7.0, v20.12.0 | نهاية عمر الخدمة. |
v21.3.0, v20.11.0 | تم تعيين رمز إهمال. |
v14.0.0 | إهمال في الوثائق فقط. |
النوع: نهاية عمر الخدمة
تم إزالة واجهة برمجة التطبيقات util.types.isWebAssemblyCompiledModule
. يرجى استخدام value instanceof WebAssembly.Module
بدلاً من ذلك.
DEP0178: dirent.path
[السجل]
الإصدار | التغييرات |
---|---|
v23.0.0 | إهمال وقت التشغيل. |
v21.5.0, v20.12.0, v18.20.0 | إهمال في الوثائق فقط. |
النوع: وقت التشغيل
تم إهمال dirent.path
نظرًا لافتقارها إلى الاتساق عبر سطور الإصدارات. يرجى استخدام dirent.parentPath
بدلاً من ذلك.
DEP0179: مُنشئ Hash
[السجل]
الإصدار | التغييرات |
---|---|
v22.0.0 | إهمال وقت التشغيل. |
v21.5.0, v20.12.0 | إهمال في الوثائق فقط. |
النوع: وقت التشغيل
تم إهمال استدعاء فئة Hash
مباشرةً باستخدام Hash()
أو new Hash()
نظرًا لكونها عناصر داخلية، وليست مخصصة للاستخدام العام. يرجى استخدام طريقة crypto.createHash()
لإنشاء مثيلات Hash
.
DEP0180: مُنشئ fs.Stats
[السجل]
الإصدار | التغييرات |
---|---|
v22.0.0 | إهمال وقت التشغيل. |
v20.13.0 | إهمال في الوثائق فقط. |
النوع: وقت التشغيل
استدعاء فئة fs.Stats
مباشرةً باستخدام Stats()
أو new Stats()
أمر مُهمل نظرًا لكونه جزءًا داخليًا، وليس مُخصصًا للاستخدام العام.
DEP0181: مُنشئ Hmac
[السجل]
الإصدار | التغييرات |
---|---|
v22.0.0 | إهمال وقت التشغيل. |
v20.13.0 | إهمال في الوثائق فقط. |
النوع: وقت التشغيل
استدعاء فئة Hmac
مباشرةً باستخدام Hmac()
أو new Hmac()
أمر مُهمل نظرًا لكونه جزءًا داخليًا، وليس مُخصصًا للاستخدام العام. يرجى استخدام طريقة crypto.createHmac()
لإنشاء مثيلات Hmac.
DEP0182: علامات المصادقة GCM القصيرة بدون authTagLength
صريح
[السجل]
الإصدار | التغييرات |
---|---|
v23.0.0 | إهمال وقت التشغيل. |
v20.13.0 | إهمال في الوثائق فقط. |
النوع: وقت التشغيل
يجب على التطبيقات التي ترغب في استخدام علامات مصادقة أقصر من طول علامة المصادقة الافتراضية تعيين خيار authTagLength
الخاص بوظيفة crypto.createDecipheriv()
إلى الطول المناسب.
بالنسبة للتشفير في وضع GCM، تقبل وظيفة decipher.setAuthTag()
علامات مصادقة بأي طول صالح (انظر DEP0090). هذا السلوك مُهمل لمواءمة أفضل مع التوصيات وفقًا لـ NIST SP 800-38D.
DEP0183: واجهات برمجة التطبيقات القائمة على محرك OpenSSL
[السجل]
الإصدار | التغييرات |
---|---|
v22.4.0, v20.16.0 | إهمال في الوثائق فقط. |
النوع: إهمال في الوثائق فقط
أهمل OpenSSL 3 دعم المحركات المُخصصة مع توصية بالتحويل إلى نموذج المُوفر الجديد الخاص به. يعتمد خيار clientCertEngine
لـ https.request()
، وtls.createSecureContext()
، وtls.createServer()
؛ وprivateKeyEngine
وprivateKeyIdentifier
لـ tls.createSecureContext()
؛ وcrypto.setEngine()
جميعها على هذه الوظيفة من OpenSSL.
DEP0184: إنشاء مثيلات لصفوف node:zlib
بدون new
[السجل]
الإصدار | التغييرات |
---|---|
v22.9.0، v20.18.0 | إهمال في الوثائق فقط. |
النوع: إهمال في الوثائق فقط
إنشاء مثيلات للصفوف بدون المؤهل new
الذي تم تصديره بواسطة وحدة node:zlib
قديم. يُنصح باستخدام المؤهل new
بدلاً من ذلك. ينطبق هذا على جميع صفوف Zlib، مثل Deflate
، DeflateRaw
، Gunzip
، Inflate
، InflateRaw
، Unzip
، و Zlib
.
DEP0185: إنشاء مثيلات لصفوف node:repl
بدون new
[السجل]
الإصدار | التغييرات |
---|---|
v22.9.0، v20.18.0 | إهمال في الوثائق فقط. |
النوع: إهمال في الوثائق فقط
إنشاء مثيلات للصفوف بدون المؤهل new
الذي تم تصديره بواسطة وحدة node:repl
قديم. يُنصح باستخدام المؤهل new
بدلاً من ذلك. ينطبق هذا على جميع صفوف REPL، بما في ذلك REPLServer
و Recoverable
.
DEP0187: تمرير أنواع وسيطة غير صالحة إلى fs.existsSync
[السجل]
الإصدار | التغييرات |
---|---|
v23.4.0 | وثائق فقط. |
النوع: إهمال في الوثائق فقط
يُعتبر تمرير أنواع وسيطة غير مدعومة قديمًا، وبدلاً من إرجاع false
، سيتم طرح خطأ في إصدار مستقبلي.
DEP0188: process.features.ipv6
و process.features.uv
[السجل]
الإصدار | التغييرات |
---|---|
v23.4.0 | إهمال في الوثائق فقط. |
النوع: إهمال في الوثائق فقط
هذه الخصائص هي true
بشكل غير مشروط. أي عمليات تحقق تعتمد على هذه الخصائص زائدة عن الحاجة.
DEP0189: process.features.tls_*
[السجل]
الإصدار | التغييرات |
---|---|
v23.4.0 | إهمال في الوثائق فقط. |
النوع: إهمال في الوثائق فقط
process.features.tls_alpn
، process.features.tls_ocsp
، و process.features.tls_sni
قديمة، حيث أن قيمها مضمونة لتكون مطابقة لقيمة process.features.tls
.