Hoy ejecuto eslint, dos scripts
"lint-staged": "lint-staged", "eslint": "eslint --ext .tsx,.ts --fix ./src -c .eslintrc.js", Cuando ejecuto npm run eslint // está bien Cuando ejecuto npm run lint-staged // está mal
resultado de lint-staged;
> lint-staged ❯ Running tasks for src/**/*.tsx ✖ eslint --fix [FAILED] ◼ git add ✖ eslint --fix : Oops! Something went wrong! :( ESLint: 7.10.0 Error: Error while loading rule '@typescript-eslint/dot-notation': You have used a rule which requires parserServices to be generated. You must therefore provide a value for the "parserOptions.project" property for @typescript-eslint/parser. Occurred while linting /Users/***/components/BrowserInfo/Index.tsx at Object.getParserServices (/Users/fugang/workspace/xinao/channel-desk/node_modules/_@typescript-eslint_experimental-utils@4.3.0@@typescript-eslint/experimental-utils/dist/eslint-utils/getParserServices.js:26:15)En el paquete de pelusa por etapas
¿Lo que pasó?
"lint-staged": { "src/**/*.tsx": [ "eslint --fix -c .eslintrc.js", "git add" ] },Debe agregar la siguiente configuración a su archivo .eslint.json
{ "parserOptions": { ... "project": ["path/to/your/tsconfig/file"] ... }, }En caso de que alguien que esté usando .eslintrc.yml pueda usar lo siguiente para solucionar el problema anterior
extends: - airbnb-typescript parserOptions: project: - tsconfig.json PD: tsconfig.json está en la carpeta raíz, cámbielo para que coincida con su ubicación en caso de que no esté en la carpeta raíz.