UNPKG

meka

Version:

Marionette Scaffolding

52 lines (40 loc) 1.17 kB
var fs = require('fs') var debug = require('debug')('meka:process') var plate = require('../lib/plate.js') var cats = require('concat-stream') var thru = require('through') var async = require('async') module.exports = function(opts, done) { var hash = opts.hash var tags = opts.tags var dest = opts.dest var tdir = opts.template_dir async.each(tags, process, function(err) { if(err) debug('error processing ', tags, hash, dest, err) else debug('processing complete', err) done(err) }) function process(tag, cb) { var rs = fs.createReadStream(tdir + tag, { encoding: 'utf8' }) var ws = fs.createWriteStream(fmt_dest(tag), { encoding: 'utf8' }) var cs = cats(function(data) { var painted = plate(opts.hash, data) debug('painted', opts.tag) ws.on('end', function() { cb(null) }) ws.on('error', function(err) { cb(err) }) ws.write(painted) }) rs.on('error', function(err) { cb(err) }) rs.pipe(cs) } function fmt_dest(tag) { var file = ('index.js' == tag) ? tag : hash.name + '-' + tag return dest + '/' + file } }