123456789101112131415161718192021222324252627282930 |
- 'use strict';
- var through2 = require('through2');
- var fs = require('graceful-fs');
- var prepareWrite = require('../prepareWrite');
- function symlink(outFolder, opt) {
- function linkFile(file, enc, cb) {
- var srcPath = file.path;
- var symType = (file.isDirectory() ? 'dir' : 'file');
- prepareWrite(outFolder, file, opt, function(err, writePath) {
- if (err) {
- return cb(err);
- }
- fs.symlink(srcPath, writePath, symType, function(err) {
- if (err && err.code !== 'EEXIST') {
- return cb(err);
- }
- cb(null, file);
- });
- });
- }
- var stream = through2.obj(opt, linkFile);
- // TODO: option for either backpressure or lossy
- stream.resume();
- return stream;
- }
- module.exports = symlink;
|