Manipulating AST with JavaScript
Manipulating AST is not that hard anyway
JavaScriptASTtransformdepth-first-search