UNPKG

quickgame-cli

Version:

quickgame cli

1 lines 5.16 kB
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault"),_path=(Object.defineProperty(exports,"__esModule",{value:!0}),exports.checkIsSubpackageFile=checkIsSubpackageFile,exports.checkIsSubpackageRoot=checkIsSubpackageRoot,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(t,n){_fs.default.readdirSync(t).forEach(function(e){e=_path.default.join(t,e);var r=_fs.default.statSync(e);r&&r.isDirectory()?traverseDirSync(e,n):n.push(e)})}function replaceSystemModule(e,r,t){return r.match(/@\w+(.\w+)+/g)?t(null,'$require$("@module/'.concat(r.slice(1),'")')):t()}function extend(e){for(var r=arguments.length,t=new Array(1<r?r-1:0),n=1;n<r;n++)t[n-1]=arguments[n];if("function"==typeof Object.assign)Object.assign.apply(Object,[e].concat(t));else{var o,a=t.shift();for(o in a)e[o]=a[o];t.length&&extend.apply(void 0,[e].concat(t))}return e}function merge(r){for(var e=arguments.length,t=new Array(1<e?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];return t.length&&t.forEach(function(e){r=r.concat(e)}),r}function predicate(e){return"string"==typeof e?e===this.toString():this.match(e)}function sortFilesBy(e,t){var n=e.length;return e=e.sort(function(e,r){e=t.findIndex(predicate,e),r=t.findIndex(predicate,r);return(-1===e?n:e)-(-1===r?n:r)})}function logWarn(t,e,n){e&&e.length&&e.forEach(function(e){var r=e.line&&e.column?"\t@"+e.line+":"+e.column:"";n||(e.reason.startsWith("ERROR")?colorconsole.error(t.context,e.reason+r):colorconsole.warn(t.context,e.reason+r))})}var logLevelMap={};function prependLevel(e,r){var t;logLevelMap[e]||((t=e.toUpperCase().substr(0,4)).paddEnd&&t.paddEnd(4),logLevelMap[e]=t),"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,t=new Array(r),n=0;n<r;n++)t[n]=arguments[n];prependLevel("trace",t),(e=console).trace.apply(e,t)},log:function(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];prependLevel("log",r),console.log(_chalk.default.green.apply(_chalk.default,r))},info:function(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];prependLevel("info",r),console.info(_chalk.default.green.apply(_chalk.default,r))},warn:function(){for(var e,r=arguments.length,t=new Array(r),n=0;n<r;n++)t[n]=arguments[n];prependLevel("warn",t),console.warn((e=_chalk.default.yellow).bold.apply(e,t))},error:function(){for(var e,r=arguments.length,t=new Array(r),n=0;n<r;n++)t[n]=arguments[n];prependLevel("error",t),console.error((e=_chalk.default.red).bold.apply(e,t))},throw:function(){var e;throw new Error((e=_chalk.default.red).bold.apply(e,arguments))}};function collectResFile(o,a,c,l,i){var s={};return _fs.default.readdirSync(o).forEach(function(e){var r,t=_path.default.resolve(o,e),n=_fs.default.statSync(t);n.isFile()?(r=_path.default.extname(e),c.includes(r)&&!i.includes(e)&&(r=_path.default.resolve(a,e),s[r]=t)):n.isDirectory()&&!l.includes(e)&&(r=collectResFile(t,_path.default.resolve(a,e),c,l,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 t(n,o,a){var c=[],l=_path.default.posix.join(n,o);return a.readdirSync(l).forEach(function(e){var r=_path.default.posix.join(l,e),e=_path.default.posix.join(o,e);a.statSync(r).isFile()?c.push(e):c=c.concat(t(n,e,a))}),c}(e,".",1<arguments.length&&void 0!==arguments[1]?arguments[1]:_fs.default)}function isSupportEngineType(e){var r=["cocos","unity","web"],t=r.includes(e);return t||colorconsole.error("ERROR: 不支持的引擎类型:".concat(e,",仅支持[").concat(r.join(","),"]")),t}function getSubpackageRegArray(e){var n=[];return e.forEach(function(e){var e=e.root||e.resource,r=e,t=e.split("/"),r=e.endsWith(".js")&&1<t.length?t.slice(0,t.length-1).join("/")+"/.*":/\.js$/.test(e)?e:e+".*";n.push(new RegExp(r,"i"))}),n}function toPosix(e){return e.replace(/\\/g,"/")}var tempSubpackages=[];function checkIsSubpackageFile(e,r){tempSubpackages=r||tempSubpackages;var t=toPosix(e);return getSubpackageRegArray(r).some(function(e){return e.test(t)})}function checkIsSubpackageRoot(e){var r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[],t=toPosix(e),n=[];return r.forEach(function(e){var e=e.root||e.resource;e.endsWith(".js")?n.push(e):(e=e.split("/").filter(function(e){return!!e}).join("/"),n.push("".concat(e,"/main.js"),"".concat(e,"/game.js")))}),n.some(function(e){return t.endsWith(e)})}