fa-toolkit
Version:
a devtool for fast app
1 lines • 16.1 kB
JavaScript
;var _0x5ddf8c=_0x2eb2;!function(){for(var e=_0x2eb2,t=_0x20c4();;)try{if(273987==-parseInt(e(124))+parseInt(e(122))/2+-parseInt(e(207))/3+parseInt(e(137))/4+parseInt(e(149))/5+-parseInt(e(214))/6+-parseInt(e(177))/7)break;t.push(t.shift())}catch(e){t.push(t.shift())}}();var _utils=require(_0x5ddf8c(181)),_validator=require(_0x5ddf8c(235)),_css=require(_0x5ddf8c(147)),_fs=require("fs"),_path=require(_0x5ddf8c(259)),_cssWhat=require(_0x5ddf8c(257)),projectPath=process[_0x5ddf8c(227)][_0x5ddf8c(164)]||process.cwd(),quickAppConfigPath=_path[_0x5ddf8c(116)](projectPath,_0x5ddf8c(202)),quickAppConfig=_fs[_0x5ddf8c(133)](quickAppConfigPath)?require(quickAppConfigPath):{},srcPath=_path[_0x5ddf8c(116)](projectPath,quickAppConfig&&quickAppConfig[_0x5ddf8c(191)]?quickAppConfig[_0x5ddf8c(191)]:_0x5ddf8c(155)),buildPath=_path.join(projectPath,_0x5ddf8c(195)),SELECTOR_MATCHER=/^[\.#]?[A-Za-z0-9_\-:]+$/,DESCENDANT_SELECTOR_MATCHER=/^([.#]?[A-Za-z0-9_-]+(\s+|\s*>\s*))+([.#]?[A-Za-z0-9_\-:]+)$/,URL_MATCH_G=/url\(\s*['"]?\s*([^()]+?)\s*['"]?\s*\)/g,URL_VALUE=/^url\(\s*['"]?\s*([^()]+?)\s*['"]?\s*\)$/,REGEXP_LOCAL=/^local\(\s*(['"]?)\s*([^'"()]+?)\s*\1\s*\)$/,COMPRESS_CSS_LIST=[{newN:"t",oldN:"type",newV:["d","a","t","u","p","pe"],oldV:[_0x5ddf8c(165),_0x5ddf8c(175),"tag",_0x5ddf8c(144),_0x5ddf8c(256),_0x5ddf8c(225)]},{newN:"n",oldN:_0x5ddf8c(248)},{newN:"i",oldN:_0x5ddf8c(199)},{newN:"a",oldN:_0x5ddf8c(209)},{newN:"v",oldN:_0x5ddf8c(229)}],CONVERT_CSS_MP=["margin",_0x5ddf8c(232)],CONVERT_CSS_BORDER=["borderLeft",_0x5ddf8c(261),_0x5ddf8c(260),_0x5ddf8c(226),_0x5ddf8c(197),"borderBlockEnd","borderBlockStart","borderInline","borderInlineEnd",_0x5ddf8c(123)],CONVERT_CSS_MPI=["marginBlock",_0x5ddf8c(161),_0x5ddf8c(151),_0x5ddf8c(193),_0x5ddf8c(246),_0x5ddf8c(269)];function processImport(e,n,l){var i,c=_0x5ddf8c,e=e,d=e=e[c(215)](/\/\*[\s\S]*?\*\//g,""),e=e[c(128)](/(@import\s+['"]([^()]+?)['"]\s*;)|(@import\s+['"]([^()]+?)['"]\s+(only|not)?\s?(screen)?\s?((and|or|,|not|landscape)?\s?[(]([^()])+[)]\s*)+)/g);return e&&0<e.length&&(n?e[c(132)](function(e){var r=c,t=e[r(134)](8),o=parseInt(t[r(156)]("'"))+2;1===o&&(o=parseInt(t.lastIndexOf('"'))+2);var a,s,t=t[r(134)](o)[r(240)]();t[r(241)]?(s="",-1!==(t=(t=(t=t.replace(new RegExp(",",""),"or"))[r(215)](/[(]([^()])+[)]/g,function(e){return e.replace(/\s+/g,"")}))[r(268)](";")?t[r(187)](0,t[r(156)](";")):t)[r(125)]("(")&&(s="".concat("@media ").concat(t),s+="{\n"),(o=e[r(128)](/['"]([^()]+?)['"]/))&&1<o[r(241)]?(o=_path.resolve(n,o[1]),s+=_fs[r(182)](o),-1!==t[r(125)]("(")&&(s+="\n}"),d+=s):l[r(208)]({line:1,column:1,reason:r(172).concat(e,r(194))})):(t=e[r(128)](/['"]([^()]+?)['"]/))&&1<t.length?(s=_path.resolve(n,t[1]),(t=_fs[r(182)](s))&&(s=_path.dirname(s),i=s,(s=(a=processImport(t[r(153)](),s,l))[r(128)](URL_MATCH_G))&&0<s.length&&s.forEach(function(e){var t=r,o=e.match(URL_VALUE);o&&o[t(241)]&&o[1][t(128)](/^\s*\.\.\/|^\s*\.\//)&&(o=relativePath2fullPath(o[1].trim(),i),a=a[t(215)](e,t(176)[t(154)](o,"')")))}),d=d[r(215)](e,"\n"[r(154)](a,"\n")))):l[r(208)]({line:1,column:1,reason:r(172)[r(154)](e,r(194))})}):l[c(208)]({line:1,column:1,reason:c(171)})),d}function parse(_,e){var n=_0x5ddf8c,t=void 0,s={},v=[],h="",o=_&&_[n(150)]||"",r=_&&_[n(196)],l=_&&_.versionNum;r&&(o=processImport(o,_path[n(138)](r[n(180)]),v),h=_path[n(138)](r[n(180)]));var i,r=_css.parse(o,{silent:!0}),o=r.stylesheet[n(221)];o&&o[n(241)]&&(i=[],o[n(132)](function(e){var t=n,o=e[t(265)],r=e.source,a=e.line,s=e[t(174)];v.push({line:a,column:s,reason:e[t(153)]()}),i[t(208)]({reason:o,source:r})}),0<i.length&&(t=i)),r&&n(188)===r[n(142)]&&r[n(188)]&&r[n(188)][n(131)]&&r[n(188)][n(131)][n(241)]&&r[n(188)].rules[n(132)](function(d){var u,t,r,a,p=n,e=d[p(142)],f={};p(270)===e?d[p(253)]&&d[p(253)][p(241)]&&(d[p(253)][p(132)](function(e){var o,t,r,a=p,s=e[a(142)],n=void 0,l=void 0,i=void 0,c=void 0;a(272)===s&&(n=e[a(141)],l=e[a(229)],c=_utils[a(245)](n),a(129)===c&&(n=_utils[a(254)](c),v.push({line:d[a(145)][a(168)][a(236)],column:d[a(145)][a(168)][a(174)],reason:a(118)[a(154)](n,"' is not supported.")})),i=_validator.validate(c,l,_[a(264)]),a(120)!==typeof i[a(229)]&&a(211)!==typeof i.value||(!CONVERT_CSS_MP[a(218)](c)||_isFlexibleCardMode&&/^["|']{{|^["|']\${/.test('"'[a(154)](i[a(229)],'"'))?a(192)===c?i.value[a(220)](/\s+/)[a(132)](function(e){var t=a,o=JSON[t(267)](e);t(186)===o.type||t(233)===o[t(142)]?(e=["".concat(c,"Top")[t(154)](o.type),""[t(154)](c,"Right")[t(154)](o[t(142)]),""[t(154)](c,"Bottom")[t(154)](o[t(142)]),"".concat(c,"Left")[t(154)](o.type)],_utils[t(160)](f,o[t(229)],e)):f[c+o[t(142)]]=o[t(229)]}):CONVERT_CSS_BORDER[a(218)](c)?i.value[a(220)](/\s+/).forEach(function(e){var t=a,o=JSON[t(267)](e);t(186)!==o[t(142)]&&t(233)!==o.type&&"Style"!==o.type||(e=[c+o.type],_utils[t(160)](f,o[t(229)],e))}):a(146)!==c||_isFlexibleCardMode&&/^["|']{{|^["|']\${/.test('"'[a(154)](i[a(229)],'"'))?a(189)!==c||_isFlexibleCardMode&&/^["|']{{|^["|']\${/.test('"'[a(154)](i[a(229)],'"'))?a(262)===c?(l=i.value[a(220)](/\s+/),o=[],l.forEach(function(e){var t=a,e=JSON.parse(e);"Color"===e[t(142)]?o[t(208)](e[t(229)]):f[""[t(154)](c,t(255))]=e[t(229)]}),f["".concat(c,a(205))]=o[0],f["".concat(c,"StrokeColor")]=o[1]):CONVERT_CSS_MPI.includes(c)?(t=[""[a(154)](c,a(217)),""[a(154)](c,a(121))],_utils[a(160)](f,i[a(229)],t)):f[c]=i[a(229)]:(t=[a(210),a(166),a(148),a(130)],_utils[a(160)](f,i.value,t)):(r=[a(139),a(251),"borderBottomWidth",a(250)],_utils.splitAttr(f,i[a(229)],r)):(r=["".concat(c,a(244)),""[a(154)](c,a(258)),""[a(154)](c,a(143)),""[a(154)](c,a(228))],_utils.splitAttr(f,i[a(229)],r))),Object[a(249)][a(153)][a(216)](i[a(229)])===a(212)&&i.value.forEach(function(e){var t=a;f[e[t(248)]]=e[t(229)]}),i[a(229)]&&i[a(229)][a(203)]&&(f[c]=relativePath2fullPath(i[a(229)][a(229)],h)),i[a(190)]&&v.push({line:e[a(145)][a(168)].line,column:e[a(145)][a(168)][a(174)],reason:i.log[a(265)]}))}),d[p(247)][p(132)](function(e){var t=p,o={key:e,val:f};if(e[t(128)](SELECTOR_MATCHER))processPseudoClass(o,v,d)&&(s[o[t(157)]]?(e!==o.key||_utils[t(140)](s[o[t(157)]],o[t(135)],cssCompare)||v.push({line:d[t(145)][t(168)].line,column:d.position.start[t(174)],reason:t(127)[t(154)](o[t(157)],t(183))+"The latter will be merged into the former."}),s[o[t(157)]]=_utils[t(158)]({},s[o[t(157)]],o.val)):s[o.key]=o.val);else if(e[t(128)](DESCENDANT_SELECTOR_MATCHER)){if(processPseudoClass(o,v,d))if(s[o.key]){e!==o[t(157)]||_utils.equals(s[o[t(157)]],o[t(135)],cssCompare)||v[t(208)]({line:d[t(145)].start[t(236)],column:d.position[t(168)][t(174)],reason:t(127)[t(154)](o[t(157)],t(183))+"The latter will be merged into the former."});try{o.val=Object[t(231)]({},o.val),l<1040&&(o.val[t(230)]={},o[t(135)][t(230)][t(224)]=compressCss(_cssWhat[t(267)](o.key))),s[o[t(157)]]=_utils[t(158)]({},s[o[t(157)]],o[t(135)])}catch(e){return void v.push({line:d[t(145)][t(168)][t(236)],column:d[t(145)][t(168)][t(174)],reason:t(184)[t(154)](o[t(157)],t(152))})}}else try{o[t(135)]=Object[t(231)]({},o[t(135)]),l<1040&&(o[t(135)][t(230)]={},o[t(135)][t(230)][t(224)]=compressCss(_cssWhat[t(267)](o.key))),s[o[t(157)]]=o.val}catch(e){return void v[t(208)]({line:d[t(145)][t(168)][t(236)],column:d.position[t(168)][t(174)],reason:"ERROR: Selector '"[t(154)](o[t(157)],t(152))})}}else v[t(208)]({line:d[t(145)][t(168)][t(236)],column:d[t(145)][t(168)].column,reason:t(184)[t(154)](e,t(185))})})):p(167)===e?d[p(253)]&&d[p(253)][p(241)]&&(u={},d[p(253)][p(132)](function(e){var t=p;if(t(272)===e.type){var o=(0,_utils.hyphenedToCamelCase)(e.property),r=e.value;if("fontFamily"===o)u[t(237)]=e.value[t(215)](/['"]+/g,"");else if(t(155)===o){var a=_validator.validate(o,r);if(a[t(229)]&&a[t(229)][t(241)]){for(var s=[],n=0,l=a.value.length;n<l;n++){var i,c=a.value[n];c[t(128)](/^\.\.\/|^\.\//)?(i=relativePath2fullPath(c,h),s[t(208)](i)):c.match(/^\s*local\s*\(/)?(i=(i=REGEXP_LOCAL[t(219)](c))&&i[2][t(240)](),s[t(208)](i)):s.push(c)}r=s}u[t(155)]=r}else v[t(208)]({line:d[t(145)].start[t(236)],column:d[t(145)].start[t(174)],reason:t(198)[t(154)](o,"'.")})}}),s["@FONT-FACE"]||(s["@FONT-FACE"]={}),s[p(223)][u[p(237)]]=u):p(178)===e&&d.keyframes&&d[p(178)][p(241)]?(t=d[p(248)],r=[],d[p(178)][p(132)](function(e){var o,a=p,s=void 0;"keyframe"===e[a(142)]&&e[a(253)]&&e[a(253)].length&&(s={},e.declarations[a(132)](function(e){var t,o=a,r=e[o(142)];o(272)===r&&(t=e[o(141)],r=e[o(229)],t=_utils.hyphenedToCamelCase(t),"number"!=typeof(r=_validator.validate(t,r))[o(229)]&&o(211)!==typeof r.value||(s[t]=r[o(229)]),r[o(190)]&&v[o(208)]({line:e.position[o(168)][o(236)],column:e.position[o(168)][o(174)],reason:r[o(190)][o(265)]}))}),_utils[a(234)](s)?v[a(208)]({line:d[a(145)][a(168)].line,column:d[a(145)][a(168)].column,reason:"ERROR: Animation '"[a(154)](t,"' key frame ")+"'"[a(154)](JSON[a(204)](e[a(119)]),a(162))}):(o=void 0,e[a(119)][a(132)](function(e){var t=a;o="from"===e?0:"to"===e?100:parseFloat(e.replace("%","")),s[t(252)]=o,r[t(208)](s)})))}),r[p(159)](function(e,t){var o=p;return e[o(252)]-t[o(252)]}),s[p(263)]||(s[p(263)]={}),s[p(263)][t]=r):p(222)===e&&d[p(131)]&&d[p(131)].length&&((a={})[p(239)]=d[p(222)],d[p(131)][p(132)](function(e){var i,c=p;!e||!e[c(247)]||e[c(247)][c(241)]<=0||(i={},e[c(253)][c(132)](function(e){var r,t,o,a,s,n=c,l=e[n(142)];n(272)===l&&(t=e.property,l=e[n(229)],r=_utils[n(245)](t),"number"!=typeof(t=_validator[n(243)](r,l))[n(229)]&&n(211)!==typeof t[n(229)]||(CONVERT_CSS_MP[n(218)](r)?(l=[""[n(154)](r,"Top"),""[n(154)](r,"Right"),""[n(154)](r,n(143)),"".concat(r,n(228))],_utils[n(160)](i,t[n(229)],l)):n(192)===r?t[n(229)].split(/\s+/).forEach(function(e){var t=n,o=JSON.parse(e);t(186)===o.type||"Color"===o[t(142)]?(e=[""[t(154)](r,"Top")[t(154)](o.type),""[t(154)](r,"Right")[t(154)](o[t(142)]),""[t(154)](r,t(143)).concat(o[t(142)]),""[t(154)](r,t(228))[t(154)](o.type)],_utils[t(160)](i,o[t(229)],e)):i[r+o[t(142)]]=o[t(229)]}):CONVERT_CSS_BORDER[n(218)](r)?t.value.split(/\s+/)[n(132)](function(e){var t=n,o=JSON[t(267)](e);"Width"!==o.type&&"Color"!==o[t(142)]&&t(163)!==o[t(142)]||(e=[r+o[t(142)]],_utils[t(160)](i,o[t(229)],e))}):n(146)!==r||_isFlexibleCardMode&&/^["|']{{|^["|']\${/[n(271)]('"'[n(154)](t[n(229)],'"'))?n(189)!==r||_isFlexibleCardMode&&/^["|']{{|^["|']\${/[n(271)]('"'[n(154)](t.value,'"'))?n(262)===r?(a=t[n(229)][n(220)](/\s+/),o=[],a[n(132)](function(e){var t=n,e=JSON.parse(e);t(233)===e[t(142)]?o[t(208)](e[t(229)]):i["".concat(r,t(255))]=e[t(229)]}),i[""[n(154)](r,n(205))]=o[0],i[""[n(154)](r,n(126))]=o[1]):CONVERT_CSS_MPI.includes(r)?(a=[""[n(154)](decPropName,n(217)),"".concat(decPropName,n(121))],_utils[n(160)](i,t[n(229)],a)):i[r]=t[n(229)]:(s=[n(210),"borderRightColor","borderBottomColor",n(130)],_utils.splitAttr(i,t[n(229)],s)):(s=["borderTopWidth",n(251),n(136),n(250)],_utils[n(160)](i,t.value,s))),t.log&&v[n(208)]({line:e[n(145)][n(168)][n(236)],column:e[n(145)].start[n(174)],reason:t.log[n(265)]}))}),e.selectors[c(132)](function(e){var t=c,o={key:e,val:i};if(e[t(128)](SELECTOR_MATCHER))processPseudoClass(o,v,d)&&(a[o[t(157)]]?(e!==o[t(157)]||_utils[t(140)](a[o[t(157)]],o.val,cssCompare)||v[t(208)]({line:d.position.start[t(236)],column:d[t(145)][t(168)][t(174)],reason:t(127).concat(o[t(157)],t(183))+t(238)}),a[o[t(157)]]=_utils[t(158)]({},a[o[t(157)]],o[t(135)])):a[o[t(157)]]=o.val);else if(e[t(128)](DESCENDANT_SELECTOR_MATCHER)){if(processPseudoClass(o,v,d))if(a[o[t(157)]]){e!==o[t(157)]||_utils.equals(a[o[t(157)]],o[t(135)],cssCompare)||v[t(208)]({line:d[t(145)][t(168)][t(236)],column:d.position[t(168)].column,reason:t(127)[t(154)](o[t(157)],t(183))+"The latter will be merged into the former."});try{o[t(135)]=Object[t(231)]({},o.val),l<1040&&(o[t(135)]._meta={},o[t(135)][t(230)][t(224)]=compressCss(_cssWhat[t(267)](o.key))),a[o.key]=_utils[t(158)]({},a[o[t(157)]],o[t(135)])}catch(e){return void v[t(208)]({line:d[t(145)][t(168)][t(236)],column:d[t(145)].start[t(174)],reason:t(184).concat(o[t(157)],t(152))})}}else try{o[t(135)]=Object[t(231)]({},o[t(135)]),l<1040&&(o[t(135)][t(230)]={},o[t(135)][t(230)][t(224)]=compressCss(_cssWhat.parse(o.key))),a[o.key]=o[t(135)]}catch(e){return void v[t(208)]({line:d.position[t(168)].line,column:d[t(145)][t(168)][t(174)],reason:"ERROR: Selector '".concat(o[t(157)],"' is not supported.")})}}else v.push({line:d[t(145)][t(168)][t(236)],column:d[t(145)][t(168)][t(174)],reason:"ERROR: Selector '"[t(154)](e,"' is invalid.")})}))}),s[p(179)]||(s[p(179)]=[]),s[p(179)].push(a))}),e(t,{jsonStyle:s,log:v})}function cssCompare(e,t,o){if("_meta"===o)return!0}function relativePath2fullPath(e,t){var o=_0x5ddf8c;return _path[o(116)](t,e)[o(153)]()[o(215)](srcPath,"")[o(215)](/\\/g,"/")}function compressCss(e){for(var t=e[0]||[],a=0;a<t.length;a++)!function(){var o=_0x2eb2,r=t[a]||{};COMPRESS_CSS_LIST[o(132)](function(e){var t=o;Object[t(249)][t(242)][t(216)](r,e[t(117)])&&(r[e[t(200)]]=r[e.oldN],delete r[e[t(117)]],e[t(173)]&&-1<e.oldV[t(125)](r[e[t(200)]])&&(r[e[t(200)]]=e[t(170)][e[t(173)][t(125)](r[e[t(200)]])]))})}();return t}function processPseudoClass(t,e,o){var r=_0x5ddf8c,a=t[r(157)][r(125)](":");if(-1<a){var s=t[r(157)][r(134)](a);if(!_validator[r(213)](s))return e[r(208)]({line:o[r(145)][r(168)][r(236)],column:o[r(145)][r(168)][r(174)],reason:r(206)[r(154)](s,"' is not supported.")}),!1;t.key=t.key[r(134)](0,a);var n={};Object[r(266)](t[r(135)]).forEach(function(e){n[e+s]=t[r(135)][e]}),t[r(135)]=n}return!0}function validate(t,e){var o=_0x5ddf8c,s=t,n=[],t=void 0;try{s=JSON[o(267)](JSON[o(204)](s))}catch(e){t=e,s={}}Object[o(266)](s).forEach(function(e){var r=o,a=s[e];Object[r(266)](a).forEach(function(e){var t=r,o=a[e],o=_validator[t(243)](e,o);t(120)===typeof o[t(229)]||t(211)===typeof o.value?a[e]=o[t(229)]:delete a[e],o[t(190)]&&n[t(208)](o[t(190)])})}),e(t,{jsonStyle:s,log:n})}function _0x20c4(){var e=["projectRoot","descendant","borderRightColor","font-face","start","exports","newV","ERROR: Failed to find the resource path. @import cannot be processed.","ERROR: Failed to find file '","oldV","column","attribute","url('","662354qBYqST","keyframes","@MEDIA","resourcePath","../utils","readFileSync","' already exists. ","ERROR: Selector '","' is invalid.","Width","substring","stylesheet","borderColor","log","sourceRoot","border","paddingInline","'. Import failed.","build","query","borderBlock","WARNING: @font-face does not support '","ignoreCase","newN","validator","./quickapp.config.js","isRelative","stringify","FillColor","ERROR: PseudoClass selector '","306876QOncDa","push","action","borderTopColor","string","[object Array]","validatePseudoClass","636000ICKgQy","replace","call","Start","includes","exec","split","parsingErrors","media","@FONT-FACE","ruleDef","pseudo-element","borderBottom","env","Left","value","_meta","assign","padding","Color","isEmptyObject","./validator","line","fontFamily","The latter will be merged into the former.","condition","trim","length","hasOwnProperty","validate","Top","hyphenedToCamelCase","insetBlock","selectors","name","prototype","borderLeftWidth","borderRightWidth","time","declarations","camelCaseToHyphened","IconPath","pseudo","css-what","Right","path","borderTop","borderRight","mylocation","@KEYFRAMES","loaderContext","reason","keys","parse","endsWith","insetInline","rule","test","declaration","join","oldN","ERROR: Style '","values","number","End","1060892nHopaq","borderInlineStart","377451CZzkVa","indexOf","StrokeColor","NOTE: Selector '","match","objectFitImage","borderLeftColor","rules","forEach","existsSync","slice","val","borderBottomWidth","945088LrYJjK","dirname","borderTopWidth","equals","property","type","Bottom","universal","position","borderWidth","css","borderBottomColor","938170OnbgTU","code","paddingBlock","' is not supported.","toString","concat","src","lastIndexOf","key","extend","sort","splitAttr","marginInline","' does not have a valid attribute.","Style"];return(_0x20c4=function(){return e})()}function _0x2eb2(e,t){var o=_0x20c4();return(_0x2eb2=function(e,t){return o[e-=116]})(e,t)}module[_0x5ddf8c(169)]={parse:parse,validate:validate,validateDelaration:_validator[_0x5ddf8c(243)],validator:_validator[_0x5ddf8c(201)],relativePath2fullPath:relativePath2fullPath};