Недавно в нашем проекте мы перешли на использование @typescript-eslint/parser
для медленной миграции из tslint. В основном все было гладко, но у меня есть небольшая проблема / вопрос, который я не могу решить.
Нужно ли указывать игнорирование файлов / шаблонов в массиве исключений tsconfig, а также в ignorePatterns на .eslintrc
объекте экспорта? В чем разница?
У нас есть файл сообщений. js в нашей директории src/lang
, который я пытаюсь игнорировать, но в настоящее время выдает ошибку lint в нашей ловушке перед фиксацией, что заставляет меня задуматься об этом вопросе и о том, как эти две установки работают вместе.
Parsing error: "parserOptions.project" has been set for '@typescript-eslint/parser'
The file does not match your project config: src/lang/messages.js. The file must be included in at least one of the projects provided
Я думаю, что мое понимание этих взаимосвязей не так, как при запуске eslint, я думал, что parserOptions подхватит проект правила из tsconfig, где исключены файлы js.
В настоящее время разделы, о которых я говорю в нашем eslintr c, выглядят так:
module.exports = {
parser: '@typescript-eslint/parser',
parserOptions: {
project: path.resolve(__dirname, './tsconfig.json'),
tsconfigRootDir: __dirname,
useJSXTextNode: true,
sourceType: 'module',
ecmaFeatures: {
modules: true,
jsx: true,
},
},
ignorePatterns: ['node_modules/**', '.storybook/**', 'src/stories/**', '*.scss', '*.js'] // ignoring here works
tsconfig :
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
"exclude": ["node_modules", "src/**/*.js"], // exclude here doesn't work.
пакет. json:
"scripts": {
"lint": "tsc --project ./tsconfig.json --noEmit && eslint --ext=jsx,ts,tsx src"
},