Игнорируйте файлы * .js и * .jsx с помощью tsconfig.json - PullRequest
0 голосов
/ 23 октября 2018

Вот что мы попробовали:

{
  "compilerOptions": {
    "target": "esnext",
    "moduleResolution": "node",
    "allowJs": true,
    "jsx": "react"
  },
  "include": [
    "src/**/*"
  ],
  "exclude": [
    "src/**/*.js",
    "src/**/*.jsx",
  ]
}

Когда мы запускаем tsc из командной строки, компилятор находит ошибки в файлах jsx и js.Например, мы видим эти ошибки.

src/components/foo/barHeaderStateOverview.jsx:90:46 
    - error TS8010: 'types' can only be used in a .ts file.

90   generateArbitraryData = (id: string, data: {path: string, title: string}) => {
                                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

src/components/foo/barHeaderStateOverview.jsx:101:65 
    - error TS1005: ',' expected.

101     const arbitrary = this.generateArbitraryData('weight', data : (string | number));

Возможно, проблема связана с этим поведением компилятора :

... если на файл B.ts ссылается другой файл A.ts, тогда B.ts нельзя исключить, если в списке «exclude» также не указан ссылочный файл A.ts.

Некоторые из наших файлов * .ts действительно импортируют * .js и *файлы .jsx.Есть ли способ сказать компилятору не проверять тип файлов * .js и * .jsx, которые импортирует файл * .ts?

...