auto-cr-cmd 1.0.8 → 1.0.9

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/index.js CHANGED
@@ -1,16 +1,5 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
- var __assign = (this && this.__assign) || function () {
4
- __assign = Object.assign || function(t) {
5
- for (var s, i = 1, n = arguments.length; i < n; i++) {
6
- s = arguments[i];
7
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
8
- t[p] = s[p];
9
- }
10
- return t;
11
- };
12
- return __assign.apply(this, arguments);
13
- };
14
3
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
4
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
5
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -47,97 +36,10 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
47
36
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
48
37
  }
49
38
  };
50
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
51
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
52
- if (ar || !(i in from)) {
53
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
54
- ar[i] = from[i];
55
- }
56
- }
57
- return to.concat(ar || Array.prototype.slice.call(from));
58
- };
59
- var __importDefault = (this && this.__importDefault) || function (mod) {
60
- return (mod && mod.__esModule) ? mod : { "default": mod };
61
- };
62
39
  Object.defineProperty(exports, "__esModule", { value: true });
63
40
  var consola_1 = require("consola");
64
- var fs_1 = __importDefault(require("fs"));
65
41
  var commander_1 = require("commander");
66
- var config_1 = require("./babel/config");
67
- var file_1 = require("./utils/file");
68
- var core_1 = require("@babel/core");
69
- var report_1 = require("./report");
70
- var path_1 = __importDefault(require("path"));
71
- var auto_cr_rules_1 = require("auto-cr-rules");
72
- function run() {
73
- return __awaiter(this, arguments, void 0, function (filePaths, ruleDir) {
74
- var validPaths, allFiles, _i, validPaths_1, targetPath, stat, directoryFiles, plugins, ruleFullDir, _a, allFiles_1, file;
75
- if (filePaths === void 0) { filePaths = []; }
76
- return __generator(this, function (_b) {
77
- try {
78
- if (filePaths.length === 0) {
79
- consola_1.consola.info('未提供文件或目录路径,跳过代码扫描');
80
- return [2 /*return*/];
81
- }
82
- validPaths = filePaths.filter(function (path) { return (0, file_1.checkPathExists)(path); });
83
- if (validPaths.length === 0) {
84
- consola_1.consola.error('所有提供的路径均不存在,终止操作');
85
- return [2 /*return*/];
86
- }
87
- allFiles = [];
88
- for (_i = 0, validPaths_1 = validPaths; _i < validPaths_1.length; _i++) {
89
- targetPath = validPaths_1[_i];
90
- stat = fs_1.default.statSync(targetPath);
91
- if (stat.isFile()) {
92
- // 如果是文件,直接添加到扫描列表
93
- allFiles.push(targetPath);
94
- }
95
- else if (stat.isDirectory()) {
96
- // 如果是目录,递归获取所有相关文件
97
- consola_1.consola.info("\u626B\u63CF\u76EE\u5F55: ".concat(targetPath));
98
- directoryFiles = (0, file_1.getAllFiles)(targetPath);
99
- allFiles = __spreadArray(__spreadArray([], allFiles, true), directoryFiles, true);
100
- }
101
- }
102
- if (allFiles.length === 0) {
103
- consola_1.consola.info('未找到需要扫描的文件');
104
- return [2 /*return*/];
105
- }
106
- plugins = void 0;
107
- if (ruleDir === null || ruleDir === void 0 ? void 0 : ruleDir.length) {
108
- ruleFullDir = path_1.default.resolve(__dirname, ruleDir !== null && ruleDir !== void 0 ? ruleDir : '');
109
- plugins = (0, file_1.getAllFiles)(ruleFullDir, [], ['.js'])
110
- .map(function (file) {
111
- var fileName = file.split('/').reverse()[0];
112
- if (fileName !== 'index.js' && fileName !== 'types.js') {
113
- // eslint-disable-next-line @typescript-eslint/no-require-imports
114
- return [require(file), { report: report_1.report }];
115
- }
116
- return undefined;
117
- })
118
- .filter(function (item) { return item !== undefined; });
119
- }
120
- // 执行扫描
121
- for (_a = 0, allFiles_1 = allFiles; _a < allFiles_1.length; _a++) {
122
- file = allFiles_1[_a];
123
- consola_1.consola.info("\u626B\u63CF\u6587\u4EF6: ".concat(file));
124
- try {
125
- (0, core_1.transformSync)((0, file_1.readFile)(file), __assign(__assign({}, config_1.babelConfig), { plugins: __spreadArray(__spreadArray([], auto_cr_rules_1.rules.map(function (rule) { return [rule, { report: report_1.report }]; }), true), (plugins || []), true) }));
126
- }
127
- catch (error) {
128
- consola_1.consola.error("\u6587\u4EF6\u626B\u63CF\u5931\u8D25: ".concat(file), error instanceof Error ? error.message : error);
129
- }
130
- }
131
- consola_1.consola.success('代码扫描完成');
132
- }
133
- catch (error) {
134
- consola_1.consola.error('代码扫描过程中发生错误:', error instanceof Error ? error.message : error);
135
- process.exit(1);
136
- }
137
- return [2 /*return*/];
138
- });
139
- });
140
- }
42
+ var run_1 = require("./run");
141
43
  commander_1.program
