@codechecks/client
Version:
Open source platform for code review automation
45 lines • 1.74 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const path_1 = require("path");
const fs_1 = require("fs");
const tsExecutor_1 = require("./tsExecutor");
const jsExecutor_1 = require("./jsExecutor");
const executeJson_1 = require("./executeJson");
const executeYaml_1 = require("./executeYaml");
const errors_1 = require("../utils/errors");
const CODECHECKS_FILES_NAMES = [
"codechecks.yml",
"codechecks.yaml",
"codechecks.json",
"codechecks.ts",
"codechecks.js",
];
async function executeCodechecksFile(codeChecksFilePath, options) {
const extension = path_1.extname(codeChecksFilePath).slice(1);
switch (extension) {
case "ts":
return await tsExecutor_1.executeTs(codeChecksFilePath, options);
case "js":
case "": // requiring a module
return await jsExecutor_1.executeJs(codeChecksFilePath, options);
case "json":
return await executeJson_1.executeCodechecksJson(codeChecksFilePath);
case "yml":
case "yaml":
return await executeYaml_1.executeCodechecksYaml(codeChecksFilePath);
default:
throw errors_1.crash(`Unsupported file extension ${extension}`);
}
}
exports.executeCodechecksFile = executeCodechecksFile;
function findCodechecksFiles(basePath) {
const existingFiles = CODECHECKS_FILES_NAMES.map(n => path_1.join(basePath, n)).filter(filePath => {
return fs_1.existsSync(filePath);
});
if (existingFiles.length === 0) {
throw errors_1.crash(`Couldnt find CodeChecks files. Checked path: ${basePath}`);
}
return existingFiles;
}
exports.findCodechecksFiles = findCodechecksFiles;
//# sourceMappingURL=execution.js.map