There are numerous reasons why it's a good idea to protect your code, such as:
No, while it's impossible to recover the exact original source code, someone with the time, knowledge and patience can reverse-engineer it.
Because the obfuscator introduces new pieces of code that are meant to protect and defend against debugging and reverse-engineering. Also strings are converted to
\xAB hexadecimal code to make things a little bit harder to understand. You don't have to worry too much about code size because there is a lot of repetition, so the obfuscated code will be compressed extremely well by your webserver (if you have GZIP compression enabled on your server, which most do nowadays).
No, it's not recommended and in some cases it'll break the code (such as if you enable self-defending). You can run your code through a minifier before to make sure that it removes dead code and do other optimizations, though.
No. The source is processed by our application server, then to the obfuscator and back to the browser, so it only stays on our server memory for a brief period of time (usually milliseconds).
No, it's impossible to revert the obfuscated code back to your original code, so keep the original safe.
Sure. This tool uses a free and open source (BSD-2-Clause licensed) obfuscator written in TypeScript. You can go to its GitHub page and read more there.
Also, this web app is open-source as well. Check out our GitHub.
If you're interested in just uglyfing and compressing your code, I suggest JSCompress.com.