auto-cr-cmd 2.0.16 → 2.0.18
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/dist/i18n/index.js +18 -2
- package/dist/report/index.js +22 -9
- package/dist/types/i18n/index.d.ts +4 -2
- package/dist/types/report/index.d.ts +1 -1
- package/package.json +4 -3
package/dist/i18n/index.js
CHANGED
|
@@ -46,7 +46,15 @@ var translations = {
|
|
|
46
46
|
return "\u52A0\u8F7D\u81EA\u5B9A\u4E49\u89C4\u5219\u5931\u8D25: ".concat(file);
|
|
47
47
|
},
|
|
48
48
|
tsconfigReadFailed: function () { return '警告: 无法读取 tsconfig.json'; },
|
|
49
|
-
|
|
49
|
+
reporterSeverityLabel: function (_a) {
|
|
50
|
+
var severity = _a.severity;
|
|
51
|
+
var labels = {
|
|
52
|
+
error: '错误',
|
|
53
|
+
warning: '警告',
|
|
54
|
+
optimizing: '优化建议',
|
|
55
|
+
};
|
|
56
|
+
return labels[severity];
|
|
57
|
+
},
|
|
50
58
|
ruleTagLabel: function (_a) {
|
|
51
59
|
var _b;
|
|
52
60
|
var tag = _a.tag;
|
|
@@ -98,7 +106,15 @@ var translations = {
|
|
|
98
106
|
return "Failed to load custom rule: ".concat(file);
|
|
99
107
|
},
|
|
100
108
|
tsconfigReadFailed: function () { return 'Warning: Failed to read tsconfig.json'; },
|
|
101
|
-
|
|
109
|
+
reporterSeverityLabel: function (_a) {
|
|
110
|
+
var severity = _a.severity;
|
|
111
|
+
var labels = {
|
|
112
|
+
error: 'ERROR',
|
|
113
|
+
warning: 'WARNING',
|
|
114
|
+
optimizing: 'OPTIMIZING',
|
|
115
|
+
};
|
|
116
|
+
return labels[severity];
|
|
117
|
+
},
|
|
102
118
|
ruleTagLabel: function (_a) {
|
|
103
119
|
var _b;
|
|
104
120
|
var tag = _a.tag;
|
package/dist/report/index.js
CHANGED
|
@@ -2,28 +2,34 @@
|
|
|
2
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
|
+
var _a;
|
|
5
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
7
|
exports.createReporter = createReporter;
|
|
8
|
+
var auto_cr_rules_1 = require("auto-cr-rules");
|
|
7
9
|
var consola_1 = __importDefault(require("consola"));
|
|
8
10
|
var i18n_1 = require("../i18n");
|
|
9
11
|
var UNTAGGED_TAG = 'untagged';
|
|
12
|
+
var severityLoggers = (_a = {},
|
|
13
|
+
_a[auto_cr_rules_1.RuleSeverity.Error] = consola_1.default.error,
|
|
14
|
+
_a[auto_cr_rules_1.RuleSeverity.Warning] = consola_1.default.warn,
|
|
15
|
+
_a[auto_cr_rules_1.RuleSeverity.Optimizing] = consola_1.default.info,
|
|
16
|
+
_a);
|
|
10
17
|
function createReporter(filePath, source) {
|
|
11
18
|
var offsets = buildLineOffsets(source);
|
|
12
19
|
var t = (0, i18n_1.getTranslator)();
|
|
13
|
-
var errorLabel = t.reporterErrorLabel();
|
|
14
20
|
var records = new Map();
|
|
15
|
-
var pushRecord = function (tag, ruleName, message, line) {
|
|
21
|
+
var pushRecord = function (tag, ruleName, message, severity, line) {
|
|
16
22
|
if (!records.has(tag)) {
|
|
17
23
|
records.set(tag, []);
|
|
18
24
|
}
|
|
19
|
-
records.get(tag).push({ line: line, message: message, ruleName: ruleName });
|
|
25
|
+
records.get(tag).push({ line: line, message: message, ruleName: ruleName, severity: severity });
|
|
20
26
|
};
|
|
21
|
-
var makeStore = function (tag, ruleName) {
|
|
27
|
+
var makeStore = function (tag, ruleName, severity) {
|
|
22
28
|
return function (message, line) {
|
|
23
|
-
pushRecord(tag, ruleName, message, line);
|
|
29
|
+
pushRecord(tag, ruleName, message, severity, line);
|
|
24
30
|
};
|
|
25
31
|
};
|
|
26
|
-
var generalStore = makeStore(UNTAGGED_TAG, 'general');
|
|
32
|
+
var generalStore = makeStore(UNTAGGED_TAG, 'general', auto_cr_rules_1.RuleSeverity.Error);
|
|
27
33
|
var error = function (message) {
|
|
28
34
|
generalStore(message);
|
|
29
35
|
};
|
|
@@ -40,9 +46,10 @@ function createReporter(filePath, source) {
|
|
|
40
46
|
errorAtLine(line, message);
|
|
41
47
|
};
|
|
42
48
|
var buildRuleReporter = function (rule) {
|
|
43
|
-
var _a;
|
|
49
|
+
var _a, _b;
|
|
44
50
|
var tag = (_a = rule.tag) !== null && _a !== void 0 ? _a : UNTAGGED_TAG;
|
|
45
|
-
var
|
|
51
|
+
var severity = (_b = rule.severity) !== null && _b !== void 0 ? _b : auto_cr_rules_1.RuleSeverity.Error;
|
|
52
|
+
var store = makeStore(tag, rule.name, severity);
|
|
46
53
|
var scopedError = function (message) {
|
|
47
54
|
store(message);
|
|
48
55
|
};
|
|
@@ -82,7 +89,9 @@ function createReporter(filePath, source) {
|
|
|
82
89
|
violations.forEach(function (violation) {
|
|
83
90
|
var location = typeof violation.line === 'number' ? "".concat(filePath, ":").concat(violation.line) : filePath;
|
|
84
91
|
var ruleSuffix = violation.ruleName ? " (".concat(violation.ruleName, ")") : '';
|
|
85
|
-
|
|
92
|
+
var severityLabel = t.reporterSeverityLabel({ severity: violation.severity });
|
|
93
|
+
var logger = getLoggerForSeverity(violation.severity);
|
|
94
|
+
logger("[".concat(severityLabel, "] ").concat(location).concat(ruleSuffix, " ").concat(violation.message));
|
|
86
95
|
});
|
|
87
96
|
});
|
|
88
97
|
records.clear();
|
|
@@ -92,6 +101,10 @@ function createReporter(filePath, source) {
|
|
|
92
101
|
flush: flush,
|
|
93
102
|
});
|
|
94
103
|
}
|
|
104
|
+
function getLoggerForSeverity(severity) {
|
|
105
|
+
var _a;
|
|
106
|
+
return (_a = severityLoggers[severity]) !== null && _a !== void 0 ? _a : consola_1.default.error;
|
|
107
|
+
}
|
|
95
108
|
function extractSpan(spanLike) {
|
|
96
109
|
if (!spanLike) {
|
|
97
110
|
return undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Language } from 'auto-cr-rules';
|
|
1
|
+
import type { Language, RuleSeverity } from 'auto-cr-rules';
|
|
2
2
|
interface Translator {
|
|
3
3
|
noPathsProvided(): string;
|
|
4
4
|
allPathsMissing(): string;
|
|
@@ -33,7 +33,9 @@ interface Translator {
|
|
|
33
33
|
file: string;
|
|
34
34
|
}): string;
|
|
35
35
|
tsconfigReadFailed(): string;
|
|
36
|
-
|
|
36
|
+
reporterSeverityLabel(params: {
|
|
37
|
+
severity: RuleSeverity;
|
|
38
|
+
}): string;
|
|
37
39
|
ruleTagLabel(params: {
|
|
38
40
|
tag: string;
|
|
39
41
|
}): string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Rule, RuleReporter } from 'auto-cr-rules';
|
|
2
2
|
export interface Reporter extends RuleReporter {
|
|
3
|
-
forRule(rule: Pick<Rule, 'name' | 'tag'>): RuleReporter;
|
|
3
|
+
forRule(rule: Pick<Rule, 'name' | 'tag' | 'severity'>): RuleReporter;
|
|
4
4
|
flush(): void;
|
|
5
5
|
}
|
|
6
6
|
export declare function createReporter(filePath: string, source: string): Reporter;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "auto-cr-cmd",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.18",
|
|
4
4
|
"description": "Fast automated code review CLI powered by SWC-based static analysis",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/types/index.d.ts",
|
|
@@ -37,7 +37,8 @@
|
|
|
37
37
|
"license": "MIT",
|
|
38
38
|
"repository": {
|
|
39
39
|
"type": "git",
|
|
40
|
-
"url": "https://github.com/wangweiwei/auto-cr.git"
|
|
40
|
+
"url": "https://github.com/wangweiwei/auto-cr.git",
|
|
41
|
+
"directory": "packages/auto-cr-cmd"
|
|
41
42
|
},
|
|
42
43
|
"homepage": "https://github.com/wangweiwei/auto-cr#readme",
|
|
43
44
|
"bugs": {
|
|
@@ -47,7 +48,7 @@
|
|
|
47
48
|
"dependencies": {
|
|
48
49
|
"@swc/core": "^1.13.20",
|
|
49
50
|
"@swc/wasm": "^1.13.20",
|
|
50
|
-
"auto-cr-rules": "^2.0.
|
|
51
|
+
"auto-cr-rules": "^2.0.18",
|
|
51
52
|
"commander": "^14.0.0",
|
|
52
53
|
"consola": "^3.4.2"
|
|
53
54
|
},
|