appbir
Version:
常用脚手架库 -【app-lib-cli】
2 lines • 8.15 kB
JavaScript
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("app-lib-commander"),require("app-lib-exec"),require("app-lib-log"),require("app-lib-nobuild"),require("app-lib-node"),require("app-lib-trans-storage"));else if("function"==typeof define&&define.amd)define(["app-lib-commander","app-lib-exec","app-lib-log","app-lib-nobuild","app-lib-node","app-lib-trans-storage"],t);else{var r="object"==typeof exports?t(require("app-lib-commander"),require("app-lib-exec"),require("app-lib-log"),require("app-lib-nobuild"),require("app-lib-node"),require("app-lib-trans-storage")):t(e["app-lib-commander"],e["app-lib-exec"],e["app-lib-log"],e["app-lib-nobuild"],e["app-lib-node"],e["app-lib-trans-storage"]);for(var o in r)("object"==typeof exports?exports:e)[o]=r[o]}}(this,((e,t,r,o,i,n)=>(()=>{var p={17:(e,t,r)=>{const{log:o}=r(668),i={ERROR:-1,WARN:1,SUCESS:0};let n=[];for(let e in i)n.push(i[e]);const p={[i.ERROR]:"e",[i.WARN]:"w",[i.SUCESS]:"s"};e.exports={AppError:class{constructor(e,t=i.WARN,r={}){if(!n.includes(t))throw o.me(`create AppError code [${t}] is no't in ERROR_CODE [${n}] `);let p=Array.isArray(e)?e:null==e?[]:[e],s={trace:!1,module:!0,data:void 0,print:!0,...r};this.options={message:p,code:t,config:s},s.print&&this.print()}print(e={}){let{message:t,code:r,config:i}={...this.options,...e},{trace:n,module:s}=i;if(t&&t.length){let e=[s&&"m",p[r],n?"":"n"].join(""),i=o[e];if(!i)throw o.me(`log no exist ${e} function`);i.apply(o,t)}}isError(){return this.options.code===i.ERROR}noError(){return this.options.code===i.SUCESS}},ERROR_CODE:i}},585:(e,t,r)=>{const{LANGUAGE:o}=r(598),i={language:e=>["[language]",`[${o.join("/")}] default(${o[0]})`,t=>{if(!o.includes(t))throw log.en("error",`command-argument value '${t}' is invalid for argument 'language' , please choice right language in [${o.join(",")}]`),new e.commander.InvalidArgumentError;return t},o[0]]};e.exports={ARGUMENTS:i}},598:e=>{const t={umd:{key:"umd"},commonjs:{key:"commonjs"},window:{key:"window"}};let r=(()=>{let e=[];for(prop in t)e.push(t[prop].key);return e})();e.exports={TARGET:["server","doc","build","process"],LANGUAGE:["es","node","bin","react","vue","static"],LIBRARY_TARGET_OBJ:t,LIBRARY_TARGET:r}},919:(e,t,r)=>{const{TARGET:o,LIBRARY_TARGET:i}=r(598),n={target:({Option:e})=>new e("-t, --target [string]","server target module").choices(o),debug:({Option:e})=>new e("-d, --debug","show debug log"),libraryTarget:({Option:e})=>new e("-t, --libraryTarget [string]","output libraryTarget").choices(i).default(i[0],"default is umd"),message:({Option:e})=>new e("-msg, --message [string]","git submit or change log message")};e.exports=n},783:e=>{const t=(e,t)=>{let r=1*t;if(isNaN(r))throw new e;return r},r=t;e.exports={int:t,port:r}},174:(e,t,r)=>{const{log:o}=r(668),{ERROR_CODE:i,AppError:n}=r(17),{getRootPath:p,resolve:s}=r(583),{autoRequire:a}=r(305),l=r(783),c=(e="")=>s(p(),"./static/",e),u=(e,t=!0)=>a(t?s(p(),e):s(e));e.exports={praseOpt:e=>{let{options:t}=e,r=t.slice(t.length-2,t.length-1)[0];return{arg:t.slice(0,t.length-2),option:r}},action:async(e,...t)=>{let{commond:r,start:p,...s}=e,a=t.slice(0,t.length-1);const l="string"==typeof t[0]?t[0]:"";o.md(`${r} ${l}::BEGAIN`,{...s,options:a});let c=await p({commond:r,...s,options:t});return void 0===c?new n(`[./plugins/${r}.commong.js] function need return `,i.ERROR):("object"!=typeof c&&(c=new n("",c,{print:!1})),c.noError()?o.md(`${r} ${t[0]}::SUCCESS`):(o.md(`execute [${r} ${l}] result is not 0, confirm is execute success`,`exexute file is [./plugins/${r}.commong.js]`),c.isError()?o.men(`execute [${r} ${l}] result is error!`):o.mwn(`execute [${r} ${l}] is not complete!`)),c)},optionsToArray:(e={},t=[])=>{let r=[];for(key in e)t.includes(key)||(r.push(`--${key}`),r.push(e[key]));return r},bindArg:(e,t)=>{let r={};for(key in e)r[key]=e[key].bind(null,t);return r},prase:l,transEnv:(e,t=[])=>{let r=[];for(let n in e)t.includes(n)&&r.push(`${o=n,i=void 0,(i=o,i.replace(/([A-Z])/g,"_$1").toLowerCase()).toUpperCase()}=${e[n]}`);var o,i;return r},getConfigPath:e=>{let{opt:t,append:r}=e,{commond:o,options:i}=t,n=[o,i[0]].concat(r||[]).concat(["config.js"]).join(".");return s(p(),"./static/config",n)},getStaticPath:c,autoRequireFile:u,autoRequireStaticFile:e=>u(c(e))}},625:e=>{const t={umd:{key:"umd"},commonjs:{key:"commonjs"},window:{key:"window"}};let r=(()=>{let e=[];for(prop in t)e.push(t[prop].key);return e})();e.exports={TARGET:["server","doc","build","process"],LANGUAGE:["es","bin","node","react","vue"],LIBRARY_TARGET_OBJ:t,LIBRARY_TARGET:r}},424:(e,t,r)=>{const o=r(177);e.exports={initCommond:e=>{let{STATIC:{jsonToFile:t},utils:{autoRequireStaticFile:r}}=e;t(o);let i=r("plugin.config.json"),n=((e,t)=>{let{program:r,commander:o,utils:{autoRequireStaticFile:i,action:n},OPTIONS:p,noBuild:{appRequire:s}}=t;const a=[];e.forEach((e=>{if(e?.enable){let l=e.path,c=e.name;try{let u="local"==e?.type?i(`plugin/${l}`):s(l);const d=u?.start(t);if(!d.init)return log.me("need init method export in "+l);if(!d.start)return log.me("need start method export in "+l);let m=r.command(c);d.init(m,t),m.addOption(p.debug(o)).action(n.bind(null,{start:d.start,commond:c})),m.addOption(p.message(o)),a.push(e)}catch(e){log.me(`regiter ${c} commond error,please check [${l}] file`,e)}}})),log.md(`already success register ${a.length} commonds`);let l=a.map((e=>({commond:e.name,"see commond help":`appbir ${e.name} --help`,enable:e.enable,type:e.type,discription:e.discription})));return process.argv.includes("--debug")&&log.T(l),l})(i,e);return{commonds:i,registerCommond:n}}}},555:(e,t,r)=>{const{log:o}=r(668),i=r(558),n=r(583),p=r(550),{exec:s}=r(86),a=r(174),l=r(305),c=r(919),{ARGUMENTS:u}=r(585),d=r(17),m=r(625);e.exports={nodeUtils:n,utils:a,exec:s,commander:i,log:o,noBuild:l,OPTIONS:c,ARGUMENTS:u,Error:d,STATIC:p,CONSTANT:m}},558:t=>{"use strict";t.exports=e},86:e=>{"use strict";e.exports=t},668:e=>{"use strict";e.exports=r},305:e=>{"use strict";e.exports=o},583:e=>{"use strict";e.exports=i},550:e=>{"use strict";e.exports=n},177:e=>{"use strict";e.exports=JSON.parse('[{"name":"plugin.config.json","content":"[\\r\\n {\\"name\\":\\"plugin\\",\\"enable\\":true,\\"type\\":\\"package\\",\\"path\\":\\"app-lib-cli-plugin-plugin\\",\\"discription\\":\\"//TODO 插件管理\\"},\\r\\n {\\"name\\":\\"git\\",\\"enable\\":true,\\"type\\":\\"package\\",\\"path\\":\\"app-lib-cli-plugin-git\\",\\"discription\\":\\"GIT操作\\"},\\r\\n {\\"name\\":\\"build\\",\\"enable\\":true,\\"type\\":\\"package\\",\\"path\\":\\"app-lib-cli-plugin-build\\",\\"discription\\":\\"构建编译\\"},\\r\\n {\\"name\\":\\"md\\",\\"enable\\":true,\\"type\\":\\"package\\",\\"path\\":\\"app-lib-cli-plugin-md\\",\\"discription\\":\\"markdown编译\\"},\\r\\n {\\"name\\":\\"run\\",\\"enable\\":true,\\"type\\":\\"package\\",\\"path\\":\\"app-lib-cli-plugin-run\\",\\"discription\\":\\"自定义命令\\"},\\r\\n {\\"name\\":\\"server\\",\\"enable\\":true,\\"type\\":\\"package\\",\\"path\\":\\"app-lib-cli-plugin-server\\",\\"discription\\":\\"启动服务\\"},\\r\\n {\\"name\\":\\"init\\",\\"enable\\":true,\\"type\\":\\"package\\",\\"path\\":\\"app-lib-cli-plugin-init\\",\\"discription\\":\\"初始工程\\"},\\r\\n {\\"name\\":\\"doc\\",\\"enable\\":true,\\"type\\":\\"package\\",\\"path\\":\\"app-lib-cli-plugin-doc\\",\\"discription\\":\\"API文档\\"}\\r\\n]"}]')}},s={};function a(e){var t=s[e];if(void 0!==t)return t.exports;var r=s[e]={exports:{}};return p[e](r,r.exports,a),r.exports}return(()=>{const{initCommond:e}=a(424),t=a(555);let{log:r,commander:{Command:o},utils:{action:i,autoRequireFile:n}}=t;const p=new o;r.auotLevel();let{registerCommond:s}=e({...t,program:p});const l=n("package.json");p.version(`v${l.version}`,"-v,--version","the current version").description("appbir personal cli tool for speed work, you can connection email for appbir@163.com").action(i.bind(null,{start:async()=>(r.mi("usage [ appbir --help ] , show support commond >"),r.T(s),0),commond:l.name})),r.md("run.argv",JSON.stringify(process.argv.slice(2))),p.parse(process.argv)})(),{}})()));
//# sourceMappingURL=cli-min.js.map