جاوااسکریپت - ESLint: 8.0.0 بارگذاری افزونه '@typescript-eslint' موفق نشد


میتونی کمکم کنی، وقتی سعی میکنم پروژهای بسازم این خطا رو دریافت میکنم؟

اوه! چیزی اشتباه پیش رفت! :(

ایاسلینت: ۸.۰.۰

TypeError: بارگذاری پلاگین '@typescript-eslint' که در 'src.eslintrc' اعلام شده است شکست خورد: کلاس، مقدار undefined را گسترش میدهد و یک سازنده یا null نیست. ارجاع شده از: src.eslintrc

پکیج.جیاساِن

    "devDependencies": {
        "@typescript-eslint/eslint-plugin": "^4.33.0",
        "@typescript-eslint/parser": "^4.33.0",
        "browserslist": "^4.17.3",
        "eslint": "^8.0.0",
        "eslint-config-prettier": "^8.3.0",
        "eslint-plugin-import": "^2.24.2",
        "eslint-plugin-prettier": "^4.0.0",
        "eslint-plugin-react": "^7.26.1",
        "prettier": "^2.3.2",
    }

.eslintrc

    "parser": "@typescript-eslint/parser",
    "extends": [
        "eslint:recommended",
        "plugin:@typescript-eslint/eslint-recommended",
        "plugin:@typescript-eslint/recommended",
        "plugin:react/recommended",
        "plugin:@typescript-eslint/recommended",
        "plugin:prettier/recommended",
        "prettier"
    ],
    "plugins": ["@typescript-eslint"],

پاسخ شماره ۱

من این کار را انجام دادم و برای من کاملاً خوب کار کرد

"@typescript-eslint/eslint-plugin": "^5.0.0",
"@typescript-eslint/parser": "^5.0.0",
"eslint": "^8.1.0",

آن سه بسته را بهروزرسانی کن

سپس این دستور را در ریشه پروژه خود اجرا کنید تا بستهها بهروز شوند

npm i

و به خوبی کار خواهد کرد

پاسخ شماره ۲

احتمالاً یک مشکل سازگاری ESM با یکی از بستهها وجود دارد، بنابراین یا باید مطمئن شوید که تمام وابستگیهای شما با ESM سازگار هستند یا eslint را به نسخه 7.32.0 قفل کنید و افزونهها را ارتقا دهید (همچنین توصیه میکنم typescript را به وابستگیهای توسعهای خود اضافه کنید):

  "devDependencies": {
    ...
    "@typescript-eslint/eslint-plugin": "^5.6.0",
    "@typescript-eslint/parser": "^5.6.0",
    "eslint": "^7.32.0",
    "typescript": "^4.4.3"
  }

برای دستیابی به این میتوانید اجرا کنید:

npm i --save-dev typescript @typescript-eslint/[email  @typescript-eslint/[email  [email 

قسمت --save-dev برای نصب آنها به عنوان وابستگیهای توسعه است زیرا آنها به جز برای ساخت و توسعه الزامی نیستند

پاسخ شماره ۳

این خطا را هنگام تلاش برای استفاده از نسخه 4.x.x بستهcهای @typescript-eslint مشاهده کردم:

  "devDependencies": {
    ...
    "@typescript-eslint/eslint-plugin": "^4.29.1",
    "@typescript-eslint/parser": "^4.29.1",
    ...
}

راهحل این بود که اینها را به نسخه "^5.3.1" بهروزرسانی کنیم