ESLint:在.eslintrc.js中设置自定义格式化程序

时间:2019-08-18 18:21:12

标签: create-react-app eslint eslintrc eslint-loader craco

我正在将create-react-app与craco(Create-React-App-Configuration-Override)配合使用

Craco不是很异国情调。它只是允许我use my own eslintrc file with create-react-app

我正在尝试使用自定义的eslint格式化程序,特别是eslint-formatter-friendly可以满足我的需要(通过iTerm / Guake终端链接到行号的文件),但是还有很多其他格式化程序:http://npmsearch.com/?q=eslint-formatter

我尝试在.eslintrc.js文件中设置format: 'unix'formatter: 'unix'-但这没有用,eslint明确给出了一个错误,提示诸如“无法识别的顶级属性”之类的内容。 / p>

1 个答案:

答案 0 :(得分:0)

我正在寻找可以在.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")
        }
    },
};