@liuli-util/cli 3.20.1 → 3.20.2

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.
package/dist/bin.js CHANGED
@@ -121,7 +121,7 @@ function print() { __p += __j.call(arguments, '') }
121
121
  catch {}
122
122
  `})),t.onResolve({filter:/\.node$/,namespace:"node-file"},r=>({path:r.path,namespace:"file"}));let e=t.initialOptions;e.loader=e.loader||{},e.loader[".node"]="file"}}}function sA(){return{name:"esbuild-plugin-node-externals",setup(t){t.onResolve({filter:/(^node:)/},e=>({path:e.path.slice(5),external:!0}))}}}function xU(t){return["// ==UserScript==",...Object.entries(t).map(([e,r])=>Array.isArray(r)?r.map(i=>`// @${e} ${i}`):`// @${e} ${r}`).flat(),"// ==/UserScript=="].join(`
123
123
  `)+`
124
- `}function aA(){return{name:"esbuild-plugin-userjs",async setup(t){let e=await(0,cd.readJson)(fd.resolve(t.initialOptions.absWorkingDir,"package.json"));if(!e.userjs)throw new Error("userjs is not supported");t.initialOptions.banner||(t.initialOptions.banner={}),t.initialOptions.banner.js=xU(e.userjs)}}}var ER=Se(uO()),kR=Se(sR());function aR(t,e,r=null){let i,n=r;return async function(...s){return new Promise(o=>{i&&clearTimeout(i),i=setTimeout(()=>o(n=t(...s)),e),setTimeout(()=>o(n),e)})}}var DR=Se(vR());function bR(t){return(t.startsWith("@")?t.slice(t.indexOf("/")+1):t).split("-").map(r=>r.slice(0,1).toUpperCase()+r.slice(1).toLowerCase()).join("")}var vi=class{constructor(e){this.options=e}set isWatch(e){this.options.isWatch=e}static async getDeps(e){let r=await(0,cn.readJson)(ar.resolve(e,"package.json"));return Object.keys({...r.dependencies,...r.devDependencies,...r.peerDependencies})}static async getPlatform(e){let r=ar.resolve(e,"tsconfig.json");if(await(0,cn.pathExists)(r)&&(0,DR.parse)(await(0,cn.readFile)(r,"utf-8"))?.compilerOptions?.lib?.some(s=>s.toLowerCase()==="dom"))return"browser";let i=ar.resolve(e,"package.json");if(await(0,cn.pathExists)(i)){let n=await(0,cn.readJson)(i);if(Object.keys(n.devDependencies??{}).includes("@types/node"))return"node"}return"neutral"}static getWatchOptions(e){return{pattern:"src/**/*.ts",options:{cwd:e,ignore:"**/__tests__/**/*"}}}async genDTS(){let e=this.options.base,{pattern:r,options:i}=vi.getWatchOptions(this.options.base),n=new _R.Project({tsConfigFilePath:ar.resolve(e,"tsconfig.json"),skipAddingFilesFromTsConfig:!0,compilerOptions:{emitDeclarationOnly:!0,noEmit:!1,incremental:this.options.isWatch}}),s=(await(0,wR.promise)(r,i)).map(o=>ar.resolve(e,o));n.addSourceFilesAtPaths(s),await n.emit({emitOnlyDtsFiles:!0})}getBuildUserJSOption(){return{entryPoints:[ar.resolve(this.options.base,"./src/index.ts")],outfile:ar.resolve(this.options.base,"./dist/index.user.js"),format:"iife",bundle:!0,external:[...vi.globalExternal],platform:"browser",plugins:[aA()],incremental:this.options.isWatch,absWorkingDir:this.options.base}}getBuildCjsOption({deps:e,platform:r}){return{entryPoints:[ar.resolve(this.options.base,"./src/index.ts")],outfile:ar.resolve(this.options.base,"./dist/index.js"),format:"cjs",sourcemap:!0,bundle:!0,external:[...vi.globalExternal,...e],platform:r,minify:!this.options.isWatch,incremental:this.options.isWatch,metafile:this.options.isWatch}}getBuildESMOption({deps:e,platform:r}){return{entryPoints:[ar.resolve(this.options.base,"./src/index.ts")],outfile:ar.resolve(this.options.base,"./dist/index.esm.js"),format:"esm",sourcemap:!0,bundle:!0,external:[...vi.globalExternal,...e],platform:r,minify:!this.options.isWatch,incremental:this.options.isWatch,metafile:this.options.isWatch}}getBuildIifeOption({platform:e,globalName:r}){return{entryPoints:[ar.resolve(this.options.base,"./src/index.ts")],outfile:ar.resolve(this.options.base,"./dist/index.iife.js"),format:"iife",sourcemap:!0,bundle:!0,external:[...vi.globalExternal],platform:e,minify:!this.options.isWatch,incremental:this.options.isWatch,metafile:this.options.isWatch,globalName:r}}getBuildCliOption({platform:e}){let r=vi.getPlugins(e);return{entryPoints:[ar.resolve(this.options.base,"./src/bin.ts")],outfile:ar.resolve(this.options.base,"./dist/bin.js"),format:"cjs",sourcemap:!0,platform:e,bundle:!0,banner:{js:"#!/usr/bin/env node"},external:[...vi.globalExternal],plugins:r,minify:!this.options.isWatch,incremental:this.options.isWatch,metafile:this.options.isWatch}}static getPlugins(e){let r=[];return e==="node"&&r.push(sA(),nA()),r}async build(e){await(0,Zv.build)(e)}async getTasks(){let e=await vi.getDeps(this.options.base),r=await vi.getPlatform(this.options.base);return{esm:{title:"\u6784\u5EFA esm",task:()=>this.build(this.getBuildESMOption({deps:e,platform:r}))},cjs:{title:"\u6784\u5EFA cjs",task:()=>this.build(this.getBuildCjsOption({deps:e,platform:r}))},iife:{title:"\u6784\u5EFA iife",task:async()=>await this.build(this.getBuildIifeOption({platform:r,globalName:bR((await(0,cn.readJson)(ar.resolve(this.options.base,"./package.json"))).name)}))},cli:{title:"\u6784\u5EFA cli",task:()=>(0,Zv.build)(this.getBuildCliOption({deps:e,platform:r}))},dts:{title:"\u751F\u6210\u7C7B\u578B\u5B9A\u4E49",task:()=>this.genDTS()},userjs:{title:"\u6253\u5305 userjs",task:()=>this.build(this.getBuildUserJSOption())}}}static async execTask(e,r){let i=Date.now();e.add(r.title,{text:r.title});try{await r.task(),e.succeed(r.title,{text:`${r.title}: ${Date.now()-i}ms`})}catch{e.fail(r.title,{text:r.title})}}async execTasks(e){let r=async()=>{let s=Date.now(),o=new kR.default;await Promise.all(e.map(async l=>vi.execTask(o,l))),console.log(`\u6784\u5EFA\u5B8C\u6210: ${Date.now()-s}ms`)};if(!this.options.isWatch){await(0,cn.remove)(ar.resolve(this.options.base,"dist")),await r();return}let{pattern:i,options:n}=vi.getWatchOptions(this.options.base);await new Promise((s,o)=>{(0,ER.watch)(i,n).on("error",o).on("all",aR(r,10))})}},Kd=vi;hu(Kd,"globalExternal",["esbuild","pnpapi","ts-morph","ssh2"]);var CR=Se(require("path")),Ni=new Kd({base:CR.default.resolve(),isWatch:!1}),SR=new Fu.Command("build").addCommand(new Fu.Command("lib").description("\u4F7F\u7528 esbulid \u5C06 ts lib \u6253\u5305\u5230 dist \u76EE\u5F55\uFF0C\u683C\u5F0F\u4E3A esm/cjs").option("-w --watch","\u76D1\u89C6\u6A21\u5F0F").action(async t=>{Ni.isWatch=!!t.watch;let e=await Ni.getTasks();await Ni.execTasks([e.esm,e.cjs,e.dts])}).alias("pkg")).addCommand(new Fu.Command("cli").description("\u4F7F\u7528 esbulid \u5C06 ts cli \u6253\u5305\u5230 dist \u76EE\u5F55\uFF0C\u683C\u5F0F\u4E3A cjs\uFF0C\u5E76\u4E14\u6346\u7ED1\u4F9D\u8D56").option("-w, --watch","\u76D1\u89C6\u6A21\u5F0F").action(async t=>{Ni.isWatch=!!t.watch;let e=await Ni.getTasks();await Ni.execTasks([e.cli,e.esm,e.cjs,e.dts])})).addCommand(["iife","cli","esm","cjs","dts"].reduce((t,e)=>(t.addCommand(new Fu.Command(e).description(`\u5355\u72EC\u6784\u5EFA ${e}`).option("-w --watch","\u76D1\u89C6\u6A21\u5F0F").action(async r=>{Ni.isWatch=!!r.watch;let i=await Ni.getTasks();await Ni.execTasks([i[e]])})),t),new Fu.Command("single").description("\u5355\u72EC\u6784\u5EFA\u67D0\u79CD\u7C7B\u578B\u7684 bundle").option("-t, --target <target...>","\u6784\u5EFA\u76EE\u6807\uFF0C\u662F\u4E00\u4E2A\u6570\u7EC4\uFF0C\u53EF\u4EE5\u4F7F\u7528 , \u5206\u5272").option("-w, --watch","\u76D1\u89C6\u6A21\u5F0F").action(async t=>{Ni.isWatch=!!t.watch;let e=await Ni.getTasks();await Ni.execTasks(t.target.flatMap(r=>r.split(",")).map(r=>e[r]))})));var sp=Se(du());var Rn=Se(require("path")),pr=Se(Ys()),np=Se(wb());var bi=Se(Ys()),oa=Se(require("path")),kb=Se(RP());var iY="@liuli-util/prettier-standard-config",nY="0.2.0",sY=".prettierrc.json",aY="index.d.ts",oY="MIT",uY={access:"public",registry:"https://registry.npmjs.org/"},lY={prettier:"^2.4.1"},cY={prettier:"^2"},TP={name:iY,version:nY,main:sY,types:aY,license:oY,publishConfig:uY,devDependencies:lY,peerDependencies:cY};var fY="@liuli-util/eslint-config-ts",hY="0.4.0",dY=".eslintrc.json",pY="MIT",mY={access:"public",registry:"https://registry.npmjs.org/"},gY={type:"git",url:"https://github.com/rxliuli/liuli-tools",directory:"libs/eslint-config-ts"},yY={"@typescript-eslint/eslint-plugin":"^5.12.0","@typescript-eslint/parser":"^5.12.0",eslint:"^8.9.0","eslint-config-prettier":"^8.3.0","eslint-plugin-unused-imports":"^2.0.0"},vY={typescript:">=4"},PP={name:fY,version:hY,main:dY,license:pY,publishConfig:mY,repository:gY,dependencies:yY,peerDependencies:vY};var bY="@liuli-util/eslint-config-react-ts",_Y="0.2.1",wY=".eslintrc.json",EY="MIT",kY={access:"public",registry:"https://registry.npmjs.org/"},DY={type:"git",url:"https://github.com/rxliuli/liuli-tools",directory:"libs/eslint-config-react-ts"},CY={"@liuli-util/eslint-config-ts":"^0.4.0","@typescript-eslint/eslint-plugin":"^5.12.0","@typescript-eslint/parser":"^5.12.0",eslint:"^8.9.0","eslint-config-prettier":"^8.3.0","eslint-plugin-react-hooks":"^4.3.0"},SY={typescript:">=4"},$P={name:bY,version:_Y,main:wY,license:EY,publishConfig:kY,repository:DY,dependencies:CY,peerDependencies:SY};var AY="@liuli-util/commitlint-standard-config",xY="0.1.6",OY=".commitlintrc.json",RY="MIT",TY={access:"public",registry:"https://registry.npmjs.org/"},PY={"@commitlint/config-conventional":"^13.1.0"},$Y={"@commitlint/cli":"^12.1.4"},FP={name:AY,version:xY,main:OY,license:RY,publishConfig:TY,dependencies:PY,peerDependencies:$Y};var LP=Se(wb());var Wc=Se(Ys()),Bu=Se(require("path"));function IP(t,e,r=i=>i){return t.reduce((i,n,s,o)=>i.set(e(n,s,o),r(n,s,o)),new Map)}function MP(t,e){return t?t.includes(e)?t:t+" && "+e:e}var NP=Se(require("path"));function Eb(t,e){let r=e(t);function i(n){if(n)return t;let s=NP.default.dirname(t);return s===t?null:Eb(s,e)}return r instanceof Promise?r.then(i):i(r)}var Li;(function(s){s.Filter="filter",s.Map="map",s.ForEach="forEach",s.Reduce="reduce",s.FlatMap="flatMap"})(Li||(Li={}));var Lu=class{constructor(e,r){this.type=e;this.args=r;this.type=e,this.args=r}};hu(Lu,"Type",Li);var dn=class{constructor(e){this.arr=e}static reduce(e,r,i){return e.reduce((n,s,o)=>n.then(l=>r(l,s,o)),Promise.resolve(i))}static map(e,r){return Promise.all(e.map((i,n)=>r(i,n)))}static async filter(e,r){let i=[];return await dn.map(e,async(n,s)=>{await r(n,s)&&i.push(n)}),i}static async flatMap(e,r){return(await Promise.all(e.map((i,n)=>r(i,n)))).flatMap(i=>i)}static async forEach(e,r){await dn.map(e,r)}tasks=[];map(e){return this.tasks.push(new Lu(Li.Map,[e])),this}flatMap(e){return this.tasks.push(new Lu(Li.FlatMap,[e])),this}filter(e){return this.tasks.push(new Lu(Li.Filter,[e])),this}async forEach(e){this.tasks.push(new Lu(Li.Map,[e])),await this}then(e,r){let i=this.value();return i.then(n=>(e&&e(i),n)).catch(n=>{throw r&&r(n),n}),i}async value(){let e=this.arr;for(let r of this.tasks)switch(r.type){case Li.Filter:e=await dn.filter(e,r.args[0]);break;case Li.Map:e=await dn.map(e,r.args[0]);break;case Li.FlatMap:e=await dn.flatMap(e,r.args[0]);break;case Li.ForEach:await dn.forEach(e,r.args[0]);return;case Li.Reduce:return await dn.reduce(e,r.args[0],r.args[1])}return e}};async function _s(t=process.cwd()){return await(0,Wc.pathExists)(Bu.resolve(t,"./package.json"))}async function _o(t=process.cwd()){return await _s(t)?!!(await(0,Wc.readJson)(Bu.resolve(t,"./package.json"))).workspaces:!1}async function rp(t=process.cwd()){return!await _s(t)||await _o(t)?!1:await Eb(Bu.dirname(t),_o)!==null}async function ip(t,e=process.cwd()){if(!await _s(e))return!1;let r=await(0,Wc.readJson)(Bu.resolve(e,"./package.json")),i=new Set(Object.keys({...r.dependencies,...r.devDependencies}));return t.every(n=>i.has(n))}var qP=Se(require("path")),ju=class{};hu(ju,"RootPath",qP.default.resolve(__dirname,".."));async function wo(t,e){let r=oa.default.resolve(t,"./package.json");await(0,bi.writeJson)(r,(0,kb.merge)(await(0,bi.readJson)(r),e),{spaces:2})}var Vc=class{constructor(e){this.base=e}syncConfigs=[{type:"workspaces",handler:async()=>{let e=oa.default.resolve(this.base,"./package.json"),r=oa.default.resolve(this.base,"lerna.json"),i=await(0,bi.readJson)(e),n=await(0,bi.readJson)(r);n.packages=i.workspaces,await(0,bi.writeJson)(r,n,{spaces:2})},when:_o},{type:"prettier",handler:async()=>{await wo(this.base,{prettier:"@liuli-util/prettier-standard-config",devDependencies:{prettier:"^2.3.2","@liuli-util/prettier-standard-config":`^${TP.version}`}})},async when(){return await _s()&&(await _o()||!await rp())}},{type:"commitlint",handler:async()=>{await wo(this.base,{"simple-git-hooks":{"commit-msg":"yarn commitlint --edit $1"},commitlint:{extends:["@liuli-util/commitlint-standard-config"]},devDependencies:{"@commitlint/cli":"^12.1.4","@liuli-util/commitlint-standard-config":`^${FP.version}`}})},async when(){return await _s()&&(await _o()||!await rp())}},{type:"gitignore",handler:async()=>{let e=oa.default.resolve(this.base,".gitignore");await(0,bi.writeFile)(e,await(0,bi.readFile)(oa.default.resolve(ju.RootPath,"_gitignore"),"utf-8"))}},{type:"eslint-ts",handler:async()=>{await wo(this.base,{eslintConfig:{extends:["@liuli-util/eslint-config-ts"]},devDependencies:{"@liuli-util/eslint-config-ts":`^${PP.version}`}})},async when(){return await _s()&&!await ip(["vue"])&&!await ip(["react"])}},{type:"eslint-react-ts",handler:async()=>{await wo(this.base,{eslintConfig:{extends:["@liuli-util/eslint-config-react-ts"]},devDependencies:{"@liuli-util/eslint-config-react-ts":`^${$P.version}`}})},async when(){return await _s()&&await ip(["react"])}},{type:"jest",handler:async()=>{await wo(this.base,{jest:{preset:"ts-jest",testMatch:["<rootDir>/src/**/__tests__/*.test.ts"]},devDependencies:{jest:"^27.4.3","ts-jest":"^27.0.7"}})}},{type:"simplehooks",handler:async()=>{let e=await(0,bi.readJson)(oa.default.resolve(this.base,"./package.json")),r={};e.prettier&&(r["src/**/*.{ts,tsx,js,jsx,css,vue}"]=["prettier --write","git add"]),e.eslintConfig&&(r["src/**/*.{ts,tsx,js,jsx}"]=["eslint --fix --quiet","git add"]);let i={scripts:{postinstall:MP(e?.scripts?.postinstall,"npx simple-git-hooks")},"simple-git-hooks":{"pre-commit":"yarn lint-staged"},"lint-staged":r,devDependencies:{"simple-git-hooks":"^2.5.1","lint-staged":"^11.1.1"}};e.commitlint&&(i=(0,kb.merge)(i,{"simple-git-hooks":{"commit-msg":"yarn commitlint --edit $1"}})),await wo(this.base,i)},async when(){return await _s()&&(await _o()||!await rp())}}];async sync(){let{sync:e}=await(0,bi.readJson)(oa.default.resolve(this.base,"package.json"));if(!e)return;let r=this.syncConfigs.filter(i=>e.includes(i.type));for(let i of r)await i.handler()}async init(){let e=IP(await dn.filter(this.syncConfigs,async i=>i.when?await i.when():!0),i=>i.type),r=await(0,LP.prompt)({type:"multiselect",message:"\u8BF7\u9009\u62E9\u9700\u8981\u540C\u6B65\u7684\u914D\u7F6E\u9879",name:"sync",choices:[...e.keys()]});await wo(this.base,{sync:r.sync})}};var Eo;(function(r){r.Cli="cli",r.Lib="lib"})(Eo||(Eo={}));var Hu=class{async generate(e){if(!e.dest){let{dest:n}=await(0,np.prompt)({name:"dest",type:"input",message:"\u8BF7\u8F93\u5165\u9879\u76EE\u540D",validate(s){return s.trim()!==""}});e.dest=Rn.default.resolve(n)}if(!e.template){let{template:n}=await(0,np.prompt)({name:"template",type:"select",message:"\u8BF7\u9009\u62E9\u6A21\u677F",choices:[Eo.Lib,Eo.Cli]});e.template=n}let r=Rn.default.resolve(ju.RootPath,`templates/${e.template}`),i=Rn.default.resolve(e.dest);if(await(0,pr.pathExists)(i)&&(await(0,pr.readdir)(i)).some(n=>(0,pr.pathExists)(n))){let{override:n}=await(0,np.prompt)({name:"override",type:"confirm",initial:!0,message:"\u76EE\u6807\u4F4D\u7F6E\u4E0D\u662F\u4E00\u4E2A\u7A7A\u76EE\u5F55\uFF0C\u786E\u8BA4\u8981\u8986\u76D6\u4E48\uFF1F"});if(!n)return}if(await(0,pr.remove)(i),await(0,pr.copy)(r,i,{filter:n=>Rn.default.basename(n)!=="node_modules"}),await Hu.updatePackageJSON(i),await Hu.updateReadme(i),e.initSync){let n=new Vc(Rn.default.resolve(e.dest));await n.init(),await n.sync()}}static async updatePackageJSON(e){let r=Rn.default.resolve(e,"package.json");await(0,pr.writeJSON)(r,{...await(0,pr.readJSON)(r),name:Rn.default.basename(e)},{spaces:2})}static async updateReadme(e){let r=Rn.default.resolve(e,"README.md"),i=await(0,pr.readFile)(r,"utf-8");i=i.replace("template",Rn.default.basename(e)),await(0,pr.writeFile)(r,i)}};var FY=new Hu,BP=new sp.Option("--template [template]","\u6A21\u677F\u7C7B\u578B").choices([Eo.Lib,Eo.Cli]);BP.required=!0;var jP=new sp.Command().command("generate [dest]").description("\u751F\u6210\u4E00\u4E9B\u521D\u59CB\u9879\u76EE").addOption(BP).option("--init-sync [initSync]","\u662F\u5426\u540C\u6B65\u521D\u59CB\u5316",!0).action(async(t,e)=>{await FY.generate({...e,dest:t})});var Db=Se(du());var Cb=new Vc(process.cwd()),HP=new Db.Command("sync").description("\u540C\u6B65\u914D\u7F6E").action(async()=>{await Cb.sync()}).addCommand(new Db.Command("init").description("\u521D\u59CB\u5316\u540C\u6B65\u914D\u7F6E").action(async()=>{await Cb.init(),await Cb.sync()}));var iL=Se(du());var ap=class{static wrapOnEvent(e){let r={},i=new Promise(async(n,s)=>{await new Promise(o=>setTimeout(o,0));try{n(await e(r))}catch(o){s(o)}});return Reflect.set(i,"on",(n,s)=>(r[n]=s,i)),i}};var Z3=Se(D$()),Ta=Se(require("path")),X3=Se(require("os")),Pa=Se(Ys()),eL=Se(dM());var jo=Se(require("os")),kl=Se(require("path"));function pM(t){let e=process.env.XDG_CACHE_HOME||kl.join(jo.homedir(),".cache");return kl.join(e,t)}function Lne(t){return kl.join(jo.homedir(),"Library","Caches",t)}function Bne(t){let e=process.env.LOCALAPPDATA||kl.join(jo.homedir(),"AppData","Local");return kl.join(e,t,"Cache")}var jne=function(){switch(jo.platform()){case"darwin":return Lne;case"win32":return Bne;case"aix":case"android":case"freebsd":case"linux":case"netbsd":case"openbsd":case"sunos":return pM;default:return console.error(`(node:${process.pid}) [cachedir] Warning: the platform "${jo.platform()}" is not currently supported by node-cachedir, falling back to "posix". Please file an issue with your platform here: https://github.com/LinusU/node-cachedir/issues/new`),pM}}();function mM(t){if(t.length===0)throw new Error("id cannot be empty");if(/[^0-9a-zA-Z-]/.test(t))throw new Error("id cannot contain special characters");return jne(t)}var yg=Se(require("perf_hooks"));var Y3=Se(wE()),J3=Se(N3()),Q3=Se(K3());function xE(t,e){let r=new Y3.default({allErrors:!0,messages:!1});(0,Q3.default)(r);let i=r.validate(t,e);return i||J3.default.zh(r.errors),[i,r.errorsText()]}var Bf;(function(r){r.GhPages="gh-pages",r.Sftp="sftp"})(Bf||(Bf={}));var OE=class{constructor(e){this.options=e}deploy(){return ap.wrapOnEvent(async()=>{let e=new Z3.default,r=await(0,Pa.readFile)(Ta.resolve(X3.userInfo().homedir,".ssh/id_rsa"),"utf-8");await e.connect({...this.options.sshConfig,privateKey:r}),await e.mkdir(this.options.dest,!0),await e.uploadDir(Ta.resolve(this.options.cwd,this.options.dist),this.options.dest),await e.end()})}validate(){return xE({type:"object",properties:{debug:{type:"boolean"},cwd:{type:"string"},dist:{type:"string"},dest:{type:"string"},sshConfig:{type:"object",properties:{host:{type:"string"},username:{type:"string"}}}},required:["cwd","dist","dest","sshConfig","debug"]},this.options)}},RE=class{constructor(e){this.options=e}deploy(){let e=this.options.remote??"origin",r=this.options.branch??"gh-pages";return ap.wrapOnEvent(async i=>{let n=new yg.PerformanceObserver(g=>{this.options.debug&&console.log(g.getEntries())});n.observe({type:"mark"});function s(g){yg.performance.mark(g),i.process(g)}s("\u5F00\u59CB\u63A8\u9001");let o=(0,eL.default)(this.options.cwd);if(!this.options.repo){s("\u83B7\u53D6\u5F53\u524D\u9879\u76EE\u7684\u8FDC\u7AEF\u914D\u7F6E");let g=(await o.getRemotes(!0)).find(b=>b.name===e);if(!g)throw new Error("\u5F53\u524D\u76EE\u5F55\u4E0D\u662F\u4E00\u4E2A git \u9879\u76EE\u6216\u6CA1\u6709\u914D\u7F6E git remote");this.options.repo=g.refs.fetch}let l=Ta.resolve(mM("liuli-cli"),"gh-pages"),c=this.options.repo.replace(new RegExp("[/:]","g"),"_"),h=Ta.resolve(l,c),d=!1;if(await(0,Pa.pathExists)(h))await o.cwd(h),s("\u66F4\u65B0\u9879\u76EE"),await o.pull(e,r,{"--allow-unrelated-histories":null});else{s("\u514B\u9686\u9879\u76EE");try{await o.clone(this.options.repo,h,{"--branch":r,"--single-branch":null,"--depth":1})}catch{s(`\u672A\u627E\u5230 ${r} \u5206\u652F\uFF0C\u5C1D\u8BD5\u81EA\u52A8\u521B\u5EFA`),await o.clone(this.options.repo,h,{"--single-branch":null,"--depth":1}),await o.cwd(h),await o.checkout({"--orphan":r}),d=!0}}s("\u590D\u5236\u6587\u4EF6");let m=Ta.join(h,this.options.dest??"./");await(0,Pa.mkdirp)(m),await(0,Pa.copy)(Ta.resolve(this.options.cwd,this.options.dist),m),s("\u63D0\u4EA4\u6240\u6709\u6587\u4EF6"),await o.cwd(h),await o.add("-A"),(await o.status()).files.length===0?s("\u6CA1\u6709\u4EFB\u4F55\u63D0\u4EA4\uFF0C\u8DF3\u8FC7\u63D0\u4EA4"):await o.commit("Updates gh-pages by liuli-cli"),s("\u63A8\u9001\u5230\u8FDC\u7AEF"),await o.push(e,r),s("\u5B8C\u6210\u63A8\u9001"),n.disconnect()})}validate(){return xE({type:"object",properties:{debug:{type:"boolean"},cwd:{type:"string"},dist:{type:"string"},dest:{type:"string",nullable:!0},repo:{type:"string",nullable:!0},remote:{type:"string",nullable:!0},branch:{type:"string",nullable:!0}},required:["debug","cwd","dist"]},this.options)}};var tL=Se(require("path")),vg=Se(Ys());async function Jle(t){let e=tL.resolve(t,"package.json");if(await(0,vg.pathExists)(e)){let r=(await(0,vg.readJson)(e)).deploy;if(!r)throw new Error("\u627E\u4E0D\u5230\u914D\u7F6E");return r}throw new Error("\u627E\u4E0D\u5230\u914D\u7F6E")}async function rL(t){let e=await Jle(t.cwd),r,i={...t,...e};switch(e.type){case Bf.Sftp:r=new OE(i);break;case Bf.GhPages:r=new RE(i);break;default:throw new Error("\u672A\u77E5\u7684\u90E8\u7F72\u9884\u8BBE\u7C7B\u578B "+e.type)}let[n,s]=r.validate();if(!n)throw new Error(s);await r.deploy().on("process",o=>{console.info(o)})}var nL=Se(require("path")),sL=new iL.Command("deploy").description("\u90E8\u7F72\u9879\u76EE\u5230\u8FDC\u7AEF").option("--debug","\u662F\u5426\u5F00\u542F\u8C03\u8BD5\u6A21\u5F0F").action(t=>rL({cwd:nL.resolve(),debug:!!t.debug}));new aL.Command().addCommand(SR).addCommand(jP).addCommand(HP).addCommand(sL).parse();
124
+ `}function aA(){return{name:"esbuild-plugin-userjs",async setup(t){let e=await(0,cd.readJson)(fd.resolve(t.initialOptions.absWorkingDir,"package.json"));if(!e.userjs)throw new Error("userjs is not supported");t.initialOptions.banner||(t.initialOptions.banner={}),t.initialOptions.banner.js=xU(e.userjs)}}}var ER=Se(uO()),kR=Se(sR());function aR(t,e,r=null){let i,n=r;return async function(...s){return new Promise(o=>{i&&clearTimeout(i),i=setTimeout(()=>o(n=t(...s)),e),setTimeout(()=>o(n),e)})}}var DR=Se(vR());function bR(t){return(t.startsWith("@")?t.slice(t.indexOf("/")+1):t).split("-").map(r=>r.slice(0,1).toUpperCase()+r.slice(1).toLowerCase()).join("")}var vi=class{constructor(e){this.options=e}set isWatch(e){this.options.isWatch=e}static async getDeps(e){let r=await(0,cn.readJson)(ar.resolve(e,"package.json"));return Object.keys({...r.dependencies,...r.devDependencies,...r.peerDependencies})}static async getPlatform(e){let r=ar.resolve(e,"tsconfig.json");if(await(0,cn.pathExists)(r)&&(0,DR.parse)(await(0,cn.readFile)(r,"utf-8"))?.compilerOptions?.lib?.some(s=>s.toLowerCase()==="dom"))return"browser";let i=ar.resolve(e,"package.json");if(await(0,cn.pathExists)(i)){let n=await(0,cn.readJson)(i);if(Object.keys(n.devDependencies??{}).includes("@types/node"))return"node"}return"neutral"}static getWatchOptions(e){return{pattern:"src/**/*.ts",options:{cwd:e,ignore:"**/__tests__/**/*"}}}async genDTS(){let e=this.options.base,{pattern:r,options:i}=vi.getWatchOptions(this.options.base),n=new _R.Project({tsConfigFilePath:ar.resolve(e,"tsconfig.json"),skipAddingFilesFromTsConfig:!0,compilerOptions:{emitDeclarationOnly:!0,noEmit:!1,incremental:this.options.isWatch}}),s=(await(0,wR.promise)(r,i)).map(o=>ar.resolve(e,o));n.addSourceFilesAtPaths(s),await n.emit({emitOnlyDtsFiles:!0})}getBuildUserJSOption(){return{entryPoints:[ar.resolve(this.options.base,"./src/index.ts")],outfile:ar.resolve(this.options.base,"./dist/index.user.js"),format:"iife",bundle:!0,external:[...vi.globalExternal],platform:"browser",plugins:[aA()],incremental:this.options.isWatch,absWorkingDir:this.options.base}}getBuildCjsOption({deps:e,platform:r}){return{entryPoints:[ar.resolve(this.options.base,"./src/index.ts")],outfile:ar.resolve(this.options.base,"./dist/index.js"),format:"cjs",sourcemap:!0,bundle:!0,external:[...vi.globalExternal,...e],platform:r,minify:!this.options.isWatch,incremental:this.options.isWatch,metafile:this.options.isWatch}}getBuildESMOption({deps:e,platform:r}){return{entryPoints:[ar.resolve(this.options.base,"./src/index.ts")],outfile:ar.resolve(this.options.base,"./dist/index.esm.js"),format:"esm",sourcemap:!0,bundle:!0,external:[...vi.globalExternal,...e],platform:r,minify:!this.options.isWatch,incremental:this.options.isWatch,metafile:this.options.isWatch}}getBuildIifeOption({platform:e,globalName:r}){return{entryPoints:[ar.resolve(this.options.base,"./src/index.ts")],outfile:ar.resolve(this.options.base,"./dist/index.iife.js"),format:"iife",sourcemap:!0,bundle:!0,external:[...vi.globalExternal],platform:e,minify:!this.options.isWatch,incremental:this.options.isWatch,metafile:this.options.isWatch,globalName:r}}getBuildCliOption({platform:e}){let r=vi.getPlugins(e);return{entryPoints:[ar.resolve(this.options.base,"./src/bin.ts")],outfile:ar.resolve(this.options.base,"./dist/bin.js"),format:"cjs",sourcemap:!0,platform:e,bundle:!0,banner:{js:"#!/usr/bin/env node"},external:[...vi.globalExternal],plugins:r,minify:!this.options.isWatch,incremental:this.options.isWatch,metafile:this.options.isWatch}}static getPlugins(e){let r=[];return e==="node"&&r.push(sA(),nA()),r}async build(e){await(0,Zv.build)(e)}async getTasks(){let e=await vi.getDeps(this.options.base),r=await vi.getPlatform(this.options.base);return{esm:{title:"\u6784\u5EFA esm",task:()=>this.build(this.getBuildESMOption({deps:e,platform:r}))},cjs:{title:"\u6784\u5EFA cjs",task:()=>this.build(this.getBuildCjsOption({deps:e,platform:r}))},iife:{title:"\u6784\u5EFA iife",task:async()=>await this.build(this.getBuildIifeOption({platform:r,globalName:bR((await(0,cn.readJson)(ar.resolve(this.options.base,"./package.json"))).name)}))},cli:{title:"\u6784\u5EFA cli",task:()=>(0,Zv.build)(this.getBuildCliOption({deps:e,platform:r}))},dts:{title:"\u751F\u6210\u7C7B\u578B\u5B9A\u4E49",task:()=>this.genDTS()},userjs:{title:"\u6253\u5305 userjs",task:()=>this.build(this.getBuildUserJSOption())}}}static async execTask(e,r){let i=Date.now();e.add(r.title,{text:r.title});try{await r.task(),e.succeed(r.title,{text:`${r.title}: ${Date.now()-i}ms`})}catch{e.fail(r.title,{text:r.title})}}async execTasks(e){let r=async()=>{let s=Date.now(),o=new kR.default;await Promise.all(e.map(async l=>vi.execTask(o,l))),console.log(`\u6784\u5EFA\u5B8C\u6210: ${Date.now()-s}ms`)};if(!this.options.isWatch){await(0,cn.remove)(ar.resolve(this.options.base,"dist")),await r();return}let{pattern:i,options:n}=vi.getWatchOptions(this.options.base);await new Promise((s,o)=>{(0,ER.watch)(i,n).on("error",o).on("all",aR(r,10))})}},Kd=vi;hu(Kd,"globalExternal",["esbuild","pnpapi","ts-morph","ssh2"]);var CR=Se(require("path")),Ni=new Kd({base:CR.default.resolve(),isWatch:!1}),SR=new Fu.Command("build").addCommand(new Fu.Command("lib").description("\u4F7F\u7528 esbulid \u5C06 ts lib \u6253\u5305\u5230 dist \u76EE\u5F55\uFF0C\u683C\u5F0F\u4E3A esm/cjs").option("-w --watch","\u76D1\u89C6\u6A21\u5F0F").action(async t=>{Ni.isWatch=!!t.watch;let e=await Ni.getTasks();await Ni.execTasks([e.esm,e.cjs,e.dts])}).alias("pkg")).addCommand(new Fu.Command("cli").description("\u4F7F\u7528 esbulid \u5C06 ts cli \u6253\u5305\u5230 dist \u76EE\u5F55\uFF0C\u683C\u5F0F\u4E3A cjs\uFF0C\u5E76\u4E14\u6346\u7ED1\u4F9D\u8D56").option("-w, --watch","\u76D1\u89C6\u6A21\u5F0F").action(async t=>{Ni.isWatch=!!t.watch;let e=await Ni.getTasks();await Ni.execTasks([e.cli,e.esm,e.cjs,e.dts])})).addCommand(["iife","cli","esm","cjs","dts"].reduce((t,e)=>(t.addCommand(new Fu.Command(e).description(`\u5355\u72EC\u6784\u5EFA ${e}`).option("-w --watch","\u76D1\u89C6\u6A21\u5F0F").action(async r=>{Ni.isWatch=!!r.watch;let i=await Ni.getTasks();await Ni.execTasks([i[e]])})),t),new Fu.Command("single").description("\u5355\u72EC\u6784\u5EFA\u67D0\u79CD\u7C7B\u578B\u7684 bundle").option("-t, --target <target...>","\u6784\u5EFA\u76EE\u6807\uFF0C\u662F\u4E00\u4E2A\u6570\u7EC4\uFF0C\u53EF\u4EE5\u4F7F\u7528 , \u5206\u5272").option("-w, --watch","\u76D1\u89C6\u6A21\u5F0F").action(async t=>{Ni.isWatch=!!t.watch;let e=await Ni.getTasks();await Ni.execTasks(t.target.flatMap(r=>r.split(",")).map(r=>e[r]))})));var sp=Se(du());var Rn=Se(require("path")),pr=Se(Ys()),np=Se(wb());var bi=Se(Ys()),oa=Se(require("path")),kb=Se(RP());var iY="@liuli-util/prettier-standard-config",nY="0.2.0",sY=".prettierrc.json",aY="index.d.ts",oY="MIT",uY={access:"public",registry:"https://registry.npmjs.org/"},lY={prettier:"^2.4.1"},cY={prettier:"^2"},TP={name:iY,version:nY,main:sY,types:aY,license:oY,publishConfig:uY,devDependencies:lY,peerDependencies:cY};var fY="@liuli-util/eslint-config-ts",hY="0.4.0",dY=".eslintrc.json",pY="MIT",mY={access:"public",registry:"https://registry.npmjs.org/"},gY={type:"git",url:"https://github.com/rxliuli/liuli-tools",directory:"libs/eslint-config-ts"},yY={"@typescript-eslint/eslint-plugin":"^5.12.0","@typescript-eslint/parser":"^5.12.0",eslint:"^8.9.0","eslint-config-prettier":"^8.3.0","eslint-plugin-unused-imports":"^2.0.0"},vY={typescript:">=4"},PP={name:fY,version:hY,main:dY,license:pY,publishConfig:mY,repository:gY,dependencies:yY,peerDependencies:vY};var bY="@liuli-util/eslint-config-react-ts",_Y="0.2.1",wY=".eslintrc.json",EY="MIT",kY={access:"public",registry:"https://registry.npmjs.org/"},DY={type:"git",url:"https://github.com/rxliuli/liuli-tools",directory:"libs/eslint-config-react-ts"},CY={"@liuli-util/eslint-config-ts":"^0.4.0","@typescript-eslint/eslint-plugin":"^5.12.0","@typescript-eslint/parser":"^5.12.0",eslint:"^8.9.0","eslint-config-prettier":"^8.3.0","eslint-plugin-react-hooks":"^4.3.0"},SY={typescript:">=4"},$P={name:bY,version:_Y,main:wY,license:EY,publishConfig:kY,repository:DY,dependencies:CY,peerDependencies:SY};var AY="@liuli-util/commitlint-standard-config",xY="0.1.6",OY=".commitlintrc.json",RY="MIT",TY={access:"public",registry:"https://registry.npmjs.org/"},PY={"@commitlint/config-conventional":"^13.1.0"},$Y={"@commitlint/cli":"^12.1.4"},FP={name:AY,version:xY,main:OY,license:RY,publishConfig:TY,dependencies:PY,peerDependencies:$Y};var LP=Se(wb());var Wc=Se(Ys()),Bu=Se(require("path"));function IP(t,e,r=i=>i){return t.reduce((i,n,s,o)=>i.set(e(n,s,o),r(n,s,o)),new Map)}function MP(t,e){return t?t.includes(e)?t:t+" && "+e:e}var NP=Se(require("path"));function Eb(t,e){let r=e(t);function i(n){if(n)return t;let s=NP.default.dirname(t);return s===t?null:Eb(s,e)}return r instanceof Promise?r.then(i):i(r)}var Li;(function(s){s.Filter="filter",s.Map="map",s.ForEach="forEach",s.Reduce="reduce",s.FlatMap="flatMap"})(Li||(Li={}));var Lu=class{constructor(e,r){this.type=e;this.args=r;this.type=e,this.args=r}};hu(Lu,"Type",Li);var dn=class{constructor(e){this.arr=e}static reduce(e,r,i){return e.reduce((n,s,o)=>n.then(l=>r(l,s,o)),Promise.resolve(i))}static map(e,r){return Promise.all(e.map((i,n)=>r(i,n)))}static async filter(e,r){let i=[];return await dn.map(e,async(n,s)=>{await r(n,s)&&i.push(n)}),i}static async flatMap(e,r){return(await Promise.all(e.map((i,n)=>r(i,n)))).flatMap(i=>i)}static async forEach(e,r){await dn.map(e,r)}tasks=[];map(e){return this.tasks.push(new Lu(Li.Map,[e])),this}flatMap(e){return this.tasks.push(new Lu(Li.FlatMap,[e])),this}filter(e){return this.tasks.push(new Lu(Li.Filter,[e])),this}async forEach(e){this.tasks.push(new Lu(Li.Map,[e])),await this}then(e,r){let i=this.value();return i.then(n=>(e&&e(i),n)).catch(n=>{throw r&&r(n),n}),i}async value(){let e=this.arr;for(let r of this.tasks)switch(r.type){case Li.Filter:e=await dn.filter(e,r.args[0]);break;case Li.Map:e=await dn.map(e,r.args[0]);break;case Li.FlatMap:e=await dn.flatMap(e,r.args[0]);break;case Li.ForEach:await dn.forEach(e,r.args[0]);return;case Li.Reduce:return await dn.reduce(e,r.args[0],r.args[1])}return e}};async function _s(t=process.cwd()){return await(0,Wc.pathExists)(Bu.resolve(t,"./package.json"))}async function _o(t=process.cwd()){return await _s(t)?!!(await(0,Wc.readJson)(Bu.resolve(t,"./package.json"))).workspaces:!1}async function rp(t=process.cwd()){return!await _s(t)||await _o(t)?!1:await Eb(Bu.dirname(t),_o)!==null}async function ip(t,e=process.cwd()){if(!await _s(e))return!1;let r=await(0,Wc.readJson)(Bu.resolve(e,"./package.json")),i=new Set(Object.keys({...r.dependencies,...r.devDependencies}));return t.every(n=>i.has(n))}var qP=Se(require("path")),ju=class{};hu(ju,"RootPath",qP.default.resolve(__dirname,".."));async function wo(t,e){let r=oa.default.resolve(t,"./package.json");await(0,bi.writeJson)(r,(0,kb.merge)(await(0,bi.readJson)(r),e),{spaces:2})}var Vc=class{constructor(e){this.base=e}syncConfigs=[{type:"workspaces",handler:async()=>{let e=oa.default.resolve(this.base,"./package.json"),r=oa.default.resolve(this.base,"lerna.json"),i=await(0,bi.readJson)(e),n=await(0,bi.readJson)(r);n.packages=i.workspaces,await(0,bi.writeJson)(r,n,{spaces:2})},when:_o},{type:"prettier",handler:async()=>{await wo(this.base,{prettier:"@liuli-util/prettier-standard-config",devDependencies:{prettier:"^2.3.2","@liuli-util/prettier-standard-config":`^${TP.version}`}})},async when(){return await _s()&&(await _o()||!await rp())}},{type:"commitlint",handler:async()=>{await wo(this.base,{"simple-git-hooks":{"commit-msg":"yarn commitlint --edit $1"},commitlint:{extends:["@liuli-util/commitlint-standard-config"]},devDependencies:{"@commitlint/cli":"^12.1.4","@liuli-util/commitlint-standard-config":`^${FP.version}`}})},async when(){return await _s()&&(await _o()||!await rp())}},{type:"gitignore",handler:async()=>{let e=oa.default.resolve(this.base,".gitignore");await(0,bi.writeFile)(e,await(0,bi.readFile)(oa.default.resolve(ju.RootPath,"_gitignore"),"utf-8"))}},{type:"eslint-ts",handler:async()=>{await wo(this.base,{eslintConfig:{extends:["@liuli-util/eslint-config-ts"]},devDependencies:{"@liuli-util/eslint-config-ts":`^${PP.version}`}})},async when(){return await _s()&&!await ip(["vue"])&&!await ip(["react"])}},{type:"eslint-react-ts",handler:async()=>{await wo(this.base,{eslintConfig:{extends:["@liuli-util/eslint-config-react-ts"]},devDependencies:{"@liuli-util/eslint-config-react-ts":`^${$P.version}`}})},async when(){return await _s()&&await ip(["react"])}},{type:"jest",handler:async()=>{await wo(this.base,{jest:{preset:"ts-jest",testMatch:["<rootDir>/src/**/__tests__/*.test.ts"]},devDependencies:{jest:"^27.4.3","ts-jest":"^27.0.7"}})}},{type:"simplehooks",handler:async()=>{let e=await(0,bi.readJson)(oa.default.resolve(this.base,"./package.json")),r={};e.prettier&&(r["src/**/*.{ts,tsx,js,jsx,css,vue}"]=["prettier --write","git add"]),e.eslintConfig&&(r["src/**/*.{ts,tsx,js,jsx}"]=["eslint --fix --quiet","git add"]);let i={scripts:{postinstall:MP(e?.scripts?.postinstall,"npx simple-git-hooks")},"simple-git-hooks":{"pre-commit":"yarn lint-staged"},"lint-staged":r,devDependencies:{"simple-git-hooks":"^2.5.1","lint-staged":"^11.1.1"}};e.commitlint&&(i=(0,kb.merge)(i,{"simple-git-hooks":{"commit-msg":"yarn commitlint --edit $1"}})),await wo(this.base,i)},async when(){return await _s()&&(await _o()||!await rp())}}];async sync(){let{sync:e}=await(0,bi.readJson)(oa.default.resolve(this.base,"package.json"));if(!e)return;let r=this.syncConfigs.filter(i=>e.includes(i.type));for(let i of r)await i.handler()}async init(){let e=IP(await dn.filter(this.syncConfigs,async i=>i.when?await i.when():!0),i=>i.type),r=await(0,LP.prompt)({type:"multiselect",message:"\u8BF7\u9009\u62E9\u9700\u8981\u540C\u6B65\u7684\u914D\u7F6E\u9879",name:"sync",choices:[...e.keys()]});await wo(this.base,{sync:r.sync})}};var Eo;(function(r){r.Cli="cli",r.Lib="lib"})(Eo||(Eo={}));var Hu=class{async generate(e){if(!e.dest){let{dest:n}=await(0,np.prompt)({name:"dest",type:"input",message:"\u8BF7\u8F93\u5165\u9879\u76EE\u540D",validate(s){return s.trim()!==""}});e.dest=Rn.default.resolve(n)}if(!e.template){let{template:n}=await(0,np.prompt)({name:"template",type:"select",message:"\u8BF7\u9009\u62E9\u6A21\u677F",choices:[Eo.Lib,Eo.Cli]});e.template=n}let r=Rn.default.resolve(ju.RootPath,`templates/${e.template}`),i=Rn.default.resolve(e.dest);if(await(0,pr.pathExists)(i)&&(await(0,pr.readdir)(i)).some(n=>(0,pr.pathExists)(n))){let{override:n}=await(0,np.prompt)({name:"override",type:"confirm",initial:!0,message:"\u76EE\u6807\u4F4D\u7F6E\u4E0D\u662F\u4E00\u4E2A\u7A7A\u76EE\u5F55\uFF0C\u786E\u8BA4\u8981\u8986\u76D6\u4E48\uFF1F"});if(!n)return}if(await(0,pr.remove)(i),await(0,pr.copy)(r,i,{filter:n=>Rn.default.basename(n)!=="node_modules"}),await Hu.updatePackageJSON(i),await Hu.updateReadme(i),e.initSync){let n=new Vc(Rn.default.resolve(e.dest));await n.init(),await n.sync()}}static async updatePackageJSON(e){let r=Rn.default.resolve(e,"package.json");await(0,pr.writeJSON)(r,{...await(0,pr.readJSON)(r),name:Rn.default.basename(e)},{spaces:2})}static async updateReadme(e){let r=Rn.default.resolve(e,"README.md"),i=await(0,pr.readFile)(r,"utf-8");i=i.replace("template",Rn.default.basename(e)),await(0,pr.writeFile)(r,i)}};var FY=new Hu,BP=new sp.Option("--template [template]","\u6A21\u677F\u7C7B\u578B").choices([Eo.Lib,Eo.Cli]);BP.required=!0;var jP=new sp.Command().command("generate [dest]").description("\u751F\u6210\u4E00\u4E9B\u521D\u59CB\u9879\u76EE").addOption(BP).option("--init-sync [initSync]","\u662F\u5426\u540C\u6B65\u521D\u59CB\u5316","true").action(async(t,e)=>{await FY.generate({...e,initSync:e.initSync==="true",dest:t})});var Db=Se(du());var Cb=new Vc(process.cwd()),HP=new Db.Command("sync").description("\u540C\u6B65\u914D\u7F6E").action(async()=>{await Cb.sync()}).addCommand(new Db.Command("init").description("\u521D\u59CB\u5316\u540C\u6B65\u914D\u7F6E").action(async()=>{await Cb.init(),await Cb.sync()}));var iL=Se(du());var ap=class{static wrapOnEvent(e){let r={},i=new Promise(async(n,s)=>{await new Promise(o=>setTimeout(o,0));try{n(await e(r))}catch(o){s(o)}});return Reflect.set(i,"on",(n,s)=>(r[n]=s,i)),i}};var Z3=Se(D$()),Ta=Se(require("path")),X3=Se(require("os")),Pa=Se(Ys()),eL=Se(dM());var jo=Se(require("os")),kl=Se(require("path"));function pM(t){let e=process.env.XDG_CACHE_HOME||kl.join(jo.homedir(),".cache");return kl.join(e,t)}function Lne(t){return kl.join(jo.homedir(),"Library","Caches",t)}function Bne(t){let e=process.env.LOCALAPPDATA||kl.join(jo.homedir(),"AppData","Local");return kl.join(e,t,"Cache")}var jne=function(){switch(jo.platform()){case"darwin":return Lne;case"win32":return Bne;case"aix":case"android":case"freebsd":case"linux":case"netbsd":case"openbsd":case"sunos":return pM;default:return console.error(`(node:${process.pid}) [cachedir] Warning: the platform "${jo.platform()}" is not currently supported by node-cachedir, falling back to "posix". Please file an issue with your platform here: https://github.com/LinusU/node-cachedir/issues/new`),pM}}();function mM(t){if(t.length===0)throw new Error("id cannot be empty");if(/[^0-9a-zA-Z-]/.test(t))throw new Error("id cannot contain special characters");return jne(t)}var yg=Se(require("perf_hooks"));var Y3=Se(wE()),J3=Se(N3()),Q3=Se(K3());function xE(t,e){let r=new Y3.default({allErrors:!0,messages:!1});(0,Q3.default)(r);let i=r.validate(t,e);return i||J3.default.zh(r.errors),[i,r.errorsText()]}var Bf;(function(r){r.GhPages="gh-pages",r.Sftp="sftp"})(Bf||(Bf={}));var OE=class{constructor(e){this.options=e}deploy(){return ap.wrapOnEvent(async()=>{let e=new Z3.default,r=await(0,Pa.readFile)(Ta.resolve(X3.userInfo().homedir,".ssh/id_rsa"),"utf-8");await e.connect({...this.options.sshConfig,privateKey:r}),await e.mkdir(this.options.dest,!0),await e.uploadDir(Ta.resolve(this.options.cwd,this.options.dist),this.options.dest),await e.end()})}validate(){return xE({type:"object",properties:{debug:{type:"boolean"},cwd:{type:"string"},dist:{type:"string"},dest:{type:"string"},sshConfig:{type:"object",properties:{host:{type:"string"},username:{type:"string"}}}},required:["cwd","dist","dest","sshConfig","debug"]},this.options)}},RE=class{constructor(e){this.options=e}deploy(){let e=this.options.remote??"origin",r=this.options.branch??"gh-pages";return ap.wrapOnEvent(async i=>{let n=new yg.PerformanceObserver(g=>{this.options.debug&&console.log(g.getEntries())});n.observe({type:"mark"});function s(g){yg.performance.mark(g),i.process(g)}s("\u5F00\u59CB\u63A8\u9001");let o=(0,eL.default)(this.options.cwd);if(!this.options.repo){s("\u83B7\u53D6\u5F53\u524D\u9879\u76EE\u7684\u8FDC\u7AEF\u914D\u7F6E");let g=(await o.getRemotes(!0)).find(b=>b.name===e);if(!g)throw new Error("\u5F53\u524D\u76EE\u5F55\u4E0D\u662F\u4E00\u4E2A git \u9879\u76EE\u6216\u6CA1\u6709\u914D\u7F6E git remote");this.options.repo=g.refs.fetch}let l=Ta.resolve(mM("liuli-cli"),"gh-pages"),c=this.options.repo.replace(new RegExp("[/:]","g"),"_"),h=Ta.resolve(l,c),d=!1;if(await(0,Pa.pathExists)(h))await o.cwd(h),s("\u66F4\u65B0\u9879\u76EE"),await o.pull(e,r,{"--allow-unrelated-histories":null});else{s("\u514B\u9686\u9879\u76EE");try{await o.clone(this.options.repo,h,{"--branch":r,"--single-branch":null,"--depth":1})}catch{s(`\u672A\u627E\u5230 ${r} \u5206\u652F\uFF0C\u5C1D\u8BD5\u81EA\u52A8\u521B\u5EFA`),await o.clone(this.options.repo,h,{"--single-branch":null,"--depth":1}),await o.cwd(h),await o.checkout({"--orphan":r}),d=!0}}s("\u590D\u5236\u6587\u4EF6");let m=Ta.join(h,this.options.dest??"./");await(0,Pa.mkdirp)(m),await(0,Pa.copy)(Ta.resolve(this.options.cwd,this.options.dist),m),s("\u63D0\u4EA4\u6240\u6709\u6587\u4EF6"),await o.cwd(h),await o.add("-A"),(await o.status()).files.length===0?s("\u6CA1\u6709\u4EFB\u4F55\u63D0\u4EA4\uFF0C\u8DF3\u8FC7\u63D0\u4EA4"):await o.commit("Updates gh-pages by liuli-cli"),s("\u63A8\u9001\u5230\u8FDC\u7AEF"),await o.push(e,r),s("\u5B8C\u6210\u63A8\u9001"),n.disconnect()})}validate(){return xE({type:"object",properties:{debug:{type:"boolean"},cwd:{type:"string"},dist:{type:"string"},dest:{type:"string",nullable:!0},repo:{type:"string",nullable:!0},remote:{type:"string",nullable:!0},branch:{type:"string",nullable:!0}},required:["debug","cwd","dist"]},this.options)}};var tL=Se(require("path")),vg=Se(Ys());async function Jle(t){let e=tL.resolve(t,"package.json");if(await(0,vg.pathExists)(e)){let r=(await(0,vg.readJson)(e)).deploy;if(!r)throw new Error("\u627E\u4E0D\u5230\u914D\u7F6E");return r}throw new Error("\u627E\u4E0D\u5230\u914D\u7F6E")}async function rL(t){let e=await Jle(t.cwd),r,i={...t,...e};switch(e.type){case Bf.Sftp:r=new OE(i);break;case Bf.GhPages:r=new RE(i);break;default:throw new Error("\u672A\u77E5\u7684\u90E8\u7F72\u9884\u8BBE\u7C7B\u578B "+e.type)}let[n,s]=r.validate();if(!n)throw new Error(s);await r.deploy().on("process",o=>{console.info(o)})}var nL=Se(require("path")),sL=new iL.Command("deploy").description("\u90E8\u7F72\u9879\u76EE\u5230\u8FDC\u7AEF").option("--debug","\u662F\u5426\u5F00\u542F\u8C03\u8BD5\u6A21\u5F0F").action(t=>rL({cwd:nL.resolve(),debug:!!t.debug}));new aL.Command().addCommand(SR).addCommand(jP).addCommand(HP).addCommand(sL).parse();
125
125
  /*!
126
126
  * fill-range <https://github.com/jonschlinkert/fill-range>
127
127
  *