@hap-toolkit/dsl-xvm 1.9.6 → 1.9.7
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.
- package/lib/loaders/access-loader.js +2 -0
- package/lib/loaders/app-loader.js +2 -0
- package/lib/loaders/babel-plugin-jsx.js +2 -0
- package/lib/loaders/common/utils.js +2 -0
- package/lib/loaders/extract-css-loader.js +2 -0
- package/lib/loaders/fragment-loader.js +2 -0
- package/lib/loaders/manifest-loader.js +2 -0
- package/lib/loaders/module-loader.js +2 -0
- package/lib/loaders/script-loader.js +2 -0
- package/lib/loaders/style-loader.js +2 -0
- package/lib/loaders/template-loader.js +2 -0
- package/lib/loaders/ux-fragment-utils.js +2 -0
- package/lib/loaders/ux-loader.js +2 -0
- package/lib/plugins/extract-css-plugin.js +2 -0
- package/lib/template.js +2 -0
- package/lib/webpack.post.js +2 -0
- package/package.json +5 -5
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";module.exports=function(n,c){n+="\n\n const moduleOwn = exports.default || module.exports\n const accessors = ['public', 'protected', 'private']\n\n if (moduleOwn.data && accessors.some(function (acc) { return moduleOwn[acc] })) {\n throw new Error('页面VM对象中的属性data不可与\"' + accessors.join(',') + '\"同时存在,请使用private替换data名称')\n }\n else if (!moduleOwn.data) {\n moduleOwn.data = {}\n moduleOwn._descriptor = {}\n accessors.forEach(function (acc) {\n const accType = typeof moduleOwn[acc]\n if (accType === 'object') {\n moduleOwn.data = Object.assign(moduleOwn.data, moduleOwn[acc])\n for (const name in moduleOwn[acc]) {\n moduleOwn._descriptor[name] = { access: acc }\n }\n }\n else if (accType === 'function') {\n console.warn('页面VM对象中的属性' + acc + '的值不能是函数,请使用对象')\n }\n })\n }\n",this.callback(null,n,c)};
|
|
2
|
+
//# sourceMappingURL=access-loader.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var _loaderUtils=require("loader-utils"),_compiler=require("@hap-toolkit/compiler"),_uxFragmentUtils=require("./ux-fragment-utils");module.exports=async function(p){const t=[],e=(0,_compiler.parseFragmentsWithCache)(p,this.resourcePath),r=await(0,_uxFragmentUtils.parseImportList)(this,e.import);r.length&&t.push((0,_uxFragmentUtils.processImportFrag)(this,r,[]));const a=(0,_loaderUtils.stringifyRequest)(this,"./manifest.json");return t.push(`\nvar $app_style$ = ${(0,_uxFragmentUtils.processStyleFrag)(this,e.style,"app")}\nvar $app_script$ = ${(0,_uxFragmentUtils.processScriptFrag)(this,e.script,"app")}\n$app_define$('@app-application/app', [], function ($app_require$, $app_exports$, $app_module$) {\n ${e.script.length?`\n $app_script$($app_module$, $app_exports$, $app_require$)\n if ($app_exports$.__esModule && $app_exports$.default) {\n $app_module$.exports = $app_exports$.default\n }\n $app_module$.exports.manifest = require(${a})\n $app_module$.exports.style = { list: [ $app_style$ ] }\n `:""}\n})\n$app_bootstrap$('@app-application/app', { packagerVersion: QUICKAPP_TOOLKIT_VERSION })\n`),t.join("\n")};
|
|
2
|
+
//# sourceMappingURL=app-loader.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var _pluginSyntaxJsx=_interopRequireDefault(require("@babel/plugin-syntax-jsx"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}module.exports=function(e){const t=e.types;return{inherits:_pluginSyntaxJsx.default,visitor:{JSXNamespacedName(e){throw e.buildCodeFrameError("不支持带命名空间的标签/属性")},JSXElement:{exit(e,r){const s=function(e,r){e.parent.children=t.react.buildChildren(e.parent);const s=n(e.node.name),a=[];let o;t.isIdentifier(s)?(o=s.name,a.push(t.stringLiteral(o))):a.push(s);let l=e.node.attributes;l=l.length?function(e){let n=[];const r=[];let s=!1;function a(){n.length&&(r.push(t.objectExpression(n)),n=[])}for(;e.length;){const o=e.shift();t.isJSXSpreadAttribute(o)?(a(),s=!0,r.push(o.argument)):n.push(i(o))}a(),s?(r.unshift(t.objectExpression([])),e=t.callExpression(t.identifier("__extend"),r)):e=r[0];return e}(l):t.nullLiteral();return a.push(l),t.callExpression(t.identifier("__elem"),a)}(e.get("openingElement")),a=n(e.get("openingElement").node.name);let o;t.isIdentifier(a)&&(o=a.name);const l=e.node.children.map(e=>t.isStringLiteral(e)?function(e,n){const i=[];return i.push(t.stringLiteral(e)),i.push(t.objectExpression([t.objectProperty(t.identifier("value"),t.callExpression(t.identifier("__s"),[t.stringLiteral(n)]))])),t.callExpression(t.identifier("__elem"),i)}("text"===o?"span":"text",e.value):e);s.arguments.push(t.arrayExpression(l)),e.replaceWith(t.inherits(s,e.node))}},Program(e){e.traverse({"ObjectMethod|FunctionExpression|ClassMethod"(e){const n={hasJsx:!1};e.traverse({JSXElement(){this.hasJsx=!0}},n),n.hasJsx&&(e.get("body").unshiftContainer("body",t.variableDeclaration("const",[t.variableDeclarator(t.identifier("__s"),t.memberExpression(t.thisExpression(),t.identifier("$stringify")))])),e.get("body").unshiftContainer("body",t.variableDeclaration("const",[t.variableDeclarator(t.identifier("__extend"),t.memberExpression(t.thisExpression(),t.identifier("$extend")))])),e.get("body").unshiftContainer("body",t.variableDeclaration("const",[t.variableDeclarator(t.identifier("__elem"),t.memberExpression(t.thisExpression(),t.identifier("$createElement")))])))}})}}};function n(e){return t.isJSXIdentifier(e)&&(e.type="Identifier"),e}function i(e){const n=function(e){return t.isJSXExpressionContainer(e)?e.expression:e}(e.value||t.booleanLiteral(!0));return t.isStringLiteral(n)&&!t.isJSXExpressionContainer(e.value)&&(n.value=n.value.replace(/\n\s+/g," ")),t.isValidIdentifier(e.name.name)?e.name.type="Identifier":e.name=t.stringLiteral(e.name.name),t.inherits(t.objectProperty(e.name,n),e)}};
|
|
2
|
+
//# sourceMappingURL=babel-plugin-jsx.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getNameByPath=getNameByPath,exports.getFileNameWithHash=getFileNameWithHash,exports.isPlainObject=isPlainObject,exports.makeRequireString=makeRequireString,exports.stringifyLoaders=stringifyLoaders,exports.generateMap=generateMap,exports.consumeMap=consumeMap,exports.splitSourceLine=splitSourceLine,exports.print=print,exports.getWebpackOptions=getWebpackOptions,exports.isUXRender=isUXRender,exports.convertPath=convertPath,exports.FRAG_TYPE=exports.ENTRY_TYPE=void 0;var _path=_interopRequireDefault(require("path")),_loaderUtils=_interopRequireDefault(require("loader-utils")),_hashSum=_interopRequireDefault(require("hash-sum")),_sourceMap=require("source-map"),_config=_interopRequireDefault(require("@hap-toolkit/shared-utils/config"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getNameByPath(e){return _path.default.basename(e).replace(/\..*$/,"")}function getFileNameWithHash(e,t){const r=_path.default.relative(".",e);return`./${r}?${(0,_hashSum.default)(r+t)}`}const toString=Object.prototype.toString,OBJECT_STRING="[object Object]";function isPlainObject(e){return toString.call(e)===OBJECT_STRING}function makeRequireString(e,t,r){return print({loader:t,filepath:r}),"require("+_loaderUtils.default.stringifyRequest(e,t?`!${t}!${r}`:""+r)+")\n"}function stringifyLoaders(e){return e.map(e=>{if("string"==typeof e)return e;{const t=e.name,r=[];if(e.query)for(const t in e.query){const n=e.query[t];null!=n&&(!0===n?r.push(t):n instanceof Array?r.push(`${t}[]=${n.join(",")}`):r.push(`${t}=${n}`))}return`${t}${r.length?"?"+r.join("&"):""}`}}).join("!")}function generateMap(e,t,r){const n=getFileNameWithHash(e.resourcePath),o=_path.default.resolve("."),i=new _sourceMap.SourceMapGenerator({sourceRoot:o,skipValidation:!0});i.setSourceContent(n,t);for(const{original:e,generated:t}of r)i.addMapping({source:n,original:e,generated:t});return i}function consumeMap(e,t,r){const n=new _sourceMap.SourceMapConsumer(r);let o;const i=[],a=[],s={};return splitSourceLine(t).forEach((e,t)=>{t+=1;const r=n.originalPositionFor({line:t,column:0});r.source&&(o=r.source,i.push({line:r.line,column:r.column}),a.push({line:t,column:0}),s[`line-${t}-column-0`]={line:r.line,column:r.column})}),{source:o,original:i,generated:a,mapping:s,sourcesContent:n.sourcesContent}}const REGEXP_LINE=/\r?\n/g;function splitSourceLine(e){return e.split(REGEXP_LINE)}const showLog=!1;function print(e){0}function getWebpackOptions(e){return e.options||{}}function isUXRender(e){return e===ENTRY_TYPE.PAGE||e===ENTRY_TYPE.CARD}function convertPath(e){let t=_path.default.join(_config.default.projectPath,"src");return/^[/\\]node_modules/.test(e)&&(t=_config.default.projectPath),_path.default.join(t,e)}const ENTRY_TYPE={APP:"app",PAGE:"page",COMP:"comp",CARD:"card",JS:"js"};exports.ENTRY_TYPE=ENTRY_TYPE;const FRAG_TYPE={IMPORT:"import",TEMPLATE:"template",STYLE:"style",SCRIPT:"script"};exports.FRAG_TYPE=FRAG_TYPE;
|
|
2
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var _module=_interopRequireDefault(require("module")),_Compilation=_interopRequireDefault(require("webpack/lib/Compilation")),_NormalModule=_interopRequireDefault(require("webpack/lib/NormalModule")),_NodeTemplatePlugin=_interopRequireDefault(require("webpack/lib/node/NodeTemplatePlugin")),_NodeTargetPlugin=_interopRequireDefault(require("webpack/lib/node/NodeTargetPlugin")),_LibraryTemplatePlugin=_interopRequireDefault(require("webpack/lib/LibraryTemplatePlugin")),_SingleEntryPlugin=_interopRequireDefault(require("webpack/lib/SingleEntryPlugin")),_LimitChunkCountPlugin=_interopRequireDefault(require("webpack/lib/optimize/LimitChunkCountPlugin")),_compilationConfig=require("@hap-toolkit/shared-utils/compilation-config");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const pluginName="extract-css",MODULE_TYPE="css/extract",exec=(e,t,i)=>{const n=new _module.default(i,e);return n.paths=_module.default._nodeModulePaths(e.context),n.filename=i,n._compile(t,i),n.exports};module.exports.pitch=function(e){const t=this.loaders.slice(this.loaderIndex+1),i={filename:"*"},n=this._compilation.createChildCompiler("extract-css",i);let l;new _NodeTemplatePlugin.default(i).apply(n),new _LibraryTemplatePlugin.default(null,"commonjs2").apply(n),(new _NodeTargetPlugin.default).apply(n),new _SingleEntryPlugin.default(this.context,"!!"+e,pluginName).apply(n),new _LimitChunkCountPlugin.default({maxChunks:1}).apply(n),n.hooks.thisCompilation.tap("extract-css loader",i=>{_NormalModule.default.getCompilationHooks(i).loader.tap("extract-css loader",(i,n)=>{i.emitFile=this.emitFile,i[MODULE_TYPE]=!1,n.request===e&&(n.loaders=t.map(e=>({loader:e.path,options:e.options,ident:e.ident})))}),i.hooks.processAssets.tap({name:pluginName,stage:_Compilation.default.PROCESS_ASSETS_STAGE_REPORT},()=>{l=i.assets["*"]&&i.assets["*"].source(),i.chunks.forEach(e=>{e.files.forEach(e=>{delete i.assets[e]})})})});const r=this.async();n.runAsChild((t,i,n)=>{if(t)return r(t);if(n.errors.length>0)return r(n.errors[0]);if(n.fileDependencies.forEach(e=>{this.addDependency(e)},this),n.contextDependencies.forEach(e=>{this.addContextDependency(e)},this),!l)return r(new Error("Didn't get a result from child compiler"));let o={};const a=exec(this,l,e);try{o={content:JSON.stringify(a),identifier:e},this[MODULE_TYPE](o)}catch(e){return r(e)}let u=a;_compilationConfig.compileOptionsObject.removeUxStyle&&(u={"@info":a["@info"]});let s=`\n module.exports = ${JSON.stringify(u)};\n // extracted by extract-css\n `;return r(null,s)})};
|
|
2
|
+
//# sourceMappingURL=extract-css-loader.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var _loaderUtils=_interopRequireDefault(require("loader-utils")),_compiler=require("@hap-toolkit/compiler"),_utils=require("./common/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}module.exports=function(e,t){const i=this.async(),l=_loaderUtils.default.parseQuery(this.query),n=l.type,r=this.resourcePath;let o=l.index;null!=o&&o.match(/^\d+$/)&&(o=parseInt(o)),Promise.resolve((0,_compiler.parseFragmentsWithCache)(e,r)[n]).then(i=>{null!=o&&(i=i[o]);let l,r=i.content.trim();if(this.sourceMap&&(n===_utils.FRAG_TYPE.SCRIPT||n===_utils.FRAG_TYPE.IMPORT)){const n=i.location.line;let o;t&&(o=(0,_utils.consumeMap)(this,e,t),e=o.sourcesContent.join(""));const u=(0,_utils.splitSourceLine)(r).map((e,t)=>{let i=(t+=1)+n;const l=t;return o&&(i=o.mapping[`line-${i}-column-0`].line),{original:{line:i,column:0},generated:{line:l,column:0}}});l=(0,_utils.generateMap)(this,e,u)}return[r,l]}).then(([e,l])=>{i(null,e,l&&l.toJSON()||t)}).catch(e=>{i(e,"")})};
|
|
2
|
+
//# sourceMappingURL=fragment-loader.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var _path=_interopRequireDefault(require("path")),_fs=_interopRequireDefault(require("fs")),_loaderUtils=_interopRequireDefault(require("loader-utils")),_sharedUtils=require("@hap-toolkit/shared-utils"),_utils=require("./common/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const REGEXP_INT=/^[-+]?[0-9]+$/,REGEXP_URL=/^['"]?([^()]+?)['"]?$/gi,REGEXP_NAME=/^[a-zA-Z_][a-zA-Z0-9]*$/,validator={integer:function(e){return(e=(e||"").toString()).match(REGEXP_INT)?{value:!0}:{value:!1,reason:function(e,t){return"ERROR: manifest.json的配置项 `"+e+"` 的值 `"+t+"` 无效(仅支持整数)"}}},object:function(e){const t=(0,_utils.isPlainObject)(e);return{value:(0,_utils.isPlainObject)(e),reason:t?null:function(e,t){return"ERROR: manifest.json的配置项 `"+e+"` 的值 `"+t+"` 无效(仅支持对象)"}}},url:function(e){return(e=(e||"").toString().trim()).match(REGEXP_URL)?{value:!0}:{value:!1,reason:function(e,t){return"ERROR: manifest.json的配置项 `"+e+"` 的值 `"+t+"` 必须是url"}}},name:function(e){return(e=(e||"").toString()).match(REGEXP_NAME)?{value:!0}:{value:!1,reason:function(e,t){return"ERROR: manifest.json的配置项 `"+e+"` 的值 `"+t+"` 格式不正确"}}}},validatorMap={package:{type:validator.string,require:!0},name:{type:validator.string,require:!0},versionCode:{type:validator.integer,require:!0},icon:{type:validator.url,require:!0},banner:{type:validator.url,require:!1},config:{type:validator.object,require:!0},router:{type:validator.object,require:!0}};function validate(e,t){let r,a;const n=validatorMap[e];return n&&"function"==typeof n.type?(r=n.type(t),r.reason&&(a={reason:r.reason(e,t)})):r={value:!0},{value:r.value,log:a}}const requireAttrMap=[];Object.keys(validatorMap).forEach((function(e){validatorMap[e].require&&requireAttrMap.push(e)})),module.exports=function(e,t){const r=_loaderUtils.default.getOptions(this).path,a=JSON.parse(_fs.default.readFileSync(_path.default.join(r,"manifest.json")).toString()),n=[];if(a){let e,t;requireAttrMap.forEach((function(e){a[e]||n.push({line:1,column:1,reason:"ERROR: manifest.json缺少配置项 `"+e+"`"})})),Object.keys(a).forEach(r=>{e=a[r],t=validate(r,e),t.log&&n.push({line:1,column:1,reason:t.log.reason})}),(0,_sharedUtils.logWarn)(this,n),global.framework.manifest=a}this.callback(null,e,t)};
|
|
2
|
+
//# sourceMappingURL=manifest-loader.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var _shared=require("@hap-toolkit/packager/lib/common/shared"),_script=_interopRequireDefault(require("@hap-toolkit/compiler/lib/script")),_sharedUtils=require("@hap-toolkit/shared-utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}module.exports=function(e,r){const t=(0,_shared.searchModuleImport)(e);e=t.fileCont,(0,_sharedUtils.logWarn)(this,t.logFeatureList),e=_script.default.replaceModuleImport(e),this.callback(null,e,r)};
|
|
2
|
+
//# sourceMappingURL=module-loader.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var _compiler=require("@hap-toolkit/compiler");module.exports=function(e,r){const{parsed:o}=(0,_compiler.parseScript)(e),s=`module.exports = function __scriptModule__ (module, exports, $app_require$){${o}}`;r&&r.sources&&(r.sources=r.sources.map(e=>{let r=e;return/.*\.ux\?.*/.test(e)&&(r=e.split("?")[0]),r})),this.callback(null,s,r)};
|
|
2
|
+
//# sourceMappingURL=script-loader.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var _loaderUtils=_interopRequireDefault(require("loader-utils")),_compiler=require("@hap-toolkit/compiler"),_sharedUtils=require("@hap-toolkit/shared-utils"),_compilationConfig=require("@hap-toolkit/shared-utils/compilation-config"),_utils=require("./common/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const componentId=(()=>{const e=new Map;let t=1;return{get:t=>e.get(t),add(o){e.has(o)||e.set(o,t++)}}})();module.exports=function(e){const t=this,o=_loaderUtils.default.parseQuery(this.query),i=!!(0,_utils.getWebpackOptions)(this).suppresslogs,r=this.resourcePath,{depList:s,log:l,depFiles:n,jsonStyle:a}=(0,_compiler.parseStyle)({filePath:r,code:e,query:o});_compilationConfig.compileOptionsObject.enableExtractCss&&(componentId.add(r),a&&(a["@info"]={styleObjectId:componentId.get(r)}));const u=JSON.stringify(a,null,2);return l&&l.length&&(0,_sharedUtils.logWarn)(this,l,i),s.forEach((function(e){t.addDependency(e)})),n.forEach(e=>{t.addDependency((0,_utils.convertPath)(e))}),"module.exports = "+u};
|
|
2
|
+
//# sourceMappingURL=style-loader.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var _loaderUtils=_interopRequireDefault(require("loader-utils")),_compiler=require("@hap-toolkit/compiler"),_sharedUtils=require("@hap-toolkit/shared-utils"),_utils=require("./common/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}module.exports=function(e){const r=_loaderUtils.default.parseQuery(this.resourceQuery);r.filePath=this.resourcePath;const{parsed:t,log:i,depFiles:l}=(0,_compiler.parseTemplate)(e,r);return i&&i.length&&(0,_sharedUtils.logWarn)(this,i),l.forEach(e=>{this.addDependency((0,_utils.convertPath)(e))}),"module.exports = "+t};
|
|
2
|
+
//# sourceMappingURL=template-loader.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.processImportFrag=processImportFrag,exports.processTemplateFrag=processTemplateFrag,exports.processStyleFrag=processStyleFrag,exports.processScriptFrag=processScriptFrag,exports.parseImportList=parseImportList;var _path=_interopRequireDefault(require("path")),_config=_interopRequireDefault(require("@hap-toolkit/shared-utils/config")),_compilationConfig=require("@hap-toolkit/shared-utils/compilation-config"),_validator=_interopRequireDefault(require("@hap-toolkit/compiler/lib/template/validator")),_lib=require("@hap-toolkit/packager/lib"),_utils=require("./common/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const cwd=_config.default.projectPath,defaultLoaders={component:require.resolve("./ux-loader.js"),fragment:require.resolve("./fragment-loader.js"),template:require.resolve("./template-loader.js"),style:require.resolve("./style-loader.js"),script:require.resolve("./script-loader.js"),module:require.resolve("./module-loader.js"),babel:require.resolve("babel-loader"),mainfest:require.resolve("./manifest-loader.js"),access:require.resolve("./access-loader.js"),"extract-css":require.resolve("./extract-css-loader.js")};function makeLoaderString(e,r,t){let s;if(r=r||{},e===_utils.FRAG_TYPE.IMPORT)return s=[{name:defaultLoaders.component,query:{cwd:cwd,type:_utils.FRAG_TYPE.IMPORT}}],(0,_utils.stringifyLoaders)(s);if(e===_utils.FRAG_TYPE.TEMPLATE)return s=[{name:defaultLoaders.template}],r.alone||s.push({name:defaultLoaders.fragment,query:{index:0,type:_utils.FRAG_TYPE.TEMPLATE}}),(0,_utils.stringifyLoaders)(s);if(e===_utils.FRAG_TYPE.STYLE){s=[{name:defaultLoaders.style,query:{index:0,type:_utils.FRAG_TYPE.STYLE}}],_compilationConfig.compileOptionsObject.enableExtractCss&&s.unshift({name:defaultLoaders["extract-css"]});let e=r.lang;return e&&"css"!==e&&(e="scss"===e?"sass":e,s.push({name:e+"-loader"})),r.alone||s.push({name:defaultLoaders.fragment,query:{index:0,type:_utils.FRAG_TYPE.STYLE}}),(0,_utils.stringifyLoaders)(s)}if(e===_utils.FRAG_TYPE.SCRIPT){const e=(0,_lib.getBabelConfigJsPath)(cwd);return s=[],_compilationConfig.compileOptionsObject.enableIstanbul&&s.push({name:"istanbul-instrumenter-loader",query:{}}),s.push({name:defaultLoaders.script},{name:defaultLoaders.module}),t===_utils.ENTRY_TYPE.APP?(s.push({name:defaultLoaders.mainfest,query:{path:_path.default.dirname(r.path)}},{name:require.resolve("babel-loader"),query:{cwd:cwd,cacheDirectory:!0,comments:!1,configFile:e}}),_compilationConfig.compileOptionsObject.enableDiagnosis&&s.push({name:require.resolve("@hap-toolkit/packager/lib/loaders/diagnosis-loader.js"),query:{pureScript:!0,hookName:"onCreate",hostName:_compilationConfig.compileOptionsObject.enableDiagnosis}})):(s.push({name:require.resolve("babel-loader"),query:{cwd:cwd,cacheDirectory:!0,plugins:[require.resolve("./babel-plugin-jsx.js")],comments:!1,configFile:e}}),(0,_utils.isUXRender)(t)&&s.push({name:defaultLoaders.access})),r.alone||s.push({name:defaultLoaders.fragment,query:{index:0,type:_utils.FRAG_TYPE.SCRIPT}}),_compilationConfig.compileOptionsObject.enableE2e&&s.push({name:require.resolve("@hap-toolkit/packager/lib/loaders/inject-suite-loader.js"),query:{hookName:"onCreate"}}),(0,_utils.stringifyLoaders)(s)}}function processImportFrag(e,r,t){let s="";if(r.length)for(let a=0;a<r.length;a++){const o=r[a];let i=o.attrs.src,l=o.attrs.name;if(!i)return e.emitWarning(new Error("导入组件需要设置属性 `src` ")),"";if(!o.isValid)return e.emitError(new Error("导入组件resolve 出错 "+o.err)),"";i=o.srcPath,l||(l=(0,_utils.getNameByPath)(i)),l=l.toLowerCase(),_validator.default.isReservedTag(l)&&e.emitWarning(new Error("导入组件的属性 `name` 不能使用保留字: "+l)),t.push(l),(0,_utils.print)({name:l,src:i});let n=(0,_utils.makeRequireString)(e,makeLoaderString(_utils.FRAG_TYPE.IMPORT),`${i}?uxType=${_utils.ENTRY_TYPE.COMP}&name=${l}`);_compilationConfig.compileOptionsObject.stats&&(n=`console.time(\`PERF: require @app-component/${l}\`)\n${n}`,n+=`console.timeEnd(\`PERF: require @app-component/${l}\`)\n\n`),s+=n}return s}function processTemplateFrag(e,r,t,s){let a="{}";if(r.length){const o=r[0];let i=e.resourcePath;const l=o.attrs.src;l&&(i=l),s=s.map(e=>"importNames[]="+e),a=(0,_utils.makeRequireString)(e,makeLoaderString(_utils.FRAG_TYPE.TEMPLATE,{alone:!!l}),`${i}?uxType=${t}&${s.join(",")}`)}else e.emitError(new Error("需要模板 <template> 片段"));return a}function processStyleFrag(e,r,t){let s="{}";if(r.length){const a=r[0];let o=e.resourcePath;const i=a.attrs.src,l=a.attrs.lang;i&&(o=i),(0,_utils.print)({style:o}),s=(0,_utils.makeRequireString)(e,makeLoaderString(_utils.FRAG_TYPE.STYLE,{alone:!!i,lang:l}),`${o}?uxType=${t}`)}return s}function processScriptFrag(e,r,t){let s="null";if(r.length){const a=r[0];let o=e.resourcePath;const i=a.attrs.src;i&&(o=i),s=(0,_utils.makeRequireString)(e,makeLoaderString(_utils.FRAG_TYPE.SCRIPT,{alone:!!i,path:e.resourcePath},t),`${o}?uxType=${t}`)}return s}function parseImportList(e,r){return Promise.all(r.map(r=>resolveImportItemSrc(e,r)))}function resolveImportItemSrc(e,r){return r.attrs.src?new Promise(t=>{e.resolve(e.context,r.attrs.src,(function(e,s){return e?(r.isValid=!1,r.err=e,t(r)):(r.isValid=!0,r.srcPath=s,t(r))}))}):(r.isValid=!1,Promise.resolve(r))}
|
|
2
|
+
//# sourceMappingURL=ux-fragment-utils.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var _path=_interopRequireDefault(require("path")),_loaderUtils=_interopRequireDefault(require("loader-utils")),_compiler=require("@hap-toolkit/compiler"),_validator=_interopRequireDefault(require("@hap-toolkit/compiler/lib/template/validator")),_compilationConfig=require("@hap-toolkit/shared-utils/compilation-config"),_uxFragmentUtils=require("./ux-fragment-utils"),_utils=require("./common/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function assemble(e,o,p,t){const r=[],{enablePerformanceCheck:n}=_compilationConfig.compileOptionsObject,s=[];return n&&r.push(`console.record('### App Performance ### 执行自定义组件模块[PERF:RPK:defineCustomCompModule(${p})]开始:' + new Date().toJSON())\n console.time('PERF:RPK:defineCustomCompModule(${p})')\n console.time('PERF:RPK:defineCustomCompImport(${p})')`),r.push((0,_uxFragmentUtils.processImportFrag)(e,o.import,s)),n&&r.push(`console.timeEnd('PERF:RPK:defineCustomCompImport(${p})')`),r.push("var $app_style$ = "+(0,_uxFragmentUtils.processStyleFrag)(e,o.style,t)),n&&r.push(`console.time('PERF:RPK:defineCustomCompScript(${p})')`),r.push("var $app_script$ = "+(0,_uxFragmentUtils.processScriptFrag)(e,o.script,t)),n&&r.push(`console.timeEnd('PERF:RPK:defineCustomCompScript(${p})')\n onsole.record('### App Performance ### 定义自定义组件函数[PERF:RPK:appDefineCustomCompFn(${p})]开始:' + new Date().toJSON())\n console.time('PERF:RPK:appDefineCustomCompFn(${p})')`),r.push(`$app_define$('@app-component/${p}', [], function($app_require$, $app_exports$, $app_module$) {`),o.script.length>0&&r.push(" $app_script$($app_module$, $app_exports$, $app_require$)\n if ($app_exports$.__esModule && $app_exports$.default) {\n $app_module$.exports = $app_exports$.default\n }"),r.push(" $app_module$.exports.template = "+(0,_uxFragmentUtils.processTemplateFrag)(e,o.template,t,s)),o.style.length>0&&r.push(" $app_module$.exports.style = $app_style$"),r.push("})"),n&&r.push(`\n console.record('### App Performance ### 定义自定义组件函数[PERF:RPK:appDefineCustomCompFn(${p})]结束:' + new Date().toJSON())\n console.timeEnd('PERF:RPK:appDefineCustomCompFn(${p})')`),(0,_utils.isUXRender)(t)&&(n&&r.push(`console.record('### App Performance ### 启动页面自定义组件[PERF:RPK:appBootstrapCustomCompFn(${p})]开始:' + new Date().toJSON())\n console.time('PERF:RPK:appBootstrapCustomCompFn(${p})')`),r.push(`$app_bootstrap$('@app-component/${p}',{ packagerVersion: QUICKAPP_TOOLKIT_VERSION })`),n&&r.push(`console.record('### App Performance ### 启动页面自定义组件[PERF:RPK:appBootstrapCustomCompFn(${p})]结束:' + new Date().toJSON())\n console.timeEnd('PERF:RPK:appBootstrapCustomCompFn(${p})')`)),t===_utils.ENTRY_TYPE.COMP&&_compilationConfig.compileOptionsObject.enableLazyComponent&&(n&&r.push(`console.record('### App Performance ### 定义自定义组件封装[PERF:RPK:appDefineWrapCustomCompFn(${p})]开始:' + new Date().toJSON())\n console.time('PERF:RPK:appDefineWrapCustomCompFn(${p})')`),r.unshift(`$app_define_wrap$('@app-component/${p}', function () {`),r.push("})"),n&&r.push(`\n console.record('### App Performance ### 定义自定义组件封装[PERF:RPK:appDefineWrapCustomCompFn(${p})]结束:' + new Date().toJSON())\n console.timeEnd('PERF:RPK:appDefineWrapCustomCompFn(${p})')`)),n&&r.push(`console.record('### App Performance ### 执行自定义组件模块[PERF:RPK:defineCustomCompModule(${p})]结束:' + new Date().toJSON())\n console.timeEnd('PERF:RPK:defineCustomCompModule(${p})')`),r.join("\n")}function loader(e){const o=this.async(),p=this.resourcePath,{ext:t}=_path.default.parse(p);if(-1===[".mix",".ux"].indexOf(t))return void o(new Error("未知文件格式:"+t));const r=_loaderUtils.default.parseQuery(this.resourceQuery||"?"),n=r.uxType,s=r.name||(0,_utils.getNameByPath)(p);_validator.default.isReservedTag(s)&&this.emitWarning(new Error("脚本文件名不能使用保留字:"+s)),(0,_utils.print)({resourceQuery:this.resourceQuery,resourcePath:p,name:s});const a=(0,_compiler.parseFragmentsWithCache)(e,p);(0,_utils.print)(a),(0,_uxFragmentUtils.parseImportList)(this,a.import).then(()=>assemble(this,a,s,n)).then(e=>{o(null,e)}).catch(e=>{o(e,"")})}module.exports=loader;
|
|
2
|
+
//# sourceMappingURL=ux-loader.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var _webpack=_interopRequireDefault(require("webpack")),_webpackSources=_interopRequireDefault(require("webpack-sources")),_JavascriptModulesPlugin=_interopRequireDefault(require("webpack/lib/javascript/JavascriptModulesPlugin")),_NormalModule=_interopRequireDefault(require("webpack/lib/NormalModule"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{ConcatSource:ConcatSource,OriginalSource:OriginalSource}=_webpackSources.default,{util:{createHash:createHash}}=_webpack.default,MODULE_TYPE="css/extract",pluginName="css-extract-plugin",REGEXP_NAME=/\[name\]/i,REGEXP_PLACEHOLDERS=/\[name\]/g,DEFAULT_FILENAME="[name].css.json";class CssDependency extends _webpack.default.Dependency{constructor({identifier:e,content:t,media:n,sourceMap:i},s,r){super(),this.identifier=e,this.identifierIndex=r,this.content=t,this.media=n,this.sourceMap=i,this.context=s}getResourceIdentifier(){return`css-module-${this.identifier}-${this.identifierIndex}`}}class CssDependencyTemplate{apply(){}}class CssModule extends _webpack.default.Module{constructor(e){super(MODULE_TYPE,e.context),this.id="",this._identifier=e.identifier,this._identifierIndex=e.identifierIndex,this.content=e.content,this.media=e.media,this.sourceMap=e.sourceMap}size(){return this.content.length}identifier(){return`css ${this._identifier} ${this._identifierIndex}`}readableIdentifier(e){return`css ${e.shorten(this._identifier)}${this._identifierIndex?` (${this._identifierIndex})`:""}`}nameForCondition(){const e=this._identifier.split("!").pop(),t=e.indexOf("?");return t>=0?e.substring(0,t):e}updateCacheModule(e){this.content=e.content,this.media=e.media,this.sourceMap=e.sourceMap}needRebuild(){return!0}build(e,t,n,i,s){this.buildInfo={},this.buildMeta={},s()}updateHash(e,t){t.chunkGraph.moduleGraph.getExportsInfo(this).updateHash(e),e.update(this.content),e.update(this.media||""),e.update(this.sourceMap?JSON.stringify(this.sourceMap):"")}}class CssModuleFactory{create({dependencies:[e]},t){t(null,new CssModule(e))}}class ExtractCssPlugin{constructor(e={}){if(this.options=Object.assign({filename:DEFAULT_FILENAME,moduleFilename:()=>this.options.filename||DEFAULT_FILENAME,ignoreOrder:!1},e),!this.options.chunkFilename){const{filename:e}=this.options;e.match(REGEXP_PLACEHOLDERS)&&(this.options.chunkFilename=e)}}apply(e){e.hooks.thisCompilation.tap(pluginName,e=>{_NormalModule.default.getCompilationHooks(e).loader.tap(pluginName,(e,t)=>{const n=t;e[MODULE_TYPE]=e=>{n.addDependency(new CssDependency(e,t.context,0))}}),e.dependencyFactories.set(CssDependency,new CssModuleFactory),e.dependencyTemplates.set(CssDependency,new CssDependencyTemplate),e.hooks.renderManifest.tap(pluginName,(t,{chunk:n})=>{const i=Array.from(e.chunkGraph.getOrderedChunkModulesIterable(n)).filter(e=>e.type===MODULE_TYPE);i.length>0&&t.push({render:()=>this.renderContentAsset(e,n,i,e.runtimeTemplate.requestShortener),filenameTemplate:({chunk:e})=>this.options.moduleFilename(e),pathOptions:{chunk:n,contentHashType:MODULE_TYPE},identifier:`${pluginName}.${n.id}`,hash:n.contentHash[MODULE_TYPE]})}),_JavascriptModulesPlugin.default.getCompilationHooks(e).chunkHash.tap(pluginName,(e,t)=>{const{chunkFilename:n}=this.options;REGEXP_NAME.test(n)&&t.update(JSON.stringify(e.getChunkMaps(!0).name))}),e.hooks.contentHash.tap(pluginName,t=>{const{outputOptions:n}=e,{hashFunction:i,hashDigest:s,hashDigestLength:r}=n,a=createHash(i);for(const n of Array.from(e.chunkGraph.getChunkEntryModulesIterable(t)))n.type===MODULE_TYPE&&n.updateHash(a,e);const{contentHash:o}=t;o[MODULE_TYPE]=a.digest(s).substring(0,r)})})}renderContentAsset(e,t,n,i){let s;const[r]=t.groupsIterable;if("function"==typeof r.getModulePostOrderIndex){const r=new Map(n.map(e=>[e,new Set])),a=Array.from(t.groupsIterable,e=>{const t=n.map(t=>({module:t,index:e.getModulePostOrderIndex(t)})).filter(e=>void 0!==e.index).sort((e,t)=>t.index-e.index).map(e=>e.module);for(let e=0;e<t.length;e++){const n=r.get(t[e]);for(let i=e+1;i<t.length;i++)n.add(t[i])}return t});s=new Set;const o=e=>!s.has(e);for(;s.size<n.length;){let n,d,u=!1;for(const e of a){for(;e.length>0&&s.has(e[e.length-1]);)e.pop();if(0!==e.length){const t=e[e.length-1],i=r.get(t),a=Array.from(i).filter(o);if((!d||d.length>a.length)&&(n=e,d=a),0===a.length){s.add(e.pop()),u=!0;break}}}if(!u){const r=n.pop();this.options.ignoreOrder||e.warnings.push(new Error(`chunk ${t.name||t.id} [${pluginName}]\nConflicting order between:\n * ${r.readableIdentifier(i)}\n`+d.map(e=>" * "+e.readableIdentifier(i)).join("\n"))),s.add(r)}}}else n.sort((e,t)=>e.index2-t.index2),s=n;const a=new ConcatSource;a.add('{ "list": [\n');let o=0;return s.forEach((e,t,n)=>{a.add(new OriginalSource(e.content,e.readableIdentifier(i))),++o!==n.size&&(a.add(","),a.add("\n"))}),a.add("\n]}"),new ConcatSource(a)}}module.exports=ExtractCssPlugin;
|
|
2
|
+
//# sourceMappingURL=extract-css-plugin.js.map
|
package/lib/template.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const{compileOptionsObject:compileOptionsObject}=require("@hap-toolkit/shared-utils/compilation-config"),{loaderWrapper:loaderWrapper}=require("@hap-toolkit/packager/lib/common/utils");module.exports.postHook=function(e,{cwd:r,pathSrc:o},s){let l;if(s?(l=s,l.webpack&&(l=l.webpack)):l={module:{rules:[{test:/\.(png|jpe?g|gif|svg|bmp|webp|mp4|wmv|avi|mpg|rmvb|mov|flv|otf|ttf|ttc|woff|eot)$/i,use:{loader:require.resolve("url-loader")}}]}},(l&&l.module&&l.module.rules||[]).forEach(r=>{r.test.exec(".ts")&&loaderWrapper(o,r),e.module.rules.push(r)}),e.module.rules.push({test:/\.(ux|mix)/,oneOf:[{resourceQuery:/uxType=app/,use:require.resolve("./loaders/app-loader.js")},{resourceQuery:/uxType=(page|comp|card)/,use:require.resolve("./loaders/ux-loader.js")},{use:require.resolve("./loaders/ux-loader.js")}]}),compileOptionsObject.enableExtractCss){const r=require("./plugins/extract-css-plugin");e.plugins.push(new r)}e.plugins.push(...l&&l.plugins||[]),Object.keys(e.resolve).forEach(r=>{const o=e.resolve[r];o instanceof Array?o.push(...l.resolve&&l.resolve[r]||[]):"object"==typeof o&&null!==o&&Object.assign(o,l.resolve&&l.resolve[r]||{})}),Object.keys(l&&l.resolve||{}).forEach(r=>{r in e.resolve||(e.resolve[r]=l.resolve[r])})};
|
|
2
|
+
//# sourceMappingURL=webpack.post.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hap-toolkit/dsl-xvm",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.7",
|
|
4
4
|
"description": "webpack {loader,plugin} for supporting xvm in quickapp",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=8.0.0"
|
|
@@ -33,13 +33,13 @@
|
|
|
33
33
|
"!**/.DS_Store"
|
|
34
34
|
],
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@hap-toolkit/compiler": "1.9.
|
|
37
|
-
"@hap-toolkit/packager": "1.9.
|
|
38
|
-
"@hap-toolkit/shared-utils": "1.9.
|
|
36
|
+
"@hap-toolkit/compiler": "1.9.7",
|
|
37
|
+
"@hap-toolkit/packager": "1.9.7",
|
|
38
|
+
"@hap-toolkit/shared-utils": "1.9.7",
|
|
39
39
|
"babel-loader": "^8.1.0",
|
|
40
40
|
"css-loader": "^5.0.1",
|
|
41
41
|
"url-loader": "^4.1.1",
|
|
42
42
|
"webpack": "5.24.0"
|
|
43
43
|
},
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "d2cdb99dc4f04aa5ef71cf9bb1a27a7b822f4e78"
|
|
45
45
|
}
|