142
44
  .argument('[paths...]', '需要扫描的文件或目录路径列表')
143
45
  .option('-r, --rule-dir <directory>', '自定义规则目录路径')
@@ -150,7 +52,7 @@ var filePaths = commander_1.program.args;
150
52
  switch (_a.label) {
151
53
  case 0:
152
54
  _a.trys.push([0, 2, , 3]);
153
- return [4 /*yield*/, run(filePaths, options.ruleDir)];
55
+ return [4 /*yield*/, (0, run_1.run)(filePaths, options.ruleDir)];
154
56
  case 1:
155
57
  _a.sent();
156
58
  process.exit(0);
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export declare function run(filePaths?: string[], ruleDir?: string): Promise<void>;
@@ -0,0 +1,140 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __assign = (this && this.__assign) || function () {
4
+ __assign = Object.assign || function(t) {
5
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
6
+ s = arguments[i];
7
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
8
+ t[p] = s[p];
9
+ }
10
+ return t;
11
+ };
12
+ return __assign.apply(this, arguments);
13
+ };
14
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
+ return new (P || (P = Promise))(function (resolve, reject) {
17
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
21
+ });
22
+ };
23
+ var __generator = (this && this.__generator) || function (thisArg, body) {
24
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
25
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
26
+ function verb(n) { return function (v) { return step([n, v]); }; }
27
+ function step(op) {
28
+ if (f) throw new TypeError("Generator is already executing.");
29
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
30
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
31
+ if (y = 0, t) op = [op[0] & 2, t.value];
32
+ switch (op[0]) {
33
+ case 0: case 1: t = op; break;
34
+ case 4: _.label++; return { value: op[1], done: false };
35
+ case 5: _.label++; y = op[1]; op = [0]; continue;
36
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
37
+ default:
38
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
39
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
40
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
41
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
42
+ if (t[2]) _.ops.pop();
43
+ _.trys.pop(); continue;
44
+ }
45
+ op = body.call(thisArg, _);
46
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
47
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
48
+ }
49
+ };
50
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
51
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
52
+ if (ar || !(i in from)) {
53
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
54
+ ar[i] = from[i];
55
+ }
56
+ }
57
+ return to.concat(ar || Array.prototype.slice.call(from));
58
+ };
59
+ var __importDefault = (this && this.__importDefault) || function (mod) {
60
+ return (mod && mod.__esModule) ? mod : { "default": mod };
61
+ };
62
+ Object.defineProperty(exports, "__esModule", { value: true });
63
+ exports.run = run;
64
+ var consola_1 = require("consola");
65
+ var fs_1 = __importDefault(require("fs"));
66
+ var config_1 = require("../babel/config");
67
+ var file_1 = require("../utils/file");
68
+ var core_1 = require("@babel/core");
69
+ var report_1 = require("../report");
70
+ var path_1 = __importDefault(require("path"));
71
+ var auto_cr_rules_1 = require("auto-cr-rules");
72
+ function run() {
73
+ return __awaiter(this, arguments, void 0, function (filePaths, ruleDir) {
74
+ var validPaths, allFiles, _i, validPaths_1, targetPath, stat, directoryFiles, plugins, ruleFullDir, _a, allFiles_1, file;
75
+ if (filePaths === void 0) { filePaths = []; }
76
+ return __generator(this, function (_b) {
77
+ try {
78
+ if (filePaths.length === 0) {
79
+ consola_1.consola.info('未提供文件或目录路径,跳过代码扫描');
80
+ return [2 /*return*/];
81
+ }
82
+ validPaths = filePaths.filter(function (path) { return (0, file_1.checkPathExists)(path); });
83
+ if (validPaths.length === 0) {
84
+ consola_1.consola.error('所有提供的路径均不存在,终止操作');
85
+ return [2 /*return*/];
86
+ }
87
+ allFiles = [];
88
+ for (_i = 0, validPaths_1 = validPaths; _i < validPaths_1.length; _i++) {
89
+ targetPath = validPaths_1[_i];
90
+ stat = fs_1.default.statSync(targetPath);
91
+ if (stat.isFile()) {
92
+ // 如果是文件,直接添加到扫描列表
93
+ allFiles.push(targetPath);
94
+ }
95
+ else if (stat.isDirectory()) {
96
+ // 如果是目录,递归获取所有相关文件
97
+ consola_1.consola.info("\u626B\u63CF\u76EE\u5F55: ".concat(targetPath));
98
+ directoryFiles = (0, file_1.getAllFiles)(targetPath);
99
+ allFiles = __spreadArray(__spreadArray([], allFiles, true), directoryFiles, true);
100
+ }
101
+ }
102
+ if (allFiles.length === 0) {
103
+ consola_1.consola.info('未找到需要扫描的文件');
104
+ return [2 /*return*/];
105
+ }
106
+ plugins = void 0;
107
+ if (ruleDir === null || ruleDir === void 0 ? void 0 : ruleDir.length) {
108
+ ruleFullDir = path_1.default.resolve(__dirname, ruleDir !== null && ruleDir !== void 0 ? ruleDir : '');
109
+ plugins = (0, file_1.getAllFiles)(ruleFullDir, [], ['.js'])
110
+ .map(function (file) {
111
+ var fileName = file.split('/').reverse()[0];
112
+ if (fileName !== 'index.js' && fileName !== 'types.js') {
113
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
114
+ return [require(file), { report: report_1.report }];
115
+ }
116
+ return undefined;
117
+ })
118
+ .filter(function (item) { return item !== undefined; });
119
+ }
120
+ // 执行扫描
121
+ for (_a = 0, allFiles_1 = allFiles; _a < allFiles_1.length; _a++) {
122
+ file = allFiles_1[_a];
123
+ consola_1.consola.info("\u626B\u63CF\u6587\u4EF6: ".concat(file));
124
+ try {
125
+ (0, core_1.transformSync)((0, file_1.readFile)(file), __assign(__assign({}, config_1.babelConfig), { plugins: __spreadArray(__spreadArray([], auto_cr_rules_1.rules.map(function (rule) { return [rule, { report: report_1.report }]; }), true), (plugins || []), true) }));
126
+ }
127
+ catch (error) {
128
+ consola_1.consola.error("\u6587\u4EF6\u626B\u63CF\u5931\u8D25: ".concat(file), error instanceof Error ? error.message : error);
129
+ }
130
+ }
131
+ consola_1.consola.success('代码扫描完成');
132
+ }
133
+ catch (error) {
134
+ consola_1.consola.error('代码扫描过程中发生错误:', error instanceof Error ? error.message : error);
135
+ process.exit(1);
136
+ }
137
+ return [2 /*return*/];
138
+ });
139
+ });
140
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "auto-cr-cmd",
3
- "version": "1.0.8",
3
+ "version": "1.0.9",
4
4
  "description": "旨在帮助开发团队在代码合并或提交时快速进行智能化审查,提升代码质量与开发效率。",
5
5
  "type": "commonjs",
6
6
  "main": "./dist/index.js",