debt-collector
Version:
a nodejs tool to identify, track and mesure technical debt
20 lines (19 loc) • 866 B
JavaScript
import getFileResult from './getFileResult.js';
import { filtersRulesFromOptions } from '../filters/filterRules.js';
import { runWithConcurrency } from '../utils/promiseConcurrency.js';
export const checkFileList = async ({ fileList, config, rule, tags, increment, }) => {
const filteredRules = filtersRulesFromOptions(config, rule, tags);
const fileListConfig = {
...config,
...filteredRules,
};
if (fileList.length === 0) {
return [];
}
const tasks = fileList.map((file) => async () => await getFileResult(fileListConfig, file, increment));
const results = await runWithConcurrency(tasks, 20, { delayBetweenTasks: 0 });
// Filter out any rejected results and return only successful ones
return results
.filter((result) => result.status === 'fulfilled')
.map((result) => result.value);
};