The resulting WinForms app looks like this:
You can use this app either as a ClickOnce Application online or by downloading the tool and source code (.NET 2.0 required):
The tool supports using wildcards so it can automatically pack all .js files in a given directory in batch by using *.js for the filename. If the output filename is not specified the output files are assumed to be created with a .min.js extension.
You can also use this tool via the command line:
jsMinifier.exe [InputFile] [OutputFile] [NoUI]
The output file is optional and if not specified defaults to the same name as the input file (or files if *.js is used for the filenames) with a .min.js extension. In batch conversions you can specify an alternate extension by using .compressed.js for the output file for example (ie. without any sort of filename - just the output extension). NoUI can be used as the second or third parameter to specify command line only operation. Otherwise the WinForm is displayed with default values set.
I liketo use it from within Visual Studio interactively, so I've got it tied to the Open With menu:
I tend to use this with the assumption that every java script file I load in a library has both uncompressed and compressed versions available and so the library/component code trying to load resources in Debug mode will use the uncompressed version and the compressed version when running in release build which works well and can get some of the same benefits that a dynamic Web Resource approach can offer.