コードの理解のため、javascriptのcall graphを作成したいが、
なかなか全対応のソフトが見つからない。
ECMAScriptのバージョンの違いやビルドツール(webpack,gulp等)の違いを吸収しきれないようだ。
code2flow
例えばcode2flowがあるが、もうメンテナンスされておらず、最新のコードはうまく処理できない。
これが使えれば言うことなしなのだが。
AST
次にAST(abstract syntax tree)構文解析でコードをパースして、そこからさらにcall graphを作成する方法。
AST解析ツールはたとえばesprimaがjqueryにより精力的にメンテナンスされている。
デモ
http://esprima.org/demo/parse.html
ASTからcall graphを作成するにはesgraphがあるが、メンテナンスされていないようだ。
またesgraphとviz.js(graphvizのjs版)を利用し、Web上でjavascriptコードからcall graphを作成できるesgraph-graphviz-onlineがある。
メンテナンスされていないようだ。作者は日本人らしい。
結論
js->ASTまではうまくいくが、AST->dot(graphvizファイル)へうまく変換するソフトが見つかっていない。
とりあえず見つかるまでは、勉強もかねて手書きでオンラインのgraphvizを使って書いていく。
https://dreampuf.github.io/GraphvizOnline/
http://viz-js.com/