Bundled minifier utilities for Node, designed primarily for use with the Ender CLI.
For more information check out http://ender.jit.su
enderMinify() (UglifyJS)
var fs = require('fs')
var em = require('ender-minify')
var options = {} // no options for UglifyJS at the moment
fs.readFile('source.js', 'utf-8', function (err, source) {
if (err) throw err
em('uglify', source, options, function (err, minifiedSource) {
if (err) throw err
fs.writeFile('source.min.js', minifiedSource, 'utf-8')
})
})
enderMinify() (Closure Compiler)
var fs = require('fs')
var em = require('ender-minify')
var options = {
level: 'simple', // can be 'whitespace', 'simple' or 'advanced'
externs: [ 'foo.js', 'bar.js' ] // passed as --externs
}
fs.readFile('source.js', 'utf-8', function (err, source) {
if (err) throw err
em('closure', source, options, function (err, minifiedSource) {
if (err) throw err
fs.writeFile('source.min.js', minifiedSource, 'utf-8')
})
})
A list of minifiers available as an array.
An object with mappings of the Closure Compiler compression levels, from nice-key to verbose-Closure-key.
i.e.:
{
whitespace : 'WHITESPACE_ONLY'
, simple : 'SIMPLE_OPTIMIZATIONS'
, advanced : 'ADVANCED_OPTIMIZATIONS'
}
The absolute path name to the closure.jar file used to run Closure Compiler within this package. Useful if you wanted to call it directly.
Contributions are more than welcome! Just fork and submit a GitHub pull request! If you have changes that need to be synchronized across the various Ender CLI repositories then please make that clear in your pull requests.
Ender Minify uses Buster for unit testing. You'll get it (and a bazillion unnecessary dependencies) when you npm install
in your cloned local repository. Simply run npm test
to run the test suite.
Ender Minify is Copyright (c) 2012 @rvagg, @ded, @fat and other contributors. It is licenced under the MIT licence. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE file for more details.