- Notifications
You must be signed in to change notification settings - Fork33
UglifyJS Wrapper with YUI default configs
License
yui/yuglify
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
yuglify
is a wrapper aroundUglifyJS andcssminwith the default YUI configurations on each of them.
npm -g install yuglify
yuglify
has a very simple CLI interface to allow you to compress files from the command line.
yuglify ./lib/*.js #uses shell globbing, won't work on Windows
This will read all passed files and compress them (js or css) and write them back beside the originalwith the name altered to.min.js|css
.
npm install yuglify
varyuglify=require('yuglify');yuglify.jsmin('<string of source',function(err,smashed){fs.writeFile('/path/to/file',smashed,'utf8',function(){});});yuglify.cssmin('<string of source',function(err,smashed){fs.writeFile('/path/to/file',smashed,'utf8',function(){});});
This module is primarily designed to be used insideshifter.
We need to support the/*!
license comment blocks when minifying, so we addeda preprocessor to the code to pull them from the source, then place them back whenthe minification is complete.
We also needed to make sure that the file ends in a clean line ending for ourcombo servers. This way we ensure that other modules don't have to end with asemi-colon and the combohandler doesn't concat them together in a bad way.
We've also added support to add a semi-colon if the last character of theminified source is either a)
or a}
.
The last thing this module does is provide the default config that we thinkis the most compatible with the way that YUI Compressor used to minify ourfiles.
{mangle:true,squeeze:true,semicolon:false,lift_vars:false,mangle_toplevel:true,no_mangle_functions:true,max_line_length:6000}
Currently, the tests for this module are just to make sure that they are exported properly.Shifter's test suite validates that these compressors are working as expected. Soon, we'llmove them over to this repo too.
About
UglifyJS Wrapper with YUI default configs