crabatool 1.0.91 → 1.0.94

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.eslintrc.json CHANGED
@@ -53,6 +53,13 @@
53
53
  "$create": "readonly",
54
54
  "$addHandler": "readonly",
55
55
  "$searchUtils": "readonly",
56
- "$crabaJSON": "readonly"
56
+ "$crabaJSON": "readonly",
57
+ "asyncCall": "readonly",
58
+ "$clearHandlers": "readonly",
59
+ "$removeHandler": "readonly",
60
+ "getClientBounds": "readonly",
61
+ "echarts": "readonly",
62
+ "SysConsts": "readonly",
63
+ "math": "readonly"
57
64
  }
58
65
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "crabatool",
3
- "version": "1.0.91",
3
+ "version": "1.0.94",
4
4
  "description": "crabatool",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/test/test.js CHANGED
@@ -41,8 +41,10 @@ var config = {
41
41
 
42
42
  Debug: true,
43
43
 
44
+ // 告诉助手项目有哪些是全局变量,不然会提示未定义
44
45
  globals: ['crabadoc', 'Type', 'CrabaMarkdown', '$doc', 'www', 'crabaJs'],
45
46
 
47
+ // 告诉助手项目有哪些js忽略语法检查,可以填目录
46
48
  ignoreCheck: ['js/lib/highlight.min.js', 'js/lib/markdown-it.min.js', 'Pages/Component.min.js'],
47
49
 
48
50
  // 配置js语法检测报告推送地址
package/tool/checkjs.js CHANGED
@@ -14,7 +14,7 @@ var fileSize = 300;
14
14
  // 默认忽略大小的文件
15
15
  var blackList = ['agency.js', 'craba.min.js', 'crabaEx.min.js', 'crabaNgp.js', 'echarts-all.js', 'echarts.min.js', 'math.min.js', 'craba.rollup.min.js'];
16
16
  // 语法规则,不能包含这些关键词
17
- var dangerousJs = ['\\slet\\s', '\\sconst\\s', '\=\>\\s?\\(?\\{', '\\sasync\\s', '\\sawait\\s', '\\.then\\(', '\\sdebugger\\s'];
17
+ var dangerousJs = ['\\slet\\s', '\\sconst\\s', '\=\>\\s?\\(?\\{', '\\sasync\\s', '\\sawait\\s', '\\.then\\(', '\\sdebugger\\s', 'for\\s?\\(.*?\\sin.*?\\)'];
18
18
 
19
19
  // gspx无用标签的修改建议
20
20
  var warnTagsInfo = {
@@ -89,16 +89,19 @@ module.exports.start = async function() {
89
89
  var errInfo = { list: [] };
90
90
  if (eslintResults.length > 0 && eslintResults[0].errorCount > 0) {
91
91
  var res = eslintResults[0];
92
- errList.push(filePath);
93
- errRegList.push(errInfo);
94
-
95
92
  res.messages.forEach((item) => {
93
+ if (item.message.test(/'\$\w+'\sis\snot\sdefined\./)) return; // $字符开头的全局变量不输出
96
94
  errInfo.list.push({ char: item.ruleId + ',' + item.messageId, line: item.line, endLine: item.endLine, column: item.column, msg: item.message });
97
95
  });
96
+
97
+ if (errInfo.list.length > 0) {
98
+ errList.push(filePath);
99
+ errRegList.push(errInfo);
100
+ }
98
101
  }
99
102
 
100
103
  // ------检查语法1--------
101
- var reg = new RegExp(dangerousJs.join('|'), 'ig');
104
+ var reg = new RegExp(dangerousJs.join('|'));
102
105
  if (reg.test(content)) { // 先检查是否有危险字符
103
106
  var noComment = utils.clearComment(content);// 去掉注释的代码再查一遍;因为js里面有些危险字符是被注释了的
104
107
 
@@ -294,7 +297,7 @@ function getMathReuslts(content, nreg, filterFun) {
294
297
  while (!v.done) {
295
298
  var value = v.value[0];
296
299
  if (!filterFun || filterFun(value)) {
297
- list.push({ "char": value, "column": v.value.index });
300
+ list.push({ "char": value, "column": v.value.index, 'msg': '兼容性问题,不推荐使用' });
298
301
  }
299
302
  v = all.next();
300
303
  }