TypeScriptプロジェクトをASTに解析する必要があります。TypeScriptコードベースをASTに解析する方法
私がすることによって、単一のファイルを解析することができます
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));
私も拡張子によってファイルやフィルタファイルをループし、上記のコードの実行がASTを生成することができます。
しかし、私はASTで関係(インポートなど)が保持されるようにプロジェクト全体を解析したいと思います。
例えば:
a.ts:
場合、a.tsは以下のようにb.tsからVAR xを参照している
var y = x;
b.ts:
var x = 5;
この場合、.ts内のxの署名は、b.ts.xまたは同等のものとして解決されます。
私はちょうど.tsファイルを1つずつ解析するときに、このような関係をすべてAStsで解決したいと思っています。