@hap-toolkit/dsl-xvm 2.1.0 → 2.1.1
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/device-json-template/config-tv.json +14 -14
- package/lib/loaders/ux-fragment-utils.js +1 -1
- package/package.json +5 -5
- package/readme.md +3 -3
- package/templates/app/demo/.eslintignore +6 -6
- package/templates/app/demo/.eslintrc.json +66 -66
- package/templates/app/demo/.prettierignore +6 -6
- package/templates/app/demo/README.md +11 -11
- package/templates/app/demo/_gitignore +16 -16
- package/templates/app/demo/package.json +54 -54
- package/templates/app/demo/scripts/gen/index.js +92 -92
- package/templates/app/demo/scripts/gen/template.ux +32 -32
- package/templates/app/demo/scripts/selfCloseInputTag.js +41 -41
- package/templates/app/demo/src/app.ux +22 -22
- package/templates/app/demo/src/assets/styles/mixins.scss +5 -5
- package/templates/app/demo/src/assets/styles/style.scss +2 -2
- package/templates/app/demo/src/assets/styles/variables.scss +11 -11
- package/templates/app/demo/src/global.js +38 -38
- package/templates/app/demo/src/helper/ajax.js +67 -67
- package/templates/app/demo/src/helper/apis/example.js +25 -25
- package/templates/app/demo/src/helper/apis/index.js +16 -16
- package/templates/app/demo/src/helper/utils.js +31 -31
- package/templates/app/demo/src/manifest.json +70 -70
- package/templates/app/demo/src/pages/Demo/index.ux +72 -72
- package/templates/app/demo/src/pages/DemoDetail/index.ux +63 -63
- package/templates/app/demo/src/sitemap.json +3 -3
- package/templates/app/demo/src/widgets/CardDemo/assets/styles.scss +16 -16
- package/templates/app/demo/src/widgets/CardDemo/index.ux +83 -83
- package/LICENSE +0 -51
- package/templates/app/demo/.gitignore +0 -26
- package/templates/app/demo/.npmrc +0 -0
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
{
|
|
2
|
-
"config": {
|
|
3
|
-
"designWidth": 1920
|
|
4
|
-
},
|
|
5
|
-
"display": {
|
|
6
|
-
"menu": false,
|
|
7
|
-
"fullScreen": true,
|
|
8
|
-
"titleBar": false,
|
|
9
|
-
"orientation": "landscape",
|
|
10
|
-
"menuBarData": {
|
|
11
|
-
"menuBar": false
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"config": {
|
|
3
|
+
"designWidth": 1920
|
|
4
|
+
},
|
|
5
|
+
"display": {
|
|
6
|
+
"menu": false,
|
|
7
|
+
"fullScreen": true,
|
|
8
|
+
"titleBar": false,
|
|
9
|
+
"orientation": "landscape",
|
|
10
|
+
"menuBarData": {
|
|
11
|
+
"menuBar": false
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseImportList=parseImportList,exports.processActionFrag=processActionFrag,exports.processCommandFrag=processCommandFrag,exports.processDataAppFrag=processDataAppFrag,exports.processDataFrag=processDataFrag,exports.processImportFrag=processImportFrag,exports.processPropsFrag=processPropsFrag,exports.processScriptFrag=processScriptFrag,exports.processStyleFrag=processStyleFrag,exports.processTemplateFrag=processTemplateFrag;var _resolve=require("resolve"),_path=_interopRequireDefault(require("path")),_sharedUtils=require("@hap-toolkit/shared-utils"),_packager=require("@hap-toolkit/packager"),_compiler=require("@hap-toolkit/compiler"),_utils=require("./common/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{validator:validator}=_compiler.templater,cwd=_path.default.resolve(_sharedUtils.globalConfig.projectPath),defaultLoaders={sass:(0,_resolve.sync)("sass-loader"),scss:(0,_resolve.sync)("sass-loader"),less:(0,_resolve.sync)("less-loader"),component:(0,_resolve.sync)("./ux-loader.js"),data:(0,_resolve.sync)("./data-loader.js"),action:(0,_resolve.sync)("./action-loader.js"),props:(0,_resolve.sync)("./props-loader.js"),fragment:(0,_resolve.sync)("./fragment-loader.js"),template:(0,_resolve.sync)("./template-loader.js"),style:(0,_resolve.sync)("./style-loader.js"),script:(0,_resolve.sync)("./script-loader.js"),module:(0,_resolve.sync)("@hap-toolkit/packager/lib/loaders/module-loader.js"),babel:(0,_resolve.sync)("babel-loader"),mainfest:(0,_resolve.sync)("@hap-toolkit/packager/lib/loaders/manifest-loader.js"),access:(0,_resolve.sync)("./access-loader.js"),"extract-css":(0,_resolve.sync)("./extract-css-loader.js"),datapp:(0,_resolve.sync)("./datapp-loader.js"),command:(0,_resolve.sync)("./command-loader.js")};function makeLoaderString(e,r,t,s){let a;if(r=r||{},e===_utils.FRAG_TYPE.IMPORT)return a=[{name:defaultLoaders.component,query:{cwd:cwd,type:_utils.FRAG_TYPE.IMPORT}}],(0,_utils.stringifyLoaders)(a);if(e===_utils.FRAG_TYPE.TEMPLATE)return a=[{name:defaultLoaders.template}],r.alone||a.push({name:defaultLoaders.fragment,query:{index:0,type:_utils.FRAG_TYPE.TEMPLATE}}),(0,_utils.stringifyLoaders)(a);if(e===_utils.FRAG_TYPE.DATA)return a=[{name:defaultLoaders.data},{name:defaultLoaders.fragment,query:{index:0,type:_utils.FRAG_TYPE.DATA}}],(0,_utils.stringifyLoaders)(a);if(e===_utils.FRAG_TYPE.ACTIONS)return a=[{name:defaultLoaders.action},{name:defaultLoaders.fragment,query:{index:0,type:_utils.FRAG_TYPE.DATA}}],(0,_utils.stringifyLoaders)(a);if(e===_utils.FRAG_TYPE.DATAPP)return a=[{name:defaultLoaders.datapp},{name:defaultLoaders.fragment,query:{index:0,type:_utils.FRAG_TYPE.DATA}}],(0,_utils.stringifyLoaders)(a);if(e===_utils.FRAG_TYPE.COMMANDS)return a=[{name:defaultLoaders.command},{name:defaultLoaders.fragment,query:{index:0,type:_utils.FRAG_TYPE.DATA}}],(0,_utils.stringifyLoaders)(a);if(e===_utils.FRAG_TYPE.PROPS)return a=[{name:defaultLoaders.props},{name:defaultLoaders.fragment,query:{index:0,type:_utils.FRAG_TYPE.DATA}}],(0,_utils.stringifyLoaders)(a);if(e===_utils.FRAG_TYPE.STYLE){a=[{name:defaultLoaders.style,query:{index:0,type:_utils.FRAG_TYPE.STYLE}}],_sharedUtils.compileOptionsObject.enableExtractCss&&!t&&a.unshift({name:defaultLoaders["extract-css"]});let e=r.lang;return e&&"css"!==e&&a.push({name:defaultLoaders[e]}),r.alone||a.push({name:defaultLoaders.fragment,query:{index:0,type:_utils.FRAG_TYPE.STYLE}}),(0,_utils.stringifyLoaders)(a)}if(e===_utils.FRAG_TYPE.SCRIPT){const e=(0,_packager.getBabelConfigJsPath)(cwd,!!_sharedUtils.globalConfig.useTreeShaking);return a=[],_sharedUtils.compileOptionsObject.enableIstanbul&&a.push({name:"istanbul-instrumenter-loader",query:{}}),a.push({name:defaultLoaders.script},{name:defaultLoaders.module}),s===_compiler.ENTRY_TYPE.APP?(a.push({name:defaultLoaders.mainfest,query:{path:_path.default.dirname(r.path)}},{name:defaultLoaders.babel,query:{cwd:cwd,cacheDirectory:!0,comments:!1,configFile:e}}),_sharedUtils.compileOptionsObject.enableDiagnosis&&a.push({name:(0,_resolve.sync)("@hap-toolkit/packager/lib/loaders/diagnosis-loader.js"),query:{pureScript:!0,hookName:"onCreate",hostName:_sharedUtils.compileOptionsObject.enableDiagnosis}})):(a.push({name:defaultLoaders.babel,query:{cwd:cwd,cacheDirectory:!0,plugins:[(0,_resolve.sync)("./babel-plugin-jsx.js")],comments:!1,configFile:e}}),(0,_utils.isUXRender)(s)&&a.push({name:defaultLoaders.access})),r.alone||a.push({name:defaultLoaders.fragment,query:{index:0,type:_utils.FRAG_TYPE.SCRIPT}}),_sharedUtils.compileOptionsObject.enableE2e&&a.push({name:(0,_resolve.sync)("@hap-toolkit/packager/lib/loaders/inject-suite-loader.js"),query:{hookName:"onCreate"}}),(0,_utils.stringifyLoaders)(a)}}function processImportFrag(e,r,t,s={}){const{newJSCard:a,lite:o,cardEntry:n,minCardRuntimeVersion:i,isTargetVivo:l}=s;let
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseImportList=parseImportList,exports.processActionFrag=processActionFrag,exports.processCommandFrag=processCommandFrag,exports.processDataAppFrag=processDataAppFrag,exports.processDataFrag=processDataFrag,exports.processImportFrag=processImportFrag,exports.processPropsFrag=processPropsFrag,exports.processScriptFrag=processScriptFrag,exports.processStyleFrag=processStyleFrag,exports.processTemplateFrag=processTemplateFrag;var _resolve=require("resolve"),_path=_interopRequireDefault(require("path")),_sharedUtils=require("@hap-toolkit/shared-utils"),_packager=require("@hap-toolkit/packager"),_compiler=require("@hap-toolkit/compiler"),_utils=require("./common/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{validator:validator}=_compiler.templater,cwd=_path.default.resolve(_sharedUtils.globalConfig.projectPath),defaultLoaders={sass:(0,_resolve.sync)("sass-loader"),scss:(0,_resolve.sync)("sass-loader"),less:(0,_resolve.sync)("less-loader"),component:(0,_resolve.sync)("./ux-loader.js"),data:(0,_resolve.sync)("./data-loader.js"),action:(0,_resolve.sync)("./action-loader.js"),props:(0,_resolve.sync)("./props-loader.js"),fragment:(0,_resolve.sync)("./fragment-loader.js"),template:(0,_resolve.sync)("./template-loader.js"),style:(0,_resolve.sync)("./style-loader.js"),script:(0,_resolve.sync)("./script-loader.js"),module:(0,_resolve.sync)("@hap-toolkit/packager/lib/loaders/module-loader.js"),babel:(0,_resolve.sync)("babel-loader"),mainfest:(0,_resolve.sync)("@hap-toolkit/packager/lib/loaders/manifest-loader.js"),access:(0,_resolve.sync)("./access-loader.js"),"extract-css":(0,_resolve.sync)("./extract-css-loader.js"),datapp:(0,_resolve.sync)("./datapp-loader.js"),command:(0,_resolve.sync)("./command-loader.js")};function makeLoaderString(e,r,t,s){let a;if(r=r||{},e===_utils.FRAG_TYPE.IMPORT)return a=[{name:defaultLoaders.component,query:{cwd:cwd,type:_utils.FRAG_TYPE.IMPORT}}],(0,_utils.stringifyLoaders)(a);if(e===_utils.FRAG_TYPE.TEMPLATE)return a=[{name:defaultLoaders.template}],r.alone||a.push({name:defaultLoaders.fragment,query:{index:0,type:_utils.FRAG_TYPE.TEMPLATE}}),(0,_utils.stringifyLoaders)(a);if(e===_utils.FRAG_TYPE.DATA)return a=[{name:defaultLoaders.data},{name:defaultLoaders.fragment,query:{index:0,type:_utils.FRAG_TYPE.DATA}}],(0,_utils.stringifyLoaders)(a);if(e===_utils.FRAG_TYPE.ACTIONS)return a=[{name:defaultLoaders.action},{name:defaultLoaders.fragment,query:{index:0,type:_utils.FRAG_TYPE.DATA}}],(0,_utils.stringifyLoaders)(a);if(e===_utils.FRAG_TYPE.DATAPP)return a=[{name:defaultLoaders.datapp},{name:defaultLoaders.fragment,query:{index:0,type:_utils.FRAG_TYPE.DATA}}],(0,_utils.stringifyLoaders)(a);if(e===_utils.FRAG_TYPE.COMMANDS)return a=[{name:defaultLoaders.command},{name:defaultLoaders.fragment,query:{index:0,type:_utils.FRAG_TYPE.DATA}}],(0,_utils.stringifyLoaders)(a);if(e===_utils.FRAG_TYPE.PROPS)return a=[{name:defaultLoaders.props},{name:defaultLoaders.fragment,query:{index:0,type:_utils.FRAG_TYPE.DATA}}],(0,_utils.stringifyLoaders)(a);if(e===_utils.FRAG_TYPE.STYLE){a=[{name:defaultLoaders.style,query:{index:0,type:_utils.FRAG_TYPE.STYLE}}],_sharedUtils.compileOptionsObject.enableExtractCss&&!t&&a.unshift({name:defaultLoaders["extract-css"]});let e=r.lang;return e&&"css"!==e&&a.push({name:defaultLoaders[e]}),r.alone||a.push({name:defaultLoaders.fragment,query:{index:0,type:_utils.FRAG_TYPE.STYLE}}),(0,_utils.stringifyLoaders)(a)}if(e===_utils.FRAG_TYPE.SCRIPT){const e=(0,_packager.getBabelConfigJsPath)(cwd,!!_sharedUtils.globalConfig.useTreeShaking);return a=[],_sharedUtils.compileOptionsObject.enableIstanbul&&a.push({name:"istanbul-instrumenter-loader",query:{}}),a.push({name:defaultLoaders.script},{name:defaultLoaders.module}),s===_compiler.ENTRY_TYPE.APP?(a.push({name:defaultLoaders.mainfest,query:{path:_path.default.dirname(r.path)}},{name:defaultLoaders.babel,query:{cwd:cwd,cacheDirectory:!0,comments:!1,configFile:e}}),_sharedUtils.compileOptionsObject.enableDiagnosis&&a.push({name:(0,_resolve.sync)("@hap-toolkit/packager/lib/loaders/diagnosis-loader.js"),query:{pureScript:!0,hookName:"onCreate",hostName:_sharedUtils.compileOptionsObject.enableDiagnosis}})):(a.push({name:defaultLoaders.babel,query:{cwd:cwd,cacheDirectory:!0,plugins:[(0,_resolve.sync)("./babel-plugin-jsx.js")],comments:!1,configFile:e}}),(0,_utils.isUXRender)(s)&&a.push({name:defaultLoaders.access})),r.alone||a.push({name:defaultLoaders.fragment,query:{index:0,type:_utils.FRAG_TYPE.SCRIPT}}),_sharedUtils.compileOptionsObject.enableE2e&&a.push({name:(0,_resolve.sync)("@hap-toolkit/packager/lib/loaders/inject-suite-loader.js"),query:{hookName:"onCreate"}}),(0,_utils.stringifyLoaders)(a)}}function processImportFrag(e,r,t,s={}){const{newJSCard:a,lite:o,cardEntry:n,minCardRuntimeVersion:i,isTargetVivo:l}=s;let c="";if(r.length){const s=a?`&newJSCard=${a}`:"",u=o?`&lite=${o}`:"",d=n?`&cardEntry=${encodeURIComponent(n)}`:"",p=i?`&minCardRuntimeVersion=${i}`:"",m=l?`&isTargetVivo=${l}`:"";for(let o=0;o<r.length;o++){const n=r[o];let i=n.attrs.src,l=n.attrs.name;if(!i)return e.emitWarning(new Error("导入组件需要设置属性 `src` ")),"";if(!n.isValid)return e.emitError(new Error(`导入组件resolve 出错 ${n.err}`)),"";i=n.srcPath,l||(l=(0,_utils.getNameByPath)(i)),l=l.toLowerCase(),validator.isReservedTag(l)&&e.emitWarning(new Error("导入组件的属性 `name` 不能使用保留字: "+l)),t.push(l),(0,_utils.print)({name:l,src:i});let _=(0,_utils.makeRequireString)(e,makeLoaderString(_utils.FRAG_TYPE.IMPORT,null,a),`${i}?uxType=${_compiler.ENTRY_TYPE.COMP}&name=${l}${s}${u}${d}${p}${m}`);_sharedUtils.compileOptionsObject.stats&&(_=`console.time(\`PERF: require @app-component/${l}\`)\n${_}`,_+=`console.timeEnd(\`PERF: require @app-component/${l}\`)\n\n`),c+=_}}return c}function processTemplateFrag(e,r,t,s={}){const{uxType:a,newJSCard:o,lite:n,cardEntry:i,minCardRuntimeVersion:l,isTargetVivo:c}=s;let u="{}";if(r.length){const s=r[0];let d=e.resourcePath;const p=s.attrs.src;p&&(d=p);const m=o?`&newJSCard=${o}`:"",_=n?`&lite=${n}`:"",g=o?`&uxPath=${encodeURIComponent(d)}`:"",f=i?`&cardEntry=${encodeURIComponent(i)}`:"",y=l?`&minCardRuntimeVersion=${l}`:"",P=c?`&isTargetVivo=${c}`:"";t=t.map((e=>"importNames[]="+e)),u=(0,_utils.makeRequireString)(e,makeLoaderString(_utils.FRAG_TYPE.TEMPLATE,{alone:!!p},o),`${d}?uxType=${a}&${t.join(",")}${m}${_}${g}${f}${y}${P}`)}else e.emitError(new Error("需要模板 <template> 片段"));return u}function processStyleFrag(e,r,t={}){const{uxType:s,newJSCard:a,lite:o,cardEntry:n}=t;let i="{}";if(r.length){const t=r[0];let l=e.resourcePath;const c=t.attrs.src,u=t.attrs.lang;c&&(l=c),(0,_utils.print)({style:l});const d=a?`&newJSCard=${a}`:"",p=o?`&lite=${o}`:"",m=a?`&uxPath=${encodeURIComponent(l)}`:"",_=n?`&cardEntry=${encodeURIComponent(n)}`:"";i=(0,_utils.makeRequireString)(e,makeLoaderString(_utils.FRAG_TYPE.STYLE,{alone:!!c,lang:u},a),`${l}?uxType=${s}${d}${p}${m}${_}`)}return i}function processScriptFrag(e,r,t={}){const{uxType:s,newJSCard:a,cardEntry:o}=t;let n="null";if(r.length){const t=r[0];let i=e.resourcePath;const l=t.attrs.src;l&&(i=l);const c=o?`&cardEntry=${encodeURIComponent(o)}`:"";n=(0,_utils.makeRequireString)(e,makeLoaderString(_utils.FRAG_TYPE.SCRIPT,{alone:!!l,path:e.resourcePath},a,s),`${i}?uxType=${s}${c}`)}return n}function processDataFrag(e,r,t){let s="null";if(r.length){const a=r[0];let o=e.resourcePath;const n=a.attrs.src;n&&(o=n),s=(0,_utils.makeRequireString)(e,makeLoaderString(_utils.FRAG_TYPE.DATA,{},!0,t),`${o}?index=0&lite=1`)}return s}function processActionFrag(e,r,t){let s="null";if(r.length){const a=r[0];let o=e.resourcePath;const n=a.attrs.src;n&&(o=n),s=(0,_utils.makeRequireString)(e,makeLoaderString(_utils.FRAG_TYPE.ACTIONS,{},!0,t),`${o}?index=0&lite=1`)}return s}function processPropsFrag(e,r,t){let s="null";if(r.length){const a=r[0];let o=e.resourcePath;const n=a.attrs.src;n&&(o=n),s=(0,_utils.makeRequireString)(e,makeLoaderString(_utils.FRAG_TYPE.PROPS,{},!0,t),`${o}?index=0&lite=1`)}return s}function processDataAppFrag(e,r,t){let s="null";if(r.length){const a=r[0];let o=e.resourcePath;const n=a.attrs.src;n&&(o=n),s=(0,_utils.makeRequireString)(e,makeLoaderString(_utils.FRAG_TYPE.DATAPP,{},!0,t),`${o}?index=0&lite=1`)}return s}function processCommandFrag(e,r,t){let s="null";if(r.length){const a=r[0];let o=e.resourcePath;const n=a.attrs.src;n&&(o=n),s=(0,_utils.makeRequireString)(e,makeLoaderString(_utils.FRAG_TYPE.COMMANDS,{},!0,t),`${o}?index=0&lite=1`)}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):(r.isValid=!0,r.srcPath=s),t(r)}))})):(r.isValid=!1,Promise.resolve(r))}
|
|
2
2
|
//# sourceMappingURL=ux-fragment-utils.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hap-toolkit/dsl-xvm",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.1",
|
|
4
4
|
"description": "webpack {loader,plugin} for supporting xvm in quickapp",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=14.0.0"
|
|
@@ -36,9 +36,9 @@
|
|
|
36
36
|
"!**/.DS_Store"
|
|
37
37
|
],
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@hap-toolkit/compiler": "2.1.
|
|
40
|
-
"@hap-toolkit/packager": "2.1.
|
|
41
|
-
"@hap-toolkit/shared-utils": "2.1.
|
|
39
|
+
"@hap-toolkit/compiler": "^2.1.1",
|
|
40
|
+
"@hap-toolkit/packager": "^2.1.1",
|
|
41
|
+
"@hap-toolkit/shared-utils": "^2.1.1",
|
|
42
42
|
"@jayfate/path": "^0.0.13",
|
|
43
43
|
"babel-loader": "^8.1.0",
|
|
44
44
|
"css-loader": "^5.0.1",
|
|
@@ -51,5 +51,5 @@
|
|
|
51
51
|
"url-loader": "^4.1.1",
|
|
52
52
|
"webpack": "5.72.0"
|
|
53
53
|
},
|
|
54
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "9fbf8ec01cc7fbd44a4908ecdc407a5022e89e7e"
|
|
55
55
|
}
|
package/readme.md
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
# @hap-toolkit/dsl-xvm
|
|
2
|
-
|
|
3
|
-
`hap-toolkit` `xvm` 适配支持模块
|
|
1
|
+
# @hap-toolkit/dsl-xvm
|
|
2
|
+
|
|
3
|
+
`hap-toolkit` `xvm` 适配支持模块
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/.nyc_output
|
|
2
|
-
/coverage
|
|
3
|
-
/node_modules
|
|
4
|
-
/tests/fixtures
|
|
5
|
-
/sign
|
|
6
|
-
/dist
|
|
1
|
+
/.nyc_output
|
|
2
|
+
/coverage
|
|
3
|
+
/node_modules
|
|
4
|
+
/tests/fixtures
|
|
5
|
+
/sign
|
|
6
|
+
/dist
|
|
7
7
|
/build
|
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
{
|
|
2
|
-
"root": true,
|
|
3
|
-
"env": {
|
|
4
|
-
"node": true,
|
|
5
|
-
"commonjs": true
|
|
6
|
-
},
|
|
7
|
-
"extends": [
|
|
8
|
-
"eslint:recommended",
|
|
9
|
-
"plugin:ux/essential"
|
|
10
|
-
],
|
|
11
|
-
"parserOptions": {
|
|
12
|
-
"parser": "babel-eslint",
|
|
13
|
-
"sourceType": "module",
|
|
14
|
-
"ecmaFeatures": {
|
|
15
|
-
"ecmaVersion": true,
|
|
16
|
-
"jsx": true
|
|
17
|
-
}
|
|
18
|
-
},
|
|
19
|
-
"globals": {
|
|
20
|
-
"loadData": false,
|
|
21
|
-
"saveData": false,
|
|
22
|
-
"history": false,
|
|
23
|
-
"console": false,
|
|
24
|
-
"setTimeout": false,
|
|
25
|
-
"clearTimeout": false,
|
|
26
|
-
"setInterval": false,
|
|
27
|
-
"clearInterval": false
|
|
28
|
-
},
|
|
29
|
-
"rules": {
|
|
30
|
-
"indent": [
|
|
31
|
-
"warn",
|
|
32
|
-
2
|
|
33
|
-
],
|
|
34
|
-
"no-console": [
|
|
35
|
-
"warn",
|
|
36
|
-
{
|
|
37
|
-
"allow": [
|
|
38
|
-
"info",
|
|
39
|
-
"warn",
|
|
40
|
-
"error"
|
|
41
|
-
]
|
|
42
|
-
}
|
|
43
|
-
],
|
|
44
|
-
"no-unused-vars": [
|
|
45
|
-
"warn",
|
|
46
|
-
{
|
|
47
|
-
"varsIgnorePattern": "prompt"
|
|
48
|
-
}
|
|
49
|
-
],
|
|
50
|
-
"quotes": [
|
|
51
|
-
"warn",
|
|
52
|
-
"single",
|
|
53
|
-
{
|
|
54
|
-
"avoidEscape": true,
|
|
55
|
-
"allowTemplateLiterals": true
|
|
56
|
-
}
|
|
57
|
-
],
|
|
58
|
-
"linebreak-style": [
|
|
59
|
-
"warn",
|
|
60
|
-
"unix"
|
|
61
|
-
],
|
|
62
|
-
"semi": [
|
|
63
|
-
"warn",
|
|
64
|
-
"never"
|
|
65
|
-
]
|
|
66
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"root": true,
|
|
3
|
+
"env": {
|
|
4
|
+
"node": true,
|
|
5
|
+
"commonjs": true
|
|
6
|
+
},
|
|
7
|
+
"extends": [
|
|
8
|
+
"eslint:recommended",
|
|
9
|
+
"plugin:ux/essential"
|
|
10
|
+
],
|
|
11
|
+
"parserOptions": {
|
|
12
|
+
"parser": "babel-eslint",
|
|
13
|
+
"sourceType": "module",
|
|
14
|
+
"ecmaFeatures": {
|
|
15
|
+
"ecmaVersion": true,
|
|
16
|
+
"jsx": true
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"globals": {
|
|
20
|
+
"loadData": false,
|
|
21
|
+
"saveData": false,
|
|
22
|
+
"history": false,
|
|
23
|
+
"console": false,
|
|
24
|
+
"setTimeout": false,
|
|
25
|
+
"clearTimeout": false,
|
|
26
|
+
"setInterval": false,
|
|
27
|
+
"clearInterval": false
|
|
28
|
+
},
|
|
29
|
+
"rules": {
|
|
30
|
+
"indent": [
|
|
31
|
+
"warn",
|
|
32
|
+
2
|
|
33
|
+
],
|
|
34
|
+
"no-console": [
|
|
35
|
+
"warn",
|
|
36
|
+
{
|
|
37
|
+
"allow": [
|
|
38
|
+
"info",
|
|
39
|
+
"warn",
|
|
40
|
+
"error"
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
],
|
|
44
|
+
"no-unused-vars": [
|
|
45
|
+
"warn",
|
|
46
|
+
{
|
|
47
|
+
"varsIgnorePattern": "prompt"
|
|
48
|
+
}
|
|
49
|
+
],
|
|
50
|
+
"quotes": [
|
|
51
|
+
"warn",
|
|
52
|
+
"single",
|
|
53
|
+
{
|
|
54
|
+
"avoidEscape": true,
|
|
55
|
+
"allowTemplateLiterals": true
|
|
56
|
+
}
|
|
57
|
+
],
|
|
58
|
+
"linebreak-style": [
|
|
59
|
+
"warn",
|
|
60
|
+
"unix"
|
|
61
|
+
],
|
|
62
|
+
"semi": [
|
|
63
|
+
"warn",
|
|
64
|
+
"never"
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
67
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
package.json
|
|
2
|
-
manifest.json
|
|
3
|
-
README.md
|
|
4
|
-
|
|
5
|
-
# assets/js
|
|
6
|
-
src/assets/js/*.js
|
|
1
|
+
package.json
|
|
2
|
+
manifest.json
|
|
3
|
+
README.md
|
|
4
|
+
|
|
5
|
+
# assets/js
|
|
6
|
+
src/assets/js/*.js
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
## 快速上手
|
|
2
|
-
|
|
3
|
-
您可通过运行 `npm run start` 后,使用快应用引擎扫描二维码快速开发。
|
|
4
|
-
|
|
5
|
-
## 了解更多
|
|
6
|
-
|
|
7
|
-
你可以通过我们的[官方文档](https://doc.quickapp.cn/)熟悉和了解快应用。
|
|
8
|
-
|
|
9
|
-
可以通过我们[快应用官方示例项目](https://github.com/quickappcn/sample),快速掌握 api 和组件的用法
|
|
10
|
-
|
|
11
|
-
对我们有什么意见,建议或者 bug,可以在这里反馈 https://github.com/quickappcn/issues
|
|
1
|
+
## 快速上手
|
|
2
|
+
|
|
3
|
+
您可通过运行 `npm run start` 后,使用快应用引擎扫描二维码快速开发。
|
|
4
|
+
|
|
5
|
+
## 了解更多
|
|
6
|
+
|
|
7
|
+
你可以通过我们的[官方文档](https://doc.quickapp.cn/)熟悉和了解快应用。
|
|
8
|
+
|
|
9
|
+
可以通过我们[快应用官方示例项目](https://github.com/quickappcn/sample),快速掌握 api 和组件的用法
|
|
10
|
+
|
|
11
|
+
对我们有什么意见,建议或者 bug,可以在这里反馈 https://github.com/quickappcn/issues
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
node_modules
|
|
2
|
-
build
|
|
3
|
-
dist
|
|
4
|
-
|
|
5
|
-
.DS_Store
|
|
6
|
-
Thumbs.db
|
|
7
|
-
|
|
8
|
-
*.log
|
|
9
|
-
*.iml
|
|
10
|
-
.idea/
|
|
11
|
-
.vscode/
|
|
12
|
-
|
|
13
|
-
.nyc_output
|
|
14
|
-
/coverage
|
|
15
|
-
|
|
16
|
-
/logs
|
|
1
|
+
node_modules
|
|
2
|
+
build
|
|
3
|
+
dist
|
|
4
|
+
|
|
5
|
+
.DS_Store
|
|
6
|
+
Thumbs.db
|
|
7
|
+
|
|
8
|
+
*.log
|
|
9
|
+
*.iml
|
|
10
|
+
.idea/
|
|
11
|
+
.vscode/
|
|
12
|
+
|
|
13
|
+
.nyc_output
|
|
14
|
+
/coverage
|
|
15
|
+
|
|
16
|
+
/logs
|
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "quickapp-sample-template",
|
|
3
|
-
"version": "2.0.0",
|
|
4
|
-
"description": "Quickapp Sample Template",
|
|
5
|
-
"scripts": {
|
|
6
|
-
"start": "hap server --watch",
|
|
7
|
-
"server": "hap server",
|
|
8
|
-
"build": "hap build",
|
|
9
|
-
"release": "hap release",
|
|
10
|
-
"watch": "hap watch",
|
|
11
|
-
"debug": "hap debug",
|
|
12
|
-
"gen": "node ./scripts/gen/index.js",
|
|
13
|
-
"precommit-msg": "echo '🚧 start pre-commit checks ...' && exit 0",
|
|
14
|
-
"prettier": "node ./scripts/selfCloseInputTag.js && prettier --write \"src/**/*.{js,ux,less,scss,css}\"",
|
|
15
|
-
"prettier-watcher": "onchange '**/*.md' \"src/**/**/*.{js,ux,less,scss,css}\" -- prettier --write {{changed}}"
|
|
16
|
-
},
|
|
17
|
-
"dependencies": {},
|
|
18
|
-
"devDependencies": {
|
|
19
|
-
"@babel/runtime": "^7.12.5",
|
|
20
|
-
"husky": "^4.3.0",
|
|
21
|
-
"lint-staged": "^10.5.1",
|
|
22
|
-
"onchange": "^5.2.0",
|
|
23
|
-
"prettier": "^1.15.3",
|
|
24
|
-
"prettier-plugin-ux": "^0.3.0",
|
|
25
|
-
"colors": "^1.4.0",
|
|
26
|
-
"hap-toolkit": "^{{ toolkitVersion }}"
|
|
27
|
-
},
|
|
28
|
-
"prettier": {
|
|
29
|
-
"singleQuote": true,
|
|
30
|
-
"semi": false,
|
|
31
|
-
"printWidth": 80,
|
|
32
|
-
"proseWrap": "never",
|
|
33
|
-
"tabWidth": 2
|
|
34
|
-
},
|
|
35
|
-
"husky": {
|
|
36
|
-
"hooks": {
|
|
37
|
-
"pre-commit": "yarn run precommit-msg && lint-staged"
|
|
38
|
-
}
|
|
39
|
-
},
|
|
40
|
-
"lint-staged": {
|
|
41
|
-
"**/**.{ux,js,json,pcss,md}": [
|
|
42
|
-
"prettier --write",
|
|
43
|
-
"git add"
|
|
44
|
-
]
|
|
45
|
-
},
|
|
46
|
-
"keywords": [
|
|
47
|
-
"快应用",
|
|
48
|
-
"快应用示例",
|
|
49
|
-
"快应用模版"
|
|
50
|
-
],
|
|
51
|
-
"browserslist": [
|
|
52
|
-
"chrome 65"
|
|
53
|
-
]
|
|
54
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "quickapp-sample-template",
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"description": "Quickapp Sample Template",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"start": "hap server --watch",
|
|
7
|
+
"server": "hap server",
|
|
8
|
+
"build": "hap build",
|
|
9
|
+
"release": "hap release",
|
|
10
|
+
"watch": "hap watch",
|
|
11
|
+
"debug": "hap debug",
|
|
12
|
+
"gen": "node ./scripts/gen/index.js",
|
|
13
|
+
"precommit-msg": "echo '🚧 start pre-commit checks ...' && exit 0",
|
|
14
|
+
"prettier": "node ./scripts/selfCloseInputTag.js && prettier --write \"src/**/*.{js,ux,less,scss,css}\"",
|
|
15
|
+
"prettier-watcher": "onchange '**/*.md' \"src/**/**/*.{js,ux,less,scss,css}\" -- prettier --write {{changed}}"
|
|
16
|
+
},
|
|
17
|
+
"dependencies": {},
|
|
18
|
+
"devDependencies": {
|
|
19
|
+
"@babel/runtime": "^7.12.5",
|
|
20
|
+
"husky": "^4.3.0",
|
|
21
|
+
"lint-staged": "^10.5.1",
|
|
22
|
+
"onchange": "^5.2.0",
|
|
23
|
+
"prettier": "^1.15.3",
|
|
24
|
+
"prettier-plugin-ux": "^0.3.0",
|
|
25
|
+
"colors": "^1.4.0",
|
|
26
|
+
"hap-toolkit": "^{{ toolkitVersion }}"
|
|
27
|
+
},
|
|
28
|
+
"prettier": {
|
|
29
|
+
"singleQuote": true,
|
|
30
|
+
"semi": false,
|
|
31
|
+
"printWidth": 80,
|
|
32
|
+
"proseWrap": "never",
|
|
33
|
+
"tabWidth": 2
|
|
34
|
+
},
|
|
35
|
+
"husky": {
|
|
36
|
+
"hooks": {
|
|
37
|
+
"pre-commit": "yarn run precommit-msg && lint-staged"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"lint-staged": {
|
|
41
|
+
"**/**.{ux,js,json,pcss,md}": [
|
|
42
|
+
"prettier --write",
|
|
43
|
+
"git add"
|
|
44
|
+
]
|
|
45
|
+
},
|
|
46
|
+
"keywords": [
|
|
47
|
+
"快应用",
|
|
48
|
+
"快应用示例",
|
|
49
|
+
"快应用模版"
|
|
50
|
+
],
|
|
51
|
+
"browserslist": [
|
|
52
|
+
"chrome 65"
|
|
53
|
+
]
|
|
54
|
+
}
|
|
@@ -1,92 +1,92 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2021-present, the hapjs-platform Project Contributors
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* @desc: gen script command,make a new page generated by one click.
|
|
8
|
-
* @author: nicejade
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
const fs = require('fs')
|
|
12
|
-
const path = require('path')
|
|
13
|
-
const colors = require('colors')
|
|
14
|
-
|
|
15
|
-
const newFolderName = process.argv[2]
|
|
16
|
-
|
|
17
|
-
String.prototype.firstUpperCase = function () {
|
|
18
|
-
return this.replace(/\b(\w)/g, ($1) => {
|
|
19
|
-
return $1.toLowerCase()
|
|
20
|
-
})
|
|
21
|
-
}
|
|
22
|
-
const resolve = (dir) => {
|
|
23
|
-
return path.join(__dirname, '../..', dir)
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
const successExecPrint = (msg) => {
|
|
27
|
-
console.log(
|
|
28
|
-
colors.green(`✓ `) +
|
|
29
|
-
colors.cyan(`${msg} `) +
|
|
30
|
-
colors.green('task has been successfully executed.')
|
|
31
|
-
)
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
function createNewPage(newFolderPath) {
|
|
35
|
-
const mReg = new RegExp('@PAGE_CLASS_NAME', 'g')
|
|
36
|
-
const pageContent = fs.readFileSync(`${__dirname}/template.ux`, 'UTF-8')
|
|
37
|
-
const rootClassName = newFolderName
|
|
38
|
-
.firstUpperCase()
|
|
39
|
-
.replace(/([A-Z])/g, '-$1')
|
|
40
|
-
.toLowerCase()
|
|
41
|
-
const newContent = pageContent.replace(mReg, rootClassName)
|
|
42
|
-
|
|
43
|
-
fs.mkdirSync(newFolderPath, 0777)
|
|
44
|
-
fs.writeFile(`${newFolderPath}/index.ux`, newContent, (error) => {
|
|
45
|
-
if (error) throw `Something went wrong: ${error}`
|
|
46
|
-
})
|
|
47
|
-
successExecPrint('Create New Page')
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
function saveRouter2Manifest() {
|
|
51
|
-
const manifestPath = resolve('/src/manifest.json')
|
|
52
|
-
let manifestConf = fs.readFileSync(manifestPath, 'UTF-8')
|
|
53
|
-
manifestConf = JSON.parse(manifestConf)
|
|
54
|
-
const routerPages = manifestConf.router.pages
|
|
55
|
-
routerPages[`pages/${newFolderName}`] = {
|
|
56
|
-
component: 'index',
|
|
57
|
-
}
|
|
58
|
-
manifestConf = JSON.stringify(manifestConf, null, 2)
|
|
59
|
-
fs.writeFile(manifestPath, manifestConf, (error) => {
|
|
60
|
-
if (error) throw `Something went wrong[@saveRouter2Manifest]: ${error}`
|
|
61
|
-
})
|
|
62
|
-
successExecPrint('Save Router Into Manifest')
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
function main() {
|
|
66
|
-
if (!newFolderName) {
|
|
67
|
-
return console.warn(
|
|
68
|
-
`⚠️ Please enter the name of the page you want to create.`.underline.red
|
|
69
|
-
)
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
const folderNameReg = /^[A-Z][[A-Za-z0-9]+$/
|
|
73
|
-
if (!folderNameReg.test(newFolderName)) {
|
|
74
|
-
return console.warn(
|
|
75
|
-
`⚠️ Please enter the standard Folder name. Eg: XyzAbcde.`.underline.red
|
|
76
|
-
)
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
const newFolderPath = path.join(__dirname, `../../src/pages/${newFolderName}`)
|
|
80
|
-
const isExist = fs.existsSync(newFolderPath)
|
|
81
|
-
|
|
82
|
-
if (isExist) {
|
|
83
|
-
return console.warn(
|
|
84
|
-
`⚠️ ${newFolderName} already exists in the /src/pages/ directory.`
|
|
85
|
-
.underline.red
|
|
86
|
-
)
|
|
87
|
-
}
|
|
88
|
-
createNewPage(newFolderPath)
|
|
89
|
-
saveRouter2Manifest()
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
main()
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2021-present, the hapjs-platform Project Contributors
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @desc: gen script command,make a new page generated by one click.
|
|
8
|
+
* @author: nicejade
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
const fs = require('fs')
|
|
12
|
+
const path = require('path')
|
|
13
|
+
const colors = require('colors')
|
|
14
|
+
|
|
15
|
+
const newFolderName = process.argv[2]
|
|
16
|
+
|
|
17
|
+
String.prototype.firstUpperCase = function () {
|
|
18
|
+
return this.replace(/\b(\w)/g, ($1) => {
|
|
19
|
+
return $1.toLowerCase()
|
|
20
|
+
})
|
|
21
|
+
}
|
|
22
|
+
const resolve = (dir) => {
|
|
23
|
+
return path.join(__dirname, '../..', dir)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const successExecPrint = (msg) => {
|
|
27
|
+
console.log(
|
|
28
|
+
colors.green(`✓ `) +
|
|
29
|
+
colors.cyan(`${msg} `) +
|
|
30
|
+
colors.green('task has been successfully executed.')
|
|
31
|
+
)
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function createNewPage(newFolderPath) {
|
|
35
|
+
const mReg = new RegExp('@PAGE_CLASS_NAME', 'g')
|
|
36
|
+
const pageContent = fs.readFileSync(`${__dirname}/template.ux`, 'UTF-8')
|
|
37
|
+
const rootClassName = newFolderName
|
|
38
|
+
.firstUpperCase()
|
|
39
|
+
.replace(/([A-Z])/g, '-$1')
|
|
40
|
+
.toLowerCase()
|
|
41
|
+
const newContent = pageContent.replace(mReg, rootClassName)
|
|
42
|
+
|
|
43
|
+
fs.mkdirSync(newFolderPath, 0777)
|
|
44
|
+
fs.writeFile(`${newFolderPath}/index.ux`, newContent, (error) => {
|
|
45
|
+
if (error) throw `Something went wrong: ${error}`
|
|
46
|
+
})
|
|
47
|
+
successExecPrint('Create New Page')
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function saveRouter2Manifest() {
|
|
51
|
+
const manifestPath = resolve('/src/manifest.json')
|
|
52
|
+
let manifestConf = fs.readFileSync(manifestPath, 'UTF-8')
|
|
53
|
+
manifestConf = JSON.parse(manifestConf)
|
|
54
|
+
const routerPages = manifestConf.router.pages
|
|
55
|
+
routerPages[`pages/${newFolderName}`] = {
|
|
56
|
+
component: 'index',
|
|
57
|
+
}
|
|
58
|
+
manifestConf = JSON.stringify(manifestConf, null, 2)
|
|
59
|
+
fs.writeFile(manifestPath, manifestConf, (error) => {
|
|
60
|
+
if (error) throw `Something went wrong[@saveRouter2Manifest]: ${error}`
|
|
61
|
+
})
|
|
62
|
+
successExecPrint('Save Router Into Manifest')
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function main() {
|
|
66
|
+
if (!newFolderName) {
|
|
67
|
+
return console.warn(
|
|
68
|
+
`⚠️ Please enter the name of the page you want to create.`.underline.red
|
|
69
|
+
)
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
const folderNameReg = /^[A-Z][[A-Za-z0-9]+$/
|
|
73
|
+
if (!folderNameReg.test(newFolderName)) {
|
|
74
|
+
return console.warn(
|
|
75
|
+
`⚠️ Please enter the standard Folder name. Eg: XyzAbcde.`.underline.red
|
|
76
|
+
)
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
const newFolderPath = path.join(__dirname, `../../src/pages/${newFolderName}`)
|
|
80
|
+
const isExist = fs.existsSync(newFolderPath)
|
|
81
|
+
|
|
82
|
+
if (isExist) {
|
|
83
|
+
return console.warn(
|
|
84
|
+
`⚠️ ${newFolderName} already exists in the /src/pages/ directory.`
|
|
85
|
+
.underline.red
|
|
86
|
+
)
|
|
87
|
+
}
|
|
88
|
+
createNewPage(newFolderPath)
|
|
89
|
+
saveRouter2Manifest()
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
main()
|