eslint基本配置

2020-06-12  本文已影响0人  WangLizhi
module.exports = {
  // 环境 一个环境定义了一组预定义的全局变量。 参考链接:http://eslint.cn/docs/user-guide/configuring
  env: {
    browser: true,
    es2020: true,
  },
  // 配置原文建中未定义的全局变量 exp: jquery undersocre ;
  globals: {
    underscore: 'writable', // 允许重写变量
    jQuery: 'readonly', // 只读变量
    Promise: 'off', // 禁用全局变量
  },
  // 编码规范
  extends: ['plugin:react/recommended', 'airbnb'],
  // 解析器
  parser: '@typescript-eslint/parser', //default:espree. paramete: esprima | Babel-ESLint | @typescript-eslint/parser;
  // 解析器选项
  parserOptions: {
    // 指定使用额外的语言特性
    ecmaFeatures: {
      globalReturn: false, // 允许在全局作用使用return语句
      impliedStrict: false, // 启用严格模式(strict mode) >= ECMAScript 5版本;
      jsx: true, // 启用JSX
      experimentalObjectRestSpread: false, // 启用实验性的 object rest/spread properties 支持. 不推荐开启;
    },
    ecmaVersion: 11, // 制定当前使用ECMAScript语法的版本 parameter:2020年份 or 11版本号;
    sourceType: 'module', // parameter: 'script' or 'module';
  },
  // 插件可以提供处理器
  plugins: ['react', '@typescript-eslint'],
  // plugins: ['react', '@typescript-eslint', 'a-plugin'],
  // 配置指定处理器 格式为:插件名/处理器名
  processor: 'a-plugin/a-processor',
  // 为特定类型的文件指定处理器
  overrides: [
    {
      files: ['*.md'], // 指定文件 可设置多个类型
      processsor: 'a-plugin/markdown',
    },
    {
      files: ['**/*.md/*.js'],
      rules: {
        strict: 'off',
      },
    },
  ],
  // 配置检查规则
  rules: {
    eqeqeq: 'off',                // "off"或者0 关闭规则
    'no-console': 'warn',         // "warn"或者1 将规则打开为警告(不影响退出代码)
    curly: 'error',               // "error"或者2 将规则打开为错误(触发时退出代码为1)
    quotes: ['error', 'double'],  // 如果规则具有其他选项,则可以使用数组文字语法来指定它们
  },
};

上一篇下一篇

猜你喜欢

热点阅读