@shivaedev/create-app 0.32.0 → 0.32.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.32.1 - 2026-10-31
4
+
5
+ ### Changed
6
+
7
+ - Generate admin-only declarations, reads, registrations, views and story support under `admin/` paths, keeping note statistics inside the notes module. The bootstrap command remains `pnpm admin:create`.
8
+
3
9
  ## 0.32.0 - 2026-10-31
4
10
 
5
11
  ### Added
package/dist/cli.js CHANGED
@@ -285,7 +285,7 @@ ${s}${o}ERRORS${n}`);for(let[,u]of i)for(let f of u)c.push(` ${qb(f.message)}${
285
285
  `)};var f4=Ce("effect/cli/TerminalCapabilities",{defaultValue:()=>bde()}),l4=e=>e!==void 0&&e.length>0,Sde=e=>l4(e)&&e!=="0"&&e.toLowerCase()!=="false",Ede=e=>e.term==="dumb"?{canColor:!1,canAnimate:!1,canPrompt:!1}:{canColor:!l4(e.noColor)&&(Sde(e.forceColor)||e.stdoutIsTerminal),canAnimate:e.stdoutIsTerminal,canPrompt:e.stdinIsTerminal&&e.stdoutIsTerminal},bde=()=>{let e=globalThis.process;return Ede({noColor:e?.env?.NO_COLOR,forceColor:e?.env?.FORCE_COLOR,term:e?.env?.TERM,stdinIsTerminal:e?.stdin?.isTTY===!0,stdoutIsTerminal:e?.stdout?.isTTY===!0})};var kp=fu(e=>h(_f(e,c4)??v_({colors:Fe(e,f4).canColor})));var O_=e=>{let t=new Set,r=[];for(let n of e)t.has(n)||(t.add(n),r.push(n));return r},d4=(e,t)=>{let r=[e],n=e;for(let o=1;o<t.length;o++){let s=t[o],a;for(let i of n.subcommands)if(a=i.commands.find(c=>c.name===s),a)break;if(!a)break;r.push(a),n=a}return r},__=(e,t,r)=>{let o=d4(e,t).flatMap(s=>He(s).globalFlags);return O_([...r,...o])},Ide=e=>{let t=[],r=n=>{let o=He(n);for(let s of o.globalFlags)t.push(s);for(let s of n.subcommands)for(let a of s.commands)r(a)};return r(e),O_(t)},Cde=(e,t)=>{if(e.length<=1)return[];let r=new Set(t.map(o=>o.name)),n=[];for(let o of e.slice(0,-1)){let s=He(o);for(let a of s.contextConfig.flags){let i=Ct(a),c=Bn(a);for(let u of i)r.has(u.name)||u.hidden||(r.add(u.name),n.push(Lb(u,c)))}}return n},m4=(e,t)=>O_([...t,...Ide(e)]),Wb=(e,t,r)=>rt(function*(){let n=d4(e,t),o=n.length>0?n[n.length-1]:e,s=He(o).buildHelpDoc(t),a=Cde(n,s.flags),i=__(e,t,r),c=[];for(let u of i){let f=Ct(u.flag),p=Bn(u.flag);for(let d of f)d.hidden||c.push({...Lb(d,p),required:!1})}return{...s,flags:[...a,...s.flags],globalFlags:c}});var Vb=e=>({_tag:"Action",flag:e.flag,run:e.run}),wde=e=>t=>{h4+=1;let r=st(`effect/cli/GlobalFlag/${e}/${h4}`);return Object.assign(r,{_tag:"Setting",id:e,flag:t.flag})},h4=0,kde=Vb({flag:tg("help").pipe(jb("h"),hf("Show help information"),rg(!1)),run:D(function*(e,{builtIns:t,command:r,commandPath:n}){let o=yield*kp,s=yield*Wb(r,n,t);yield*Lr(o.formatHelpDoc(s))})}),Ade=Vb({flag:tg("version").pipe(jb("v"),hf("Show version information"),rg(!1)),run:D(function*(e,{command:t,version:r}){let n=yield*kp;yield*Lr(n.formatVersion(t.name,r))})}),P_=Vb({flag:tg("wizard").pipe(hf("Start wizard mode for a command"),rg(!1)),run:()=>H}),vde=Vb({flag:Bb("completions",[["bash","bash"],["zsh","zsh"],["fish","fish"],["powershell","powershell"],["sh","bash"],["pwsh","powershell"]]).pipe(Hb,zb("<bash|zsh|fish|powershell|sh|pwsh>"),hf("Print shell completion script")),run:D(function*(e,{command:t}){if(me(e))return;let r=S_(t);yield*Lr(s4(t.name,e.value,r))})}),Ap=wde("log-level")({flag:Bb("log-level",[["all","All"],["trace","Trace"],["debug","Debug"],["info","Info"],["warn","Warn"],["warning","Warn"],["error","Error"],["fatal","Fatal"],["none","None"]]).pipe(Hb,hf("Sets the minimum log level"),zb("<all|trace|debug|info|warn|warning|error|fatal|none>"))}),g4=[kde,Ade,P_,vde,Ap];var og=class extends Ce("effect/cli/CliConfig",{defaultValue:()=>Ode}){},Ode={builtIns:g4};var Ic={};kn(Ic,{annotate:()=>dme,annotateMerge:()=>mme,isCommand:()=>B_,make:()=>rme,provide:()=>gme,provideEffect:()=>yme,provideEffectDiscard:()=>Sme,provideSync:()=>xme,run:()=>Tme,runWith:()=>j_,unlisted:()=>pme,validate:()=>ome,withAlias:()=>lme,withDescription:()=>ume,withExamples:()=>hme,withGlobalFlags:()=>cme,withHandler:()=>nme,withSharedFlags:()=>ime,withShortDescription:()=>fme,withSubcommands:()=>ame,wizard:()=>Eme});function S4(e){let t=e.indexOf("--");return t===-1?{tokens:y4(e),trailingOperands:[]}:{tokens:y4(e.slice(0,t)),trailingOperands:e.slice(t+1)}}var _de=/^-(?:\d+\.?\d*|\.\d+)(?:[eE][+-]?\d+)?$/,y4=e=>{let t=[];for(let r of e)if(!r.startsWith("-")||_de.test(r))t.push({_tag:"Value",value:r});else if(r.startsWith("--")){let n=r.indexOf("=");if(n!==-1){let o=r.slice(2,n);if(o==="")t.push({_tag:"Value",value:r});else{let s=r.slice(n+1);t.push({_tag:"LongOption",name:o,raw:r,value:s})}}else t.push({_tag:"LongOption",name:r.slice(2),raw:r})}else if(r.length>1){let n=r.slice(1),o=n.indexOf("=");if(o!==-1){let s=Array.from(n.slice(0,o)),a=s.pop()??"";for(let i of s)t.push({_tag:"ShortOption",flag:i,raw:`-${i}`});t.push({_tag:"ShortOption",flag:a,raw:`-${a}`,value:n.slice(o+1)})}else for(let s of n)t.push({_tag:"ShortOption",flag:s,raw:`-${s}`})}else t.push({_tag:"Value",value:r});return t};var Fde=(e,t)=>{let r=e.length,n=t.length,o=Array.from({length:r+1},()=>new Array(n+1).fill(0));for(let s=0;s<=r;s++)o[s][0]=s;for(let s=0;s<=n;s++)o[0][s]=s;for(let s=1;s<=r;s++)for(let a=1;a<=n;a++){let i=e[s-1]===t[a-1]?0:1;o[s][a]=Math.min(o[s-1][a]+1,o[s][a-1]+1,o[s-1][a-1]+i)}return o[r][n]},R_=(e,t)=>{let r=t.map(o=>[Fde(e,o),o]).filter(([o])=>o<=2).sort(([o],[s])=>o-s);if(r.length===0)return[];let n=r[0][0];return r.filter(([o])=>o===n).map(([,o])=>o)};var $_=e=>qe(e.subcommand,{onNone:()=>[],onSome:t=>[t.name,...$_(t.parsedInput)]}),M_=(e,t,r=[])=>rt(function*(){let{tokens:n,trailingOperands:o}=e,s=[...r,t.name],a=He(t),c=a.config.flags.flatMap(Ct).filter(uf),u=Op(c),p=a.contextConfig.flags.flatMap(Ct).filter(uf),d=Op(p),m=new Set(p.map(N=>N.name)),g={command:t,commandPath:s,flagRegistry:u,inheritedFlagRegistry:d,localFlagNames:c.filter(N=>!m.has(N.name)).map(N=>N.name)},x=Wde(n,g);if(x._tag==="Leaf")return{flags:x.flags,arguments:[...x.arguments,...o],subcommand:k(),...x.errors.length>0&&{errors:x.errors}};let E={tokens:x.childTokens,trailingOperands:o},w=yield*M_(E,x.sub,s),C=[...x.errors,...w.errors??[]];return{flags:x.flags,arguments:[],subcommand:_({name:x.sub.name,parsedInput:w}),...C.length>0&&{errors:C}}}),Gb=e=>{let t=0;return{peek:()=>e[t],take:()=>e[t++],rest:()=>e.slice(t)}},I4=e=>!qO(e.primitiveType)||e.negation===!1?void 0:e.negation??`no-${e.name}`,Op=e=>{let t=new Map,r=new Map;for(let n of e){if(t.has(n.name))throw new Error(`Duplicate flag name "${n.name}" in command definition`);t.set(n.name,n);for(let s of n.aliases){if(t.has(s))throw new Error(`Duplicate flag/alias "${s}" in command definition (conflicts with "${t.get(s).name}")`);t.set(s,n)}let o=I4(n);if(o!==void 0){if(r.has(o))throw new Error(`Duplicate negation "${o}" in command definition (conflicts with "${r.get(o).name}")`);r.set(o,n)}}return{params:e,index:t,negations:r}},C4=e=>{let t=new Map,r=(n,o)=>{let s=t.get(n);if(s&&s!==o)throw new Error(`Duplicate subcommand name/alias "${n}" in command definition (conflicts with "${s.name}")`);t.set(n,o)};for(let n of e)for(let o of n.commands)r(o.name,o),o.alias&&o.alias!==o.name&&r(o.alias,o);return t},U_=e=>Object.fromEntries(e.map(t=>[t.name,[]])),Rde=e=>{let t=U_(e);return{add:(r,n)=>{n!==void 0&&t[r].push(n)},merge:r=>{for(let n in r){let o=r[n];if(o?.length)for(let s=0;s<o.length;s++)t[n].push(o[s])}},snapshot:()=>t}},Kb=e=>e._tag==="LongOption"||e._tag==="ShortOption",T4=e=>e._tag==="LongOption"?e.name:e.flag,vp=(e,t)=>{let r=T4(e),n=t.index.get(r);if(n&&n.name===r)return{param:n,negated:!1};let o=e._tag==="LongOption"?t.negations.get(e.name):void 0;if(o)return{param:o,negated:!0};if(n)return{param:n,negated:!1}},E4=(e,t,r)=>new ln({option:t.name,value:r,expected:`omit the value and use ${e.raw} by itself to set --${t.name} to false`,kind:"flag"}),Nde=e=>{let t=di(e.primitiveType);return new ln({option:e.name,value:"",expected:t===void 0?e.typeName??Wh(e.primitiveType):t.join(" | "),kind:"flag"})},b4=e=>e?._tag==="Value"&&(LV(e.value)||BV(e.value))?e.value:void 0,w4=(e,t,r,n=!1)=>{let o=sg(e,t,r,n);switch(o._tag){case"Value":return{_tag:"Value",value:o.value};case"Error":return{_tag:"Error",error:o.error}}},sg=(e,t,r,n=!1)=>{if(n){if(t.value!==void 0)return{_tag:"Error",error:E4(t,r,t.value),tokens:[]};let s=r.optionalValue===void 0?b4(e.peek()):void 0;if(s!==void 0){let a=e.take();return{_tag:"Error",error:E4(t,r,s),tokens:a===void 0?[]:[a]}}return{_tag:"Value",value:"false",tokens:[]}}if(t.value!==void 0)return{_tag:"Value",value:t.value,tokens:[]};if(r.optionalValue!==void 0)return{_tag:"Value",value:r.optionalValue,tokens:[]};if(qO(r.primitiveType)){let s=b4(e.peek()),a=s!==void 0?e.take():void 0;return{_tag:"Value",value:s??"true",tokens:a===void 0?[]:[a]}}let o=e.peek();if(o?._tag==="Value"){let s=e.take();return{_tag:"Value",value:o.value,tokens:s===void 0?[]:[s]}}return{_tag:"Error",error:Nde(r),tokens:[]}},$de=(e,t)=>{let r=U_(t.params),n=[],o=[],s=Gb(e);for(let a=s.take();a;a=s.take()){if(!Kb(a)){n.push(a);continue}let i=vp(a,t);if(!i){n.push(a);continue}let c=w4(s,a,i.param,i.negated);if(c._tag==="Error"){o.push(c.error);continue}c.value!==void 0&&r[i.param.name].push(c.value)}return{flagMap:r,remainder:n,errors:o}},Mde=e=>He(e).config.flags.flatMap(Ct).filter(uf),Ude=e=>He(e).contextConfig.flags.flatMap(Ct).filter(uf),k4=(e,t)=>{for(let r of t){let n=vp(e,r);if(n!==void 0)return n}},N_=(e,t,r,n)=>{e.push(r);let o=sg(t,r,n.param,n.negated);e.push(...o.tokens)},Dde=(e,t,r,n,o)=>{let s=Gb(t);sg(s,e,r.param,r.negated);for(let a=s.take();a;a=s.take()){if(Kb(a)){let i=k4(a,o);i!==void 0&&sg(s,a,i.param,i.negated);continue}if(a._tag==="Value")return n.has(a.value)}return!1},A4=(e,t,r)=>{let n=U_(r.params),o=[],s=(a,i,c)=>{let u=Op(Mde(i)),f=Op(Ude(i)),p=C4(i.subcommands),d=Gb(a),m=[],g=!0;for(let x=d.take();x;x=d.take()){if(Kb(x)){let E=k4(x,c);if(E!==void 0){N_(m,d,x,E);continue}let w=vp(x,f);if(w!==void 0){N_(m,d,x,w);continue}let C=vp(x,u),N=vp(x,r);if(C!==void 0&&(N===void 0||!g||!Dde(x,d.rest(),C,p,[u,f,r]))){N_(m,d,x,C);continue}if(N!==void 0){let P=sg(d,x,N.param,N.negated);if(P._tag==="Error"){o.push(P.error);continue}P.value!==void 0&&n[N.param.name].push(P.value);continue}m.push(x);continue}if(x._tag==="Value"&&g){let E=p.get(x.value);if(E!==void 0)return m.push(x),m.push(...s(d.rest(),E,[...c,f])),m;g=!1}m.push(x)}return m};return{flagMap:n,remainder:s(e,t,[]),errors:o}},Lde=(e,t,r)=>{let n=e._tag==="LongOption"?`--${e.name}`:`-${e.flag}`,o=[];for(let a of t){if(a.hidden)continue;o.push(a.name);let i=I4(a);i!==void 0&&o.push(i);for(let c of a.aliases)o.push(c)}let s=R_(T4(e),o).map(a=>a.length===1?`-${a}`:`--${a}`);return new yc({option:n,suggestions:s,command:r})},Bde=e=>({flags:Rde(e.params),arguments:[],errors:[],mode:{_tag:"AwaitingFirstValue"}}),jde=e=>({_tag:"Leaf",flags:e.flags.snapshot(),arguments:e.arguments,errors:e.errors}),zde=(e,t,r,n)=>{let{command:o,commandPath:s,inheritedFlagRegistry:a,localFlagNames:i}=r,c=C4(o.subcommands),u=c.get(e);if(u){let p=[...s,u.name],d=n.flags.snapshot();for(let g of i){let x=d[g];x!==void 0&&x.length>0&&n.errors.push(new yc({option:`--${g}`,suggestions:[],command:p}))}let m=$de(t.rest(),a);return n.flags.merge(m.flagMap),n.errors.push(...m.errors),{_tag:"Subcommand",result:{_tag:"Sub",flags:n.flags.snapshot(),sub:u,childTokens:m.remainder,errors:n.errors}}}if(!(He(o).config.arguments.length>0)&&c.size>0){let p=[];for(let[m,g]of c)g.unlisted||p.push(m);let d=R_(e,p);n.errors.push(new jh({subcommand:e,parent:s,suggestions:d}))}return{_tag:"Argument"}},Hde=(e,t,r,n)=>{let{commandPath:o,flagRegistry:s}=r,a=vp(e,s);if(!a){n.errors.push(Lde(e,s.params,o));return}let i=w4(t,e,a.param,a.negated);if(i._tag==="Error"){n.errors.push(i.error);return}n.flags.add(a.param.name,i.value)},qde=(e,t,r,n)=>{if(n.mode._tag==="AwaitingFirstValue"){let o=zde(e,t,r,n);if(o._tag==="Subcommand")return o.result;n.mode={_tag:"CollectingArguments"}}n.arguments.push(e)},Wde=(e,t)=>{let r=Gb(e),n=Bde(t.flagRegistry);for(let o=r.take();o;o=r.take()){if(Kb(o)){Hde(o,r,t,n);continue}if(o._tag==="Value"){let s=qde(o.value,r,t,n);if(s)return s}}return jde(n)};var L_=D(function*(e,t){let r=t?.commandPath??[e.name],n=Gde(e,r),o=(t?.prefix??r).map(a=>Ds(a)),{colors:s}=yield*Kh;return yield*Jb(o,s),yield*_4(n,o,n===e?"ROOT":n.name,s),{args:o.map(a=>a.value),displayArgs:o.map(a=>a.displayValue)}}),Gde=(e,t)=>{let r=e;for(let n of t.slice(1)){let o=r.subcommands.flatMap(s=>s.commands).find(s=>s.name===n||s.alias===n);if(o===void 0)break;r=o}return r},_4=D(function*(e,t,r,n){let o=He(e),s=e.subcommands.flatMap(c=>c.commands.filter(u=>!u.unlisted)),a=s.length===0?o.config:o.contextConfig;if(a.flags.length>0){yield*Lr(O4(r,"FLAGS",n));for(let c of a.flags)t.push(...yield*v4(c));(a.arguments.length>0||s.length>0)&&(yield*Jb(t,n))}if(a.arguments.length>0){yield*Lr(O4(r,"ARGUMENTS",n));for(let c of a.arguments)t.push(...yield*v4(c));s.length>0&&(yield*Jb(t,n))}if(s.length===0)return;let i=yield*pn(u_({message:"Command",choices:s.map(c=>({title:c.name,value:c,...c.shortDescription!==void 0?{description:c.shortDescription}:c.description!==void 0?{description:c.description}:{}}))}));yield*Lr(),t.push(Ds(i.name)),Kde(i)&&(yield*Jb(t,n)),yield*_4(i,t,i.name,n)}),Kde=e=>e.subcommands.some(r=>r.commands.some(n=>!n.unlisted))||He(e).config.orderedParams.length>0,v4=D(function*(e){let t=wp(e),r=Bn(e);if(r.isOptional&&!(yield*pn(i_({message:`Set ${D_(t)}?`,initial:!1}))))return yield*Lr(),[];let n=r.isVariadic?yield*pn(c_({message:`${D_(t)} count`,default:Nt(r.variadicMin,()=>0),min:Nt(r.variadicMin,()=>0),...fe(r.variadicMax)?{max:r.variadicMax.value}:{}})):1,o=[];for(let a=0;a<n;a++)o.push(yield*Jde(t));let s=t.kind===Zt?{flags:{[t.name]:o.map(a=>a.value)},arguments:[]}:{flags:{},arguments:o.map(a=>a.value)};return yield*e.parse(s),yield*Lr(),t.kind===jr?o:o.flatMap(a=>t.optionalValue!==void 0||a.value.startsWith("-")&&a.value.length>1?[Ds(`--${t.name}=${a.value}`,`--${t.name}=${a.displayValue}`)]:[Ds(`--${t.name}`),a])}),Jde=e=>{let t=Qde(e);switch(e.primitiveType._tag){case"Boolean":return R(pn(i_({message:t,label:{confirm:"true",deny:"false"},placeholder:{defaultConfirm:"(T/f)",defaultDeny:"(t/F)"}})),r=>Ds(String(r)));case"Choice":{let r=di(e.primitiveType)??[];return R(pn(u_({message:t,choices:r.map(n=>({title:n,value:n}))})),Ds)}case"Date":return R(pn(mG({message:t})),r=>Ds(r.toISOString()));case"Finite":return R(pn(hG({message:t})),r=>Ds(String(r)));case"Int":return R(pn(c_({message:t})),r=>Ds(String(r)));case"Redacted":return R(pn(gG({message:t})),r=>Ds(ya(r),"<redacted>"));default:return R(pn(xG({message:t})),Ds)}},Ds=(e,t=e)=>({value:e,displayValue:t}),Zde=e=>e.kind===Zt?`--${e.name}`:e.name,Qde=e=>D_(e),D_=e=>{let t=Or(e.description)?.trim(),r=e.kind===Zt&&t!==void 0&&t.length<=32?t:Yde(e.name);return e.kind===Zt?`${r} (${Zde(e)})`:r},Yde=e=>{let t=e.split(/[-_]+/).filter(r=>r.length>0);return t.length===0?e:[t[0][0].toUpperCase()+t[0].slice(1),...t.slice(1)].join(" ")},Jb=(e,t)=>Lr(N4("Current command",e.map(r=>r.displayValue),t,tG)),O4=(e,t,r)=>`${It(r,e.toUpperCase(),mi,bp)} ${It(r,"\xB7",Gh)} ${It(r,t,mi,nf)}`,P4=(e,t,r,n)=>[`${It(n,e,mi,bp)} ${It(n,`v${t}`,nf)} ${It(n,"\xB7 Command wizard",mi,nf)}`,...r===void 0||r.length===0?[]:[r],It(n,"Build a command interactively. Press Ctrl+C to cancel.",Gh),""].join(`
286
286
  `),F4=(e,t)=>N4("Command ready",e,t,bp,ab),R4=e=>`
287
287
  ${It(e,"Wizard cancelled.",sb)}`,N4=(e,t,r,n,o=nf)=>{let s=Xde(t);return[It(r,e,mi,o),...s.map(a=>It(r,a,n)),""].join(`
288
- `)},Xde=e=>{let r=" $ ",n=" ",o=e.map(eme),s=[],a=r;for(let i of o){let c=a===r||a===n?"":" ";a.length+c.length+i.length>88&&a!==r?(s.push(`${a} \\`),a=`${n}${i}`):a+=`${c}${i}`}return a!==r&&s.push(a),s},eme=e=>/^[A-Za-z0-9_./:@%+=,-]+$/.test(e)?e:`'${e.replaceAll("'",`'"'"'`)}'`;var B_=e=>O(e,Xh),rme=(e,t,r)=>{let n=Ub(t??{});return Tn({name:e,config:n,...At(r)?{handle:r}:{}})},nme=l(2,(e,t)=>Tn({...He(e),handle:t})),ome=l(2,(e,t)=>{let r=He(e);return Tn({...r,parse:n=>Cr(r.parse(n),t)})}),sme=e=>{let t=[],r=new Map,n=(a,i)=>{t.push(i);let c=r.get(a);c?c.push(i):r.set(a,[i])};for(let a of e){if(B_(a)){n(void 0,a);continue}for(let i of a.commands)n(a.group,i)}let o=[],s=r.get(void 0);s&&s.length>0&&o.push({group:void 0,commands:s});for(let[a,i]of r)a!==void 0&&o.push({group:a,commands:i});return{flat:t,groups:o}},ame=l(2,(e,t)=>{let r=sme(t);y_(e,r.flat);let n=He(e),o=new Map(r.flat.map(c=>[c.name,He(c)])),s=Symbol("effect/cli/SubcommandState"),a=D(function*(c){if(me(c.subcommand))return yield*n.parse(c);let u=o.get(c.subcommand.value.name);if(!u)return yield*n.parse(c);let f=yield*n.parseContext(c),p=yield*u.parse(c.subcommand.value.parsedInput);return{...f,[s]:{name:u.name,result:p}}}),i=D(function*(c,u){let p=c[s];if(p){let d=o.get(p.name);return d?yield*d.handle(p.result,[...u,d.name]).pipe(yn(n.service,c)):yield*new pi({commandPath:u,errors:[]})}return yield*n.handle(c,u)});return Tn({name:n.name,config:n.config,contextConfig:n.contextConfig,description:n.description,shortDescription:n.shortDescription,alias:n.alias,unlisted:n.unlisted,annotations:n.annotations,globalFlags:n.globalFlags,resolveExamples:n.resolveExamples,service:n.service,subcommands:r.groups,parse:a,parseContext:n.parseContext,handle:i})}),ime=l(2,(e,t)=>{let r=He(e),n=Ub(t),o=g_(r.config,n),s=g_(r.contextConfig,n);if(r.subcommands.length>0){let f=r.subcommands.flatMap(p=>p.commands);y_(e,f,{contextConfig:s})}let a=Db(n,{allowLeftovers:!0}),i=D(function*(f){let p=yield*r.parse(f),d=yield*a(f);return{...p,...d}}),c=D(function*(f){let p=yield*r.parseContext(f),d=yield*a(f);return{...p,...d}}),u=(f,p)=>r.handle(f,p);return Tn({name:r.name,config:o,contextConfig:s,description:r.description,shortDescription:r.shortDescription,alias:r.alias,unlisted:r.unlisted,annotations:r.annotations,globalFlags:r.globalFlags,resolveExamples:r.resolveExamples,service:r.service,subcommands:r.subcommands,parse:i,parseContext:c,handle:u})}),cme=l(2,(e,t)=>{let r=He(e),n=Array.from(new Set([...r.globalFlags,...t]));return Tn({...r,globalFlags:n})}),ume=l(2,(e,t)=>Tn({...He(e),description:t})),fme=l(2,(e,t)=>Tn({...He(e),shortDescription:t})),lme=l(2,(e,t)=>Tn({...He(e),alias:t})),pme=e=>Tn({...He(e),unlisted:!0}),dme=l(3,(e,t,r)=>{let n=He(e);return Tn({...n,annotations:fr(n.annotations,t,r)})}),mme=l(2,(e,t)=>{let r=He(e);return Tn({...r,annotations:Bc(r.annotations,t)})}),hme=l(2,(e,t)=>Tn({...He(e),resolveExamples:zr(t)?r=>t({commandPath:r}):()=>t})),Zb=(e,t)=>{let r=He(e);return Tn({...r,handle:(n,o)=>t(r.handle(n,o),n)})},gme=l(e=>B_(e[0]),(e,t,r)=>Zb(e,(n,o)=>iT(n,typeof t=="function"?t(o):t,r))),xme=l(3,(e,t,r)=>Zb(e,(n,o)=>yn(n,t,typeof r=="function"?r(o):r))),yme=l(3,(e,t,r)=>Zb(e,(n,o)=>uT(n,t,typeof r=="function"?r(o):r))),Sme=l(2,(e,t)=>Zb(e,(r,n)=>Ut(typeof t=="function"?t(n):t,r))),Eme=(e,t)=>R(L_(e,t),r=>r.args),bme=(e,t,r,n)=>{let o=new Set(t),s=[],a=new Set;for(let i of e){if(o.has(i))continue;let c=Ct(i.flag);for(let u of c){let f=r[u.name];if(!f||f.length===0)continue;let p=`--${u.name}`;a.has(p)||(a.add(p),s.push(new yc({option:p,suggestions:[],command:n})))}}return s},Ime=(e,t,r)=>rt(function*(){let{builtIns:n}=yield*og,o=yield*kp,s=yield*Wb(e,t.commandPath,n);yield*Lr(o.formatHelpDoc(s)),r&&t.errors.length>0&&(yield*rb(o.formatErrors(t.errors)))}),Cme=e=>rt(function*(){let t=yield*kp;yield*rb(t.formatError(e)),e[du]=!1}),Tme=l(2,(e,t)=>HS.use(({args:r})=>I(r,n=>j_(e,t)(n)))),j_=(e,t)=>{let r=He(e);return D(function*(n){let{builtIns:o}=yield*og,{tokens:s,trailingOperands:a}=S4(n),i=m4(e,o),c=i.flatMap(b=>Ct(b.flag)),u=Op(c.filter(uf)),{flagMap:f,remainder:p,errors:d}=A4(s,e,u),m={flags:f,arguments:[]},g=yield*M_({tokens:p,trailingOperands:a},e),x=[e.name,...$_(g)],E={builtIns:o,command:e,commandPath:x,version:t.version},w=__(e,x,o),C=bme(i,w,f,x);if(C.length>0||d.length>0){let b=g.errors??[];return yield*new pi({commandPath:x,errors:[...d,...C,...b]})}for(let b of w){if(b._tag!=="Action"||!Ct(b.flag).some(L=>{let Z=f[L.name];return Z!==void 0&&Z.length>0}))continue;let[,F]=yield*b.flag.parse(m);if(b===P_){let{colors:L}=yield*Kh;return yield*rt(function*(){yield*Lr(P4(e.name,t.version,e.description,L));let Z=[e.name,...n.filter(Ae=>Ae!=="--wizard"&&!Ae.startsWith("--wizard="))],he=yield*L_(e,{commandPath:x,prefix:Z});yield*Lr(F4(he.displayArgs,L)),(yield*pn(yG({message:"Run this command?",initial:!0,active:"yes",inactive:"no"})))&&(yield*Lr(),yield*j_(e,{...t,renderErrors:!1})(he.args.slice(1)))}).pipe(qa("QuitError",()=>Lr(R4(L))))}yield*b.run(F,E);return}if(g.errors&&g.errors.length>0)return yield*new pi({commandPath:x,errors:g.errors});let N=yield*YC(r.parse(g));if(N._tag==="Failure")return yield*new pi({commandPath:x,errors:[N.failure]});let P=r.handle(N.success,[e.name]),S=w.includes(Ap)?(yield*Ap.flag.parse(m))[1]:k();P=yn(P,Ap,S);for(let b of w){if(b._tag!=="Setting"||b===Ap)continue;let[,A]=yield*b.flag.parse(m);P=yn(P,b,A)}let y=qe(S,{onNone:()=>ur(),onSome:b=>Fa(z$,b)});yield*xn(P,y)},Kd(n=>RO(n)&&n._tag==="ShowHelp"?W(n):K(n),n=>Ut(Ime(e,n,t.renderErrors!==!1),T(n))),Kd(n=>t.renderErrors!==!1&&RO(n)&&n._tag==="UserError"?W(n):K(n),n=>Ut(Cme(n),T(n))),Kd(n=>dV(n)?W(n):K(n),n=>_n))};var qt=class extends ko.TaggedError("CreateAppError"){constructor(t,r){super(t),Object.defineProperty(this,"cause",{value:r?.cause})}};import{Buffer as _me}from"node:buffer";import{basename as Pme,join as V_,resolve as Fme}from"node:path";import{Buffer as H_}from"node:buffer";import{Buffer as $4}from"node:buffer";var ag=Pe.Record(Pe.String,Pe.String),z_=Pe.Array(Pe.Struct({content:Pe.String,path:Pe.String})),nTe=Pe.decodeUnknownSync(Pe.fromJsonString(z_));function ig(e,t=!1){let r=e.find(o=>o.path==="package.minimal.json"),n=e.filter(o=>o.path!=="package.minimal.json");return t?n.filter(o=>!o.path.startsWith("src/modules/notes/")).map(o=>{if(o.path==="package.json"&&r!==void 0)return{...o,content:r.content};if(!["src/modules.ts","src/server/modules.ts","src/server/workerModules.ts","src/client/modules.ts"].includes(o.path))return o;let s=$4.from(o.content,"base64").toString().replace(/^import .* from "#modules\/notes\/.*";\n/gmu,"").replace(/,?\s*\b(?:noteQueue|notesModule|notesRegistration|notesWorker)\b/gu,"");return{...o,content:$4.from(s).toString("base64")}}):n}var wme=Pe.Struct({dependencies:ag,devDependencies:ag,engines:ag,imports:ag,name:Pe.String,packageManager:Pe.String,private:Pe.Boolean,scripts:ag,type:Pe.String,version:Pe.String}),M4=Pe.decodeUnknownSync(Pe.fromJsonString(wme)),kme=["name","version","private","type","imports","scripts","dependencies","devDependencies","packageManager","engines"];function U4(e){return`${JSON.stringify(Object.fromEntries(kme.map(t=>[t,e[t]])),null," ")}
288
+ `)},Xde=e=>{let r=" $ ",n=" ",o=e.map(eme),s=[],a=r;for(let i of o){let c=a===r||a===n?"":" ";a.length+c.length+i.length>88&&a!==r?(s.push(`${a} \\`),a=`${n}${i}`):a+=`${c}${i}`}return a!==r&&s.push(a),s},eme=e=>/^[A-Za-z0-9_./:@%+=,-]+$/.test(e)?e:`'${e.replaceAll("'",`'"'"'`)}'`;var B_=e=>O(e,Xh),rme=(e,t,r)=>{let n=Ub(t??{});return Tn({name:e,config:n,...At(r)?{handle:r}:{}})},nme=l(2,(e,t)=>Tn({...He(e),handle:t})),ome=l(2,(e,t)=>{let r=He(e);return Tn({...r,parse:n=>Cr(r.parse(n),t)})}),sme=e=>{let t=[],r=new Map,n=(a,i)=>{t.push(i);let c=r.get(a);c?c.push(i):r.set(a,[i])};for(let a of e){if(B_(a)){n(void 0,a);continue}for(let i of a.commands)n(a.group,i)}let o=[],s=r.get(void 0);s&&s.length>0&&o.push({group:void 0,commands:s});for(let[a,i]of r)a!==void 0&&o.push({group:a,commands:i});return{flat:t,groups:o}},ame=l(2,(e,t)=>{let r=sme(t);y_(e,r.flat);let n=He(e),o=new Map(r.flat.map(c=>[c.name,He(c)])),s=Symbol("effect/cli/SubcommandState"),a=D(function*(c){if(me(c.subcommand))return yield*n.parse(c);let u=o.get(c.subcommand.value.name);if(!u)return yield*n.parse(c);let f=yield*n.parseContext(c),p=yield*u.parse(c.subcommand.value.parsedInput);return{...f,[s]:{name:u.name,result:p}}}),i=D(function*(c,u){let p=c[s];if(p){let d=o.get(p.name);return d?yield*d.handle(p.result,[...u,d.name]).pipe(yn(n.service,c)):yield*new pi({commandPath:u,errors:[]})}return yield*n.handle(c,u)});return Tn({name:n.name,config:n.config,contextConfig:n.contextConfig,description:n.description,shortDescription:n.shortDescription,alias:n.alias,unlisted:n.unlisted,annotations:n.annotations,globalFlags:n.globalFlags,resolveExamples:n.resolveExamples,service:n.service,subcommands:r.groups,parse:a,parseContext:n.parseContext,handle:i})}),ime=l(2,(e,t)=>{let r=He(e),n=Ub(t),o=g_(r.config,n),s=g_(r.contextConfig,n);if(r.subcommands.length>0){let f=r.subcommands.flatMap(p=>p.commands);y_(e,f,{contextConfig:s})}let a=Db(n,{allowLeftovers:!0}),i=D(function*(f){let p=yield*r.parse(f),d=yield*a(f);return{...p,...d}}),c=D(function*(f){let p=yield*r.parseContext(f),d=yield*a(f);return{...p,...d}}),u=(f,p)=>r.handle(f,p);return Tn({name:r.name,config:o,contextConfig:s,description:r.description,shortDescription:r.shortDescription,alias:r.alias,unlisted:r.unlisted,annotations:r.annotations,globalFlags:r.globalFlags,resolveExamples:r.resolveExamples,service:r.service,subcommands:r.subcommands,parse:i,parseContext:c,handle:u})}),cme=l(2,(e,t)=>{let r=He(e),n=Array.from(new Set([...r.globalFlags,...t]));return Tn({...r,globalFlags:n})}),ume=l(2,(e,t)=>Tn({...He(e),description:t})),fme=l(2,(e,t)=>Tn({...He(e),shortDescription:t})),lme=l(2,(e,t)=>Tn({...He(e),alias:t})),pme=e=>Tn({...He(e),unlisted:!0}),dme=l(3,(e,t,r)=>{let n=He(e);return Tn({...n,annotations:fr(n.annotations,t,r)})}),mme=l(2,(e,t)=>{let r=He(e);return Tn({...r,annotations:Bc(r.annotations,t)})}),hme=l(2,(e,t)=>Tn({...He(e),resolveExamples:zr(t)?r=>t({commandPath:r}):()=>t})),Zb=(e,t)=>{let r=He(e);return Tn({...r,handle:(n,o)=>t(r.handle(n,o),n)})},gme=l(e=>B_(e[0]),(e,t,r)=>Zb(e,(n,o)=>iT(n,typeof t=="function"?t(o):t,r))),xme=l(3,(e,t,r)=>Zb(e,(n,o)=>yn(n,t,typeof r=="function"?r(o):r))),yme=l(3,(e,t,r)=>Zb(e,(n,o)=>uT(n,t,typeof r=="function"?r(o):r))),Sme=l(2,(e,t)=>Zb(e,(r,n)=>Ut(typeof t=="function"?t(n):t,r))),Eme=(e,t)=>R(L_(e,t),r=>r.args),bme=(e,t,r,n)=>{let o=new Set(t),s=[],a=new Set;for(let i of e){if(o.has(i))continue;let c=Ct(i.flag);for(let u of c){let f=r[u.name];if(!f||f.length===0)continue;let p=`--${u.name}`;a.has(p)||(a.add(p),s.push(new yc({option:p,suggestions:[],command:n})))}}return s},Ime=(e,t,r)=>rt(function*(){let{builtIns:n}=yield*og,o=yield*kp,s=yield*Wb(e,t.commandPath,n);yield*Lr(o.formatHelpDoc(s)),r&&t.errors.length>0&&(yield*rb(o.formatErrors(t.errors)))}),Cme=e=>rt(function*(){let t=yield*kp;yield*rb(t.formatError(e)),e[du]=!1}),Tme=l(2,(e,t)=>HS.use(({args:r})=>I(r,n=>j_(e,t)(n)))),j_=(e,t)=>{let r=He(e);return D(function*(n){let{builtIns:o}=yield*og,{tokens:s,trailingOperands:a}=S4(n),i=m4(e,o),c=i.flatMap(b=>Ct(b.flag)),u=Op(c.filter(uf)),{flagMap:f,remainder:p,errors:d}=A4(s,e,u),m={flags:f,arguments:[]},g=yield*M_({tokens:p,trailingOperands:a},e),x=[e.name,...$_(g)],E={builtIns:o,command:e,commandPath:x,version:t.version},w=__(e,x,o),C=bme(i,w,f,x);if(C.length>0||d.length>0){let b=g.errors??[];return yield*new pi({commandPath:x,errors:[...d,...C,...b]})}for(let b of w){if(b._tag!=="Action"||!Ct(b.flag).some(L=>{let Z=f[L.name];return Z!==void 0&&Z.length>0}))continue;let[,F]=yield*b.flag.parse(m);if(b===P_){let{colors:L}=yield*Kh;return yield*rt(function*(){yield*Lr(P4(e.name,t.version,e.description,L));let Z=[e.name,...n.filter(Ae=>Ae!=="--wizard"&&!Ae.startsWith("--wizard="))],he=yield*L_(e,{commandPath:x,prefix:Z});yield*Lr(F4(he.displayArgs,L)),(yield*pn(yG({message:"Run this command?",initial:!0,active:"yes",inactive:"no"})))&&(yield*Lr(),yield*j_(e,{...t,renderErrors:!1})(he.args.slice(1)))}).pipe(qa("QuitError",()=>Lr(R4(L))))}yield*b.run(F,E);return}if(g.errors&&g.errors.length>0)return yield*new pi({commandPath:x,errors:g.errors});let N=yield*YC(r.parse(g));if(N._tag==="Failure")return yield*new pi({commandPath:x,errors:[N.failure]});let P=r.handle(N.success,[e.name]),S=w.includes(Ap)?(yield*Ap.flag.parse(m))[1]:k();P=yn(P,Ap,S);for(let b of w){if(b._tag!=="Setting"||b===Ap)continue;let[,A]=yield*b.flag.parse(m);P=yn(P,b,A)}let y=qe(S,{onNone:()=>ur(),onSome:b=>Fa(z$,b)});yield*xn(P,y)},Kd(n=>RO(n)&&n._tag==="ShowHelp"?W(n):K(n),n=>Ut(Ime(e,n,t.renderErrors!==!1),T(n))),Kd(n=>t.renderErrors!==!1&&RO(n)&&n._tag==="UserError"?W(n):K(n),n=>Ut(Cme(n),T(n))),Kd(n=>dV(n)?W(n):K(n),n=>_n))};var qt=class extends ko.TaggedError("CreateAppError"){constructor(t,r){super(t),Object.defineProperty(this,"cause",{value:r?.cause})}};import{Buffer as _me}from"node:buffer";import{basename as Pme,join as V_,resolve as Fme}from"node:path";import{Buffer as H_}from"node:buffer";import{Buffer as $4}from"node:buffer";var ag=Pe.Record(Pe.String,Pe.String),z_=Pe.Array(Pe.Struct({content:Pe.String,path:Pe.String})),nTe=Pe.decodeUnknownSync(Pe.fromJsonString(z_));function ig(e,t=!1){let r=e.find(o=>o.path==="package.minimal.json"),n=e.filter(o=>o.path!=="package.minimal.json");return t?n.filter(o=>!o.path.startsWith("src/modules/notes/")).map(o=>{if(o.path==="package.json"&&r!==void 0)return{...o,content:r.content};if(!["src/admin/modules.ts","src/server/modules.ts","src/server/workerModules.ts","src/client/modules.ts"].includes(o.path))return o;let s=$4.from(o.content,"base64").toString().replace(/^import .* from "#modules\/notes\/.*";\n/gmu,"").replace(/,?\s*\b(?:noteQueue|notesModule|notesRegistration|notesWorker)\b/gu,"");return{...o,content:$4.from(s).toString("base64")}}):n}var wme=Pe.Struct({dependencies:ag,devDependencies:ag,engines:ag,imports:ag,name:Pe.String,packageManager:Pe.String,private:Pe.Boolean,scripts:ag,type:Pe.String,version:Pe.String}),M4=Pe.decodeUnknownSync(Pe.fromJsonString(wme)),kme=["name","version","private","type","imports","scripts","dependencies","devDependencies","packageManager","engines"];function U4(e){return`${JSON.stringify(Object.fromEntries(kme.map(t=>[t,e[t]])),null," ")}
289
289
  `}function Qb(e){return e.replaceAll(/[.-]/gu,"_").replace(/^[^a-z]/u,"app_$&").slice(0,58)}function D4(e,t,r){return e==="package.json"?H_.from(U4({...M4(t.toString()),name:r})):e===".env.example"?H_.from(t.toString().replaceAll("starter_dev",`${Qb(r)}_dev`).replaceAll("starter_test",`${Qb(r)}_test`)):["AGENTS.md","README.md"].includes(e)?H_.from(t.toString().replaceAll("{{appName}}",r)):t}import{Buffer as Ame}from"node:buffer";import{dirname as vme,join as q_}from"node:path";var L4=Pe.Struct({minimal:Pe.optional(Pe.Boolean),name:Pe.String,version:Pe.String}),Yb=".create-app.json",_p=G.fn("CreateApp.readTemplate")(function*(e){let t=yield*Yr.FileSystem;return yield*Pe.decodeUnknownEffect(Pe.fromJsonString(z_))(yield*t.readFileString(e))}),Xb=G.fn("CreateApp.writeGeneration")(function*(e,t){let r=yield*Yr.FileSystem;yield*r.writeFileString(q_(e,Yb),`${JSON.stringify(t,null," ")}
290
290
  `,{mode:420}),yield*r.chmod(q_(e,Yb),420)}),cg=G.fn("CreateApp.renderTemplate")(function*(e,t,r){let n=yield*Yr.FileSystem;for(let o of t){let s=q_(e,o.path),a=yield*G.try({catch:i=>new qt({message:`Failed to render template file ${o.path}`},{cause:i}),try:()=>D4(o.path,Ame.from(o.content,"base64"),r)});yield*n.makeDirectory(vme(s),{recursive:!0}),yield*n.writeFile(s,a,{mode:420})}});function eI(e,t,r=!1){return G.flatMap(ac.ChildProcessSpawner,n=>n.exitCode(As.make("git",t,{cwd:e,stderr:r?"inherit":"pipe",stdout:r?"inherit":"pipe"})))}function Ome(e){return/^[\w./=@:-]+$/u.test(e)?e:`'${e.replaceAll("'",`'"'"'`)}'`}var W_=G.fn("CreateApp.checkedGit")(function*(e,t,r=[]){let n=yield*eI(e,[...r,...t],!0);if(n!==0)return yield*new qt({message:`git ${t.map(Ome).join(" ")} failed (exit ${n}). The generated files remain in ${e}.`})}),B4=G.fn("CreateApp.initializeGit")(function*(e){return(yield*eI(e,["--version"]).pipe(G.catch(r=>r.reason._tag==="NotFound"?G.succeed(-1):G.fail(r))))!==0||(yield*eI(e,["rev-parse","--git-dir"]))===0?!1:(yield*W_(e,["init","--initial-branch=main"]),!0)}),j4=G.fn("CreateApp.commitGit")(function*(e){let r=(yield*eI(e,["-c","user.useConfigOnly=true","var","GIT_AUTHOR_IDENT"]))===0?[]:["-c","user.name=Create App","-c","user.email=create-app@localhost"];yield*W_(e,["add","--all"]),yield*W_(e,["commit","-m","Initialize a generated app"],r)});var z4=G.fn("CreateApp.createApp")(function*(e,t,r){let n=yield*Yr.FileSystem,o=Fme(e),s=Pme(o);if(!/^[a-z0-9][a-z0-9._-]*$/u.test(s)||s.length>214||["node_modules","favicon.ico"].includes(s))return yield*new qt({message:"The final folder name must be a lowercase npm package name."});if((yield*n.exists(o))&&((yield*n.stat(o)).type!=="Directory"||(yield*n.readDirectory(o)).length>0))return yield*new qt({message:`Refusing to write into ${e}: the destination must be an empty folder.`});let a=ig(yield*_p(t),r.minimal);yield*n.makeDirectory(o,{recursive:!0}),yield*cg(o,a,s),yield*Xb(o,{...r.minimal?{minimal:!0}:{},name:s,version:r.version}),yield*n.symlink("AGENTS.md",V_(o,"CLAUDE.md"));let i=Qb(s),c=yield*Zm.Crypto,u=_me.from(yield*c.randomBytes(32)).toString("base64url");yield*n.writeFileString(V_(o,".env.local"),`DATABASE_URL=postgresql://postgres:postgres@127.0.0.1:55432/${i}_dev
291
291
  TEST_DATABASE_URL=postgresql://postgres:postgres@127.0.0.1:55432/${i}_test
package/dist/template.js CHANGED
@@ -16,7 +16,7 @@ export function appTemplate(template, minimal = false) {
16
16
  if (entry.path === "package.json" && minimalManifest !== undefined) {
17
17
  return { ...entry, content: minimalManifest.content };
18
18
  }
19
- if (!["src/modules.ts", "src/server/modules.ts", "src/server/workerModules.ts", "src/client/modules.ts"].includes(entry.path)) {
19
+ if (!["src/admin/modules.ts", "src/server/modules.ts", "src/server/workerModules.ts", "src/client/modules.ts"].includes(entry.path)) {
20
20
  return entry;
21
21
  }
22
22
  const source = Buffer.from(entry.content, "base64")
@@ -79,7 +79,7 @@ export function prepareManifest(source, versions, minimal = false) {
79
79
  return manifestJson(prepared);
80
80
  }
81
81
  export function prepareFile(path, content, versions) {
82
- if (["src/test-support/adminCommand.ts", "src/test-support/deployChild.ts", "src/test-support/developmentServer.ts"].includes(path)) {
82
+ if (["src/test-support/admin/command.ts", "src/test-support/deployChild.ts", "src/test-support/developmentServer.ts"].includes(path)) {
83
83
  return Buffer.from(content.toString().replaceAll('"--conditions=source", ', ""));
84
84
  }
85
85
  if (path === "package.json") {
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shivaedev/create-app",
3
- "version": "0.32.0",
3
+ "version": "0.32.1",
4
4
  "description": "Create and install a Platform application from the maintained starter",
5
5
  "homepage": "https://github.com/ShivaeDev/platform/tree/main/packages/create-app#readme",
6
6
  "bugs": {
@@ -44,13 +44,13 @@
44
44
  "README.md"
45
45
  ],
46
46
  "dependencies": {
47
- "@shivaedev/sql": "0.28.0"
47
+ "@shivaedev/sql": "0.29.0"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@effect/platform-node": "4.0.6",
51
51
  "@effect/platform-node-shared": "4.0.6",
52
52
  "@shivaedev/quality": "0.52.0",
53
- "@shivaedev/test-story": "0.31.1",
53
+ "@shivaedev/test-story": "0.31.2",
54
54
  "@types/node": "24.19.2",
55
55
  "effect": "4.0.6",
56
56
  "esbuild": "0.28.2",
package/src/template.ts CHANGED
@@ -19,7 +19,7 @@ export function appTemplate(template: Template, minimal = false): Template {
19
19
  if (entry.path === "package.json" && minimalManifest !== undefined) {
20
20
  return { ...entry, content: minimalManifest.content };
21
21
  }
22
- if (!["src/modules.ts", "src/server/modules.ts", "src/server/workerModules.ts", "src/client/modules.ts"].includes(entry.path)) {
22
+ if (!["src/admin/modules.ts", "src/server/modules.ts", "src/server/workerModules.ts", "src/client/modules.ts"].includes(entry.path)) {
23
23
  return entry;
24
24
  }
25
25
  const source = Buffer.from(entry.content, "base64")
@@ -92,7 +92,7 @@ export function prepareManifest(source: string, versions: Readonly<Record<string
92
92
  }
93
93
 
94
94
  export function prepareFile(path: string, content: Buffer, versions: Readonly<Record<string, string>>) {
95
- if (["src/test-support/adminCommand.ts", "src/test-support/deployChild.ts", "src/test-support/developmentServer.ts"].includes(path)) {
95
+ if (["src/test-support/admin/command.ts", "src/test-support/deployChild.ts", "src/test-support/developmentServer.ts"].includes(path)) {
96
96
  return Buffer.from(content.toString().replaceAll('"--conditions=source", ', ""));
97
97
  }
98
98
  if (path === "package.json") {