linguist-js
Version:
Analyse the programming languages used in a folder or from raw content, using the same rules that GitHub Linguist does.
13 lines (12 loc) • 777 B
JavaScript
import { aggregateResults } from './pipeline/aggregate.js';
import { classifyFiles } from './pipeline/classify.js';
import { filterFiles } from './pipeline/filter.js';
import { resolveHeuristics } from './pipeline/heuristics.js';
import { normaliseFiles } from './pipeline/normalise.js';
export default function analyseVirtualFiles(files, langData, heuristicsData, opts) {
const normalizedFiles = normaliseFiles(files);
const filteredFiles = filterFiles(normalizedFiles, opts);
const classifications = classifyFiles(filteredFiles, langData, opts);
const heuristicResolutions = resolveHeuristics(filteredFiles, classifications, heuristicsData, langData, opts);
return aggregateResults(filteredFiles, classifications, heuristicResolutions, langData, opts);
}