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
