auto-cr-rules 2.0.17 → 2.0.19

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/README.md CHANGED
@@ -112,7 +112,8 @@ module.exports = { rules: [ruleA, ruleB] }
112
112
  ### 4. Run It
113
113
 
114
114
  ```bash
115
- npx auto-cr-cmd --language en --rule-dir ./examples/custom-rules -- ./examples/src
115
+ cd examples
116
+ npx auto-cr-cmd --language en --rule-dir ./examples/custom-rules -- ./src
116
117
  ```
117
118
 
118
119
  ## Project Layout
package/README.zh-CN.md CHANGED
@@ -112,8 +112,8 @@ module.exports = { rules: [ruleA, ruleB] }
112
112
  ### 4. 运行
113
113
 
114
114
  ```bash
115
- pnpm run build
116
- npx auto-cr-cmd --language zh --rule-dir ./examples/custom-rules -- ./examples/src
115
+ cd examples
116
+ npx auto-cr-cmd --language en --rule-dir ./examples/custom-rules -- ./src
117
117
  ```
118
118
 
119
119
  ## 项目结构
package/dist/index.js CHANGED
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.noDeepRelativeImports = exports.builtinRules = exports.createRuleContext = exports.toRule = exports.isRule = exports.defineRule = void 0;
3
+ exports.noDeepRelativeImports = exports.builtinRules = exports.createRuleContext = exports.toRule = exports.isRule = exports.defineRule = exports.RuleSeverity = void 0;
4
4
  var types_1 = require("./types");
5
- Object.defineProperty(exports, "defineRule", { enumerable: true, get: function () { return types_1.defineRule; } });
6
- Object.defineProperty(exports, "isRule", { enumerable: true, get: function () { return types_1.isRule; } });
7
- Object.defineProperty(exports, "toRule", { enumerable: true, get: function () { return types_1.toRule; } });
5
+ Object.defineProperty(exports, "RuleSeverity", { enumerable: true, get: function () { return types_1.RuleSeverity; } });
6
+ var types_2 = require("./types");
7
+ Object.defineProperty(exports, "defineRule", { enumerable: true, get: function () { return types_2.defineRule; } });
8
+ Object.defineProperty(exports, "isRule", { enumerable: true, get: function () { return types_2.isRule; } });
9
+ Object.defineProperty(exports, "toRule", { enumerable: true, get: function () { return types_2.toRule; } });
8
10
  var runtime_1 = require("./runtime");
9
11
  Object.defineProperty(exports, "createRuleContext", { enumerable: true, get: function () { return runtime_1.createRuleContext; } });
10
12
  var rules_1 = require("./rules");
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.noDeepRelativeImports = void 0;
4
4
  var types_1 = require("../types");
5
5
  var MAX_DEPTH = 2;
6
- exports.noDeepRelativeImports = (0, types_1.defineRule)('no-deep-relative-imports', { tag: 'base' }, function (_a) {
6
+ exports.noDeepRelativeImports = (0, types_1.defineRule)('no-deep-relative-imports', { tag: 'base', severity: types_1.RuleSeverity.Warning }, function (_a) {
7
7
  var helpers = _a.helpers, messages = _a.messages;
8
8
  for (var _i = 0, _b = helpers.imports; _i < _b.length; _i++) {
9
9
  var reference = _b[_i];
@@ -1,4 +1,5 @@
1
1
  export type { ImportReference, Language, Rule, RuleMetadata, RuleContext, RuleHelpers, RuleMessages, RuleReporter, } from './types';
2
+ export { RuleSeverity } from './types';
2
3
  export { defineRule, isRule, toRule } from './types';
3
4
  export { createRuleContext } from './runtime';
4
5
  export type { RuleContextOptions } from './runtime';
@@ -5,6 +5,11 @@ export interface RuleReporter {
5
5
  errorAtSpan(span: Span | undefined, message: string): void;
6
6
  errorAtLine(line: number | undefined, message: string): void;
7
7
  }
8
+ export declare enum RuleSeverity {
9
+ Error = "error",
10
+ Warning = "warning",
11
+ Optimizing = "optimizing"
12
+ }
8
13
  export interface ImportReference {
9
14
  kind: 'static' | 'dynamic' | 'require';
10
15
  value: string;
@@ -33,10 +38,12 @@ export interface RuleContext {
33
38
  }
34
39
  export interface RuleMetadata {
35
40
  tag?: string;
41
+ severity?: RuleSeverity;
36
42
  }
37
43
  export interface Rule {
38
44
  name: string;
39
45
  tag?: string;
46
+ severity?: RuleSeverity;
40
47
  run(context: RuleContext): void | Promise<void>;
41
48
  }
42
49
  export declare function defineRule(name: string, runner: (context: RuleContext) => void | Promise<void>): Rule;
package/dist/types.js CHANGED
@@ -11,15 +11,22 @@ var __assign = (this && this.__assign) || function () {
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.toRule = exports.isRule = void 0;
14
+ exports.toRule = exports.isRule = exports.RuleSeverity = void 0;
15
15
  exports.defineRule = defineRule;
16
+ var RuleSeverity;
17
+ (function (RuleSeverity) {
18
+ RuleSeverity["Error"] = "error";
19
+ RuleSeverity["Warning"] = "warning";
20
+ RuleSeverity["Optimizing"] = "optimizing";
21
+ })(RuleSeverity || (exports.RuleSeverity = RuleSeverity = {}));
16
22
  function defineRule(name, metadataOrRunner, maybeRunner) {
23
+ var _a;
17
24
  var metadata = typeof metadataOrRunner === 'function' ? {} : metadataOrRunner;
18
25
  var runner = typeof metadataOrRunner === 'function' ? metadataOrRunner : maybeRunner;
19
26
  if (!runner) {
20
27
  throw new Error('defineRule requires a rule runner function');
21
28
  }
22
- return __assign(__assign({ name: name }, metadata), { run: runner });
29
+ return __assign(__assign({ name: name }, metadata), { severity: (_a = metadata.severity) !== null && _a !== void 0 ? _a : RuleSeverity.Error, run: runner });
23
30
  }
24
31
  var isRule = function (value) {
25
32
  return (typeof value === 'object' &&
@@ -27,17 +34,22 @@ var isRule = function (value) {
27
34
  typeof value.name === 'string' &&
28
35
  typeof value.run === 'function' &&
29
36
  (typeof value.tag === 'undefined' ||
30
- typeof value.tag === 'string'));
37
+ typeof value.tag === 'string') &&
38
+ (typeof value.severity === 'undefined' ||
39
+ (typeof value.severity === 'string' &&
40
+ Object.values(RuleSeverity).includes(value.severity))));
31
41
  };
32
42
  exports.isRule = isRule;
33
43
  var toRule = function (value, origin) {
44
+ var _a;
34
45
  if ((0, exports.isRule)(value)) {
35
- return value;
46
+ return __assign({ severity: (_a = value.severity) !== null && _a !== void 0 ? _a : RuleSeverity.Error }, value);
36
47
  }
37
48
  if (typeof value === 'function') {
38
49
  var fn = value;
39
50
  return {
40
51
  name: fn.name || origin,
52
+ severity: RuleSeverity.Error,
41
53
  run: fn,
42
54
  };
43
55
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "auto-cr-rules",
3
- "version": "2.0.17",
3
+ "version": "2.0.19",
4
4
  "description": "Extensible static analysis rule set for the auto-cr automated code review toolkit",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/types/index.d.ts",