UNPKG

1.23 kBJavaScriptView Raw
1var _ = require("lodash")
2 , config = require("./config")
3 , fs = require("fs")
4 , path = require("path")
5
6
7var outPaths = fileRegExp(config.get("ext"), config.get("output"));
8
9function fileRegExp(exts_in, output, ext){
10 ext = ext || ".js"
11 var ext_str = exts_in.join("|");
12 var regex = new RegExp("("+ext_str+")$");
13 var out_path = output
14 return function(name){
15 return path.join(out_path, name.replace(regex, ext));
16 }
17}
18
19module.exports = {
20 fileRegExp:fileRegExp
21
22 , fileIn: function(input){
23 var in_path= input;
24 return function(file){
25 return path.resolve(path.join(in_path, file))
26 }
27 }
28
29 , setOutpaths:function(files) {
30 return function(){
31 return _.map(files, function(f){
32 return outPaths(f);
33 });
34 }
35 }
36
37 , writeFile: function(file, minify, bs){
38 var filePath = outPaths(file);
39 var mini = minify
40 return function(){
41 var wr = fs.createWriteStream(filePath);
42 wr.on("error", function(err) {
43 console.error('err', err);
44 });
45 wr.on("close", function(ex) {
46 //Minifiy if required
47 if(_.isFunction(mini)) mini(filePath);
48 if(_.isFunction(bs)) bs();
49 });
50
51 return wr
52 }
53 }
54}