ender-minify

Interface to UglifyJS Closure Compiler and YUICompressor

Ender Minify

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 (errsource) {
  if (err) throw err
 
  em('uglify', source, options, function (errminifiedSource) {
    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 (errsource) {
  if (err) throw err
 
  em('closure', source, options, function (errminifiedSource) {
    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.