@beisen/auto-tree
Version:
AutoTree
441 lines (358 loc) • 10.2 kB
Plain Text
{
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module",
// 可选择支持的语言特性
"ecmaFeatures": {
"jsx": true,
"experimentalObjectRestSpread": true,
"arrowFunctions": true,
"blockBindings": true,
"defaultParams": true,
"destructuring": true,
"forOf": true,
"generators": true,
"objectLiteralComputedProperties": true,
"objectLiteralShorthandMethods": true,
"objectLiteralShorthandProperties": true,
"restParams": true,
"spread": true,
"templateStrings": true,
"modules": true,
"classes": true
}
},
"parser": "babel-eslint",
"plugins": [
"react"
],
"env": {
"browser": true,
"amd": true,
"es6": true,
"node": true,
"mocha": true
},
"settings": {
"import/parser": "babel-eslint",
"import/resolve": {
"moduleDirectory": ["node_modules", "src"]
}
},
"globals": {
"document": true,
"navigator": true,
"window": true,
"BSGlobal": true,
"_":true
},
"rules": {
/* 规则等级设置:
*
* "off" or 0 - 关闭规则
* "warn" or 1 - 开启规则,使用警告级别的错误:warn(不会导致程序退出)
* "error" or 2 - 开启规则,使用错误级别的错误:error(当被触发的时候,程序会退出)
*
* */
"react/jsx-uses-react": [
"warn"
],
"react/jsx-uses-vars": [
"warn"
],
/* 格式 -- 空格 */
// 强制箭头函数的箭头之前或之后有空格 [AUTO]
"arrow-spacing": [
"error"
],
// 强制 generator 函数中 * 号周围有空格 [AUTO]
"generator-star-spacing": [
"error",
{"before": true, "after": false}
],
// 禁止属性前有空格
"no-whitespace-before-property": [
"warn"
],
// 前缀一元运算符之后加空格 [AUTO]
"space-unary-ops": [
"error", {
"words": true
}
],
// 禁止运算符的小括号(后,和)前加空格 [AUTO]
"space-in-parens": [
"warn",
"never"
],
// 禁止函数声明小括号(前加空格 [AUTO]
"space-before-function-paren": [
"warn",
"never"
],
// 禁止函数调用小括号(前加空格 [AUTO]
"no-spaced-func": [
"warn"
],
// 禁止行尾加空格 [AUTO]
"no-trailing-spaces": [
"warn", {
"skipBlankLines": true
}
],
// 禁止在字符串和注释之外不规则的空白
"no-irregular-whitespace": [
"warn", {
"skipComments": true
}
],
// 强制对象属性冒号前无空格, 冒号后有空格
"key-spacing": [
"error", {
"beforeColon": false,
"afterColon": true,
"mode": "strict"
}
],
// 强制代码块大括号{前有空格 [AUTO]
"space-before-blocks": [
"warn",
"always"
],
/* 格式 -- 括号 */
// 强制为多行语句使用大括号
"curly": [
"error",
"multi-line"
],
// 强制使用一种大括号风格
"brace-style": [
"error",
"1tbs"
],
/* 格式 -- 逗号 */
// 禁止数组、对象最后的成员加逗号
"comma-dangle": [
"error",
"never"
],
/*"indent": ["warn", "tab"],*/
/* 语法 -- 变量 */
// 不允许改变用const声明的变量
"no-const-assign": [
"error"
],
// 禁止重复声明变量
"no-redeclare": [
"error"
],
// 禁止声明了变量却不使用
"no-unused-vars": [
"warn",
{ "args": "none" }
],
// 禁止先使用后声明变量
"no-use-before-define": [
"error"
],
// 禁止自我赋值
"no-self-assign": [
"error"
],
// 禁止删除变量
"no-delete-var": [
"error"
],
// 不允许修改类声明的变量
"no-class-assign": [
"error"
],
// 不允许类成员中有重复的名称
"no-dupe-class-members": [
"error"
],
/* 语法 -- 函数 */
// 要求箭头函数的参数使用圆括号
"arrow-parens": [
"error",
"as-needed"
],
// 立即执行函数外必须包一层小括弧
"wrap-iife": [
"error",
"outside"
],
// 禁止使用new产生副作用 (非赋值或条件语句禁止使用new操作符)
"no-new": [
"warn"
],
// 强制构造函数首字母大写
"new-cap": [
"error",
{ "capIsNew": false }
],
// 禁止省略调用无参构造函数的圆括号
"new-parens": [
"error"
],
// 禁止函数中有重复参数
"no-dupe-args": [
"error"
],
// 禁止函数重复声明
"no-func-assign": [
"error"
],
// 禁止 return,throw,continue 或 break 语句之后的不可达语句
"no-unreachable": [
"error"
],
/* 语法 -- 对象 */
// 创建对象字面量时,禁止重复的键
"no-dupe-keys": [
"error"
],
/* 语法 -- 空值 */
// 禁止直接与NaN比较
"use-isnan": [
"error"
],
/* 语法 -- 循环 */
// 禁止在循环中声明函数
"no-loop-func": [
"error"
],
/* 语法 -- 分支 */
// 禁止重复的case标签
"no-duplicate-case": [
"error"
],
// 禁止在条件中使用常量表达式
"no-constant-condition": [
"error"
],
// 禁止in操作符的否定的左操作数
"no-negated-in-lhs": [
"error"
],
// 要求 Switch 语句中有 Default 分支
"default-case": [
"error"
],
// 禁用未使用过的标签
"no-unused-labels": [
"warn"
],
/* 语法 -- 正则 */
// 禁止在正则表达式中使用空字符集
"no-empty-character-class": [
"error"
],
// 禁止在正则表达式中使用控制字符
"no-control-regex": [
"error"
],
/* 语法 -- 异常 */
// 禁止对 catch 块的异常进行赋值
"no-ex-assign": [
"error"
],
/* 语法 -- 其他 */
// 禁止使用稀疏数组
"no-sparse-arrays": [
"error"
],
// 禁止重复引入同一模块
"no-duplicate-imports": [
"error"
],
// 禁止出现空白代码块 (除非空代码块中包含注释)
"no-empty": [
"error"
],
//禁用with
"no-with": [
"error"
],
// 禁止在应该比较的地方赋值(比如if的小括弧内)
"no-cond-assign": [
"error",
"except-parens"
],
// 禁止全局对象(Math 和 JSON)当作函数使用
"no-obj-calls": [
"error"
],
// 禁止代码看起来像两个表达式但实际上是一个
"no-unexpected-multiline": [
"error"
],
// 确保 typeof 结果与一个有效的字符串相比较
"valid-typeof": [
"error"
],
// 禁用八进制字面量
"no-octal": [
"error"
],
/* React */
// 禁止通过 displayName 来命名组件
"react/display-name": [
"error"
],
// 使用 ES6 类声明代替 React.createClass
"react/prefer-es6-class": [
"error",
"always"
],
// 组件引用采用帕斯卡命名法,其实例采用驼峰式命名法
"react/jsx-pascal-case": [
"error", {
allowAllCaps: true,
ignore: [],
}
],
// 结束标签与开始标签对齐 [AUTO]
"react/jsx-closing-bracket-location": [
"warn"
],
// 强制'{'后和'}'前有空格 [AUTO]
"react/jsx-curly-spacing": [
"warn",
"never",
{ allowMultiline: true }
],
// jsx中禁止出现重复属性
"react/jsx-no-duplicate-props": [
"error",
{ ignoreCase: false }
],
// jsx中禁止使用未声明的变量
"react/jsx-no-undef": [
"error"
],
// 禁止在同一个文件下出现重复的组件
"react/no-multi-comp": [
"error",
{ ignoreStateless: true }
],
// 禁止使用未知的DOM属性 [AUTO]
"react/no-unknown-property": [
"error"
],
// 强制 render() 方法中使用return
"react/require-render-return": [
"error"
],
// 强制结束标签前有空格
"react/jsx-space-before-closing": [
"error",
"always"
],
// jsx中等号左右要有空格 [AUTO]
"react/jsx-equals-spacing": [
"error",
"never"
]
}
}