1 | #!/usr/bin/env node
|
2 | var e=require("dr-js/library/common/format")
|
3 | var r=require("dr-js/library/common/time")
|
4 | var t=require("dr-js/bin/function")
|
5 | var o=require("../sample/server")
|
6 | var i=require("../sample/client")
|
7 | var a=require("../library/configure/option")
|
8 | var n=require("../library/feature/Auth/option")
|
9 | var s=require("../library/feature/Explorer/option")
|
10 | var l=require("../library/feature/StatusCollect/option")
|
11 | var p=require("../library/feature/StatusReport/option")
|
12 | var c=require("../library/feature/TaskRunner/option")
|
13 | var u=require("./optionExplorerClient")
|
14 | var g=require("./option")
|
15 | var v=require("../package.json")
|
16 | const m=e=>console.log(JSON.stringify(e,null,2))
|
17 | const O=["host","node-path-action","node-file-upload","node-file-download"]
|
18 | const f=async(g,O)=>{if("host"===g)return(async e=>{const r=Object.assign({},(0,s.getExplorerOption)(e),{},(0,l.getStatusCollectOption)(e),{},(0,p.getStatusReportOption)(e),{},(0,c.getTaskRunnerOption)(e))
|
19 | const{start:i,option:u,logger:g}=await(0,o.createServer)(Object.assign({},(0,a.getServerOption)(e),{},(0,a.getLogOption)(e),{},(0,a.getPidOption)(e),{},(0,n.getAuthSkipOption)(e),{},(0,n.getAuthFileOption)(e),{},(0,n.getAuthFileGroupOption)(e),{},(0,a.getPermissionOption)(e),{},r))
|
20 | await i()
|
21 | g.add((0,t.describeServer)(u,`${v.name}@${v.version}`,Object.entries(r).map(([e,r])=>void 0!==r&&`${e}: ${r}`).filter(Boolean)))})(O)
|
22 | let f
|
23 | if(!O.tryGet("quiet")){const t=(0,r.createStepper)()
|
24 | f=(...r)=>console.log(...r,`(+${(0,e.time)(t())})`)}const d=await(0,i.startClient)(Object.assign({modeName:g,log:f},(0,n.getAuthFileOption)(O),{},(0,u.getExplorerClientOption)(O)))
|
25 | d&&m(d)};(async()=>{const e=await(0,g.parseOption)()
|
26 | const r=O.find(r=>e.tryGet(r))
|
27 | if(!r)return e.tryGet("version")?m({packageName:v.name,packageVersion:v.version}):console.log((0,g.formatUsage)(null,e.tryGet("help")?null:"simple"))
|
28 | await f(r,e).catch(e=>{console.warn(`[Error] in mode: ${r}:`,e.stack||e)
|
29 | process.exit(2)})})().catch(e=>{console.warn((0,g.formatUsage)(e.stack||e,"simple"))
|
30 | process.exit(1)})
|