Skip to content

Instantly share code, notes, and snippets.

@eguneys
Created July 25, 2014 07:21
Show Gist options
  • Save eguneys/2fdbe7ac83dfab04748a to your computer and use it in GitHub Desktop.
Save eguneys/2fdbe7ac83dfab04748a to your computer and use it in GitHub Desktop.
Package files by folder with gulp
gulp.task('build-dev-templates5', function() {
var mergeStream = require('merge-stream');
var fs = require('fs');
var amdModulePrefix = 'define(["ember"], function(Ember) {',
amdModulePostfix = '});';
var directoryFilter = $.filter(function (file) { return file.isDirectory(); });
var dFilter2 = fs.readdirSync(paths.src.common + '/templates').filter(function(name) {
return fs.statSync(paths.src.common + '/templates/' + name).isDirectory();
});
dFilter2.push('.');
var streams = dFilter2.map(function(name) {
var srcGlob = name==='.'?'*.hbs':(name + '/**/*.hbs');
var dst = name==='.'?'common':name;
var rightPath = name==='.'?'':dst + '/';
var renameToRightPath = $.rename(function(path) { path.dirname = rightPath + path.dirname; });
return gulp.src(paths.src.common + '/templates/' + srcGlob)
.pipe($.plumber())
.pipe(renameToRightPath)
//.pipe($.filter(function(f) { console.log(f); }))
.pipe($.emberTemplates({
type: 'browser'
}))
.pipe($.concat(dst + '.js'))
.pipe($.insert.wrap(amdModulePrefix, amdModulePostfix))
.pipe(gulp.dest(paths.dev_dist + '/templates'));
});
return mergeStream(streams);
});
@eguneys
Copy link
Author

eguneys commented Jul 25, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment