Я хочу добавить @typescript-eslint/no-floating-promises
к своим правилам ESLint и испытываю трудности.
Это требует parserOptions
.
Вот мой .eslintr c. js :
module.exports = {
root: true,
parser: '@typescript-eslint/parser',
parserOptions: {
ecmaVersion: 2017,
project: './tsconfig.json'
},
plugins: [
'@typescript-eslint',
],
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/eslint-recommended',
'plugin:@typescript-eslint/recommended',
'prettier'
],
rules: {
'@typescript-eslint/no-floating-promises': ['error'],
'@typescript-eslint/no-explicit-any': 'off'
}
};
и мой tsconfig. json:
{
"compilerOptions": {
"target": "ES2017",
"lib": ["ES2017"],
"module": "commonjs",
"declaration": true,
"outDir": "lib",
"removeComments": true,
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"moduleResolution": "node",
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true
},
"include": ["src/**/*"],
"exclude": ["src/**/*.spec.ts"]
}
Подвох exclude
. Я не хочу, чтобы мои тесты (спецификации) были скомпилированы в outDir
. Но это вызывает следующую ошибку, когда я запускаю ESLint:
error Ошибка синтаксического анализа: «parserOptions.project» был установлен для @ typescript-eslint / parser. Файл не соответствует конфигурации вашего проекта: src / index.spe c .ts. Файл должен быть включен как минимум в один из предоставленных проектов
(Сценарий "lint": "eslint \"src/**/*.ts\""
)
I do хочу задержать мои тесты.
Все работало нормально, пока я не добавил parserOptions
- и мне нужно это для правила no-floating-promises
.
В FAQ по машинописному тексту написано:
Чтобы это исправить, просто убедитесь, что опция include в вашем tsconfig включает в себя каждый файл, который вы хотите скопировать.
Суть в том, что я создаю библиотеку, и я не Я не хочу публиковать sh тестовые файлы.
Как я могу собрать только файлы, которые я хочу опубликовать sh, в один каталог, в то же время помечая все файлы? (Я бы хотел сделать сборку максимально простой.)