1.1.11 • Published 4 years ago

eslint-config-mcfe v1.1.11

Weekly downloads
1
License
MIT
Repository
github
Last release
4 years ago

eslint-config-mcfe

美菜eslinit 规范集

安装

npm i -D eslint-config-mcfe

使用

// eslintrc.js 
module.exports = {
    extends: [
        //添加指定对应文件 如'mcfe/react-native' 目前有 react、react-native、vue、typescript、默认标准配置 index 
        'mcfe'
    ],
    globals: {
        // 这里填入你的项目需要的全局变量
        // 这里值为 false 表示这个全局变量不允许被重新赋值,比如:
        //
        // jQuery: false,
        // $: false
    },
    rules: {
        // 这里填入你的项目需要的个性化配置,比如:
      	// // 推荐使用 prettier
        // 'prettier/prettier': 'error' 
        // // 一个缩进必须用两个空格替代
        // 'indent': [
        //     'error',
        //     4,
        //     {
        //         SwitchCase: 1,
        //         flatTernaryExpressions: true
        //     }
        // ]
    }
};

规则列表

名称包含规则解析器
标准规则ESLint 规则babel-eslint
ReactESLint 规则、eslint-plugin-reactbabel-eslint
VueESLint 规则、eslint-plugin-vuevue-eslint-parser
TypeScriptESLint 规则、@typescript-eslint@typescript-eslint/parser
TypeScript ReactESLint 规则、@typescript-eslint、eslint-plugin-react@typescript-eslint/parser
TypeScript ReactESLint 规则、airbnb、@react-native-community、 prettier/recommendedbabel-eslint

配置原则

  1. 推荐使用 prettier ,和 prettier 冲突的规则关闭
  2. 综合已有项目规则,对现有的通用配置做了一些调整
  3. 能够帮助发现代码错误的规则,全部开启
  4. 配置不应该依赖于某个具体项目,而应尽可能的合理
  5. 帮助保持团队的代码风格统一,而不是限制开发体验

配置解读

  • 每一条配置都有一句话注释说明此配置的用途
  • 每个开启的配置都有对应的错误示例和正确示例
  • 每个示例都会在真实的 ESLint 脚本中运行,以保证报错项与配置一一匹配
  • 对于有争议的配置,都在注释中说明了为什么要这么配置的原因
  • 对于能够自动修复的配置,在注释中有标注了 @fixable

问题

在 VSCode 中使用

在 VSCode 中,默认 ESLint 并不能识别 .vue.ts.tsx 文件,需要在「文件 => 首选项 => 设置」里做如下配置:

{
    "eslint.validate": [
        "javascript",
        "javascriptreact",
        "vue",
        "typescript",
        "typescriptreact"
    ]
}

VSCode 中的 autoFixOnSave 没有效果

如果需要针对 .vue.ts.tsx 文件开启 ESLint 的 autoFix,则需要配置成

{
    "eslint.autoFixOnSave": true,
    "eslint.validate": [
        "javascript",
        "javascriptreact",
        {
            "language": "vue",
            "autoFix": true
        },
        {
            "language": "typescript",
            "autoFix": true
        },
        {
            "language": "typescriptreact",
            "autoFix": true
        }
    ]
}

eslint 报错信息及处理方法

  1. Error: standard: Configuration for rule "indent" is invalid: eslint-config-standard 要求 eslint 版本较高,本包已集成 最新版本 eslint,项目中 elisnt 可以移除或升级