tsro
Version:
TypeScript Remove Orphaned (tsro) is a CLI utility and library for TypeScript projects that detects and removes files containing invalid imports — imports that refer to nonexistent entities or nonexistent modules.
16 lines (15 loc) • 588 B
JavaScript
import ts from "typescript";
import { validateImportsInFile } from "./imports.js";
export const collectDiagnostics = (params) => {
const { fileNames, options = {}, ignoreLibImports } = params;
const program = ts.createProgram(fileNames, options);
const diagnostics = [];
for (const file of fileNames) {
const sourceFile = program.getSourceFile(file);
if (!sourceFile) {
throw new Error(`"${file}" not found`);
}
diagnostics.push(...validateImportsInFile(sourceFile, program, ignoreLibImports));
}
return diagnostics;
};