zerostarter 0.1.22 → 0.1.25-canary.0

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.
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import{A as e,C as t,D as n,E as r,M as i,N as a,O as o,P as s,S as c,T as l,_ as u,a as d,b as f,c as p,d as m,f as h,g,h as _,i as ee,j as v,k as y,l as b,m as te,n as x,o as S,p as C,r as ne,s as re,t as ie,u as ae,v as w,w as T,x as E,y as D}from"../convert-BrLzigjj.mjs";import{basename as oe,delimiter as se,dirname as ce,join as O,parse as le,resolve as k}from"node:path";import{existsSync as A,readFileSync as ue,readdirSync as de}from"node:fs";import{randomBytes as fe}from"node:crypto";import{createInterface as pe}from"node:readline/promises";import{parseArgs as me}from"node:util";import{homedir as he}from"node:os";var ge={name:`zerostarter`,version:`0.1.22`,description:`Go from zero to a production-ready SaaS, rebranded and ready to ship.`,keywords:[`cli`,`saas`,`scaffold`,`starter`,`template`,`zerostarter`],homepage:`https://github.com/nrjdalal/zerostarter#readme`,bugs:`https://github.com/nrjdalal/zerostarter/issues`,license:`MIT`,author:{name:`Neeraj Dalal`,email:`admin@nrjdalal.com`,url:`https://nrjdalal.com`},repository:`nrjdalal/zerostarter`,funding:`https://github.com/sponsors/nrjdalal`,bin:{zerostarter:`dist/bin/index.mjs`},files:[`dist`],type:`module`,types:`./dist/index.d.mts`,exports:`./dist/index.mjs`,scripts:{build:`tsdown`,"check-types":`tsc --noEmit`,dev:`tsdown --watch`},devDependencies:{"@packages/config":`workspace:*`,"@types/bun":`catalog:`,"@types/node":`catalog:`,tsdown:`catalog:`,typescript:`catalog:`}};const j=()=>!!(process.stdin.isTTY&&process.stdout.isTTY),M=(e,t=e)=>process.stdout.isTTY?`\x1b]8;;${e}\x07${t}\x1b]8;;\x07`:e,N=e=>M(e,u(e)),P=e=>{process.stdout.write(`\n ${D(g.barStart)} ${e}\n ${D(g.bar)}\n`)},F=e=>{process.stdout.write(` ${D(g.bar)}\n ${D(g.barEnd)} ${e}\n`)},I=(e=`Cancelled`)=>{process.stdout.write(` ${D(g.barEnd)} ${t(e)}\n`)},L=e=>e.replace(RegExp(`\x1B\\[[0-9;?]*[a-zA-Z]`,`g`),``).replace(RegExp(`\x1B\\]8;;.*?\\x07`,`g`),``).length,R=(e,t=``,n=!1)=>{let r=`\n${e}\n`.split(`
2
+ import{A as e,C as t,D as n,E as r,M as i,N as a,O as o,P as s,S as c,T as l,_ as u,a as d,b as f,c as p,d as m,f as h,g,h as _,i as ee,j as v,k as y,l as b,m as te,n as x,o as S,p as C,r as ne,s as re,t as ie,u as ae,v as w,w as T,x as E,y as D}from"../convert-DRUnL5sE.mjs";import{basename as oe,delimiter as se,dirname as ce,join as O,parse as le,resolve as k}from"node:path";import{existsSync as A,readFileSync as ue,readdirSync as de}from"node:fs";import{randomBytes as fe}from"node:crypto";import{createInterface as pe}from"node:readline/promises";import{parseArgs as me}from"node:util";import{homedir as he}from"node:os";var ge={name:`zerostarter`,version:`0.1.25-canary.0`,description:`Go from zero to a production-ready SaaS, rebranded and ready to ship.`,keywords:[`cli`,`saas`,`scaffold`,`starter`,`template`,`zerostarter`],homepage:`https://github.com/nrjdalal/zerostarter#readme`,bugs:`https://github.com/nrjdalal/zerostarter/issues`,license:`MIT`,author:{name:`Neeraj Dalal`,email:`admin@nrjdalal.com`,url:`https://nrjdalal.com`},repository:`nrjdalal/zerostarter`,funding:`https://github.com/sponsors/nrjdalal`,bin:{zerostarter:`dist/bin/index.mjs`},files:[`dist`],type:`module`,types:`./dist/index.d.mts`,exports:`./dist/index.mjs`,scripts:{build:`tsdown`,"check-types":`tsc --noEmit`,dev:`tsdown --watch`},devDependencies:{"@packages/config":`workspace:*`,"@types/bun":`catalog:`,"@types/node":`catalog:`,tsdown:`catalog:`,typescript:`catalog:`}};const j=()=>!!(process.stdin.isTTY&&process.stdout.isTTY),M=(e,t=e)=>process.stdout.isTTY?`\x1b]8;;${e}\x07${t}\x1b]8;;\x07`:e,N=e=>M(e,u(e)),P=e=>{process.stdout.write(`\n ${D(g.barStart)} ${e}\n ${D(g.bar)}\n`)},F=e=>{process.stdout.write(` ${D(g.bar)}\n ${D(g.barEnd)} ${e}\n`)},I=(e=`Cancelled`)=>{process.stdout.write(` ${D(g.barEnd)} ${t(e)}\n`)},L=e=>e.replace(RegExp(`\x1B\\[[0-9;?]*[a-zA-Z]`,`g`),``).replace(RegExp(`\x1B\\]8;;.*?\\x07`,`g`),``).length,R=(e,t=``,n=!1)=>{let r=`\n${e}\n`.split(`
3
3
  `),i=L(t),a=r.reduce((e,t)=>Math.max(e,L(t)),i),o=Math.max(a,54)+2,s=r.map(e=>` ${D(g.bar)} ${e}${` `.repeat(o-L(e))}${D(g.bar)}`).join(`
4
4
  `),c=n?g.cornerBL:g.connectL;process.stdout.write(` ${u(g.active)} ${t} ${D(g.barH.repeat(Math.max(o-i-1,1))+g.cornerTR)}\n${s}\n ${D(c+g.barH.repeat(o+2)+g.cornerBR)}\n`)},z=(e,t=[])=>{process.stdout.write(` ${u(g.active)} ${e}\n`);for(let e of t)process.stdout.write(` ${D(g.bar)} ${e}\n`)},_e=e=>{process.stdout.write(` ${f(g.active)} ${f(e)}\n`)},B=(e,t=[])=>{process.stdout.write(` ${T(g.warn)} ${T(e)}\n`);for(let e of t)process.stdout.write(` ${D(g.bar)} ${T(e)}\n`)},ve=async(e,t,n)=>{let r=process.stdout,i=null;if(r.isTTY){let t=0;r.write(` ${c(0,e)}`),i=setInterval(()=>{t+=1,r.write(`\r\x1b[K ${c(t,e)}`)},400)}try{let e=await n();return i&&clearInterval(i),r.write(r.isTTY?`\r\x1b[K ${u(g.active)} ${t}\n`:` ${u(g.active)} ${t}\n`),e}catch(e){throw i&&clearInterval(i),r.isTTY&&r.write(`\r\x1B[K`),e}},ye=e=>{let t=e?`${f(g.radioOn)} Yes`:w(`${g.radioOff} Yes`),n=e?w(`${g.radioOff} No`):`${f(g.radioOn)} No`;return` ${D(g.bar)} ${t} ${w(`/`)} ${n}`},V=async(e,t=!0)=>{let n=process.stdout;return j()?new Promise(r=>{let i=t,a=process.stdin,o=Math.max(1,Math.ceil((5+L(e))/(n.columns||80)));n.write(` ${u(g.submit)} ${e}\n`),n.write(ye(i)),a.setRawMode(!0),a.resume(),a.setEncoding(`utf8`);let s=()=>{a.setRawMode(!1),a.pause(),a.removeListener(`data`,d)},c=()=>{n.write(`\r\x1b[K\x1b[${o}A\r\x1b[0J`)},l=()=>{s(),c(),r(i)};function d(t){t===``?(s(),c(),n.write(` ${u(g.submit)} ${w(e)}\n`),I(),process.exit(130)):t===`\r`||t===`
5
5
  `?l():t===`y`||t===`Y`?(i=!0,l()):t===`n`||t===`N`?(i=!1,l()):(t===`\x1B[C`||t===`\x1B[D`||t===`\x1B[A`||t===`\x1B[B`||t===`h`||t===`l`)&&(i=!i,n.write(`\r\x1b[K${ye(i)}`))}a.on(`data`,d)}):(n.write(` ${u(g.active)} ${e} ${w(t?`Yes`:`No`)}\n`),t)},be=async(e,t)=>{if(t.length===0)return[];let n=process.stdout,r=new Set(t.filter(e=>e.checked).map(e=>e.value)),i=()=>t.filter(e=>r.has(e.value)).map(e=>e.label).join(`, `)||`none`;return j()?new Promise(a=>{let o=process.stdin,s=0,c=e=>{let n=t[e],i=r.has(n.value)?f(g.checkboxOn):w(g.checkboxOff),a=e===s?n.label:w(n.label);return` ${D(g.bar)} ${i} ${a}`},l=e=>{e||n.write(`\x1b[${t.length}A`);for(let e=0;e<t.length;e++)n.write(`\r\x1b[K${c(e)}\n`)};n.write(` ${u(g.submit)} ${e}\n`),l(!0),o.setRawMode(!0),o.resume(),o.setEncoding(`utf8`);let d=()=>{o.setRawMode(!1),o.pause(),o.removeListener(`data`,p)};function p(o){if(o===``)d(),n.write(`\x1b[${t.length+1}A\r\x1b[0J ${u(g.submit)} ${w(e)}\n`),I(),process.exit(130);else if(o===`\r`||o===`
@@ -1,5 +1,5 @@
1
1
  import{delimiter as e,dirname as t,join as n,resolve as r}from"node:path";import{existsSync as i,mkdirSync as a,readFileSync as o,readdirSync as s,rmSync as c,writeFileSync as l}from"node:fs";import{createHash as u}from"node:crypto";import{spawn as d}from"node:child_process";import{access as f}from"node:fs/promises";const p=e=>{let t=[],n=[],r=!1;for(let i of e.split(`
2
- `)){let e=i.trim();if(e){if(!r&&e.startsWith(`# PRESERVE_ON_SYNC`)){n=e.slice(18).replace(/^\s*-\s*/,``).split(`,`).map(e=>e.trim()).filter(Boolean),r=!0;continue}e.startsWith(`#`)||t.push(e)}}return{excludes:t,preserve:n}},m=e=>i(e),h=e=>o(e,`utf8`),g=(e,n)=>{a(t(e),{recursive:!0}),l(e,n)},_=e=>{c(e,{force:!0,recursive:!0})},v=new Set([`node_modules`,`.next`,`.turbo`,`dist`]),y=(e,t=!0)=>{for(let r of s(e,{withFileTypes:!0})){let i=n(e,r.name);if(r.name===`.git`){if(t)continue;c(i,{force:!0,recursive:!0});continue}r.isDirectory()?v.has(r.name)?c(i,{force:!0,recursive:!0}):(y(i,!1),s(i).length===0&&c(i,{force:!0,recursive:!0})):r.name.startsWith(`.env`)||c(i,{force:!0})}},b=e=>{let t=[];for(let r of s(e,{withFileTypes:!0})){if(r.name===`.git`||v.has(r.name))continue;let i=n(e,r.name);r.isDirectory()?t.push(...b(i)):r.name===`package.json`&&t.push(i)}return t},x=e=>JSON.parse(h(e)),S=(e,t)=>{g(e,`${JSON.stringify(t,null,2)}\n`)},ee=(e,t)=>{if(!i(e))return!1;let n=h(e),r=n.replace(t,``);return r===n?!1:(l(e,r),!0)},te=[`homepage`,`bugs`,`license`,`author`,`repository`,`funding`],ne=[`name`,`version`,...te],re=(e,t)=>{let n={...e,...t};return Object.keys(n).length>0?n:void 0},ie=(e,t)=>{let n=Array.isArray(e)?e:[],r=Array.isArray(t)?t:[];return n.length||r.length?[...new Set([...r,...n])]:void 0},ae=[`dependencies`,`devDependencies`,`optionalDependencies`,`peerDependencies`,`resolutions`,`catalog`,`scripts`,`overrides`],oe=(e,t,n)=>{let r={...t};for(let n of Object.keys(e))n in t||(r[n]=e[n]);for(let n of ae){let i=re(e[n],t[n]);i&&(r[n]=i)}let i=ie(e.workspaces,t.workspaces);if(i&&(r.workspaces=i),n)for(let t of ne)t in e?r[t]=e[t]:delete r[t];return r},C=(e,t,n=process.stdout)=>r=>n.isTTY?`\x1b[${e}m${r}\x1b[${t}m`:r,w=C(`36`,`39`),se=C(`32`,`39`),ce=C(`33`,`39`),T=C(`90`,`39`),E=C(`2`,`22`),D=C(`31`,`39`,process.stderr),le=C(`2`,`22`,process.stderr),ue=C(`38;5;208`,`39`),O=[`◇`,`◆`],k=(e,t)=>{let n=(e%O.length+O.length)%O.length;return`${w(O[n])} ${t}`},A={barStart:`┌`,bar:`│`,barEnd:`└`,active:`◆`,submit:`◇`,radioOn:`●`,radioOff:`○`,checkboxOn:`◼`,checkboxOff:`◻`,warn:`▲`,error:`■`,barH:`─`,cornerTR:`╮`,connectL:`├`,cornerBL:`╰`,cornerBR:`╯`};var j=class extends Error{constructor(...e){super(...e),this.name=`SubprocessError`,this.stdout=``,this.stderr=``}};const M=[`.exe`,`.com`],N=e=>e.replaceAll(/([()\][%!^"`<>&|;, *?])/g,`^$1`),de=e=>N(N(`"${e.replaceAll(/(\\*)"/g,`$1$1\\"`).replace(/(\\*)$/,`$1$1`)}"`)),fe=async(t,n,i)=>{if(M.some(e=>t.toLowerCase().endsWith(e)))return!0;let a=(i.PATH||i.Path||``).split(e).filter(Boolean).map(e=>e.replace(/^"(.*)"$/,`$1`));try{return await Promise.any([n,...a].flatMap(e=>M.map(n=>f(`${r(e,t)}${n}`)))),!0}catch{return!1}},pe=async(e,t,n,r=process.platform===`win32`)=>{let i=n.cwd?String(n.cwd):`.`,a=n.env||process.env;return r&&!n.shell&&!await fe(e,i,a)?[N(e),t.map(de),{...n,shell:!0}]:[e,t,n]},P=async(e,t,n,r)=>{let i=[e,...t].join(` `),[a,o,s]=await pe(e,t,n);s.shell&&o.length>0&&(a=[a,...o].join(` `),o=[]);let c=d(a,o,s),l=``,u=``;return new Promise((e,t)=>{let n=(e,n,r)=>{let i=new j(e,r?{cause:r}:void 0);i.stdout=l,i.stderr=u,i.exitCode=n,t(i)},a=e=>{e.code!==`ERR_STREAM_PREMATURE_CLOSE`&&e.code!==`EPIPE`&&n(`Command failed: ${i}`,void 0,e)};c.stdout&&(c.stdout.setEncoding(`utf8`),c.stdout.on(`data`,e=>{l+=e,r?.(e)}),c.stdout.on(`error`,a)),c.stderr&&(c.stderr.setEncoding(`utf8`),c.stderr.on(`data`,e=>{u+=e,r?.(e)}),c.stderr.on(`error`,a)),c.on(`error`,e=>n(`Command failed: ${i}`,void 0,e)),c.on(`close`,(t,r)=>{if(r)return n(`Command was terminated with ${r}: ${i}`);if(t!==0)return n(`Command failed with exit code ${t}: ${i}`,t??void 0);e({stdout:l,stderr:u})})})},F=async(e,t,n)=>{let{stdout:r}=await P(e,t,{cwd:n,stdio:[`ignore`,`pipe`,`pipe`]});return r},I=async(e,t,n)=>{await P(e,t,{cwd:n,stdio:`inherit`})},me=async(e,t)=>{try{return await P(e,t,{stdio:`ignore`}),!0}catch{return!1}},he=RegExp(`\x1B\\[[0-9;?]*[a-zA-Z]`,`g`),L=e=>e.replace(he,``),R=new WeakSet,ge=e=>{if(process.stderr.write(`\n ${D(e instanceof Error?e.message:String(e))}\n`),!(e instanceof j)||R.has(e))return;let t=(e.stderr||e.stdout||``).trim();if(!t)return;let n=L(t).split(`
2
+ `)){let e=i.trim();if(e){if(!r&&e.startsWith(`# PRESERVE_ON_SYNC`)){n=e.slice(18).replace(/^\s*-\s*/,``).split(`,`).map(e=>e.trim()).filter(Boolean),r=!0;continue}e.startsWith(`#`)||t.push(e)}}return{excludes:t,preserve:n}},m=e=>i(e),h=e=>o(e,`utf8`),g=(e,n)=>{a(t(e),{recursive:!0}),l(e,n)},_=e=>{c(e,{force:!0,recursive:!0})},v=new Set([`node_modules`,`.next`,`.turbo`,`dist`]),y=(e,t=!0)=>{for(let r of s(e,{withFileTypes:!0})){let i=n(e,r.name);if(r.name===`.git`){if(t)continue;c(i,{force:!0,recursive:!0});continue}r.isDirectory()?v.has(r.name)?c(i,{force:!0,recursive:!0}):(y(i,!1),s(i).length===0&&c(i,{force:!0,recursive:!0})):r.name.startsWith(`.env`)||c(i,{force:!0})}},b=e=>{let t=[];for(let r of s(e,{withFileTypes:!0})){if(r.name===`.git`||v.has(r.name))continue;let i=n(e,r.name);r.isDirectory()?t.push(...b(i)):r.name===`package.json`&&t.push(i)}return t},x=e=>JSON.parse(h(e)),S=(e,t)=>{g(e,`${JSON.stringify(t,null,2)}\n`)},ee=(e,t)=>{if(!i(e))return!1;let n=h(e),r=n.replace(t,``);return r!==n&&(l(e,r),!0)},te=[`homepage`,`bugs`,`license`,`author`,`repository`,`funding`],ne=[`name`,`version`,...te],re=(e,t)=>{let n={...e,...t};return Object.keys(n).length>0?n:void 0},ie=(e,t)=>{let n=Array.isArray(e)?e:[],r=Array.isArray(t)?t:[];return n.length||r.length?[...new Set([...r,...n])]:void 0},ae=[`dependencies`,`devDependencies`,`optionalDependencies`,`peerDependencies`,`resolutions`,`catalog`,`scripts`,`overrides`],oe=(e,t,n)=>{let r={...t};for(let n of Object.keys(e))n in t||(r[n]=e[n]);for(let n of ae){let i=re(e[n],t[n]);i&&(r[n]=i)}let i=ie(e.workspaces,t.workspaces);if(i&&(r.workspaces=i),n)for(let t of ne)t in e?r[t]=e[t]:delete r[t];return r},C=(e,t,n=process.stdout)=>r=>n.isTTY?`\x1b[${e}m${r}\x1b[${t}m`:r,w=C(`36`,`39`),se=C(`32`,`39`),ce=C(`33`,`39`),T=C(`90`,`39`),E=C(`2`,`22`),D=C(`31`,`39`,process.stderr),le=C(`2`,`22`,process.stderr),ue=C(`38;5;208`,`39`),O=[`◇`,`◆`],k=(e,t)=>{let n=(e%O.length+O.length)%O.length;return`${w(O[n])} ${t}`},A={barStart:`┌`,bar:`│`,barEnd:`└`,active:`◆`,submit:`◇`,radioOn:`●`,radioOff:`○`,checkboxOn:`◼`,checkboxOff:`◻`,warn:`▲`,error:`■`,barH:`─`,cornerTR:`╮`,connectL:`├`,cornerBL:`╰`,cornerBR:`╯`};var j=class extends Error{constructor(...e){super(...e),this.name=`SubprocessError`,this.stdout=``,this.stderr=``}};const M=[`.exe`,`.com`],N=e=>e.replaceAll(/([()\][%!^"`<>&|;, *?])/g,`^$1`),de=e=>N(N(`"${e.replaceAll(/(\\*)"/g,`$1$1\\"`).replace(/(\\*)$/,`$1$1`)}"`)),fe=async(t,n,i)=>{if(M.some(e=>t.toLowerCase().endsWith(e)))return!0;let a=(i.PATH||i.Path||``).split(e).filter(Boolean).map(e=>e.replace(/^"(.*)"$/,`$1`));try{return await Promise.any([n,...a].flatMap(e=>M.map(n=>f(`${r(e,t)}${n}`)))),!0}catch{return!1}},pe=async(e,t,n,r=process.platform===`win32`)=>{let i=n.cwd?String(n.cwd):`.`,a=n.env||process.env;return r&&!n.shell&&!await fe(e,i,a)?[N(e),t.map(de),{...n,shell:!0}]:[e,t,n]},P=async(e,t,n,r)=>{let i=[e,...t].join(` `),[a,o,s]=await pe(e,t,n);s.shell&&o.length>0&&(a=[a,...o].join(` `),o=[]);let c=d(a,o,s),l=``,u=``;return new Promise((e,t)=>{let n=(e,n,r)=>{let i=new j(e,r?{cause:r}:void 0);i.stdout=l,i.stderr=u,i.exitCode=n,t(i)},a=e=>{e.code!==`ERR_STREAM_PREMATURE_CLOSE`&&e.code!==`EPIPE`&&n(`Command failed: ${i}`,void 0,e)};c.stdout&&(c.stdout.setEncoding(`utf8`),c.stdout.on(`data`,e=>{l+=e,r?.(e)}),c.stdout.on(`error`,a)),c.stderr&&(c.stderr.setEncoding(`utf8`),c.stderr.on(`data`,e=>{u+=e,r?.(e)}),c.stderr.on(`error`,a)),c.on(`error`,e=>n(`Command failed: ${i}`,void 0,e)),c.on(`close`,(t,r)=>{if(r)return n(`Command was terminated with ${r}: ${i}`);if(t!==0)return n(`Command failed with exit code ${t}: ${i}`,t??void 0);e({stdout:l,stderr:u})})})},F=async(e,t,n)=>{let{stdout:r}=await P(e,t,{cwd:n,stdio:[`ignore`,`pipe`,`pipe`]});return r},I=async(e,t,n)=>{await P(e,t,{cwd:n,stdio:`inherit`})},me=async(e,t)=>{try{return await P(e,t,{stdio:`ignore`}),!0}catch{return!1}},he=RegExp(`\x1B\\[[0-9;?]*[a-zA-Z]`,`g`),L=e=>e.replace(he,``),R=new WeakSet,ge=e=>{if(process.stderr.write(`\n ${D(e instanceof Error?e.message:String(e))}\n`),!(e instanceof j)||R.has(e))return;let t=(e.stderr||e.stdout||``).trim();if(!t)return;let n=L(t).split(`
3
3
  `).map(e=>e.trimEnd()).filter(Boolean).slice(-12);for(let e of n)process.stderr.write(` ${le(e)}\n`)},_e=async(e,t,n)=>{let r=process.stdout,i=n.label??``;if(!r.isTTY){i&&r.write(` ${w(A.active)} ${i}\n`),await I(e,t,n.cwd);return}let a=n.lines??3,o=[],s=0,c=0,l=``,u=``,d=()=>(r.columns||80)-1,f=e=>{r.write(e?`\x1B[?7h`:`\x1B[?7l`)},p=()=>{c>0&&(r.write(`[${c}A`),c=0)},m=()=>{p();let e=0;r.write(` ${k(s,i)}\n`),e++;for(let t of o.slice(-a))r.write(` ${T(A.bar)} ${E(t.slice(0,Math.max(0,d()-5)))}\n`),e++;c=e},h=e=>{u+=e,l+=e;let t=l.split(`
4
4
  `);l=t.pop()??``;for(let e of t)o.push(L(e).replace(/\r/g,``).replace(/\t/g,` `).trimEnd()),m()};m(),f(!1);let g=()=>{f(!0),process.exit(130)};process.once(`SIGINT`,g);let _=setInterval(()=>{s+=1,m()},400),v=()=>{clearInterval(_),process.removeListener(`SIGINT`,g)};try{await P(e,t,{cwd:n.cwd,stdio:[`ignore`,`pipe`,`pipe`]},h)}catch(e){throw v(),p(),f(!0),r.write(u),e&&typeof e==`object`&&R.add(e),e}v(),p(),f(!0),r.write(` ${w(A.active)} ${n.done??i}\n`);for(let e of o.slice(-a))r.write(` ${T(A.bar)} ${E(e.slice(0,Math.max(0,d()-5)))}\n`)},z=`https://github.com/nrjdalal/zerostarter`,B=`.agents/skills/.sync.json`,V=()=>({adopted:[],customized:[],forkOwned:[],unverified:[]}),H=e=>u(`sha256`).update(e.replace(/\r\n/g,`
5
5
  `)).digest(`hex`).slice(0,12),U=e=>e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``)||`app`,W=(e,t,n)=>e.replaceAll(`ZeroStarter`,n).replace(/(?<!bunx )zerostarter(?! scaffolding CLI)/g,t),G=`> Synced from ${z}.`,ve=()=>`> [!CAUTION]\n${G} Customize this skill or remove this note to stop syncing.`,K=e=>e.replace(/^https?:\/\/github\.com\//,``).replace(/\/+$/,``),q=K(z),J=e=>{let t=e.split(`
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{t as e}from"./convert-BrLzigjj.mjs";export{e as convertRepo};
1
+ import{t as e}from"./convert-DRUnL5sE.mjs";export{e as convertRepo};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zerostarter",
3
- "version": "0.1.22",
3
+ "version": "0.1.25-canary.0",
4
4
  "description": "Go from zero to a production-ready SaaS, rebranded and ready to ship.",
5
5
  "keywords": [
6
6
  "cli",