@knapsack-pro/core
Version:
Knapsack Pro Core library splits tests across CI nodes and makes sure that tests will run in optimal time on each CI node. This library gives core features like communication with KnapsackPro.com API. This library is a dependency for other projects specif
29 lines (28 loc) • 1.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TestFilesFinder = void 0;
const fs_1 = require("fs");
const config_1 = require("./config");
const knapsack_pro_logger_1 = require("./knapsack-pro-logger");
class TestFilesFinder {
static testFilesFromSourceFile() {
if (!config_1.KnapsackProEnvConfig.testFileListSourceFile) {
return null;
}
const knapsackProLogger = new knapsack_pro_logger_1.KnapsackProLogger();
knapsackProLogger.debug(`The KNAPSACK_PRO_TEST_FILE_LIST_SOURCE_FILE environment variable is defined. Knapsack will execute test files based on a list of test files from a file: ${config_1.KnapsackProEnvConfig.testFileListSourceFile}.`);
const allFileContents = (0, fs_1.readFileSync)(config_1.KnapsackProEnvConfig.testFileListSourceFile, 'utf-8');
const testFiles = [];
allFileContents.split(/\r?\n/).forEach((line) => {
const testFilePath = line.trim();
if (testFilePath.length === 0) {
return;
}
testFiles.push({
path: testFilePath,
});
});
return testFiles;
}
}
exports.TestFilesFinder = TestFilesFinder;