ESLint - «no-unused-vars» بر روی پارامترهای تابع درون تایپها/اینترفیسهای TypeScript


من در حال حاضر یک هشدار eslint در مورد پارامترهای تابع داخل Types یا Interfaces دریافت میکنم.

انجام موارد زیر:

type Test = {
  fn: (param: string) => void
}

نتایج در هشدار زیر:

'param' is defined but never used. Allowed unused args must match /^_/u.

این چیزی است که .eslintrc.json من به این شکل است:

{
  "root": true,
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "project": "tsconfig.json"
  },
  "env": {
    "node": true
  },
  "plugins": ["@typescript-eslint"],
  "extends": [
    "eslint:recommended",
    "plugin:@typescript-eslint/eslint-recommended",
    "plugin:@typescript-eslint/recommended",
    "plugin:prettier/recommended"
  ],
  "rules": {
    "@typescript-eslint/interface-name-prefix": "off",
    "@typescript-eslint/explicit-function-return-type": "off",
    "@typescript-eslint/explicit-module-boundary-types": "off"
  }
}

نسخههای بسته:

"eslint": "^7.23.0"
"@typescript-eslint/eslint-plugin": "^4.22.1"
"@typescript-eslint/parser": "^4.22.1"

سؤالات مشابه قبلاً اینجا و اینجا پرسیده شدهاند، اما پاسخهای ارائه شده به نظر نمیرسد برای من کارساز باشند.

هر پیشنهادی در مورد اینکه ممکن است چه اتفاقی بیفتد دارید؟

پاسخ شماره ۱

من این مشکل را به این صورت حل کردهام، این دو خط را در قوانین فایل پیکربندی eslint قرار دهید.

"no-unused-vars": "off",
"@typescript-eslint/no-unused-vars": ["error"]

پاسخ شماره ۲

شما میتوانید قانون no-unused-vars را طوری تنظیم کنید که آرگومانهایی با نام param را نادیده بگیرد، با اضافه کردن این خط به قوانین .eslintrc.json خود: "no-unused-vars": ["error", { "argsIgnorePattern": "params"}]. مستندات را ببینید: https://eslint.org/docs/latest/rules/no-unused-vars#argsignorepattern