in tools/strict-null-checks/find.js [22:57]
async function main() {
const eligibleFiles = await getUncheckedLeafFiles();
const eligibleSet = new Set(eligibleFiles);
const dependedOnCount = new Map(eligibleFiles.map(file => [file, 0]));
for (const file of await getAllEligibleFiles()) {
if (eligibleSet.has(file)) {
// Already added
continue;
}
for (const imp of getImportsForFile(file, srcRoot)) {
if (dependedOnCount.has(imp)) {
dependedOnCount.set(imp, dependedOnCount.get(imp) + 1);
}
}
}
let out = Array.from(dependedOnCount.entries());
if (filter) {
out = out.filter(x => filter(x[0]));
}
if (sortBy === 'count') {
out = out.sort((a, b) => b[1] - a[1]);
} else if (sortBy === 'name') {
out = out.sort((a, b) => a[0].localeCompare(b[0]));
}
for (const pair of out) {
console.log(
toFormattedFilePath(pair[0]) +
(printDependedOnCount ? ` — Depended on by **${pair[1]}** files` : ''),
);
}
}