UNPKG

1.14 kBJavaScriptView Raw
1// Dependencies ---------------------------------------------------------------
2var path = require('path'),
3 fs = require('fs.extra'),
4 Task = require('../lib/task/Task');
5
6
7// Copy Task ------------------------------------------------------------------
8var copy = {
9
10 mode: Task.Each,
11 data: false,
12
13 map: function(e, file) {
14 return file;
15 },
16
17 run: function(e, done) {
18
19 var dest = path.join(e.options.dest, e.mapped);
20 fs.mkdirp(path.dirname(dest), function() {
21
22 var reader = fs.createReadStream(e.path);
23 reader.on('error', function(err) {
24 done(err);
25 });
26
27 var writer = fs.createWriteStream(dest);
28 writer.on('error', function(err) {
29 done(err);
30 });
31
32 writer.on('close', function(err) {
33 done(null);
34 });
35
36 reader.pipe(writer);
37
38 });
39
40 }
41
42};
43
44
45// Factory --------------------------------------------------------------------
46module.exports = {
47
48 task: function(pattern) {
49 return new Task('Copy', pattern, copy);
50 }
51
52};
53