JavaScript syntax tree transformer, nondestructive pretty-printer, and automatic source map generator