Tags: fitzgen/UglifyJS
Tags
simple "make" utility. ideas welcome.
For now, write a Makefile.uglify.js file with contents like this:
{
files: [
{ name: "foo.js", module: "Foo" },
{ name: "bar.js", hide: true }
]
}
If you run uglifyjs --make it will read and compress foo.js and wrap it like
this:
(function(){ return this })().Foo = (function(exports, global){
... compressed contents of foo.js ...
})({}, (function(){ return this })());
as for bar.js it'll wrap like this:
(function(){
... compressed contents of bar.js ...
})()
Both of them are concatenated and returned.
The "module" is thus useful to use libraries designed for a CommonJS
environment in browser.
This is just a quick hack as I needed it fast, but the plan is to evolve
it—handle compressor options in the Makefile, additional possibilities to
wrap the files, maybe handle require(...).