I've been working on a very similar tool, interesting to see some competition. :-)<p><a href="https://github.com/alangpierce/sucrase" rel="nofollow">https://github.com/alangpierce/sucrase</a><p>In my case, it's still running as JS, but rearchitected to solve the more straightforward problem where you don't need to compile to ES5. I've thought about rewriting it in Rust to see how much faster it gets, though currently I'm trying to get it running in WebAssembly via AssemblyScript ( <a href="https://github.com/AssemblyScript/assemblyscript" rel="nofollow">https://github.com/AssemblyScript/assemblyscript</a> ), which has been promising.<p>I'm curious about the about the Babel performance comparison. Benchmarking JS is tricky because, from my observations, the performance improves by a factor of ~20 if you give it 5-10 seconds for the JIT to fully optimize everything. <a href="https://github.com/alangpierce/sucrase/issues/216" rel="nofollow">https://github.com/alangpierce/sucrase/issues/216</a> . Rust and WebAssembly both have a significant advantage in that sense when running on small datasets.