smart-registry 0.6.0 → 0.6.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/dist/bin/index.js CHANGED
@@ -15,7 +15,7 @@ Options:
15
15
  -h, --help display help
16
16
 
17
17
  Author:
18
- ${O.name} <${O.email}> (${O.url})`,ae=i=>{try{return oe(i)}catch(t){throw new Error(`Error parsing arguments: ${t.message}`)}},pe=async()=>{var i,t,s;try{let{positionals:n,values:e}=ae({allowPositionals:!0,options:{cwd:{type:"string",short:"c"},ignore:{type:"string",short:"i",default:""},output:{type:"string",short:"o",default:"public/r"},help:{type:"boolean",short:"h"},version:{type:"boolean",short:"v"}}});n.length||(e.version&&(console.log(`${R}@${P}`),process.exit(0)),e.help&&(console.log(L),process.exit(0)));let r=h.resolve((i=e.cwd)!=null?i:process.cwd()),o=await V(r),a=await q(r),g=await U({cwd:r,patterns:n,ignore:e.ignore}),c=[],y=F(u({},a),{items:[]});for(let m of g)try{let l=((t=a.items)==null?void 0:t.find(p=>p.name===f({cwd:r,aliases:o,filepath:m}).name))||{},d=await W({cwd:r,aliases:o,filepaths:[m,...((s=l==null?void 0:l.files)==null?void 0:s.map(p=>p.path))||[]]}),w={dependencies:[...new Set([...d.dependencies,...(l==null?void 0:l.dependencies)||[]])].sort(),devDependencies:[...new Set([...(l==null?void 0:l.devDependencies)||[]])].sort(),registryDependencies:[...new Set([...(l==null?void 0:l.registryDependencies)||[]])].sort()},b=u(F(u(u(u({$schema:"https://ui.shadcn.com/schema/registry-item.json",name:f({cwd:r,aliases:o,filepath:m}).name,type:f({cwd:r,aliases:o,filepath:m}).type||"registry:file"},w.dependencies.length&&{dependencies:w.dependencies}),w.devDependencies.length&&{devDependencies:w.devDependencies}),w.registryDependencies.length&&{registryDependencies:w.registryDependencies}),{files:d.files.map(p=>({type:f({cwd:r,aliases:o,filepath:p}).type||"registry:file",target:f({cwd:r,aliases:o,filepath:p}).target||p,content:d.content[p],path:p})).sort((p,x)=>{let $=j.items.files.type.default;return $.indexOf(p.type)-$.indexOf(x.type)})}),Object.fromEntries(Object.entries(l).filter(([p])=>!["$schema","name","type","dependencies","devDependencies","registryDependencies","files"].includes(p))));b=Object.keys(b).sort((p,x)=>{let $=j.items.files.default;return $.indexOf(p)-$.indexOf(x)}).reduce((p,x)=>(p[x]=b[x],p),{});let D=h.resolve(r,e.output,b.name+".json");console.log(`- ${h.relative(process.cwd(),h.resolve(r,m)).padEnd(Math.max(...g.map(p=>h.relative(process.cwd(),h.resolve(r,p)).length))+2," ")} ${d.dependencies.length?"\u{1F4E6}"+String(d.dependencies.length).padEnd(2," "):" "} ${d.files.length-1?"\u{1F4C4}"+String(d.files.length).padEnd(2," "):" "} ${h.relative(process.cwd(),D)}`),await _.promises.mkdir(h.dirname(D),{recursive:!0}),await _.promises.writeFile(D,JSON.stringify(b,null,2)+`
18
+ ${O.name} <${O.email}> (${O.url})`,ae=i=>{try{return oe(i)}catch(t){throw new Error(`Error parsing arguments: ${t.message}`)}},pe=async()=>{var i,t,s;try{let{positionals:n,values:e}=ae({allowPositionals:!0,options:{cwd:{type:"string",short:"c"},ignore:{type:"string",short:"i",default:""},output:{type:"string",short:"o",default:"public/r"},help:{type:"boolean",short:"h"},version:{type:"boolean",short:"v"}}});n.length||(e.version&&(console.log(`${R}@${P}`),process.exit(0)),e.help&&(console.log(L),process.exit(0)));let r=h.resolve((i=e.cwd)!=null?i:process.cwd()),o=await V(r),a=await q(r),g=await U({cwd:r,patterns:n,ignore:e.ignore}),c=[],y=F(u({},a),{items:[]});for(let m of g)try{let l=((t=a.items)==null?void 0:t.find(p=>p.name===f({cwd:r,aliases:o,filepath:m}).name))||{},d=await W({cwd:r,aliases:o,filepaths:[m,...((s=l==null?void 0:l.files)==null?void 0:s.map(p=>p.path))||[]]}),w={dependencies:[...new Set([...d.dependencies,...(l==null?void 0:l.dependencies)||[]])].sort(),devDependencies:[...new Set([...(l==null?void 0:l.devDependencies)||[]])].sort(),registryDependencies:[...new Set([...(l==null?void 0:l.registryDependencies)||[]])].sort()},b=u(F(u(u(u({$schema:"https://ui.shadcn.com/schema/registry-item.json",name:f({cwd:r,aliases:o,filepath:m}).name,type:f({cwd:r,aliases:o,filepath:m}).type||"registry:file"},w.dependencies.length&&{dependencies:w.dependencies}),w.devDependencies.length&&{devDependencies:w.devDependencies}),w.registryDependencies.length&&{registryDependencies:w.registryDependencies}),{files:d.files.map(p=>({type:f({cwd:r,aliases:o,filepath:p}).type||"registry:file",target:f({cwd:r,aliases:o,filepath:p}).target||p,content:d.content[p],path:p})).sort((p,x)=>{let $=j.items.files.type.default;return $.indexOf(x.type)-$.indexOf(p.type)})}),Object.fromEntries(Object.entries(l).filter(([p])=>!["$schema","name","type","dependencies","devDependencies","registryDependencies","files"].includes(p))));b=Object.keys(b).sort((p,x)=>{let $=j.items.default;return $.indexOf(p)-$.indexOf(x)}).reduce((p,x)=>(p[x]=b[x],p),{});let D=h.resolve(r,e.output,b.name+".json");console.log(`- ${h.relative(process.cwd(),h.resolve(r,m)).padEnd(Math.max(...g.map(p=>h.relative(process.cwd(),h.resolve(r,p)).length))+2," ")} ${d.dependencies.length?"\u{1F4E6}"+String(d.dependencies.length).padEnd(2," "):" "} ${d.files.length-1?"\u{1F4C4}"+String(d.files.length).padEnd(2," "):" "} ${h.relative(process.cwd(),D)}`),await _.promises.mkdir(h.dirname(D),{recursive:!0}),await _.promises.writeFile(D,JSON.stringify(b,null,2)+`
19
19
  `),b.files.forEach(p=>delete p.content),y.items.push(b)}catch(l){c.push(m+": "+l.message);continue}y.items.sort((m,l)=>m.name.localeCompare(l.name)).sort((m,l)=>{let d=j.items.type.default;return d.indexOf(m.type)-d.indexOf(l.type)}),await _.promises.writeFile(h.resolve(r,e.output,"registry.json"),JSON.stringify(y,null,2)+`
20
20
  `),c.length&&(console.log(),c.forEach(m=>console.error(`\x1B[31m- ${m}\x1B[0m`))),process.exit(0)}catch(n){console.error(L),console.error(`
21
21
  ${n.message}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "smart-registry",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
4
  "description": "A zero-configuration (no registry.json required), shadcn add / open in v0 compatible registry builder.",
5
5
  "keywords": [
6
6
  "smart-registry"