1 | var _ = require("lodash")
|
2 | , config = require("./config")
|
3 | , fs = require("fs")
|
4 | , path = require("path")
|
5 |
|
6 |
|
7 | var outPaths = fileRegExp(config.get("ext"), config.get("output"));
|
8 |
|
9 | function 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 |
|
19 | module.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 |
|
47 | if(_.isFunction(mini)) mini(filePath);
|
48 | if(_.isFunction(bs)) bs();
|
49 | });
|
50 |
|
51 | return wr
|
52 | }
|
53 | }
|
54 | }
|