aiot-toolkit 1.0.18-aspect-beta.18 → 1.0.18-aspect-beta.19

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.
@@ -122,6 +122,10 @@ module.exports = function genWebpackConf(launchOptions, mode) {
122
122
  if (globalConfig.aspectTemplate.isAspect) {
123
123
  BUILD_DIR = path.resolve(globalConfig.aspectTemplate.outputPath, path.basename(cwd))
124
124
  DIST_DIR = path.resolve(globalConfig.aspectTemplate.outputPath, '')
125
+ // 打包vela产物时,文件夹名称+.lite
126
+ if (globalConfig.aspectTemplate.packToVela) {
127
+ BUILD_DIR = path.resolve(globalConfig.aspectTemplate.outputPath, `${path.basename(cwd)}.lite`)
128
+ }
125
129
  // 清理 BUILD_DIR
126
130
  cleanup(BUILD_DIR)
127
131
  } else {
@@ -171,13 +175,21 @@ module.exports = function genWebpackConf(launchOptions, mode) {
171
175
 
172
176
  valiedateSkeleton(SRC_DIR, manifest)
173
177
  }
174
-
175
- // 是否需要设置全局的打包模式为Mirtos
176
- const { deviceTypeList } = manifest
177
- if (deviceTypeList && deviceTypeList.includes('watch')) {
178
- initCompileOptionsObject({ enableMirtos: true })
178
+ // 是否需要设置全局的打包模式为Mirtos,先初始化为false
179
+ initCompileOptionsObject({ enableMirtos: false })
180
+ if (globalConfig.aspectTemplate.isAspect) {
181
+ // 避免tv, tv-h5设备干扰打包
182
+ initCompileOptionsObject({ enableMinaH5: false })
183
+ // aspect分布式打包根据参数来判断打包模式
184
+ if (globalConfig.aspectTemplate.packToVela) {
185
+ initCompileOptionsObject({ enableMirtos: true })
186
+ }
179
187
  } else {
180
- initCompileOptionsObject({ enableMirtos: false })
188
+ // 一般情况下的配置
189
+ const { deviceTypeList } = manifest
190
+ if (deviceTypeList && deviceTypeList.includes('watch')) {
191
+ initCompileOptionsObject({ enableMirtos: true })
192
+ }
181
193
  }
182
194
 
183
195
  // 设置合适的v8版本
@@ -412,7 +424,7 @@ module.exports = function genWebpackConf(launchOptions, mode) {
412
424
  const { icon: appIcon, versionName, versionCode, subpackages, workers, banner = '' } = manifest
413
425
  let appPackageName = manifest.package
414
426
  if (globalConfig.aspectTemplate.isAspect) {
415
- appPackageName = path.basename(cwd)
427
+ appPackageName = path.basename(BUILD_DIR)
416
428
  }
417
429
  for (let i = 0, len = moduleList.length; i < len; i++) {
418
430
  const fileConf = moduleList[i].path
@@ -1,2 +1,2 @@
1
- "use strict";var _ziputil=require("@aiot-toolkit/packager/lib/common/ziputil"),_config=_interopRequireDefault(require("@aiot-toolkit/shared-utils/config"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const webpack=require("webpack"),{setCustomConfig:setCustomConfig,colorconsole:colorconsole,getProjectJson:getProjectJson,getManifest:getManifest}=require("@aiot-toolkit/shared-utils"),genWebpackConf=require("../../gen-webpack-conf"),{summaryErrors:summaryErrors,summaryWarnings:summaryWarnings,getAspectEntries:getAspectEntries,cleanOrCreateDir:cleanOrCreateDir,copyFiles:copyFiles}=require("./utils"),{validateConfigJson:validateConfigJson}=require("../../gen-webpack-conf/validate"),path=require("path"),fs=require("fs");let appName,watching=null;function showVersion(){const e=require("../../package.json").version,t=require("@babel/core/package.json").version,o=require("webpack/package.json").version;colorconsole.info(`aiot-toolkit: ${e}; babel: ${t}; webpack: ${o};`)}async function aspectProjectCompiler(e,t,o,r={}){let a=getManifest();appName=a.package||"demo";const{entries:i,deviceAspects:n,routerObj:s}=getAspectEntries(_config.default.aspectTemplate.projectPath,a);validateConfigJson(i);const c=_config.default.aspectTemplate.distPath,p=_config.default.aspectTemplate.outputPath;cleanOrCreateDir(p),cleanOrCreateDir(c),_config.default.aspectTemplate.outputPath=path.join(p,appName);const l=_config.default.aspectTemplate.outputPath,u=path.dirname(l);try{for(let a of i)_config.default.sourceRoot="./src",_config.default.aspectTemplate.isApp=!1,r.cwd=path.join(_config.default.aspectTemplate.projectPath,a),await singleCompiler(e,t,o,r);s.all=a.router.aspects,n.all=i;const p=path.join(_config.default.aspectTemplate.projectPath,"app"),f=path.join(p,"manifest.json");let g=JSON.parse(JSON.stringify(a));const m=path.join(p,".manifest.json");fs.writeFileSync(m,JSON.stringify(a));for(let a of Object.keys(n)){let i="all"===a,m=i?appName:appName+"."+a.trim().replace(" ",".");g.router.aspects=s[a],fs.writeFileSync(f,JSON.stringify(g,null,2)),_config.default.sourceRoot="",_config.default.aspectTemplate.isApp=!0,r.cwd=p,await singleCompiler(e,t,o,r),n[a].unshift("app");let h=n[a].map((e=>{if(!i){const t=path.join(l,e),o=path.join(u,m,e);copyFiles(t,o)}return"app"===e?e+".base":e+".aspc"}));const d=path.join(c,m+".app");i?await(0,_ziputil.packFolderToApp)(d,h,l,!0):await(0,_ziputil.packFolderToApp)(d,h,l)}return fs.unlinkSync(m),Promise.resolve()}catch(e){console.log(`aspectProjectCompiler error ${e}`)}}function singleCompiler(e,t,o,r={}){const a=r.onerror;return new Promise(((i,n)=>{function s(e,t){if(e&&(a&&a(e),colorconsole.error(e)),t){if(t.hasErrors()||t.hasWarnings()){const e=summaryErrors(t),o=summaryWarnings(t);a&&a(e),colorconsole.error(e),colorconsole.warn(o)}t.hasErrors()&&(process.exitCode=1)}}colorconsole.attach(r.log),setCustomConfig(r.cwd),process.env.NODE_PLATFORM=e,process.env.NODE_PHASE=t;const c="prod"===t?"production":"development";try{const e=genWebpackConf(r,c);if(o){const t=webpack(e);watching=t.watch({aggregateTimeout:300},((e,t)=>{s(e,t),i({compileError:e,stats:t,watching:watching})}))}else webpack(e,((e,t)=>{s(e,t),i({compileError:e,stats:t})}))}catch(e){console.log(`singleCompiler error ${e}`)}}))}showVersion(),module.exports.compile=async function(e,t,o,r={}){var a;let i;return"distributed"===(null===(a=getProjectJson())||void 0===a?void 0:a.projectType)?(_config.default.aspectTemplate.isAspect=!0,i=await aspectProjectCompiler(e,t,o,r)):i=await singleCompiler(e,t,o,r),i},module.exports.stopWatch=function(){return new Promise((e=>{watching?watching.close((()=>{watching=null,e({stopWatchError:null})})):e({stopWatchError:"no watching"})}))};
1
+ "use strict";var _ziputil=require("@aiot-toolkit/packager/lib/common/ziputil"),_config=_interopRequireDefault(require("@aiot-toolkit/shared-utils/config"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const webpack=require("webpack"),{setCustomConfig:setCustomConfig,colorconsole:colorconsole,getProjectJson:getProjectJson,getManifest:getManifest,readJson:readJson}=require("@aiot-toolkit/shared-utils"),genWebpackConf=require("../../gen-webpack-conf"),{summaryErrors:summaryErrors,summaryWarnings:summaryWarnings,getAspectEntries:getAspectEntries,cleanOrCreateDir:cleanOrCreateDir,copyFiles:copyFiles,getProductionTypes:getProductionTypes,isMirtosDevice:isMirtosDevice}=require("./utils"),{validateConfigJson:validateConfigJson}=require("../../gen-webpack-conf/validate"),path=require("path"),fs=require("fs");let appName,watching=null;function showVersion(){const e=require("../../package.json").version,t=require("@babel/core/package.json").version,o=require("webpack/package.json").version;colorconsole.info(`aiot-toolkit: ${e}; babel: ${t}; webpack: ${o};`)}async function aspectProjectCompiler(e,t,o,a={}){let r=getManifest();appName=r.package||"demo";const{entries:i,deviceAspects:s,routerObj:c}=getAspectEntries(_config.default.aspectTemplate.projectPath,r);validateConfigJson(i);const n=_config.default.aspectTemplate.distPath,p=_config.default.aspectTemplate.outputPath;cleanOrCreateDir(p),cleanOrCreateDir(n),_config.default.aspectTemplate.outputPath=path.join(p,appName);const l=_config.default.aspectTemplate.outputPath,u=path.dirname(l),f=[];try{for(let r of i){_config.default.sourceRoot="./src",_config.default.aspectTemplate.isApp=!1,a.cwd=path.join(_config.default.aspectTemplate.projectPath,r),_config.default.aspectTemplate.packToVela=!1;let i=path.resolve(a.cwd,_config.default.sourceRoot,"manifest.json");if(!fs.existsSync(i))throw new Error(`the file ${i} cannot be found.`);const s=readJson(i),{deviceTypeList:c}=s;if(c&&Array.isArray(c)){const i=getProductionTypes(c);for(const s of Object.keys(i))if(i[s]){_config.default.aspectTemplate.packToVela="enableMirtos"===s;const i=_config.default.aspectTemplate.packToVela?r+".lite":r;f.push(i),await singleCompiler(e,t,o,a)}}else f.push(r),await singleCompiler(e,t,o,a)}c.all=r.router.aspects,s.all=f;const p=path.join(_config.default.aspectTemplate.projectPath,"app"),g=path.join(p,"manifest.json");let m=JSON.parse(JSON.stringify(r));const{deviceTypeList:d}=r,h=getProductionTypes(d),w=path.join(p,".manifest.json");fs.writeFileSync(w,JSON.stringify(r));for(let r of Object.keys(s)){const i=isMirtosDevice(r);let d="all"===r,w=d?appName:appName+"."+r.trim().replace(" ",".");if(m.router.aspects=c[r],fs.writeFileSync(g,JSON.stringify(m,null,2)),_config.default.sourceRoot="",_config.default.aspectTemplate.isApp=!0,a.cwd=p,d){for(const r of Object.keys(h))if(h[r]){_config.default.aspectTemplate.packToVela="enableMirtos"===r;const i=_config.default.aspectTemplate.packToVela?"app.lite":"app";f.push(i),await singleCompiler(e,t,o,a)}}else _config.default.aspectTemplate.packToVela=i,await singleCompiler(e,t,o,a);let T=[];if(d)for(const e of s[r]){const t="app"===e||"app.lite"===e?e+".base":e+".aspc";T.push({name:e,targetFile:t,otherName:t})}else s[r].unshift("app"),T=s[r].map((e=>{let t=i?`${e}.lite`:e;const o=path.join(l,t),a=path.join(u,w,e);return copyFiles(o,a),{name:e,targetFile:"app"===e?t+".base":t+".aspc",otherName:"app"===e?e+".base":e+".aspc"}}));const y=path.join(n,w+".app");d?await(0,_ziputil.packFolderToApp)(y,T,l,!0):await(0,_ziputil.packFolderToApp)(y,T,l)}return fs.unlinkSync(w),Promise.resolve()}catch(e){console.log(`Distributed project compiler error ${e}`)}}function singleCompiler(e,t,o,a={}){const r=a.onerror;return new Promise(((i,s)=>{function c(e,t){if(e&&(r&&r(e),colorconsole.error(e)),t){if(t.hasErrors()||t.hasWarnings()){const e=summaryErrors(t),o=summaryWarnings(t);r&&r(e),colorconsole.error(e),colorconsole.warn(o)}t.hasErrors()&&(process.exitCode=1)}}colorconsole.attach(a.log),setCustomConfig(a.cwd),process.env.NODE_PLATFORM=e,process.env.NODE_PHASE=t;const n="prod"===t?"production":"development";try{const e=genWebpackConf(a,n);if(o){const t=webpack(e);watching=t.watch({aggregateTimeout:300},((e,t)=>{c(e,t),i({compileError:e,stats:t,watching:watching})}))}else webpack(e,((e,t)=>{c(e,t),i({compileError:e,stats:t})}))}catch(e){console.log(`singleCompiler error ${e}`)}}))}showVersion(),module.exports.compile=async function(e,t,o,a={}){var r;let i;return"distributed"===(null===(r=getProjectJson())||void 0===r?void 0:r.projectType)?(_config.default.aspectTemplate.isAspect=!0,i=await aspectProjectCompiler(e,t,o,a)):i=await singleCompiler(e,t,o,a),i},module.exports.stopWatch=function(){return new Promise((e=>{watching?watching.close((()=>{watching=null,e({stopWatchError:null})})):e({stopWatchError:"no watching"})}))};
2
2
  //# sourceMappingURL=compile.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var _path=_interopRequireDefault(require("path")),_fsExtra=_interopRequireDefault(require("fs-extra")),_init=require("../../lib/commands/init"),_template=_interopRequireDefault(require("@aiot-toolkit/dsl-xvm/lib/template")),_sharedUtils=require("@aiot-toolkit/shared-utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validateProjectPath(e,t){const a=_path.default.join(e,t);if(!_fsExtra.default.existsSync(a))throw new Error(`Path: ${a} is not exist!`);return a}function readName(e){const t=_path.default.join(e,"src","manifest.json"),a=_fsExtra.default.readJsonSync(t,{encoding:"utf-8"});if(a.name&&a.package)return{projectName:a.name,projectPackageName:a.package};throw new Error("The name and package name fields do not exist in the manifest.json!")}async function transformToNewProject(e){e=validateProjectPath(process.cwd(),e);const t=_path.default.join(_path.default.dirname(e),`xapp-${_path.default.basename(e)}`),{projectName:a,projectPackageName:r}=readName(e);await createNewXappProject(_template.default.app.xappMultiScreenTemplate,t),renderFilesData(t,a,r);const o=_path.default.join(e,"src"),n=_path.default.join(t,"main","src");await(0,_init.copyFiles)(n,o,{"app.ux":"aspect.ux"}),_sharedUtils.colorconsole.info(`transform success! new project path is ${t}`)}async function createNewXappProject(e,t){if(_fsExtra.default.existsSync(t))throw new Error(`Create error: Folfer ${_path.default.basename(t)} already exists in path ${_path.default.dirname(t)}`);_fsExtra.default.mkdirSync(t),await(0,_init.copyFiles)(t,e,{_gitignore:".gitignore"})}function renderFilesData(e,t,a){const r={appName:t,packageName:a,toolkitVersion:require("../../package.json").version};["package.json","app/manifest.json",".project.json","README.md"].map((t=>_path.default.join(e,t))).forEach((e=>{let t=_fsExtra.default.readFileSync(e,"utf-8");t=(0,_sharedUtils.renderString)(t,r),_fsExtra.default.writeFileSync(e,t)}))}async function projectToAspect(e){const t=e.import,a=process.cwd(),r=validateProjectPath(a,t),{projectName:o,projectPackageName:n}=readName(r),i=_path.default.join(a,n);await createNewXappProject(_template.default.app.xappAspect,i);const s={appName:o},c=_path.default.join(i,"config.json");let p=_fsExtra.default.readFileSync(c,"utf-8");p=(0,_sharedUtils.renderString)(p,s),_fsExtra.default.writeFileSync(c,p);const f=_path.default.join(r,"src"),l=_path.default.join(i,"src");_fsExtra.default.emptyDirSync(l),await(0,_init.copyFiles)(l,f,{"app.ux":"aspect.ux"}),updateAppManifest(a,n),_sharedUtils.colorconsole.info(`import success! new aspect name is ${n}`)}function updateAppManifest(e,t){const a=_path.default.join(e,"app","manifest.json"),r=_fsExtra.default.readJSONSync(a,{encoding:"utf-8"}),o={path:`${t}`,devices:["watch"],autoStart:!0};if(!(r&&r.router&&r.router.aspects&&r.router.aspects instanceof Object))throw new Error("router.aspects does not exist or is in the wrong format");r.router.aspects[`${t}`]=[o],_fsExtra.default.writeJSONSync(a,r,{spaces:2})}module.exports.transformProject=async function(e,t){try{t&&t.import?await projectToAspect(t):e?await transformToNewProject(e):_sharedUtils.colorconsole.log("transform stop: No valid information entered!")}catch(e){throw new Error(`transform failed! ${e}`)}};
1
+ "use strict";var _path=_interopRequireDefault(require("path")),_fsExtra=_interopRequireDefault(require("fs-extra")),_init=require("../../lib/commands/init"),_template=_interopRequireDefault(require("@aiot-toolkit/dsl-xvm/lib/template")),_sharedUtils=require("@aiot-toolkit/shared-utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validateProjectPath(e,t){const a=_path.default.join(e,t);if(!_fsExtra.default.existsSync(a))throw new Error(`Path: ${a} is not exist!`);return a}function readName(e){const t=_path.default.join(e,"src","manifest.json"),a=_fsExtra.default.readJsonSync(t,{encoding:"utf-8"});if(a.name&&a.package)return{projectName:a.name,projectPackageName:a.package};throw new Error("The name and package name fields do not exist in the manifest.json!")}async function transformToNewProject(e){e=validateProjectPath(process.cwd(),e);const t=_path.default.join(_path.default.dirname(e),`xapp-${_path.default.basename(e)}`),{projectName:a,projectPackageName:r}=readName(e);await createNewXappProject(_template.default.app.xappMultiScreenTemplate,t),renderFilesData(t,a,r);const o=_path.default.join(e,"src"),n=_path.default.join(t,"main","src");await(0,_init.copyFiles)(n,o,{"app.ux":"aspect.ux"}),_sharedUtils.colorconsole.info(`transform success! new project path is ${t}`)}async function createNewXappProject(e,t){if(_fsExtra.default.existsSync(t))throw new Error(`Create error: Folfer ${_path.default.basename(t)} already exists in path ${_path.default.dirname(t)}`);_fsExtra.default.mkdirSync(t),await(0,_init.copyFiles)(t,e,{_gitignore:".gitignore"})}function renderFilesData(e,t,a){const r={appName:t,packageName:a,toolkitVersion:require("../../package.json").version,dirName:_path.default.basename(e)};["package.json","app/manifest.json",".project.json","README.md"].map((t=>_path.default.join(e,t))).forEach((e=>{let t=_fsExtra.default.readFileSync(e,"utf-8");t=(0,_sharedUtils.renderString)(t,r),_fsExtra.default.writeFileSync(e,t)}))}async function projectToAspect(e){const t=e.import,a=process.cwd(),r=validateProjectPath(a,t),{projectName:o,projectPackageName:n}=readName(r),i=_path.default.join(a,n);await createNewXappProject(_template.default.app.xappAspect,i);const s={appName:o},c=_path.default.join(i,"config.json");let p=_fsExtra.default.readFileSync(c,"utf-8");p=(0,_sharedUtils.renderString)(p,s),_fsExtra.default.writeFileSync(c,p);const f=_path.default.join(r,"src"),l=_path.default.join(i,"src");_fsExtra.default.emptyDirSync(l),await(0,_init.copyFiles)(l,f,{"app.ux":"aspect.ux"}),updateAppManifest(a,n),_sharedUtils.colorconsole.info(`import success! new aspect name is ${n}`)}function updateAppManifest(e,t){const a=_path.default.join(e,"app","manifest.json"),r=_fsExtra.default.readJSONSync(a,{encoding:"utf-8"}),o={path:`${t}`,devices:["watch"],autoStart:!0};if(!(r&&r.router&&r.router.aspects&&r.router.aspects instanceof Object))throw new Error("router.aspects does not exist or is in the wrong format");r.router.aspects[`${t}`]=[o],_fsExtra.default.writeJSONSync(a,r,{spaces:2})}module.exports.transformProject=async function(e,t){try{t&&t.import?await projectToAspect(t):e?await transformToNewProject(e):_sharedUtils.colorconsole.log("transform stop: No valid information entered!")}catch(e){throw new Error(`transform failed! ${e}`)}};
2
2
  //# sourceMappingURL=transform.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.formatDate=formatDate,exports.summaryErrors=summaryErrors,exports.summaryWarnings=summaryWarnings,exports.getQuickappDebuggerUrl=getQuickappDebuggerUrl,exports.getQuickappPreviewUrl=getQuickappPreviewUrl,exports.downloadFile=downloadFile,exports.sendReq=sendReq,exports.getClients=getClients,exports.checkQuickappDir=checkQuickappDir,exports.getCardContent=getCardContent,exports.cleanOrCreateDir=cleanOrCreateDir,exports.getAspectEntries=getAspectEntries,exports.copyFiles=copyFiles;var _fsExtra=_interopRequireDefault(require("fs-extra")),_path=_interopRequireDefault(require("path")),_request=_interopRequireDefault(require("request")),_http=_interopRequireDefault(require("http")),_recordClient=require("@aiot-toolkit/shared-utils/lib/record-client"),_config=require("@aiot-toolkit/shared-utils/config"),_sharedUtils=require("@aiot-toolkit/shared-utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const fsExtra=require("fs-extra");function formatDate(e,t){let r,o,s,n,i,a,c=e;return(e.indexOf("yyyy")>=0||e.indexOf("YYYYY")>=0)&&(r=t.getFullYear(),c=c.replace(/[yY]{4}/g,r)),e.indexOf("MM")>=0&&(o=t.getMonth()+1,c=c.replace(/MM/g,String(o).length<2?"0"+o:o)),e.indexOf("dd")>=0&&(s=t.getDate(),c=c.replace(/dd/g,String(s).length<2?"0"+s:s)),(e.indexOf("hh")>=0||e.indexOf("HH")>=0)&&(n=t.getHours(),c=c.replace(/[hH]{2}/g,String(n).length<2?"0"+n:n)),e.indexOf("mm")>=0&&(i=t.getMinutes(),c=c.replace(/mm/g,String(i).length<2?"0"+i:i)),(e.indexOf("ss")>=0||e.indexOf("SS")>=0)&&(a=t.getSeconds(),c=c.replace(/[sS]{2}/g,String(a).length<2?"0"+a:a)),c}function summaryErrors(e){const t=[];return e.compilation.errors.forEach((e=>{const r=e.message,o=/Can't resolve '(sass-loader|less-loader|stylus-loader)'/.exec(r);if("ModuleNotFoundError"===e.name&&o){let t=o[1];"less-loader"===t?t=`less ${t}`:"sass-loader"===t?t=`node-sass ${t}`:"stylus-loader"===t&&(t=`stylus ${t}`),e.message=` Missing dependency: ${t}, Please execute npm install -D ${t} to install the corresponding dependencies `}const s=e.module?e.module.resource:"";t.push(`${s}\r\n${e.message}`)})),t.join("\n\n")}function summaryWarnings(e){return e.compilation.warnings.map((e=>e.message)).join("\n\n")}const quickapp_url="https://statres.quickapp.cn/quickapp/quickapptool/release/platform/";function getQuickappDebuggerUrl(e){let t=e||"v1080";return _sharedUtils.colorconsole.log(`The version of the Quickapp debugger that started to download is: ${t}`),`${quickapp_url}quickapp_debugger_${t}.apk`}function getQuickappPreviewUrl(e){let t=e||"v1080";return _sharedUtils.colorconsole.log(`The version of the Quickapp debugger that started to download is: ${t}`),`${quickapp_url}quickapp_platform_preview_release_${t}.apk`}function downloadFile(e,t){return _sharedUtils.colorconsole.log(`Start downloading file:${t}, address:${e}`),new Promise((function(r,o){(0,_request.default)(e,(function(s,n,i){if(s||200!==n.statusCode)o(s||new Error(`Download failed, status code:${n.statusCode}`));else{const s=_path.default.join(__dirname,"./apk");_fsExtra.default.ensureDirSync(s);let n=_fsExtra.default.createWriteStream(_path.default.join(s,t));(0,_request.default)(e).pipe(n).on("close",(e=>{e?o(e):r(`Download file ${t} successfully`)}))}}))}))}async function sendReq(e,t,r){return new Promise((o=>{const s=`http://${e.ip}:${e.port}${t}`;let n={host:e.ip,port:e.port,path:t,timeout:3e3};r&&(n=Object.assign({},n,{headers:r}));const i=_http.default.request(n,(e=>{e.on("data",(e=>{_sharedUtils.colorconsole.log(`### App Server ### Request ${s} succeeded`),o(e.toString())}))})).on("error",(e=>{_sharedUtils.colorconsole.error(`### App Server ### Request ${s} error message: ${e.message}`)})).on("timeout",(function(){_sharedUtils.colorconsole.log(`### App Server ### Request ${s} timed out, please try again`),i.abort()}));i.end()}))}async function getClients(){return new Promise((e=>{if(_fsExtra.default.existsSync(_config.clientRecordPath)){const t=(0,_recordClient.getRecords)(_config.clientRecordPath),r=(0,_recordClient.getProjectClients)(t);r.length>0&&e(r)}e(null)}))}function checkQuickappDir(e,t="src"){const r=_path.default.join(e,t,"manifest.json");_fsExtra.default.existsSync(r)||(_sharedUtils.colorconsole.error("Please execute this command under the Quickapp project"),process.exit())}function getCardContent(e){const t=_path.default.join(e,"src","manifest.json"),r=(0,_sharedUtils.readJson)(t).router.widgets||null;return r||_sharedUtils.colorconsole.error("No card configuration in manifest.json"),r}function cleanOrCreateDir(e){try{_fsExtra.default.accessSync(e,_fsExtra.default.constants.F_OK),fsExtra.emptyDirSync(e)}catch(t){_fsExtra.default.mkdirSync(e,{recursive:!0})}}function getAspectEntries(e,t){let r=[],o={},s={},n=_fsExtra.default.readdirSync(e,{encoding:"utf8"});const i=_path.default.join(e,"app","manifest.json"),a=t.router.aspects||null,c=Object.keys(a);return t.router||_sharedUtils.colorconsole.error(`Configuration file ${i} error: router is not exsist, please check`),a||_sharedUtils.colorconsole.error(`Configuration file ${i} error: router.aspect is not exist, please check`),c.forEach((e=>{const t=a[e];let c=[];t.forEach((t=>{n.includes(t.path)&&!r.includes(t.path)?r.push(t.path):_sharedUtils.colorconsole.throw(`Configuration file ${i} error: ${t.path} is not exist in root directory`);let a=t.devices?t.devices:["phone"];for(let r=0;r<a.length;r++){let n=[a[r],t.rule?t.rule:""].join(" ");c.includes(n)?_sharedUtils.colorconsole.throw(`Configuration file ${i} error, devices or devices rule: ${n} is repeat in router ${e}`):c.push(n),s[n]=_objectSpread(_objectSpread({},s[n]),{},{[e]:t}),Object.keys(o).includes(n)?o[n].push(t.path):o[n]=[t.path]}}))})),{entries:r,deviceAspects:o,routerObj:s}}function copyFiles(e,t){_fsExtra.default.existsSync(t)||_fsExtra.default.mkdirSync(t,{recursive:!0});_fsExtra.default.readdirSync(e).forEach((r=>{const o=_path.default.join(e,r),s=_path.default.join(t,r);_fsExtra.default.statSync(o).isDirectory()?copyFiles(o,s):_fsExtra.default.copyFileSync(o,s)}))}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.formatDate=formatDate,exports.summaryErrors=summaryErrors,exports.summaryWarnings=summaryWarnings,exports.getQuickappDebuggerUrl=getQuickappDebuggerUrl,exports.getQuickappPreviewUrl=getQuickappPreviewUrl,exports.downloadFile=downloadFile,exports.sendReq=sendReq,exports.getClients=getClients,exports.checkQuickappDir=checkQuickappDir,exports.getCardContent=getCardContent,exports.cleanOrCreateDir=cleanOrCreateDir,exports.getAspectEntries=getAspectEntries,exports.copyFiles=copyFiles,exports.getProductionTypes=getProductionTypes,exports.isMirtosDevice=isMirtosDevice;var _fsExtra=_interopRequireDefault(require("fs-extra")),_path=_interopRequireDefault(require("path")),_request=_interopRequireDefault(require("request")),_http=_interopRequireDefault(require("http")),_recordClient=require("@aiot-toolkit/shared-utils/lib/record-client"),_config=require("@aiot-toolkit/shared-utils/config"),_sharedUtils=require("@aiot-toolkit/shared-utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const fsExtra=require("fs-extra");function formatDate(e,t){let r,o,s,n,i,a,c=e;return(e.indexOf("yyyy")>=0||e.indexOf("YYYYY")>=0)&&(r=t.getFullYear(),c=c.replace(/[yY]{4}/g,r)),e.indexOf("MM")>=0&&(o=t.getMonth()+1,c=c.replace(/MM/g,String(o).length<2?"0"+o:o)),e.indexOf("dd")>=0&&(s=t.getDate(),c=c.replace(/dd/g,String(s).length<2?"0"+s:s)),(e.indexOf("hh")>=0||e.indexOf("HH")>=0)&&(n=t.getHours(),c=c.replace(/[hH]{2}/g,String(n).length<2?"0"+n:n)),e.indexOf("mm")>=0&&(i=t.getMinutes(),c=c.replace(/mm/g,String(i).length<2?"0"+i:i)),(e.indexOf("ss")>=0||e.indexOf("SS")>=0)&&(a=t.getSeconds(),c=c.replace(/[sS]{2}/g,String(a).length<2?"0"+a:a)),c}function summaryErrors(e){const t=[];return e.compilation.errors.forEach((e=>{const r=e.message,o=/Can't resolve '(sass-loader|less-loader|stylus-loader)'/.exec(r);if("ModuleNotFoundError"===e.name&&o){let t=o[1];"less-loader"===t?t=`less ${t}`:"sass-loader"===t?t=`node-sass ${t}`:"stylus-loader"===t&&(t=`stylus ${t}`),e.message=` Missing dependency: ${t}, Please execute npm install -D ${t} to install the corresponding dependencies `}const s=e.module?e.module.resource:"";t.push(`${s}\r\n${e.message}`)})),t.join("\n\n")}function summaryWarnings(e){return e.compilation.warnings.map((e=>e.message)).join("\n\n")}const quickapp_url="https://statres.quickapp.cn/quickapp/quickapptool/release/platform/";function getQuickappDebuggerUrl(e){let t=e||"v1080";return _sharedUtils.colorconsole.log(`The version of the Quickapp debugger that started to download is: ${t}`),`${quickapp_url}quickapp_debugger_${t}.apk`}function getQuickappPreviewUrl(e){let t=e||"v1080";return _sharedUtils.colorconsole.log(`The version of the Quickapp debugger that started to download is: ${t}`),`${quickapp_url}quickapp_platform_preview_release_${t}.apk`}function downloadFile(e,t){return _sharedUtils.colorconsole.log(`Start downloading file:${t}, address:${e}`),new Promise((function(r,o){(0,_request.default)(e,(function(s,n,i){if(s||200!==n.statusCode)o(s||new Error(`Download failed, status code:${n.statusCode}`));else{const s=_path.default.join(__dirname,"./apk");_fsExtra.default.ensureDirSync(s);let n=_fsExtra.default.createWriteStream(_path.default.join(s,t));(0,_request.default)(e).pipe(n).on("close",(e=>{e?o(e):r(`Download file ${t} successfully`)}))}}))}))}async function sendReq(e,t,r){return new Promise((o=>{const s=`http://${e.ip}:${e.port}${t}`;let n={host:e.ip,port:e.port,path:t,timeout:3e3};r&&(n=Object.assign({},n,{headers:r}));const i=_http.default.request(n,(e=>{e.on("data",(e=>{_sharedUtils.colorconsole.log(`### App Server ### Request ${s} succeeded`),o(e.toString())}))})).on("error",(e=>{_sharedUtils.colorconsole.error(`### App Server ### Request ${s} error message: ${e.message}`)})).on("timeout",(function(){_sharedUtils.colorconsole.log(`### App Server ### Request ${s} timed out, please try again`),i.abort()}));i.end()}))}async function getClients(){return new Promise((e=>{if(_fsExtra.default.existsSync(_config.clientRecordPath)){const t=(0,_recordClient.getRecords)(_config.clientRecordPath),r=(0,_recordClient.getProjectClients)(t);r.length>0&&e(r)}e(null)}))}function checkQuickappDir(e,t="src"){const r=_path.default.join(e,t,"manifest.json");_fsExtra.default.existsSync(r)||(_sharedUtils.colorconsole.error("Please execute this command under the Quickapp project"),process.exit())}function getCardContent(e){const t=_path.default.join(e,"src","manifest.json"),r=(0,_sharedUtils.readJson)(t).router.widgets||null;return r||_sharedUtils.colorconsole.error("No card configuration in manifest.json"),r}function cleanOrCreateDir(e){try{_fsExtra.default.accessSync(e,_fsExtra.default.constants.F_OK),fsExtra.emptyDirSync(e)}catch(t){_fsExtra.default.mkdirSync(e,{recursive:!0})}}function getAspectEntries(e,t){let r=[],o={},s={},n=_fsExtra.default.readdirSync(e,{encoding:"utf8"});const i=_path.default.join(e,"app","manifest.json"),a=t.router.aspects||null,c=Object.keys(a);return t.router||_sharedUtils.colorconsole.error(`Configuration file ${i} error: router is not exsist, please check`),a||_sharedUtils.colorconsole.error(`Configuration file ${i} error: router.aspect is not exist, please check`),c.forEach((e=>{const t=a[e];let c=[];t.forEach((t=>{n.includes(t.path)&&!r.includes(t.path)?r.push(t.path):_sharedUtils.colorconsole.throw(`Configuration file ${i} error: ${t.path} is not exist in root directory`);let a=t.devices?t.devices:["phone"];for(let r=0;r<a.length;r++){let n=[a[r],t.rule?t.rule:""].join(" ");c.includes(n)?_sharedUtils.colorconsole.throw(`Configuration file ${i} error, devices or devices rule: ${n} is repeat in router ${e}`):c.push(n),s[n]=_objectSpread(_objectSpread({},s[n]),{},{[e]:t}),Object.keys(o).includes(n)?o[n].push(t.path):o[n]=[t.path]}}))})),{entries:r,deviceAspects:o,routerObj:s}}function copyFiles(e,t){_fsExtra.default.existsSync(e)||_sharedUtils.colorconsole.throw(`Resource copy error, the path ${e} not exist.`),_fsExtra.default.existsSync(t)||_fsExtra.default.mkdirSync(t,{recursive:!0});_fsExtra.default.readdirSync(e).forEach((r=>{const o=_path.default.join(e,r),s=_path.default.join(t,r);_fsExtra.default.statSync(o).isDirectory()?copyFiles(o,s):_fsExtra.default.copyFileSync(o,s)}))}const mirtosDeviceConfig=["watch"],androidDeviceConfig=[""];function getProductionTypes(e){const t={enableMirtos:!1,enableAndroid:!1};return 0===e.length?t.enableAndroid=!0:e.map((e=>{mirtosDeviceConfig.indexOf(e)>-1?t.enableMirtos=!0:t.enableAndroid=!0})),t}function isMirtosDevice(e){return mirtosDeviceConfig.some((t=>e.includes(t)))}
2
2
  //# sourceMappingURL=utils.js.map
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "aiot-toolkit",
3
- "version": "1.0.18-aspect-beta.18",
3
+ "version": "1.0.18-aspect-beta.19",
4
4
  "description": "A command line toolkit for developing Aiot Quick Apps.",
5
5
  "engines": {
6
6
  "node": ">=8.0.0"
7
7
  },
8
8
  "dependencies": {
9
- "@aiot-toolkit/compiler": "1.0.18-aspect-beta.18",
10
- "@aiot-toolkit/debugger": "1.0.18-aspect-beta.18",
11
- "@aiot-toolkit/dsl-vue": "1.0.18-aspect-beta.18",
12
- "@aiot-toolkit/dsl-xvm": "1.0.18-aspect-beta.18",
13
- "@aiot-toolkit/packager": "1.0.18-aspect-beta.18",
14
- "@aiot-toolkit/server": "1.0.18-aspect-beta.18",
15
- "@aiot-toolkit/shared-utils": "1.0.18-aspect-beta.18",
9
+ "@aiot-toolkit/compiler": "1.0.18-aspect-beta.19",
10
+ "@aiot-toolkit/debugger": "1.0.18-aspect-beta.19",
11
+ "@aiot-toolkit/dsl-vue": "1.0.18-aspect-beta.19",
12
+ "@aiot-toolkit/dsl-xvm": "1.0.18-aspect-beta.19",
13
+ "@aiot-toolkit/packager": "1.0.18-aspect-beta.19",
14
+ "@aiot-toolkit/server": "1.0.18-aspect-beta.19",
15
+ "@aiot-toolkit/shared-utils": "1.0.18-aspect-beta.19",
16
16
  "@babel/core": "^7.9.6",
17
17
  "@babel/plugin-syntax-jsx": "^7.8.3",
18
18
  "@babel/preset-env": "^7.9.6",
@@ -51,5 +51,5 @@
51
51
  "supertest": "^3.3.0",
52
52
  "webpack-cli": "^4.3.0"
53
53
  },
54
- "gitHead": "f2ed95c8bf1b0baf9981e203b91ccd3c2b62e9d3"
54
+ "gitHead": "65f63a57e633a08ecbb44fff3a249aebf83926c9"
55
55
  }