Our gulp assembly takes a bunch of libraries installed with bower, and then combines them with all the code that we distribute in several directories. Here's what it looks like:
var jsFiles = [ sourcePath + '/config/config.js', sourcePath + '/vendor/jquery/dist/jquery.js', sourcePath + '/vendor/js-cookie/src/js.cookie.js', sourcePath + '/vendor/modernizr/modernizr.js', sourcePath + '/vendor/lodash/lodash.js', sourcePath + '/vendor/picturefill/dist/picturefill.min.js', sourcePath + '/templates/**/*.js', sourcePath + '/pages/**/*.js' ], gulp.task('build:js', ['jscs'], function() { return gulp.src(jsFiles) .pipe(concat('scripts.js')) .pipe(gulpif(isProd, uglify())) .pipe(gulp.dest(outputPath + '/webresources/js')); });
Our problem is that whenever someone adds new libraries, other developers will encounter problems if they do not run bower install to get new components. scripts.js is created without them, because it will not mind that one of the globes is returned empty, even if it is a named file.
How can this be solved? Is there a way to throw an error if glob returns null results?
javascript bower gulp
Kaivosukeltaja
source share