UNPKG

vox-core

Version:

Runtime de aplicaciones multiplataforma

65 lines (55 loc) 1.43 kB
//import Path from 'path' //import fs from 'fs' var Path= require('path') var fs= require("fs") //var path=__dirname + "/src" //var path2=__dirname + "/dist" var parser= new core.VW.Ecma2015.Parser() var transpileFile= function(file, out, outname, basename, prefix){ ext='' if(file.endsWith('.es6')) ext='.es6' else if(file.endsWith('.js')) ext='.js' if(!outname){ if(!basename) basename= Path.basename(file,ext) else basename= Path.basename(basename,ext) outname= Path.join(out, basename+".js") } if(!basename) basename= Path.basename(file) if(ext){ var res= parser.parse(fs.readFileSync(file,'utf8')) fs.writeFileSync(outname, res.code) vw.warning("> Procesado: ", (prefix||"") + "/" + basename) } } var revisePath= function(dir,path2, prefix){ prefix=prefix || '' var dirs= fs.readdirSync(dir) var newdir= path2 + prefix if(!fs.existsSync(newdir)) fs.mkdirSync(newdir) for(var i=0;i<dirs.length;i++){ var file= Path.join(dir, dirs[i]) var item= prefix + "/" + dirs[i] var stat= fs.statSync(file) if(stat.isDirectory()){ revisePath(file, path2, item) } else{ transpileFile(file, newdir, null, dirs[i], prefix) } } } exports.default= function(src, dest){ var stat=fs.statSync(src) if(stat.isFile()){ return transpileFile(src, null, dest) } else{ return revisePath(src, dest, '') } }