{"_id":"abridge","_rev":"48-4d7f59fec4a59cb915fc6dedd09e5391","name":"abridge","description":"Streaming minifier for JS and CSS","dist-tags":{"latest":"0.5.3"},"versions":{"0.2.0":{"name":"abridge","version":"0.2.0","description":"Minifier based on srod/node-minify, with various improvemens.","author":{"name":"Weltschmerz"},"main":"index.js","repository":{"type":"git","url":"https://github.com/Weltschmerz/node-minify.git"},"dependencies":{"uglify-js":"1.3.3","suckle":"0.3.6"},"readme":"# Abridge\n\n`npm install abridge`\n\nAbridge is a wild fork of [node-minify](https://github.com/srod/node-minify) module. It is not a drop-in replacement, but improves upon the original code in various ways.\n\n* Dropped support for Google Closure\n* Do not create temporary files, pipe to chld process's stdin instead\n* Use streams wherever possible\n* Supply minified data to callbacks\n* Major API improvements\n\n# Usage\n\nThe old API style is mostly preserved.\n\n```js\nvar Minifier = require('abridge').Minifier;\n\nnew Minifier({\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min-gcc.js',\n    callback: function(err){\n        console.log(err);\n    }\n});\n```\n\nBut now we can just call the `minify` function without creating an instance of Minify:\n\n```js\nvar abridge = require('abridge');\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min-gcc.js',\n    callback: function(err){\n        console.log(err);\n    }\n};\n\nabridge.minify(options);\n```\n\nWe can also supply a callback as a second argument, as per tradition:\n\n```js\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min-gcc.js'\n};\n\nabridge.minify(options, function(err) {\n    console.log(err);\n});\n```\n\nAnd our callback is given the minified data:\n\n```js\nabridge.minify(options, function(err, data) {\n    console.log(err, data);\n});\n```\n\nAlso `fileOut` and `type` are optional. If CSS is detected, Abridge will default to YUICompressor, as uglifyjs compresses only JavaScript. However, if minifying JavaScript, Abridge will use Uglify-js instead, as it is more efficient:\n\n```js\nvar options = {\n    fileIn: 'public/js/base.js'\n};\n\nabridge.minify(options, console.log);\n```\n\nIn fact you no longer need an options object:\n\n```js\nvar fileIn = ['public/js/base.js', 'public/js/somn.js'];\nvar fileOut = 'public/js/common.js';\nabridge.minify(fileIn, fileOut, console.log);\n```\n\nIn the simplest case, we have:\n\n```js\nabridge.minify('public/js/base.js', function(err, data) {\n\n});\n```\n\n## Note\n\nTo use YUICompressor (default for CSS files) you must have Java installed.\n","_id":"abridge@0.2.0","dist":{"shasum":"f477245b38e2240b0eef873ef2453b90c85a2420","tarball":"https://registry.npmjs.org/abridge/-/abridge-0.2.0.tgz","integrity":"sha512-SGYTnmJqWWQ9D4uUYymPUwS4uLiijgO7Of93Srrgs7lvgeIwJpKIkl93Cjn6QoVdAz9FtgzOPtXcmPpbJ4fZtQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDJVvzWrBv98uiROtZH1zVPLtn/6FnxoN39Dz/WQkPkDgIhAM7MOjwL1v7bwjao6P9sUhxY8y592Y0L8n7GRxJxQK2F"}]},"maintainers":[{"name":"Weltschmerz","email":"chlavois@gmail.com"}],"directories":{}},"0.2.1":{"name":"abridge","version":"0.2.1","description":"Minifier based on srod/node-minify, with various improvemens.","author":{"name":"Weltschmerz"},"main":"index.js","repository":{"type":"git","url":"https://github.com/Weltschmerz/node-minify.git"},"dependencies":{"suckle":"0.3.6"},"readme":"# Abridge\n\n`npm install abridge`\n\nAbridge is a wild fork of [node-minify](https://github.com/srod/node-minify) module. It is not a drop-in replacement, but improves upon the original code in various ways.\n\n* Dropped support for Google Closure\n* Do not create temporary files, pipe to chld process's stdin instead\n* Use streams wherever possible\n* Supply minified data to callbacks\n* Major API improvements\n\n# Usage\n\nThe old API style is mostly preserved.\n\n```js\nvar Minifier = require('abridge').Minifier;\n\nnew Minifier({\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min-gcc.js',\n    callback: function(err){\n        console.log(err);\n    }\n});\n```\n\nBut now we can just call the `minify` function without creating an instance of Minify:\n\n```js\nvar abridge = require('abridge');\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min-gcc.js',\n    callback: function(err){\n        console.log(err);\n    }\n};\n\nabridge.minify(options);\n```\n\nWe can also supply a callback as a second argument, as per tradition:\n\n```js\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min-gcc.js'\n};\n\nabridge.minify(options, function(err) {\n    console.log(err);\n});\n```\n\nAnd our callback is given the minified data:\n\n```js\nabridge.minify(options, function(err, data) {\n    console.log(err, data);\n});\n```\n\nAlso `fileOut` and `type` are optional. If CSS is detected, Abridge will default to YUICompressor, as uglifyjs compresses only JavaScript. However, if minifying JavaScript, Abridge will use Uglify-js instead, as it is more efficient:\n\n```js\nvar options = {\n    fileIn: 'public/js/base.js'\n};\n\nabridge.minify(options, console.log);\n```\n\nIn fact you no longer need an options object:\n\n```js\nvar fileIn = ['public/js/base.js', 'public/js/somn.js'];\nvar fileOut = 'public/js/common.js';\nabridge.minify(fileIn, fileOut, console.log);\n```\n\nIn the simplest case, we have:\n\n```js\nabridge.minify('public/js/base.js', function(err, data) {\n\n});\n```\n\n## Note\n\nTo use YUICompressor (default for CSS files) you must have Java installed.\n","_id":"abridge@0.2.1","dist":{"shasum":"26bc94c49d81e71cefb9276e4254719461ce2906","tarball":"https://registry.npmjs.org/abridge/-/abridge-0.2.1.tgz","integrity":"sha512-RIauNLkob7A6sJLPgj2YwB+j5cN7ojh1/OYagaqJXK6QvnOwJlnR22MHVnTcZQHHcE68ctlyOre9504ZGIEMEw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCinW9Nt4EWT2MIKCAcWiF6TVmIFIw+sCMY3HfnOFR9SAIgMkI0nk6lAw+6oNgJvT01J560r0HIrfE/vRvNCf0GRCY="}]},"maintainers":[{"name":"Weltschmerz","email":"chlavois@gmail.com"}],"directories":{}},"0.2.2":{"name":"abridge","version":"0.2.2","description":"Minifier based on srod/node-minify, with various improvemens.","author":{"name":"Weltschmerz"},"main":"index.js","repository":{"type":"git","url":"https://github.com/Weltschmerz/node-minify.git"},"dependencies":{"suckle":"0.3.6"},"readme":"# Abridge\n\n`npm install abridge`\n\nAbridge is a wild fork of [node-minify](https://github.com/srod/node-minify) module. It is not a drop-in replacement, but improves upon the original code in various ways.\n\n* Dropped support for Google Closure\n* Dropped no-minify file concat\n* Do not create temporary files, pipe to chld process's stdin instead\n* Use streams wherever possible\n* Supply minified data to callbacks\n* Major API improvements\n\n# Usage\n\nThe old API style is mostly preserved.\n\n```js\nvar Minifier = require('abridge').Minifier;\n\nvar minifier = new Minifier({\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min-gcc.js',\n    callback: function(err){\n        console.log(err);\n    }\n});\n\n\nminifier.compress();\n\n```\n\nBut now we can just call the `minify` function without creating an instance of Minify:\n\n```js\nvar abridge = require('abridge');\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min-gcc.js',\n    callback: function(err){\n        console.log(err);\n    }\n};\n\nabridge.minify(options);\n```\n\nWe can also supply a callback as a second argument, as per tradition:\n\n```js\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js'\n};\n\nabridge.minify(options, function(err) {\n    console.log(err);\n});\n```\n\nAnd our callback is given the minified data:\n\n```js\nabridge.minify(options, function(err, data) {\n    console.log(err, data);\n});\n```\n\nAlso `fileOut` and `type` are optional. If CSS is detected, Abridge will default to YUICompressor, as uglifyjs compresses only JavaScript. However, if minifying JavaScript, Abridge will use Uglify-js instead, as it is more efficient:\n\n```js\nvar options = {\n    fileIn: 'public/js/base.js'\n};\n\nabridge.minify(options, console.log);\n```\n\nIn fact you no longer need an options object:\n\n```js\nvar fileIn = ['public/js/base.js', 'public/js/somn.js'];\nvar fileOut = 'public/js/common.js';\nabridge.minify(fileIn, fileOut, console.log);\n```\n\nIn the simplest case, we have:\n\n```js\nabridge.minify('public/js/base.js', function(err, data) {\n\n});\n```\n\n## Note\n\nTo use YUICompressor (default for CSS files) you must have Java installed.\n","_id":"abridge@0.2.2","dist":{"shasum":"e523f270a1403f507c37e7270cf82d8b7a203337","tarball":"https://registry.npmjs.org/abridge/-/abridge-0.2.2.tgz","integrity":"sha512-zrHV2Fisat0poxFB8XooFV3YHtb7ODMmbNCBmbEp9nNcWKIObGgHC2kBUn7FzMfv8MeoleL12ZTEDnGdI9JWTA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGt3EcupiveKbsLlILwaUCQPI7RYU+a9gZy10PZUFTEyAiAbLYBPNIOBXMveJHMVvMBTM5EmRgWoElllmXlZxrAaow=="}]},"maintainers":[{"name":"Weltschmerz","email":"chlavois@gmail.com"}],"directories":{}},"0.2.3":{"name":"abridge","version":"0.2.3","description":"Minifier based on srod/node-minify, with various improvemens.","author":{"name":"Weltschmerz"},"main":"index.js","repository":{"type":"git","url":"https://github.com/Weltschmerz/node-minify.git"},"dependencies":{"suckle":"0.4.0"},"readme":"# Abridge\n\n`npm install abridge`\n\nAbridge is a wild fork of [node-minify](https://github.com/srod/node-minify) module. It is not a drop-in replacement, but improves upon the original code in various ways.\n\n* Dropped support for Google Closure\n* Dropped no-minify file concat\n* Do not create temporary files, pipe to chld process's stdin instead\n* Use streams wherever possible\n* Supply minified data to callbacks\n* Major API improvements\n\n# Usage\n\nThe old API style is mostly preserved.\n\n```js\nvar Minifier = require('abridge').Minifier;\n\nvar minifier = new Minifier({\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min-gcc.js',\n    callback: function(err){\n        console.log(err);\n    }\n});\n\n\nminifier.compress();\n\n```\n\nBut now we can just call the `minify` function without creating an instance of Minify:\n\n```js\nvar abridge = require('abridge');\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min-gcc.js',\n    callback: function(err){\n        console.log(err);\n    }\n};\n\nabridge.minify(options);\n```\n\nWe can also supply a callback as a second argument, as per tradition:\n\n```js\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js'\n};\n\nabridge.minify(options, function(err) {\n    console.log(err);\n});\n```\n\nAnd our callback is given the minified data:\n\n```js\nabridge.minify(options, function(err, data) {\n    console.log(err, data);\n});\n```\n\nAlso `fileOut` and `type` are optional. If CSS is detected, Abridge will default to YUICompressor, as uglifyjs compresses only JavaScript. However, if minifying JavaScript, Abridge will use Uglify-js instead, as it is more efficient:\n\n```js\nvar options = {\n    fileIn: 'public/js/base.js'\n};\n\nabridge.minify(options, console.log);\n```\n\nIn fact you no longer need an options object:\n\n```js\nvar fileIn = ['public/js/base.js', 'public/js/somn.js'];\nvar fileOut = 'public/js/common.js';\nabridge.minify(fileIn, fileOut, console.log);\n```\n\nIn the simplest case, we have:\n\n```js\nabridge.minify('public/js/base.js', function(err, data) {\n\n});\n```\n\n## Note\n\nTo use YUICompressor (default for CSS files) you must have Java installed.\n","_id":"abridge@0.2.3","dist":{"shasum":"576ab1776b0050a09ba916562f52a215d0cbf58a","tarball":"https://registry.npmjs.org/abridge/-/abridge-0.2.3.tgz","integrity":"sha512-JFJzoBhVPupYJVaAHdd4d0O8Eo7rjS23JqNEajs1uGkV6DgiSxQsmPAKgaNdsWagF0mPGewQsNj4r/NuHYklRA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCH6/7TvKI2BIwthOXAhbxZtH7rsTFwK8sCiay5MAallgIgW5AgebadGQkuYEKHoGBlDDRg3QVe6RnvbiD9KXO2oTo="}]},"maintainers":[{"name":"Weltschmerz","email":"chlavois@gmail.com"}],"directories":{}},"0.2.4":{"name":"abridge","version":"0.2.4","description":"Minifier based on srod/node-minify, with various improvemens.","author":{"name":"Weltschmerz"},"main":"index.js","repository":{"type":"git","url":"https://github.com/Weltschmerz/node-minify.git"},"dependencies":{"suckle":"0.4.0"},"readme":"# Abridge\n\n`npm install abridge`\n\nAbridge is a wild fork of [node-minify](https://github.com/srod/node-minify) module. It is not a drop-in replacement, but improves upon the original code in various ways.\n\n* Dropped support for Google Closure\n* Dropped no-minify file concat\n* Do not create temporary files, pipe to chld process's stdin instead\n* Use streams wherever possible\n* Supply minified data to callbacks\n* Major API improvements\n\n# Usage\n\nThe old API style is mostly preserved.\n\n```js\nvar Minifier = require('abridge').Minifier;\n\nvar minifier = new Minifier({\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min-gcc.js',\n    callback: function(err){\n        console.log(err);\n    }\n});\n\n\nminifier.compress();\n\n```\n\nBut now we can just call the `minify` function without creating an instance of Minify:\n\n```js\nvar abridge = require('abridge');\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min-gcc.js',\n    callback: function(err){\n        console.log(err);\n    }\n};\n\nabridge.minify(options);\n```\n\nWe can also supply a callback as a second argument, as per tradition:\n\n```js\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js'\n};\n\nabridge.minify(options, function(err) {\n    console.log(err);\n});\n```\n\nAnd our callback is given the minified data:\n\n```js\nabridge.minify(options, function(err, data) {\n    console.log(err, data);\n});\n```\n\nAlso `fileOut` and `type` are optional. If CSS is detected, Abridge will default to YUICompressor, as uglifyjs compresses only JavaScript. However, if minifying JavaScript, Abridge will use Uglify-js instead, as it is more efficient:\n\n```js\nvar options = {\n    fileIn: 'public/js/base.js'\n};\n\nabridge.minify(options, console.log);\n```\n\nIn fact you no longer need an options object:\n\n```js\nvar fileIn = ['public/js/base.js', 'public/js/somn.js'];\nvar fileOut = 'public/js/common.js';\nabridge.minify(fileIn, fileOut, console.log);\n```\n\nIn the simplest case, we have:\n\n```js\nabridge.minify('public/js/base.js', function(err, data) {\n\n});\n```\n\n## Note\n\nTo use YUICompressor (default for CSS files) you must have Java installed.\n","_id":"abridge@0.2.4","dist":{"shasum":"99d987616042f97f9f9f18bcf4cbafb1eaf3b48f","tarball":"https://registry.npmjs.org/abridge/-/abridge-0.2.4.tgz","integrity":"sha512-ilLjzRirTxqA2MgkRuZnZl2FqAu9MzvrfOm44VPsw784LtLTpkyLjUNlwz5RjPmwHWV8/hcGkHvzMAiONDV5Jg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCeVMJCgvExx0a2tqF1O9cQ3g/ONC7XZz0sulpX68Z/eQIhALrAzAdjYky9LkQZ0I4bNwmUawx6gK0rlHHDE1bZ0xMW"}]},"maintainers":[{"name":"Weltschmerz","email":"chlavois@gmail.com"}],"directories":{}},"0.2.5":{"name":"abridge","version":"0.2.5","description":"Minifier based on srod/node-minify, with various improvemens.","author":{"name":"Weltschmerz"},"main":"index.js","repository":{"type":"git","url":"https://github.com/Weltschmerz/node-minify.git"},"dependencies":{"suckle":"0.4.0"},"readme":"# Abridge\n\n`npm install abridge`\n\nAbridge is a wild fork of [node-minify](https://github.com/srod/node-minify) module. It is not a drop-in replacement, but improves upon the original code in various ways.\n\n* Dropped support for Google Closure\n* Dropped no-minify file concat\n* Do not create temporary files, pipe to chld process's stdin instead\n* Use streams wherever possible\n* Supply minified data to callbacks\n* Major API improvements\n\n# Usage\n\nThe old API style is mostly preserved.\n\n```js\nvar Minifier = require('abridge').Minifier;\n\nvar minifier = new Minifier({\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js',\n    callback: function(err){\n        console.log(err);\n    }\n});\n\nminifier.compress();\n```\n\nBut now we can just call the `minify` function without creating an instance of Minify:\n\n```js\nvar abridge = require('abridge');\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js',\n    callback: function(err){\n        console.log(err);\n    }\n};\n\nabridge.minify(options);\n```\n\nWe can also supply a callback as a second argument, as per tradition:\n\n```js\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js'\n};\n\nabridge.minify(options, function(err) {\n    console.log(err);\n});\n```\n\nAnd our callback is given the minified data:\n\n```js\nabridge.minify(options, function(err, data) {\n    console.log(err, data);\n});\n```\n\nAlso `fileOut` and `type` are optional. If CSS is detected, Abridge will default to YUICompressor, as uglifyjs compresses only JavaScript. However, if minifying JavaScript, Abridge will use Uglify-js instead, as it is more efficient:\n\n```js\nvar options = {\n    fileIn: 'public/js/base.js'\n};\n\nabridge.minify(options, console.log);\n```\n\nIn fact you no longer need an options object:\n\n```js\nvar fileIn = ['public/js/base.js', 'public/js/somn.js'];\nvar fileOut = 'public/js/common.js';\nabridge.minify(fileIn, fileOut, console.log);\n```\n\nIn the simplest case, we have:\n\n```js\nabridge.minify('public/js/base.js', function(err, data) {\n\n});\n```\n\nThe function also returns a pipeable Stream instance:\n\n```js\nvar http = require('http');\nvar server = new http.Server();\n\nserver.addListener('request', function(req, res) {\n    var url = req.url;\n    if (/^\\/files/.test(url)) {\n       url = url.substring(1);\n       abridge.minify(url).pipe(res);\n    };\n});\n```\n\nBut this would be absurdly inefficient without file caching. See [Lactate](https://github.com/Weltschmerz/Lactate) for that.\n\n## Note\n\nTo use YUICompressor (default for CSS files) you must have Java installed.\n","_id":"abridge@0.2.5","dist":{"shasum":"e5d5c32f50689c853886327cd6ecd29554434b86","tarball":"https://registry.npmjs.org/abridge/-/abridge-0.2.5.tgz","integrity":"sha512-ye6fUhosrQomaIrM+uO5YeDwaMyrsL2qTHlmMwGtKJvWQsWQFdST386DQVUREUMAib3oguPe3XVEF8y9wY1+Zg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCj5u9zUqYU93x8eX/VWN/+ONcOpedQ5xbV0SFwkNSLZAIhAKGKteRtdgJ0LbKoji+xsz0LE5CZxYgfhI9pfrM4K1hx"}]},"maintainers":[{"name":"Weltschmerz","email":"chlavois@gmail.com"}],"directories":{}},"0.2.6":{"name":"abridge","version":"0.2.6","description":"Minifier based on srod/node-minify, with various improvemens.","author":{"name":"Weltschmerz"},"main":"index.js","repository":{"type":"git","url":"https://github.com/Weltschmerz/node-minify.git"},"dependencies":{"suckle":"0.4.0"},"readme":"# Abridge\n\n`npm install abridge`\n\nAbridge is a wild fork of [node-minify](https://github.com/srod/node-minify) module. It is not a drop-in replacement, but improves upon the original code in various ways.\n\n* Dropped support for Google Closure\n* Dropped no-minify file concat\n* Do not create temporary files, pipe to chld process's stdin instead\n* Use streams wherever possible\n* Supply minified data to callbacks\n* Major API improvements\n\n# Usage\n\nThe old API style is mostly preserved.\n\n```js\nvar Minifier = require('abridge').Minifier;\n\nvar minifier = new Minifier({\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js',\n    callback: function(err){\n        console.log(err);\n    }\n});\n\nminifier.compress();\n```\n\nBut now we can just call the `minify` function without creating an instance of Minify:\n\n```js\nvar abridge = require('abridge');\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js',\n    callback: function(err){\n        console.log(err);\n    }\n};\n\nabridge.minify(options);\n```\n\nWe can also supply a callback as a second argument, as per tradition:\n\n```js\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js'\n};\n\nabridge.minify(options, function(err) {\n    console.log(err);\n});\n```\n\nAnd our callback is given the minified data:\n\n```js\nabridge.minify(options, function(err, data) {\n    console.log(err, data);\n});\n```\n\nAlso `fileOut` and `type` are optional. If CSS is detected, Abridge will default to YUICompressor, as uglifyjs compresses only JavaScript. However, if minifying JavaScript, Abridge will use Uglify-js instead, as it is more efficient:\n\n```js\nvar options = {\n    fileIn: 'public/js/base.js'\n};\n\nabridge.minify(options, console.log);\n```\n\nIn fact you no longer need an options object:\n\n```js\nvar fileIn = ['public/js/base.js', 'public/js/somn.js'];\nvar fileOut = 'public/js/common.js';\nabridge.minify(fileIn, fileOut, console.log);\n```\n\nIn the simplest case, we have:\n\n```js\nabridge.minify('public/js/base.js', function(err, data) {\n\n});\n```\n\nThe function also returns a pipeable Stream instance:\n\n```js\nvar http = require('http');\nvar server = new http.Server();\n\nserver.addListener('request', function(req, res) {\n    var url = req.url;\n    if (/^\\/files/.test(url)) {\n       url = url.substring(1);\n       abridge.minify(url).pipe(res);\n    };\n});\n```\n\nBut this would be absurdly inefficient without file caching. See [Lactate](https://github.com/Weltschmerz/Lactate) for that.\n\n## Note\n\nTo use YUICompressor (default for CSS files) you must have Java installed.\n","_id":"abridge@0.2.6","dist":{"shasum":"b0879fe99f96fd138f0e637891d386135adfaf12","tarball":"https://registry.npmjs.org/abridge/-/abridge-0.2.6.tgz","integrity":"sha512-ounSqj6cXN2F7yWxGJnzAQZKnrJx3DOkHiGRRVmV76j1r80yVW8LRsprM1Y4pyWA+GSg8MrZtd3milBVNUjzsw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8yT81COcv5Zq3iNwTB1stm9Byy7+mixYjrDYaE2AqZAIgYxLgmy6f9pavgK1TNv72U4PgUcJ5NdVJBcEClSWmHSQ="}]},"maintainers":[{"name":"Weltschmerz","email":"chlavois@gmail.com"}],"directories":{}},"0.2.8":{"name":"abridge","version":"0.2.8","description":"Minifier based on srod/node-minify, with various improvemens.","author":{"name":"Weltschmerz"},"main":"index.js","repository":{"type":"git","url":"https://github.com/Weltschmerz/Abridge.git"},"dependencies":{"suckle":"0.5.0"},"readme":"# Abridge\n\n`npm install abridge`\n\nAbridge is a wild fork of [node-minify](https://github.com/srod/node-minify) module. It is not a drop-in replacement, but improves upon the original code in various ways.\n\n* Dropped support for Google Closure\n* Dropped no-minify file concat\n* Do not create temporary files, pipe to chld process's stdin instead\n* Use streams wherever possible\n* Supply minified data to callbacks\n* Major API improvements\n\n# Usage\n\nThe old API style is mostly preserved.\n\n```js\nvar Minifier = require('abridge').Minifier;\n\nvar minifier = new Minifier({\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js',\n    callback: function(err){\n        console.log(err);\n    }\n});\n\nminifier.compress();\n```\n\nBut now we can just call the `minify` function without creating an instance of Minify:\n\n```js\nvar abridge = require('abridge');\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js',\n    callback: function(err){\n        console.log(err);\n    }\n};\n\nabridge.minify(options);\n```\n\nWe can also supply a callback as a second argument, as per tradition:\n\n```js\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js'\n};\n\nabridge.minify(options, function(err) {\n    console.log(err);\n});\n```\n\nAnd our callback is given the minified data:\n\n```js\nabridge.minify(options, function(err, data) {\n    console.log(err, data);\n});\n```\n\nAlso `fileOut` and `type` are optional. If CSS is detected, Abridge will default to YUICompressor, as uglifyjs compresses only JavaScript. However, if minifying JavaScript, Abridge will use Uglify-js instead, as it is more efficient:\n\n```js\nvar options = {\n    fileIn: 'public/js/base.js'\n};\n\nabridge.minify(options, console.log);\n```\n\nIn fact you no longer need an options object:\n\n```js\nvar fileIn = ['public/js/base.js', 'public/js/somn.js'];\nvar fileOut = 'public/js/common.js';\nabridge.minify(fileIn, fileOut, console.log);\n```\n\nIn the simplest case, we have:\n\n```js\nabridge.minify('public/js/base.js', function(err, data) {\n\n});\n```\n\nThe function also returns a pipeable Stream instance:\n\n```js\nvar http = require('http');\nvar server = new http.Server();\n\nserver.addListener('request', function(req, res) {\n    var url = req.url;\n    if (/^\\/files/.test(url)) {\n       url = url.substring(1);\n       abridge.minify(url).pipe(res);\n    };\n});\n```\n\nBut this would be absurdly inefficient without file caching. See [Lactate](https://github.com/Weltschmerz/Lactate) for that.\n\n## Note\n\nTo use YUICompressor (default for CSS files) you must have Java installed.\n","_id":"abridge@0.2.8","dist":{"shasum":"5c98ef4825b681a2774cce3c8aa62d2daebac9ff","tarball":"https://registry.npmjs.org/abridge/-/abridge-0.2.8.tgz","integrity":"sha512-mCwP2wk3wKiCku8+TKy1BWz6xcEn/BUGJcpSxlzNQ8iQtAalAKyqzCLZBw77mYVODc9gkNrCygE2u5V3Q7+POQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFbVb+PsMWQwYQbzxO30vCwuzxaiLvF6MVvKgBBQbZhRAiBM87xYfi3keCVlXnMIAwt1vbEQ4d9e+xumKxQjgPw9Gw=="}]},"maintainers":[{"name":"Weltschmerz","email":"chlavois@gmail.com"}],"directories":{}},"0.2.9":{"name":"abridge","version":"0.2.9","description":"Minifier based on srod/node-minify, with various improvemens.","author":{"name":"Weltschmerz"},"main":"index.js","repository":{"type":"git","url":"https://github.com/Weltschmerz/Abridge.git"},"dependencies":{"suckle":"0.5.0"},"readme":"# Abridge\n\n`npm install abridge`\n\nAbridge is a wild fork of [node-minify](https://github.com/srod/node-minify) module. It is not a drop-in replacement, but improves upon the original code in various ways.\n\n* Dropped support for Google Closure\n* Dropped no-minify file concat\n* Do not create temporary files, pipe to chld process's stdin instead\n* Use streams wherever possible\n* Supply minified data to callbacks\n* Major API improvements\n\n# Usage\n\nThe old API style is mostly preserved.\n\n```js\nvar Minifier = require('abridge').Minifier;\n\nvar minifier = new Minifier({\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js',\n    callback: function(err){\n        console.log(err);\n    }\n});\n\nminifier.compress();\n```\n\nBut now we can just call the `minify` function without creating an instance of Minify:\n\n```js\nvar abridge = require('abridge');\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js',\n    callback: function(err){\n        console.log(err);\n    }\n};\n\nabridge.minify(options);\n```\n\nWe can also supply a callback as a second argument, as per tradition:\n\n```js\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js'\n};\n\nabridge.minify(options, function(err) {\n    console.log(err);\n});\n```\n\nAnd our callback is given the minified data:\n\n```js\nabridge.minify(options, function(err, data) {\n    console.log(err, data);\n});\n```\n\nAlso `fileOut` and `type` are optional. If CSS is detected, Abridge will default to YUICompressor, as uglifyjs compresses only JavaScript. However, if minifying JavaScript, Abridge will use Uglify-js instead, as it is more efficient:\n\n```js\nvar options = {\n    fileIn: 'public/js/base.js'\n};\n\nabridge.minify(options, console.log);\n```\n\nIn fact you no longer need an options object:\n\n```js\nvar fileIn = ['public/js/base.js', 'public/js/somn.js'];\nvar fileOut = 'public/js/common.js';\nabridge.minify(fileIn, fileOut, console.log);\n```\n\nIn the simplest case, we have:\n\n```js\nabridge.minify('public/js/base.js', function(err, data) {\n\n});\n```\n\nThe function also returns a pipeable Stream instance:\n\n```js\nvar http = require('http');\nvar server = new http.Server();\n\nserver.addListener('request', function(req, res) {\n    var url = req.url;\n    if (/^\\/files/.test(url)) {\n       url = url.substring(1);\n       abridge.minify(url).pipe(res);\n    };\n});\n```\n\nBut this would be absurdly inefficient without file caching. See [Lactate](https://github.com/Weltschmerz/Lactate) for that.\n\n## Note\n\nTo use YUICompressor (default for CSS files) you must have Java installed.\n","_id":"abridge@0.2.9","dist":{"shasum":"e3883b8b43358a08348f872ad09311b6e0e5a303","tarball":"https://registry.npmjs.org/abridge/-/abridge-0.2.9.tgz","integrity":"sha512-T7xoLRnAXQFHyHZSM3E60HqeBVg0DcC8lBXJ51pg+8eDCkd3Lk8D1TvwIlYDTKUqZjGrYggdzQ8gJrvfs9nLlQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH0ngApmDkz5Hk0MSyA4/WVVrnpTlJQcLhtWjWaiPip9AiBQdVNOcr85dIHNjSk+YnaPnzO6gV1iMzSbTMF4xl0vTg=="}]},"maintainers":[{"name":"Weltschmerz","email":"chlavois@gmail.com"}],"directories":{}},"0.2.10":{"name":"abridge","version":"0.2.10","description":"Minifier based on srod/node-minify, with various improvemens.","author":{"name":"Weltschmerz"},"main":"index.js","repository":{"type":"git","url":"https://github.com/Weltschmerz/Abridge.git"},"dependencies":{"suckle":"0.5.2"},"readme":"# Abridge\n\n`npm install abridge`\n\nAbridge is a wild fork of [node-minify](https://github.com/srod/node-minify) module. It is not a drop-in replacement, but improves upon the original code in various ways.\n\n* Dropped support for Google Closure\n* Dropped no-minify file concat\n* Do not create temporary files, pipe to chld process's stdin instead\n* Use streams wherever possible\n* Supply minified data to callbacks\n* Major API improvements\n\n# Usage\n\nThe old API style is mostly preserved.\n\n```js\nvar Minifier = require('abridge').Minifier;\n\nvar minifier = new Minifier({\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js',\n    callback: function(err){\n        console.log(err);\n    }\n});\n\nminifier.compress();\n```\n\nBut now we can just call the `minify` function without creating an instance of Minify:\n\n```js\nvar abridge = require('abridge');\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js',\n    callback: function(err){\n        console.log(err);\n    }\n};\n\nabridge.minify(options);\n```\n\nWe can also supply a callback as a second argument, as per tradition:\n\n```js\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js'\n};\n\nabridge.minify(options, function(err) {\n    console.log(err);\n});\n```\n\nAnd our callback is given the minified data:\n\n```js\nabridge.minify(options, function(err, data) {\n    console.log(err, data);\n});\n```\n\nAlso `fileOut` and `type` are optional. If CSS is detected, Abridge will default to YUICompressor, as uglifyjs compresses only JavaScript. However, if minifying JavaScript, Abridge will use Uglify-js instead, as it is more efficient:\n\n```js\nvar options = {\n    fileIn: 'public/js/base.js'\n};\n\nabridge.minify(options, console.log);\n```\n\nIn fact you no longer need an options object:\n\n```js\nvar fileIn = ['public/js/base.js', 'public/js/somn.js'];\nvar fileOut = 'public/js/common.js';\nabridge.minify(fileIn, fileOut, console.log);\n```\n\nIn the simplest case, we have:\n\n```js\nabridge.minify('public/js/base.js', function(err, data) {\n\n});\n```\n\nThe function also returns a pipeable Stream instance:\n\n```js\nvar http = require('http');\nvar server = new http.Server();\n\nserver.addListener('request', function(req, res) {\n    var url = req.url;\n    if (/^\\/files/.test(url)) {\n       url = url.substring(1);\n       abridge.minify(url).pipe(res);\n    };\n});\n```\n\nBut this would be absurdly inefficient without file caching. See [Lactate](https://github.com/Weltschmerz/Lactate) for that.\n\n## Note\n\nTo use YUICompressor (default for CSS files) you must have Java installed.\n","_id":"abridge@0.2.10","dist":{"shasum":"fff5b1c646dfd10de7ff92e9812135e685c5d176","tarball":"https://registry.npmjs.org/abridge/-/abridge-0.2.10.tgz","integrity":"sha512-/1F7v1Lu2DjpGivQoUsscWeXzOKAxuSSBxVvjXLMEGXC4rtaF7OFmSWCylHlLAx106tCMxJD2S0IPXh4duE7NA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDLrUgM1hiZXoE8lgkQmjfd45ye3PCaE0sta+qGM8fllgIhAP4PMiWmFcUYtlZ8PeejNrg3/kFZuj55c3LxeF8sSHAO"}]},"maintainers":[{"name":"Weltschmerz","email":"chlavois@gmail.com"}],"directories":{}},"0.3.0":{"name":"abridge","version":"0.3.0","description":"Minifier based on srod/node-minify, with various improvemens.","author":{"name":"Weltschmerz"},"main":"index.js","repository":{"type":"git","url":"https://github.com/Weltschmerz/Abridge.git"},"dependencies":{"suckle":"latest"},"readme":"# Abridge\n\n`npm install abridge`\n\nAbridge is a wild fork of [node-minify](https://github.com/srod/node-minify) module. It is not a drop-in replacement, but improves upon the original code in various ways.\n\n* Dropped support for Google Closure\n* Dropped no-minify file concat\n* Do not create temporary files, pipe to chld process's stdin instead\n* Use streams wherever possible\n* Supply minified data to callbacks\n* Major API improvements\n\n# Usage\n\nThe old API style is mostly preserved.\n\n```js\nvar Minifier = require('abridge').Minifier;\n\nvar minifier = new Minifier({\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js',\n    callback: function(err){\n        console.log(err);\n    }\n});\n\nminifier.compress();\n```\n\nBut now we can just call the `minify` function without creating an instance of Minify:\n\n```js\nvar abridge = require('abridge');\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js',\n    callback: function(err){\n        console.log(err);\n    }\n};\n\nabridge.minify(options);\n```\n\nWe can also supply a callback as a second argument, as per tradition:\n\n```js\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js'\n};\n\nabridge.minify(options, function(err) {\n    console.log(err);\n});\n```\n\nAnd our callback is given the minified data:\n\n```js\nabridge.minify(options, function(err, data) {\n    console.log(err, data);\n});\n```\n\nAlso `fileOut` and `type` are optional. If CSS is detected, Abridge will default to YUICompressor, as uglifyjs compresses only JavaScript. However, if minifying JavaScript, Abridge will use Uglify-js instead, as it is more efficient:\n\n```js\nvar options = {\n    fileIn: 'public/js/base.js'\n};\n\nabridge.minify(options, console.log);\n```\n\nIn fact you no longer need an options object:\n\n```js\nvar fileIn = ['public/js/base.js', 'public/js/somn.js'];\nvar fileOut = 'public/js/common.js';\nabridge.minify(fileIn, fileOut, console.log);\n```\n\nIn the simplest case, we have:\n\n```js\nabridge.minify('public/js/base.js', function(err, data) {\n\n});\n```\n\nThe function also returns a pipeable Stream instance:\n\n```js\nvar http = require('http');\nvar server = new http.Server();\n\nserver.addListener('request', function(req, res) {\n    var url = req.url;\n    if (/^\\/files/.test(url)) {\n       url = url.substring(1);\n       abridge.minify(url).pipe(res);\n    };\n});\n```\n\nBut this would be absurdly inefficient without file caching. See [Lactate](https://github.com/Weltschmerz/Lactate) for that.\n\n## Note\n\nTo use YUICompressor (default for CSS files) you must have Java installed.\n","_id":"abridge@0.3.0","dist":{"shasum":"22cb8cda62dda65b92cd72043cac9d87db148c37","tarball":"https://registry.npmjs.org/abridge/-/abridge-0.3.0.tgz","integrity":"sha512-soSti3Dlk/TGYYzQE08eiHjSF1pxNfqaBLp1dZZHM07UuvwZuSSl4JOpeeE3e3xclqwdRHNhnrTFaJoMs1uMWQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5lLRWUa+/5d0i2pBPCTSuk8ih5jeKPsPd9bxntWszHwIhAOwx29idlM9hR8o2Wp8OZnSQ7aO9hg47v+2kWlWVDmQD"}]},"_npmVersion":"1.1.62","_npmUser":{"name":"Weltschmerz","email":"chlavois@gmail.com"},"maintainers":[{"name":"Weltschmerz","email":"chlavois@gmail.com"}],"directories":{}},"0.3.1":{"name":"abridge","version":"0.3.1","description":"Minifier based on srod/node-minify, with various improvemens.","author":{"name":"Weltschmerz"},"main":"index.js","repository":{"type":"git","url":"https://github.com/Weltschmerz/Abridge.git"},"dependencies":{"suckle":"latest"},"readme":"# Abridge\n\n`npm install abridge`\n\nAbridge is a wild fork of [node-minify](https://github.com/srod/node-minify) module. It is not a drop-in replacement, but improves upon the original code in various ways.\n\n* Dropped support for Google Closure\n* Dropped no-minify file concat\n* Do not create temporary files, pipe to chld process's stdin instead\n* Use streams wherever possible\n* Supply minified data to callbacks\n* Major API improvements\n\n# Usage\n\nThe old API style is mostly preserved.\n\n```js\nvar Minifier = require('abridge').Minifier;\n\nvar minifier = new Minifier({\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js',\n    callback: function(err){\n        console.log(err);\n    }\n});\n\nminifier.compress();\n```\n\nBut now we can just call the `minify` function without creating an instance of Minify:\n\n```js\nvar abridge = require('abridge');\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js',\n    callback: function(err){\n        console.log(err);\n    }\n};\n\nabridge.minify(options);\n```\n\nWe can also supply a callback as a second argument, as per tradition:\n\n```js\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js'\n};\n\nabridge.minify(options, function(err) {\n    console.log(err);\n});\n```\n\nAnd our callback is given the minified data:\n\n```js\nabridge.minify(options, function(err, data) {\n    console.log(err, data);\n});\n```\n\nAlso `fileOut` and `type` are optional. If CSS is detected, Abridge will default to YUICompressor, as uglifyjs compresses only JavaScript. However, if minifying JavaScript, Abridge will use Uglify-js instead, as it is more efficient:\n\n```js\nvar options = {\n    fileIn: 'public/js/base.js'\n};\n\nabridge.minify(options, console.log);\n```\n\nIn fact you no longer need an options object:\n\n```js\nvar fileIn = ['public/js/base.js', 'public/js/somn.js'];\nvar fileOut = 'public/js/common.js';\nabridge.minify(fileIn, fileOut, console.log);\n```\n\nIn the simplest case, we have:\n\n```js\nabridge.minify('public/js/base.js', function(err, data) {\n\n});\n```\n\nThe function also returns a pipeable Stream instance:\n\n```js\nvar http = require('http');\nvar server = new http.Server();\n\nserver.addListener('request', function(req, res) {\n    var url = req.url;\n    if (/^\\/files/.test(url)) {\n       url = url.substring(1);\n       abridge.minify(url).pipe(res);\n    };\n});\n```\n\nBut this would be absurdly inefficient without file caching. See [Lactate](https://github.com/Weltschmerz/Lactate) for that.\n\n## Note\n\nTo use YUICompressor (default for CSS files) you must have Java installed.\n","_id":"abridge@0.3.1","dist":{"shasum":"13e8211bb142b9f3e01092403cd17c65d3fec267","tarball":"https://registry.npmjs.org/abridge/-/abridge-0.3.1.tgz","integrity":"sha512-JcbNQKmdVBZP1J+1LVnIpQKtRYQKuB75sORwvR77Oon3OVxpQN7QQDHkGhmv7CnDc0wV3sVkT6F6G9cTjhb3rg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCf3NYvylFU2F0pU2nz1+QtVgZKIkemmNvHhv9GRb6mdAIhAMBkxbhE8juaPx5RSyCJG1OOhOmNg6Hlg3JpQ0WjdmKf"}]},"_npmVersion":"1.1.62","_npmUser":{"name":"Weltschmerz","email":"chlavois@gmail.com"},"maintainers":[{"name":"Weltschmerz","email":"chlavois@gmail.com"}],"directories":{}},"0.3.2":{"name":"abridge","version":"0.3.2","description":"Minifier based on srod/node-minify, with various improvemens.","author":{"name":"Weltschmerz"},"main":"index.js","repository":{"type":"git","url":"https://github.com/Weltschmerz/Abridge.git"},"dependencies":{"suckle":"latest"},"readme":"# Abridge\n\n`npm install abridge`\n\nAbridge is a wild fork of [node-minify](https://github.com/srod/node-minify) module. It is not a drop-in replacement, but improves upon the original code in various ways.\n\n* Dropped support for Google Closure\n* Dropped no-minify file concat\n* Do not create temporary files, pipe to chld process's stdin instead\n* Use streams wherever possible\n* Supply minified data to callbacks\n* Major API improvements\n\n# Usage\n\nThe old API style is mostly preserved.\n\n```js\nvar Minifier = require('abridge').Minifier;\n\nvar minifier = new Minifier({\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js',\n    callback: function(err){\n        console.log(err);\n    }\n});\n\nminifier.compress();\n```\n\nBut now we can just call the `minify` function without creating an instance of Minify:\n\n```js\nvar abridge = require('abridge');\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js',\n    callback: function(err){\n        console.log(err);\n    }\n};\n\nabridge.minify(options);\n```\n\nWe can also supply a callback as a second argument, as per tradition:\n\n```js\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js'\n};\n\nabridge.minify(options, function(err) {\n    console.log(err);\n});\n```\n\nAnd our callback is given the minified data:\n\n```js\nabridge.minify(options, function(err, data) {\n    console.log(err, data);\n});\n```\n\nAlso `fileOut` and `type` are optional. If CSS is detected, Abridge will default to YUICompressor, as uglifyjs compresses only JavaScript. However, if minifying JavaScript, Abridge will use Uglify-js instead, as it is more efficient:\n\n```js\nvar options = {\n    fileIn: 'public/js/base.js'\n};\n\nabridge.minify(options, console.log);\n```\n\nIn fact you no longer need an options object:\n\n```js\nvar fileIn = ['public/js/base.js', 'public/js/somn.js'];\nvar fileOut = 'public/js/common.js';\nabridge.minify(fileIn, fileOut, console.log);\n```\n\nIn the simplest case, we have:\n\n```js\nabridge.minify('public/js/base.js', function(err, data) {\n\n});\n```\n\nThe function also returns a pipeable Stream instance:\n\n```js\nvar http = require('http');\nvar server = new http.Server();\n\nserver.addListener('request', function(req, res) {\n    var url = req.url;\n    if (/^\\/files/.test(url)) {\n       url = url.substring(1);\n       abridge.minify(url).pipe(res);\n    };\n});\n```\n\nBut this would be absurdly inefficient without file caching. See [Lactate](https://github.com/Weltschmerz/Lactate) for that.\n\n## Note\n\nTo use YUICompressor (default for CSS files) you must have Java installed.\n","_id":"abridge@0.3.2","dist":{"shasum":"d1df1accd869726f3b93716bdf483e6360aa15c4","tarball":"https://registry.npmjs.org/abridge/-/abridge-0.3.2.tgz","integrity":"sha512-8lOkeXS8Zncq484n+C1xz4VeV7te2zSbbMJPBf/69iiHLTdR2H4qWQvTXlH286ak9LC6nhsQy0+hPv/VK9xauQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFyufTIMvULsjaXY1YRrG5PawfCBF8v+U0A6vV1Lhbw3AiBkJLnEc4hedLJcLoMOqiSRa44yisdBBTvVLQZ429/m5w=="}]},"_npmVersion":"1.1.62","_npmUser":{"name":"Weltschmerz","email":"chlavois@gmail.com"},"maintainers":[{"name":"Weltschmerz","email":"chlavois@gmail.com"}],"directories":{}},"0.4.0":{"name":"abridge","version":"0.4.0","description":"Streaming CSS / JS minifier","author":{"name":"Weltschmerz"},"main":"index.js","repository":{"type":"git","url":"https://github.com/Weltschmerz/Abridge.git"},"dependencies":{"suckle":"latest","should":"1.2.0"},"scripts":{},"readme":"# Abridge\n\n`npm install abridge`\n\nAbridge is a wild fork of [node-minify](https://github.com/srod/node-minify) module. It is not a drop-in replacement, but improves upon the original code in various ways.\n\n* Dropped support for Google Closure\n* Dropped no-minify file concat\n* Do not create temporary files, pipe to chld process's stdin instead\n* Use streams wherever possible\n* Supply minified data to callbacks\n* Major API improvements\n\n# Usage\n\nThe old API style is mostly preserved.\n\n```js\nvar Minifier = require('abridge').Minifier;\n\nvar minifier = new Minifier({\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js',\n    callback: function(err){\n        console.log(err);\n    }\n});\n\nminifier.compress();\n```\n\nBut now we can just call the `minify` function without creating an instance of Minify:\n\n```js\nvar abridge = require('abridge');\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js',\n    callback: function(err){\n        console.log(err);\n    }\n};\n\nabridge.minify(options);\n```\n\nWe can also supply a callback as a second argument, as per tradition:\n\n```js\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min.js'\n};\n\nabridge.minify(options, function(err) {\n    console.log(err);\n});\n```\n\nAnd our callback is given the minified data:\n\n```js\nabridge.minify(options, function(err, data) {\n    console.log(err, data);\n});\n```\n\nAlso `fileOut` and `type` are optional. If CSS is detected, Abridge will default to YUICompressor, as uglifyjs compresses only JavaScript. However, if minifying JavaScript, Abridge will use Uglify-js instead, as it is more efficient:\n\n```js\nvar options = {\n    fileIn: 'public/js/base.js'\n};\n\nabridge.minify(options, console.log);\n```\n\nIn fact you no longer need an options object:\n\n```js\nvar fileIn = ['public/js/base.js', 'public/js/somn.js'];\nvar fileOut = 'public/js/common.js';\nabridge.minify(fileIn, fileOut, console.log);\n```\n\nIn the simplest case, we have:\n\n```js\nabridge.minify('public/js/base.js', function(err, data) {\n\n});\n```\n\nThe function also returns a pipeable Stream instance:\n\n```js\nvar http = require('http');\nvar server = new http.Server();\n\nserver.addListener('request', function(req, res) {\n    var url = req.url;\n    if (/^\\/files/.test(url)) {\n       url = url.substring(1);\n       abridge.minify(url).pipe(res);\n    };\n});\n```\n\nBut this would be absurdly inefficient without file caching. See [Lactate](https://github.com/Weltschmerz/Lactate) for that.\n\n## Note\n\nTo use YUICompressor (default for CSS files) you must have Java installed.\n","_id":"abridge@0.4.0","dist":{"shasum":"51dc443eeb80ac37abcde86ad49b028fdc9c868a","tarball":"https://registry.npmjs.org/abridge/-/abridge-0.4.0.tgz","integrity":"sha512-JDXErB0AUv8FXeA0O7Lj4DNOpOWtFtTUz6RgflQv1PPLldCnmDgGs8gXYNX0NcvBOo+Z0cn4E2oXy1/HfG/Peg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAZeR1Ff2sc9/8kQ61+c6PcyKMX/QI6gDtpnRjErJEvgAiABOgZ92Don6vGcNbEO+TnHRJ5Ukb1oS64MKabT1hYnMw=="}]},"_npmVersion":"1.1.62","_npmUser":{"name":"Weltschmerz","email":"chlavois@gmail.com"},"maintainers":[{"name":"Weltschmerz","email":"chlavois@gmail.com"}],"directories":{}},"0.5.1":{"name":"abridge","version":"0.5.1","description":"Streaming minifier for JS and CSS","author":{"name":"Weltschmerz"},"main":"index.js","repository":{"type":"git","url":"https://github.com/Weltschmerz/Abridge.git"},"dependencies":{"suckle":"0.5.4","fraction":"0.2.0","ycssmin":"1.0.1"},"readme":"# Abridge\n\n`npm install abridge`\n\nAbridge is a streaming compiler for CSS & JavaScript. It is a superset of [ycssmin](https://github.com/yui/ycssmin) and [uglify-js](https://github.com/mishoo/UglifyJS), with a streamable interface on top.\n\n## Usage\n\n```js\nvar abridge = require('abridge');\n/* abridge.{Minifier, createStream, minify} */\n```\n\n**Piping output**\n\nPipe #minify output to any writable stream.\n\n```js\nabridge.minify('path/to/my/file.js').pipe(process.stdout);\n```\n\nYou may use either a String or an instance of fs.ReadStream as a first argument.\n\n```js\nvar inputStream = require('fs').createReadStream('path/to/my/file.css');\nabridge.minify(inputStream).pipe(process.stdout);\n```\n\n**Using callback**\n\nThrow in a callback if you desire.\n\n```js\nabridge.minify('file.js', function(err, data) {\n});\n```\n\n**minify is createStream**\n\n```js\nabridge.createStream('file.css').pipe(process.stdout);\n```\n\n**Minify multiple files at once**\n\n```js\nabridge.minify(['file1.js', 'file2.js']).pipe(process.stdout);\n```\n\n**Serve minified scripts and styles**\n\nAbridge can be integrated into a web server for quickly minifying scripts & styles.\n\n```js\nvar http = require('http');\nvar server = http.createServer(function(req, res) {\n    abridge.createStream(req.url.slice(1)).pipe(res);\n});\nserver.listen(8080);\n```\n\nFor a complete file server solution that uses Abridge minification as well as automatic gzipping, see [Lactate](https://github.com/Weltschmerz/Lactate)\n\n##License\n\nMIT\n","_id":"abridge@0.5.1","dist":{"shasum":"ec16acc0131579ed304008cc0cc3fa82269dff1e","tarball":"https://registry.npmjs.org/abridge/-/abridge-0.5.1.tgz","integrity":"sha512-t3N1fMTzyfHHEh87+H/Q/6ddOUI6qjcv891UmAIMW1NupNxw/FF7FqW/9bM1ZGpM76Rx/folQ6tEnI7Gq8w8bA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDfWvVs+WcZAhob67ikSFRK8IwxQehnVjpd6QOPF0ml5QIgXv4j26rZvngowFCvtATJfrUN5sONjaoGywEnD8XbHXg="}]},"_npmVersion":"1.1.62","_npmUser":{"name":"Weltschmerz","email":"wltsmrz@gmail.com"},"maintainers":[{"name":"Weltschmerz","email":"chlavois@gmail.com"}]},"0.5.2":{"name":"abridge","version":"0.5.2","description":"Streaming minifier for JS and CSS","author":{"name":"Weltschmerz"},"main":"index.js","repository":{"type":"git","url":"https://github.com/Weltschmerz/Abridge.git"},"dependencies":{"suckle":"0.5.4","fraction":"0.2.0","ycssmin":"1.0.1"},"readme":"# Abridge\n\n`npm install abridge`\n\nAbridge is a streaming compiler for CSS & JavaScript. It is a superset of [ycssmin](https://github.com/yui/ycssmin) and [uglify-js](https://github.com/mishoo/UglifyJS), with a streamable interface on top.\n\n## Usage\n\n```js\nvar abridge = require('abridge');\n/* abridge.{Minifier, createStream, minify} */\n```\n\n**Piping output**\n\nPipe #minify output to any writable stream.\n\n```js\nabridge.minify('path/to/my/file.js').pipe(process.stdout);\n```\n\nYou may use either a String or an instance of fs.ReadStream as a first argument.\n\n```js\nvar inputStream = require('fs').createReadStream('path/to/my/file.css');\nabridge.minify(inputStream).pipe(process.stdout);\n```\n\n**Using callback**\n\nThrow in a callback if you desire.\n\n```js\nabridge.minify('file.js', function(err, data) {\n});\n```\n\n**minify is createStream**\n\n```js\nabridge.createStream('file.css').pipe(process.stdout);\n```\n\n**Minify multiple files at once**\n\n```js\nabridge.minify(['file1.js', 'file2.js']).pipe(process.stdout);\n```\n\n**Serve minified scripts and styles**\n\nAbridge can be integrated into a web server for quickly minifying scripts & styles.\n\n```js\nvar http = require('http');\nvar server = http.createServer(function(req, res) {\n    abridge.createStream(req.url.slice(1)).pipe(res);\n});\nserver.listen(8080);\n```\n\nFor a complete file server solution that uses Abridge minification as well as automatic gzipping, see [Lactate](https://github.com/Weltschmerz/Lactate)\n\n##License\n\nMIT\n","_id":"abridge@0.5.2","dist":{"shasum":"416c66bb340ea8ea13395e9f91aabe2cfca3b500","tarball":"https://registry.npmjs.org/abridge/-/abridge-0.5.2.tgz","integrity":"sha512-vqt+dJF8FNUIv6xNszzZINjFZf6sGruElv1S7GNpvPNwhulPh6rSzke+AJ7fBk1vAVonHJlU9Go3qshASA9uPA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBzFgWpAU4ERK7+aWwFZRIcQsirOoyE10WYOjfqrU0pUAiB2Gw5RlxoVhhkn4uY9yN4/zG2gBUcIF9852DgEuGJUHg=="}]},"_npmVersion":"1.1.62","_npmUser":{"name":"Weltschmerz","email":"wltsmrz@gmail.com"},"maintainers":[{"name":"Weltschmerz","email":"chlavois@gmail.com"}]},"0.5.3":{"name":"abridge","version":"0.5.3","description":"Streaming minifier for JS and CSS","author":{"name":"Weltschmerz"},"main":"index.js","repository":{"type":"git","url":"https://github.com/Weltschmerz/Abridge.git"},"dependencies":{"suckle":"0.5.4","fraction":"0.2.0","ycssmin":"1.0.1"},"readme":"# Abridge\n\n`npm install abridge`\n\nAbridge is a streaming compiler for CSS & JavaScript. It is a superset of [ycssmin](https://github.com/yui/ycssmin) and [uglify-js](https://github.com/mishoo/UglifyJS), with a streamable interface on top.\n\n## Usage\n\n```js\nvar abridge = require('abridge');\n/* abridge.{Minifier, createStream, minify} */\n```\n\n**Piping output**\n\nPipe #minify output to any writable stream.\n\n```js\nabridge.minify('path/to/my/file.js').pipe(process.stdout);\n```\n\nYou may use either a String or an instance of fs.ReadStream as a first argument.\n\n```js\nvar inputStream = require('fs').createReadStream('path/to/my/file.css');\nabridge.minify(inputStream).pipe(process.stdout);\n```\n\n**Using callback**\n\nThrow in a callback if you desire.\n\n```js\nabridge.minify('file.js', function(err, data) {\n});\n```\n\n**minify is createStream**\n\n```js\nabridge.createStream('file.css').pipe(process.stdout);\n```\n\n**Minify multiple files at once**\n\n```js\nabridge.minify(['file1.js', 'file2.js']).pipe(process.stdout);\n```\n\n**Serve minified scripts and styles**\n\nAbridge can be integrated into a web server for quickly minifying scripts & styles.\n\n```js\nvar http = require('http');\nvar server = http.createServer(function(req, res) {\n    abridge.createStream(req.url.slice(1)).pipe(res);\n});\nserver.listen(8080);\n```\n\nFor a complete file server solution that uses Abridge minification as well as automatic gzipping, see [Lactate](https://github.com/Weltschmerz/Lactate)\n\n##License\n\nMIT\n","readmeFilename":"README.md","_id":"abridge@0.5.3","dist":{"shasum":"d6c9e5275d430fabecf9d9448084ac9f73b916b0","tarball":"https://registry.npmjs.org/abridge/-/abridge-0.5.3.tgz","integrity":"sha512-FJV5NITIK4az6dhqEOOxf9tfqQLWoA25NIi1F3x/G337Y+ArXZ+aJHJWngYGGsIRJ91ayFIt2Ey+JDuCwOha1w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDYtZV9VqVw282ZXKzGktDY8sHX2k9z3tWIoW9hCCeQiAiBI6tzJfx8jtASNeCpK1FRm8oenmEUlObp2oHt65LEU9w=="}]},"_npmVersion":"1.1.69","_npmUser":{"name":"Weltschmerz","email":"wltsmrz@gmail.com"},"maintainers":[{"name":"Weltschmerz","email":"chlavois@gmail.com"}]}},"readme":"# Abridge\n\n`npm install abridge`\n\nAbridge is a wild fork of [node-minify](https://github.com/srod/node-minify) module. It is not a drop-in replacement, but improves upon the original code in various ways.\n\n* Dropped support for Google Closure\n* Do not create temporary files, pipe to chld process's stdin instead\n* Use streams wherever possible\n* Supply minified data to callbacks\n* Major API improvements\n\n# Usage\n\nThe old API style is mostly preserved.\n\n```js\nvar Minifier = require('abridge').Minifier;\n\nnew Minifier({\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min-gcc.js',\n    callback: function(err){\n        console.log(err);\n    }\n});\n```\n\nBut now we can just call the `minify` function without creating an instance of Minify:\n\n```js\nvar abridge = require('abridge');\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min-gcc.js',\n    callback: function(err){\n        console.log(err);\n    }\n};\n\nabridge.minify(options);\n```\n\nWe can also supply a callback as a second argument, as per tradition:\n\n```js\nvar options = {\n    type: 'yui',\n    fileIn: 'public/js/base.js',\n    fileOut: 'public/js/base-min-gcc.js'\n};\n\nabridge.minify(options, function(err) {\n    console.log(err);\n});\n```\n\nAnd our callback is given the minified data:\n\n```js\nabridge.minify(options, function(err, data) {\n    console.log(err, data);\n});\n```\n\nAlso `fileOut` and `type` are optional. If CSS is detected, Abridge will default to YUICompressor, as uglifyjs compresses only JavaScript. However, if minifying JavaScript, Abridge will use Uglify-js instead, as it is more efficient:\n\n```js\nvar options = {\n    fileIn: 'public/js/base.js'\n};\n\nabridge.minify(options, console.log);\n```\n\nIn fact you no longer need an options object:\n\n```js\nvar fileIn = ['public/js/base.js', 'public/js/somn.js'];\nvar fileOut = 'public/js/common.js';\nabridge.minify(fileIn, fileOut, console.log);\n```\n\nIn the simplest case, we have:\n\n```js\nabridge.minify('public/js/base.js', function(err, data) {\n\n});\n```\n\n## Note\n\nTo use YUICompressor (default for CSS files) you must have Java installed.\n","maintainers":[{"name":"Weltschmerz","email":"chlavois@gmail.com"}],"time":{"modified":"2022-06-13T02:20:09.788Z","created":"2012-09-21T08:01:46.044Z","0.2.0":"2012-09-21T08:01:46.432Z","0.2.1":"2012-09-22T04:33:15.517Z","0.2.2":"2012-09-22T12:29:08.323Z","0.2.3":"2012-09-22T14:05:42.473Z","0.2.4":"2012-09-23T08:54:15.926Z","0.2.5":"2012-09-25T20:31:44.492Z","0.2.6":"2012-09-26T16:36:17.446Z","0.2.8":"2012-09-29T23:02:53.496Z","0.2.9":"2012-10-02T18:02:04.962Z","0.2.10":"2012-10-11T07:58:02.614Z","0.3.0":"2012-10-15T11:01:20.067Z","0.3.1":"2012-10-17T20:21:40.685Z","0.3.2":"2012-10-17T21:17:47.103Z","0.4.0":"2012-10-28T21:58:47.893Z","0.5.0":"2013-01-04T12:25:05.942Z","0.5.1":"2013-01-05T02:39:29.422Z","0.5.2":"2013-01-05T02:46:55.954Z","0.5.3":"2013-01-10T09:16:47.726Z"},"author":{"name":"Weltschmerz"},"repository":{"type":"git","url":"https://github.com/Weltschmerz/Abridge.git"}}