async function main()

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` : ''),
        );
    }
}