@atomicservice/ascf-toolkit 1.0.12 → 1.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- function _createForOfIteratorHelper(e,r){var n,t,o,a,s="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(s)return o=!(t=!0),{s:function(){s=s.call(e)},n:function(){var e=s.next();return t=e.done,e},e:function(e){o=!0,n=e},f:function(){try{t||null==s.return||s.return()}finally{if(o)throw n}}};if(Array.isArray(e)||(s=_unsupportedIterableToArray(e))||r&&e&&"number"==typeof e.length)return s&&(e=s),a=0,{s:r=function(){},n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:r};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,r){var n;if(e)return"string"==typeof e?_arrayLikeToArray(e,r):"Map"===(n="Object"===(n={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(e,r):void 0}function _arrayLikeToArray(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=Array(r);n<r;n++)t[n]=e[n];return t}var loaderUtils=require("./loader-utils"),checkAppJson=require("./common/appjson-validator"),_require=require("path"),relative=_require.relative,fs=require("fs"),path=require("path"),_require2=require("../common/utils"),getProjectInfo=_require2.getProjectInfo,readJsonFile=_require2.readJsonFile,_require3=require("./common/utils"),resolve=_require3.resolve,packOptions=require("./common/packoptions-utils"),_require4=require("../common/config"),configs=_require4.configs,_require5=require("../ascf-compiler/common/manifest-manager"),manifestManager=_require5.manifestManager,hasCheckAppJson=!1;function generateIgnoreRule(e){var r;return(r=e?packOptions.parseIgnoreRules(e):r)||{}}function getComponents(e){var r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[],n=[];return null!=e&&e.forEach(function(e){r.includes(e.path)||n.push(e.path)}),JSON.stringify(n)}function appProcess(r,e,n,t){configs.isInjectDebugTimer()&&r.push("const NOOP=()=>{}; setInterval(NOOP, 1000);"),r.push("global.__globalComponents = ".concat(JSON.stringify(e),";")),r.push("global.__qaRoute = '".concat(t,"';")),Object.keys(n).forEach(function(e){"app"===e?r.push("require('./app.js');"):r.push('import(/* webpackChunkName: "'.concat(e.endsWith("/")?e:"".concat(e,"/"),"index.js\" */'./app.json?package=").concat(e,"');"))})}function appJsonLoader(e){var i=this,r=(hasCheckAppJson=hasCheckAppJson||checkAppJson(this),(null==(r=loaderUtils.parseQuery(this.resourceQuery).get("package"))?void 0:r.replace(/\\/g,"/"))||""),n=manifestManager.getManifestData(),t=n.projectComponentsMap,n=n.manifest,c=manifestManager.getIsOpenLazyCodeLoad(),u=this.options.srcPath,p=Object.values(n.usingComponents||{}),l=[],n=(c&&l.push("var {ascfDefine, ascfRequire} = require("+"".concat(loaderUtils.stringifyRequest(this,"!".concat(resolve("./ascf-define"))),");")),"app"===r&&appProcess(l,p,t,r),t[r]||t["".concat(r,"/")]);return n&&0<n.size&&n.forEach(function(e,r){var n=e.componentList,t=e.jsonContent,e="./"+relative(u,e.compJsonPath).replace(/\\/g,"/"),o=getComponents(n,p),a=e.replace(/\.json$/g,".js"),e=path.resolve(getProjectInfo().ascfSrcPath,e),s=e.replace(/\.json$/g,".js"),t=JSON.stringify(null!=t&&t.styleIsolation?{styleIsolation:null==t?void 0:t.styleIsolation}:{});fs.existsSync(e)&&i.addDependency(e),fs.existsSync(s)&&i.addDependency(s),c?(e=getLazyCodeLoadUsingCmp(n),l.push("ascfDefine(() => require('".concat(a,"'), '").concat(r,"', ").concat(e,", ").concat(t,")"))):(l.push("global.__qaJson= ".concat(t,";")),l.push("global.__qaRoute = '".concat(r,"';")),l.push("global.usingComponents = ".concat(o,";")),l.push("require('".concat(a,"');")))}),"app"===r&&c&&(t=getRequireGlobalCmpStr(p),l.push(t)),asyncProcess(r,l,this),l.join("\r\n")}function getRequireGlobalCmpStr(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],r=[];return(r=e.length?e.map(function(e){return'ascfRequire("'.concat(e,'")')}):r).join("\r\n")}function getLazyCodeLoadUsingCmp(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],r=[];return e.length&&(r=e.filter(function(e){return!e.hasPlaceHolder||"customTabBar"===e.key}).map(function(e){return e.path})),JSON.stringify(r)}function asyncProcess(e,r,n){var t,o=getProjectInfo(),a=generateIgnoreRule(o.projectCfg);if(null==(t=configs.asyncJsList[e])?void 0:t.keys()){var s,i=_createForOfIteratorHelper(configs.asyncJsList[e].keys());try{for(i.s();!(s=i.n()).done;){var c=s.value,u=path.relative(o.ascfSrcPath,c).replace(/\\/g,"/");u.endsWith(".js")||(u+=".js"),packOptions.isIgnoreFile(path.relative(o.ascfSrcPath,c),a)||(n.addDependency(c.replace(/\//g,"\\")),r.push("require('./".concat(u,"');")))}}catch(e){i.e(e)}finally{i.f()}}}module.exports=appJsonLoader;
1
+ function _createForOfIteratorHelper(e,r){var n,t,o,a,s="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(s)return o=!(t=!0),{s:function(){s=s.call(e)},n:function(){var e=s.next();return t=e.done,e},e:function(e){o=!0,n=e},f:function(){try{t||null==s.return||s.return()}finally{if(o)throw n}}};if(Array.isArray(e)||(s=_unsupportedIterableToArray(e))||r&&e&&"number"==typeof e.length)return s&&(e=s),a=0,{s:r=function(){},n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:r};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,r){var n;if(e)return"string"==typeof e?_arrayLikeToArray(e,r):"Map"===(n="Object"===(n={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(e,r):void 0}function _arrayLikeToArray(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=Array(r);n<r;n++)t[n]=e[n];return t}var loaderUtils=require("./loader-utils"),checkAppJson=require("./common/appjson-validator"),_require=require("path"),relative=_require.relative,fs=require("fs"),path=require("path"),_require2=require("../common/utils"),getProjectInfo=_require2.getProjectInfo,_require3=require("./common/utils"),resolve=_require3.resolve,packOptions=require("./common/packoptions-utils"),_require4=require("../common/config"),configs=_require4.configs,_require5=require("../ascf-compiler/common/manifest-manager"),manifestManager=_require5.manifestManager,hasCheckAppJson=!1;function generateIgnoreRule(e){var r;return(r=e?packOptions.parseIgnoreRules(e):r)||{}}function getComponents(e){var r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[],n=[];return null!=e&&e.forEach(function(e){r.includes(e.path)||n.push(e.path)}),JSON.stringify(n)}function isNeedClearJsonp(){return configs.serve&&(configs.templateHoist||!0===configs.emptyWebpackJsonp)}function appProcess(r,e,n,t){isNeedClearJsonp()&&r.push("if (typeof has !== 'undefined' && has['webpackJsonp']) { has['webpackJsonp']=[]; }"),configs.isInjectDebugTimer()&&r.push("const NOOP=()=>{}; setInterval(NOOP, 1000);"),r.push("global.__globalComponents = ".concat(JSON.stringify(e),";")),r.push("global.__qaRoute = '".concat(t,"';")),Object.keys(n).forEach(function(e){"app"===e?r.push("require('./app.js');"):r.push('import(/* webpackChunkName: "'.concat(e.endsWith("/")?e:"".concat(e,"/"),"index.js\" */'./app.json?package=").concat(e,"');"))})}function appJsonLoader(e){var i=this,r=(hasCheckAppJson=hasCheckAppJson||checkAppJson(this),(null==(r=loaderUtils.parseQuery(this.resourceQuery).get("package"))?void 0:r.replace(/\\/g,"/"))||""),n=manifestManager.getManifestData(),t=n.projectComponentsMap,n=n.manifest,c=manifestManager.getIsOpenLazyCodeLoad(),u=this.options.srcPath,p=Object.values(n.usingComponents||{}),l=[],n=(c&&l.push("var {ascfDefine, ascfRequire} = require("+"".concat(loaderUtils.stringifyRequest(this,"!".concat(resolve("./ascf-define"))),");")),"app"===r&&appProcess(l,p,t,r),t[r]||t["".concat(r,"/")]);return 0<(null==n?void 0:n.size)&&n.forEach(function(e,r){var n=e.componentList,t=e.jsonContent,e="./"+relative(u,e.compJsonPath).replace(/\\/g,"/"),o=getComponents(n,p),a=e.replace(/\.json$/g,".js"),e=path.resolve(getProjectInfo().ascfSrcPath,e),s=e.replace(/\.json$/g,".js"),t=JSON.stringify(null!=t&&t.styleIsolation?{styleIsolation:null==t?void 0:t.styleIsolation}:{});fs.existsSync(e)&&i.addDependency(e),fs.existsSync(s)&&i.addDependency(s),c?(e=getLazyCodeLoadUsingCmp(n),l.push("ascfDefine(() => require('".concat(a,"'), '").concat(r,"', ").concat(e,", ").concat(t,")"))):(l.push("global.__qaJson= ".concat(t,";")),l.push("global.__qaRoute = '".concat(r,"';")),l.push("global.usingComponents = ".concat(o,";")),l.push("require('".concat(a,"');")))}),"app"===r&&c&&(t=getRequireGlobalCmpStr(p),l.push(t)),asyncProcess(r,l,this),l.join("\r\n")}function getRequireGlobalCmpStr(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],r=[];return(r=e.length?e.map(function(e){return'ascfRequire("'.concat(e,'")')}):r).join("\r\n")}function getLazyCodeLoadUsingCmp(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],r=[];return e.length&&(r=e.filter(function(e){return!e.hasPlaceHolder||"customTabBar"===e.key}).map(function(e){return e.path})),JSON.stringify(r)}function asyncProcess(e,r,n){var t=getProjectInfo(),o=generateIgnoreRule(t.projectCfg),e=null==(e=configs.asyncJsList[e])?void 0:e.keys();if(e){var a,s=_createForOfIteratorHelper(e);try{for(s.s();!(a=s.n()).done;){var i=a.value,c=path.relative(t.ascfSrcPath,i).replace(/\\/g,"/");c.endsWith(".js")||(c+=".js"),packOptions.isIgnoreFile(path.relative(t.ascfSrcPath,i),o)||(n.addDependency(i.replace(/\//g,"\\")),r.push("require('./".concat(c,"');")))}}catch(e){s.e(e)}finally{s.f()}}}module.exports=appJsonLoader;
@@ -1 +1 @@
1
- function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var utils=require("./utils"),fs=require("fs"),path=require("path"),logTypes=["NOTE","WARNING","ERROR"],REGEXP_INT=/^[0-9]+$/,REGEXP_COLOR_LONG=/^#[0-9a-fA-F]{6}$/,REGEXP_COLOR_SHORT=/^#[0-9a-fA-F]{3}$/,REGEXP_PACKAGE_NAME=/^[a-zA-Z][a-zA-Z0-9_]*(\.[a-zA-Z0-9_]+)+$/,validator={enum:function(a,e){return 0<=a.indexOf(e.toString())?{value:e}:{value:null,reason:function(e,t){return"ERROR: Attribute '".concat(e,"' value '").concat(t,"' is invalid, ")+"the attribute value must in [".concat(a,"]")}}},booleans:function(e){return"boolean"==typeof e?{value:e}:{value:null,reason:function(e,t){return"ERROR: Attribute '".concat(e,"' value '").concat(t,"' is invalid, ")+"the attribute value type must be boolean"}}},packageName:function(e){return(e||"").toString().trim().match(REGEXP_PACKAGE_NAME)?{value:!0}:{value:!1,reason:function(e,t){return"ERROR: app.json configuration item '".concat(e,"' value '").concat(t,"' is invalid.")}}},integer:function(e){return"string"==typeof e?e.match(REGEXP_INT)?{value:!0,reason:function(e,t){return"WARNING: app.json configuration item '".concat(e,"' ")+"value '".concat(t,"' is a character string, which should be an integer instead.")}}:{value:!1,reason:function(e,t){return"ERROR: app.json configuration item '".concat(e,"' value '").concat(t,"' is invalid.")}}:(e=(e||"").toString()).match(REGEXP_INT)?{value:!0}:{value:!1,reason:function(e,t){return"ERROR: app.json configuration item '".concat(e,"' value '").concat(t,"' is invalid.")}}},strArr:function(e){return Array.isArray(e)?{value:e}:{value:!1,reason:function(e,t){return"ERROR: Attribute '".concat(e,"' value '").concat(t,"' is invalid")}}},window:function(e){return windowAndNetworkTimeOut(e,windowValidatorMap,"window")},tabBar:function(n){var o,t,i,u,l;return"object"!==_typeof(n)?{value:!1,reason:function(e){return"ERROR: Attribute '".concat(e,"' value is invalid.")}}:(o=[],t=[],Object.keys(tabBarValidatorMap).forEach(function(e){tabBarValidatorMap[e].require&&o.push(e),tabBarValidatorMap[e].def&&t.push(tabBarValidatorMap[e].def)}),i={},u=[],l=0,Object.keys(n).forEach(function(e){var t,a,r;void 0!==tabBarValidatorMap[e]?(-1!==o.indexOf(e)&&(t=o.indexOf(e),o.splice(t,1)),"function"==typeof(t=tabBarValidatorMap[e].type)&&("number"!=typeof(t=t(n[e])).value&&"string"!=typeof t.value||(i[e]=t.value),t.reason)&&((a=(t=t.reason(e,n[e])).match(/^([A-Z]+):/))&&(r=logTypes.indexOf(a[1]),l<r&&(l=r),t=t.replace(a[0],"")),u.push(t))):(l=1,u.push(" Attribute '".concat(e,"' is not a sub-attribute of tabBar.")))}),0<o.length&&(l=2,u.push(" The mandatory sub-attribute is missing: ".concat(o.join(", ")))),{value:utils.isEmptyObject(i)?null:JSON.stringify(i),reason:0<u.length?function(e){return"".concat(logTypes[l],": configuration item '").concat(e,"' contains: \n ")+"".concat(u.join(" \n "))}:null})},networkTimeout:function(e){return windowAndNetworkTimeOut(e,networkTimeoutValidatorMap,"networkTimeout")},objArr:function(e){return{value:e}},string:function(e){return{value:e}},Object:function(e){return{value:e}},plugins:function(e){return{value:e}},preloadRule:function(e){return{value:e}},permission:function(e){return{value:e}},permissionObject:function(e){return{value:e}},HexColor:function(e){return(e=(e||"").toString()).match(REGEXP_COLOR_LONG)||e.match(REGEXP_COLOR_SHORT)?{value:e}:{value:null,reason:function(e,t){return"ERROR: Attribute '".concat(e,"' color value '").concat(t,"' is invalid.'")}}},number:function(e){return"string"==typeof e?e.match(REGEXP_INT)?{value:Number(e),reason:function(e,t){return"WARNING: app.json configuration item '".concat(e,"' ")+"value '".concat(t,"' is a character string, which should be an integer instead.")}}:{value:!1,reason:function(e,t){return"ERROR: app.json configuration item '".concat(e,"' value '").concat(t,"' is invalid")}}:(e=(e||"").toString()).match(REGEXP_INT)?{value:e}:{value:!1,reason:function(e,t){return"ERROR: app.json configuration item '".concat(e,"' value '").concat(t,"' is invalid.")}}},minPlatformVersion:function(e){var t=validator.integer(e);return t.value?e<1069?{value:!1,reason:function(e,t){return"ERROR: The platform version number of ".concat(t," is too early, ")+'please change "'.concat(e,'" field in the app.json file >= 1069.')}}:{value:!0}:t}},validatorMap={window:{type:validator.window,required:!1},tabBar:{type:validator.tabBar,required:!1},networkTimeout:{type:validator.networkTimeout,required:!1},functionalPages:{type:makeEnumValidator(["false","true"]),required:!1},subpackages:{type:validator.objArr,required:!1},subPackages:{type:validator.objArr,required:!1},workers:{type:validator.string,required:!1},requiredBackgroundModes:{type:validator.strArr,required:!1},plugins:{type:validator.plugins,required:!1},preloadRule:{type:validator.preloadRule,required:!1},resizable:{type:makeEnumValidator(["false","true"]),required:!1},navigateToMiniProgramAppIdList:{type:validator.strArr,required:!1},usingComponents:{type:validator.Object,required:!1},permission:{type:validator.permission,required:!1},sitemapLocation:{type:validator.string,required:!1},style:{type:validator.string,required:!1}},windowValidatorMap={navigationBarBackgroundColor:{type:validator.HexColor,def:"#000000"},navigationBarTextStyle:{type:makeEnumValidator(["white","black"]),def:"white"},navigationBarTitleText:{type:validator.string},navigationStyle:{type:makeEnumValidator(["default","custom"]),def:"default"},backgroundColor:{type:validator.HexColor,def:"#ffffff"},backgroundTextStyle:{type:makeEnumValidator(["dark","light"]),def:"dark"},backgroundColorTop:{type:validator.string,def:"#ffffff"},backgroundColorBottom:{type:validator.string,def:"#ffffff"},enablePullDownRefresh:{type:makeEnumValidator(["false","true"]),def:"false"},onReachBottomDistance:{type:validator.number,def:50},pageOrientation:{type:makeEnumValidator(["portrait","auto","landscape"]),def:"portrait"}},tabBarValidatorMap={color:{type:validator.HexColor,required:!0},selectedColor:{type:validator.HexColor,required:!0},backgroundColor:{type:validator.HexColor,required:!0},borderStyle:{type:makeEnumValidator(["black","white"]),required:!1,def:"black"},list:{type:validator.array,required:!0},position:{type:makeEnumValidator(["bottom","top"]),required:!1,def:"bottom"},custom:{type:makeBooleanValidator(),required:!1,def:"false"}},networkTimeoutValidatorMap={request:{type:validator.number,required:!1,def:6e4},connectSocket:{type:validator.number,required:!1,def:6e4},uploadFile:{type:validator.number,required:!1,def:6e4},downloadFile:{type:validator.number,required:!1,def:6e4}},preloadRuleValidatorMap={packages:{type:validator.strArr,required:!0},network:{type:makeEnumValidator(["wifi","all"]),required:!1,def:"wifi"}},permissionValidatorMap={"scope.userLocation":{type:validator.permissionObject,required:!0}},requireAttrMap=[];function validate(e,t){var a=void 0,r=void 0,n=validatorMap[e];return n&&"function"==typeof n.type?(a=n.type(t)).reason&&(r={reason:a.reason(e,t)}):a={value:!0},{value:a.value,log:r}}function windowAndNetworkTimeOut(n,o,i){var u,l,c;return"{}"===JSON.stringify(n)?{value:!0}:(u={},l=[],c=0,Object.keys(n).forEach(function(e){var t,a,r=o[e]&&o[e].type;"function"==typeof r?("number"!=typeof(r=r(n[e])).value&&"string"!=typeof r.value&&"boolean"!=typeof r.value||(u[e]=r.value),r.reason&&((t=(r=r.reason(e,n[e])).match(/^([A-Z]+):/))&&(a=logTypes.indexOf(t[1]),c<a&&(c=a),r=r.replace(t[0],"")),l.push(r))):(c=1,l.push(" Attribute '".concat(e,"' is not a configuration item of ").concat(i,".")))}),{value:utils.isEmptyObject(u)?null:JSON.stringify(u),reason:0<l.length?function(e){return"".concat(logTypes[c],": configuration item '").concat(e,"' contains: \n ")+"".concat(l.join(" \n "))}:null})}function makeEnumValidator(e){return validator.enum.bind(null,e)}function makeBooleanValidator(){return validator.booleans.bind(null)}function getComponents(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[],a=[];return e.forEach(function(e){t.includes(e.path)||a.push(e.path)}),JSON.stringify(a)}Object.keys(validatorMap).forEach(function(e){validatorMap[e].required&&requireAttrMap.push(e)}),module.exports=function(e){var t,a,r,n,o=e.options.manifestData.manifest;return o&&(t=e.resourcePath,a=[],requireAttrMap.forEach(function(e){o[e]||a.push({reason:"ERROR: app.json does not contain configuration item '".concat(e,"'"),filePath:t})}),r=o.icon,n=void(utils.isExp(r)||!r||fs.existsSync(path.join(t,"..",r.trim()))||a.push({reason:"ERROR: Can not resolve file :".concat(r),filePath:t})),Object.keys(o).forEach(function(e){(n=validate(e,o[e])).log&&a.push({reason:n.log.reason,filePath:t})}),utils.logWarn(e,a)),!0};
1
+ function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var utils=require("./utils"),fs=require("fs"),path=require("path"),logTypes=["NOTE","WARNING","ERROR"],REGEXP_INT=/^-?\d+(\.\d+)?$/,REGEXP_COLOR_LONG=/^#[0-9a-fA-F]{6}$/,REGEXP_COLOR_SHORT=/^#[0-9a-fA-F]{3}$/,REGEXP_PACKAGE_NAME=/^[a-zA-Z][a-zA-Z0-9_]*(\.[a-zA-Z0-9_]+)+$/,validator={enum:function(a,e){return 0<=a.indexOf(e.toString())?{value:e}:{value:null,reason:function(e,t){return"ERROR: Attribute '".concat(e,"' value '").concat(t,"' is invalid, ")+"the attribute value must in [".concat(a,"]")}}},booleans:function(e){return"boolean"==typeof e?{value:e}:{value:null,reason:function(e,t){return"ERROR: Attribute '".concat(e,"' value '").concat(t,"' is invalid, ")+"the attribute value type must be boolean"}}},packageName:function(e){return(e||"").toString().trim().match(REGEXP_PACKAGE_NAME)?{value:!0}:{value:!1,reason:function(e,t){return"ERROR: app.json configuration item '".concat(e,"' value '").concat(t,"' is invalid.")}}},integer:function(e){return"string"==typeof e?e.match(REGEXP_INT)?{value:!0,reason:function(e,t){return"WARNING: app.json configuration item '".concat(e,"' ")+"value '".concat(t,"' is a character string, which should be an integer instead.")}}:{value:!1,reason:function(e,t){return"ERROR: app.json configuration item '".concat(e,"' value '").concat(t,"' is invalid.")}}:(e=(e||"").toString()).match(REGEXP_INT)?{value:!0}:{value:!1,reason:function(e,t){return"ERROR: app.json configuration item '".concat(e,"' value '").concat(t,"' is invalid.")}}},strArr:function(e){return Array.isArray(e)?{value:e}:{value:!1,reason:function(e,t){return"ERROR: Attribute '".concat(e,"' value '").concat(t,"' is invalid")}}},window:function(e){return windowAndNetworkTimeOut(e,windowValidatorMap,"window")},tabBar:function(n){var o,t,i,u,l;return"object"!==_typeof(n)?{value:!1,reason:function(e){return"ERROR: Attribute '".concat(e,"' value is invalid.")}}:(o=[],t=[],Object.keys(tabBarValidatorMap).forEach(function(e){tabBarValidatorMap[e].require&&o.push(e),tabBarValidatorMap[e].def&&t.push(tabBarValidatorMap[e].def)}),i={},u=[],l=0,Object.keys(n).forEach(function(e){var t,a,r;void 0!==tabBarValidatorMap[e]?(-1!==o.indexOf(e)&&(t=o.indexOf(e),o.splice(t,1)),"function"==typeof(t=tabBarValidatorMap[e].type)&&("number"!=typeof(t=t(n[e])).value&&"string"!=typeof t.value||(i[e]=t.value),t.reason)&&((a=(t=t.reason(e,n[e])).match(/^([A-Z]+):/))&&(r=logTypes.indexOf(a[1]),l<r&&(l=r),t=t.replace(a[0],"")),u.push(t))):(l=1,u.push(" Attribute '".concat(e,"' is not a sub-attribute of tabBar.")))}),0<o.length&&(l=2,u.push(" The mandatory sub-attribute is missing: ".concat(o.join(", ")))),{value:utils.isEmptyObject(i)?null:JSON.stringify(i),reason:0<u.length?function(e){return"".concat(logTypes[l],": configuration item '").concat(e,"' contains: \n ")+"".concat(u.join(" \n "))}:null})},networkTimeout:function(e){return windowAndNetworkTimeOut(e,networkTimeoutValidatorMap,"networkTimeout")},objArr:function(e){return{value:e}},string:function(e){return{value:e}},Object:function(e){return{value:e}},plugins:function(e){return{value:e}},preloadRule:function(e){return{value:e}},permission:function(e){return{value:e}},permissionObject:function(e){return{value:e}},HexColor:function(e){return(e=(e||"").toString()).match(REGEXP_COLOR_LONG)||e.match(REGEXP_COLOR_SHORT)?{value:e}:{value:null,reason:function(e,t){return"ERROR: Attribute '".concat(e,"' color value '").concat(t,"' is invalid.'")}}},number:function(e){return"string"==typeof e?e.match(REGEXP_INT)?{value:Number(e),reason:function(e,t){return"WARNING: app.json configuration item '".concat(e,"' ")+"value '".concat(t,"' is a character string, which should be an integer instead.")}}:{value:!1,reason:function(e,t){return"ERROR: app.json configuration item '".concat(e,"' value '").concat(t,"' is invalid")}}:0===e||(e=(e||"").toString()).match(REGEXP_INT)?{value:e}:{value:!1,reason:function(e,t){return"ERROR: app.json configuration item '".concat(e,"' value '").concat(t,"' is invalid.")}}},minPlatformVersion:function(e){var t=validator.integer(e);return t.value?e<1069?{value:!1,reason:function(e,t){return"ERROR: The platform version number of ".concat(t," is too early, ")+'please change "'.concat(e,'" field in the app.json file >= 1069.')}}:{value:!0}:t}},validatorMap={window:{type:validator.window,required:!1},tabBar:{type:validator.tabBar,required:!1},networkTimeout:{type:validator.networkTimeout,required:!1},functionalPages:{type:makeEnumValidator(["false","true"]),required:!1},subpackages:{type:validator.objArr,required:!1},subPackages:{type:validator.objArr,required:!1},workers:{type:validator.string,required:!1},requiredBackgroundModes:{type:validator.strArr,required:!1},plugins:{type:validator.plugins,required:!1},preloadRule:{type:validator.preloadRule,required:!1},resizable:{type:makeEnumValidator(["false","true"]),required:!1},navigateToMiniProgramAppIdList:{type:validator.strArr,required:!1},usingComponents:{type:validator.Object,required:!1},permission:{type:validator.permission,required:!1},sitemapLocation:{type:validator.string,required:!1},style:{type:validator.string,required:!1}},windowValidatorMap={navigationBarBackgroundColor:{type:validator.HexColor,def:"#000000"},navigationBarTextStyle:{type:makeEnumValidator(["white","black"]),def:"white"},navigationBarTitleText:{type:validator.string},navigationStyle:{type:makeEnumValidator(["default","custom"]),def:"default"},backgroundColor:{type:validator.HexColor,def:"#ffffff"},backgroundTextStyle:{type:makeEnumValidator(["dark","light"]),def:"dark"},backgroundColorTop:{type:validator.string,def:"#ffffff"},backgroundColorBottom:{type:validator.string,def:"#ffffff"},enablePullDownRefresh:{type:makeEnumValidator(["false","true"]),def:"false"},onReachBottomDistance:{type:validator.number,def:50},pageOrientation:{type:makeEnumValidator(["portrait","auto","landscape"]),def:"portrait"}},tabBarValidatorMap={color:{type:validator.HexColor,required:!0},selectedColor:{type:validator.HexColor,required:!0},backgroundColor:{type:validator.HexColor,required:!0},borderStyle:{type:makeEnumValidator(["black","white"]),required:!1,def:"black"},list:{type:validator.array,required:!0},position:{type:makeEnumValidator(["bottom","top"]),required:!1,def:"bottom"},custom:{type:makeBooleanValidator(),required:!1,def:"false"}},networkTimeoutValidatorMap={request:{type:validator.number,required:!1,def:6e4},connectSocket:{type:validator.number,required:!1,def:6e4},uploadFile:{type:validator.number,required:!1,def:6e4},downloadFile:{type:validator.number,required:!1,def:6e4}},preloadRuleValidatorMap={packages:{type:validator.strArr,required:!0},network:{type:makeEnumValidator(["wifi","all"]),required:!1,def:"wifi"}},permissionValidatorMap={"scope.userLocation":{type:validator.permissionObject,required:!0}},requireAttrMap=[];function validate(e,t){var a=void 0,r=void 0,n=validatorMap[e];return n&&"function"==typeof n.type?(a=n.type(t)).reason&&(r={reason:a.reason(e,t)}):a={value:!0},{value:a.value,log:r}}function windowAndNetworkTimeOut(n,o,i){var u,l,c;return"{}"===JSON.stringify(n)?{value:!0}:(u={},l=[],c=0,Object.keys(n).forEach(function(e){var t,a,r=o[e]&&o[e].type;"function"==typeof r?("number"!=typeof(r=r(n[e])).value&&"string"!=typeof r.value&&"boolean"!=typeof r.value||(u[e]=r.value),r.reason&&((t=(r=r.reason(e,n[e])).match(/^([A-Z]+):/))&&(a=logTypes.indexOf(t[1]),c<a&&(c=a),r=r.replace(t[0],"")),l.push(r))):(c=1,l.push(" Attribute '".concat(e,"' is not a configuration item of ").concat(i,".")))}),{value:utils.isEmptyObject(u)?null:JSON.stringify(u),reason:0<l.length?function(e){return"".concat(logTypes[c],": configuration item '").concat(e,"' contains: \n ")+"".concat(l.join(" \n "))}:null})}function makeEnumValidator(e){return validator.enum.bind(null,e)}function makeBooleanValidator(){return validator.booleans.bind(null)}function getComponents(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[],a=[];return e.forEach(function(e){t.includes(e.path)||a.push(e.path)}),JSON.stringify(a)}Object.keys(validatorMap).forEach(function(e){validatorMap[e].required&&requireAttrMap.push(e)}),module.exports=function(e){var t,a,r,n,o=e.options.manifestData.manifest;return o&&(t=e.resourcePath,a=[],requireAttrMap.forEach(function(e){o[e]||a.push({reason:"ERROR: app.json does not contain configuration item '".concat(e,"'"),filePath:t})}),r=o.icon,n=void(utils.isExp(r)||!r||fs.existsSync(path.join(t,"..",r.trim()))||a.push({reason:"ERROR: Can not resolve file :".concat(r),filePath:t})),Object.keys(o).forEach(function(e){(n=validate(e,o[e])).log&&a.push({reason:n.log.reason,filePath:t})}),utils.logWarn(e,a)),!0};
@@ -1 +1 @@
1
- function _regenerator(){var p,e="function"==typeof Symbol?Symbol:{},r=e.iterator||"@@iterator",t=e.toStringTag||"@@toStringTag";function n(e,r,t,n){var a,o,c,i,s,u,l,g,f,r=r&&r.prototype instanceof y?r:y,r=Object.create(r.prototype);return _regeneratorDefine2(r,"_invoke",(a=e,o=t,l=n||[],g=!1,f={p:u=0,n:0,v:p,a:d,f:d.bind(p,4),d:function(e,r){return c=e,i=0,s=p,f.n=r,h}},function(e,r,t){if(1<u)throw TypeError("Generator is already running");for(g&&1===r&&d(r,t),i=r,s=t;(m=i<2?p:s)||!g;){c||(i?i<3?(1<i&&(f.n=-1),d(i,s)):f.n=s:f.v=s);try{if(u=2,c){if(m=c[e=i?e:"next"]){if(!(m=m.call(c,s)))throw TypeError("iterator result is not an object");if(!m.done)return m;s=m.value,i<2&&(i=0)}else 1===i&&(m=c.return)&&m.call(c),i<2&&(s=TypeError("The iterator does not provide a '"+e+"' method"),i=1);c=p}else if((m=(g=f.n<0)?s:a.call(o,f))!==h)break}catch(e){c=p,i=1,s=e}finally{u=1}}return{value:m,done:g}}),!0),r;function d(e,r){for(i=e,s=r,m=0;!g&&u&&!t&&m<l.length;m++){var t,n=l[m],a=f.p,o=n[2];3<e?(t=o===r)&&(s=n[(i=n[4])?5:i=3],n[4]=n[5]=p):n[0]<=a&&((t=e<2&&a<n[1])?(i=0,f.v=r,f.n=n[1]):a<o&&(t=e<3||n[0]>r||o<r)&&(n[4]=e,n[5]=r,f.n=o,i=0))}if(t||1<e)return h;throw g=!0,r}}var h={};function y(){}function a(){}function o(){}var m=Object.getPrototypeOf,e=[][r]?m(m([][r]())):(_regeneratorDefine2(m={},r,function(){return this}),m),c=o.prototype=y.prototype=Object.create(e);function i(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,o):(e.__proto__=o,_regeneratorDefine2(e,t,"GeneratorFunction")),e.prototype=Object.create(c),e}return _regeneratorDefine2(c,"constructor",a.prototype=o),_regeneratorDefine2(o,"constructor",a),_regeneratorDefine2(o,t,a.displayName="GeneratorFunction"),_regeneratorDefine2(c),_regeneratorDefine2(c,t,"Generator"),_regeneratorDefine2(c,r,function(){return this}),_regeneratorDefine2(c,"toString",function(){return"[object Generator]"}),(_regenerator=function(){return{w:n,m:i}})()}function _regeneratorDefine2(e,r,t,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}(_regeneratorDefine2=function(e,r,t,n){function a(r,t){_regeneratorDefine2(e,r,function(e){return this._invoke(r,t,e)})}r?o?o(e,r,{value:t,enumerable:!n,configurable:!n,writable:!n}):e[r]=t:(a("next",0),a("throw",1),a("return",2))})(e,r,t,n)}function asyncGeneratorStep(e,r,t,n,a,o,c){try{var i=e[o](c),s=i.value}catch(e){return void t(e)}i.done?r(s):Promise.resolve(s).then(n,a)}function _asyncToGenerator(i){return function(){var e=this,c=arguments;return new Promise(function(r,t){var n=i.apply(e,c);function a(e){asyncGeneratorStep(n,r,t,a,o,"next",e)}function o(e){asyncGeneratorStep(n,r,t,a,o,"throw",e)}a(void 0)})}}var path=require("path"),fs=require("fs"),_require=require("@atomicservice/ascf-base"),getPath=_require.getPath,execSafe=_require.execSafe,getAdbPath=_require.getAdbPath,getProjectConfig=_require.getProjectConfig,tryAdbPortReversing=_require.tryAdbPortReversing,startServer=_require.startServer,getDevEcoSdkHome=_require.getDevEcoSdkHome,hdcShared=_require.hdcShared,getHdcPath=_require.getHdcPath,getHvigorwPath=_require.getHvigorwPath,$async=_require.$async,LEGACY_DEVICE=_require.LEGACY_DEVICE,_require2=require("../../common/utils"),getProjectInfo=_require2.getProjectInfo,getEntryPkgPath=_require2.getEntryPkgPath,getModuleNames=_require2.getModuleNames,getBundleName=_require2.getBundleName,log4js=require("../../common/log4js"),_require3=require("../../common/config"),configs=_require3.configs,logger=log4js.getLogger("hdc-executor"),_hdcShared=hdcShared({logger:logger,getDevEcoSdkHome:getDevEcoSdkHome,getPath:getPath,getHdcPath:getHdcPath}),runCmdAsync=_hdcShared.runCmdAsync,runHdcCmdAsync=_hdcShared.runHdcCmdAsync;function assembleHap(){return _assembleHap.apply(this,arguments)}function _assembleHap(){return(_assembleHap=_asyncToGenerator(_regenerator().m(function e(){return _regenerator().w(function(e){for(;;)switch(e.n){case 0:return logger.info("assembleHap"),e.n=1,$async(runCmdAsync(getHvigorwPath(),["assembleHap","--parallel","--incremental","--daemon","-p","skipAscfCompile=true"],{chdir:!0,cwd:getProjectInfo().projectPath}));case 1:return e.a(2,e.v)}},e)}))).apply(this,arguments)}function stopHvigorDaemon(){return _stopHvigorDaemon.apply(this,arguments)}function _stopHvigorDaemon(){return(_stopHvigorDaemon=_asyncToGenerator(_regenerator().m(function e(){return _regenerator().w(function(e){for(;;)switch(e.n){case 0:return logger.info("stop-daemon"),e.n=1,$async(runCmdAsync(getHvigorwPath(),["--stop-daemon"],{chdir:!0,cwd:getProjectInfo().projectPath}));case 1:return e.a(2)}},e)}))).apply(this,arguments)}function installPkg(){return _installPkg.apply(this,arguments)}function _installPkg(){return(_installPkg=_asyncToGenerator(_regenerator().m(function e(){var r,t;return _regenerator().w(function(e){for(;;)switch(e.n){case 0:if((r=getModuleNames()).name){e.n=1;break}return logger.error("module.name is null, in the file of module.json5"),e.a(2);case 1:if(t=path.join(getEntryPkgPath(),"build","default","outputs","default","".concat(r.name,"-default-signed.hap")),fs.existsSync(t)){e.n=2;break}return logger.error("hapPath is not exists",t),e.a(2);case 2:return logger.info("installing package bundleName to sn"),e.n=3,$async(runHdcCmdAsync(["-t",getDeviceId(),"install",t],{chdir:!0,cwd:getProjectInfo().projectPath}));case 3:return e.a(2)}},e)}))).apply(this,arguments)}function startAbilityWithBrk(e,r){return _startAbilityWithBrk.apply(this,arguments)}function _startAbilityWithBrk(){return(_startAbilityWithBrk=_asyncToGenerator(_regenerator().m(function e(r,t){var n;return _regenerator().w(function(e){for(;;)switch(e.n){case 0:return"brk"===(null==(n=getProjectConfig(r))?void 0:n.ascfDebugger)&&t.push("--ps ascfDebugger brk"),e.n=1,$async(runHdcCmdAsync(t));case 1:return e.a(2)}},e)}))).apply(this,arguments)}function assembleAndInstallHap(e){return _assembleAndInstallHap.apply(this,arguments)}function _assembleAndInstallHap(){return(_assembleAndInstallHap=_asyncToGenerator(_regenerator().m(function e(r){var t,n,a,o,c,i,s,u,l,g,f,d,p,h,y,m,_;return _regenerator().w(function(e){for(;;)switch(e.n){case 0:if(global._supportLegacyHos){if(t=getProjectInfo().projectPath,n=configs.qsHostPkg||"com.enjoy.now.hmos",a=global.ASCF_QS_BUILT_PATH?path.basename(global.ASCF_QS_BUILT_PATH):null==(a=fs.readdirSync("".concat(t,"/build/dist")))||null==(a=a.filter(function(e){return/.*-debug-.*\.spk/.test(e)}))?void 0:a[0],o=getBundleNameQs(t),r._deviceType===LEGACY_DEVICE)return h=path.join(t,"build/dist"),e.n=1,startServer(3e3,h);e.n=8}else e.n=10;break;case 1:return c=e.v,g=tryAdbPortReversing,e.n=2,getLegacyDeviceId();case 2:return e.n=3,g(e.v,c.port,0);case 3:if(i=e.v){e.n=4;break}return logger.error("hdc rport error, maybe find remote port error"),e.a(2);case 4:return s="http://127.0.0.1:".concat(i,"/").concat(a),f=$async,d=runCmdAsync,e.n=5,getAdbPath();case 5:return p=e.v,e.n=6,getLegacyDeviceId();case 6:return h=e.v,y=n,m=s,_=o,e.n=7,f(d(p,["-s",h,"shell","am","start","-n",y,"--es","startMode","installAndRunDebugPkg","--es","pkgUrl",m,"--es","ascfPackageName",_]));case 7:logger.info("waiting download and install package ..."),u=0,l=setInterval(function(){c.hasReq(s)||60<u?(hdcRemovePort(i,c.port,LEGACY_DEVICE),c.close(),clearInterval(l)):u++},1e3),e.n=9;break;case 8:return y="-t ".concat(getDeviceId()," shell aa start -a MpEntryAbility -b ").concat(n," --ps startMode installAndRunDebugPkg --ps pkgUrl http://127.0.0.1:").concat(r.remotePort,"/build/dist/").concat(a," --ps ascfPackageName ").concat(o),e.n=9,startAbilityWithBrk(t,[y]);case 9:return e.a(2);case 10:return e.n=11,assembleHap();case 11:if((m=e.v).err)return logger.fatal("assembleHap err",m.err),e.a(2);e.n=12;break;case 12:return e.n=13,installPkg();case 13:return e.a(2)}},e)}))).apply(this,arguments)}function uninstallPkg(){return _uninstallPkg.apply(this,arguments)}function _uninstallPkg(){return(_uninstallPkg=_asyncToGenerator(_regenerator().m(function e(){var r;return _regenerator().w(function(e){for(;;)switch(e.n){case 0:if(global._supportLegacyHos)return e.a(2);e.n=1;break;case 1:return r=getBundleName(),logger.info("Uninstall package"),e.n=2,$async(runHdcCmdAsync(["-t",getDeviceId(),"uninstall",r],{chdir:!0,cwd:getProjectInfo().projectPath}));case 2:return e.a(2)}},e)}))).apply(this,arguments)}function getBundleNameQs(e){e=path.resolve(e,"ascf","ascf_src","app.json");if(fs.existsSync(e)){e=JSON.parse(fs.readFileSync(e,"utf8"));if(null!=e&&e.package)return null==e?void 0:e.package;logger.error("app.json package is null")}else logger.error("app.json is not found")}function startAbility(e){return _startAbility.apply(this,arguments)}function _startAbility(){return(_startAbility=_asyncToGenerator(_regenerator().m(function e(r){var t,n,a,o,c,i,s,u,l,g,f;return _regenerator().w(function(e){for(;;)switch(e.n){case 0:if(t=getProjectInfo().projectPath,logger.info("start startAbility under ".concat(t)),global._supportLegacyHos){if(n=getBundleNameQs(t),a=configs.qsHostPkg||"com.enjoy.now.hmos",r===LEGACY_DEVICE)return i=$async,s=runCmdAsync,e.n=1,getAdbPath();e.n=4}else e.n=6;break;case 1:return u=e.v,e.n=2,getLegacyDeviceId();case 2:return l=e.v,g=a,f=n,e.n=3,i(s(u,["-s",l,"shell","am","start","-n",g,"--es","ascfPackageName",f,"--es","launchMode","forceUpdate"]));case 3:e.n=5;break;case 4:return e.n=5,startAbilityWithBrk(t,["-t",getDeviceId(),"shell","aa","start","-a","MpEntryAbility","-b",a,"--ps","ascfPackageName",n,"--ps","launchMode","forceUpdate"]);case 5:return e.a(2);case 6:if(o=getBundleName()){e.n=7;break}return logger.error("bundleName is null"),e.a(2);case 7:if((c=getModuleNames()).name){e.n=8;break}return logger.error("module.name is null, in the file of module.json5"),e.a(2);case 8:if(c.entryAbility){e.n=9;break}return logger.error("abilities.name is null, in the file of module.json5"),e.a(2);case 9:return logger.info("start ability ".concat(o)),e.n=10,startAbilityWithBrk(t,["-t ".concat(getDeviceId()," shell aa start -a ").concat(c.entryAbility," -b ").concat(o," -m ").concat(c.name," --ps launchMode forceUpdate")]);case 10:return e.a(2)}},e)}))).apply(this,arguments)}function hdcRemovePort(e,r,t){return _hdcRemovePort.apply(this,arguments)}function _hdcRemovePort(){return(_hdcRemovePort=_asyncToGenerator(_regenerator().m(function e(r,t,n){var a,o,c,i;return _regenerator().w(function(e){for(;;)switch(e.n){case 0:if(0===r||0===t)return e.a(2);e.n=1;break;case 1:if(logger.info("Remove forward port"),n===LEGACY_DEVICE)return o=execSafe,i="",e.n=2,getAdbPath();e.n=4;break;case 2:return c=i.concat.call(i,e.v," -s "),e.n=3,getLegacyDeviceId();case 3:a=o(c.concat.call(c,e.v," reverse --remove tcp:").concat(r)),e.n=5;break;case 4:a=execSafe("".concat(getHdcPath()," -t ").concat(getDeviceId()," fport rm tcp:").concat(r," tcp:").concat(t));case 5:logger.debug(a);case 6:return e.a(2)}},e)}))).apply(this,arguments)}function tryHdcPortReversing(e){var r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,t=Math.floor(64512*Math.random())+1024,n=execSafe("".concat(getHdcPath()," -t ").concat(getDeviceId()," rport tcp:").concat(t," tcp:").concat(e));return n&&5!==r?n.includes("Forwardport result:OK")?t:tryHdcPortReversing(e,++r):0}function getDeviceId(){var e;return configs.deviceId||((e=execSafe("".concat(getHdcPath()," list targets")))&&!/(Empty|Fail)/.test(e)||(logger.error("App Launch: select a device first"),process.exit(1)),e=e.split("\n"),configs.deviceId=e[0].trim()),configs.deviceId}function getLegacyDeviceId(){return _getLegacyDeviceId.apply(this,arguments)}function _getLegacyDeviceId(){return(_getLegacyDeviceId=_asyncToGenerator(_regenerator().m(function e(){var r,t,n,a;return _regenerator().w(function(e){for(;;)switch(e.n){case 0:return n=execSafe,a="",e.n=1,getAdbPath();case 1:if((r=n(a.concat.call(a,e.v," devices -l"))).err||null==r||!r.length||/^List of devices attached$/.test(r))return this.adapter.logger.debug("legacy listTargets error or no devices found"),e.a(2,[]);e.n=2;break;case 2:return(t=r.split("\n")).shift(),t=t.map(function(e){return e.split(" ")[0]}),e.a(2,t[0].trim())}},e,this)}))).apply(this,arguments)}module.exports={stopHvigorDaemon:stopHvigorDaemon,assembleAndInstallHap:assembleAndInstallHap,assembleHap:assembleHap,installPkg:installPkg,uninstallPkg:uninstallPkg,startAbility:startAbility,hdcRemovePort:hdcRemovePort,tryHdcPortReversing:tryHdcPortReversing,getDeviceId:getDeviceId,getLegacyDeviceId:getLegacyDeviceId};
1
+ function _regenerator(){var p,e="function"==typeof Symbol?Symbol:{},r=e.iterator||"@@iterator",t=e.toStringTag||"@@toStringTag";function n(e,r,t,n){var a,o,c,i,s,l,u,g,f,r=r&&r.prototype instanceof h?r:h,r=Object.create(r.prototype);return _regeneratorDefine2(r,"_invoke",(a=e,o=t,u=n||[],g=!1,f={p:l=0,n:0,v:p,a:d,f:d.bind(p,4),d:function(e,r){return c=e,i=0,s=p,f.n=r,y}},function(e,r,t){if(1<l)throw TypeError("Generator is already running");for(g&&1===r&&d(r,t),i=r,s=t;(_=i<2?p:s)||!g;){c||(i?i<3?(1<i&&(f.n=-1),d(i,s)):f.n=s:f.v=s);try{if(l=2,c){if(_=c[e=i?e:"next"]){if(!(_=_.call(c,s)))throw TypeError("iterator result is not an object");if(!_.done)return _;s=_.value,i<2&&(i=0)}else 1===i&&(_=c.return)&&_.call(c),i<2&&(s=TypeError("The iterator does not provide a '"+e+"' method"),i=1);c=p}else if((_=(g=f.n<0)?s:a.call(o,f))!==y)break}catch(e){c=p,i=1,s=e}finally{l=1}}return{value:_,done:g}}),!0),r;function d(e,r){for(i=e,s=r,_=0;!g&&l&&!t&&_<u.length;_++){var t,n=u[_],a=f.p,o=n[2];3<e?(t=o===r)&&(s=n[(i=n[4])?5:i=3],n[4]=n[5]=p):n[0]<=a&&((t=e<2&&a<n[1])?(i=0,f.v=r,f.n=n[1]):a<o&&(t=e<3||n[0]>r||o<r)&&(n[4]=e,n[5]=r,f.n=o,i=0))}if(t||1<e)return y;throw g=!0,r}}var y={};function h(){}function a(){}function o(){}var _=Object.getPrototypeOf,e=[][r]?_(_([][r]())):(_regeneratorDefine2(_={},r,function(){return this}),_),c=o.prototype=h.prototype=Object.create(e);function i(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,o):(e.__proto__=o,_regeneratorDefine2(e,t,"GeneratorFunction")),e.prototype=Object.create(c),e}return _regeneratorDefine2(c,"constructor",a.prototype=o),_regeneratorDefine2(o,"constructor",a),_regeneratorDefine2(o,t,a.displayName="GeneratorFunction"),_regeneratorDefine2(c),_regeneratorDefine2(c,t,"Generator"),_regeneratorDefine2(c,r,function(){return this}),_regeneratorDefine2(c,"toString",function(){return"[object Generator]"}),(_regenerator=function(){return{w:n,m:i}})()}function _regeneratorDefine2(e,r,t,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}(_regeneratorDefine2=function(e,r,t,n){function a(r,t){_regeneratorDefine2(e,r,function(e){return this._invoke(r,t,e)})}r?o?o(e,r,{value:t,enumerable:!n,configurable:!n,writable:!n}):e[r]=t:(a("next",0),a("throw",1),a("return",2))})(e,r,t,n)}function asyncGeneratorStep(e,r,t,n,a,o,c){try{var i=e[o](c),s=i.value}catch(e){return void t(e)}i.done?r(s):Promise.resolve(s).then(n,a)}function _asyncToGenerator(i){return function(){var e=this,c=arguments;return new Promise(function(r,t){var n=i.apply(e,c);function a(e){asyncGeneratorStep(n,r,t,a,o,"next",e)}function o(e){asyncGeneratorStep(n,r,t,a,o,"throw",e)}a(void 0)})}}var path=require("path"),fs=require("fs"),_require=require("@atomicservice/ascf-base"),getPath=_require.getPath,execSafe=_require.execSafe,getAdbPath=_require.getAdbPath,getProjectConfig=_require.getProjectConfig,tryAdbPortReversing=_require.tryAdbPortReversing,startServer=_require.startServer,getDevEcoSdkHome=_require.getDevEcoSdkHome,hdcShared=_require.hdcShared,getHdcPath=_require.getHdcPath,getHvigorwPath=_require.getHvigorwPath,$async=_require.$async,LEGACY_DEVICE=_require.LEGACY_DEVICE,LEGACY_PKG_NAME=_require.LEGACY_PKG_NAME,qsHostPkg=_require.qsHostPkg,_require2=require("../../common/utils"),getProjectInfo=_require2.getProjectInfo,getEntryPkgPath=_require2.getEntryPkgPath,getModuleNames=_require2.getModuleNames,getBundleName=_require2.getBundleName,log4js=require("../../common/log4js"),_require3=require("../../common/config"),configs=_require3.configs,logger=log4js.getLogger("hdc-executor"),_hdcShared=hdcShared({logger:logger,getDevEcoSdkHome:getDevEcoSdkHome,getPath:getPath,getHdcPath:getHdcPath}),runCmdAsync=_hdcShared.runCmdAsync,runHdcCmdAsync=_hdcShared.runHdcCmdAsync,HDC_ERR_REGREX=/error|Fail/g;function assembleHap(){return _assembleHap.apply(this,arguments)}function _assembleHap(){return(_assembleHap=_asyncToGenerator(_regenerator().m(function e(){return _regenerator().w(function(e){for(;;)switch(e.n){case 0:return logger.info("assembleHap"),e.n=1,$async(runCmdAsync(getHvigorwPath(),["assembleHap","--parallel","--incremental","--daemon","-p","skipAscfCompile=true"],{chdir:!0,cwd:getProjectInfo().projectPath}));case 1:return e.a(2,e.v)}},e)}))).apply(this,arguments)}function stopHvigorDaemon(){return _stopHvigorDaemon.apply(this,arguments)}function _stopHvigorDaemon(){return(_stopHvigorDaemon=_asyncToGenerator(_regenerator().m(function e(){return _regenerator().w(function(e){for(;;)switch(e.n){case 0:return logger.info("stop-daemon"),e.n=1,$async(runCmdAsync(getHvigorwPath(),["--stop-daemon"],{chdir:!0,cwd:getProjectInfo().projectPath}));case 1:return e.a(2)}},e)}))).apply(this,arguments)}function installPkg(){return _installPkg.apply(this,arguments)}function _installPkg(){return(_installPkg=_asyncToGenerator(_regenerator().m(function e(){var r,t,n,a;return _regenerator().w(function(e){for(;;)switch(e.n){case 0:if((r=getModuleNames()).name){e.n=1;break}return logger.error("module.name is null, in the file of module.json5"),e.a(2);case 1:if(t=path.join(getEntryPkgPath(),"build","default","outputs","default","".concat(r.name,"-default-signed.hap")),fs.existsSync(t)){e.n=2;break}return logger.error("hapPath is not exists",t),e.a(2);case 2:return logger.info("installing package bundleName to sn"),e.n=3,$async(runHdcCmdAsync(["-t",getDeviceId(),"install",t],{chdir:!0,cwd:getProjectInfo().projectPath}));case 3:if(n=e.v,a=(null==n||null==(a=n.data)?void 0:a.err)||(null==n?void 0:n.data),HDC_ERR_REGREX.test(a))return logger.fatal("install package err: ",a),e.a(2);e.n=4;break;case 4:return e.a(2,n)}},e)}))).apply(this,arguments)}function startAbilityWithBrk(e,r){return _startAbilityWithBrk.apply(this,arguments)}function _startAbilityWithBrk(){return(_startAbilityWithBrk=_asyncToGenerator(_regenerator().m(function e(r,t){var n,a,o;return _regenerator().w(function(e){for(;;)switch(e.n){case 0:return"brk"===(null==(n=getProjectConfig(r))?void 0:n.ascfDebugger)&&t.push("--ps ascfDebugger brk"),e.n=1,$async(runHdcCmdAsync(t));case 1:if(a=e.v,o=(null==a||null==(n=a.data)?void 0:n.err)||(null==a?void 0:a.data),HDC_ERR_REGREX.test(o))return logger.fatal("startAbility err: ",o),e.a(2);e.n=2;break;case 2:return e.a(2,a)}},e)}))).apply(this,arguments)}function legacyHosAssemble(e){return _legacyHosAssemble.apply(this,arguments)}function _legacyHosAssemble(){return(_legacyHosAssemble=_asyncToGenerator(_regenerator().m(function e(r){var t,n,a,o,c,i,s,l,u,g,f,d,p,y,h,_,m;return _regenerator().w(function(e){for(;;)switch(e.n){case 0:if(t=getProjectInfo().projectPath,n=configs.qsHostPkg||"com.enjoy.now.hmos",a=global.ASCF_QS_BUILT_PATH?path.basename(global.ASCF_QS_BUILT_PATH):null==(a=fs.readdirSync("".concat(t,"/build/dist")))||null==(a=a.filter(function(e){return/.*-debug-.*\.spk/.test(e)}))?void 0:a[0],o=getBundleNameQs(t),r._deviceType===LEGACY_DEVICE)return y=path.join(t,"build/dist"),e.n=1,startServer(3e3,y);e.n=8;break;case 1:return c=e.v,g=tryAdbPortReversing,e.n=2,getLegacyDeviceId();case 2:return e.n=3,g(e.v,c.port,0);case 3:if(i=e.v){e.n=4;break}return logger.error("hdc rport error, maybe find remote port error"),e.a(2);case 4:return s="http://127.0.0.1:".concat(i,"/").concat(a),f=$async,d=runCmdAsync,e.n=5,getAdbPath();case 5:return p=e.v,e.n=6,getLegacyDeviceId();case 6:return y=e.v,h=n,_=s,m=o,e.n=7,f(d(p,["-s",y,"shell","am","start","-n",h,"--es","startMode","installAndRunDebugPkg","--es","pkgUrl",_,"--es","ascfPackageName",m]));case 7:logger.info("waiting download and install package ..."),l=0,u=setInterval(function(){c.hasReq(s)||60<l?(hdcRemovePort(i,c.port,LEGACY_DEVICE),c.close(),clearInterval(u)):l++},1e3),e.n=9;break;case 8:return h="-t ".concat(getDeviceId()," shell aa start -a MpEntryAbility -b ").concat(n," --ps startMode installAndRunDebugPkg --ps pkgUrl http://127.0.0.1:").concat(r.remotePort,"/build/dist/").concat(a," --ps ascfPackageName ").concat(o),e.n=9,startAbilityWithBrk(t,[h]);case 9:return e.a(2)}},e)}))).apply(this,arguments)}function assembleAndInstallHap(e){return _assembleAndInstallHap.apply(this,arguments)}function _assembleAndInstallHap(){return(_assembleAndInstallHap=_asyncToGenerator(_regenerator().m(function e(r){var t;return _regenerator().w(function(e){for(;;)switch(e.n){case 0:if(global._supportLegacyHos)return e.n=1,legacyHosAssemble(r);e.n=2;break;case 1:return e.a(2);case 2:return e.n=3,assembleHap();case 3:if((t=e.v).err)return logger.fatal("assembleHap err: ",t.err),e.a(2);e.n=4;break;case 4:return e.n=5,installPkg();case 5:return e.a(2)}},e)}))).apply(this,arguments)}function uninstallPkg(){return _uninstallPkg.apply(this,arguments)}function _uninstallPkg(){return(_uninstallPkg=_asyncToGenerator(_regenerator().m(function e(){var r,t,n;return _regenerator().w(function(e){for(;;)switch(e.n){case 0:if(global._supportLegacyHos)return e.a(2);e.n=1;break;case 1:return r=getBundleName(),logger.info("Uninstall package"),e.n=2,$async(runHdcCmdAsync(["-t",getDeviceId(),"uninstall",r],{chdir:!0,cwd:getProjectInfo().projectPath}));case 2:if(t=e.v,n=(null==t||null==(r=t.data)?void 0:r.err)||(null==t?void 0:t.data),HDC_ERR_REGREX.test(n))return logger.fatal("uninstallPkg err: ",n),e.a(2);e.n=3;break;case 3:return e.a(2,t)}},e)}))).apply(this,arguments)}function getBundleNameQs(e){e=path.resolve(e,"ascf","ascf_src","app.json");if(fs.existsSync(e)){e=JSON.parse(fs.readFileSync(e,"utf8"));if(null!=e&&e.package)return null==e?void 0:e.package;logger.error("app.json package is null")}else logger.error("app.json is not found")}function legacyHosStartAbility(e){return _legacyHosStartAbility.apply(this,arguments)}function _legacyHosStartAbility(){return(_legacyHosStartAbility=_asyncToGenerator(_regenerator().m(function e(r){var t,n,a,o,c,i,s,l,u;return _regenerator().w(function(e){for(;;)switch(e.n){case 0:if(t=getProjectInfo().projectPath,n=getBundleNameQs(t),r===LEGACY_DEVICE)return a=configs.qsHostPkg||qsHostPkg,o=$async,c=runCmdAsync,e.n=1,getAdbPath();e.n=4;break;case 1:return i=e.v,e.n=2,getLegacyDeviceId();case 2:return s=e.v,l=a,u=n,e.n=3,o(c(i,["-s",s,"shell","am","start","-n",l,"--es","ascfPackageName",u,"--es","launchMode","forceUpdate"]));case 3:e.n=5;break;case 4:return s=configs.qsHostPkg||LEGACY_PKG_NAME,e.n=5,startAbilityWithBrk(t,["-t",getDeviceId(),"shell","aa","start","-a","MpEntryAbility","-b",s,"--ps","ascfPackageName",n,"--ps","launchMode","forceUpdate"]);case 5:return e.a(2)}},e)}))).apply(this,arguments)}function startAbility(e){return _startAbility.apply(this,arguments)}function _startAbility(){return(_startAbility=_asyncToGenerator(_regenerator().m(function e(r){var t,n,a;return _regenerator().w(function(e){for(;;)switch(e.n){case 0:if(t=getProjectInfo().projectPath,logger.info("start startAbility under ".concat(t)),global._supportLegacyHos)return e.n=1,legacyHosStartAbility(r);e.n=2;break;case 1:return e.a(2);case 2:if(n=getBundleName()){e.n=3;break}return logger.error("bundleName is null"),e.a(2);case 3:if((a=getModuleNames()).name){e.n=4;break}return logger.error("module.name is null, in the file of module.json5"),e.a(2);case 4:if(a.entryAbility){e.n=5;break}return logger.error("abilities.name is null, in the file of module.json5"),e.a(2);case 5:return logger.info("start ability ".concat(n)),e.n=6,startAbilityWithBrk(t,["-t ".concat(getDeviceId()," shell aa start -a ").concat(a.entryAbility," -b ").concat(n," -m ").concat(a.name," --ps launchMode forceUpdate")]);case 6:return e.a(2)}},e)}))).apply(this,arguments)}function hdcRemovePort(e,r,t){return _hdcRemovePort.apply(this,arguments)}function _hdcRemovePort(){return(_hdcRemovePort=_asyncToGenerator(_regenerator().m(function e(r,t,n){var a,o,c,i;return _regenerator().w(function(e){for(;;)switch(e.n){case 0:if(0===r||0===t)return e.a(2);e.n=1;break;case 1:if(logger.info("Remove forward port"),n===LEGACY_DEVICE)return o=execSafe,i="",e.n=2,getAdbPath();e.n=4;break;case 2:return c=i.concat.call(i,e.v," -s "),e.n=3,getLegacyDeviceId();case 3:a=o(c.concat.call(c,e.v," reverse --remove tcp:").concat(r)),e.n=5;break;case 4:a=execSafe("".concat(getHdcPath()," -t ").concat(getDeviceId()," fport rm tcp:").concat(r," tcp:").concat(t));case 5:logger.debug(a);case 6:return e.a(2)}},e)}))).apply(this,arguments)}function tryHdcPortReversing(e){var r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,t=Math.floor(64512*Math.random())+1024,n=execSafe("".concat(getHdcPath()," -t ").concat(getDeviceId()," rport tcp:").concat(t," tcp:").concat(e));return n&&5!==r?n.includes("Forwardport result:OK")?t:tryHdcPortReversing(e,++r):0}function getDeviceId(){var e;return configs.deviceId||((e=execSafe("".concat(getHdcPath()," list targets")))&&!/(Empty|Fail)/.test(e)||(logger.error("App Launch: select a device first"),process.exit(1)),e=e.split("\n"),configs.deviceId=e[0].trim()),configs.deviceId}function getLegacyDeviceId(){return _getLegacyDeviceId.apply(this,arguments)}function _getLegacyDeviceId(){return(_getLegacyDeviceId=_asyncToGenerator(_regenerator().m(function e(){var r,t,n,a;return _regenerator().w(function(e){for(;;)switch(e.n){case 0:return n=execSafe,a="",e.n=1,getAdbPath();case 1:if((r=n(a.concat.call(a,e.v," devices -l"))).err||null==r||!r.length||/^List of devices attached$/.test(r))return this.adapter.logger.debug("legacy listTargets error or no devices found"),e.a(2,[]);e.n=2;break;case 2:return(t=r.split("\n")).shift(),t=t.map(function(e){return e.split(" ")[0]}),e.a(2,t[0].trim())}},e,this)}))).apply(this,arguments)}module.exports={stopHvigorDaemon:stopHvigorDaemon,assembleAndInstallHap:assembleAndInstallHap,assembleHap:assembleHap,installPkg:installPkg,uninstallPkg:uninstallPkg,startAbility:startAbility,hdcRemovePort:hdcRemovePort,tryHdcPortReversing:tryHdcPortReversing,getDeviceId:getDeviceId,getLegacyDeviceId:getLegacyDeviceId};
@@ -1 +1 @@
1
- var expUtils=require("./exp-utils"),fs=require("fs"),utils=require("./utils"),path=require("path"),vm=require("vm"),ATTR_NAME="ATTR_NAME",syncViewEventsMap={checkbox:["checked"],radio:["checked"],switch:["checked"],swiper:["current"],"picker-view":["value"],slider:["value"],progress:["percent"],video:["muted","initial-time"],"movable-view":["x","y","scale-value"],"scroll-view":["scroll-top","scroll-left"]},tagCommon={attrs:[{name:"id"},{name:"class"},{name:"style"},{name:"has:for"},{name:"has:if"},{name:"has:elif"},{name:"has:else"},{name:"has:key",combDiectives:["has:for","has:for-items"]},{name:"has:for-items"},{name:"has:for-index",combDiectives:["has:for","has:for-items"]},{name:"has:for-item",combDiectives:["has:for","has:for-items"]},{name:"data"},{name:"bind"},{name:"data"},{name:"data-"},{name:"catch"},{name:"capture-catch:"}]},tagComponentMap={map:{events:["bindtap","bindmarketap","bindlabeltap","bindcontroltap","bindcallouttap","bindupdated","bindregionchange","bindpoitap"],attrs:[{name:"longitude",type:["number"],required:!0},{name:"latitude",type:["number"],required:!0},{name:"scale",type:["number"],default:16,enum:[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]},{name:"marker",type:["array"]},{name:"cover",type:["array"]},{name:"polyline",type:["array"]},{name:"circles",type:["array"]},{name:"controls",type:["array"]},{name:"include-points",type:["array"]},{name:"show-location",type:["boolean"],default:!1},{name:"polygons",type:["array"]},{name:"subkey",type:["string"]},{name:"layer-style",type:["number"],default:1},{name:"rotate",type:["number"],default:0},{name:"skew",type:["number"],default:0},{name:"show-compass",type:["boolean"],default:!1},{name:"enable-3D",type:["boolean"],default:!1},{name:"show-scale",type:["boolean"],default:!1},{name:"enable-overlooking",type:["boolean"],default:!1},{name:"enable-zoom",type:["boolean"],default:!0},{name:"enable-sttellite",type:["boolean"],default:!1},{name:"enable-traffic",type:["boolean"],default:!1},{name:"enable-scroll",type:["boolean"],default:!0},{name:"enable-rotate",type:["boolean"],default:!1},{name:"setting",type:["object"]}]},video:{events:["bindplay","bindpause","bindended","bindtimeupdate","bindfullscreenchange","bindwating","binderror","bindprogress","bindloadmetadata"],attrs:[{name:"src",type:["string"],checkPath:!0,required:!0},{name:"duration",type:["number"]},{name:"controls",type:["boolean"],default:!0},{name:"danmu-list",type:["array"]},{name:"danmu-list",type:["array"]},{name:"danmu-button",type:["boolean"],default:!1},{name:"enable-danmu",type:["boolean"],default:!1},{name:"autoplay",type:["boolean"],default:!1},{name:"loop",type:["boolean"],default:!1},{name:"muted",type:["boolean"],default:!1},{name:"initial-time",type:["number"],default:0},{name:"page-gesture",type:["boolean"],default:!1},{name:"object-fit",type:["string"],default:"contain",enum:["contain","fill","cover"]},{name:"poster",type:["string"],checkPath:!0},{name:"direction",type:["number"],enum:[0,-90,90]},{name:"show-progress",type:["boolean"],default:!0},{name:"show-fullscreen-btn",type:["boolean"],default:!0},{name:"show-play-btn",type:["boolean"],default:!0},{name:"show-center-play-btn",type:["boolean"],default:!0},{name:"enable-prgress-gesture",type:["boolean"],default:!0},{name:"show-mute-btn",type:["boolean"],default:!1},{name:"title",type:["string"]},{name:"play-btn-postion",type:["string"],default:"buttom",enum:["buttom","center"]},{name:"enable-play-gesture",type:["boolean"],default:!1},{name:"auto-pause-if-navigate",type:["boolean"],default:!0},{name:"auto-pause-if-open-native",type:["boolean"],default:!0},{name:"vslide-gesture",type:["boolean"],default:!1},{name:"vslide-gesture-in-fullscreen",type:["boolean"],default:!0},{name:"ad-unit-id",type:["string"]}]},"live-pusher":{events:["bindstatechange","bindnetstatus","binderror","bindbgmstart","bindbgmprogress","bindbgmcomplete"],attrs:[{name:"url",type:["string"],checkPath:!0},{name:"mode",type:["string"],default:"live",enum:["live","RTC"]},{name:"autopush",type:["boolean"],default:!1},{name:"muted",type:["boolean"],default:!1},{name:"enable-camera",type:["boolean"],default:!0},{name:"atuo-foucus",type:["boolean"],default:!0},{name:"orientation",type:["string"],default:"vertical",enum:["vertical","horizontal"]},{name:"beauty",type:["number"],default:0,enum:[0,1,2,3,4,5,6,7,8,9]},{name:"whiteness",type:["number"],default:0,enum:[0,1,2,3,4,5,6,7,8,9]},{name:"aspect",type:["string"],default:"9:16",enum:["9:16","3:4"]},{name:"mini-bitrate",type:["number"],default:200},{name:"max-bitrate",type:["number"],default:1e3},{name:"audio-quality",type:["string"],default:"high",enum:["low","high"]},{name:"waiting-image",type:["string"]},{name:"waiting-image-hash",type:["string"]},{name:"zoom",type:["boolean"],default:!1},{name:"device-position",type:["string"],default:"front",enum:["front","back"]},{name:"background-mute",type:["boolean"],default:!1},{name:"mirror",type:["boolean"],default:!1}]},"live-player":{events:["bindstatechange","bindfullscreenchange","bindnetstatus"],attrs:[{name:"src",type:["string"],checkPath:!0},{name:"mode",type:["string"],default:"RTC",enum:["HD","FHD","SD","RTC"]},{name:"autoplay",type:["boolean"],default:!1},{name:"muted",type:["boolean"],default:!1},{name:"orientation",type:["string"],default:"vertical",enum:["vertical","horizontal"]},{name:"object-fit",type:["string"],default:"contain",enum:["contain","fillCrop"]},{name:"background-mute",type:["boolean"],default:!1},{name:"min-cache",type:["number"],default:1},{name:"min-cache",type:["number"],default:3},{name:"sound-mode",type:["string"],default:"speaker",enum:["speaker","ear"]},{name:"auto-pause-if-open-native",type:["boolean"],default:!0},{name:"auto-pause-if-navigate",type:["boolean"],default:!0}]},camrea:{events:["bindstop","binderror","bindinitdone","bindscancode"],attrs:[{name:"mode",type:["boolean"],default:"normal",enum:["front","back"]},{name:"device-position",type:["string"],default:"back"},{name:"flash",type:["string"],default:"auto",enum:["auto","on","off","torch"]},{name:"frame-size",type:["string"],default:"medium",enum:["small","medium","large"]},{name:"flash",type:["string"],default:"auto"}]},view:{attrs:[{name:"hover-class",type:["string"],default:"node"},{name:"hover-stop-propagation",type:["boolean"],default:!1},{name:"hover-start-time",type:["number"],default:50},{name:"hover-stay-time",type:["number"],default:400}]},"scroll-view":{events:["bindscrolltoupper","bindscrolltolower","bindscroll"],attrs:[{name:"scroll-x",type:["boolean"],default:!1},{name:"scroll-y",type:["boolean"],default:!1},{name:"upper-threshold",type:["number","string"],default:50},{name:"lower-threshold",type:["number","string"],default:50},{name:"scroll-top",type:["number","string"]},{name:"scroll-left",type:["number","string"]},{name:"scroll-into-view",type:["string"]},{name:"scroll-with-animation",type:["boolean"],default:!1},{name:"scroll-flex",type:["boolean"],default:!1},{name:"scroll-anchoring",type:["boolean"],default:!1}]},"movable-area":{attrs:[{name:"scale-area",type:["boolean"],default:!1}]},"movable-view":{events:["bindchange","bindscale","htouchmove","vtouchmove"],attrs:[{name:"direction",type:["string"],default:"none"},{name:"inertia",type:["boolean"],default:!1},{name:"out-of-bounds",type:["boolean"],default:!1},{name:"x",type:["number"]},{name:"y",type:["number"]},{name:"damping",type:["number"],default:20},{name:"friction",type:["number"],default:2},{name:"disabled",type:["boolean"],default:!1},{name:"scale",type:["boolean"],default:!1},{name:"scale-min",type:["number"],default:.5},{name:"scale-max",type:["number"],default:10},{name:"scale-value",type:["number"],default:1},{name:"animation",type:["boolean"],default:!0}]},audio:{events:["binderror","bindplay","bindpause","bindtimeupdate","bindended"],attrs:[{name:"id",type:["string"]},{name:"src",type:["string"],checkPath:!0},{name:"loop",type:["boolean"],default:!1},{name:"controls",type:["boolean"],default:!1},{name:"poster",type:["string"],checkPath:!0},{name:"name",type:["string"]},{name:"author",type:["string"]}]},progress:{events:["bindactiveend"],attrs:[{name:"percent",type:["number"]},{name:"show-info",type:["boolean"],default:!1},{name:"border-radius",type:["number","string"],default:0},{name:"font-size",type:["number","string"],default:16},{name:"stroke-width",type:["number","string"],default:6},{name:"color",type:["string"],default:"#09BB07"},{name:"active-color",type:["string"],default:"#09BB07"},{name:"backgroundColor",type:["string"],default:"#EBEBEB"},{name:"active",type:["boolean"],default:!1},{name:"active-mode",type:["string"],default:"backwards"},{name:"durations",type:["number"],default:30}]},"rich-text":{attrs:[{name:"nodes",type:["array","string"],default:[]},{name:"space",type:["string"]}]},text:{attrs:[{name:"autoplay",type:["boolean"],default:!1},{name:"autoplay",type:["string"]},{name:"decode",type:["boolean"],default:!1}]},swiper:{events:["bindchang","bindtransition","bindanimationfinish"],attrs:[{name:"indicator-dots",type:["boolean"],default:!1},{name:"indicator-color",type:["string"],default:"rgba(0, 0, 0, .3)"},{name:"indicator-active-color",type:["string"],default:"#000000"},{name:"autoplay",type:["boolean"],default:!1},{name:"current",type:["number","string"],default:0},{name:"interval",type:["number","string"],default:5e3},{name:"duration",type:["number","string"],default:500},{name:"vertical",type:["boolean"],default:!1},{name:"circular",type:["boolean"],default:!1},{name:"previous-margin",type:["string","number"],default:"0px"},{name:"next-margin",type:["string","number"],default:"0px"},{name:"display-multiple-items",type:["number"],default:1},{name:"skip-hidden-item-layout",type:["boolean"],default:!1},{name:"easing-function",type:["string"],default:"default",enum:["default","linear","easeInCubic","easeOutCubic","easeInOutCubic"]}]},"swiper-item":{parent:"swiper",attrs:[{name:"item-id"}]},image:{events:["binderror","bindload"],attrs:[{name:"src",checkPath:!0},{name:"mode"},{name:"webp"},{name:"lazy-load"},{name:"show-menu-by-longpress"}]},icon:{attrs:[{name:"type",type:["string"]},{name:"size",type:["number","string"],default:23},{name:"color",type:["string"]}]},"cover-image":{attrs:[{name:"src",required:!0,checkPath:!0}],events:["bindload","binderror"]},"cover-view":{attrs:[{name:"scroll-top",type:["number","string"]}]},checkbox:{attrs:[{name:"value",type:["string","number"]},{name:"disabled",type:["boolean"],default:!1},{name:"checked",type:["boolean"],default:!1},{name:"color",type:["string"],default:"#09BB07"}]},button:{events:["bindgetuserinfo","bindcontact","bindgetphonenumber","binderror","bindopensetting","bindlaunchapp"],attrs:[{name:"size",type:["string"],default:"default",enum:["default","mini"]},{name:"type",type:["string"],default:"default",enum:["primary","default","warn"]},{name:"plain",type:["boolean"],default:!1},{name:"disabled",type:["boolean"],default:!1},{name:"loading",type:["boolean"],default:!1},{name:"form-type",type:["string"],enum:["submit","reset"]},{name:"open-type",type:["string"],enum:["contact","share","getPhoneNumber","getUserInfo","launchApp","openSetting","feedback"]},{name:"hover-class",type:["string"],default:"button-hover"},{name:"hover-stop-propagation",type:["boolean"],default:!1},{name:"hover-start-time",type:["number"],default:20},{name:"hover-stay-time",type:["number"],default:70},{name:"lang",type:["string"],default:"en",enum:["en","zh_CN","zh_TW"]},{name:"session-from",type:["string"]},{name:"send-message-title",type:["string"]},{name:"send-message-path",type:["string"]},{name:"send-message-img",type:["string"]},{name:"app-parameter",type:["string"]},{name:"show-message-card",type:["boolean"],default:!1}]},"checkbox-group":{events:["bindchange"],attrs:[]},editor:{events:["bindready","bindfocus","bindblur","bindinput","bindstatuschange"],attrs:[{name:"read-only",type:["boolean"],default:!1},{name:"placeholder",type:["string","number"]},{name:"show-img-size",type:["boolean"],default:!1},{name:"show-img-toolbar",type:["boolean"],default:!1},{name:"show-img-resize",type:["boolean"],default:!1}]},form:{events:["bindsubmit","bindreset"],attrs:[{name:"report-submit",type:["boolean"],default:!1},{name:"report-submit-timeout",type:["number"],default:0}]},input:{events:["bindinput","bindfocus","bindblur","bindconfirm","bindkeyboardheightchange"],attrs:[{name:"value",type:["string","number"]},{name:"type",type:["string"],default:"text",enum:["text","number","idcard","digit"]},{name:"password",type:["boolean"],default:!1},{name:"placeholder",type:["string","number"]},{name:"placeholder-style",type:["string"]},{name:"placeholder-class",type:["string"],default:"input-placeholder"},{name:"disabled",type:["boolean"],default:!1},{name:"maxlength",type:["number"],default:140},{name:"cursor-spacing",type:["number"],default:0},{name:"auto-focus",type:["boolean"],default:!1},{name:"focus",type:["boolean"],default:!1},{name:"confirm-type",type:["string"],default:"done",enum:["send","search","next","go","done"]},{name:"confirm-hold",type:["boolean"],default:!1},{name:"cursor",type:["number"]},{name:"selection-start",type:["number"],default:-1},{name:"selection-end",type:["number"],default:-1},{name:"adjust-position",type:["boolean"],default:!0},{name:"hold-keyboard",type:["boolean"],default:!1}]},label:{attrs:[{name:"for",type:["string"]}]},picker:{events:["bindcancel","bindchange","bindcolumnchange"],attrs:[{name:"mode",type:["string"],default:"selector",enum:["selector","multiSelector","time","date","region"]},{name:"disabled",type:["boolean"],default:!1},{name:"range",type:["array"]},{name:"range-key",type:["boolean"],string:!1},{name:"value",type:["number","array","string"]},{name:"start",type:["string","number"]},{name:"end",type:["string","number"]},{name:"fields",type:["string"],default:"day",enum:["year","month","day"]},{name:"custom-item",type:["string"]}]},"picker-view":{events:["bindchange","bindpickstart","bindpickend"],attrs:[{name:"value",type:["array"],default:"selector"},{name:"indicator-style",type:["string"]},{name:"indicator-class",type:["string"]},{name:"mask-style",type:["string"]},{name:"mask-class",type:["string"]}]},"picker-view-column":{attrs:[]},radio:{attrs:[{name:"value",type:["string","number"]},{name:"color",type:["string"],default:"#09BB07"},{name:"checked",type:["boolean"],default:!1},{name:"disabled",type:["boolean"],default:!1}]},"radio-group":{events:["bindchange"],attrs:[]},slider:{events:["bindchange","bindchanging"],attrs:[{name:"min",type:["number"],default:0},{name:"max",type:["number"],default:100},{name:"step",type:["number"],default:1},{name:"disabled",type:["boolean"],default:!1},{name:"value",type:["number"],default:0},{name:"color",type:["string"],default:"#e9e9e9"},{name:"selected-color",type:["string"],default:"#1aad19"},{name:"active-color",type:["string"],default:"#1aad19"},{name:"background-color",type:["string"],default:"#e9e9e9"},{name:"block-size",type:["number"],default:28},{name:"block-color",type:["string"],default:"#ffffff"},{name:"show-value",type:["boolean"],default:!1}]},switch:{events:["bindchange"],attrs:[{name:"checked",type:["boolean"],default:!1},{name:"disabled",type:["boolean"],default:!1},{name:"type",type:["string"],default:"switch"},{name:"color",type:["string"],default:"#04BE02"}]},textarea:{events:["bindfocus","bindblur","bindlinechange","bindinput","bindconfirm","bindkeyboardheightchange"],attrs:[{name:"value",type:["string"]},{name:"placeholder",type:["string","number"]},{name:"placeholder-style",type:["string"]},{name:"placeholder-class",type:["string"],default:"textarea-placeholde"},{name:"disabled",type:["boolean"],default:!1},{name:"maxlength",type:["number"],default:140},{name:"auto-focus",type:["boolean"],default:!1},{name:"focus",type:["boolean"],default:!1},{name:"auto-height",type:["boolean"],default:!1},{name:"fixed",type:["boolean"],default:!1},{name:"cursor-spacing",type:["number"],default:0},{name:"cursor",type:["number"],default:-1},{name:"show-confirm-bar",type:["boolean"],default:!1},{name:"selection-start",type:["number"],default:-1},{name:"selection-end",type:["number"],default:-1},{name:"adjust-position",type:["boolean"],default:!0},{name:"hold-keyboard",type:["boolean"],default:!1}]},"functional-page-navigator":{events:["bindsuccess","bindfail","bindcancel"],attrs:[{name:"version",type:["string"],default:"release"},{name:"name",type:["string"]},{name:"args",type:["object"]}]},navigator:{events:["bindsuccess","bindfail","bindcomplete"],attrs:[{name:"target",type:["string"],default:"self"},{name:"url",type:["string"]},{name:"open-type",type:["string"],default:"navigate",enum:["navigate","redirect","switchTab","reLaunch","navigateBack","exit"]},{name:"delta",type:["number"],default:1},{name:"app-id",type:["string"]},{name:"path",type:["string"]},{name:"extra-data",type:["object"]},{name:"version",type:["string"],default:"release",enum:["develop","trial","release"]},{name:"hover-class",type:["string"],default:"navigator-hover"},{name:"hover-stop-propagation",type:["boolean"],default:!1},{name:"hover-start-time",type:["number"],default:50},{name:"hover-stay-time",type:["number"],default:600}]},"open-data":{events:["binderror"],attrs:[{name:"type",type:["string"],enum:["groupName","userNickName","userAvatarUrl","userGender","userCity","userProvince","userCountry","userLanguage"]},{name:"open-gid",type:["string"]},{name:"lang",type:["string"],default:"en",enum:["en","zh_CN","zh_TW"]},{name:"default-text",type:["string"]},{name:"default-avatar",type:["string"]}]},"official-account":{events:["bindload","binderror"],attrs:[]},ad:{events:["bindload","binderror","bindclose"],attrs:[{name:"unit-id",type:["string"],required:!0},{name:"ad-intervals",type:["number"]}]},"web-view":{events:["bindmessage","bindload","binderror"],attrs:[{name:"src",type:["string"],checkPath:!0}]},canvas:{events:["bindtouchstart","bindtouchmove","bindtouchend","bindtouchcancel","bindlongtap","binderror"],attrs:[{name:"type",type:["string"]},{name:"canvas-id",type:["string"]},{name:"disable-scroll",type:["boolean"],default:!1}]},"navigation-bar":{events:[],attrs:[{name:"title",type:["string"]},{name:"loading",type:["boolean"],default:!1},{name:"front-color",type:["string"]},{name:"background-color",type:["string"]},{name:"color-animation-duration",type:["number"],default:0},{name:"page-style",type:["string"],default:""},{name:"color-animation-timing-func",type:["string"],default:"linear",enum:["linear","easeIn","easeOut","easeInOut"]}]},"page-meta":{events:["bindresize","bindscroll","bindscrolldone"],attrs:[{name:"background-text-style",type:["string"]},{name:"background-color",type:["string"]},{name:"background-color-top",type:["string"]},{name:"background-color-bottom",type:["string"]},{name:"scroll-top",type:["string"],default:""},{name:"scroll-duration",type:["number"],default:300},{name:"page-style",type:["string"],default:""},{name:"root-font-size",type:["string"],default:""}]},"ad-button":{events:["bindtap"],attrs:[{name:"adid",type:["string"],required:!0},{name:"adunitid",type:["string"],required:!0},{name:"valuetype",type:["number"],default:0},{name:"open-type",type:["number"],default:0}]}},tagRequiredParent={},tagRequiredAttrs={},tagAllowedAttrs={},tagAttrsAllowedType={},tagAttrsNeedCheckPath={},attrsNeedCombine={},URL_MATCH_REG_EXP=/url\s*\(\s*['"]?\s*([^\(\)]+?)\s*['"]?\s*\)/g,URL_CONTENT_REG_EXP=/url\s*\(\s*['"]?([^'"]*)['"]?\s*\)/;function initData(n){tagCommon.attrs.filter(function(e){return e.combDiectives}).forEach(function(e){return attrsNeedCombine[e.name]=e.combDiectives}),Object.keys(n).forEach(function(e){var t=n[e],a=t.attrs;t.parent&&t.parent.length&&(tagRequiredParent[e]=t.parent),tagRequiredAttrs[e]=a.filter(function(e){return e.required}),tagAllowedAttrs[e]=a.concat(tagCommon.attrs),tagAttrsAllowedType[e]=a.filter(function(e){return e.type}),tagAttrsNeedCheckPath[e]=a.filter(function(e){return e.checkPath}).map(function(e){return e.name})})}function getRelativePath(e,t){return path.relative(e,t).replace(/\\/g,"/")}function findIncldeTagSrcChain(e,t){for(var a,n=[],r=e.parentNode,o=t.rootPath,l=t.resourcePath;r;)"_@template@_"===r.nodeName.replace(/^q\-/,"")&&(a=r.attrs.filter(function(e){return"src"===e.name})[0])&&n.unshift(a.value),r=r.parentNode;return n.length&&(l=n.reduce(function(e,t){t=utils.getAbsPath(t,l,o).filePath;return l=t},"")),/\.hxml$/.test(l)?l:"".concat(l,".hxml")}function findIncludeSrcPath(e,t){var a=e;return/^\//.test(t)?{srcPath:e}:((e=e.split(/\/|\\/)).pop(),e=e.join("/"),{sourcePath:a,filePath:path.join(e,t).replace(/\\/g,"/")})}function checkSourcePath(e,t,a,n,r){var o;/^(https?:)?\/\//.test(t.value)||(o=t.value,e=e.tagName,tagAttrsNeedCheckPath[e].includes(t.name)&&fileExistHandle(e,t,a,n,r),"style"!==t.name)||"string"!=typeof o||o.includes("rpx")||checkStyleUrlPath(e,t,a,n,r)}function fileExistHandle(e,t,a,n,r){var o,l,i;return/^(https?:)?\/\//.test(t.value)||"string"==typeof t.value&&(l=n.rootPath,n=n.resourcePath,i=findIncludeSrcPath(r,o=t.value),n=utils.getAbsPath(o,n,l).filePath.replace(/\s/g,""),n=i&&i.filePath?i.filePath:n,fs.existsSync(n)?(i=getRelativePath(l,n),t.value="/".concat(i)):/^\/[^\/]+|(\.?\.\/)/.test(o)&&a.push({filePath:r,loc:t.loc||{start:0,end:0},reason:"WRANNING: Component <".concat(e,"> attribute '").concat(t.name,"' ")+"source path '".concat(t.value,"' is not exist, ")+"Please check."})),t.value}function checkStyleUrlPath(a,e,n,r,o){URL_MATCH_REG_EXP.test(e.value)&&(e.value=e.value.replace(URL_MATCH_REG_EXP,function(e){var t=e.replace(/(\\")|(\\')/g,"").match(URL_CONTENT_REG_EXP);return t?(t=fileExistHandle(a,{value:t[1],name:"style"},n,r,o),"url(".concat(t,")")):e}))}function checkAttrValType(e,t,a,n){var r=tagAttrsAllowedType[e].find(function(e){return e.name===t.name});r&&(r=r.type)&&(r=r.filter(function(e){return"boolean"!==e})).length&&!r.includes(getAttrValType(t.value))&&a.push({filePath:n,loc:t.loc,reason:"WRANNING: Component <".concat(e,"> attribute '").concat(t.name,"' ")+"value '".concat(t.value,"' is not allowed type: <").concat(getAttrValType(t.value),">, ")+"Use below types ".concat(JSON.stringify(r.join(", ")))})}function getAttrValType(e){try{var t;return/^{(:+)}$/.test(e)?"object":(t=vm.runInThisContext(e),Object.prototype.toString.call(t).slice(8,-1).toLowerCase())}catch(e){return"string"}}function isParentTagExist(e,t){for(var a=e.parentNode;a&&a.nodeName.replace(/^q\-/,"")!==t;)a=a.parentNode;return!!a}function checkTagName(e,t,a){var n=e.tagName,t=t.buildLog;tagRequiredParent[n]&&!isParentTagExist(e,e=tagRequiredParent[n])&&t.push({filePath:a,reason:"WRANING: Component <".concat(n,"> cant not find parent component: <").concat(e,">, ")+"Please check it"})}function checkAttrValInAllowedList(e,t,a,n,r){var o="number"===getAttrValType(t.value)?Number(t.value):t.value,n=("string"==typeof o&&(o=o.trim()),n.buildLog);a.includes(o)||n.push({filePath:r,loc:t.loc,reason:"WRANNING: Component <".concat(e,"> attribute '").concat(t.name,"' value '").concat(t.value,"' is not allowed,")+" Use below values \n ".concat(JSON.stringify(a.join(", ")))})}function checkElseIf(e,t,a,n){var r,o,l=!1;["has:else","has:elif"].includes(t.name)&&((o=e.parentNode.childNodes)&&1<o.length&&(r=o.indexOf(e),l=(o=o.slice(0,r)).length&&o.some(function(e){return e.attrs&&e.attrs.find(function(e){return"v-if"===e.name})})),l||(a.buildLog.push({filePath:n,loc:t.loc,trigger:ATTR_NAME,reason:"WRANNING: ".concat(t.name,"=").concat(t.value," used on element <").concat(e.tagName,"> ")+"without corresponding has:if."}),e.attrs.splice(e.attrs.indexOf(t),1)))}function checkAttrFor(e,t,a,n){var r,o,l=attrsNeedCombine[t.name];l&&(o=(r=e.attrs).indexOf(t),!r.find(function(e){return l.includes(e.name)}))&&(a.buildLog.push({filePath:n,loc:t.loc,trigger:ATTR_NAME,reason:"WRANNING: ".concat(t.name,"=").concat(t.value," used on element <").concat(e.tagName,"> ")+"without corresponding has:for."}),/^has:key$/.test(t.name))&&e.attrs.splice(o,1)}function checkAttrAllowed(e,t,a){return/^(v-|:)/.test(e.name)?(t.push({filePath:a,loc:e.loc,trigger:ATTR_NAME,reason:"WARNING: Unexpected attribute name: ".concat(e.name,", attribute can not start with 'v-' or ':'. ")}),!1):(["key"].includes(e.name)&&t.push({filePath:a,loc:e.loc,trigger:ATTR_NAME,reason:"WARNING: Unexpected JavaScript keyword as attribute name: '".concat(e.name,"', please change it.")}),!0)}function checkTagAttrs(a,n,r,o){var l,i,s=a.tagName,u=n.buildLog,e=a.attrs,m=tagAllowedAttrs[s],t=tagRequiredAttrs[s];m?(t.forEach(function(t){e.find(function(e){return e.name===t.name})||u.push({filePath:o,loc:a.loc,reason:"WRANNING: Component <".concat(s,"> missing required attribute '").concat(t.name,"'")})}),l=[],e.forEach(function(t){var e;checkAttrAllowed(t,u,o)&&l.push(t),!expUtils.isExpr(t.value)&&!utils.isEmptyStr(t.value)&&(/^data\-/.test(t.name)||(t.name=utils.camelCaseToHyphened(t.name)),e=m.find(function(e){return new RegExp("^".concat(e.name)).test(t.name)}))&&(e.enum?checkAttrValInAllowedList(s,t,e.enum,n,o):checkAttrValType(s,t,u,o),checkSourcePath(a,t,u,r,o)),checkElseIf(a,t,n,o),checkAttrFor(a,t,n,o)}),a.attrs=l):e&&0<e.length&&(i=[],e.forEach(function(e,t,a){checkAttrAllowed(e,u,o)&&i.push(e)}),a.attrs=i)}function checkNode(e,t,a){var n=findIncldeTagSrcChain(e,a);checkTagName(e,t,n),checkTagAttrs(e,t,a,n)}initData(tagComponentMap),module.exports={checkTagAttrs:checkTagAttrs,checkTagName:checkTagName,isParentTagExist:isParentTagExist,checkNode:checkNode,findIncldeTagSrcChain:findIncldeTagSrcChain,syncViewEventsMap:syncViewEventsMap};
1
+ var expUtils=require("./exp-utils"),fs=require("fs"),utils=require("./utils"),path=require("path"),vm=require("vm"),ATTR_NAME="ATTR_NAME",syncViewEventsMap={checkbox:["checked"],radio:["checked"],switch:["checked"],swiper:["current"],"picker-view":["value"],slider:["value"],progress:["percent"],video:["muted","initial-time"],"movable-view":["x","y","scale-value"],"scroll-view":["scroll-top","scroll-left","refresher-triggered"]},tagCommon={attrs:[{name:"id"},{name:"class"},{name:"style"},{name:"has:for"},{name:"has:if"},{name:"has:elif"},{name:"has:else"},{name:"has:key",combDiectives:["has:for","has:for-items"]},{name:"has:for-items"},{name:"has:for-index",combDiectives:["has:for","has:for-items"]},{name:"has:for-item",combDiectives:["has:for","has:for-items"]},{name:"data"},{name:"bind"},{name:"data"},{name:"data-"},{name:"catch"},{name:"capture-catch:"}]},tagComponentMap={map:{events:["bindtap","bindmarketap","bindlabeltap","bindcontroltap","bindcallouttap","bindupdated","bindregionchange","bindpoitap"],attrs:[{name:"longitude",type:["number"],required:!0},{name:"latitude",type:["number"],required:!0},{name:"scale",type:["number"],default:16,enum:[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]},{name:"marker",type:["array"]},{name:"cover",type:["array"]},{name:"polyline",type:["array"]},{name:"circles",type:["array"]},{name:"controls",type:["array"]},{name:"include-points",type:["array"]},{name:"show-location",type:["boolean"],default:!1},{name:"polygons",type:["array"]},{name:"subkey",type:["string"]},{name:"layer-style",type:["number"],default:1},{name:"rotate",type:["number"],default:0},{name:"skew",type:["number"],default:0},{name:"show-compass",type:["boolean"],default:!1},{name:"enable-3D",type:["boolean"],default:!1},{name:"show-scale",type:["boolean"],default:!1},{name:"enable-overlooking",type:["boolean"],default:!1},{name:"enable-zoom",type:["boolean"],default:!0},{name:"enable-sttellite",type:["boolean"],default:!1},{name:"enable-traffic",type:["boolean"],default:!1},{name:"enable-scroll",type:["boolean"],default:!0},{name:"enable-rotate",type:["boolean"],default:!1},{name:"setting",type:["object"]}]},video:{events:["bindplay","bindpause","bindended","bindtimeupdate","bindfullscreenchange","bindwating","binderror","bindprogress","bindloadmetadata"],attrs:[{name:"src",type:["string"],checkPath:!0,required:!0},{name:"duration",type:["number"]},{name:"controls",type:["boolean"],default:!0},{name:"danmu-list",type:["array"]},{name:"danmu-list",type:["array"]},{name:"danmu-button",type:["boolean"],default:!1},{name:"enable-danmu",type:["boolean"],default:!1},{name:"autoplay",type:["boolean"],default:!1},{name:"loop",type:["boolean"],default:!1},{name:"muted",type:["boolean"],default:!1},{name:"initial-time",type:["number"],default:0},{name:"page-gesture",type:["boolean"],default:!1},{name:"object-fit",type:["string"],default:"contain",enum:["contain","fill","cover"]},{name:"poster",type:["string"],checkPath:!0},{name:"direction",type:["number"],enum:[0,-90,90]},{name:"show-progress",type:["boolean"],default:!0},{name:"show-fullscreen-btn",type:["boolean"],default:!0},{name:"show-play-btn",type:["boolean"],default:!0},{name:"show-center-play-btn",type:["boolean"],default:!0},{name:"enable-prgress-gesture",type:["boolean"],default:!0},{name:"show-mute-btn",type:["boolean"],default:!1},{name:"title",type:["string"]},{name:"play-btn-postion",type:["string"],default:"buttom",enum:["buttom","center"]},{name:"enable-play-gesture",type:["boolean"],default:!1},{name:"auto-pause-if-navigate",type:["boolean"],default:!0},{name:"auto-pause-if-open-native",type:["boolean"],default:!0},{name:"vslide-gesture",type:["boolean"],default:!1},{name:"vslide-gesture-in-fullscreen",type:["boolean"],default:!0},{name:"ad-unit-id",type:["string"]}]},"live-pusher":{events:["bindstatechange","bindnetstatus","binderror","bindbgmstart","bindbgmprogress","bindbgmcomplete"],attrs:[{name:"url",type:["string"],checkPath:!0},{name:"mode",type:["string"],default:"live",enum:["live","RTC"]},{name:"autopush",type:["boolean"],default:!1},{name:"muted",type:["boolean"],default:!1},{name:"enable-camera",type:["boolean"],default:!0},{name:"atuo-foucus",type:["boolean"],default:!0},{name:"orientation",type:["string"],default:"vertical",enum:["vertical","horizontal"]},{name:"beauty",type:["number"],default:0,enum:[0,1,2,3,4,5,6,7,8,9]},{name:"whiteness",type:["number"],default:0,enum:[0,1,2,3,4,5,6,7,8,9]},{name:"aspect",type:["string"],default:"9:16",enum:["9:16","3:4"]},{name:"mini-bitrate",type:["number"],default:200},{name:"max-bitrate",type:["number"],default:1e3},{name:"audio-quality",type:["string"],default:"high",enum:["low","high"]},{name:"waiting-image",type:["string"]},{name:"waiting-image-hash",type:["string"]},{name:"zoom",type:["boolean"],default:!1},{name:"device-position",type:["string"],default:"front",enum:["front","back"]},{name:"background-mute",type:["boolean"],default:!1},{name:"mirror",type:["boolean"],default:!1}]},"live-player":{events:["bindstatechange","bindfullscreenchange","bindnetstatus"],attrs:[{name:"src",type:["string"],checkPath:!0},{name:"mode",type:["string"],default:"RTC",enum:["HD","FHD","SD","RTC"]},{name:"autoplay",type:["boolean"],default:!1},{name:"muted",type:["boolean"],default:!1},{name:"orientation",type:["string"],default:"vertical",enum:["vertical","horizontal"]},{name:"object-fit",type:["string"],default:"contain",enum:["contain","fillCrop"]},{name:"background-mute",type:["boolean"],default:!1},{name:"min-cache",type:["number"],default:1},{name:"min-cache",type:["number"],default:3},{name:"sound-mode",type:["string"],default:"speaker",enum:["speaker","ear"]},{name:"auto-pause-if-open-native",type:["boolean"],default:!0},{name:"auto-pause-if-navigate",type:["boolean"],default:!0}]},camrea:{events:["bindstop","binderror","bindinitdone","bindscancode"],attrs:[{name:"mode",type:["boolean"],default:"normal",enum:["front","back"]},{name:"device-position",type:["string"],default:"back"},{name:"flash",type:["string"],default:"auto",enum:["auto","on","off","torch"]},{name:"frame-size",type:["string"],default:"medium",enum:["small","medium","large"]},{name:"flash",type:["string"],default:"auto"}]},view:{attrs:[{name:"hover-class",type:["string"],default:"node"},{name:"hover-stop-propagation",type:["boolean"],default:!1},{name:"hover-start-time",type:["number"],default:50},{name:"hover-stay-time",type:["number"],default:400}]},"scroll-view":{events:["bindscrolltoupper","bindscrolltolower","bindscroll"],attrs:[{name:"scroll-x",type:["boolean"],default:!1},{name:"scroll-y",type:["boolean"],default:!1},{name:"upper-threshold",type:["number","string"],default:50},{name:"lower-threshold",type:["number","string"],default:50},{name:"scroll-top",type:["number","string"]},{name:"scroll-left",type:["number","string"]},{name:"scroll-into-view",type:["string"]},{name:"scroll-with-animation",type:["boolean"],default:!1},{name:"scroll-flex",type:["boolean"],default:!1},{name:"scroll-anchoring",type:["boolean"],default:!1}]},"movable-area":{attrs:[{name:"scale-area",type:["boolean"],default:!1}]},"movable-view":{events:["bindchange","bindscale","htouchmove","vtouchmove"],attrs:[{name:"direction",type:["string"],default:"none"},{name:"inertia",type:["boolean"],default:!1},{name:"out-of-bounds",type:["boolean"],default:!1},{name:"x",type:["number"]},{name:"y",type:["number"]},{name:"damping",type:["number"],default:20},{name:"friction",type:["number"],default:2},{name:"disabled",type:["boolean"],default:!1},{name:"scale",type:["boolean"],default:!1},{name:"scale-min",type:["number"],default:.5},{name:"scale-max",type:["number"],default:10},{name:"scale-value",type:["number"],default:1},{name:"animation",type:["boolean"],default:!0}]},audio:{events:["binderror","bindplay","bindpause","bindtimeupdate","bindended"],attrs:[{name:"id",type:["string"]},{name:"src",type:["string"],checkPath:!0},{name:"loop",type:["boolean"],default:!1},{name:"controls",type:["boolean"],default:!1},{name:"poster",type:["string"],checkPath:!0},{name:"name",type:["string"]},{name:"author",type:["string"]}]},progress:{events:["bindactiveend"],attrs:[{name:"percent",type:["number"]},{name:"show-info",type:["boolean"],default:!1},{name:"border-radius",type:["number","string"],default:0},{name:"font-size",type:["number","string"],default:16},{name:"stroke-width",type:["number","string"],default:6},{name:"color",type:["string"],default:"#09BB07"},{name:"active-color",type:["string"],default:"#09BB07"},{name:"backgroundColor",type:["string"],default:"#EBEBEB"},{name:"active",type:["boolean"],default:!1},{name:"active-mode",type:["string"],default:"backwards"},{name:"durations",type:["number"],default:30}]},"rich-text":{attrs:[{name:"nodes",type:["array","string"],default:[]},{name:"space",type:["string"]}]},text:{attrs:[{name:"autoplay",type:["boolean"],default:!1},{name:"autoplay",type:["string"]},{name:"decode",type:["boolean"],default:!1}]},swiper:{events:["bindchang","bindtransition","bindanimationfinish"],attrs:[{name:"indicator-dots",type:["boolean"],default:!1},{name:"indicator-color",type:["string"],default:"rgba(0, 0, 0, .3)"},{name:"indicator-active-color",type:["string"],default:"#000000"},{name:"autoplay",type:["boolean"],default:!1},{name:"current",type:["number","string"],default:0},{name:"interval",type:["number","string"],default:5e3},{name:"duration",type:["number","string"],default:500},{name:"vertical",type:["boolean"],default:!1},{name:"circular",type:["boolean"],default:!1},{name:"previous-margin",type:["string","number"],default:"0px"},{name:"next-margin",type:["string","number"],default:"0px"},{name:"display-multiple-items",type:["number"],default:1},{name:"skip-hidden-item-layout",type:["boolean"],default:!1},{name:"easing-function",type:["string"],default:"default",enum:["default","linear","easeInCubic","easeOutCubic","easeInOutCubic"]}]},"swiper-item":{parent:"swiper",attrs:[{name:"item-id"}]},image:{events:["binderror","bindload"],attrs:[{name:"src",checkPath:!0},{name:"mode"},{name:"webp"},{name:"lazy-load"},{name:"show-menu-by-longpress"}]},icon:{attrs:[{name:"type",type:["string"]},{name:"size",type:["number","string"],default:23},{name:"color",type:["string"]}]},"cover-image":{attrs:[{name:"src",required:!0,checkPath:!0}],events:["bindload","binderror"]},"cover-view":{attrs:[{name:"scroll-top",type:["number","string"]}]},checkbox:{attrs:[{name:"value",type:["string","number"]},{name:"disabled",type:["boolean"],default:!1},{name:"checked",type:["boolean"],default:!1},{name:"color",type:["string"],default:"#09BB07"}]},button:{events:["bindgetuserinfo","bindcontact","bindgetphonenumber","binderror","bindopensetting","bindlaunchapp"],attrs:[{name:"size",type:["string"],default:"default",enum:["default","mini"]},{name:"type",type:["string"],default:"default",enum:["primary","default","warn"]},{name:"plain",type:["boolean"],default:!1},{name:"disabled",type:["boolean"],default:!1},{name:"loading",type:["boolean"],default:!1},{name:"form-type",type:["string"],enum:["submit","reset"]},{name:"open-type",type:["string"],enum:["contact","share","getPhoneNumber","getUserInfo","launchApp","openSetting","feedback"]},{name:"hover-class",type:["string"],default:"button-hover"},{name:"hover-stop-propagation",type:["boolean"],default:!1},{name:"hover-start-time",type:["number"],default:20},{name:"hover-stay-time",type:["number"],default:70},{name:"lang",type:["string"],default:"en",enum:["en","zh_CN","zh_TW"]},{name:"session-from",type:["string"]},{name:"send-message-title",type:["string"]},{name:"send-message-path",type:["string"]},{name:"send-message-img",type:["string"]},{name:"app-parameter",type:["string"]},{name:"show-message-card",type:["boolean"],default:!1}]},"checkbox-group":{events:["bindchange"],attrs:[]},editor:{events:["bindready","bindfocus","bindblur","bindinput","bindstatuschange"],attrs:[{name:"read-only",type:["boolean"],default:!1},{name:"placeholder",type:["string","number"]},{name:"show-img-size",type:["boolean"],default:!1},{name:"show-img-toolbar",type:["boolean"],default:!1},{name:"show-img-resize",type:["boolean"],default:!1}]},form:{events:["bindsubmit","bindreset"],attrs:[{name:"report-submit",type:["boolean"],default:!1},{name:"report-submit-timeout",type:["number"],default:0}]},input:{events:["bindinput","bindfocus","bindblur","bindconfirm","bindkeyboardheightchange"],attrs:[{name:"value",type:["string","number"]},{name:"type",type:["string"],default:"text",enum:["text","number","idcard","digit"]},{name:"password",type:["boolean"],default:!1},{name:"placeholder",type:["string","number"]},{name:"placeholder-style",type:["string"]},{name:"placeholder-class",type:["string"],default:"input-placeholder"},{name:"disabled",type:["boolean"],default:!1},{name:"maxlength",type:["number"],default:140},{name:"cursor-spacing",type:["number"],default:0},{name:"auto-focus",type:["boolean"],default:!1},{name:"focus",type:["boolean"],default:!1},{name:"confirm-type",type:["string"],default:"done",enum:["send","search","next","go","done"]},{name:"confirm-hold",type:["boolean"],default:!1},{name:"cursor",type:["number"]},{name:"selection-start",type:["number"],default:-1},{name:"selection-end",type:["number"],default:-1},{name:"adjust-position",type:["boolean"],default:!0},{name:"hold-keyboard",type:["boolean"],default:!1}]},label:{attrs:[{name:"for",type:["string"]}]},picker:{events:["bindcancel","bindchange","bindcolumnchange"],attrs:[{name:"mode",type:["string"],default:"selector",enum:["selector","multiSelector","time","date","region"]},{name:"disabled",type:["boolean"],default:!1},{name:"range",type:["array"]},{name:"range-key",type:["boolean"],string:!1},{name:"value",type:["number","array","string"]},{name:"start",type:["string","number"]},{name:"end",type:["string","number"]},{name:"fields",type:["string"],default:"day",enum:["year","month","day"]},{name:"custom-item",type:["string"]}]},"picker-view":{events:["bindchange","bindpickstart","bindpickend"],attrs:[{name:"value",type:["array"],default:"selector"},{name:"indicator-style",type:["string"]},{name:"indicator-class",type:["string"]},{name:"mask-style",type:["string"]},{name:"mask-class",type:["string"]}]},"picker-view-column":{attrs:[]},radio:{attrs:[{name:"value",type:["string","number"]},{name:"color",type:["string"],default:"#09BB07"},{name:"checked",type:["boolean"],default:!1},{name:"disabled",type:["boolean"],default:!1}]},"radio-group":{events:["bindchange"],attrs:[]},slider:{events:["bindchange","bindchanging"],attrs:[{name:"min",type:["number"],default:0},{name:"max",type:["number"],default:100},{name:"step",type:["number"],default:1},{name:"disabled",type:["boolean"],default:!1},{name:"value",type:["number"],default:0},{name:"color",type:["string"],default:"#e9e9e9"},{name:"selected-color",type:["string"],default:"#1aad19"},{name:"active-color",type:["string"],default:"#1aad19"},{name:"background-color",type:["string"],default:"#e9e9e9"},{name:"block-size",type:["number"],default:28},{name:"block-color",type:["string"],default:"#ffffff"},{name:"show-value",type:["boolean"],default:!1}]},switch:{events:["bindchange"],attrs:[{name:"checked",type:["boolean"],default:!1},{name:"disabled",type:["boolean"],default:!1},{name:"type",type:["string"],default:"switch"},{name:"color",type:["string"],default:"#04BE02"}]},textarea:{events:["bindfocus","bindblur","bindlinechange","bindinput","bindconfirm","bindkeyboardheightchange"],attrs:[{name:"value",type:["string"]},{name:"placeholder",type:["string","number"]},{name:"placeholder-style",type:["string"]},{name:"placeholder-class",type:["string"],default:"textarea-placeholde"},{name:"disabled",type:["boolean"],default:!1},{name:"maxlength",type:["number"],default:140},{name:"auto-focus",type:["boolean"],default:!1},{name:"focus",type:["boolean"],default:!1},{name:"auto-height",type:["boolean"],default:!1},{name:"fixed",type:["boolean"],default:!1},{name:"cursor-spacing",type:["number"],default:0},{name:"cursor",type:["number"],default:-1},{name:"show-confirm-bar",type:["boolean"],default:!1},{name:"selection-start",type:["number"],default:-1},{name:"selection-end",type:["number"],default:-1},{name:"adjust-position",type:["boolean"],default:!0},{name:"hold-keyboard",type:["boolean"],default:!1}]},"functional-page-navigator":{events:["bindsuccess","bindfail","bindcancel"],attrs:[{name:"version",type:["string"],default:"release"},{name:"name",type:["string"]},{name:"args",type:["object"]}]},navigator:{events:["bindsuccess","bindfail","bindcomplete"],attrs:[{name:"target",type:["string"],default:"self"},{name:"url",type:["string"]},{name:"open-type",type:["string"],default:"navigate",enum:["navigate","redirect","switchTab","reLaunch","navigateBack","exit"]},{name:"delta",type:["number"],default:1},{name:"app-id",type:["string"]},{name:"path",type:["string"]},{name:"extra-data",type:["object"]},{name:"version",type:["string"],default:"release",enum:["develop","trial","release"]},{name:"hover-class",type:["string"],default:"navigator-hover"},{name:"hover-stop-propagation",type:["boolean"],default:!1},{name:"hover-start-time",type:["number"],default:50},{name:"hover-stay-time",type:["number"],default:600}]},"open-data":{events:["binderror"],attrs:[{name:"type",type:["string"],enum:["groupName","userNickName","userAvatarUrl","userGender","userCity","userProvince","userCountry","userLanguage"]},{name:"open-gid",type:["string"]},{name:"lang",type:["string"],default:"en",enum:["en","zh_CN","zh_TW"]},{name:"default-text",type:["string"]},{name:"default-avatar",type:["string"]}]},"official-account":{events:["bindload","binderror"],attrs:[]},ad:{events:["bindload","binderror","bindclose"],attrs:[{name:"unit-id",type:["string"],required:!0},{name:"ad-intervals",type:["number"]}]},"web-view":{events:["bindmessage","bindload","binderror"],attrs:[{name:"src",type:["string"],checkPath:!0}]},canvas:{events:["bindtouchstart","bindtouchmove","bindtouchend","bindtouchcancel","bindlongtap","binderror"],attrs:[{name:"type",type:["string"]},{name:"canvas-id",type:["string"]},{name:"disable-scroll",type:["boolean"],default:!1}]},"navigation-bar":{events:[],attrs:[{name:"title",type:["string"]},{name:"loading",type:["boolean"],default:!1},{name:"front-color",type:["string"]},{name:"background-color",type:["string"]},{name:"color-animation-duration",type:["number"],default:0},{name:"page-style",type:["string"],default:""},{name:"color-animation-timing-func",type:["string"],default:"linear",enum:["linear","easeIn","easeOut","easeInOut"]}]},"page-meta":{events:["bindresize","bindscroll","bindscrolldone"],attrs:[{name:"background-text-style",type:["string"]},{name:"background-color",type:["string"]},{name:"background-color-top",type:["string"]},{name:"background-color-bottom",type:["string"]},{name:"scroll-top",type:["string"],default:""},{name:"scroll-duration",type:["number"],default:300},{name:"page-style",type:["string"],default:""},{name:"root-font-size",type:["string"],default:""}]},"ad-button":{events:["bindtap"],attrs:[{name:"adid",type:["string"],required:!0},{name:"adunitid",type:["string"],required:!0},{name:"valuetype",type:["number"],default:0},{name:"open-type",type:["number"],default:0}]}},tagRequiredParent={},tagRequiredAttrs={},tagAllowedAttrs={},tagAttrsAllowedType={},tagAttrsNeedCheckPath={},attrsNeedCombine={},URL_MATCH_REG_EXP=/url\s*\(\s*['"]?\s*([^\(\)]+?)\s*['"]?\s*\)/g,URL_CONTENT_REG_EXP=/url\s*\(\s*['"]?([^'"]*)['"]?\s*\)/;function initData(n){tagCommon.attrs.filter(function(e){return e.combDiectives}).forEach(function(e){return attrsNeedCombine[e.name]=e.combDiectives}),Object.keys(n).forEach(function(e){var t=n[e],a=t.attrs;t.parent&&t.parent.length&&(tagRequiredParent[e]=t.parent),tagRequiredAttrs[e]=a.filter(function(e){return e.required}),tagAllowedAttrs[e]=a.concat(tagCommon.attrs),tagAttrsAllowedType[e]=a.filter(function(e){return e.type}),tagAttrsNeedCheckPath[e]=a.filter(function(e){return e.checkPath}).map(function(e){return e.name})})}function getRelativePath(e,t){return path.relative(e,t).replace(/\\/g,"/")}function findIncldeTagSrcChain(e,t){for(var a,n=[],r=e.parentNode,o=t.rootPath,l=t.resourcePath;r;)"_@template@_"===r.nodeName.replace(/^q\-/,"")&&(a=r.attrs.filter(function(e){return"src"===e.name})[0])&&n.unshift(a.value),r=r.parentNode;return n.length&&(l=n.reduce(function(e,t){t=utils.getAbsPath(t,l,o).filePath;return l=t},"")),/\.hxml$/.test(l)?l:"".concat(l,".hxml")}function findIncludeSrcPath(e,t){var a=e;return/^\//.test(t)?{srcPath:e}:((e=e.split(/\/|\\/)).pop(),e=e.join("/"),{sourcePath:a,filePath:path.join(e,t).replace(/\\/g,"/")})}function checkSourcePath(e,t,a,n,r){var o;/^(https?:)?\/\//.test(t.value)||(o=t.value,e=e.tagName,tagAttrsNeedCheckPath[e].includes(t.name)&&fileExistHandle(e,t,a,n,r),"style"!==t.name)||"string"!=typeof o||o.includes("rpx")||checkStyleUrlPath(e,t,a,n,r)}function fileExistHandle(e,t,a,n,r){var o,l,i;return/^(https?:)?\/\//.test(t.value)||"string"==typeof t.value&&(l=n.rootPath,n=n.resourcePath,i=findIncludeSrcPath(r,o=t.value),n=utils.getAbsPath(o,n,l).filePath.replace(/\s/g,""),n=i&&i.filePath?i.filePath:n,fs.existsSync(n)?(i=getRelativePath(l,n),t.value="/".concat(i)):/^\/[^\/]+|(\.?\.\/)/.test(o)&&a.push({filePath:r,loc:t.loc||{start:0,end:0},reason:"WRANNING: Component <".concat(e,"> attribute '").concat(t.name,"' ")+"source path '".concat(t.value,"' is not exist, ")+"Please check."})),t.value}function checkStyleUrlPath(a,e,n,r,o){URL_MATCH_REG_EXP.test(e.value)&&(e.value=e.value.replace(URL_MATCH_REG_EXP,function(e){var t=e.replace(/(\\")|(\\')/g,"").match(URL_CONTENT_REG_EXP);return t?(t=fileExistHandle(a,{value:t[1],name:"style"},n,r,o),"url(".concat(t,")")):e}))}function checkAttrValType(e,t,a,n){var r=tagAttrsAllowedType[e].find(function(e){return e.name===t.name});r&&(r=r.type)&&(r=r.filter(function(e){return"boolean"!==e})).length&&!r.includes(getAttrValType(t.value))&&a.push({filePath:n,loc:t.loc,reason:"WRANNING: Component <".concat(e,"> attribute '").concat(t.name,"' ")+"value '".concat(t.value,"' is not allowed type: <").concat(getAttrValType(t.value),">, ")+"Use below types ".concat(JSON.stringify(r.join(", ")))})}function getAttrValType(e){try{var t;return/^{(:+)}$/.test(e)?"object":(t=vm.runInThisContext(e),Object.prototype.toString.call(t).slice(8,-1).toLowerCase())}catch(e){return"string"}}function isParentTagExist(e,t){for(var a=e.parentNode;a&&a.nodeName.replace(/^q\-/,"")!==t;)a=a.parentNode;return!!a}function checkTagName(e,t,a){var n=e.tagName,t=t.buildLog;tagRequiredParent[n]&&!isParentTagExist(e,e=tagRequiredParent[n])&&t.push({filePath:a,reason:"WRANING: Component <".concat(n,"> cant not find parent component: <").concat(e,">, ")+"Please check it"})}function checkAttrValInAllowedList(e,t,a,n,r){var o="number"===getAttrValType(t.value)?Number(t.value):t.value,n=("string"==typeof o&&(o=o.trim()),n.buildLog);a.includes(o)||n.push({filePath:r,loc:t.loc,reason:"WRANNING: Component <".concat(e,"> attribute '").concat(t.name,"' value '").concat(t.value,"' is not allowed,")+" Use below values \n ".concat(JSON.stringify(a.join(", ")))})}function checkElseIf(e,t,a,n){var r,o,l=!1;["has:else","has:elif"].includes(t.name)&&((o=e.parentNode.childNodes)&&1<o.length&&(r=o.indexOf(e),l=(o=o.slice(0,r)).length&&o.some(function(e){return e.attrs&&e.attrs.find(function(e){return"v-if"===e.name})})),l||(a.buildLog.push({filePath:n,loc:t.loc,trigger:ATTR_NAME,reason:"WRANNING: ".concat(t.name,"=").concat(t.value," used on element <").concat(e.tagName,"> ")+"without corresponding has:if."}),e.attrs.splice(e.attrs.indexOf(t),1)))}function checkAttrFor(e,t,a,n){var r,o,l=attrsNeedCombine[t.name];l&&(o=(r=e.attrs).indexOf(t),!r.find(function(e){return l.includes(e.name)}))&&(a.buildLog.push({filePath:n,loc:t.loc,trigger:ATTR_NAME,reason:"WRANNING: ".concat(t.name,"=").concat(t.value," used on element <").concat(e.tagName,"> ")+"without corresponding has:for."}),/^has:key$/.test(t.name))&&e.attrs.splice(o,1)}function checkAttrAllowed(e,t,a){return/^(v-|:)/.test(e.name)?(t.push({filePath:a,loc:e.loc,trigger:ATTR_NAME,reason:"WARNING: Unexpected attribute name: ".concat(e.name,", attribute can not start with 'v-' or ':'. ")}),!1):(["key"].includes(e.name)&&t.push({filePath:a,loc:e.loc,trigger:ATTR_NAME,reason:"WARNING: Unexpected JavaScript keyword as attribute name: '".concat(e.name,"', please change it.")}),!0)}function checkTagAttrs(a,n,r,o){var l,i,s=a.tagName,u=n.buildLog,e=a.attrs,m=tagAllowedAttrs[s],t=tagRequiredAttrs[s];m?(t.forEach(function(t){e.find(function(e){return e.name===t.name})||u.push({filePath:o,loc:a.loc,reason:"WRANNING: Component <".concat(s,"> missing required attribute '").concat(t.name,"'")})}),l=[],e.forEach(function(t){var e;checkAttrAllowed(t,u,o)&&l.push(t),!expUtils.isExpr(t.value)&&!utils.isEmptyStr(t.value)&&(/^data\-/.test(t.name)||(t.name=utils.camelCaseToHyphened(t.name)),e=m.find(function(e){return new RegExp("^".concat(e.name)).test(t.name)}))&&(e.enum?checkAttrValInAllowedList(s,t,e.enum,n,o):checkAttrValType(s,t,u,o),checkSourcePath(a,t,u,r,o)),checkElseIf(a,t,n,o),checkAttrFor(a,t,n,o)}),a.attrs=l):e&&0<e.length&&(i=[],e.forEach(function(e,t,a){checkAttrAllowed(e,u,o)&&i.push(e)}),a.attrs=i)}function checkNode(e,t,a){var n=findIncldeTagSrcChain(e,a);checkTagName(e,t,n),checkTagAttrs(e,t,a,n)}initData(tagComponentMap),module.exports={checkTagAttrs:checkTagAttrs,checkTagName:checkTagName,isParentTagExist:isParentTagExist,checkNode:checkNode,findIncldeTagSrcChain:findIncldeTagSrcChain,syncViewEventsMap:syncViewEventsMap};
@@ -0,0 +1 @@
1
+ function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var Ajv=require("ajv"),_require=require("../../common/utils"),readJsonFile=_require.readJsonFile,path=require("path"),log4js=require("../../common/log4js.js"),logger=log4js.getLogger("json-validator"),ascfBasePath=require.resolve("@atomicservice/ascf-base"),schemaTypeList=["app","ascf.config"];function safePrint(o){if(null!=o&&"object"===_typeof(o))try{return JSON.stringify(o)}catch(e){return logger.error("Unable to serialize the object"),o}return String(o)}function getObjectValueFromStr(e,o){return((null==o?void 0:o.split("."))||[]).reduce(function(e,o){return e&&e[o]},e)}exports.checkFromSchema=function(e,n){var c,o=new Ajv({strict:!1,allErrors:!0,allowUnionTypes:!0,keywords:["markdownDescription"]}),t=schemaTypeList.includes(e)?e:"page_component",t=readJsonFile(path.join(ascfBasePath,"../schemas/".concat(t,".schema.json"))),o=o.compile(t);o(n=n||{})||(c="ERROR in ".concat(e,".json.\n\nValidationError: Invalid configuration object.\n\n"),o.errors.forEach(function(e){var o=e.instancePath.split("/").join("."),t=getObjectValueFromStr(n,o.slice(1)),o="config"+o,r=e.params.allowedValues||e.params.type;c+=(r?"- ".concat(o,"\n\t-> Expected: ").concat(r,"\n\t-> received: "):"- ".concat(o,"\n\t-> ").concat(e.message,"\n\t-> received: ")).concat(safePrint(t),"(").concat(_typeof(t),")\n\n")}),logger.fatal(c))};
@@ -1 +1 @@
1
- function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArrayLimit(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o,r,a,c,s=[],i=!0,p=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;i=!1}else for(;!(i=(o=a.call(n)).done)&&(s.push(o.value),s.length!==t);i=!0);}catch(e){p=!0,r=e}finally{try{if(!i&&null!=n.return&&(c=n.return(),Object(c)!==c))return}finally{if(p)throw r}}return s}}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _createForOfIteratorHelper(e,t){var n,o,r,a,c="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(c)return r=!(o=!0),{s:function(){c=c.call(e)},n:function(){var e=c.next();return o=e.done,e},e:function(e){r=!0,n=e},f:function(){try{o||null==c.return||c.return()}finally{if(r)throw n}}};if(Array.isArray(e)||(c=_unsupportedIterableToArray(e))||t&&e&&"number"==typeof e.length)return c&&(e=c),a=0,{s:t=function(){},n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var n;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(n="Object"===(n={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(e,t):void 0}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);n<t;n++)o[n]=e[n];return o}function _defineProperty(e,t,n){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);n=n.call(e,t||"default");if("object"!=_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}var path=require("path"),_require=require("../../common/utils"),readJsonFile=_require.readJsonFile,getProjectInfo=_require.getProjectInfo,_require2=require("../../common/config"),configs=_require2.configs,_packOptions=require("./packoptions-utils"),utils=require("../common/utils"),fs=require("fs"),_require3=require("../../common/version-check"),isAscfHspSatisfied=_require3.isAscfHspSatisfied,log4js=require("../../common/log4js"),logger=log4js.getLogger("manifest-handler"),APP="app",APP_TYPE="webapp";function handleUsingComponents(e,t){if(e){var n,o,r=getProjectInfo().ascfSrcPath;for(n in e)Object.prototype.hasOwnProperty.call(e,n)&&(o=e[n].trim(),e[n]=utils.getProjectAbsPath(o,t,r))}}function checkTabBarPath(e){var t,r,a=getProjectInfo().ascfSrcPath,c=["iconPath","selectedIconPath","pagePath"],n=(null==(n=e.tabBar)?void 0:n.list)||[],e=e.subPackages||e.subpackages||[];0!==n.length&&0!==e.length&&(utils.hasDuplicatePath(n),t=e.map(function(e){return e.root}).filter(function(e){return e}),r=[],n.forEach(function(o){t.forEach(function(n){c.forEach(function(e){var t;path.join(a,null!=(t=o[e])?t:"").startsWith(path.join(a,n,"/"))&&r.push("ERROR: tabBar ".concat(o.text," ").concat(e," cannot be in the subpackage directory"))})})}),0<r.length)&&(r.forEach(function(e){logger.error(e)}),logger.error("ERROR: modify app.json tabBar and recompile it"))}function checkCommonPackage(e){e.subpackages&&0<(null==(e=e.subpackages.filter(function(e){return null==e?void 0:e.common}))?void 0:e.length)&&isAscfHspSatisfied(10008300)}function readAppJson(e){var t=_defineProperty({},APP,new Map),n=getProjectInfo(),n=path.join(n.ascfSrcPath,"app.json");if(!fs.existsSync(n))throw"ERROR: Can not resolve file : app.json";var o=readJsonFile(n),o=configs.disableSubpackages?mergeSubPkgs(o):o,r=(e&&(checkCommonPackage(o),checkTabBarPath(o)),handleAppType(o),handleUsingComponents(o.usingComponents,n),o.page={},o.independentList=[],[]);if(!o.pages||o.pages.length<=0)throw"ERROR: app.json doesn't contain any page.";if(hasCustomTabBar(o)){var a,n=path.resolve(getProjectInfo().ascfSrcPath,"custom-tab-bar","index.json"),n=readJsonFile(n),c=(configs.tabBarUsingComponents=n.usingComponents,_createForOfIteratorHelper(o.tabBar.list));try{for(c.s();!(a=c.n()).done;){var s=a.value;configs.tabBarList.push(s.pagePath)}}catch(e){c.e(e)}finally{c.f()}}n={packgaePath:"",subpackage:o.subpackages||o.subPackages||[]},putPageInfoToEntryList(o.pages,"",!1,o,t[APP],n,e),n=["subpackages","subPackages"].find(function(e){return Object.prototype.hasOwnProperty.call(o,e)});if(r.length){n&&delete o[n];var i,p=_createForOfIteratorHelper(o.subpackages=r);try{for(p.s();!(i=p.n()).done;){var l=i.value,u=new Map,f={packgaePath:l.root,subpackage:l};t[l.root]=u,putPageInfoToEntryList(l.pages,l.root,l.independent,o,u,f,e)}}catch(e){p.e(e)}finally{p.f()}}else if(n){r=o[n],delete o[n];var h,g=_createForOfIteratorHelper(o.subpackages=r);try{for(g.s();!(h=g.n()).done;){var m=h.value,y=new Map,d={packgaePath:m.root,subpackage:r};t[m.root]=y,putPageInfoToEntryList(m.pages,m.root,m.independent,o,y,d,e)}}catch(e){g.e(e)}finally{g.f()}}return handingCustomTabBar(o),{manifest:o,projectComponentsMap:t}}function handleAppType(e){var t;e.type=null!=(t=null!=(t=e.type)?t:e.appType)?t:APP_TYPE,delete e.appType}function hasCustomTabBar(e){return(e.tabBar||{}).custom&&fs.existsSync(path.resolve(getProjectInfo().ascfSrcPath,"custom-tab-bar/index.hxml"))}function handingCustomTabBar(e){if(hasCustomTabBar(e)){var t,n=_createForOfIteratorHelper(e.tabBar.list);try{for(n.s();!(t=n.n()).done;){var o=t.value;if(!e.page[o.pagePath])throw"ERROR: Can not resolve tabBar list item : "+"'".concat(o.pagePath,"', please check tabBar configuration.");e.page[o.pagePath].useCustomTabBar=!0}}catch(e){n.e(e)}finally{n.f()}}}function mergeSubPkgs(o){return(o.subpackages||o.subPackages||[]).forEach(function(n){var e;null!=(e=n.pages)&&e.forEach(function(e){var t;null!=(t=o.pages)&&t.push(path.join(n.root,e).replace(/\\/g,"/"))})}),o.subpackages=[],o.subPackages=[],o}function getGlobalComponentsInfo(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},n=[];return Object.keys(t).forEach(function(e){n.push({key:e,path:t[e]})}),n}function putPageInfoToEntryList(e,t,n,o,r,a,c){if(e){var s,i,p,l,u=getProjectInfo(),f=generateIgnoreRule(u.projectCfg);for(s in e)Object.prototype.hasOwnProperty.call(e,s)&&(p=path.join(u.ascfSrcPath,t,e[s]),i=path.relative(u.ascfSrcPath,p),_packOptions.isIgnoreFile(i,f)||(i=i.replace(/\\/g,"/"),p="".concat(p,".json"),handleUsingComponents((l=readJsonFile(p)).usingComponents,p),n&&o.independentList.push(i),o.page[i]=l,t||getUsingComponents(o,"","",r,"page",a,c),getUsingComponents(l,p,i,r,"page",a,c)))}}function getUsingComponents(r,a,c,s,e,i,p){var l=7<arguments.length&&void 0!==arguments[7]?arguments[7]:[],u=8<arguments.length&&void 0!==arguments[8]&&arguments[8],f=getProjectInfo(),h=[],g=[],m=(getComponentPlaceholderList(g,null==r?void 0:r.componentPlaceholder),r.name);if(utils.adaptCustomTabBar(e,r,c),r.usingComponents)for(var y in r.usingComponents)(()=>{if(Object.prototype.hasOwnProperty.call(r.usingComponents,y)){var t=r.usingComponents[y],e=utils.getComponentAbsPath(t,a,f.ascfSrcPath,".json"),n=e.filePath,e=e.fixEntryPath,o=path.relative(f.ascfSrcPath,n).replace(/\\/g,"/").replace(/\.json/,"");if(r.usingComponents[y]=t=e||o,!m&&a===n)return m=y;if(p&&(e=unifyPath(i),errorJudge(y,r,n,g,e,t,c,i),u=checkPlaceholderExists(t,r),hasPlaceholder(y,g))&&configs.requiredComponents.push(t),l.find(function(e){return e===n}))return;h.some(function(e){return e.path===t})||h.push({path:t,key:y,jsonContent:r,compJsonPath:n,hasPlaceHolder:u});o=readJsonFile(n);handleUsingComponents(o.usingComponents,n),getUsingComponents(o,n,t,s,"component",i,p,l.concat([n]),u)}})();var t=""===a?{}:r;c&&!s.get(c)&&(t={jsonContent:t,componentList:h,type:e,componentName:m,compJsonPath:a,path:c,hasPlaceHolder:u,componentPlaceholderList:g},s.set(c,t))}function unifyPath(e){e=JSON.parse(JSON.stringify((null==e?void 0:e.subpackage)||[]));return e.map(function(e){return e.root+=e.root.endsWith("/")?"":"/",e}),e}function errorJudge(e,t,n,o,r,a,c,s){checkComponentPath(a)||logger.fatal('ERROR: "'.concat(e,'" is not found in the path: ').concat(path.join(getProjectInfo().ascfSrcPath,a),' (using by "').concat(c,'").')),isComponentInMainOrSubPackage(a,r,c,s)||hasPlaceholder(e,o)||logger.fatal('ERROR: "'.concat(e,'" is asyncComponent (using by "').concat(c,'"). Please add placeHolder')),checkPlaceholderNotAsync(e,o)||logger.fatal('ERROR: "'.concat(e,'" placeHolder can not be asyncComponent (using by "').concat(c,'").')),checkPlaceholder(e,o,t)||logger.warn('WARNING: "'.concat(e,'" placeHolder is wrong (using by "').concat(c,'").'))}function checkPlaceholder(t,e,n){var o;return!(null!=e&&e.length&&""!==(o=0<(o=e.filter(function(e){return e.key===t})).length?o[o.length-1].placeholder:"")&&(n=Object.prototype.hasOwnProperty.call(n.usingComponents,o),o=configs.componentList.includes(o),!n)&&!o&&(e.forEach(function(e){e.placeholder=t===e.key?"view":e.placeholder}),1))}function checkPlaceholderNotAsync(e,t){for(var n="",o=0;o<(null==t?void 0:t.length);o++)e===t[o].key&&(n=t[o].placeholder);for(var r=0;r<(null==t?void 0:t.length);r++)if(n===t[r].key)return!1;return!0}function hasPlaceholder(e,t){for(var n=0;n<(null==t?void 0:t.length);n++)if(t[n].key===e)return!0;return!1}function isComponentInMainOrSubPackage(e,t,n,o){for(var r=0;r<(null==t?void 0:t.length);r++){var a=t[r].root;if(n.startsWith(a)&&e.startsWith(a))return!0}return isComponentInSameSubpackageAsPage(o,e,t)}function isComponentInSameSubpackageAsPage(e,t,n){var o="",r="",a=!0,c=!0;return""!==e.packgaePath&&(a=!1,o=e.packgaePath+e.packgaePath.endsWith("/")?"":"/"),null!=n&&n.forEach(function(e){t.startsWith(e.root)&&(r=e.root,c=!1)}),!!c||!a&&o===r}function checkComponentPath(e){e=path.join(getProjectInfo().ascfSrcPath,e)+".json";return!!fs.existsSync(e)}function checkPlaceholderExists(e,t){var n,o=t.usingComponents,r=t.componentPlaceholder;for(n in o)if(Object.prototype.hasOwnProperty.call(o,n)&&o[n]===e&&r&&n in r)return!0;return!1}function getComponentPlaceholderList(e,t){if(t)for(var n=0,o=Object.entries(t);n<o.length;n++){var r=_slicedToArray(o[n],2),a=r[0];e.push({key:a,placeholder:r[1]})}}function generateIgnoreRule(e){var t;return(t=e?_packOptions.parseIgnoreRules(e):t)||{}}function generateEntry(e,n,t){var o=getProjectInfo(),r=e.projectComponentsMap,a=[],c=(Object.keys(r).reverse().forEach(function(e){a.push(r[e])}),n["app.js"]=path.resolve(o.ascfSrcPath,"app.json?package=app").replace(/\\/g,"/"),utils.mergeMap(a)),s=path.resolve(o.ascfSrcPath,"app.css");return fs.existsSync(s)?n["app.css.js"]=path.resolve(o.ascfSrcPath,"app.css"):delete n["app.css.js"],hasCustomTabBar(e.manifest)&&customTabBarHandle(o,n,e,c,r),c.forEach(function(e,t){n["".concat(t,".pack.js")]=e.compJsonPath.replace(/\.json$/,".hxml")}),utils.defUnfreezeProperty(e,"components",c),generateWidgetsEntry(n,e),n}function customTabBarHandle(e,t,n,o,r){var a,e=path.resolve(e.ascfSrcPath,"custom-tab-bar/index.hxml"),c=e.replace(/\.hxml$/,".json"),s=(t["custom-tab-bar/index.pack.js"]="".concat(e,"?type=component"),_createForOfIteratorHelper(n.manifest.tabBar.list));try{for(s.s();!(a=s.n()).done;){var i=a.value;o.get(i.pagePath)&&o.get(i.pagePath).componentList.push({path:"custom-tab-bar/index",key:"customTabBar",compJsonPath:c})}}catch(e){s.e(e)}finally{s.f()}r.app.set("custom-tab-bar/index",{componentList:[],type:"component",compJsonPath:c})}function generateWidgetsEntry(o,t){var r,n,a=getProjectInfo(),e=t.manifest;t.manifest&&e.router&&((r=e.router.pages)&&Object.keys(r).forEach(function(e){var t=r[e],n=t.component,t=(t||logger.warn("WARNING:Route information in the manifest.json file is incomplete:\n Page '".concat(e,"' does not have the component attribute configured. ")+"By default, '".concat(n,"' is used.")),path.join(a.ascfSrcPath,e,n)),e="".concat(path.join(e,n),".js");if(fs.existsSync("".concat(t,".ux")))o[e]="".concat(t,".ux");else if(!fs.existsSync("".concat(t,".hxml")))throw"ERROR: Failed to find the file: ".concat(t,".ux")}),e=e.widgets)&&0<e.length&&(t.widgetPathsList=[],n="",e.forEach(function(e){n=e.path,t.widgetPathsList.push(path.join(a.ascfSrcPath,n))}))}function generateRouteMapping(e){var t=getProjectInfo(),n=e.manifest.routeMapping||{},t=path.join(t.ascfSrcPath,"route-mapping.json");if(fs.existsSync(t)){var o=JSON.parse(fs.readFileSync(t).toString());if(o)for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&(n[r]=o[r])}0<Object.keys(n).length&&(e.manifest.routeMapping=n)}module.exports={readAppJson:readAppJson,generateEntry:generateEntry,generateRouteMapping:generateRouteMapping,getGlobalComponentsInfo:getGlobalComponentsInfo,mergeSubPkgs:mergeSubPkgs};
1
+ function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _createForOfIteratorHelper(e,t){var n,r,o,a,s="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(s)return o=!(r=!0),{s:function(){s=s.call(e)},n:function(){var e=s.next();return r=e.done,e},e:function(e){o=!0,n=e},f:function(){try{r||null==s.return||s.return()}finally{if(o)throw n}}};if(Array.isArray(e)||(s=_unsupportedIterableToArray(e))||t&&e&&"number"==typeof e.length)return s&&(e=s),a=0,{s:t=function(){},n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArrayLimit(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,s,c=[],i=!0,p=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;i=!1}else for(;!(i=(r=a.call(n)).done)&&(c.push(r.value),c.length!==t);i=!0);}catch(e){p=!0,o=e}finally{try{if(!i&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(p)throw o}}return c}}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var n;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(n="Object"===(n={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(e,t):void 0}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function _defineProperty(e,t,n){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);n=n.call(e,t||"default");if("object"!=_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}var path=require("path"),_require=require("../../common/utils"),readJsonFile=_require.readJsonFile,getProjectInfo=_require.getProjectInfo,_require2=require("../../common/config"),configs=_require2.configs,_packOptions=require("./packoptions-utils"),utils=require("../common/utils"),fs=require("fs"),_require3=require("../../common/version-check"),isAscfHspSatisfied=_require3.isAscfHspSatisfied,log4js=require("../../common/log4js"),_require4=require("./json-validator"),checkFromSchema=_require4.checkFromSchema,logger=log4js.getLogger("manifest-handler"),APP="app",APP_TYPE="ascf";function handleUsingComponents(){var e,t,n=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},r=1<arguments.length?arguments[1]:void 0,o=getProjectInfo().ascfSrcPath;for(e in n)Object.prototype.hasOwnProperty.call(n,e)&&(t=n[e].trim(),n[e]=utils.getProjectAbsPath(t,r,o))}function checkTabBarPath(e){var t,o,a=getProjectInfo().ascfSrcPath,s=["iconPath","selectedIconPath","pagePath"],n=(null==(n=e.tabBar)?void 0:n.list)||[],e=e.subPackages||e.subpackages||[];0!==n.length&&0!==e.length&&(utils.hasDuplicatePath(n),t=e.map(function(e){return e.root}).filter(function(e){return e}),o=[],n.forEach(function(r){t.forEach(function(n){s.forEach(function(e){var t;path.join(a,null!=(t=r[e])?t:"").startsWith(path.join(a,n,"/"))&&o.push("ERROR: tabBar ".concat(r.text," ").concat(e," cannot be in the subpackage directory"))})})}),errorListConsole(o))}function errorListConsole(e){0<e.length&&(e.forEach(function(e){logger.error(e)}),logger.error("ERROR: modify app.json tabBar and recompile it"))}function checkCommonPackage(e){e.subpackages&&0<(null==(e=e.subpackages.filter(function(e){return null==e?void 0:e.common}))?void 0:e.length)&&isAscfHspSatisfied(10008300)}function readAppJson(e){var t=_defineProperty({},APP,new Map),n=getProjectInfo(),n=path.join(n.ascfSrcPath,"app.json");if(!fs.existsSync(n))throw"ERROR: Can not resolve file : app.json";var r=readJsonFile(n),o=(checkFromSchema("app",r),r=configs.disableSubpackages?mergeSubPkgs(r):r,e&&(checkCommonPackage(r),checkTabBarPath(r)),handleAppType(r),handleUsingComponents(r.usingComponents,n),r.page={},r.independentList=[],[]);if(!r.pages||r.pages.length<=0)throw"ERROR: app.json doesn't contain any page.";addTarbarListToConfig(r);var a,s,n={packgaePath:"",subpackage:r.subpackages||r.subPackages||[]},c=(!0===r.splitMainPage?(s=r.tabBar?r.tabBar.list.map(function(e){return e.pagePath}):[],c=r.entryPagePath||r.pages[0],putPageInfoToEntryList(a=_toConsumableArray(new Set([c].concat(_toConsumableArray(s)))),"",!1,r,t[APP],n,e),c=r.pages.filter(function(e){return!a.includes(e)}),t.otherPages=new Map,putPageInfoToEntryList(c,"",!1,r,t.otherPages,n,e),s=new Map(_toConsumableArray(t.otherPages).filter(function(e){e=_slicedToArray(e,1)[0];return!t[APP].has(e)})),t.otherPages=s):putPageInfoToEntryList(r.pages,"",!1,r,t[APP],n,e),["subpackages","subPackages"].find(function(e){return Object.prototype.hasOwnProperty.call(r,e)}));if(o.length){c&&delete r[c];var i,p=_createForOfIteratorHelper(r.subpackages=o);try{for(p.s();!(i=p.n()).done;){var l=i.value,u=new Map,f={packgaePath:l.root,subpackage:l};t[l.root]=u,putPageInfoToEntryList(l.pages,l.root,l.independent,r,u,f,e)}}catch(e){p.e(e)}finally{p.f()}}else if(c){o=r[c],delete r[c];var h,g=_createForOfIteratorHelper(r.subpackages=o);try{for(g.s();!(h=g.n()).done;){var m=h.value,y=new Map,d={packgaePath:m.root,subpackage:o};t[m.root]=y,putPageInfoToEntryList(m.pages,m.root,m.independent,r,y,d,e)}}catch(e){g.e(e)}finally{g.f()}}return handingCustomTabBar(r),{manifest:r,projectComponentsMap:t}}function addTarbarListToConfig(e){if(hasCustomTabBar(e)){var t,n=path.resolve(getProjectInfo().ascfSrcPath,"custom-tab-bar","index.json"),n=readJsonFile(n),r=(configs.tabBarUsingComponents=n.usingComponents,_createForOfIteratorHelper(e.tabBar.list));try{for(r.s();!(t=r.n()).done;){var o=t.value;configs.tabBarList.push(o.pagePath)}}catch(e){r.e(e)}finally{r.f()}}}function handleAppType(e){var t;e.type=null!=(t=null!=(t=e.type)?t:e.appType)?t:APP_TYPE,delete e.appType}function hasCustomTabBar(e){return(e.tabBar||{}).custom&&fs.existsSync(path.resolve(getProjectInfo().ascfSrcPath,"custom-tab-bar/index.hxml"))}function handingCustomTabBar(e){if(hasCustomTabBar(e)){var t,n=_createForOfIteratorHelper(e.tabBar.list);try{for(n.s();!(t=n.n()).done;){var r=t.value;if(!e.page[r.pagePath])throw"ERROR: Can not resolve tabBar list item : "+"'".concat(r.pagePath,"', please check tabBar configuration.");e.page[r.pagePath].useCustomTabBar=!0}}catch(e){n.e(e)}finally{n.f()}}}function mergeSubPkgs(r){return(r.subpackages||r.subPackages||[]).forEach(function(n){var e;null!=(e=n.pages)&&e.forEach(function(e){var t;null!=(t=r.pages)&&t.push(path.join(n.root,e).replace(/\\/g,"/"))})}),r.subpackages=[],r.subPackages=[],r}function getGlobalComponentsInfo(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},n=[];return Object.keys(t).forEach(function(e){n.push({key:e,path:t[e]})}),n}function putPageInfoToEntryList(e,t,n,r,o,a,s){if(e){var c,i,p,l,u=getProjectInfo(),f=generateIgnoreRule(u.projectCfg);for(c in e)Object.prototype.hasOwnProperty.call(e,c)&&(p=path.join(u.ascfSrcPath,t,e[c]),i=path.relative(u.ascfSrcPath,p),_packOptions.isIgnoreFile(i,f)||(i=i.replace(/\\/g,"/"),p="".concat(p,".json"),handleUsingComponents((l=readJsonFile(p)).usingComponents,p),n&&r.independentList.push(i),r.page[i]=l,t||getUsingComponents(r,"","",o,"page",a,s),getUsingComponents(l,p,i,o,"page",a,s)))}}function getUsingComponents(o,a,s,c,e,i,p){var l=7<arguments.length&&void 0!==arguments[7]?arguments[7]:[],u=8<arguments.length&&void 0!==arguments[8]&&arguments[8],f=getProjectInfo(),h=[],g=[],m=(getComponentPlaceholderList(g,null==o?void 0:o.componentPlaceholder),o.name);if(utils.adaptCustomTabBar(e,o,s),o.usingComponents)for(var y in o.usingComponents)(()=>{if(Object.prototype.hasOwnProperty.call(o.usingComponents,y)){var t=o.usingComponents[y],e=utils.getComponentAbsPath(t,a,f.ascfSrcPath,".json"),n=e.filePath,e=e.fixEntryPath,r=path.relative(f.ascfSrcPath,n).replace(/\\/g,"/").replace(/\.json/,"");if(o.usingComponents[y]=t=e||r,!m&&a===n)return m=y;if(p&&(e=unifyPath(i),errorJudge(y,o,n,g,e,t,s,i),u=checkPlaceholderExists(t,o),hasPlaceholder(y,g))&&configs.requiredComponents.push(t),l.find(function(e){return e===n}))return;h.some(function(e){return e.path===t})||h.push({path:t,key:y,jsonContent:o,compJsonPath:n,hasPlaceHolder:u});r=readJsonFile(n);handleUsingComponents(r.usingComponents,n),getUsingComponents(r,n,t,c,"component",i,p,l.concat([n]),u)}})();var t=""===a?{}:o;s&&!c.get(s)&&(t={jsonContent:t,componentList:h,type:e,componentName:m,compJsonPath:a,path:s,hasPlaceHolder:u,componentPlaceholderList:g},c.set(s,t))}function unifyPath(e){e=JSON.parse(JSON.stringify((null==e?void 0:e.subpackage)||[]));return e.map(function(e){return e.root+=e.root.endsWith("/")?"":"/",e}),e}function errorJudge(e,t,n,r,o,a,s,c){checkComponentPath(a)||logger.fatal('ERROR: "'.concat(e,'" is not found in the path: ').concat(path.join(getProjectInfo().ascfSrcPath,a),' (using by "').concat(s,'").')),isComponentInMainOrSubPackage(a,o,s,c)||hasPlaceholder(e,r)||logger.fatal('ERROR: "'.concat(e,'" is asyncComponent (using by "').concat(s,'"). Please add placeHolder')),checkPlaceholderNotAsync(e,r)||logger.fatal('ERROR: "'.concat(e,'" placeHolder can not be asyncComponent (using by "').concat(s,'").')),checkPlaceholder(e,r,t)||logger.warn('WARNING: "'.concat(e,'" placeHolder is wrong (using by "').concat(s,'").'))}function checkPlaceholder(t,e,n){var r;return!(null!=e&&e.length&&""!==(r=0<(r=e.filter(function(e){return e.key===t})).length?r[r.length-1].placeholder:"")&&(n=Object.prototype.hasOwnProperty.call(n.usingComponents,r),r=configs.componentList.includes(r),!n)&&!r&&(e.forEach(function(e){e.placeholder=t===e.key?"view":e.placeholder}),1))}function checkPlaceholderNotAsync(e,t){for(var n="",r=0;r<(null==t?void 0:t.length);r++)e===t[r].key&&(n=t[r].placeholder);for(var o=0;o<(null==t?void 0:t.length);o++)if(n===t[o].key)return!1;return!0}function hasPlaceholder(e,t){for(var n=0;n<(null==t?void 0:t.length);n++)if(t[n].key===e)return!0;return!1}function isComponentInMainOrSubPackage(e,t,n,r){for(var o=0;o<(null==t?void 0:t.length);o++){var a=t[o].root;if(n.startsWith(a)&&e.startsWith(a))return!0}return isComponentInSameSubpackageAsPage(r,e,t)}function isComponentInSameSubpackageAsPage(e,t,n){var r="",o="",a=!0,s=!0;return""!==e.packgaePath&&(a=!1,r=e.packgaePath+e.packgaePath.endsWith("/")?"":"/"),null!=n&&n.forEach(function(e){t.startsWith(e.root)&&(o=e.root,s=!1)}),!!s||!a&&r===o}function checkComponentPath(e){e=path.join(getProjectInfo().ascfSrcPath,e)+".json";return!!fs.existsSync(e)}function checkPlaceholderExists(e,t){var n,r=t.usingComponents,o=t.componentPlaceholder;for(n in r)if(Object.prototype.hasOwnProperty.call(r,n)&&r[n]===e&&o&&n in o)return!0;return!1}function getComponentPlaceholderList(e,t){if(t)for(var n=0,r=Object.entries(t);n<r.length;n++){var o=_slicedToArray(r[n],2),a=o[0];e.push({key:a,placeholder:o[1]})}}function generateIgnoreRule(e){var t;return(t=e?_packOptions.parseIgnoreRules(e):t)||{}}function generateEntry(e,n,t){var r=getProjectInfo(),o=e.projectComponentsMap,a=[],s=(Object.keys(o).reverse().forEach(function(e){a.push(o[e])}),n["app.js"]=path.resolve(r.ascfSrcPath,"app.json?package=app").replace(/\\/g,"/"),utils.mergeMap(a)),c=getAppCssExt();return c?n["app.css.js"]=path.resolve(r.ascfSrcPath,"app".concat(c)):delete n["app.css.js"],hasCustomTabBar(e.manifest)&&customTabBarHandle(r,n,e,s,o),s.forEach(function(e,t){n["".concat(t,".pack.js")]=e.compJsonPath.replace(/\.json$/,".hxml"),checkFromSchema(e.path,e.jsonContent)}),utils.defUnfreezeProperty(e,"components",s),generateWidgetsEntry(n,e),n}function getAppCssExt(){for(var e=getProjectInfo(),t=0,n=[".scss",".sass",".less",".css"];t<n.length;t++){var r=n[t],o=path.resolve(e.ascfSrcPath,"".concat("app").concat(r));if(fs.existsSync(o))return r}}function customTabBarHandle(e,t,n,r,o){var a,e=path.resolve(e.ascfSrcPath,"custom-tab-bar/index.hxml"),s=e.replace(/\.hxml$/,".json"),c=(t["custom-tab-bar/index.pack.js"]="".concat(e,"?type=component"),_createForOfIteratorHelper(n.manifest.tabBar.list));try{for(c.s();!(a=c.n()).done;){var i=a.value;r.get(i.pagePath)&&r.get(i.pagePath).componentList.push({path:"custom-tab-bar/index",key:"customTabBar",compJsonPath:s})}}catch(e){c.e(e)}finally{c.f()}o.app.set("custom-tab-bar/index",{componentList:[],type:"component",compJsonPath:s})}function generateWidgetsEntry(r,t){var o,n,a=getProjectInfo(),e=t.manifest;t.manifest&&e.router&&((o=e.router.pages)&&Object.keys(o).forEach(function(e){var t=o[e],n=t.component,t=(t||logger.warn("WARNING:Route information in the manifest.json file is incomplete:\n Page '".concat(e,"' does not have the component attribute configured. ")+"By default, '".concat(n,"' is used.")),path.join(a.ascfSrcPath,e,n)),e="".concat(path.join(e,n),".js");if(fs.existsSync("".concat(t,".ux")))r[e]="".concat(t,".ux");else if(!fs.existsSync("".concat(t,".hxml")))throw"ERROR: Failed to find the file: ".concat(t,".ux")}),e=e.widgets)&&0<e.length&&(t.widgetPathsList=[],n="",e.forEach(function(e){n=e.path,t.widgetPathsList.push(path.join(a.ascfSrcPath,n))}))}function generateRouteMapping(e){var t=getProjectInfo(),n=e.manifest.routeMapping||{},t=path.join(t.ascfSrcPath,"route-mapping.json");if(fs.existsSync(t)){var r=JSON.parse(fs.readFileSync(t).toString());if(r)for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[o]=r[o])}0<Object.keys(n).length&&(e.manifest.routeMapping=n)}module.exports={readAppJson:readAppJson,generateEntry:generateEntry,generateRouteMapping:generateRouteMapping,getGlobalComponentsInfo:getGlobalComponentsInfo,mergeSubPkgs:mergeSubPkgs,getAppCssExt:getAppCssExt};
@@ -1 +1 @@
1
- function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ownKeys(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(r),!0).forEach(function(e){_defineProperty(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function _defineProperty(e,t,r){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return("string"===t?String:Number)(e);r=r.call(e,t||"default");if("object"!=_typeof(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}function _createForOfIteratorHelper(e,t){var r,n,o,a,i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(i)return o=!(n=!0),{s:function(){i=i.call(e)},n:function(){var e=i.next();return n=e.done,e},e:function(e){o=!0,r=e},f:function(){try{n||null==i.return||i.return()}finally{if(o)throw r}}};if(Array.isArray(e)||(i=_unsupportedIterableToArray(e))||t&&e&&"number"==typeof e.length)return i&&(e=i),a=0,{s:t=function(){},n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var r;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(r="Object"===(r={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var vm=require("vm"),fs=require("fs"),path=require("path"),loaderUtils=require("../loader-utils"),expUtils=require("./exp-utils"),_require=require("../../common/utils"),readJsonFile=_require.readJsonFile,getProjectInfo=_require.getProjectInfo,_require2=require("../../common/config"),configs=_require2.configs,log4js=require("../../common/log4js.js"),logger=log4js.getLogger(),_toString=Object.prototype.toString,OBJECT_STRING="[object Object]",REGEXP_LINE=/\r?\n/g,join=function(){return path.join.apply(path,arguments)},relative=function(e,t){return path.relative(e,t)},cssProcessorType=["less","sass","scss"],CSS_LANG_ALIAS={scss:"sass"};function extend(e){for(var t=arguments.length,r=new Array(1<t?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];var o=r;if("function"==typeof Object.assign)Object.assign.apply(Object,[e].concat(o));else{var a,i=o.shift();for(a in i)Object.prototype.hasOwnProperty.call(i,a)&&(e[a]=i[a]);o.length&&extend.apply(void 0,[e].concat(o))}return e}function merge(e){for(var t=e,r=arguments.length,n=new Array(1<r?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return n.length&&n.forEach(function(e){t=t.concat(e)}),t}function hyphenedToCamelCase(e){return e.replace(/-([a-z])/g,function(e,t){return t.toUpperCase()})}function camelCaseToHyphened(e){return e.replace(/([a-z])([A-Z])/g,function(e,t,r){return"".concat(t,"-").concat(r.toLowerCase())})}function getNameByPath(e){return path.basename(e).replace(/\..*$/,"")}function isEmptyObject(e){if(e)for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}function isPlainObject(e){return _toString.call(e)===OBJECT_STRING}function getLoaderModule(e){var t=path.join(__dirname,"..","..",".."),r=readJsonFile(path.join(t,"package.json")).name,r=("@atomicservice/ascf-toolkit"!==r&&r.includes("/")&&(t=path.join(t,"..")),path.resolve(t,"node_modules",e)),r=fs.existsSync(r)?r:path.resolve(t,"..","..",e);return fs.existsSync(r)?r:e}function getFilenameByPath(e){return path.relative(".",e)}function stringifyFunction(e,t){return"function"==typeof t?exports.FUNC_START+t.toString()+exports.FUNC_END:t}function logWarn(o,e){var a=o.emitError,i=o.emitWarning;e&&0<e.length&&e.forEach(function(e){var t=e.loc,r=e.trigger,r=void 0===r?"ATTR":r,n=e.reason,e=e.filePath,e=void 0===e?o.resourcePath:e,r=generateCodeFrame(fs.readFileSync(e).toString(),r,t),t="".concat(n,"\n@ ").concat(e).concat(r,"\n");(n.startsWith("ERROR")?a:i)(t)})}function generateCodeFrame(e,t,r){if(!r)return"";for(var n=r.start,r=r.attrStart,o=e.split(/\r?\n/),a=(e.slice(0,n="ATTR"===t?r||n:n).match(/\r|\n/g)||[]).length,i=1;i<=o.length;i++){var c=o.slice(0,i).join("").length+a;if(n<c)return":".concat(i,":").concat(n-c+o[i-1].length+1)}}function makeRequireString(e,t,r){return"require("+"".concat(loaderUtils.stringifyRequest(e,(t?"!!".concat(t,"!"):"").concat(r)),")\n")}function stringifyLoaders(e){return e.map(function(e){if("string"==typeof e)return e;var t=e.name,r=[];if(e.query)for(var n in e.query)if(Object.prototype.hasOwnProperty.call(e.query,n)){var o=e.query[n];if(null!=o)if(!0===o)r.push(n);else if(o instanceof Array)for(var a in o)Object.prototype.hasOwnProperty.call(o,a)&&r.push("".concat(n,"[]=").concat(o[a]));else r.push("".concat(n,"=").concat(o))}return r.length?"".concat(t,"?").concat(r.join("&")):t}).join("!")}function splitSourceLine(e){return e.split(REGEXP_LINE)}function splitAttr(r,e,t){var n=e.split(/\s+/);if(n)switch(n.length){case 1:t.forEach(function(e){r[e]=n[0]});break;case 2:t.forEach(function(e,t){r[e]=t%2?n[1]:n[0]});break;case 3:t.forEach(function(e,t){r[e]=t%2?n[1]:n[t]});break;default:t.forEach(function(e,t){r[e]=n[t]})}}function isValidValue(e){return"number"==typeof e||"string"==typeof e}function equals(e,t,r){if(r){for(var n=arguments.length,o=new Array(3<n?n-3:0),a=3;a<n;a++)o[a-3]=arguments[a];if(r.apply(void 0,[e,t].concat(o)))return!0}var i=Object.prototype.toString.call(e);if(i!==Object.prototype.toString.call(t))return!1;if("[object Null]"!==i&&"[object Undefined]"!==i){if("[object Object]"!==i&&"[object Array]"!==i)return Object(e).toString()===Object(t).toString();for(var c={},s=(Object.keys(e).forEach(function(e){return c[e]=!0}),Object.keys(t).forEach(function(e){return c[e]=!0}),Object.keys(c)),u=0;u<s.length;u++){var l=s[u];if(!equals(e[l],t[l],r,l))return!1}}return!0}function mkdirsSync(e){var t;fs.existsSync(e)&&fs.statSync(e).isDirectory()||(t=path.join(e,".."),fs.existsSync(t)&&!fs.statSync(t).isFile()||mkdirsSync(t),fs.mkdirSync(e))}exports.resolve=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return path.resolve.apply(path,[__dirname].concat(t))},exports.getProjectAbsPath=function(e,t,r){return(/^\.?\.\//.test(e)?relative(r,join(t,"..",e)):/^\//.test(e)?e.slice(1):(t=join(t,"..",e),fs.existsSync(t)||fs.existsSync("".concat(t,".json"))?relative(r,t):e)).replace(/\\/g,"/")},exports.uniqueSymmetricDifference=function(e,t){return _toConsumableArray(e.filter(function(e){return!t.includes(e)}))},exports.genUid=function(e){for(var t="$ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",r=[],n=0;n<e;n++)r[n]=t.charAt(Math.random()*t.length);return r.join("")};var attchIndexPostfix=function(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:".json";if(fs.existsSync("".concat(e,"/"))){if(fs.statSync(e).isDirectory()){for(var n=0,o=["".concat(e,"/index").concat(r),"".concat(e,"/src/index").concat(r)];n<o.length;n++){var a=o[n];if(fs.existsSync(a))return{filePath:a,fixEntryPath:relative(t,a).replace(/\\/g,"/").replace(/\.json$/,"")}}throw"Error: Module Not Found: ".concat(e)}if(!fs.existsSync(e))throw"ERROR: Can not resolve file : ".concat(e)}};function removeBindingFix(e){return e.replace(/\s*({\s*{\s*{?)|(}\s*}\s*}?)\s*/g,"")}function isExp(e){return!!e&&/{{{(.+?)}}}|{{(.+?)}}/.test(e.toString().replace(/(\n)|(\r)/g,""))}exports.isFileExist=function(e){return fs.existsSync(e)||fs.existsSync("".concat(e,".js"))||fs.existsSync("".concat(e,".json"))},exports.getAbsPath=function(e,t,r){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:"",t=(n&&!e.endsWith(n)&&(e+=n),join(t,"..",e).replace(/\\/g,"/")),o=join(r,e).replace(/\\/g,"/"),a=join(r,"miniprogram_npm",e).replace(/\\/g,"/");if(/^\//.test(e))return{filePath:o};if(/^\.?\.\//.test(e))return{filePath:t};for(var i=0,c=[t,o,a];i<c.length;i++){var s=c[i];if(fs.existsSync(s))return{filePath:s};s=attchIndexPostfix(s.replace(n,""),r,n);if(s)return s}return{filePath:e}},exports.getComponentAbsPath=function(e,t,r){for(var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:"",t=(n&&!e.endsWith(n)&&(e+=n),join(t,"..",e).replace(/\\/g,"/")),o=0,a=[join(r,e).replace(/\\/g,"/"),t,join(r,"miniprogram_npm",e).replace(/\\/g,"/")];o<a.length;o++){var i=a[o];if(fs.existsSync(i))return{filePath:i};i=attchIndexPostfix(i.replace(n,""),r,n);if(i)return i}return{filePath:e}},exports.getComponentCssPath=function(e){var t,r=_createForOfIteratorHelper(cssProcessorType.concat("css"));try{for(r.s();!(t=r.n()).done;){var n=t.value,o="".concat(e,".").concat(n);if(fs.existsSync(o))return o.replace(/\\/g,"/")}}catch(e){r.e(e)}finally{r.f()}return null},exports.createCSSRule=function(){var r={test:/\.h?css$/,type:"javascript/auto",use:[{loader:path.resolve(__dirname,"../hcss-loader")},{loader:path.resolve(__dirname,"../extract-loader")},{loader:path.resolve(__dirname,"../css-process-loader")}]},n=r.use,o=[r];return cssProcessorType.map(function(e){return{test:new RegExp("\\.".concat(e,"$")),lang:e}}).forEach(function(e){var t=e.test,e=e.lang;o.push(_objectSpread(_objectSpread({},r),{},{test:t,use:[].concat(_toConsumableArray(n),[{loader:getLoaderModule("".concat(CSS_LANG_ALIAS[e]||e,"-loader"))}])}))}),o},exports.isEmptyStr=function(e){return!0!==e&&!e.replace(/\s/g,"")},exports.transformHtmlUnicodeAmp=function(e){return e.replace(/&(?=amp;|apos;|lt;|gt;|ensp;|emsp;|nbsp;)/g,"&amp;")},exports.deepClone=function(e){var t,r,n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:new WeakMap;if(n.has(e))return n.get(e);if(Array.isArray(e))t=[],r="array";else{if(!e||"object"!==_typeof(e))return e;t={},r="object"}if(n.set(e,t),"object"===r)for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=this.deepClone(e[o],n));if("array"===r)for(var a=0;a<e.length;a++)t.push(this.deepClone(e[a],n));return t},exports.compose=function(e){for(var t=arguments.length,r=new Array(1<t?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return r.reduce(function(e,t){if("function"!=typeof t)throw new TypeError("".concat(t," is not a function"));return t(e)},e)},exports.inherit=function(e,t){e.prototype=Object.create(t.prototype),Object.defineProperty(e.prototype,"constructor",{value:e,enumerable:!0,configurable:!0,writable:!1}),Object.setPrototypeOf(e,t)},exports.defFreezeProperty=function(e,t,r){Object.defineProperty(e,t,{writable:!1,configurable:!1,enumerable:!0,value:r})},exports.defUnfreezeProperty=function(e,t,r){Object.defineProperty(e,t,{writable:!0,configurable:!0,enumerable:!0,value:r})},exports.isPlainTextEqual=function(e,t){return e.trim()===t.trim()},exports.mergeMap=function(e){var t=new Map;return e.reduce(function(r,e){if("[object Map]"!==_toString.call(e))throw new TypeError("".concat(e," is not a map."));return e.forEach(function(e,t){return r.set(t,e)}),r},t)},exports.flat=function(e){var r=this,n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:1;return 0===n?e:e.reduce(function(e,t){return Array.isArray(t)?t.length?[].concat(_toConsumableArray(e),_toConsumableArray(r.flat(t,--n))):e:[].concat(_toConsumableArray(e),[t])},[])},exports.checkExpression=function(t,r){try{vm.runInThisContext(t)}catch(e){var n=t.replace(expUtils.stripStringRE,"").match(expUtils.prohibitedKeywordRE);n?r.buildLog.push({reason:'ERROR: Unexpected JavaScript keyword as property name: "'.concat(n[0],'", please change it.')}):r.buildLog.push({reason:"ERROR: Babel parse error occurred. Invalid attribute value : ".concat(t)})}},exports.getCacheConfig=function(e){var t=path.resolve(e,"ascf","ascf_src","ascf.config.json"),e=[path.resolve(e,"ascf","ascf_src","app.json")];return fs.existsSync(t)&&e.push(t),e};var CACHE_DEP_KEYS=["serve","templateHoist","disableSubpackages"];exports.getCacheName=function(t){return CACHE_DEP_KEYS.map(function(e){return"".concat(e,"-").concat(t[e])}).join("_")},exports.normalizedAbsPath=function(e){return path.join(getProjectInfo().ascfSrcPath,e).replace(/\\/g,"/")},exports.adaptCustomTabBar=function(e,t,r){"page"===e&&configs.tabBarList.includes(r)&&(t.usingComponents=t.usingComponents||{},Object.assign(t.usingComponents,configs.tabBarUsingComponents))},exports.checkConfigCacheTaro=function(){var e;return configs.templateHoist&&!1!==(null==configs||null==(e=configs.experimental)?void 0:e.cacheBaseHxml)},exports.checkQueryParameterCacheTaro=function(e){var t;return(null==e||null==(t=e.resourcePath)?void 0:t.endsWith("base.hxml"))&&e.name},exports.hasDuplicatePath=function(e){var t,r=new Map,n=[];e.forEach(function(e,t){r.has(e.pagePath)?n.push({firstIndex:r.get(e.pagePath),duplicateIndex:t}):r.set(e.pagePath,t)}),0!==n.length&&(t=[],n.forEach(function(e){t.push("tabBar.list[".concat(e.duplicateIndex,"].pagePath is same with tabBar.list[").concat(e.firstIndex,"].pagePath"))}),logger.fatal("ERROR: ".concat(t.join("\n")," at app.json")))},exports.transformCurlyLtEscape=function(e){for(var t,r=0,n=e.length,o=!1,a="",i=null;r<n;)o||"{"!==e[r]||"{"!==e[r+1]?o?i||'"'!==e[r]&&"'"!==e[r]?i&&i===e[r]?(i=null,a+=e[r],r++):i&&"\\"===e[r]?(a+=e[r]+(null!=(t=e[r+1])?t:""),r+=2):i||"}"!==e[r]||"}"!==e[r+1]?(!i&&"<"===e[r]&&e[r+1]&&" "!==e[r+1]&&"="!==e[r+1]?a+="< ":a+=e[r],r++):(o=!1,a+="}}",r+=2):(i=e[r],a+=e[r],r++):(a+=e[r],r++):(o=!0,a+="{{",r+=2);return a},Object.defineProperty(exports,"__esModule",{value:!0}),exports.FUNC_START="#####FUNC_START#####",exports.FUNC_END="#####FUNC_END#####",exports.FUNC_START_REG=new RegExp("[\"']".concat(exports.FUNC_START),"g"),exports.FUNC_END_REG=new RegExp("".concat(exports.FUNC_END,"[\"']"),"g"),exports.extend=extend,exports.merge=merge,exports.hyphenedToCamelCase=hyphenedToCamelCase,exports.camelCaseToHyphened=camelCaseToHyphened,exports.getNameByPath=getNameByPath,exports.isEmptyObject=isEmptyObject,exports.isPlainObject=isPlainObject,exports.getLoaderModule=getLoaderModule,exports.getFilenameByPath=getFilenameByPath,exports.stringifyFunction=stringifyFunction,exports.logWarn=logWarn,exports.generateCodeFrame=generateCodeFrame,exports.makeRequireString=makeRequireString,exports.stringifyLoaders=stringifyLoaders,exports.mkdirsSync=mkdirsSync,exports.splitSourceLine=splitSourceLine,exports.splitAttr=splitAttr,exports.isValidValue=isValidValue,exports.removeBindingFix=removeBindingFix,exports.isExp=isExp,exports.equals=equals,exports.relative=relative;
1
+ function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ownKeys(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(r),!0).forEach(function(e){_defineProperty(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function _defineProperty(e,t,r){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return("string"===t?String:Number)(e);r=r.call(e,t||"default");if("object"!=_typeof(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}function _createForOfIteratorHelper(e,t){var r,n,o,a,i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(i)return o=!(n=!0),{s:function(){i=i.call(e)},n:function(){var e=i.next();return n=e.done,e},e:function(e){o=!0,r=e},f:function(){try{n||null==i.return||i.return()}finally{if(o)throw r}}};if(Array.isArray(e)||(i=_unsupportedIterableToArray(e))||t&&e&&"number"==typeof e.length)return i&&(e=i),a=0,{s:t=function(){},n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var r;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(r="Object"===(r={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var vm=require("vm"),fs=require("fs"),path=require("path"),loaderUtils=require("../loader-utils"),expUtils=require("./exp-utils"),_require=require("../../common/utils"),readJsonFile=_require.readJsonFile,getProjectInfo=_require.getProjectInfo,_require2=require("../../common/config"),configs=_require2.configs,log4js=require("../../common/log4js.js"),logger=log4js.getLogger(),_require3=require("../../../package.json"),version=_require3.version,_toString=Object.prototype.toString,OBJECT_STRING="[object Object]",REGEXP_LINE=/\r?\n/g,join=function(){return path.join.apply(path,arguments)},relative=function(e,t){return path.relative(e,t)},cssProcessorType=["less","sass","scss"],CSS_LANG_ALIAS={scss:"sass"};function extend(e){for(var t=arguments.length,r=new Array(1<t?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];var o=r;if("function"==typeof Object.assign)Object.assign.apply(Object,[e].concat(o));else{var a,i=o.shift();for(a in i)Object.prototype.hasOwnProperty.call(i,a)&&(e[a]=i[a]);o.length&&extend.apply(void 0,[e].concat(o))}return e}function merge(e){for(var t=e,r=arguments.length,n=new Array(1<r?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return n.length&&n.forEach(function(e){t=t.concat(e)}),t}function hyphenedToCamelCase(e){return e.replace(/-([a-z])/g,function(e,t){return t.toUpperCase()})}function camelCaseToHyphened(e){return e.replace(/([a-z])([A-Z])/g,function(e,t,r){return"".concat(t,"-").concat(r.toLowerCase())})}function getNameByPath(e){return path.basename(e).replace(/\..*$/,"")}function isEmptyObject(e){if(e)for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}function isPlainObject(e){return _toString.call(e)===OBJECT_STRING}function getLoaderModule(e){var t=path.join(__dirname,"..","..",".."),r=readJsonFile(path.join(t,"package.json")).name,r=("@atomicservice/ascf-toolkit"!==r&&r.includes("/")&&(t=path.join(t,"..")),path.resolve(t,"node_modules",e)),r=fs.existsSync(r)?r:path.resolve(t,"..","..",e);return fs.existsSync(r)?r:e}function getFilenameByPath(e){return path.relative(".",e)}function stringifyFunction(e,t){return"function"==typeof t?exports.FUNC_START+t.toString()+exports.FUNC_END:t}function logWarn(o,e){var a=o.emitError,i=o.emitWarning;e&&0<e.length&&e.forEach(function(e){var t=e.loc,r=e.trigger,r=void 0===r?"ATTR":r,n=e.reason,e=e.filePath,e=void 0===e?o.resourcePath:e,r=generateCodeFrame(fs.readFileSync(e).toString(),r,t),t="".concat(n,"\n@ ").concat(e).concat(r,"\n");(n.startsWith("ERROR")?a:i)(t)})}function generateCodeFrame(e,t,r){if(!r)return"";for(var n=r.start,r=r.attrStart,o=e.split(/\r?\n/),a=(e.slice(0,n="ATTR"===t?r||n:n).match(/\r|\n/g)||[]).length,i=1;i<=o.length;i++){var c=o.slice(0,i).join("").length+a;if(n<c)return":".concat(i,":").concat(n-c+o[i-1].length+1)}}function makeRequireString(e,t,r){return"require("+"".concat(loaderUtils.stringifyRequest(e,(t?"!!".concat(t,"!"):"").concat(r)),")\n")}function stringifyLoaders(e){return e.map(function(e){if("string"==typeof e)return e;var t=e.name,r=[];if(e.query)for(var n in e.query)if(Object.prototype.hasOwnProperty.call(e.query,n)){var o=e.query[n];if(null!=o)if(!0===o)r.push(n);else if(o instanceof Array)for(var a in o)Object.prototype.hasOwnProperty.call(o,a)&&r.push("".concat(n,"[]=").concat(o[a]));else r.push("".concat(n,"=").concat(o))}return r.length?"".concat(t,"?").concat(r.join("&")):t}).join("!")}function splitSourceLine(e){return e.split(REGEXP_LINE)}function splitAttr(r,e,t){var n=e.split(/\s+/);if(n)switch(n.length){case 1:t.forEach(function(e){r[e]=n[0]});break;case 2:t.forEach(function(e,t){r[e]=t%2?n[1]:n[0]});break;case 3:t.forEach(function(e,t){r[e]=t%2?n[1]:n[t]});break;default:t.forEach(function(e,t){r[e]=n[t]})}}function isValidValue(e){return"number"==typeof e||"string"==typeof e}function equals(e,t,r){if(r){for(var n=arguments.length,o=new Array(3<n?n-3:0),a=3;a<n;a++)o[a-3]=arguments[a];if(r.apply(void 0,[e,t].concat(o)))return!0}var i=Object.prototype.toString.call(e);if(i!==Object.prototype.toString.call(t))return!1;if("[object Null]"!==i&&"[object Undefined]"!==i){if("[object Object]"!==i&&"[object Array]"!==i)return Object(e).toString()===Object(t).toString();for(var c={},s=(Object.keys(e).forEach(function(e){return c[e]=!0}),Object.keys(t).forEach(function(e){return c[e]=!0}),Object.keys(c)),u=0;u<s.length;u++){var l=s[u];if(!equals(e[l],t[l],r,l))return!1}}return!0}function mkdirsSync(e){var t;fs.existsSync(e)&&fs.statSync(e).isDirectory()||(t=path.join(e,".."),fs.existsSync(t)&&!fs.statSync(t).isFile()||mkdirsSync(t),fs.mkdirSync(e))}exports.resolve=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return path.resolve.apply(path,[__dirname].concat(t))},exports.getProjectAbsPath=function(e,t,r){return(/^\.?\.\//.test(e)?relative(r,join(t,"..",e)):/^\//.test(e)?e.slice(1):(t=join(t,"..",e),fs.existsSync(t)||fs.existsSync("".concat(t,".json"))?relative(r,t):e)).replace(/\\/g,"/")},exports.uniqueSymmetricDifference=function(e,t){return _toConsumableArray(e.filter(function(e){return!t.includes(e)}))},exports.genUid=function(e){for(var t="$ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",r=[],n=0;n<e;n++)r[n]=t.charAt(Math.random()*t.length);return r.join("")};var attchIndexPostfix=function(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:".json";if(fs.existsSync("".concat(e,"/"))){if(fs.statSync(e).isDirectory()){for(var n=0,o=["".concat(e,"/index").concat(r),"".concat(e,"/src/index").concat(r)];n<o.length;n++){var a=o[n];if(fs.existsSync(a))return{filePath:a,fixEntryPath:relative(t,a).replace(/\\/g,"/").replace(/\.json$/,"")}}throw"Error: Module Not Found: ".concat(e)}if(!fs.existsSync(e))throw"ERROR: Can not resolve file : ".concat(e)}};function removeBindingFix(e){return e.replace(/\s*({\s*{\s*{?)|(}\s*}\s*}?)\s*/g,"")}function isExp(e){return!!e&&/{{{(.+?)}}}|{{(.+?)}}/.test(e.toString().replace(/(\n)|(\r)/g,""))}exports.isFileExist=function(e){return fs.existsSync(e)||fs.existsSync("".concat(e,".js"))||fs.existsSync("".concat(e,".json"))},exports.getAbsPath=function(e,t,r){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:"",t=(n&&!e.endsWith(n)&&(e+=n),join(t,"..",e).replace(/\\/g,"/")),o=join(r,e).replace(/\\/g,"/"),a=join(r,"miniprogram_npm",e).replace(/\\/g,"/");if(/^\//.test(e))return{filePath:o};if(/^\.?\.\//.test(e))return{filePath:t};for(var i=0,c=[t,o,a];i<c.length;i++){var s=c[i];if(fs.existsSync(s))return{filePath:s};s=attchIndexPostfix(s.replace(n,""),r,n);if(s)return s}return{filePath:e}},exports.getComponentAbsPath=function(e,t,r){for(var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:"",t=(n&&!e.endsWith(n)&&(e+=n),join(t,"..",e).replace(/\\/g,"/")),o=0,a=[join(r,e).replace(/\\/g,"/"),t,join(r,"miniprogram_npm",e).replace(/\\/g,"/")];o<a.length;o++){var i=a[o];if(fs.existsSync(i))return{filePath:i};i=attchIndexPostfix(i.replace(n,""),r,n);if(i)return i}return{filePath:e}},exports.getComponentCssPath=function(e){var t,r=_createForOfIteratorHelper(cssProcessorType.concat("css"));try{for(r.s();!(t=r.n()).done;){var n=t.value,o="".concat(e,".").concat(n);if(fs.existsSync(o))return o.replace(/\\/g,"/")}}catch(e){r.e(e)}finally{r.f()}return null},exports.createCSSRule=function(){var r={test:/\.h?css$/,type:"javascript/auto",use:[{loader:path.resolve(__dirname,"../hcss-loader")},{loader:path.resolve(__dirname,"../extract-loader")},{loader:path.resolve(__dirname,"../css-process-loader")}]},n=r.use,o=[r];return cssProcessorType.map(function(e){return{test:new RegExp("\\.".concat(e,"$")),lang:e}}).forEach(function(e){var t=e.test,e=e.lang;o.push(_objectSpread(_objectSpread({},r),{},{test:t,use:[].concat(_toConsumableArray(n),[{loader:getLoaderModule("".concat(CSS_LANG_ALIAS[e]||e,"-loader"))}])}))}),o},exports.isEmptyStr=function(e){return!0!==e&&!e.replace(/\s/g,"")},exports.transformHtmlUnicodeAmp=function(e){return e.replace(/&(?=amp;|apos;|lt;|gt;|ensp;|emsp;|nbsp;)/g,"&amp;")},exports.deepClone=function(e){var t,r,n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:new WeakMap;if(n.has(e))return n.get(e);if(Array.isArray(e))t=[],r="array";else{if(!e||"object"!==_typeof(e))return e;t={},r="object"}if(n.set(e,t),"object"===r)for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=this.deepClone(e[o],n));if("array"===r)for(var a=0;a<e.length;a++)t.push(this.deepClone(e[a],n));return t},exports.compose=function(e){for(var t=arguments.length,r=new Array(1<t?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return r.reduce(function(e,t){if("function"!=typeof t)throw new TypeError("".concat(t," is not a function"));return t(e)},e)},exports.inherit=function(e,t){e.prototype=Object.create(t.prototype),Object.defineProperty(e.prototype,"constructor",{value:e,enumerable:!0,configurable:!0,writable:!1}),Object.setPrototypeOf(e,t)},exports.defFreezeProperty=function(e,t,r){Object.defineProperty(e,t,{writable:!1,configurable:!1,enumerable:!0,value:r})},exports.defUnfreezeProperty=function(e,t,r){Object.defineProperty(e,t,{writable:!0,configurable:!0,enumerable:!0,value:r})},exports.isPlainTextEqual=function(e,t){return e.trim()===t.trim()},exports.mergeMap=function(e){var t=new Map;return e.reduce(function(r,e){if("[object Map]"!==_toString.call(e))throw new TypeError("".concat(e," is not a map."));return e.forEach(function(e,t){return r.set(t,e)}),r},t)},exports.flat=function(e){var r=this,n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:1;return 0===n?e:e.reduce(function(e,t){return Array.isArray(t)?t.length?[].concat(_toConsumableArray(e),_toConsumableArray(r.flat(t,--n))):e:[].concat(_toConsumableArray(e),[t])},[])},exports.checkExpression=function(t,r){try{vm.runInThisContext(t)}catch(e){var n=t.replace(expUtils.stripStringRE,"").match(expUtils.prohibitedKeywordRE);n?r.buildLog.push({reason:'ERROR: Unexpected JavaScript keyword as property name: "'.concat(n[0],'", please change it.')}):r.buildLog.push({reason:"ERROR: Babel parse error occurred. Invalid attribute value : ".concat(t)})}},exports.getCacheConfig=function(e){var t=path.resolve(e,"ascf","ascf_src","ascf.config.json"),e=[path.resolve(e,"ascf","ascf_src","app.json")];return fs.existsSync(t)&&e.push(t),e};var CACHE_DEP_KEYS=["version","buildType","disableSubpackages","templateHoist","serve","parser"];exports.getCacheName=function(t){return t.buildType=t.mode?"debug":"release",t.version=version,CACHE_DEP_KEYS.map(function(e){return"".concat(e,"-").concat(t[e])}).join("_")},exports.normalizedAbsPath=function(e){return path.join(getProjectInfo().ascfSrcPath,e).replace(/\\/g,"/")},exports.adaptCustomTabBar=function(e,t,r){"page"===e&&configs.tabBarList.includes(r)&&(t.usingComponents=t.usingComponents||{},Object.assign(t.usingComponents,configs.tabBarUsingComponents))},exports.checkConfigCacheTaro=function(){var e;return configs.templateHoist&&!1!==(null==configs||null==(e=configs.experimental)?void 0:e.cacheBaseHxml)},exports.checkQueryParameterCacheTaro=function(e){var t;return(null==e||null==(t=e.resourcePath)?void 0:t.endsWith("base.hxml"))&&e.name},exports.hasDuplicatePath=function(e){var t,r=new Map,n=[];e.forEach(function(e,t){r.has(e.pagePath)?n.push({firstIndex:r.get(e.pagePath),duplicateIndex:t}):r.set(e.pagePath,t)}),0!==n.length&&(t=[],n.forEach(function(e){t.push("tabBar.list[".concat(e.duplicateIndex,"].pagePath is same with tabBar.list[").concat(e.firstIndex,"].pagePath"))}),logger.fatal("ERROR: ".concat(t.join("\n")," at app.json")))},exports.transformCurlyLtEscape=function(e){for(var t,r=0,n=e.length,o=!1,a="",i=null;r<n;)o||"{"!==e[r]||"{"!==e[r+1]?o?i||'"'!==e[r]&&"'"!==e[r]?i&&i===e[r]?(i=null,a+=e[r],r++):i&&"\\"===e[r]?(a+=e[r]+(null!=(t=e[r+1])?t:""),r+=2):i||"}"!==e[r]||"}"!==e[r+1]?(!i&&"<"===e[r]&&e[r+1]&&" "!==e[r+1]&&"="!==e[r+1]&&"<"!==e[r+1]?a+="< ":a+=e[r],r++):(o=!1,a+="}}",r+=2):(i=e[r],a+=e[r],r++):(a+=e[r],r++):(o=!0,a+="{{",r+=2);return a},Object.defineProperty(exports,"__esModule",{value:!0}),exports.FUNC_START="#####FUNC_START#####",exports.FUNC_END="#####FUNC_END#####",exports.FUNC_START_REG=new RegExp("[\"']".concat(exports.FUNC_START),"g"),exports.FUNC_END_REG=new RegExp("".concat(exports.FUNC_END,"[\"']"),"g"),exports.extend=extend,exports.merge=merge,exports.hyphenedToCamelCase=hyphenedToCamelCase,exports.camelCaseToHyphened=camelCaseToHyphened,exports.getNameByPath=getNameByPath,exports.isEmptyObject=isEmptyObject,exports.isPlainObject=isPlainObject,exports.getLoaderModule=getLoaderModule,exports.getFilenameByPath=getFilenameByPath,exports.stringifyFunction=stringifyFunction,exports.logWarn=logWarn,exports.generateCodeFrame=generateCodeFrame,exports.makeRequireString=makeRequireString,exports.stringifyLoaders=stringifyLoaders,exports.mkdirsSync=mkdirsSync,exports.splitSourceLine=splitSourceLine,exports.splitAttr=splitAttr,exports.isValidValue=isValidValue,exports.removeBindingFix=removeBindingFix,exports.isExp=isExp,exports.equals=equals,exports.relative=relative;
@@ -1 +1 @@
1
- function _createForOfIteratorHelper(e,r){var t,n,o,a,s="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(s)return o=!(n=!0),{s:function(){s=s.call(e)},n:function(){var e=s.next();return n=e.done,e},e:function(e){o=!0,t=e},f:function(){try{n||null==s.return||s.return()}finally{if(o)throw t}}};if(Array.isArray(e)||(s=_unsupportedIterableToArray(e))||r&&e&&"number"==typeof e.length)return s&&(e=s),a=0,{s:r=function(){},n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:r};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,r){var t;if(e)return"string"==typeof e?_arrayLikeToArray(e,r):"Map"===(t="Object"===(t={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:t)||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(e,r):void 0}function _arrayLikeToArray(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}var path=require("path"),css=require("postcss"),loaderUtils=require("./loader-utils"),utils=require("./common/utils"),nodeNameUtils=require("./template/node-name-utils");function getBuildInfo(e,r){e.get("scoped")&&e.get("scopeId")&&(r.scoped=!0,r.scopeId=e.get("scopeId"))}function transQType(e,r,t){return e&&(e.get("type")&&(r=e.get("type")),getBuildInfo(e,t)),r}function hcssLoader(e){var r=[],t=initBuildInfo(),n=path.relative(this.rootContext,this.resourcePath).replace(/.(css|sass|scss|styl|less|stylus)$/,"").replace(/\\/g,"/"),o="app"===n?"app":"page",e=("?"===this.resourceQuery[0]&&(o=transQType(loaderUtils.parseQuery(this.resourceQuery),o,t)),e.replace(/\/\*[\s\S]*?\*\//g,""));try{var a=getSegs(getCssAst(this,e,r,t)),s="app"===o?"\n\tvar segs = module.exports.segs\n\tvar sourcemap = module.exports.sourcemap\n\tvar info = module.exports.info\n\tinjectStyle(segs, sourcemap, info)":"";return 0<r.length&&utils.logWarn(this,r),"module.exports = {\n segs:".concat(JSON.stringify(a),',\n info:{path:"').concat(n,'", type:"').concat(o,'"}\n }').concat(s)}catch(e){r.push({reason:"ERROR: Cannot parse css : ".concat(this.resourcePath,"\n ").concat(e)}),utils.logWarn(this,r)}return""}function initBuildInfo(){var e={scoped:!1};return e}function getCssAst(e,r,t,n){var o;try{o=css.parse(r,{from:e.resourcePath})}catch(e){t.push({line:e.line,column:e.column,reason:e.toString()})}return o&&traverseSelectors(o.nodes,n),o}function traverseSelectors(e,r){if(e){var t,n=_createForOfIteratorHelper(e);try{for(n.s();!(t=n.n()).done;){var o=t.value;"rule"===o.type?transSelectorName(o,r):"atrule"===o.type&&"media"===o.name&&traverseSelectors(o.nodes,r)}}catch(e){n.e(e)}finally{n.f()}}}function transSelectorName(e,r){var t=e.selector.replace("/\n/g","").split(",");if(t){for(var n,o=0,a=t.length;o<a;o++)t[o]=nodeNameUtils.transformSelectorName(t[o]),r.scoped&&(0<(n=t[o].indexOf(":"))?t[o]=t[o].replace(":","[".concat(r.scopeId,"]:")):n<0&&(t[o]="".concat(t[o],"[").concat(r.scopeId,"]")));e.selector=t.join(",")}}function getSegs(e){var r=[];e&&(e.nodes=checkRules(e.nodes));var t,n=_createForOfIteratorHelper(null!=(e=(l=null!=(e=null==e?void 0:e.toString())?e:"").match(/\$ascf[+\-]?[0-9.]+(?=rpx)/g))?e:[]);try{for(n.s();!(t=n.n()).done;){var o=t.value,a=l.indexOf("".concat(o,"rpx")),s=parseFloat(o.substring(5)),c=l.substring(0,a),l=l.substring(a+o.length+3);r.push(c),r.push([2,s])}}catch(e){n.e(e)}finally{n.f()}return r.push(l),r}function checkDeclarations(e){var r,t=_createForOfIteratorHelper(e);try{for(t.s();!(r=t.n()).done;){var n=r.value;n.value&&(n.value=n.value.replace(/([+\-]?[0-9.]+)(?=rpx)/g,"$ascf$1"))}}catch(e){t.e(e)}finally{t.f()}return e}function checkRules(e){var r,t=_createForOfIteratorHelper(e);try{for(t.s();!(r=t.n()).done;){var n,o=r.value;"rule"===o.type?(n=o.nodes)&&0<n.length&&(o.nodes=checkDeclarations(n)):"atrule"!==o.type||"media"!==o.name&&"keyframes"!==o.name||(o.nodes=checkRules(o.nodes))}}catch(e){t.e(e)}finally{t.f()}return e}module.exports=hcssLoader;
1
+ function _createForOfIteratorHelper(e,r){var t,n,o,a,s="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(s)return o=!(n=!0),{s:function(){s=s.call(e)},n:function(){var e=s.next();return n=e.done,e},e:function(e){o=!0,t=e},f:function(){try{n||null==s.return||s.return()}finally{if(o)throw t}}};if(Array.isArray(e)||(s=_unsupportedIterableToArray(e))||r&&e&&"number"==typeof e.length)return s&&(e=s),a=0,{s:r=function(){},n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:r};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,r){var t;if(e)return"string"==typeof e?_arrayLikeToArray(e,r):"Map"===(t="Object"===(t={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:t)||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(e,r):void 0}function _arrayLikeToArray(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}var path=require("path"),css=require("postcss"),loaderUtils=require("./loader-utils"),utils=require("./common/utils"),nodeNameUtils=require("./template/node-name-utils"),AT_RULES=["media","keyframes","supports"];function getBuildInfo(e,r){e.get("scoped")&&e.get("scopeId")&&(r.scoped=!0,r.scopeId=e.get("scopeId"))}function transQType(e,r,t){return e&&(e.get("type")&&(r=e.get("type")),getBuildInfo(e,t)),r}function hcssLoader(e){var r=[],t=initBuildInfo(),n=path.relative(this.rootContext,this.resourcePath).replace(/.(css|sass|scss|styl|less|stylus)$/,"").replace(/\\/g,"/"),o="app"===n?"app":"page",e=("?"===this.resourceQuery[0]&&(o=transQType(loaderUtils.parseQuery(this.resourceQuery),o,t)),e.replace(/\/\*[\s\S]*?\*\//g,""));try{var a=getSegs(getCssAst(this,e,r,t)),s="app"===o?"\n\tvar segs = module.exports.segs\n\tvar sourcemap = module.exports.sourcemap\n\tvar info = module.exports.info\n\tinjectStyle(segs, sourcemap, info)":"";return 0<r.length&&utils.logWarn(this,r),"module.exports = {\n segs:".concat(JSON.stringify(a),',\n info:{path:"').concat(n,'", type:"').concat(o,'"}\n }').concat(s)}catch(e){r.push({reason:"ERROR: Cannot parse css : ".concat(this.resourcePath,"\n ").concat(e)}),utils.logWarn(this,r)}return""}function initBuildInfo(){var e={scoped:!1};return e}function getCssAst(e,r,t,n){var o;try{o=css.parse(r,{from:e.resourcePath})}catch(e){t.push({line:e.line,column:e.column,reason:e.toString()})}return o&&traverseSelectors(o.nodes,n),o}function traverseSelectors(e,r){if(e){var t,n=_createForOfIteratorHelper(e);try{for(n.s();!(t=n.n()).done;){var o=t.value;"rule"===o.type?transSelectorName(o,r):"atrule"===o.type&&"media"===o.name&&traverseSelectors(o.nodes,r)}}catch(e){n.e(e)}finally{n.f()}}}function transSelectorName(e,r){var t=e.selector.replace("/\n/g","").split(",");if(t){for(var n,o=0,a=t.length;o<a;o++)t[o]=nodeNameUtils.transformSelectorName(t[o]),r.scoped&&(0<(n=t[o].indexOf(":"))?t[o]=t[o].replace(":","[".concat(r.scopeId,"]:")):n<0&&(t[o]="".concat(t[o],"[").concat(r.scopeId,"]")));e.selector=t.join(",")}}function getSegs(e){var r=[];e&&(e.nodes=checkRules(e.nodes));var t,n=_createForOfIteratorHelper(null!=(e=(l=null!=(e=null==e?void 0:e.toString())?e:"").match(/\$ascf[+\-]?[0-9.]+(?=rpx)/g))?e:[]);try{for(n.s();!(t=n.n()).done;){var o=t.value,a=l.indexOf("".concat(o,"rpx")),s=parseFloat(o.substring(5)),c=l.substring(0,a),l=l.substring(a+o.length+3);r.push(c),r.push([2,s])}}catch(e){n.e(e)}finally{n.f()}return r.push(l),r}function checkDeclarations(e){var r,t=_createForOfIteratorHelper(e);try{for(t.s();!(r=t.n()).done;){var n=r.value;n.value&&(n.value=n.value.replace(/([+\-]?[0-9.]+)(?=rpx)/g,"$ascf$1"))}}catch(e){t.e(e)}finally{t.f()}return e}function checkRules(e){var r,t=_createForOfIteratorHelper(e);try{for(t.s();!(r=t.n()).done;){var n,o=r.value;"rule"===o.type?(n=o.nodes)&&0<n.length&&(o.nodes=checkDeclarations(n)):"atrule"===o.type&&AT_RULES.includes(o.name)&&(o.nodes=checkRules(o.nodes))}}catch(e){t.e(e)}finally{t.f()}return e}module.exports=hcssLoader;