Требуется помощь в получении ошибок типа, сообщенных компилятором TypeScript, в выходные данные ESLint. Библиотека typcript-eslint (https://github.com/typescript-eslint/typescript-eslint/blob/master/docs/getting-started/linting/TYPED_LINTING.md) заставляет меня думать, что это возможно.
Структура файла
src/
... source files
tsconfig.json
test/
... testing files
.eslintrc.js
package.json
tsconfig.json (symlink to src/tsconfig.json)
.eslintr c. js
module.exports = {
'env': {
'jest': true,
'node': true,
},
'extends': [
'airbnb-typescript/base',
'plugin:@typescript-eslint/eslint-recommended',
'plugin:@typescript-eslint/recommended',
'plugin:@typescript-eslint/recommended-requiring-type-checking',
'plugin:jest/recommended',
],
'parser': '@typescript-eslint/parser',
'parserOptions': {
'project': ['./tsconfig.json'],
'tsconfigRootDir': __dirname,
},
'plugins': [
'@typescript-eslint',
'jest',
],
'root': true,
};
пакет. json
{
"name": "...",
"version": "...",
"description": "...",
"scripts": {},
"devDependencies": {
"@types/jest": "^25.1.3",
"@typescript-eslint/eslint-plugin": "^2.21.0",
"@typescript-eslint/parser": "^2.21.0",
"eslint": "^6.8.0",
"eslint-config-airbnb-typescript": "^7.0.0",
"eslint-plugin-import": "^2.20.1",
"eslint-plugin-jest": "^23.8.1",
"jest": "^25.1.0",
"nock": "^12.0.2",
"ts-jest": "^25.2.1"
},
"dependencies": {
"@types/node": "^13.7.7",
"aws-sdk": "^2.630.0",
"jsonschema": "^1.2.5",
"typescript": "^3.8.3"
}
}
Вывод ESLint пустой - без ошибок - но при запуске Компилятор TypeScript, для сборки проекта, сообщается много ошибок; например:
src/file.ts:xx:xx - error TS2339: Property 'body' does not exist on type 'object'.
src/file.ts:xx:xx - error TS2314: Generic type 'Promise<T>' requires 1 type argument(s).
src/filets:xx:xx - error TS7006: Parameter 'err' implicitly has an 'any' type.
Я что-то упустил в конфигурации или это неправильно? Или это не то, что на самом деле возможно?
Я хотел бы получать отчеты об ошибках через ESLint, потому что в редакторе отображаются ошибки linting, когда я работаю над проектом. Я использую Atom (https://atom.io/), но я также хотел бы, чтобы это работало для VSCode и, возможно, VIM; Члены команды предпочитают разных редакторов.