Skip to content

Commit

Permalink
Update: Split prepareWrite into stream module (closes #193)
Browse files Browse the repository at this point in the history
  • Loading branch information
phated committed Jul 26, 2016
1 parent 5c7a571 commit cc99707
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 7 deletions.
24 changes: 18 additions & 6 deletions lib/dest/index.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,20 @@
'use strict';

var path = require('path');

var pumpify = require('pumpify');
var through2 = require('through2');
var sourcemaps = require('gulp-sourcemaps');
var duplexify = require('duplexify');
var valueOrFunction = require('value-or-function');
var prepare = require('vinyl-prepare');

var fo = require('../file-operations');
var sink = require('../sink');
var prepareWrite = require('../prepare-write');
var writeContents = require('./write-contents');

var number = valueOrFunction.number;

function dest(outFolder, opt) {
if (!opt) {
opt = {};
Expand All @@ -18,17 +24,23 @@ function dest(outFolder, opt) {
['boolean', 'string', 'object'], opt.sourcemaps);

function saveFile(file, enc, callback) {
prepareWrite(outFolder, file, opt, onPrepare);
var dirMode = number(opt.dirMode, file);
var writeFolder = path.dirname(file.path);

fo.mkdirp(writeFolder, dirMode, onMkdirp);

function onPrepare(prepareErr) {
if (prepareErr) {
return callback(prepareErr);
function onMkdirp(mkdirpErr) {
if (mkdirpErr) {
return callback(mkdirpErr);
}
writeContents(file, callback);
}
}

var saveStream = through2.obj(opt, saveFile);
var saveStream = pumpify.obj(
prepare.write(outFolder, opt),
through2.obj(opt, saveFile)
);
if (!sourcemapsOpt) {
// Sink the save stream to start flowing
// Do this on nextTick, it will flow at slowest speed of piped streams
Expand Down
4 changes: 3 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,15 @@
"lodash.isequal": "4.2.0",
"merge-stream": "^1.0.0",
"object-assign": "^4.0.0",
"pumpify": "^1.3.5",
"strip-bom": "^2.0.0",
"strip-bom-stream": "^1.0.0",
"through2": "^2.0.0",
"through2-filter": "^2.0.0",
"vali-date": "^1.0.0",
"value-or-function": "^1.2.0",
"vinyl": "^1.0.0"
"vinyl": "^1.0.0",
"vinyl-prepare": "gulpjs/vinyl-prepare"
},
"devDependencies": {
"del": "^2.2.0",
Expand Down

0 comments on commit cc99707

Please sign in to comment.