AST-based builder for JavaScript