reactjs - Eslint hitta men hoppa över .tsx-filer


Jag skulle vilja börja använda eslint på mina .tsx-filer.
Min konfiguration ser ut så här:

module.exports = {
    'env': {
        'browser': true,
        'es2021': true
    },
    'settings': {
        'react': {
            'version': 'detect'
        }
    },
    'extends': [
        'eslint:recommended',
        'plugin:react/recommended',
        'plugin:@typescript-eslint/recommended'
    ],
    'parser': '@typescript-eslint/parser',
    'parserOptions': {
        'ecmaFeatures': {
            'jsx': true
        },
        'ecmaVersion': 12,
        'sourceType': 'module'
    },
    'plugins': [
        'react',
        '@typescript-eslint'
    ],
    'rules': {
        'indent': [
            'error',
            'tab'
        ],
        'linebreak-style': [
            'error',
            'unix'
        ],
        'quotes': [
            'error',
            'single'
        ],
        'semi': [
            'error',
            'never'
        ]
    }
}

Om jag har en fil med filändelsen .ts och kör detta kommando:
yarn eslint ./src/components/Frame.ts
... kan jag få en lista över lintningsfel.

Om jag ändrar filtillägget till .tsx och kör detta kommando på det:
yarn eslint ./src/components/Frame.tsx
... får jag inget meddelande alls. Ingen fel eller varning eller något. Det är som om filen skulle vara giltig.

I min VSCode har jag ESLint-tillägget. Det fungerar. Det markerar problemen. Såvitt jag vet använder detta tillägg samma .eslintrc-fil så konfigurationen borde vara bra.

Kan du ge någon idé om varför konfigurationen fungerar med tillägget och varför den inte fungerar i terminalen?

Svar #1

Problemet är hur du kör es-lint För närvarande kontrollerar @typescript-eslint inte .tsx som standard, du måste specificera vilka tillägg som behöver kontrolleras, till exempel

yarn eslint --ext=ts,tsx src

Detta kommando kommer att söka efter alla filer som slutar med .ts eller .tsx i src-mappen och @typescript-eslint kommer att fungera som förväntat med .ts eller .tsx

yarn eslint src/**/*.ts src/**/*.tsx

Detta kommando kommer att söka efter alla filer som slutar med .ts eller tsx i src-mappen men, @typescript-eslint kommer bara att fungera på .ts och kommer att ignorera .tsx

yarn eslint ./src/components/Frame.tsx

Detta kommando du försökte köra kommer att fungera på samma sätt som det andra kommandot yarn eslint src/**/*.ts src/**/*.tsx men, det kommer att söka efter ./src/components/Frame.tsx