auto-cr-cmd
Version:
auto-cr-cmd是一个基于 AST(抽象语法树)分析的命令行工具,用于检查代码是否符合预定义的规则集。它支持灵活定制规则,并可集成到 CI/CD 流程中,助力团队实现代码质量的自动化管控
48 lines (47 loc) • 1.72 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.readFile = void 0;
exports.getAllFiles = getAllFiles;
exports.checkPathExists = checkPathExists;
var fs_1 = __importDefault(require("fs"));
var path_1 = __importDefault(require("path"));
var consola_1 = require("consola");
var readFile = function (path) {
return fs_1.default.readFileSync(path, 'utf-8');
};
exports.readFile = readFile;
/**
* 递归获取目录下所有 TypeScript 和 JavaScript 文件
*/
function getAllFiles(dirPath, arrayOfFiles, extensions) {
if (arrayOfFiles === void 0) { arrayOfFiles = []; }
if (extensions === void 0) { extensions = ['.ts', '.tsx', '.js', '.jsx']; }
if (!fs_1.default.existsSync(dirPath))
return arrayOfFiles;
var files = fs_1.default.readdirSync(dirPath);
files.forEach(function (file) {
var fullPath = path_1.default.join(dirPath, file);
if (fs_1.default.statSync(fullPath).isDirectory()) {
arrayOfFiles = getAllFiles(fullPath, arrayOfFiles, extensions);
}
else {
if (extensions === null || extensions === void 0 ? void 0 : extensions.some(function (ext) { return fullPath.endsWith(ext); })) {
arrayOfFiles.push(fullPath);
}
}
});
return arrayOfFiles;
}
/**
* 检查文件或目录是否存在
*/
function checkPathExists(targetPath) {
if (!fs_1.default.existsSync(targetPath)) {
consola_1.consola.error("\u8DEF\u5F84\u4E0D\u5B58\u5728: ".concat(targetPath));
return false;
}
return true;
}
;