ferrugemjs-node
Advanced tools
Comparing version 0.28.0 to 0.28.1
{ | ||
"name": "ferrugemjs-node", | ||
"version": "0.28.0", | ||
"version": "0.28.1", | ||
"description": "a node package to convert html template to Incremental DOM", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -7,2 +7,3 @@ var htmlparser = require("htmlparser2"); | ||
var requireScriptList = []; | ||
var requireNamespaces = []; | ||
var parser_configs = {templateExtension:".html",viewModel:"testeViewModel"}; | ||
@@ -23,4 +24,8 @@ | ||
buffer = []; | ||
requireScriptList.length = 0; | ||
requireScriptList = []; | ||
requireNamespaces.length = 0; | ||
requireNamespaces = []; | ||
} | ||
@@ -40,6 +45,5 @@ | ||
function pathToAlias(p_resource_url){ | ||
var patt_alias = / as\W+(\w.+)/g; | ||
var _aliasname; | ||
var _trueurl; | ||
if(patt_alias.test(p_resource_url)){ | ||
if(p_resource_url.indexOf(' as ') > -1){ | ||
var _urlsplit = p_resource_url.split(' as '); | ||
@@ -277,9 +281,3 @@ _trueurl = _urlsplit[0]; | ||
let attrKeys = Object.keys(comp.parent.attribs); | ||
//var directiveFindIndex = attrKeys.findIndex(); | ||
attrDirectives = attrKeys.filter(tmpattr => tmpattr !== "key:id" && tmpattr.indexOf(":") > -1); | ||
/* | ||
if(directiveFindIndex){ | ||
console.log(attrKeys,directiveFindIndex); | ||
} | ||
*/ | ||
attrDirectives = attrKeys.filter(tmpattr => tmpattr !== "key:id" && tmpattr.indexOf(":") > -1 && requireNamespaces.indexOf(tmpattr.split(":")[0]) > -1); | ||
} | ||
@@ -608,3 +606,3 @@ let text = comp.data; | ||
.children | ||
.filter(sub_comp => sub_comp.type=='tag' && ['require','style','script','command'].indexOf(sub_comp.name) < 0) | ||
.filter(sub_comp => sub_comp.type === 'tag' && ['require','style','script','command'].indexOf(sub_comp.name) < 0); | ||
@@ -626,30 +624,47 @@ var firstElementAttrs = {name:'div'}; | ||
}; | ||
comp | ||
.children | ||
.filter(sub_comp => sub_comp.type=='tag' && sub_comp.name == 'require' && sub_comp.attribs["from"]) | ||
.forEach(sub_comp => requiresComp.push(resolveTagRequire(sub_comp))); | ||
comp | ||
.children | ||
.filter(sub_comp => sub_comp.type === 'tag' && sub_comp.name === 'require' && sub_comp.attribs['from']) | ||
.forEach(sub_comp => { | ||
//console.log(`${resolveTagRequire(sub_comp).type} : ${sub_comp.attribs['type']} : ${sub_comp.attribs['from']} : ${resolveTagRequire(sub_comp).alias}`); | ||
requiresComp.push(resolveTagRequire(sub_comp)) | ||
}); | ||
//console.log(modAlias,requiresPath) | ||
/* | ||
template // "_"+tagobject.alias.replace(/-/g,"_") | ||
script (acho que nao precisa) // .replace(/-/g,"_") | ||
namespace // "_"+tagobject.alias | ||
*/ | ||
var modAlias = requiresComp | ||
.filter(item=>item.type!="style") | ||
.sort(p=>p.path) | ||
.map(req_comp=> req_comp.alias); | ||
.filter(item => item.type !== 'style') | ||
.sort(p => p.path) | ||
.map(req_comp => { | ||
if(['template', 'script', 'namespace'].indexOf(req_comp.type) > -1){ | ||
return '_'+req_comp.alias.replace(/-/g,'_'); | ||
} | ||
return req_comp.alias; | ||
}); | ||
//console.log(requiresComp); | ||
var requiresPath = requiresComp | ||
.filter(item=>item.type!="style") | ||
.sort(p=>p.path) | ||
.map(req_comp=> '"'+req_comp.path+'"'); | ||
.filter(item => item.type !== "style") | ||
.sort(p => p.path) | ||
.map(req_comp => '"'+req_comp.path+'"'); | ||
var onlyRequiresStyles = requiresComp | ||
.filter(item=>item.type=="style") | ||
.map(req_comp=> '"'+req_comp.path+'"'); | ||
.filter(item => item.type === "style") | ||
.map(req_comp => '"'+req_comp.path+'"'); | ||
//console.log(modAlias,requiresPath) | ||
requireScriptList = requiresComp | ||
.filter(reqcomp => reqcomp.type === "script") | ||
.map(reqcomp => reqcomp.alias); | ||
requireScriptList = requiresComp | ||
.filter(reqcomp=>reqcomp.type=="script") | ||
.map(reqcomp=>reqcomp.alias.replace(/_/g,"-")); | ||
requireNamespaces = requiresComp | ||
.filter(reqcomp => reqcomp.type === "namespace") | ||
.map(reqcomp => reqcomp.alias); | ||
templatePre += 'define(["exports","incremental-dom","ferrugemjs/component-factory"'; | ||
@@ -661,4 +676,3 @@ | ||
templatePre += | ||
requiresPath.join(); | ||
templatePre += requiresPath.join(); | ||
@@ -669,4 +683,3 @@ if(onlyRequiresStyles.length){ | ||
templatePre += | ||
onlyRequiresStyles.join(); | ||
templatePre += onlyRequiresStyles.join(); | ||
@@ -760,11 +773,2 @@ templatePre += '], function (exports,_idom,_libfjs_mod_'; | ||
var fromstr = comp.attribs["from"]; | ||
//suporte aos plugins mais conhecidos | ||
if( /^(css|style)!/gm.test(fromstr) || /\.(sass|scss|styl|css|less)$/gm.test(fromstr) || /scss!?$/gm.test(fromstr) || /css!$/gm.test(fromstr) || fromstr.indexOf("style!") === 0){ | ||
return { | ||
type:"style" | ||
,path:fromstr | ||
,alias:"" | ||
}; | ||
} | ||
var tagobject = pathToAlias(fromstr); | ||
@@ -776,20 +780,25 @@ | ||
,path:tagobject.url | ||
,alias:tagobject.alias.replace(/-/g,"_") | ||
} | ||
,alias:tagobject.alias | ||
} | ||
} | ||
if(comp.attribs.type && comp.attribs.type === "namespace"){ | ||
if(comp.attribs.type && comp.attribs.type === "namespace"){ | ||
return { | ||
type:comp.attribs.type | ||
type: comp.attribs.type | ||
,path:tagobject.url | ||
,alias:"_"+tagobject.alias.replace(/-/g,"_") | ||
,alias:tagobject.alias | ||
} | ||
} | ||
//suporte aos plugins mais conhecidos | ||
if( /^(css|style)!/gm.test(fromstr) || /\.(sass|scss|styl|css|less)$/gm.test(fromstr) || /scss!?$/gm.test(fromstr) || /css!$/gm.test(fromstr) || fromstr.indexOf("style!") === 0){ | ||
return { | ||
type:"style" | ||
,path:fromstr | ||
,alias:"" | ||
}; | ||
} | ||
return { | ||
type:'template' | ||
,path:tagobject.url + parser_configs.templateExtension | ||
,alias:"_"+tagobject.alias.replace(/-/g,"_") | ||
} | ||
type: 'template' | ||
,path: tagobject.url + parser_configs.templateExtension | ||
,alias: tagobject.alias | ||
} | ||
} | ||
@@ -919,3 +928,3 @@ | ||
}else{ | ||
dom.filter(elementDom => elementDom.name == 'template').forEach(root_comp => appendBuffer(tagTemplateToStr(root_comp,config.viewModel))); | ||
dom.filter(elementDom => elementDom.name === 'template').forEach(root_comp => appendBuffer(tagTemplateToStr(root_comp,config.viewModel))); | ||
finalBuffer = buffer.join(''); | ||
@@ -922,0 +931,0 @@ } |
31996
795