JavaScript AST manipulation: reducing indirection, undoing string concealing | Heykuki News