Skip to content

Commit

Permalink
Ensures gulp sources are correct in output
Browse files Browse the repository at this point in the history
closes roots#1476

Make the bower file paths relative due to
gulp-community/gulp-order#11
  • Loading branch information
austinpray committed Jun 4, 2015
1 parent 71c2e78 commit 2401f68
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 8 deletions.
31 changes: 23 additions & 8 deletions gulpfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ var lazypipe = require('lazypipe');
var less = require('gulp-less');
var merge = require('merge-stream');
var minifyCss = require('gulp-minify-css');
var order = require('gulp-order');
var plumber = require('gulp-plumber');
var rev = require('gulp-rev');
var runSequence = require('run-sequence');
Expand Down Expand Up @@ -63,17 +64,27 @@ var enabled = {
// Path to the compiled assets manifest in the dist directory
var revManifest = path.dist + 'assets.json';

// Transform absolute paths into project relative paths.
// This is needed due to https://github.com/sirlantis/gulp-order/issues/11
var makeRelative = function(globs) {
return globs.map(function (g) {
return require('path').relative(__dirname, g);
});
};

// ## Reusable Pipelines
// See https://github.com/OverZealous/lazypipe

// ### CSS processing pipeline
// Example
// ```
// gulp.src(cssFiles)
// .pipe(cssTasks('main.css')
// .pipe(cssTasks('main.css', cssFiles)
// .pipe(order(cssFiles)
// .pipe(gulp.dest(path.dist + 'styles'))
// ```
var cssTasks = function(filename) {
var cssTasks = function(filename, globs) {
globs = makeRelative(globs);
return lazypipe()
.pipe(function() {
return gulpif(!enabled.failStyleTask, plumber());
Expand All @@ -92,6 +103,7 @@ var cssTasks = function(filename) {
errLogToConsole: !enabled.failStyleTask
}));
})
.pipe(order, globs)
.pipe(concat, filename)
.pipe(autoprefixer, {
browsers: [
Expand Down Expand Up @@ -119,14 +131,17 @@ var cssTasks = function(filename) {
// Example
// ```
// gulp.src(jsFiles)
// .pipe(jsTasks('main.js')
// .pipe(jsTasks('main.js', jsFiles)
// .pipe(order(jsFiles)
// .pipe(gulp.dest(path.dist + 'scripts'))
// ```
var jsTasks = function(filename) {
var jsTasks = function(filename, globs) {
globs = makeRelative(globs);
return lazypipe()
.pipe(function() {
return gulpif(enabled.maps, sourcemaps.init());
})
.pipe(order, globs)
.pipe(concat, filename)
.pipe(uglify)
.pipe(function() {
Expand Down Expand Up @@ -161,14 +176,14 @@ var writeToManifest = function(directory) {
gulp.task('styles', ['wiredep'], function() {
var merged = merge();
manifest.forEachDependency('css', function(dep) {
var cssTasksInstance = cssTasks(dep.name);
var cssTasksInstance = cssTasks(dep.name, dep.globs);
if (!enabled.failStyleTask) {
cssTasksInstance.on('error', function(err) {
console.error(err.message);
this.emit('end');
});
}
merged.add(gulp.src(dep.globs, {base: 'styles'})
merged.add(gulp.src(dep.globs, {base: './'})
.pipe(cssTasksInstance));
});
return merged
Expand All @@ -182,8 +197,8 @@ gulp.task('scripts', ['jshint'], function() {
var merged = merge();
manifest.forEachDependency('js', function(dep) {
merged.add(
gulp.src(dep.globs, {base: 'scripts'})
.pipe(jsTasks(dep.name))
gulp.src(dep.globs, {base: './'})
.pipe(jsTasks(dep.name, dep.globs))
);
});
return merged
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
"gulp-jshint": "^1.9.4",
"gulp-less": "^3.0.2",
"gulp-minify-css": "^1.0.0",
"gulp-order": "^1.1.1",
"gulp-plumber": "^1.0.0",
"gulp-rename": "^1.2.0",
"gulp-rev": "^3.0.1",
Expand Down

0 comments on commit 2401f68

Please sign in to comment.