web-dev-qa-db-ja.com

ASLINTは、TypeScriptインターフェイスに「未使用 - vars」をスローしますか?

だから、私はこのコードを.tsファイルにあります。

_import {MicroEventInterface} from '../Interfaces';

export default class MicroEvent implements MicroEventInterface {

// code
_

そしてESLINTはこのエラーをスローします。

error

私はESLINTのTyptionScriptのためのこの設定を持っています:

_TypeScript: {
    extends: [
        'plugin:@private/private/react' // private rep with React config
    ],
    parser: '@TypeScript-eslint/parser',
    plugins: [
        '@TypeScript-eslint',
        'import'
    ],
    settings: {
        'import/resolver': {
            'node': {
                'extensions': [
                    '.js',
                    '.jsx',
                    '.ts',
                    '.tsx'
                ],
                'moduleDirectory': [
                    'node_modules/',
                    'src/'
                ]
            }
        },
        react: {
            createClass: 'createClass',
            pragma: 'React',
            version: '0.14.9'
        }
    }
}
_

だから、すべてが元気なようですが、このエラーを克服することはできません。

助言がありますか?

ありがとう!

UPD:

I _console.log(_ - --- _, MicroEventInterface);_エラーが消えています。私は、Eslintは実際の使用としてimplementsを扱わないと思います。

23

この問題を純粋なTypeScriptプロジェクトで解決するには、次の規則をESLINT Configファイルに追加しました(.eslintrc.json)。この特定の解決策では、インターフェイス名が大文字の「i」で始まるという規約に従わなければなりません。

ちなみに、他のアーティファクト(すなわちクラス)は、ファイル/モジュールで使用されているかどうかを考慮すると、最初の文字が大文字の「i」であることは無視されます。

Eslint.

...
    "rules": {
        ... other rules omitted ...,
        "no-unused-vars": [
            "warn",
            { 
                "vars": "all",
                "varsIgnorePattern": "[I]\\w+"
            }
        ]
    }
...
 _

この規則の詳細については、 ドキュメント を参照してください。

1
Jason