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 +8 -1
- package/package.json +1 -1
- package/test/test.js +2 -0
- package/tool/checkjs.js +9 -6
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
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('|')
|
|
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
|
}
|