Libsass: طلب الميزة:: أضف علامة لإيقاف تحذيرات الإهمال

تم إنشاؤها على ٣١ يناير ٢٠١٩  ·  10تعليقات  ·  مصدر: sass/libsass

منذ الإصدار 4.9 من node-sass ، يظهر التحذير الحالي في الكثير من المشاريع. ( قد ترى مشكلة مفتوحة تطلب طريقة لإسكات التحذير هنا )

DEPRECATION WARNING: Passing a string to call() is deprecated and will be illegal
in Sass 4.0. Use call(get-function("variable-exists")) instead.

التحذير على ما يرام وأود أن أصلح جميع وظائفي المهملة ولكن لا يمكنني ذلك ، والسبب الرئيسي هو أنني لا أعرف حتى المكتبة التي بها المشكلة ... (ليس الرمز الخاص بي) أنا فهم الحاجة إلى إجبار الجميع على تحديث الأشياء المهملة ، لكن هذا غير ممكن. أعتقد أن كل مطور مسؤول عن تطبيقه الخاص وأن المخاطرة بأن تصبح قديمة بمفرده ، فأنا أقبل المسؤولية :)

وهكذا ... فإن طلب الميزة هذا هو إضافة علامة في مكان ما بطريقة ما يمكن تشغيل / إيقاف تشغيل DEPRECATION WARNINGS

لقد حاولت بالفعل عن طريق الخطأ إضافة متغير بيئة في مشروع node- sass ، لكن libsass ، لكن xzyfer أخبرني أن الحل المقبول لإسكات الإيقاف التحذيرات هي إصلاح الكود المهمل ، حتى لو اعتقدت أن الكود ينتمي إلى مكتبة شخص آخر.

  • يمكنك رؤية الكود لإضافة العلم المتاح بالفعل في PR-2587 من مشروع node-sass ، ليس كثيرًا.
  • أيضًا المشكلة المفتوحة بخصوص هذا الأمر هي 2334 (أيضًا من مشروع node-sass).

ال 10 كومينتر

أعتقد أن لدي حلًا قياسيًا أكثر ، ما رأيكم جميعًا في تنفيذ مستويات السجل ؟؟ (مثل log4j ، winston ، إلخ).

من فضلك أخبرني إذا كنت توافق أكثر على هذا :) (لذلك سأقوم بتعديل عنوان FR هذا)

لن نضيف مستويات تسجيل ولن نقوم بتمكين إسكات تحذيرات الإيقاف. هذه التحذيرات مهمة للغاية بالنسبة لرمز المستخدم لمواصلة العمل.

ومع ذلك ، فإننا نفكر في الحلول التي تسهل العثور على الكود باستخدام سلوك مهمل.

شكرًا لك على الرد على جميع مخاوفي بخصوص هذاxzyfer ... راجع للشغل ، لقد وجدت المكتبة التي بها المشكلة ، لذا فإن الإصلاح قيد التقدم بالنسبة لي: +1:

وهكذا ... أعتقد أن أي شخص آخر يستخدم الحالات ، فسيتعين عليه الانتظار حتى يقرر مالكو المكتبة إصلاح الأشياء المهملة (...)

يرجى تذكر أن هذه التحذيرات ليست مهمة للغاية لمواصلة عملنا كمطورين ... إذا كانت كذلك ، فسيتم إلقاء خطأ بدلاً من تحذير.

نهج بديل يمكن أن يكون https://github.com/sass/libsass/pull/2862 ...

هذا مهم حقًا. أتلقى حاليًا العشرات من نفس الخطأ.

DEPRECATION WARNING on line 29 of sass/elements/image.sass:
#{} interpolation near operators will be simplified in a future version of Sass.
To preserve the current behavior, use quotes:

  unquote("image_size_#{$size}")

بشيء من هذا القبيل

+_(image_size_#{$size})

لست متأكدًا حتى من المشغل الذي تشير إليه ، لكنني أفضل التغيير إلى "الإصدار المبسط" عندما يتعلق الأمر بدلاً من كتابة هذا البديل الفظيع.

هذه التحذيرات مهمة للغاية بالنسبة لرمز المستخدم لمواصلة العمل.

نعم أوافق xzyfer ، لكنني قرأت بالفعل هذه التحذيرات وأريد وضعها جانباً في الوقت الحالي والتركيز على أشياء أخرى ، لكن لا يمكنني ذلك لأن هذه التحذيرات تملأ الجهاز بالكامل

لا توجد نية لدعم هذا في هذا الوقت. تحذير الاستنكار مهم للغاية بالنسبة لنا في تطوير اللغة. إن تحذير الإيقاف هو مجرد تأجيل للألم عند إدخال التغيير الفاصل الذي سيستمتع متتبع المشكلات الخاص بنا بالفيضان. لإزالة تحذير الرجوع إلى إصدار أقدم من Libsass الذي يسبق تقديم التحذير.

التحذيرات مفيدة فقط عند قراءتها لأول مرة. إذا قام شخص ما بإيقاف تشغيلها لأنه قرأها بالفعل وتعب منها وبالتالي فهو على دراية بها ، فإن إظهارها مرة أخرى لن يحدث أي فرق ، وسيعرفون في المستقبل سبب تعطلها.
إن عدم السماح للناس بالضغط على هذه التحذيرات لا يساعد أي شخص ، إنه أمر مزعج فقط.

كما أن التحذير يدور حول كيف سيصبح أكثر بساطة والحل الذي يقدمه لجعله أكثر تعقيدًا.
يمكنك معرفة سبب عدم رغبة شخص ما في متابعة هذا الاقتراح ، خاصةً عند استخدامه في جميع أنحاء مشروعي

xzyfer لديك نقطة جيدة في هذا !! أنا أتفق معك :)

تحذير إهمال كتم الصوت هو مجرد تأجيل للألم عندما يتم إدخال التغيير العاجل الذي سيستمتع متتبع المشكلات لدينا بالفيضان

ومع ذلك أعتقد أنه لا يزال بإمكاننا إيجاد حل !! بالنسبة لمعظم المطورين يشكون من هذا. السبب الرئيسي هو هذا الجزء (كما قال luaVolk ):

أتلقى حاليًا العشرات من نفس الخطأ.

ما رأيك في اختزال كل تلك التحذيرات إلى واحدة فقط ؟؟ في حالتي عندما فتحت طلب الميزة هذا ، كنت أتلقى حوالي 100 ألف + تحذير. أعتقد أنه يمكنك إزالة جميع "التحذيرات التفصيلية" وطباعة:

Your libsass implementation is deprecated and will be illegal in Sass 4.0, for more details try '--libsass-verbose'.

وربما تضيف:

The following errors were found:
> 12 errors found: #{} interpolation near operators will be simplified in a future version of Sass
> 4 errors found: Passing a string to call() is deprecated and will be illegal
in Sass 4.0. Use call(get-function("variable-exists")) instead.

أو شيء من هذا القبيل ... أتمنى أن تحصل على الفكرة ، ما رأيكxzyfer؟

أعتقد أن تعليقي الأخير يستحق أن يكون مُدارًا كطلب ميزة مختلف (؟)

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات