derived-cli 0.0.53 → 0.0.54
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/bundle.js +13 -13
- package/package.json +1 -1
package/dist/bundle.js
CHANGED
|
@@ -37,32 +37,32 @@ Expecting one of '${i.join("', '")}'`);let s=`${e}Help`;return this.on(s,r=>{let
|
|
|
37
37
|
`).length-1;this.output.write(y.cursor.move(-999,e*-1))}render(){let e=Gt(this._render(this)??"",process.stdout.columns,{hard:!0});if(e!==this._prevFrame){if(this.state==="initial")this.output.write(y.cursor.hide);else{let t=Si(this._prevFrame,e);if(this.restoreCursor(),t&&t?.length===1){let i=t[0];this.output.write(y.cursor.move(0,i)),this.output.write(y.erase.lines(1));let s=e.split(`
|
|
38
38
|
`);this.output.write(s[i]),this._prevFrame=e,this.output.write(y.cursor.move(0,s.length-i-1));return}if(t&&t?.length>1){let i=t[0];this.output.write(y.cursor.move(0,i)),this.output.write(y.erase.down());let s=e.split(`
|
|
39
39
|
`).slice(i);this.output.write(s.join(`
|
|
40
|
-
`)),this._prevFrame=e;return}this.output.write(y.erase.down())}this.output.write(e),this.state==="initial"&&(this.state="active"),this._prevFrame=e}}};var Vi;Vi=new WeakMap;var Mi=Object.defineProperty,ji=(n,e,t)=>e in n?Mi(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,Rt=(n,e,t)=>(ji(n,typeof e!="symbol"?e+"":e,t),t),Xt=class extends J{constructor(n){super(n,!1),Rt(this,"options"),Rt(this,"cursor",0),this.options=n.options,this.value=[...n.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:e})=>e===n.cursorAt),0),this.on("key",e=>{e==="a"&&this.toggleAll()}),this.on("cursor",e=>{switch(e){case"left":case"up":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case"down":case"right":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break;case"space":this.toggleValue();break}})}get _value(){return this.options[this.cursor].value}toggleAll(){let n=this.value.length===this.options.length;this.value=n?[]:this.options.map(e=>e.value)}toggleValue(){let n=this.value.includes(this._value);this.value=n?this.value.filter(e=>e!==this._value):[...this.value,this._value]}};var Hi=Object.defineProperty,Ni=(n,e,t)=>e in n?Hi(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,qt=(n,e,t)=>(Ni(n,typeof e!="symbol"?e+"":e,t),t),se=class extends J{constructor(e){super(e,!1),qt(this,"options"),qt(this,"cursor",0),this.options=e.options,this.cursor=this.options.findIndex(({value:t})=>t===e.initialValue),this.cursor===-1&&(this.cursor=0),this.changeValue(),this.on("cursor",t=>{switch(t){case"left":case"up":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case"down":case"right":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break}this.changeValue()})}get _value(){return this.options[this.cursor]}changeValue(){this.value=this._value.value}};var re=class extends J{get valueWithCursor(){if(this.state==="submit")return this.value;if(this.cursor>=this.value.length)return`${this.value}\u2588`;let e=this.value.slice(0,this.cursor),[t,...i]=this.value.slice(this.cursor);return`${e}${Ut.default.inverse(t)}${i.join("")}`}get cursor(){return this._cursor}constructor(e){super(e),this.on("finalize",()=>{this.value||(this.value=e.defaultValue)})}};var B=b(require("node:process"),1),h=b(ue(),1),De=b(We(),1);function Wi(){return B.default.platform!=="win32"?B.default.env.TERM!=="linux":!!B.default.env.CI||!!B.default.env.WT_SESSION||!!B.default.env.TERMINUS_SUBLIME||B.default.env.ConEmuTask==="{cmd::Cmder}"||B.default.env.TERM_PROGRAM==="Terminus-Sublime"||B.default.env.TERM_PROGRAM==="vscode"||B.default.env.TERM==="xterm-256color"||B.default.env.TERM==="alacritty"||B.default.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var Ye=Wi(),C=(n,e)=>Ye?n:e,Gi=C("\u25C6","*"),uu=C("\u25A0","x"),iu=C("\u25B2","x"),Ze=C("\u25C7","o"),Ri=C("\u250C","T"),m=C("\u2502","|"),
|
|
40
|
+
`)),this._prevFrame=e;return}this.output.write(y.erase.down())}this.output.write(e),this.state==="initial"&&(this.state="active"),this._prevFrame=e}}};var Vi;Vi=new WeakMap;var Mi=Object.defineProperty,ji=(n,e,t)=>e in n?Mi(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,Rt=(n,e,t)=>(ji(n,typeof e!="symbol"?e+"":e,t),t),Xt=class extends J{constructor(n){super(n,!1),Rt(this,"options"),Rt(this,"cursor",0),this.options=n.options,this.value=[...n.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:e})=>e===n.cursorAt),0),this.on("key",e=>{e==="a"&&this.toggleAll()}),this.on("cursor",e=>{switch(e){case"left":case"up":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case"down":case"right":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break;case"space":this.toggleValue();break}})}get _value(){return this.options[this.cursor].value}toggleAll(){let n=this.value.length===this.options.length;this.value=n?[]:this.options.map(e=>e.value)}toggleValue(){let n=this.value.includes(this._value);this.value=n?this.value.filter(e=>e!==this._value):[...this.value,this._value]}};var Hi=Object.defineProperty,Ni=(n,e,t)=>e in n?Hi(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,qt=(n,e,t)=>(Ni(n,typeof e!="symbol"?e+"":e,t),t),se=class extends J{constructor(e){super(e,!1),qt(this,"options"),qt(this,"cursor",0),this.options=e.options,this.cursor=this.options.findIndex(({value:t})=>t===e.initialValue),this.cursor===-1&&(this.cursor=0),this.changeValue(),this.on("cursor",t=>{switch(t){case"left":case"up":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case"down":case"right":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break}this.changeValue()})}get _value(){return this.options[this.cursor]}changeValue(){this.value=this._value.value}};var re=class extends J{get valueWithCursor(){if(this.state==="submit")return this.value;if(this.cursor>=this.value.length)return`${this.value}\u2588`;let e=this.value.slice(0,this.cursor),[t,...i]=this.value.slice(this.cursor);return`${e}${Ut.default.inverse(t)}${i.join("")}`}get cursor(){return this._cursor}constructor(e){super(e),this.on("finalize",()=>{this.value||(this.value=e.defaultValue)})}};var B=b(require("node:process"),1),h=b(ue(),1),De=b(We(),1);function Wi(){return B.default.platform!=="win32"?B.default.env.TERM!=="linux":!!B.default.env.CI||!!B.default.env.WT_SESSION||!!B.default.env.TERMINUS_SUBLIME||B.default.env.ConEmuTask==="{cmd::Cmder}"||B.default.env.TERM_PROGRAM==="Terminus-Sublime"||B.default.env.TERM_PROGRAM==="vscode"||B.default.env.TERM==="xterm-256color"||B.default.env.TERM==="alacritty"||B.default.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var Ye=Wi(),C=(n,e)=>Ye?n:e,Gi=C("\u25C6","*"),uu=C("\u25A0","x"),iu=C("\u25B2","x"),Ze=C("\u25C7","o"),Ri=C("\u250C","T"),m=C("\u2502","|"),V=C("\u2514","\u2014"),qi=C("\u25CF",">"),Li=C("\u25CB"," "),Ui=C("\u25FB","[\u2022]"),eu=C("\u25FC","[+]"),Ji=C("\u25FB","[ ]"),rs=C("\u25AA","\u2022"),tu=C("\u2500","-"),zi=C("\u256E","+"),Ki=C("\u251C","+"),Yi=C("\u256F","+"),os=C("\u25CF","\u2022"),as=C("\u25C6","*"),Ds=C("\u25B2","!"),ls=C("\u25A0","x"),Xe=n=>{switch(n){case"initial":case"active":return h.default.cyan(Gi);case"cancel":return h.default.red(uu);case"error":return h.default.yellow(iu);case"submit":return h.default.green(Ze)}},Qe=n=>{let{cursor:e,options:t,style:i}=n,s=n.maxItems??Number.POSITIVE_INFINITY,r=Math.max(process.stdout.rows-4,0),u=Math.min(r,Math.max(s,5)),o=0;e>=o+u-3?o=Math.max(Math.min(e-u+3,t.length-u),0):e<o+2&&(o=Math.max(e-2,0));let a=u<t.length&&o>0,c=u<t.length&&o+u<t.length;return t.slice(o,o+u).map((D,l,p)=>{let F=l===0&&a,w=l===p.length-1&&c;return F||w?h.default.dim("..."):i(D,l+o===e)})},nu=n=>new re({validate:n.validate,placeholder:n.placeholder,defaultValue:n.defaultValue,initialValue:n.initialValue,render(){let e=`${h.default.gray(m)}
|
|
41
41
|
${Xe(this.state)} ${n.message}
|
|
42
42
|
`,t=n.placeholder?h.default.inverse(n.placeholder[0])+h.default.dim(n.placeholder.slice(1)):h.default.inverse(h.default.hidden("_")),i=this.value?this.valueWithCursor:t;switch(this.state){case"error":return`${e.trim()}
|
|
43
43
|
${h.default.yellow(m)} ${i}
|
|
44
|
-
${h.default.yellow(
|
|
44
|
+
${h.default.yellow(V)} ${h.default.yellow(this.error)}
|
|
45
45
|
`;case"submit":return`${e}${h.default.gray(m)} ${h.default.dim(this.value||n.placeholder)}`;case"cancel":return`${e}${h.default.gray(m)} ${h.default.strikethrough(h.default.dim(this.value??""))}${this.value?.trim()?`
|
|
46
46
|
${h.default.gray(m)}`:""}`;default:return`${e}${h.default.cyan(m)} ${i}
|
|
47
|
-
${h.default.cyan(
|
|
47
|
+
${h.default.cyan(V)}
|
|
48
48
|
`}}}).prompt();var et=n=>{let e=(t,i)=>{let s=t.label??String(t.value);switch(i){case"selected":return`${h.default.dim(s)}`;case"active":return`${h.default.green(qi)} ${s} ${t.hint?h.default.dim(`(${t.hint})`):""}`;case"cancelled":return`${h.default.strikethrough(h.default.dim(s))}`;default:return`${h.default.dim(Li)} ${h.default.dim(s)}`}};return new se({options:n.options,initialValue:n.initialValue,render(){let t=`${h.default.gray(m)}
|
|
49
49
|
${Xe(this.state)} ${n.message}
|
|
50
50
|
`;switch(this.state){case"submit":return`${t}${h.default.gray(m)} ${e(this.options[this.cursor],"selected")}`;case"cancel":return`${t}${h.default.gray(m)} ${e(this.options[this.cursor],"cancelled")}
|
|
51
51
|
${h.default.gray(m)}`;default:return`${t}${h.default.cyan(m)} ${Qe({cursor:this.cursor,options:this.options,maxItems:n.maxItems,style:(i,s)=>e(i,s?"active":"inactive")}).join(`
|
|
52
52
|
${h.default.cyan(m)} `)}
|
|
53
|
-
${h.default.cyan(
|
|
53
|
+
${h.default.cyan(V)}
|
|
54
54
|
`}}}).prompt()};var su=n=>{let e=(t,i)=>{let s=t.label??String(t.value);return i==="active"?`${h.default.cyan(Ui)} ${s} ${t.hint?h.default.dim(`(${t.hint})`):""}`:i==="selected"?`${h.default.green(eu)} ${h.default.dim(s)} ${t.hint?h.default.dim(`(${t.hint})`):""}`:i==="cancelled"?`${h.default.strikethrough(h.default.dim(s))}`:i==="active-selected"?`${h.default.green(eu)} ${s} ${t.hint?h.default.dim(`(${t.hint})`):""}`:i==="submitted"?`${h.default.dim(s)}`:`${h.default.dim(Ji)} ${h.default.dim(s)}`};return new Xt({options:n.options,initialValues:n.initialValues,required:n.required??!0,cursorAt:n.cursorAt,validate(t){if(this.required&&t.length===0)return`Please select at least one option.
|
|
55
55
|
${h.default.reset(h.default.dim(`Press ${h.default.gray(h.default.bgWhite(h.default.inverse(" space ")))} to select, ${h.default.gray(h.default.bgWhite(h.default.inverse(" enter ")))} to submit`))}`},render(){let t=`${h.default.gray(m)}
|
|
56
56
|
${Xe(this.state)} ${n.message}
|
|
57
57
|
`,i=(s,r)=>{let u=this.value.includes(s.value);return r&&u?e(s,"active-selected"):u?e(s,"selected"):e(s,r?"active":"inactive")};switch(this.state){case"submit":return`${t}${h.default.gray(m)} ${this.options.filter(({value:s})=>this.value.includes(s)).map(s=>e(s,"submitted")).join(h.default.dim(", "))||h.default.dim("none")}`;case"cancel":{let s=this.options.filter(({value:r})=>this.value.includes(r)).map(r=>e(r,"cancelled")).join(h.default.dim(", "));return`${t}${h.default.gray(m)} ${s.trim()?`${s}
|
|
58
58
|
${h.default.gray(m)}`:""}`}case"error":{let s=this.error.split(`
|
|
59
|
-
`).map((r,u)=>u===0?`${h.default.yellow(
|
|
59
|
+
`).map((r,u)=>u===0?`${h.default.yellow(V)} ${h.default.yellow(r)}`:` ${r}`).join(`
|
|
60
60
|
`);return`${t+h.default.yellow(m)} ${Qe({options:this.options,cursor:this.cursor,maxItems:n.maxItems,style:i}).join(`
|
|
61
61
|
${h.default.yellow(m)} `)}
|
|
62
62
|
${s}
|
|
63
63
|
`}default:return`${t}${h.default.cyan(m)} ${Qe({options:this.options,cursor:this.cursor,maxItems:n.maxItems,style:i}).join(`
|
|
64
64
|
${h.default.cyan(m)} `)}
|
|
65
|
-
${h.default.cyan(
|
|
65
|
+
${h.default.cyan(V)}
|
|
66
66
|
`}}}).prompt()};var I=(n="",e="")=>{let t=`
|
|
67
67
|
${n}
|
|
68
68
|
`.split(`
|
|
@@ -71,20 +71,20 @@ ${n}
|
|
|
71
71
|
${h.default.green(Ze)} ${h.default.reset(e)} ${h.default.gray(tu.repeat(Math.max(s-i-1,1))+zi)}
|
|
72
72
|
${r}
|
|
73
73
|
${h.default.gray(Ki+tu.repeat(s+2)+Yi)}
|
|
74
|
-
`)},x=(n="")=>{process.stdout.write(`${h.default.gray(
|
|
74
|
+
`)},x=(n="")=>{process.stdout.write(`${h.default.gray(V)} ${h.default.red(n)}
|
|
75
75
|
|
|
76
76
|
`)},le=(n="")=>{process.stdout.write(`${h.default.gray(Ri)} ${n}
|
|
77
77
|
`)},ce=(n="")=>{process.stdout.write(`${h.default.gray(m)}
|
|
78
|
-
${h.default.gray(
|
|
78
|
+
${h.default.gray(V)} ${n}
|
|
79
79
|
|
|
80
|
-
`)};var cs=`${h.default.gray(m)} `;var
|
|
80
|
+
`)};var cs=`${h.default.gray(m)} `;var M=({indicator:n="dots"}={})=>{let e=Ye?["\u25D2","\u25D0","\u25D3","\u25D1"]:["\u2022","o","O","0"],t=Ye?80:120,i=process.env.CI==="true",s,r,u=!1,o="",a,c=performance.now(),D=E=>{let v=E>1?"Something went wrong":"Canceled";u&>(v,E)},l=()=>D(2),p=()=>D(1),F=()=>{process.on("uncaughtExceptionMonitor",l),process.on("unhandledRejection",l),process.on("SIGINT",p),process.on("SIGTERM",p),process.on("exit",D)},w=()=>{process.removeListener("uncaughtExceptionMonitor",l),process.removeListener("unhandledRejection",l),process.removeListener("SIGINT",p),process.removeListener("SIGTERM",p),process.removeListener("exit",D)},mt=()=>{if(a===void 0)return;i&&process.stdout.write(`
|
|
81
81
|
`);let E=a.split(`
|
|
82
82
|
`);process.stdout.write(De.cursor.move(-999,E.length-1)),process.stdout.write(De.erase.down(E.length))},be=E=>E.replace(/\.+$/,""),ft=E=>{let v=(performance.now()-E)/1e3,O=Math.floor(v/60),W=Math.floor(v%60);return O>0?`[${O}m ${W}s]`:`[${W}s]`},Nu=(E="")=>{u=!0,s=Zt(),o=be(E),c=performance.now(),process.stdout.write(`${h.default.gray(m)}
|
|
83
83
|
`);let v=0,O=0;F(),r=setInterval(()=>{if(i&&o===a)return;mt(),a=o;let W=h.default.magenta(e[v]);if(i)process.stdout.write(`${W} ${o}...`);else if(n==="timer")process.stdout.write(`${W} ${o} ${ft(c)}`);else{let Wu=".".repeat(Math.floor(O)).slice(0,3);process.stdout.write(`${W} ${o}${Wu}`)}v=v+1<e.length?v+1:0,O=O<e.length?O+.125:0},t)},gt=(E="",v=0)=>{u=!1,clearInterval(r),mt();let O=v===0?h.default.green(Ze):v===1?h.default.red(uu):h.default.red(iu);o=be(E??o),n==="timer"?process.stdout.write(`${O} ${o} ${ft(c)}
|
|
84
84
|
`):process.stdout.write(`${O} ${o}
|
|
85
85
|
`),w(),s()};return{start:Nu,stop:gt,message:(E="")=>{o=be(E??o)}}};var Tu=require("child_process"),A=require("fs"),Pu=require("os"),dt=require("path");var q=b(require("fs")),tt=b(require("path")),ru=(n,e=[],t=!1)=>{let i=[],s=[],r=[];for(let u of n){let o=tt.default.join(process.cwd(),u.resolvedPath);if(!u.isNotEnabled)try{if(q.default.mkdirSync(tt.default.dirname(o),{recursive:!0}),u.templateType==="add"){let a=q.default.existsSync(o)&&q.default.lstatSync(o).isFile(),c=t||e.includes(u.resolvedPath);if(a&&!c){r.push(`File already exists: ${o}`);continue}else{if(u.pathError||u.templateError){r.push(`Failed to create file: ${o} because of error: ${u.templateError}`);continue}q.default.writeFileSync(o,u.resolvedTemplate),i.push(o)}}else u.templateType==="modify"&&(u.modifiedFileContent?(q.default.writeFileSync(o,u.modifiedFileContent),s.push(o)):r.push(`Failed to modify file: ${o} because of error: ${u.templateError}`))}catch(a){r.push(a instanceof Error?a.message:String(a))}}return{addResults:i,modifyResults:s,errors:r}};var Iu=b(Du());var it=b(ue());function lu(n){let e={name:"root",type:"directory",children:[],path:""},t=n.map(i=>i.replace(/^\//,"").replace(/\\/g,"/")).sort();for(let i of t){let s=i.split("/").filter(Boolean),r=e;s.forEach((u,o)=>{let a=o===s.length-1,c=r.children?.find(D=>D.name===u);if(c)r=c;else{let D={name:u,type:a?"file":"directory",children:a?void 0:[],path:s.slice(0,o+1).join("/")};r.children||(r.children=[]),r.children.push(D),r=D}})}return e}function he(n,e="",t=!0,i=!0){if(i&&n.children)return n.children.map((a,c)=>he(a,"",c===n.children.length-1,!1)).join(`
|
|
86
86
|
`);let s=t?"\u2514\u2500\u2500 ":"\u251C\u2500\u2500 ",r=n.type==="directory"?"\u{1F4C1} ":"\u{1F4C4} ",u=n.type==="directory"?it.default.cyan(n.name+"/"):it.default.green(n.name),o=e+s+r+u+`
|
|
87
|
-
`;if(n.children&&n.children.length>0){let a=e+(t?" ":"\u2502 ");n.children.forEach((c,D)=>{o+=he(c,a,D===n.children.length-1,!1)})}return o}var T=require("fs"),nt=require("path"),an=".derived",Dn="blocks.json";function cu(){return(0,nt.join)(process.cwd(),an)}function hu(){return(0,nt.join)(cu(),Dn)}function st(n,e){if(n===e)return!0;if(n==null||e==null)return n===e;if(typeof n!=typeof e)return!1;if(typeof n!="object")return n===e;let t=Object.keys(n),i=Object.keys(e);if(t.length!==i.length)return!1;for(let s of t)if(!i.includes(s)||!st(n[s],e[s]))return!1;return!0}function pe(){let n=hu();if(!(0,T.existsSync)(n))return{addedBlocks:[]};try{let e=(0,T.readFileSync)(n,"utf-8"),t=JSON.parse(e);return Array.isArray(t.addedBlocks)?t.addedBlocks.length>0&&typeof t.addedBlocks[0]=="string"?{addedBlocks:t.addedBlocks.map(i=>({code:i,input:{}}))}:t:{addedBlocks:[]}}catch{return{addedBlocks:[]}}}function ln(n){let e=cu(),t=hu();(0,T.existsSync)(e)||(0,T.mkdirSync)(e,{recursive:!0}),(0,T.writeFileSync)(t,JSON.stringify(n,null,2))}function pu(n){return pe().addedBlocks.some(t=>t.code===n)}function rt(n,e){return pe().addedBlocks.find(s=>s.code===n&&st(s.input,e))||null}function du(n,e){return pe().addedBlocks.filter(i=>i.code===n&&!st(i.input,e))}function mu(n,e={}){let t=pe();rt(n,e)||(t.addedBlocks.push({code:n,input:e}),ln(t))}var
|
|
87
|
+
`;if(n.children&&n.children.length>0){let a=e+(t?" ":"\u2502 ");n.children.forEach((c,D)=>{o+=he(c,a,D===n.children.length-1,!1)})}return o}var T=require("fs"),nt=require("path"),an=".derived",Dn="blocks.json";function cu(){return(0,nt.join)(process.cwd(),an)}function hu(){return(0,nt.join)(cu(),Dn)}function st(n,e){if(n===e)return!0;if(n==null||e==null)return n===e;if(typeof n!=typeof e)return!1;if(typeof n!="object")return n===e;let t=Object.keys(n),i=Object.keys(e);if(t.length!==i.length)return!1;for(let s of t)if(!i.includes(s)||!st(n[s],e[s]))return!1;return!0}function pe(){let n=hu();if(!(0,T.existsSync)(n))return{addedBlocks:[]};try{let e=(0,T.readFileSync)(n,"utf-8"),t=JSON.parse(e);return Array.isArray(t.addedBlocks)?t.addedBlocks.length>0&&typeof t.addedBlocks[0]=="string"?{addedBlocks:t.addedBlocks.map(i=>({code:i,input:{}}))}:t:{addedBlocks:[]}}catch{return{addedBlocks:[]}}}function ln(n){let e=cu(),t=hu();(0,T.existsSync)(e)||(0,T.mkdirSync)(e,{recursive:!0}),(0,T.writeFileSync)(t,JSON.stringify(n,null,2))}function pu(n){return pe().addedBlocks.some(t=>t.code===n)}function rt(n,e){return pe().addedBlocks.find(s=>s.code===n&&st(s.input,e))||null}function du(n,e){return pe().addedBlocks.filter(i=>i.code===n&&!st(i.input,e))}function mu(n,e={}){let t=pe();rt(n,e)||(t.addedBlocks.push({code:n,input:e}),ln(t))}var H=require("child_process");function gu(n){return e=>e.length>1?[n,"run",e[0],"--",...e.slice(1)]:[n,"run",e[0]]}function cn(){return n=>["deno","run",`npm:${n[0]}`,...n.slice(1)]}var hn={agent:["npm",0],run:gu("npm"),install:["npm","i",0],frozen:["npm","ci",0],global:["npm","i","-g",0],add:["npm","i",0],upgrade:["npm","update",0],"upgrade-interactive":null,execute:["npx",0],"execute-local":["npx",0],uninstall:["npm","uninstall",0],global_uninstall:["npm","uninstall","-g",0]},Cu={agent:["yarn",0],run:["yarn","run",0],install:["yarn","install",0],frozen:["yarn","install","--frozen-lockfile",0],global:["yarn","global","add",0],add:["yarn","add",0],upgrade:["yarn","upgrade",0],"upgrade-interactive":["yarn","upgrade-interactive",0],execute:["npx",0],"execute-local":["yarn","exec",0],uninstall:["yarn","remove",0],global_uninstall:["yarn","global","remove",0]},pn={...Cu,frozen:["yarn","install","--immutable",0],upgrade:["yarn","up",0],"upgrade-interactive":["yarn","up","-i",0],execute:["yarn","dlx",0],"execute-local":["yarn","exec",0],global:["npm","i","-g",0],global_uninstall:["npm","uninstall","-g",0]},fu={agent:["pnpm",0],run:["pnpm","run",0],install:["pnpm","i",0],frozen:["pnpm","i","--frozen-lockfile",0],global:["pnpm","add","-g",0],add:["pnpm","add",0],upgrade:["pnpm","update",0],"upgrade-interactive":["pnpm","update","-i",0],execute:["pnpm","dlx",0],"execute-local":["pnpm","exec",0],uninstall:["pnpm","remove",0],global_uninstall:["pnpm","remove","--global",0]},dn={agent:["bun",0],run:["bun","run",0],install:["bun","install",0],frozen:["bun","install","--frozen-lockfile",0],global:["bun","add","-g",0],add:["bun","add",0],upgrade:["bun","update",0],"upgrade-interactive":["bun","update",0],execute:["bun","x",0],"execute-local":["bun","x",0],uninstall:["bun","remove",0],global_uninstall:["bun","remove","-g",0]},mn={agent:["deno",0],run:["deno","task",0],install:["deno","install",0],frozen:["deno","install","--frozen",0],global:["deno","install","-g",0],add:["deno","add",0],upgrade:["deno","outdated","--update",0],"upgrade-interactive":["deno","outdated","--update",0],execute:cn(),"execute-local":["deno","task","--eval",0],uninstall:["deno","remove",0],global_uninstall:["deno","uninstall","-g",0]},Fu={npm:hn,yarn:Cu,"yarn@berry":pn,pnpm:fu,"pnpm@6":{...fu,run:gu("pnpm")},bun:dn,deno:mn};function ot(n,e,t){let i=Fu[n][e];return Eu(i,t)}function Eu(n,e){if(n==null)return null;let t=typeof n=="function"?n(e):n.flatMap(i=>typeof i=="number"?e:[i]);return{command:t[0],args:t.slice(1)}}var bu=["npm","yarn","yarn@berry","pnpm","pnpm@6","bun","deno"],at={"bun.lock":"bun","bun.lockb":"bun","deno.lock":"deno","pnpm-lock.yaml":"pnpm","yarn.lock":"yarn","package-lock.json":"npm","npm-shrinkwrap.json":"npm"};var fe=b(require("node:fs"),1),j=b(require("node:path"),1),Au=b(require("node:process"),1);var yu=Symbol.for("quansync.getIsAsync"),de=class extends Error{constructor(e="Unexpected promise in sync context"){super(e),this.name="QuansyncError"}};function lt(n){return n&&typeof n=="object"&&typeof n.then=="function"}function fn(n){return n&&typeof n=="object"&&typeof n[Symbol.iterator]=="function"&&"__quansync"in n}function ct(n){let e=function*(...i){return(yield yu)?yield n.async.apply(this,i):n.sync.apply(this,i)};function t(...i){let s=e.apply(this,i);return s.then=(...r)=>n.async.apply(this,i).then(...r),s.__quansync=!0,s}return t.sync=n.sync,t.async=n.async,t}function gn(n){return ct({async:()=>Promise.resolve(n),sync:()=>{if(lt(n))throw new de;return n}})}function Dt(n,e){if(n===yu)return e;if(fn(n))return e?_u(n):vu(n);if(!e&<(n))throw new de;return n}var $u=n=>n;function vu(n,e=$u){let t=n.next();for(;!t.done;)try{t=n.next(Dt(e(t.value,!1)))}catch(i){t=n.throw(i)}return Dt(t.value)}async function _u(n,e=$u){let t=n.next();for(;!t.done;)try{t=n.next(await Dt(e(t.value,!0),!0))}catch(i){t=n.throw(i)}return t.value}function Cn(n,e){return ct({name:n.name,async(...t){return _u(n.apply(this,t),e?.onYield)},sync(...t){return vu(n.apply(this,t),e?.onYield)}})}function ht(n,e){return lt(n)?gn(n):typeof n=="function"?Cn(n,e):ct(n)}var bs=ht({async:()=>Promise.resolve(!0),sync:()=>!1});var me=ht;var wu=me({sync:n=>{try{return fe.default.statSync(n).isFile()}catch{return!1}},async:async n=>{try{return(await fe.default.promises.stat(n)).isFile()}catch{return!1}}});function*Fn(n=Au.default.cwd()){let e=j.default.resolve(n),{root:t}=j.default.parse(e);for(;e&&e!==t;)yield e,e=j.default.dirname(e)}var Bu=me(function*(n,e){return!n||!(yield wu(n))?null:bn(n,e)}),ge=me(function*(n={}){let{cwd:e,onUnknown:t}=n;for(let i of Fn(e)){for(let r of Object.keys(at))if(yield wu(j.default.join(i,r))){let u=at[r],o=yield Bu(j.default.join(i,"package.json"),t);return o||{name:u,agent:u}}let s=yield Bu(j.default.join(i,"package.json"),t);if(s)return s}return null}),En=ge.sync;function bn(n,e){try{let t=JSON.parse(fe.default.readFileSync(n,"utf8")),i;if(typeof t.packageManager=="string"){let[s,r]=t.packageManager.replace(/^\^/,"").split("@"),u=r;return s==="yarn"&&Number.parseInt(r)>1?(i="yarn@berry",u="berry",{name:s,agent:i,version:u}):s==="pnpm"&&Number.parseInt(r)<7?(i="pnpm@6",{name:s,agent:i,version:u}):bu.includes(s)?(i=s,{name:s,agent:i,version:u}):e?.(t.packageManager)??null}}catch{}return null}function pt(n){try{return process.platform==="win32"?(0,H.execSync)(`where ${n}`,{stdio:"ignore"}):(0,H.execSync)(`command -v ${n}`,{stdio:"ignore"}),!0}catch{return!1}}function yn(n,e){if(n==="npx"||n==="pnpx"||n==="bunx")return{intent:"execute",args:e};if(n==="yarn"&&e[0]==="dlx")return{intent:"execute",args:e.slice(1)};if(["npm","pnpm","yarn","bun"].includes(n)){let i=e[0]||"",s=e.slice(1);if(!i||["install","i"].includes(i))return{intent:"install",args:s};if(i==="add")return{intent:"add",args:s};if(i==="run")return{intent:"run",args:s};if(["uninstall","remove","rm","un"].includes(i))return{intent:"uninstall",args:s};if(i==="install"&&s.length>0)return{intent:"add",args:s};if(i&&!i.startsWith("-"))return{intent:"run",args:e}}return null}async function Ce(n,e={}){let t=n.trim().split(/\s+/),i=t[0]||"",s=t.slice(1),r=yn(i,s);if(r){let o=(await ge({cwd:process.cwd()}))?.agent||"npm",a=ot(o,r.intent,r.args);if(a){let c=`${a.command} ${a.args.join(" ")}`;if(r.intent==="execute"){if(pt("bunx")){let D=`bunx ${r.args.join(" ")}`;return(0,H.execSync)(D,{stdio:"inherit",cwd:process.cwd(),...e})}if(pt("npx")){let D=`npx ${r.args.join(" ")}`;return(0,H.execSync)(D,{stdio:"inherit",cwd:process.cwd(),...e})}}if(pt(a.command))return(0,H.execSync)(c,{stdio:"inherit",cwd:process.cwd(),...e});throw new Error(`Command not found: ${a.command}. Please install the required package manager.`)}}return(0,H.execSync)(n,{stdio:"inherit",cwd:process.cwd(),...e})}var Ee=new Tt,K=new Iu.default;function Vu(){return!process.stdin.isTTY||process.env.CI==="true"||process.env.TERM==="dumb"||process.env.NON_INTERACTIVE==="true"}async function _n(n){let e=(0,dt.join)((0,Pu.tmpdir)(),`cli-edit-${Date.now()}.json`);(0,A.writeFileSync)(e,JSON.stringify(n,null,2));let t=process.env.VISUAL||process.env.EDITOR||"nano";return new Promise((i,s)=>{(0,Tu.spawn)(t,[e],{stdio:"inherit"}).on("exit",u=>{if(u===0)try{let o=(0,A.readFileSync)(e,"utf-8"),a=JSON.parse(o);(0,A.unlinkSync)(e),i(a)}catch{(0,A.unlinkSync)(e),s(new Error("Invalid JSON format"))}else(0,A.unlinkSync)(e),s(new Error("Editor closed without saving"))})})}async function Su(n,e){let t=M();t.start("Modifying block input...");let i=await K.getBlockInputFromUserQuery(JSON.stringify(n),e);return t.stop("Block input modified"),Mu(i.result,"Refined Block Input"),i.result}function Mu(n,e="Block Input"){I(JSON.stringify(n,null,2),e)}function ju(n,e){return K.resolveMultipleTemplates(n,e)}async function Hu(n,e){let t=await ju(n,e),i=t.result.files.map(u=>u.resolvedPath),s=lu(i),r=he(s);I(r,`Files to be created (${t.result.files.length}):`)}async function Fe(n,e,t=!1,i){let s=M();s.start("Resolving Files...");let r=await ju(n,e),u=r.result.files.filter(D=>{let l=(0,dt.join)(process.cwd(),D.resolvedPath);return(0,A.existsSync)(l)&&(0,A.lstatSync)(l).isFile()&&D.templateType==="add"}),o=[],a=t;if(u.length>0&&!t){if(s.stop(`${u.length} conflicting files detected`),Vu()){let l=`
|
|
88
88
|
Non-Interactive Mode Error:
|
|
89
89
|
|
|
90
90
|
${u.length} file(s) already exist and require user selection.
|
|
@@ -95,7 +95,7 @@ To resolve this, please restart the command with one of these flags:
|
|
|
95
95
|
|
|
96
96
|
Example:
|
|
97
97
|
derived-cli add ${n} --overwrite
|
|
98
|
-
`;x(l),process.exit(1)}let D=await et({message:"Some files already exist. How would you like to proceed?",options:[{value:"overwrite-all",label:"Overwrite all"},{value:"select",label:"Select files to overwrite"},{value:"skip-all",label:"Skip all"}]});if(R(D)&&(x("Operation cancelled."),process.exit(0)),D==="overwrite-all")a=!0;else if(D==="select"){let l=await su({message:"Select files to overwrite",options:u.map(p=>({value:p.resolvedPath,label:p.resolvedPath}))});R(l)&&(x("Operation cancelled."),process.exit(0)),o=l}s.start("Generating files...")}let c=ru(r.result.files,o,a);if(c.errors?.length&&console.log(c.errors,"errors"),s.stop(`${c.addResults.length} files added, ${c.modifyResults.length} files modified, ${c.errors.length} errors`),c.addResults.length>0||c.modifyResults.length>0){if(mu(n,e),i?.setupCommands&&i.setupCommands.trim()){let D=i.setupCommands.split(",").map(p=>p.trim()),l=
|
|
98
|
+
`;x(l),process.exit(1)}let D=await et({message:"Some files already exist. How would you like to proceed?",options:[{value:"overwrite-all",label:"Overwrite all"},{value:"select",label:"Select files to overwrite"},{value:"skip-all",label:"Skip all"}]});if(R(D)&&(x("Operation cancelled."),process.exit(0)),D==="overwrite-all")a=!0;else if(D==="select"){let l=await su({message:"Select files to overwrite",options:u.map(p=>({value:p.resolvedPath,label:p.resolvedPath}))});R(l)&&(x("Operation cancelled."),process.exit(0)),o=l}s.start("Generating files...")}let c=ru(r.result.files,o,a);if(c.errors?.length&&console.log(c.errors,"errors"),s.stop(`${c.addResults.length} files added, ${c.modifyResults.length} files modified, ${c.errors.length} errors`),c.addResults.length>0||c.modifyResults.length>0){if(mu(n,e),i?.setupCommands&&i.setupCommands.trim()){let D=i.setupCommands.split(",").map(p=>p.trim()),l=M();for(let p of D)if(p){l.start(`Running setup command: ${p}`);try{await Ce(p,{stdio:"inherit",cwd:process.cwd()}),l.stop(`Completed: ${p}`)}catch(F){l.stop(`Warning: Setup command failed: ${p}`),console.warn(` ${F.message}`)}}}if(i?.aiInstruction&&i.aiInstruction.trim())return i.aiInstruction}return null}async function Bn(n){let e=[],t=new Set;async function i(s){if(t.has(s))return;t.add(s);let r=await K.fetchBlock(s);if(r?.result?.id){if(r.result.dependsOn?.length)for(let u of r.result.dependsOn)await i(u.code);s!==n&&e.push(s)}}return await i(n),e}async function An(n,e,t,i=!1,s=!0){s&&le(`Add block: ${n}`);let r=!1,u=M();u.start("Fetching block...");let o=await K.fetchBlock(n);if(o?.result?.id)u.stop(`Block Found '${o.result.name}' ${o.result.input?"with input":""}`);else return u.stop("Block Not Found"),null;let a=t||o.result.input;if(t){let c=await Fe(n,t,i,o.result);return r=!0,c}if(!a&&!r){let c=await Fe(n,{},i,o.result);return r=!0,c}if(a&&e&&!t){a=await Su(a,e);let c=await Fe(n,a,i,o.result);return r=!0,c}for(;!r&&a&&!e;){if(Mu(a),Vu()){let l=`This block requires input configuration, but user selection is not available.
|
|
99
99
|
|
|
100
100
|
To resolve this, please restart the command with below flag:
|
|
101
101
|
|
|
@@ -130,8 +130,8 @@ Available commands:
|
|
|
130
130
|
|
|
131
131
|
help
|
|
132
132
|
Show this help text.
|
|
133
|
-
`)});var xn=n=>{let e=
|
|
133
|
+
`)});var xn=n=>{let e=M();try{e.start("Decoding base64...");let t=Buffer.from(n,"base64").toString("utf8"),i=JSON.parse(t);for(;typeof i!="object";)i=JSON.parse(i);return e.stop("Decoded input successfully"),i}catch{return e.stop("Failed to decode input"),null}};Ee.command("add <blockCode>").description("Generate and refine a JSON block interactively").option("-q, --query <value>","Optional user input").option("-i, --block-input <value>","Optional block input json schema in base 64").option("-o, --overwrite","Automatically overwrite existing files").option("-f, --force","Force insert even if block already exists").action(async(n,e)=>{let t=e.blockInput?xn(e.blockInput):null;if(rt(n,t||{})&&!e.force){I(`Block "${n}" with the same input configuration is already added to this project.
|
|
134
134
|
|
|
135
135
|
Use -f to force re-add.`,"Already Added");return}let s=du(n,t||{});if(s.length>0&&!e.force){let r=s.length;I(`Block "${n}" has already been added ${r} time${r>1?"s":""} with different input configuration${r>1?"s":""}.
|
|
136
136
|
|
|
137
|
-
Proceeding to add with new input configuration...`,"Different Input Detected")}await wn(n,e.query,t,e.overwrite)});Ee.command("init <project-slug>").description("Initialize a project from a template").action(async n=>{le(`\u{1F680} Initializing project: ${n}`);try{let e=process.cwd(),{isDirectoryEmpty:t,removeGitDirectory:i}=await Promise.resolve().then(()=>(ku(),Ou));t(e)||(x("\u274C Error: Current directory is not empty. Please run this command in an empty directory."),process.exit(1));let s=
|
|
137
|
+
Proceeding to add with new input configuration...`,"Different Input Detected")}await wn(n,e.query,t,e.overwrite)});Ee.command("init <project-slug>").description("Initialize a project from a template").action(async n=>{le(`\u{1F680} Initializing project: ${n}`);try{let e=process.cwd(),{isDirectoryEmpty:t,removeGitDirectory:i}=await Promise.resolve().then(()=>(ku(),Ou));t(e)||(x("\u274C Error: Current directory is not empty. Please run this command in an empty directory."),process.exit(1));let s=M();s.start("Fetching project details...");let r=await K.fetchProjectBySlug(n);r?.result||(s.stop("\u274C Project not found"),x(`Project with slug '${n}' does not exist.`),process.exit(1));let u=r.result;s.stop(`\u2705 Found project: ${u.name}`),s.start(`Cloning repository from ${u.gitUrl}...`);try{await Ce(`git clone ${u.gitUrl} .`,{stdio:"pipe",cwd:e}),s.stop("\u2705 Repository cloned successfully")}catch(o){s.stop("\u274C Failed to clone repository"),x(`Git clone failed: ${o.message}`),process.exit(1)}if(i(e),u.setupCommand&&u.setupCommand.trim()){let o=u.setupCommand.split(",").map(a=>a.trim());for(let a of o)if(a){s.start(`Running: ${a}`);try{await Ce(a,{stdio:"inherit",cwd:e}),s.stop(`\u2705 Completed: ${a}`)}catch(c){s.stop(`\u26A0\uFE0F Warning: Command failed: ${a}`),console.warn(` ${c.message}`)}}}ce(`\u{1F389} Project '${u.name}' setup successfully!`)}catch(e){x(`\u274C An error occurred: ${e.message}`),process.exit(1)}});Ee.parse();0&&(module.exports={displayFileTree});
|