Bachir Soussi Chiadmi ac58a24f5c added bower, gulp | 7 éve | |
---|---|---|
.. | ||
demo | 7 éve | |
lib | 7 éve | |
tests | 7 éve | |
.npmignore | 7 éve | |
.travis.yml | 7 éve | |
CHANGELOG.md | 7 éve | |
README.md | 7 éve | |
UNLICENSE | 7 éve | |
grunt.js | 7 éve | |
package.json | 7 éve |
JSMin with sourcemaps!
Also available as a grunt plugin!
JSMin is a JavaScript minifier that removes whitespace and comments.
Source maps enables developers to view and interact with minified JavaScript as if it were unminified (providing useful line errors and easier debugging).
When you combine both of these, you get a node module that is your new best debugging friend.
Install the module with: npm install jsmin-sourcemap
The folders in demo
are hosted on Plunker for your testing and enjoyment.
JSMin is a standalone function which takes the following format of paramters
/**
* JSMin + source-map
* @param {Object} params Parameters to minify and generate sourcemap with
* @param {String} [params.dest="undefined.js"] Destination for your JavaScript (used inside of sourcemap map)
* @param {String} [params.srcRoot] Optional root for all relative URLs
*
* SINGLE FILE FORMAT
* @param {String} params.src File path to original JavaScript (seen when an error is thrown)
* @param {String} params.code JavaScript to minify
*
* MULTI FILE FORMAT
* @param {Object[]} params.input Array of objects) to minify
* @param {String} params.input[n].src File path to original JavaScript (seen when an error is thrown)
* @param {String} params.input[n].code JavaScript to minify
*
* @return {Object} retObj
* @return {String} retObj.code Minified JavaScript
* @return {Object} retObj.sourcemap Sourcemap of input to minified JavaScript
*/
// Load in jsmin and jQuery
var jsmin = require('node-jsmin-sourcemap'),
jquerySrc = fs.readFileSync('jquery.js', 'utf8');
// Process the jquery source via jsmin
var jqueryMinObj = jsmin({'code':jQuerySrc,'src':'jquery.js','dest':'jquery.min.js'});
// Minified code is available at
// jqueryMinObj.code;
// Sourcemap is available at
// jqueryMinObj.sourcemap;
// Load in jsmin, jQuery, and underscore
var jsmin = require('node-jsmin-sourcemap'),
jquerySrc = fs.readFileSync('jquery.js', 'utf8'),
underscoreSrc = fs.readFileSync('underscore.js', 'utf8');
// Process the jquery amd underscore source via jsmin
var indexMinObj = jsmin({
'input': [{
'code': jQuerySrc,
'src': 'jquery.js'
}, {
'code': underscoreSrc,
'src': 'underscore.js'
}],
'dest':'index.min.js'
});
// Minified code is availabe at
// indexMinObj.code;
// Sourcemap is availabe at
// indexMinObj.sourcemap;
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint via grunt and test via npm test
.
Support this project and others by twolfson via gittip.
As of Dec 04 2013, Todd Wolfson has released this repository and its contents to the public domain.
It has been released under the UNLICENSE.
Previous to this, it was licensed under the MIT license.