Blame view

tslint.json 7.01 KB
f6ca27da   yangdan8   添加tslint检测d.ts规范
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
  {
      "defaultSeverity": "warning",
      "extends": ["tslint:recommended"],
      "linterOptions": {
          "exclude": ["node_modules/**"]
      },
      "rules": {
          "jsx-boolean-value": false,
          "jsx-curly-spacing": false,
          "jsx-no-multiline-js": false,
          "jsx-wrap-multiline": false,
          "jsx-alignment": false,
          "jsx-no-lambda": true,
          "jsx-no-string-ref": false,
          "class-name": false,
          "max-line-length": [true, 180],
          "member-ordering": [true, "statics-first"],
          "new-parens": true,
          "no-consecutive-blank-lines": true,
          "no-mergeable-namespace": true,
          "no-switch-case-fall-through": true,
          "no-trailing-whitespace": true,
          "no-unused-variable": [true],
          "no-var-keyword": true,
          "one-variable-per-declaration": [false, "ignore-for-loop"],
          "triple-equals": [false, "allow-null-check"],
          "use-isnan": false,
          //ts专用
          "prefer-const": false, //true, //const偏好
          "adjacent-overload-signatures": true, //Enforces function overloads to be consecutive.
          "ban-comma-operator": true, //禁止逗号运算符。
          "ban-type": [true, ["object", "User {} instead."], ["string"]], //禁止类型
          //"member-access": [true, "no-public" || "check-accessor" || "check-constructor" || "check-parameter-property"], //类成员必须声明 private public ....
          "member-order": [false], //类声明排序
          "no-any": false, //true, //不需使用any类型
          "no-empty-interface": true, //禁止空接口 {}
          "no-import-side-effect": [
              true,
              {
                  "ignore-module": "(\\.html|\\.css)$"
              }
          ], //禁止导入带有副作用的语句
          "no-inferrable-types": [true, "ignore-params", "ignore-properties"], //不允许将变量或参数初始化为数字,字符串或布尔值的显式类型声明。
          "no-internal-module": true, //不允许内部模块
          "no-magic-numbers": false, //[true, 1, 2, 3], //不允许在变量赋值之外使用常量数值。当没有指定允许值列表时,默认允许-1,01
          "no-namespace": false, //[true, "allpw-declarations"], //不允许使用内部modules和命名空间
          "no-non-null-assertion": true, //不允许使用!后缀操作符的非空断言。
          "no-parameter-reassignment": false, //true, //不允许重新分配参数
          "no-reference": false, //true, // 禁止使用/// <reference path=> 导入 ,使用import代替
          "no-unnecessary-type-assertion": true, //如果类型断言没有改变表达式的类型就发出警告
          "no-var-requires": true, //不允许使用var module = require("module"),用 import foo = require('foo')导入
          "only-arrow-functions": false, //[true, "allow-declarations", "allow-named-functions"], //允许箭头表达式,不需要传统表达式  允许独立的函数声明  ;允许表达,function foo() {}但不是function() {}
          "prefer-for-of": true, //建议使用for(..of)
          "promise-function-async": true, //要求异步函数返回promise
          "typedef": false, //[true, "call-signature", "parameter", "member-variable-declaration"], // 需要定义的类型存在
          "typedef-whitespace": true, //类型声明的冒号之前是否需要空格,在类型定义的时候,是否允许使用空格, 使用false,表示不对此项进行校验,不启用此项的校验
          "unified-signatures": true, //重载可以被统一联合成一个
          //function 专用
          "await-promise": true, //警告不是一个promise的await
          // "ban": [
          //   true,
          //   "eval",
          //   {
          //     "name": "$",
          //     "message": "please don't"
          //   },
          //   ["describe", "only"],
          //   {
          //     "name": ["it", "only"],
          //     "message": "don't focus tests"
          //   },
          //   {
          //     "name": ["chai", "assert", "equal"],
          //     "message": "Use 'strictEqual' instead."
          //   },
          //   {
          //     "name": ["*", "forEach"],
          //     "message": "Use a regular for loop instead."
          //   }
          // ],
          "curly": true, //for if do while 要有括号
          "forin": false, //true, //用for in 必须用if进行过滤
          "import-blacklist": true, //允许使用import require导入具体的模块
          "label-postion": true, //允许在do/for/while/swith中使用label
          "no-arg": true, //不允许使用 argument.callee
          "no-bitwise": false, //true, //不允许使用按位运算符
          "no-conditional-assignmen": true, //不允许在do-while/for/if/while判断语句中使用赋值语句
          "no-console": [true, "time", "timeEnd"], //不能使用console
          "no-construct": true, //不允许使用 String/Number/Boolean的构造函数
          "no-debugger": true, //不允许使用debugger
          "no-duplicate-super": true, //构造函数两次用super会发出警告
          "no-empty": false, //true, //不允许空的块
          "no-eval": true, //不允许使用eval
          "no-floating-promises": true, //必须正确处理promise的返回函数
          "no-for-in-array": true, //不允许使用for in 遍历数组
          "no-implicit-dependencies": true, //不允许在项目的package.json中导入未列为依赖项的模块
          "no-inferred-empty-object-type": true, //不允许在函数和构造函数中使用{}的类型推断
          "no-invalid-template-strings": true, //警告在非模板字符中使用${
          "no-invalid-this": false, //true, //不允许在非class中使用 this关键字
          "no-misused-new": true, //禁止定义构造函数或new class
          "no-null-keyword": false, // true, //不允许使用null关键字
          "no-object-literal-type-assertion": false, //true, //禁止objext出现在类型断言表达式中
          "no-return-await": true, //不允许return await
          "arrow-parens": false, //true, //箭头函数定义的参数需要括号
          "quotemark": [true, "single", "jsx-double", "avoid-escape"], //引号的使用规则
          "semicolon": false, //[true, "never", "ignore-interfaces"], //分号的使用规则
          "indent": false, //[true, "tabs", 2], //使用Tab进行缩进,每次强制缩进2个字符
          "whitespace": [
              true,
              "check-branch",
              "check-decl",
              "check-operator",
              "check-type"
          ], //空格的校验
          "member-access": false, //类成员的显示可见性声明,即显示定义一个类的成员是否可见,即对类成员定义public | static 
          "one-line": false //, //要求指定的标记与它们之前的表达式位于同一行
          // "trailing-comma": [true, { //对尾随逗号的校验
          //   "multiline": {
          //     "objects": "ignore",
          //     "arrays": "never",
          //     "functions": "never",
          //     "typeLiterals": "ignore"
          //   },
          //"esSpecCompliant": true //是否允许尾随逗号出现在剩余变量中
          // }]
      }
  }