Skip to content

Commit e9a4321

Browse files
authored
Merge pull request #5 from creaminternet/4-files-are-never-written-by-gulp-multi-dest
Created multi-dest helper, based on the gulp-multi-dest package
2 parents b524422 + b7e6e56 commit e9a4321

File tree

6 files changed

+5133
-3792
lines changed

6 files changed

+5133
-3792
lines changed

helpers/babel.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { globbySync } from 'globby'
55
import gulpIf from 'gulp-if'
66
import babel from 'gulp-babel'
77
import rename from 'gulp-rename'
8-
import multiDest from 'gulp-multi-dest'
8+
import multiDest from './multi-dest.mjs'
99
import logger from 'gulp-logger'
1010
import plumber from 'gulp-plumber'
1111
import notify from 'gulp-notify'

helpers/multi-dest.mjs

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import through from 'through2';
2+
import gulp from 'gulp';
3+
import async from 'async';
4+
5+
export default function (paths, options) {
6+
options = options || {};
7+
var writtenFiles = [];
8+
9+
if (typeof paths === 'string') {
10+
paths = [paths];
11+
}
12+
13+
var dests = paths.map(function (path) {
14+
return gulp.dest(path, options);
15+
});
16+
17+
function writeFileToMultipleDestinations(file, encoding, done) {
18+
async.each(dests, function (dest, wroteFileToDest) {
19+
var fileClone = file.clone();
20+
dest.write(fileClone, function () {
21+
writtenFiles.push(fileClone);
22+
wroteFileToDest();
23+
});
24+
});
25+
done(null, file);
26+
}
27+
28+
function flushCreatedFiles(done) {
29+
var stream = this;
30+
for (var i = 0; i < writtenFiles.length; i++) {
31+
var file = writtenFiles[i];
32+
stream.push(file);
33+
}
34+
done();
35+
}
36+
37+
return through.obj(writeFileToMultipleDestinations, flushCreatedFiles);
38+
};

helpers/scss.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import dartSass from 'sass'
55
import nodeSass from 'node-sass'
66
import gulpSass from 'gulp-sass'
77
import rename from 'gulp-rename'
8-
import multiDest from 'gulp-multi-dest'
8+
import multiDest from './multi-dest.mjs'
99
import logger from 'gulp-logger'
1010
import plumber from 'gulp-plumber'
1111
import notify from 'gulp-notify'

helpers/svg.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import gulp from 'gulp'
22
import path from 'path'
33
import gulpIf from 'gulp-if'
4-
import multiDest from 'gulp-multi-dest'
4+
import multiDest from './multi-dest.mjs'
55
import logger from 'gulp-logger'
66
import plumber from 'gulp-plumber'
77
import notify from 'gulp-notify'

0 commit comments

Comments
 (0)