.eslintrc.js 3.81 KB
/* Refer : http://eslint.cn/docs/user-guide/configuring */

module.exports = {
  root: true,
  /* 默认使用Espree作为其解析器, 但在本环境中,使用babel-eslint作其解析器 */
  parser: 'babel-eslint',

  /* 设置解析器选项 */
  parserOptions: {
    /* 设置为 3, 5 (默认), 6、7 或 8 指定你想要使用的 ECMAScript 版本。你也可以指定为 2015(同 6),2016(同 7),或 2017(同 8)使用年份命名 */
    "ecmaVersion" : 6,
    /* 设置为 "script" (默认) 或 "module"(如果你的代码是 ECMAScript 模块)。 */
    "sourceType" : 'module',
    /* 额外的语言特性: */
    "ecmaFeatures": {
      "jsx": true
    }
  },

  /* 全局环境变量 */
  env : {
    "node" : true,
    "commonjs" : true,
    "jquery" : true,
    "es6" : true,

  },

  /* 项目全局变量定义区: 在一个文件里使用全局变量,推荐你定义这些全局变量,这样 ESLint 就不会发出警告了 */
  globals: {

  },

  // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style
  extends: 'standard',
  // required to lint *.vue files
  plugins: [
    'html'
  ],
  // add your custom rules here

  /* 规则 0:关闭规则; 1:开启规则并使用警告级别; 2:开启规则并使用错误级别 */
  'rules': {
    // allow paren-less arrow functions
    'arrow-parens': 0,
    // allow async-await
    'generator-star-spacing': 0,
    // allow debugger during development
    'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
    
    // allow console
    'no-console'  : "off",

    /* 关闭: 禁止不必要的分号规则 */
    'no-extra-semi' : "off",

    /* 关闭: 强制分号前后有空格 */
    'semi-spacing' : ["off"],

    /* 关闭: 要求在语句末尾使用分号 */
     "semi": ["off", "always"],
    
    /* 关闭:  在对象字面量的键和值之间至少有一个空格存在 */
    // http://eslint.cn/docs/rules/key-spacing
    "key-spacing": [ "off", { "beforeColon":true,"afterColon":true }],


    /* 错误: 检测本作用域中声明的变量是否使用,未使用则报错 */
    "no-unused-vars": ["error", { "vars": "local" }],

    /* 警告: 使用一致的缩进 */
    "indent": ["warn", 4, { "SwitchCase": 1 }],

    /* 关闭: 不允许多个空行 */
    "no-multiple-empty-lines":"off",

    /* 关闭: 要求或禁止函数圆括号之前有一个空格 */
    "space-before-function-paren": ["off", {
      "anonymous": "ignore",
      "named": "ignore",
      "asyncArrow": "ignore"
    }],

    /* 错误: 要求或禁止使用拖尾逗号 */
    "comma-dangle": ["warn", {
      "arrays": "never",
      "objects": "ignore",
      "imports": "never",
      "exports": "never",
      "functions": "ignore"
    }],

    /* 关闭: 禁止行尾空格 */
    "no-trailing-spaces" : "off",

    /* 警告: 要求文件末尾保留一行空行*/
    "eol-last" : ["warn", "always"],

    /* 关闭:*/
    "comma-spacing" : ["off", { "before": false, "after": true }],

    /* 关闭: 强制使用一致的反勾号、双引号或单引号 */
    "quotes" : ["off","single"],

    /* 关闭: 要求或禁止在注释前有空白 */
    "spaced-comment" : ["off","always"],

    /* 关闭: 要求使用 === 和 !== */
    "eqeqeq"  : "off",

    /* 关闭: 禁止在条件中使用常量表达式 */
    "no-constant-condition" : "off",

    /* 关闭: 要求或禁止块内填充 */
    "padded-blocks" : "off",

    /* 警告: 禁止自身比较 */
    "no-self-compare" : "warn",

    /* 关闭: 禁止未使用过的变量 ==> 后期开启 */
    "no-unused-vars" : "off",

    /* 关闭: 禁止或强制圆括号内的空格 */
    "space-in-parens" : "off",

    /* 警告: 要求或者禁止Yoda条件 */
    "yoda" : "off",

    /* 警告: 要求或禁止语句块之前的空格 */
    "space-before-blocks" : "warn"
  }
};