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.
@@ -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
- reporterErrorLabel: function () { return '错误'; },
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
- reporterErrorLabel: function () { return 'ERROR'; },
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;
@@ -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 store = makeStore(tag, rule.name);
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
- consola_1.default.error("[".concat(errorLabel, "] ").concat(location).concat(ruleSuffix, " ").concat(violation.message));
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
- reporterErrorLabel(): string;
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.16",
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.16",
51
+ "auto-cr-rules": "^2.0.18",
51
52
  "commander": "^14.0.0",
52
53
  "consola": "^3.4.2"
53
54
  },