module.exports = function writeToFile(content, filename, createMissingFolders, cb) { var templates = loadTemplates(); if (wrStream && lastFilename !== filename) { wrStream.end(); wrStream = null; } if (!wrStream) { var stats, size = 0, dir = path.dirname(filename); if (createMissingFolders && !fs.existsSync(dir)) { fs.mkdirTree(dir); } wrStream = fs.createWriteStream(filename); wrStream.write(templates.pageHeader); // TODO: not working // wrStream.on('end', function() { // var wrStream1 = fs.createWriteStream(filename); // wrStream1.write(templates.pageFooter); // }); lastFilename = filename; } wrStream.write(content, (typeof cb === 'function') ? cb : function() { }); }
fs.mkdirTree = function (dir){ var parent = path.dirname(dir); if(!fs.existsSync(parent)){ fs.mkdirTree(parent); } if (!fs.existsSync(dir)) { fs.mkdir(dir); } }
function writeToFile(content, opts) { opts = opts || {}; opts.filename = opts.filename || defaultFilename; if (wrStream && filename !== opts.filename) { wrStream.end(); wrStream = null; } if (!wrStream) { var dir = path.dirname(opts.filename); if (opts.createMissingFolders && !fs.existsSync(dir)) { fs.mkdirTree(dir); } wrStream = fs.createWriteStream(opts.filename); filename = opts.filename; } wrStream.write(content); }