Ich möchte TypeScript-Projekte in ASTs parsen.Wie man eine TypeScript-Codebasis in ASTs zerlegt
kann ich durch einzelne Datei analysieren:
import ts = require("typescript");
var fs = require('fs');
var util = require('util');
const ast = ts.createSourceFile('sample.ts', fs.readFileSync('sample.ts').toString(), ts.ScriptTarget.ES6, true);
console.log("AST:"+util.inspect(ast));
Ich kann sogar eine Schleife durch die Dateien und Filtern von Dateien nach Erweiterung und über Code ausführen ASt erzeugen.
Allerdings möchte ich das gesamte Projekt so analysieren, dass die Beziehungen (wie Importe) in AST erhalten bleiben.
Zum Beispiel:
Wenn a.ts verweist var x von b.ts wie folgt:
a.ts:
var y = x;
b.ts:
var x = 5;
In diesem Fall sollte die Signatur von x in einem .ts wie folgt aufgelöst werden: b.ts.x oder gleichwertig.
Ich möchte nur solche Beziehungen in den ASts gelöst, wie ich die .ts-Dateien nacheinander analysieren.