grunt-lib-contrib
Common functionality shared across grunt-contrib tasks.
The purpose of grunt-lib-contrib is to explore solutions to common problems task writers encounter, and to ease the upgrade path for contrib tasks.
These APIs should be considered highly unstable. Depend on them at your own risk!
Over time, some of the functionality provided here may be incorporated directly into grunt for mainstream use. Until then, you may require grunt-lib-contrib
as a dependency in your projects, but be very careful to specify an exact version number instead of a range, as backwards-incompatible changes are likely to be introduced.
Helper Functions
getNamespaceDeclaration(ns)
This helper is used to build JS namespace declarations.
optsToArgs(options)
Convert an object to an array of CLI arguments, which can be used with child_process.spawn()
.
// Example
{
fooBar: 'a', // ['--foo-bar', 'a']
fooBar: 1, // ['--foo-bar', '1']
fooBar: true, // ['--foo-bar']
fooBar: false, //
fooBar: ['a', 'b'] // ['--foo-bar', 'a', '--foo-bar', 'b']
}
stripPath(pth, strip)
Strip a path from a path. normalize both paths for best results.
minMaxInfo(min, max, report)
Helper for logging compressed, uncompressed and gzipped sizes of strings.
report
Choices: false
, 'min'
, 'gzip'
Default: false
Either do not report anything, report only minification result, or report minification and gzip results.
Important Including 'gzip'
results can make this task 5-10x slower depending on the size of the file.
var max = grunt.file.read('max.js');
var min = minify(max);
minMaxInfo(min, max, 'gzip');
Would print:
Original: 495 bytes.
Minified: 396 bytes.
Gzipped: 36 bytes.
--
Lib submitted by Tyler Kellen.