#eslint
#eslint
Вопрос:
У меня есть следующие сценарии и правила eslint в моем package.json:
"scripts": {
"build": "tsc",
"test": "jest tests/** --coverage",
"lint": "eslint './src/**/*.{js,ts,tsx}' --quiet --fix",
"prettier": "prettier --check './**/*.ts'",
"prettier-format": "prettier --config .prettierrc './**/*.ts' --write"
...
},
"lint-staged": {
"**/*.{js,jsx,ts,tsx}": [
"prettier --config .prettierrc './**/*.ts' --write",
"prettier --check './**/*.ts'",
"eslint './src/**/*.{js,ts,tsx}' --quiet --fix"
]
},
"pre-commit": [
"lint-staged"
],
Когда я запускаю npm run lint
, я не получаю никаких ошибок. Но когда запускается мой хук предварительной фиксации, я получаю сообщение об ошибке в .eslintrc.js
файле:
/.../api/.eslintrc.js
1:15 error Require statement not part of import statement @typescript-eslint/no-var-requires
Строка кода, на которую он ссылается, имеет следующее:
const _path = require('path');
Я знаю, что могу использовать код, чтобы заставить eslint игнорировать это. Но я не понимаю, почему eslint анализирует .eslintrc.js
в первую очередь, поскольку он не находится в src
папке (он находится в корневой папке на том же уровне package.json
).
Комментарии:
1. lint-staged не использует сценарий lint, который вы определили, он не знает, что вы хотите охватить только src. Используйте .eslintignore для более согласованного поведения.