-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.eslintrc-ng.json
138 lines (134 loc) · 8.43 KB
/
.eslintrc-ng.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
{
"parserOptions": {
"ecmaVersion": 2017,
"sourceType": "module",
"ecmaFeatures": {
"jsx": true, // 允许 jsx
"experimentalObjectRestSpread": true // 允许使用 `...` 的语法
}
},
"env": {
"es6": true,
"browser": true
},
"plugins": [
"angular" // 这个是一个 angular 相关的一个插件
],
"extends": [
// "plugin:angular/recommended" // 这个是一个 angular 相关的一个插件的配置
],
"rules": { // error 中断提交,warm 不会中断提交
"react/prop-types": "off",
"no-console": "error", // 不准出现console
"no-debugger": "error", // 不准出现 debugger
"no-dupe-args": "error", // 不准出现重复的参数
"no-dupe-keys": "error", // 字面量对象里不准出现重复的key
"no-constant-condition": "error", // 禁止在条件中使用常量表达式
"no-duplicate-case": "error", // 禁止重复 case 标签
"no-empty-character-class": "error", // 禁止在正则表达式中出现空字符集
"no-empty": [
"error",
{
"allowEmptyCatch": true
}
], // 禁止空块语句, 但是在 catch 里空是可以的
"no-ex-assign": "error", // 禁止对 catch 子句中的异常重新赋值
"no-extra-boolean-cast": "error", // 禁止不必要的布尔类型转换
"no-extra-parens": "error", // 禁止冗余的括号 加 --fix 参数可被自动修复
"no-extra-semi": "error", // 禁用不必要的分号 加 --fix 参数可被自动修复
"no-func-assign": "error", // 禁止对 function 声明重新赋值
"no-invalid-regexp": "error", // 禁止在 RegExp 构造函数中出现无效的正则表达式
"no-irregular-whitespace": "error", // 禁止不规则的空白
"no-obj-calls": "error", // 禁止将全局对象当作函数进行调用
"no-regex-spaces": "error", // 禁止正则表达式字面量中出现多个空格 加 --fix 参数可被自动修复
"no-sparse-arrays": "error", // 禁用稀疏数组
"no-template-curly-in-string": "error", // 禁止模板字符串中的变量占位语法出现在普通字符串中
"no-unexpected-multiline": "error", // 禁止使用令人困惑的多行表达式
"no-unreachable": "error", // 禁止在 return、throw、continue 和 break 语句后出现不可达代码
"no-unsafe-finally": "error", // 禁止在 finally 语句块中出现控制流语句
"no-unsafe-negation": "error", // disallow negating the left operand of relational operators
"use-isnan": "error", // 要求调用 isNaN()检查 NaN
"valid-jsdoc": "warn", // 强制使用有效的 JSDoc 注释
"valid-typeof": "error", // 强制 typeof 表达式与有效的字符串进行比较
// "no-case-declarations": "error", //禁止在 case 或 default 子句中出现词法声明
"no-empty-pattern": "error", // 禁止使用空解构模式
"no-fallthrough": "error", // 禁止 case 语句落空
"no-octal": "error", // 禁用八进制字面量
"no-redeclare": "error", // 禁止重新声明变量
"no-self-assign": "error", //禁止自身赋值
"no-unused-labels": "error", // 禁用未使用过的标签
"no-delete-var": "error", //禁止删除变量
"no-undef": "error", // 禁用未声明的变量
// "no-unused-vars": "error", // 禁止未使用过的变量 import 的 react 组件在 jsx 中使用, 会报错
"no-new-symbol": "error", // Disallow Symbol Constructor
"no-this-before-super": "error", //在构造函数中禁止在调用super()之前使用this或super。
"require-yield": "error", // 禁用函数内没有yield的 generator 函数
"no-duplicate-imports": "error", // Disallow duplicate imports
"comma-dangle": [
"error",
"never"
], // 禁止使用拖尾逗号
"indent": [
"error",
4,
{
"SwitchCase": 1
}
], // 配置缩进
"no-mixed-spaces-and-tabs": "error", // 禁止使用 空格 和 tab 混合缩进
"no-const-assign": "error", // 不允许改变用const声明的变量
"no-class-assign": "error", // 不允许修改类声明的变量
"no-dupe-class-members": "error", // 不允许类成员中有重复的名称
"no-var": "warn", // 要求使用 let 或 const 而不是 var
// eslint-angular
"angular/window-service": "error", // 使用 $window 代替 window
"angular/no-cookiestore": "error", // 使用 $cookies 代替 $cookieStore
"angular/foreach": "error", // 使用 angular.forEach 代替 Native的 Array.prototype.forEach
"angular/document-service": "error", // 使用 $document 代替 document
"angular/timeout-service": "error", // 使用 $timeout 代替 setTimeout
"angular/interval-service": "error", // 使用 $interval 代替 setInterval
"angular/prefer-component": "error", // 声明的 component 不能为空,必须实现
"angular/empty-controller": "error", // 声明的 controller 不能为空,必须实现
"angular/on-destroy": "error", // 检查拼写错误 --$on('destroy', ...). --应该是$on('$destroy', ...)
"angular/no-http-callback": "error", // 禁止$http直接回调 success() 和 error()方法
"angular/module-setter": "error", // 禁止将module 保存在变量中
"angular/module-getter": "error", // 禁止通过变量获取module
"angular/di": ["error", "array"], // 用数组的方式表示依赖注入参数
"angular/di-unused": "error", // 禁止有未被使用的依赖注入参数
"angular/watchers-execution": ["error", "$apply"], // 使用 $apply() 来执行watchers
"angular/no-angular-mock": "error", // 直接使用 angular.mock 对象中的方法,无需带上 angular.mock 前缀
"angular/json-functions": "error", // 使用 angular.fromJson 和 angular.toJson 代替 JSON.stringify() 和 JSON.parse()
"angular/dumb-inject": "error", //
"angular/rest-service": ["error", "$http"], // 禁止使用不同的rest服务,要求只使用 $http
"angular/avoid-scope-typos": "error", // 校验使用的方法名称是否正确
"angular/definedundefined": "warn", // 使用 angular.isDefined 和 angular.isUndefined 代替其他检查undefined的方式
"angular/typecheck-string": "warn", // 使用 angular.isString 代替 typeof
"angular/typecheck-object": "warn", // 使用 angular.isObject 代替 typeof
"angular/typecheck-number": "warn", // 使用 angular.isNumber 代替 typeof
"angular/typecheck-function": "warn", // 使用 angular.isFunction 代替 typeof
"angular/typecheck-data": "warn", // 使用 angular.isDate 代替 typeof
"angular/typecheck-array": "warn", // 使用 angular.isArray 代替 typeof
"angular/on-watch": "warn", // 要求$on 和 $watch 方法调用必须要保存在变量中
"angular/no-private-call": "warn", // 禁止使用angular内部属性前缀 $$ ,除非在配置中标识可以使用的列表--{allow:['$$watchers']}
"angular/no-run-logic": "warn", // 禁止在函数中声明并调用另一个函数
"angular/no-inline-template": "warn", // 禁止使用复杂的内嵌模板
"angular/directive-restrict": "warn", // 对directive 的restrict 设置 A 或 E
// 命名规范
"angular/value-name": "off", //
"angular/service-name": "off", //
"angular/prodiver-name": "off", //
"angular/module-name": "off", //
"angular/filter-name": "off", //
"angular/file-name": "off", //
"angular/factory-name": "off", //
"angular/directive-name": "off", //
"angular/controller-name": "off", //
"angular/constant-name": "off", //
"angular/component-name": "off"
// "angular/controller-as": "off", // 禁止在controller中直接使用$scope
// "angular/controller-as-vm": ["off", "viewModel"], // 在controller中用viewModel代替this
// "angular/controller-as-route": "off", // 要求在 routes 或 states中使用controllerAs
// "angular/angularelement": "off", // 使用 angular.element 代替 $ 或 jQuery
// "angular/no-jquery-angularelement": "off", // 禁止将 angular.element 对象放在 jQuery() 或 $() 中
}
}