ender-minify
Version:
Interface to UglifyJS Closure Compiler and YUICompressor
92 lines (59 loc) • 2.81 kB
Markdown
Bundled minifier utilities for Node, designed primarily for use with the [Ender CLI](https://github.com/ender-js/Ender/).
For more information check out [http://ender.jit.su](http://ender.jit.su)
```js
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')
})
})
```
```js
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.:
```js
{
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](http://busterjs.org) 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](https://github.com/rvagg), [@ded](https://github.com/ded), [@fat](https://github.com/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.