Fundamentally, you have a problem in that you can't make it impossible, only hard to decode.
If you encrypt, you hand an encrypted blob to the user, and the key to decrypt it so it can run. You can make it annoying, but not actually prevent decryption.
To make an executable, the javascript is merely embedded.
I'd ask what you're actually defending against: Some combination of trivial obfuscation like uglifyjs or google closure compiler may be your best bet, plus a banner on each file that reads "Copyright (C) Your Name, All Rights Reserved. Distribution without license is not permitted". The legal barrier to re-using parts of your software is likely the best way to prevent copying.
Now if you're trying to protect a proprietary algorithm where revealing it would be disastrous to your business, things get more interesting, but fundamentally has the same problems.
Aria