جافاسكريبت - Eslint 8.0.1 - تنفيذ jest في الإعداد يسبب خطأ
في مشروعي الذي يستخدم Next/React/Typescript/Jest، أحاول تكوين إعدادات eslint الخاصة بي. بعد التحديث إلى الإصدار 8.x (حاليًا 8.0.1)، يعرض linter الخطأ التالي:
Error: .eslintrc.js » ./eslint/config.js:
Environment key "jest/globals" is unknown
ثم قمت بإضافة 'plugin:jest/recommended' إلى مصفوفة extends في config.js الخاص بي، مما أدى بي إلى هذا الخطأ:
TypeError: Failed to load plugin 'jest' declared in '.eslintrc.js » ./eslint/config.js': Class extends value undefined is not a constructor or null
تم تثبيت الإضافة وهي موجودة داخل package.json الخاص بي. حتى عدة أوامر npm ci لم تفدني هنا.
سأكون ممتنًا للأفكار!
الإجابة رقم 1
هل تستخدم أي إضافات eslint أخرى؟ إذا كان الأمر كذلك، هل حذرّك npm من أي مشكلات في تبعيات الأقران؟
لقد واجهت نفس المشكلة عند الترقية إلى eslint v8.0.1. في حالتي، كان أحد الإضافات التي أدرجتها نسخة أقدم من @typescript-eslint/eslint-plugin كاعتماد مباشر (@typescript-eslint/eslint-plugin هو أيضًا اعتماد نظير لـ eslint-plugin-jest). هذه النسخة الأقدم من @typescript-eslint/eslint-plugin لم تكن متوافقة مع eslint v8.0.1. لذلك قررت التراجع إلى النسخة v7.32.0.
إذا كان لديك السيطرة على الإضافات الأخرى التي تستخدمها، فقد تقوم بترقية التبعيات الخاصة بها ونشر إصدار جديد. أما إذا لم يكن كذلك، فربما سيتعين عليك خفض إصدار eslint في مشروعك.