Note: This plugin uses version 3 of Modernizr. Make sure to check the Github repo for the correct feature names (example: Modernizr.touch
was renamed to Modernizr.touchevents
).
First, install gulp-modernizr
as a development dependency:
npm install --save-dev gulp-modernizr
Then, add it to your gulpfile.js
:
var modernizr = require('gulp-modernizr');
gulp.task('modernizr', function() {
return gulp.src('./js/*.js')
.pipe(modernizr())
.pipe(gulp.dest("build/"))
});
Type: String
You can optionally pass a fileName to name the Modernizr file (defaults to 'modernizr.js')
gulp.src('./js/*.js')
.pipe(modernizr('modernizr-custom.js'));
Type: Object
You can pass settings as an object. See the customizr repository for valid settings.
gulp.src('./js/*.js')
.pipe(modernizr({
excludeTests: ['csstransforms3d']
}));
The 'settings' object can also be required from a JSON file:
modernizr-config.json:
{
'options': ['setClasses'],
'tests': ['webworkers']
}
gulpfile.js:
gulp.src('./js/*.js')
.pipe(modernizr(require('./modernizr-config.json')))
See the customizr repository for valid settings.
Currently not passed on to customizr, see issue #36
Per the Gulp guidelines, the option to uglify the build goes against guidelines #1 and #3. Thus, this setting has been removed from this plugin. You may use gulp-uglify
to achieve this functionality in Gulp:
gulp.src('./js/*.js')
.pipe(modernizr())
.pipe(uglify())
.pipe(gulp.dest("build/"));
Copyright (c) 2013 Richard Herrera Licensed under the MIT license.