ESLint: установить пользовательский форматер в.eslintrc.js
Я использую Create-реакции-приложение с Craco (Create-React-App-Configuration-Override)
Крако не очень экзотичен. Это просто позволяет мне использовать мой собственный файл eslintrc с create-реагировать-приложение.
Я пытаюсь использовать пользовательский форматтер eslint, в частности https://www.npmjs.com/package/eslint-formatter-friendly делает то, что мне нужно (ссылка на файлы по номерам строк через терминалы iTerm/Guake), но есть много альтернативных форматеров: http://npmsearch.com/?q=eslint-formatter
Я пытался установить format: 'unix'
или же formatter: 'unix'
в моем файле.eslintrc.js - но это не сработало, eslint явно выдал ошибку, сказав что-то вроде "нераспознанное свойство верхнего уровня".
1 ответ
Я искал способ указать форматер в файле.eslintrc.js, но понял, что это не вариант. После поиска и сканирования в источнике gulp-eslint, eslint-grunt и grunt-eslint, в конце концов я более внимательно изучил источник для craco - где читается небольшая конфигурация eslint: https://github.com/sharegate/craco/blob/master/recipes/use-an-eslintrc-config-file/craco.config.js
Источник, который обрабатывает это: https://github.com/sharegate/craco/blob/master/packages/craco/lib/features/webpack/eslint.js
Все, что мне нужно было сделать, это использовать этот craco.config.js:
/* globals module */
const { ESLINT_MODES } = require("@craco/craco");
const reactHotReloadPlugin = require('craco-plugin-react-hot-reload');
module.exports = {
plugins: [{
plugin: reactHotReloadPlugin
}],
eslint: {
mode: ESLINT_MODES.file,
loaderOptions: {
formatter: require("eslint-formatter-friendly")
}
},
};