Почему ESLint выбрасывает «no-unused-vars» для интерфейса TypeScript? - PullRequest
1 голос
/ 23 апреля 2019

Итак, у меня есть этот кусок кода в файле .ts:

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

export default class MicroEvent implements MicroEventInterface {

// code

И ESLint выдает эту ошибку:

error

У меня есть этот конфиг для TypeScript в ESLint:

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 как фактическое использование.

1 Ответ

1 голос
/ 25 апреля 2019

Я считаю, что правильным способом решения этой проблемы является объявление вашего интерфейса.

declare interface Foo {}

в отдельном файле вместе с другими типами, например Foo.d.ts

Ипосле этого правильно сконфигурируйте ваш компилятор машинописного текста для получения всех объявлений.

См .: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html

Раздел: @ types, typeRoots и types

После этого вы сможете использовать все ваши объявления типов и интерфейсы без явного импорта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...