2017-08-16 8 views
3

私の目標は、特定のTypeScript ASTノードの位置(開始点と終了点)を発行(JavaScript)ファイルで取得することです。TypeScriptコンパイラapi:特定のASTノードの生成コード内の位置を取得

例えば、このコードを取る:

const program = ts.createProgram(tsconfig.fileNames, tsconfig.options); 
const aNode = program.getSourceFiles()[0].getChildAt(1); 
const emittedFiles = []; 
program.emit(/*targetSourceFile */undefined, /*writeFile*/ (fileName, content) => emittedFiles.push({ fileName, content })); 

にはどうすればaNodeで表されたコードの位置を得ることができますか?

私が今これを試している方法は、ソースマップファイルをキャプチャして、https://npmjs.org/package/source-mapを使用して場所をリバースエンジニアリングすることです。しかし、ソースマップファイルは私に位置の推定を与えるだけです。

送信元マップファイルを使用して正確な位置をリバースエンジニアリングする方法や、送信フェーズでノードがJavaScript出力に書き込まれるため、正確な位置を傍受する方法はありますか?

答えて

関連する問題