UNPKG

bebox

Version:

TronBox - Simple development framework for Tron

1 lines 1.38 kB
"use strict";var cpr=require("cpr");var fs=require("fs");var _=require("lodash");var cpr_options={deleteFirst:false,overwrite:false,confirm:true};var copy=function copy(from,to,extra_options,callback){if(typeof extra_options==="function"){callback=extra_options;extra_options={}}var options=_.merge(_.clone(cpr_options),extra_options);cpr(from,to,options,function(err,files){var new_files=[];files=files||[];var _iteratorNormalCompletion=true;var _didIteratorError=false;var _iteratorError=undefined;try{for(var _iterator=files[Symbol.iterator](),_step;!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=true){var file=_step.value;if(file.match(/.*PLACEHOLDER.*/)!=null){fs.unlinkSync(file);continue}new_files.push(file)}}catch(err){_didIteratorError=true;_iteratorError=err}finally{try{if(!_iteratorNormalCompletion&&_iterator["return"]!=null){_iterator["return"]()}}finally{if(_didIteratorError){throw _iteratorError}}}callback(err,new_files)})};copy.file=function(from,to,callback){var readStream=fs.createReadStream(from,"utf8");var writeStream=fs.createWriteStream(to,"utf8");readStream.on("error",function(err){callback(err);callback=function callback(){}});writeStream.on("error",function(err){callback(err);callback=function callback(){}});writeStream.on("finish",function(){callback()});readStream.pipe(writeStream)};module.exports=copy;