Files
rcs5.0_new/packages/rcs_5.0/.eslintrc.js
T
2025-05-19 17:29:51 +08:00

209 lines
13 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
module.exports = {
root: true,
env: {
browser: true,
node: true,
es6: true,
},
extends: ['plugin:vue/recommended', 'eslint:recommended'],
// add your custom rules here
// it is base on https://github.com/vuejs/eslint-config-vue
rules: {
'no-debugger': 'on',
// 'prettier/prettier': 'warn', // prettier 检测到的标红展示
'vue/max-attributes-per-line': 2,
'vue/singleline-html-element-content-newline': 'off',
'vue/multiline-html-element-content-newline': 'off',
'vue/name-property-casing': ['error', 'PascalCase'],
'vue/no-v-html': 'off',
'vue/multi-word-component-names': 'off',
'accessor-pairs': 2,
'arrow-spacing': [2, {
'before': true,
'after': true,
}], // 要求箭头函数之前之后有空格
'block-spacing': [2, 'always'], // 强制在代码块中开括号前和闭括号后有空格
'brace-style': [2, '1tbs', {
'allowSingleLine': true,
}], // 大括号风格要求
'camelcase': [0, {
'properties': 'always',
}], // 强制属性名称为驼峰风格
'comma-dangle': [2, 'always-multiline'], // 要求或禁止使用拖尾逗号,这里 当最后一个元素或属性与闭括号 ] 或 } 在 不同的行时,要求使用拖尾逗号;当在 同一行时,禁止使用拖尾逗号
'comma-spacing': [2, {
'before': false,
'after': true,
}], // 禁止在逗号前使用空格,要求在逗号后使用空格
'comma-style': [2, 'last'], // 要求逗号放在数组元素、对象属性或变量声明之后,且在同一行
'constructor-super': 2, // 派生类中的构造函数必须调用 super()。非派生类的构造函数不能调用 super()JavaScript 引擎将引发一个运行时错误该规则检查是否有一个有效的 super() 调用。
'curly': [2, 'multi-line'], // 强制所有控制语句使用一致的括号风格
'dot-location': [2, 'property'], // 点操作符和属性放在同一行。
'eol-last': 2, // 强制使用换行 (LF)
'eqeqeq': ['error', 'always', { 'null': 'ignore' }], // 强制在任何情况下都使用 === 和 !== (你选择对 null 做忽略处理])
'generator-star-spacing': [2, {
'before': true,
'after': true,
}], // 强制 generator 函数中 * 号周围使用一致的空格
/* function loadData (error, data) {
if (error) {
console.log(error.stack);
}
doSomething();
*/
'handle-callback-err': [2, '^(err|error)$'], // 期望当你在 Node.js 中使用回调模式时,你将处理错误
'indent': [2, 2, {
'SwitchCase': 1,
}], // 强制使用 2空格缩进,强制 switch 语句中的 case 子句的缩进级别为警告
'jsx-quotes': [2, 'prefer-single'], // 强制所有不包含单引号的 JSX 属性值使用单引号
'key-spacing': [2, {
'beforeColon': false,
'afterColon': true,
}], // 强制在对象字面量的属性中键和值之间使用一致的间距,beforeColon禁止在对象字面量的键和冒号之间存在空格,afterColon要求在对象字面量的冒号和值之间存在至少有一个空格
'keyword-spacing': [2, {
'before': true,
'after': true,
}], // 要求在关键字之前和之后至少有一个空格
'new-cap': [2, {
'newIsCap': true,
'capIsNew': false,
}], // newIsCap 要求调用 new 操作符时有首字母大小的函数,capIsNew允许调用首字母大写的函数时没有 new 操作符。
'new-parens': 2, // 强制调用无参构造函数时有圆括号
'no-array-constructor': 2, // 该规则禁止使用 Array 构造函数
'no-caller': 2, // 禁止使用 arguments.caller 和 arguments.callee来阻止使用不推荐的和次优化的代码
// 'no-console': process.env.NODE_ENV === 'production' ? 2 : 0, // 禁用 console
'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
'no-class-assign': 2, // 不允许修改类声明的变量
'no-cond-assign': 2, // 禁止条件表达式中出现赋值操作符
'no-const-assign': 2, // 禁止修改 const 声明的变量
'no-control-regex': 0, // 允许在正则表达式中使用控制字符
'no-delete-var': 2, // 禁止删除变量,delete
// 'no-dupe-args': 2, // 禁止 function 定义中出现重名参数
// 'no-dupe-class-members': 2, // 禁止类成员中出现重复的名称
// 'no-dupe-keys': 2, // 禁止对象字面量中出现重复的 key
'no-duplicate-case': 2, // 禁止出现重复的 case 标签
'no-empty-character-class': 2, // 禁止在正则表达式中使用空字符集
'no-empty-pattern': 2, // 禁止使用空解构模式 ,错误var {} = foo;var {a: {}} = foo; 正确 var {a = {}} = foo;
'no-eval': 2, // 禁用 eval()
'no-ex-assign': 2, // 禁止对 catch 子句中的异常重新赋值。
'no-extend-native': 2, // 禁止扩展原生类型
'no-extra-bind': 2, // 禁止不必要的 .bind() 调用
'no-extra-boolean-cast': 2, // 禁止不必要的布尔转换
'no-extra-parens': [2, 'functions'], // 只在 函数表达式周围禁止不必要的圆括号
'no-fallthrough': 2, // 禁止 case 语句落空
'no-floating-decimal': 2, // 消除浮动小数点,并且,当数值的小数点之前或之后缺少数字时,该规则将发出警告
'no-func-assign': 2, // 禁止对 function 声明重新赋值
'no-implied-eval': 2, // 禁止使用类似 eval() 的方法
'no-inner-declarations': [2, 'functions'], // 禁止 function 声明出现在嵌套的语句块中
'no-invalid-regexp': 2, // 禁止 RegExp 构造函数中存在无效的正则表达式字符串
'no-irregular-whitespace': 2, // 禁止不规则的空白
'no-iterator': 2, // 禁用 __iterator__ 属性
'no-label-var': 2, // 不允许标签与变量同名
/** * "allowLoop" (boolean,默认是 false) - 如果这个选项被设置为 true,该规则忽略循环语句中的标签。
"allowSwitch" (boolean,默认是 false) - 如果这个选项被设置为 true,该规则忽略 switch 语句中的标签 */
'no-labels': [2, {
'allowLoop': false,
'allowSwitch': false,
}], // 禁用标签语句
'no-lone-blocks': 2, // 禁用不必要的嵌套块
'no-mixed-spaces-and-tabs': 2, // 禁止空格和 tab 的混合缩进
'no-multi-spaces': 2, // 禁止出现多个空格
'no-multi-str': 2, // 禁止使用多行字符串
'no-multiple-empty-lines': [2, {
'max': 1,
}], // 禁止出现多个空行,最多一个
'no-native-reassign': 2, // 禁止对原生对象或只读的全局对象进行赋值
'no-negated-in-lhs': 2, // 禁止对关系运算符的左操作数使用否定操作符
'no-new-object': 2, // 禁用 Object 的构造函数
'no-new-require': 2, // 禁止调用 require 时使用 new 操作符
'no-new-symbol': 2, // 禁止 Symbolnew 操作符和 new 一起使用
'no-new-wrappers': 2, // 禁止对 StringNumber 和 Boolean 使用 new 操作符
'no-obj-calls': 2, // 禁止把全局对象作为函数调用
'no-octal': 2, // 禁用八进制字面量
'no-octal-escape': 2, // 禁止在字符串中使用八进制转义序列
'no-path-concat': 2, // 禁止对 __dirname 和 __filename 进行字符串连接
'no-proto': 2, // 禁用 __proto__ 属性
'no-redeclare': 2, // 禁止多次声明同一变量
'no-regex-spaces': 2, // 禁止正则表达式字面量中出现多个空格
'no-return-assign': [2, 'except-parens'], // return 后禁止出现赋值语句,除非使用括号把它们括起来。
'no-self-assign': 2, // 禁止自我赋值
'no-self-compare': 2, // 禁止自身比较
'no-sequences': 2, // 禁用逗号操作符
'no-shadow-restricted-names': 2, // 禁止将标识符定义为受限的名字
'no-spaced-func': 2, // 要求或禁止在函数标识符和其调用之间有空格
'no-sparse-arrays': 2, // 禁用稀疏数组,稀疏数组包括很多空位置,经常是由于在数组字面量中使用多个逗号造成的
'no-this-before-super': 2, // 禁止在构造函数中,在调用 super() 之前使用 this 或 super
'no-throw-literal': 2, // 禁止抛出异常字面量
'no-trailing-spaces': 2, // 禁用行尾空格
'no-undef': 2, // 禁用未声明的变量,除非它们在 /*global */ 注释中被提到
'no-undef-init': 2, // 禁止将变量初始化为 undefined
'no-unexpected-multiline': 2, // 禁止出现令人困惑的多行表达式
'no-unmodified-loop-condition': 2, // 禁用一成不变的循环条件
'no-unneeded-ternary': [2, {
'defaultAssignment': false,
}], // 禁止条件表达式作为默认的赋值模式
'no-unreachable': 2, // 禁止在 return、throw、continue 和 break 语句之后出现不可达代码
'no-unsafe-finally': 2, // 禁止在 finally 语句块中出现控制流语句
'no-unused-vars': [2, {
'vars': 'all',
'args': 'none',
}], // 禁止未使用过的变量,'vars': 'all' 检测所有变量,包括全局环境中的变量。'args': 'none'不检查参数
'no-useless-call': 2, // 禁止不必要的 .call() 和 .apply()
'no-useless-computed-key': 2, // 禁止在对象中使用不必要的计算属性
'no-useless-constructor': 2, // 禁用不必要的构造函数
'no-useless-escape': 0, // 允许不必要的转义字符
'no-whitespace-before-property': 2, // 禁止属性前有空白
'no-with': 2, // 禁用 with 语句
'one-var': [2, {
'initialized': 'never',
}], // 强制函数中的变量在一起声明或分开声明, 要求每个作用域的初始化的变量有多个变量声明
'operator-linebreak': [2, 'after', {
'overrides': {
'?': 'before',
':': 'before',
},
}], // 强制操作符使用一致的换行符,"after" 要求把换行符放在操作符后面覆盖对指定的操作的全局设置、 默认配置为 "after", { "overrides": { "?": "before", ":": "before" } }
'padded-blocks': [2, 'never'], // 要求或禁止块内填充
'quotes': [2, 'single', {
'avoidEscape': true,
'allowTemplateLiterals': true,
}], // 强制使用一致的反勾号、双引号或单引号, single 要求尽可能地使用单引号
'semi': [2, 'always'], // (默认) 要求在语句末尾使用分号
'semi-spacing': [2, {
'before': false,
'after': true,
}], // 这个是默认选项,它强制分号之后有空格,禁止分号之前有空格。
'space-before-blocks': [2, 'always'], // 强制在块之前使用一致的空格
'space-before-function-paren': [2, 'never'], // 允许在 function的左括号之前不使用空格
'space-in-parens': [2, 'never'], // (默认) 强制圆括号内没有空格
'space-infix-ops': 2, // 要求操作符周围有空格
/*
words - 适用于单词类一元操作符,例如:new、delete、typeof、void、yield
nonwords - 适用于这些一元操作符: -、+、--、++、!、!!
*/
'space-unary-ops': [2, {
'words': true,
'nonwords': false,
}], // 比如 new 操作符之后禁用空格,++ 操作左右要求有空格。
'spaced-comment': [2, 'always', {
'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ','],
}], // 要求在注释前有空白, "always"// 或 /* 必须跟随至少一个空白,"markers"的值是一个字符串形式的数组,这些字符串也就是块级注释的标记,例如一个额外的 /,被用来表示是由 doxygen、vsdoc 等系统读取的文档,这些系统必须有额外的字符。 不管第一个参数是 "always" 还是 "never"、"markers"数组都会起作用。。
'template-curly-spacing': [2, 'never'], // 禁止花括号内出现空格。
'use-isnan': 2, // 要求调用 isNaN()检查 NaN,该规则禁止与 ‘NaN’ 的比较。
'valid-typeof': 2, // 强制 typeof 表达式与有效的字符串进行比较
'wrap-iife': [2, 'any'], // 需要把立即执行的函数包裹起来,any 强制总是包裹,但允许其它风格
'yield-star-spacing': [2, 'both'], // 强制在 yield* 表达式中 * 周围使用空格
/**
* Yoda 条件被如此命名,是因为在条件判断中字面量在先而变量在第二的位置。例如,以下是 Yoda 条件:
if ("red" === color) {
// ...
}
*/
'yoda': [2, 'never'], // "never" 那么比较绝,不能是一个 Yoda 条件
'prefer-const': 2, // 如果一个变量不会被重新赋值,最好使用const进行声明。
'object-curly-spacing': [2, 'always', {
objectsInObjects: false,
}], // 强制在花括号中使用一致的空格."objectsInObjects": false 禁止以对象元素开始或结尾的对象的花括号中有空格 (当第一个选项为 always 时生效)
'array-bracket-spacing': [2, 'never'], // 禁止在数组括号内出现空格
},
};