1 var fs = require('fs');
2 var Writable = require('readable-stream/writable');
4 var exists = function(path) {
6 return fs.existsSync(path);
12 module.exports = function() {
13 var s = new Writable({highWaterMark:0});
20 var write = function() {
21 fs.write(1, data, offset, data.length - offset, null, onwrite);
24 var onwrite = function(err, written) {
25 if (err && err.code === 'EPIPE') return cb()
26 if (err && err.code === 'EAGAIN' && tries++ < 30) return setTimeout(write, 10);
27 if (err) return cb(err);
30 if (offset + written >= data.length) return cb();
36 s._write = function(_data, enc, _cb) {
44 s.isTTY = process.stdout.isTTY;
46 s.on('finish', function() {
47 fs.close(1, function(err) {
48 if (err) s.emit('error', err);