UNPKG

auto-cr-cmd

Version:

auto-cr-cmd是一个基于 AST(抽象语法树)分析的命令行工具,用于检查代码是否符合预定义的规则集。它支持灵活定制规则,并可集成到 CI/CD 流程中,助力团队实现代码质量的自动化管控

48 lines (47 loc) 1.72 kB
"use strict"; 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; }