JavaScript syntax tree transformer and conservative pretty-printer