UNPKG

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
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; };