quickgame-cli
Version:
quickgame cli
1 lines • 4.23 kB
JavaScript
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault"),_path=(Object.defineProperty(exports,"__esModule",{value:!0}),exports.collectResFile=collectResFile,exports.colorconsole=void 0,exports.extend=extend,exports.isSupportEngineType=isSupportEngineType,exports.logWarn=logWarn,exports.lsdirdeep=lsdirdeep,exports.merge=merge,exports.replaceSystemModule=replaceSystemModule,exports.sortFilesBy=sortFilesBy,exports.traverseDirSync=traverseDirSync,exports.updateManifestCont=updateManifestCont,_interopRequireDefault(require("path"))),_chalk=_interopRequireDefault(require("chalk")),_fs=_interopRequireDefault(require("fs"));function traverseDirSync(n,t){_fs.default.readdirSync(n).forEach(function(e){e=_path.default.join(n,e);var r=_fs.default.statSync(e);r&&r.isDirectory()?traverseDirSync(e,t):t.push(e)})}function replaceSystemModule(e,r,n){return r.match(/@\w+(.\w+)+/g)?n(null,'$require$("@module/'.concat(r.slice(1),'")')):n()}function extend(e){for(var r=arguments.length,n=new Array(1<r?r-1:0),t=1;t<r;t++)n[t-1]=arguments[t];if("function"==typeof Object.assign)Object.assign.apply(Object,[e].concat(n));else{var o,a=n.shift();for(o in a)e[o]=a[o];n.length&&extend.apply(void 0,[e].concat(n))}return e}function merge(r){for(var e=arguments.length,n=new Array(1<e?e-1:0),t=1;t<e;t++)n[t-1]=arguments[t];return n.length&&n.forEach(function(e){r=r.concat(e)}),r}function predicate(e){return"string"==typeof e?e===this.toString():this.match(e)}function sortFilesBy(e,n){var t=e.length;return e=e.sort(function(e,r){e=n.findIndex(predicate,e),r=n.findIndex(predicate,r);return(-1===e?t:e)-(-1===r?t:r)})}function logWarn(n,e,t){e&&e.length&&e.forEach(function(e){var r=e.line&&e.column?"\t@"+e.line+":"+e.column:"";t||(e.reason.startsWith("ERROR")?colorconsole.error(n.context,e.reason+r):colorconsole.warn(n.context,e.reason+r))})}var logLevelMap={};function prependLevel(e,r){var n;logLevelMap[e]||((n=e.toUpperCase().substr(0,5)).paddEnd&&n.paddEnd(5),logLevelMap[e]=n),"string"==typeof r[0]&&1<r[0].length&&"["!==r[0][0]&&(r[0]="[".concat(logLevelMap[e],"] ").concat(r[0]))}var colorconsole=exports.colorconsole={trace:function(){for(var e,r=arguments.length,n=new Array(r),t=0;t<r;t++)n[t]=arguments[t];prependLevel("trace",n),(e=console).trace.apply(e,n)},log:function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];prependLevel("log",r),console.log(_chalk.default.green.apply(_chalk.default,r))},info:function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];prependLevel("info",r),console.info(_chalk.default.green.apply(_chalk.default,r))},warn:function(){for(var e,r=arguments.length,n=new Array(r),t=0;t<r;t++)n[t]=arguments[t];prependLevel("warn",n),console.warn((e=_chalk.default.yellow).bold.apply(e,n))},error:function(){for(var e,r=arguments.length,n=new Array(r),t=0;t<r;t++)n[t]=arguments[t];prependLevel("error",n),console.error((e=_chalk.default.red).bold.apply(e,n))},throw:function(){var e;throw new Error((e=_chalk.default.red).bold.apply(e,arguments))}};function collectResFile(o,a,l,c,i){var s={};return _fs.default.readdirSync(o).forEach(function(e){var r,n=_path.default.resolve(o,e),t=_fs.default.statSync(n);t.isFile()?(r=_path.default.extname(e),l.includes(r)&&!i.includes(e)&&(r=_path.default.resolve(a,e),s[r]=n)):t.isDirectory()&&!c.includes(e)&&(r=collectResFile(n,_path.default.resolve(a,e),l,c,i))&&Object.assign(s,r)}),s}function updateManifestCont(e){var r=null;try{r=JSON.parse(e)}catch(e){throw colorconsole.error("ERROR: 解析manifest.json文件出错:".concat(e.message)),e}if(r)return r.minPlatformVersion||(r.minPlatformVersion=101),{manifestCont:e=JSON.stringify(r,null,2)}}function lsdirdeep(e){return function n(t,o,a){var l=[],c=_path.default.posix.join(t,o);return a.readdirSync(c).forEach(function(e){var r=_path.default.posix.join(c,e),e=_path.default.posix.join(o,e);a.statSync(r).isFile()?l.push(e):l=l.concat(n(t,e,a))}),l}(e,".",1<arguments.length&&void 0!==arguments[1]?arguments[1]:_fs.default)}function isSupportEngineType(e){var r=["cocos","unity","web"],n=r.includes(e);return n||colorconsole.error("ERROR: 不支持的引擎类型:".concat(e,",仅支持[").concat(r.join(","),"]")),n}