eslint → Проблема запуска eslint в монорепозитории
В монорепозитории с UI китом(stencil/typescript) столнулся с проблемой, что запуск eslint на весь репозиторий падает с ошибкой. Как запуск из консоли, так и запуск через husky.
Ошибка при запуске через husky:
./node_modules/.bin/eslint --fix was terminated with SIGABRT
Ошибка при запуске через консоль:
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
Оказывается проблема, в том, что eslint пытается загрузить в себя все конфигурации проектов, и у него заканчивается память…
Решить эту проблемы предлагаеться с помощью workaround, то бишь костыля, по нашему. Сделать отдельный tsconfig для eslint и указать его в eslintrc
В моем случае это, создание файла tsconfig.eslint.json в корне монорепы:
{
"extends": "./tsconfig.json",
"include": ["packages/**/*"]
}
И указание этого файла в конфигурации eslint, файл .eslintrc, параметр parserOptions.project
И все, заработало!
Источник: https://github.com/typescript-eslint/typescript-eslint/issues/1192#issuecomment-553259601