recast (npm): JavaScript syntax tree transformer, nondestructive pretty-printer, and automatic source map generator
Keywords: ast|rewriting|refactoring|codegen|syntax|transformation|parsing|pretty-printing