@razorwind/shadcn 0.0.60 → 0.0.61
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/{extract-B_5jkDlD.cjs → extract-JgFClcRm.cjs} +1 -1
- package/dist/extract.cjs +1 -1
- package/dist/generate-CQBpe7is.mjs +35 -0
- package/dist/generate-CQBpe7is.mjs.map +1 -0
- package/dist/generate-CeAMsu9A.d.cts.map +1 -1
- package/dist/generate-DoidG9Vb.cjs +34 -0
- package/dist/generate.cjs +1 -1
- package/dist/generate.mjs +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +4 -3
- package/dist/generate-9tKVZCtA.cjs +0 -34
- package/dist/generate-BX2jMrEG.mjs +0 -35
- package/dist/generate-BX2jMrEG.mjs.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const e=require("./rolldown-runtime-Chgba0Kb.cjs");let t=require("@power-plant/core"),n=require("@razorwind/core/plugin"),r=require("@stryke/path/join"),i=require("node:fs"),a=require("node:path");a=e.n(a,1);let o=require("shadcn/registry"),s=require("@stryke/fs/tsconfig"),c=require("c12"),l=require("chalk");l=e.n(l,1);let u=require("fast-glob");u=e.n(u,1);let d=require("shadcn/schema");require("shadcn/preset");let f=require("@stryke/fs/json"),ee=require("@stryke/fs/read-file")
|
|
1
|
+
const e=require("./rolldown-runtime-Chgba0Kb.cjs");let t=require("@power-plant/core"),n=require("@razorwind/core/plugin"),r=require("@stryke/path/join"),i=require("node:fs"),a=require("node:path");a=e.n(a,1);let o=require("shadcn/registry"),s=require("@stryke/fs/tsconfig"),c=require("c12"),l=require("chalk");l=e.n(l,1);let u=require("fast-glob");u=e.n(u,1);let d=require("shadcn/schema");require("shadcn/preset");let f=require("@stryke/fs/json"),ee=require("@stryke/fs/read-file");require("node:fs/promises");let p=require("zod");require("@stryke/http/fetch"),require("@stryke/url/helpers");let m=require("@stryke/fs/get-workspace-root"),te=require("tsconfig-paths"),h=require("@stryke/path/is-type");const g=process.env.REGISTRY_URL??`https://ui.shadcn.com/r`,_=g.replace(/\/r\/?$/,``);`${_}`,`${_}`,`${_}`,`${_}`,`${_}`,`${_}`,`${_}`,`${_}`,`${_}`,`${_}`,`${_}`;function v(e){let t=[e];for(;t.length;){let e=t.shift();if(typeof e==`string`){if(e.startsWith(`./`))return e;continue}if(Array.isArray(e)){t.unshift(...e);continue}e&&typeof e==`object`&&t.unshift(...Object.values(e))}return null}function y(e){if(!e.includes(`*`))return`strip_extension`;let t=e.slice(e.indexOf(`*`)+1);return t&&/^\.[^/]+$/.test(t)?`strip_extension`:`preserve_extension`}function b(e,t){let n=t.find(t=>!t.hasWildcard&&t.key===e);if(n)return{path:a.default.resolve(n.rootDir,n.target),matchedAlias:n.key,matchedTarget:n.target,emitMode:n.emitMode};let r=t.filter(e=>e.hasWildcard).sort((e,t)=>t.key.length-e.key.length);for(let t of r){let n=x(e,t.key,{allowBareAliasBase:!0});if(n!==null)return{path:a.default.resolve(t.rootDir,ne(t.target,n)),matchedAlias:t.key,matchedTarget:t.target,emitMode:t.emitMode}}return null}function x(e,t,n={}){if(!t.includes(`*`))return e===t?``:null;let[r,i=``]=t.split(`*`);return r&&e.startsWith(r)&&e.endsWith(i)?i?e.slice(r.length,-i.length):e.slice(r.length):n.allowBareAliasBase&&i===``&&r&&r.endsWith(`/`)&&e===r.slice(0,-1)?``:null}function ne(e,t){if(!e.includes(`*`))return e;let[n,r=``]=e.split(`*`);return t?n?`${n}${t}${r}`:t:n?n.replace(/\/$/,``):``}const S=new Map;async function C(e){let t=a.default.resolve(e),n=S.get(t);if(n)return n;let r=(await w(e))?.imports;if(!r||typeof r!=`object`||Array.isArray(r))return S.set(t,[]),[];let i=[];for(let[e,n]of Object.entries(r)){if(!e.startsWith(`#`))continue;let r=v(n);r&&i.push({key:e,aliasBase:e===`#*`?`#`:e.endsWith(`/*`)?e.slice(0,-2):e,target:r,emitMode:y(r),hasWildcard:e.includes(`*`),rootDir:t})}return S.set(t,i),i}async function re(e,t){return b(e,await C(t))}async function w(e=``){let t=a.default.join(e,`package.json`);return(0,f.readJsonFile)(t)}p.z.object({compilerOptions:p.z.object({paths:p.z.record(p.z.string(),p.z.string().or(p.z.array(p.z.string())))})});function ie(e){if(e.startsWith(`#`)||e.startsWith(`.`)||(0,h.isAbsolute)(e))return null;let t=e.split(`/`);return e.startsWith(`@`)?t.length<2?null:{packageName:`${t[0]}/${t[1]}`}:{packageName:t[0]}}const T=new Map,E=new Map;function D(e){let t=[],n=!1,r=0;for(let i of e.split(`
|
|
2
2
|
`)){let e=i.trim();if(!e||e.startsWith(`#`))continue;let a=i.match(/^(\s*)([\w-]+)\s*:/);if(a){r=a[1]?.length??0,n=a[2]===`packages`;continue}if(!n)continue;let o=i.match(/^(\s*)-\s*(.+?)\s*(?:#.*)?$/);((!o||o[1]?.length)??r>=0)||t.push(o[2]?.trim().replace(/^["']|["']$/g,``)??``)}return t}async function O(e){let t=[],n=a.default.resolve(e,`pnpm-workspace.yaml`);if((0,i.existsSync)(n)){let e=await(0,ee.readFile)(n);t.push(...D(e))}let o=(0,r.joinPaths)(e,`package.json`);if((0,i.existsSync)(o))try{let e=(await(0,f.readJsonFile)(o)).workspaces,n=Array.isArray(e)?e:e?.packages;Array.isArray(n)&&t.push(...n.filter(e=>!e.startsWith(`!`)))}catch{}return Array.from(new Set(t))}async function k(e){let t=await O(e),n=new Map;if(!t.length)return n;let r=await(0,u.default)(t.map(e=>a.default.posix.join(e.split(a.default.sep).join(`/`),`package.json`)),{cwd:e,ignore:[`**/node_modules/**`]});for(let t of r){let r=a.default.resolve(e,a.default.dirname(t)),i=(await w(r))?.name;i&&n.set(i,{packageName:i,packageRoot:r})}return n}async function A(e,t){let n=(0,m.getWorkspaceRoot)(e);if(!n)return null;let r=T.get(n);if(r?.has(t))return r.get(t)??null;let i=await k(n);return T.set(n,i),i.get(t)??null}function j(e,t){if(t===`.`)return e;let n=t.slice(2).replace(/\/\*$/,``);return n?`${e}/${n}`:e}async function ae(e){let t=`${e.packageRoot}:${e.packageName}`,n=E.get(t);if(n)return n;let r=(await w(e.packageRoot))?.exports;if(!r||typeof r!=`object`||Array.isArray(r))return E.set(t,[]),[];let i=[];for(let[t,n]of Object.entries(r)){if(t!==`.`&&!t.startsWith(`./`))continue;let r=v(n);if(!r)continue;let a=j(e.packageName,t);i.push({key:t.includes(`*`)?`${a}/*`:a,aliasBase:a,target:r,emitMode:y(r),hasWildcard:t.includes(`*`),rootDir:e.packageRoot})}return E.set(t,i),i}async function oe(e,t){let n=ie(e);if(!n?.packageName)return null;let r=await A(t,n.packageName);return r?b(e,await ae(r)):null}async function se(e,t){let n=t.cwd??t.baseUrl??(0,m.getWorkspaceRoot)();if(e.startsWith(`#`)){let t=await re(e,n);if(t)return{path:t.path,source:`package_imports`,matchedAlias:t.matchedAlias,matchedTarget:t.matchedTarget,emitMode:t.emitMode}}let r=await oe(e,n);return r?{path:r.path,source:`workspace_package_exports`,matchedAlias:r.matchedAlias,matchedTarget:r.matchedTarget,emitMode:r.emitMode}:le(e,t)}function ce(e){return/^@[^/]+\/[^/]+(?:\/.*)?$/.test(e)}function le(e,t){let n=(0,te.createMatchPath)(t.baseUrl||t.cwd||(0,m.getWorkspaceRoot)(),t.paths??{})(e,void 0,()=>!0,[`.ts`,`.tsx`,`.jsx`,`.js`,`.css`]);if(!n)return null;let r=ue(e,t.paths??{});return!r&&ce(e)?null:{path:n,source:`tsconfig_paths`,matchedAlias:r?.key??e,matchedTarget:r?.target??n,emitMode:`strip_extension`}}function ue(e,t){for(let[n,r]of Object.entries(t)){let t=Array.isArray(r)?r:[r],i=x(e,n);if(i!==null)return{key:n,target:t[0]?.includes(`*`)&&i!==null?t[0].replace(/\*/g,i):t[0]}}return null}const M=`default`,N=`@/components`,P=`@/lib/utils`,F=`app/globals.css`,I=`tailwind.config.js`,L=`slate`,R=`components.json`,z={configFile:R,dotenv:!1,envName:!1,packageJson:!1,rcFile:!1,extend:!1};async function B(e){let t=e;for(;;){let e=await(0,c.loadConfig)({cwd:t,...z});if(e._configFile)return e;let n=a.default.dirname(t);if(n===t)return null;t=n}}async function V(e){let t=await G(e);return t?(t.iconLibrary||=t.style===`new-york`?`radix`:`lucide`,U(e,t)):null}const H={"@shadcn":`${g}/styles/{style}/{name}.json`};async function U(e,t){t.registries={...H,...t.registries??{}};let n=await(0,s.loadTsConfig)(e);if(!n)throw Error(`Failed to load tsconfig.json.`);let r=await W(`utils`,t.aliases.utils,e,n),i=await W(`components`,t.aliases.components,e,n),o=t.aliases.ui?await W(`ui`,t.aliases.ui,e,n):a.default.resolve(i??e,`ui`),c=t.aliases.lib?await W(`lib`,t.aliases.lib,e,n):a.default.resolve(r??e,`..`),l=t.aliases.hooks?await W(`hooks`,t.aliases.hooks,e,n):a.default.resolve(i??e,`..`,`hooks`);return de(e,{components:i,utils:r,ui:o,lib:c,hooks:l}),d.configSchema.parse({...t,resolvedPaths:{cwd:e,tailwindConfig:t.tailwind.config?a.default.resolve(e,t.tailwind.config):``,tailwindCss:a.default.resolve(e,t.tailwind.css),utils:r,components:i,ui:o,lib:c,hooks:l}})}async function W(e,t,n,i){let o=await se(t,{...i,cwd:n});if(!o?.path||t.startsWith(`#`)&&o.path===(0,r.joinPaths)(n,t))return null;if(e!==`utils`&&(o.source===`package_imports`||o.source===`workspace_package_exports`)){if(!o.matchedAlias.includes(`*`)&&/\/index\.[^/]+$/.test(o.path))return a.default.dirname(o.path);if(o.matchedAlias.includes(`*`)&&/\.[^/]+$/.test(o.path))return o.path.replace(/\.[^/]+$/,``)}return o.path}function de(e,t){let n=[`components`,`ui`,`lib`,`hooks`,`utils`].filter(e=>!t[e]);if(n.length)throw Error([`Could not resolve the following aliases in ${l.default.cyan(e)}: ${l.default.cyan(n.join(`, `))}.`,`Configure path aliases in ${l.default.cyan(`tsconfig.json`)} or imports in ${l.default.cyan(`package.json`)} for this workspace and try again.`].join(`
|
|
3
3
|
`))}async function G(e){let t;try{let n=await B(e);if(!n)return null;t=n.configFile;let r=d.rawConfigSchema.parse(n.config);if(r.registries){for(let e of Object.keys(r.registries))if(e in H)throw Error(`"${e}" is a built-in registry and cannot be overridden.`)}return r}catch(n){let r=t??`${e}/${R}`;throw n instanceof Error&&n.message.includes(`reserved registry`)?n:Error(`Invalid configuration found in ${l.default.cyan(r)}.`)}}function K(e){let t={resolvedPaths:{cwd:process.cwd(),tailwindConfig:``,tailwindCss:``,utils:``,components:``,ui:``,lib:``,hooks:``},style:``,tailwind:{config:``,css:``,baseColor:``,cssVariables:!1},rsc:!1,tsx:!0,aliases:{components:``,utils:``},registries:{...H}};return e?{...t,...e,resolvedPaths:{...t.resolvedPaths,...e.resolvedPaths??{}},tailwind:{...t.tailwind,...e.tailwind??{}},aliases:{...t.aliases,...e.aliases??{}},registries:{...t.registries,...e.registries??{}}}:t}var fe=e.t({BUILTIN_REGISTRIES:()=>H,DEFAULT_COMPONENTS:()=>N,DEFAULT_STYLE:()=>M,DEFAULT_TAILWIND_BASE_COLOR:()=>L,DEFAULT_TAILWIND_CONFIG:()=>I,DEFAULT_TAILWIND_CSS:()=>F,DEFAULT_UTILS:()=>P,createRegistryConfig:()=>K,default:()=>$,extractComponentsFromRegistry:()=>Q,getRawConfig:()=>G,getRegistryConfig:()=>V,registryItemToComponent:()=>X,registryItemsToComponents:()=>Z,resolveConfigPaths:()=>U,toDependencyRecord:()=>J});const q=new Set([`block`,`component`,`ui`,`page`]),pe=new Set([`lib`,`block`,`component`,`ui`,`hook`,`theme`,`page`,`file`,`style`,`base`,`font`,`item`]);function J(e){if(!e?.length)return;let t={};for(let n of e){let e=n.lastIndexOf(`@`);e>0?t[n.slice(0,e)]=n.slice(e+1)||`*`:t[n]=`*`}return t}function Y(e){return e.startsWith(`registry:`)?e.slice(9):e}function me(e){if(!e)return;let t=Y(e);return q.has(t)?t:void 0}function he(e){if(!e)return;let t=Y(e);return pe.has(t)?t:void 0}function ge(e){if(!e?.length)return;let t=[];for(let n of e){if(typeof n==`string`){t.push({path:n,type:`file`});continue}if(!n||typeof n!=`object`)continue;let e=n;if(!e.path)continue;let r=he(e.type)??`file`;t.push({path:e.path,type:r,...e.content?{content:e.content}:{},...e.target?{target:e.target}:{}})}return t.length>0?t:void 0}function X(e){let t=[e.description,e.docs].filter(e=>!!e?.trim()).join(`
|
|
4
4
|
|
package/dist/extract.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./extract-
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./extract-JgFClcRm.cjs");exports.BUILTIN_REGISTRIES=e.s,exports.DEFAULT_COMPONENTS=e.c,exports.DEFAULT_STYLE=e.l,exports.DEFAULT_TAILWIND_BASE_COLOR=e.u,exports.DEFAULT_TAILWIND_CONFIG=e.d,exports.DEFAULT_TAILWIND_CSS=e.f,exports.DEFAULT_UTILS=e.p,exports.createRegistryConfig=e.m,exports.default=e.n,exports.extractComponentsFromRegistry=e.t,exports.getRawConfig=e.h,exports.getRegistryConfig=e.g,exports.registryItemToComponent=e.i,exports.registryItemsToComponents=e.a,exports.resolveConfigPaths=e._,exports.toDependencyRecord=e.o;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.mjs";import{useExecution as t}from"@power-plant/core";import{definePlugin as n}from"@razorwind/core/plugin";import{joinPaths as r}from"@stryke/path/join";import{dirname as i,isAbsolute as a,join as o,relative as s,resolve as c}from"node:path";import l from"fast-glob";import{readJsonFile as u}from"@stryke/fs/json";import{readFile as d}from"node:fs/promises";import{createDocument as f,resolveSchemaIdentity as p}from"@razorwind/core/utils";import{existsSync as m}from"@stryke/fs/exists";import{parse as h}from"yaml";function g(e){let t=e.name??`acme`;return`# Installing shadcn Registry
|
|
2
|
+
|
|
3
|
+
Generated by \`@razorwind/shadcn\`.
|
|
4
|
+
|
|
5
|
+
## Files
|
|
6
|
+
|
|
7
|
+
- \`${e.configFile}\` — shadcn registry manifest (registry.json schema)
|
|
8
|
+
|
|
9
|
+
## Setup
|
|
10
|
+
|
|
11
|
+
1. Ensure \`components.json\` points at this registry URL or local path.
|
|
12
|
+
|
|
13
|
+
2. Add items from the registry:
|
|
14
|
+
|
|
15
|
+
\`\`\`bash
|
|
16
|
+
npx shadcn@latest add button --registry ./${e.configFile}
|
|
17
|
+
\`\`\`
|
|
18
|
+
|
|
19
|
+
Or publish \`${e.configFile}\` and reference it in \`components.json\`:
|
|
20
|
+
|
|
21
|
+
\`\`\`json
|
|
22
|
+
{
|
|
23
|
+
"registries": {
|
|
24
|
+
"@${t}": "./${e.configFile}"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
\`\`\`
|
|
28
|
+
|
|
29
|
+
3. Re-run Razorwind generate when Razorwind components change so the registry stays current.
|
|
30
|
+
|
|
31
|
+
## Regenerate
|
|
32
|
+
|
|
33
|
+
\`${e.configFile}\` is generated — update Razorwind schema components instead of editing by hand.
|
|
34
|
+
`}var _=e({componentToRegistryItem:()=>D,componentsToRegistryItems:()=>O,default:()=>M,fromDependencyRecord:()=>S,generateRegistryJson:()=>j,renderInstallMd:()=>g,renderRegistryJson:()=>k});function v(e,t){let n=e.slice(10);return n===`*`?t:n===`^`||n===`~`?`${n}${t}`:n}function y(e){let t=c(e);for(;;){if(m(o(t,`pnpm-workspace.yaml`)))return t;let e=i(t);if(e===t)return;t=e}}async function b(e){let t=y(e)??e,n=o(t,`pnpm-workspace.yaml`),r={};if(m(n))try{r=h(await d(n,`utf8`))??{}}catch{}let i=new Map,a=r.packages?.filter(e=>typeof e==`string`&&!e.startsWith(`!`));if(a&&a.length){let e=await l(a.map(e=>`${e.split(`\\`).join(`/`).replace(/[\\/]$/,``)}/package.json`),{cwd:t,ignore:[`**/node_modules/**`]});for(let n of e)try{let e=await u(o(t,n));e.name&&e.version&&i.set(e.name,e.version)}catch{}}return(e,t)=>{if(t.startsWith(`catalog:`)){let i=t.slice(8),a=(i?r.catalogs?.[i]:r.catalog)?.[e];if(!a)throw Error(`Unable to resolve ${t} for ${e} from ${n}.`);return a}if(t.startsWith(`workspace:`)){let n=i.get(e);if(!n)throw Error(`Unable to resolve ${t} for workspace package ${e}.`);return v(t,n)}return t}}async function x(e,t){let n=await b(t),r=e=>e?Object.fromEntries(Object.entries(e).map(([e,t])=>[e,n(e,t)])):void 0,i={};for(let[t,n]of Object.entries(e))n&&(i[t]={...n,...n.dependencies?{dependencies:r(n.dependencies)}:{},...n.devDependencies?{devDependencies:r(n.devDependencies)}:{},...n.registryDependencies?{registryDependencies:r(n.registryDependencies)}:{}});return i}function S(e){if(e&&Object.keys(e).length!==0)return Object.entries(e).map(([e,t])=>!t||t===`*`?e:`${e}@${t}`)}function C(e){switch(e){case`block`:case`component`:case`ui`:case`page`:return`registry:${e}`;case void 0:default:return`registry:component`}}function w(e){return`registry:${e}`}function T(e,t=process.cwd()){return a(e)?s(t,e):e}function E(e,t){if(e?.length)return e.map(e=>{let n=w(e.type),r={path:T(e.path,t),type:n};return e.content&&!m(e.path)&&(r.content=e.content),e.target?r.target=T(e.target,t):(n===`registry:file`||n===`registry:page`)&&(r.target=T(e.path,t)),r})}function D(e,t){let n=e.tags?.length?[...e.tags]:e.category?[e.category]:void 0,r=S(e.dependencies),i=S(e.devDependencies),a=S(e.registryDependencies),o=E(e.files,t);return{name:e.name,type:C(e.type),...e.title?{title:e.title}:{},...e.description?{description:e.description}:{},...n?{categories:n}:{},...r?{dependencies:r}:{},...i?{devDependencies:i}:{},...a?{registryDependencies:a}:{},...o?{files:o}:{}}}function O(e,t){return!e||Object.keys(e).length===0?[]:Object.values(e).filter(e=>!!e?.name).map(e=>D(e,t)).toSorted((e,t)=>e.name.localeCompare(t.name))}function k(e,t={},n){let r={$schema:`https://ui.shadcn.com/schema/registry.json`,items:O(e,n)};return t.name&&(r.name=t.name),t.homepage&&(r.homepage=t.homepage),r}async function A(e){if(e.configFile)return e.configFile;let{cwd:n}=t();return r(n,`registry.json`)}async function j(e,t={},n){if(!e.components||Object.keys(e.components).length===0)return{};let r=p(e,{name:t.name,homepage:t.homepage}),a={name:t.name??r.name,homepage:t.homepage??r.homepage},s=await A(t),c=await x(e.components,n??process.cwd()),l=`${JSON.stringify(k(c,a,n),null,2)}\n`,u=t.installGuide??g({configFile:s,name:a.name}),d=o(i(s),`INSTALL.md`);return{[s]:f(s,l,{name:`shadcn:generate`},void 0,`json`),[d]:f(d,u,{name:`shadcn:generate`},void 0,`markdown`)}}var M=n(e=>({name:`shadcn:generate`,themeGeneration:`combined`,generate:async(t,n)=>j(t,e??{},n.cwd)}));export{M as a,g as c,j as i,O as n,_ as o,S as r,k as s,D as t};
|
|
35
|
+
//# sourceMappingURL=generate-CQBpe7is.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-CQBpe7is.mjs","names":[],"sources":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-CeAMsu9A.d.cts","names":[],"sources":["../src/install.ts","../src/generate.ts"],"mappings":";;;;;;;;;iBAuBgB,gBAAgB;EAC9B;EACA;;;;;
|
|
1
|
+
{"version":3,"file":"generate-CeAMsu9A.d.cts","names":[],"sources":["../src/install.ts","../src/generate.ts"],"mappings":";;;;;;;;;iBAuBgB,gBAAgB;EAC9B;EACA;;;;;KCiBG;KAGA;UAcY;EACf;EACA,MAAM;EACN;EACA;;UAGe;EACf;EACA;EACA,MAAM;EACN;EACA;EACA;EACA;EACA;EACA,QAAQ;;UAGO;EACf;EACA;EACA;EACA,OAAO;;;;;;iBAwKO,qBACd,MAAM;;;;iBAqEQ,wBACd,WAAW,WACX,eACC;;;;iBA6Ba,0BACd,YAAY,wBACZ,eACC;;;;iBAca,mBACd,YAAY,wBACZ,UAAS,KAAK,mDACd,eACC;;;;iBAmCmB,qBACpB,MAAM,QACN,UAAS,6BACT,eACC,QAAQ,wBAAwB,QAAQ"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
const e=require("./rolldown-runtime-Chgba0Kb.cjs");let t=require("@power-plant/core"),n=require("@razorwind/core/plugin"),r=require("@stryke/path/join"),i=require("node:path"),a=require("fast-glob");a=e.n(a,1);let o=require("@stryke/fs/json"),s=require("node:fs/promises"),c=require("@razorwind/core/utils"),l=require("@stryke/fs/exists"),u=require("yaml");function d(e){let t=e.name??`acme`;return`# Installing shadcn Registry
|
|
2
|
+
|
|
3
|
+
Generated by \`@razorwind/shadcn\`.
|
|
4
|
+
|
|
5
|
+
## Files
|
|
6
|
+
|
|
7
|
+
- \`${e.configFile}\` — shadcn registry manifest (registry.json schema)
|
|
8
|
+
|
|
9
|
+
## Setup
|
|
10
|
+
|
|
11
|
+
1. Ensure \`components.json\` points at this registry URL or local path.
|
|
12
|
+
|
|
13
|
+
2. Add items from the registry:
|
|
14
|
+
|
|
15
|
+
\`\`\`bash
|
|
16
|
+
npx shadcn@latest add button --registry ./${e.configFile}
|
|
17
|
+
\`\`\`
|
|
18
|
+
|
|
19
|
+
Or publish \`${e.configFile}\` and reference it in \`components.json\`:
|
|
20
|
+
|
|
21
|
+
\`\`\`json
|
|
22
|
+
{
|
|
23
|
+
"registries": {
|
|
24
|
+
"@${t}": "./${e.configFile}"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
\`\`\`
|
|
28
|
+
|
|
29
|
+
3. Re-run Razorwind generate when Razorwind components change so the registry stays current.
|
|
30
|
+
|
|
31
|
+
## Regenerate
|
|
32
|
+
|
|
33
|
+
\`${e.configFile}\` is generated — update Razorwind schema components instead of editing by hand.
|
|
34
|
+
`}var f=e.t({componentToRegistryItem:()=>S,componentsToRegistryItems:()=>C,default:()=>D,fromDependencyRecord:()=>_,generateRegistryJson:()=>E,renderInstallMd:()=>d,renderRegistryJson:()=>w});function p(e,t){let n=e.slice(10);return n===`*`?t:n===`^`||n===`~`?`${n}${t}`:n}function m(e){let t=(0,i.resolve)(e);for(;;){if((0,l.existsSync)((0,i.join)(t,`pnpm-workspace.yaml`)))return t;let e=(0,i.dirname)(t);if(e===t)return;t=e}}async function h(e){let t=m(e)??e,n=(0,i.join)(t,`pnpm-workspace.yaml`),r={};if((0,l.existsSync)(n))try{r=(0,u.parse)(await(0,s.readFile)(n,`utf8`))??{}}catch{}let c=new Map,d=r.packages?.filter(e=>typeof e==`string`&&!e.startsWith(`!`));if(d&&d.length){let e=await(0,a.default)(d.map(e=>`${e.split(`\\`).join(`/`).replace(/[\\/]$/,``)}/package.json`),{cwd:t,ignore:[`**/node_modules/**`]});for(let n of e)try{let e=await(0,o.readJsonFile)((0,i.join)(t,n));e.name&&e.version&&c.set(e.name,e.version)}catch{}}return(e,t)=>{if(t.startsWith(`catalog:`)){let i=t.slice(8),a=(i?r.catalogs?.[i]:r.catalog)?.[e];if(!a)throw Error(`Unable to resolve ${t} for ${e} from ${n}.`);return a}if(t.startsWith(`workspace:`)){let n=c.get(e);if(!n)throw Error(`Unable to resolve ${t} for workspace package ${e}.`);return p(t,n)}return t}}async function g(e,t){let n=await h(t),r=e=>e?Object.fromEntries(Object.entries(e).map(([e,t])=>[e,n(e,t)])):void 0,i={};for(let[t,n]of Object.entries(e))n&&(i[t]={...n,...n.dependencies?{dependencies:r(n.dependencies)}:{},...n.devDependencies?{devDependencies:r(n.devDependencies)}:{},...n.registryDependencies?{registryDependencies:r(n.registryDependencies)}:{}});return i}function _(e){if(e&&Object.keys(e).length!==0)return Object.entries(e).map(([e,t])=>!t||t===`*`?e:`${e}@${t}`)}function v(e){switch(e){case`block`:case`component`:case`ui`:case`page`:return`registry:${e}`;case void 0:default:return`registry:component`}}function y(e){return`registry:${e}`}function b(e,t=process.cwd()){return(0,i.isAbsolute)(e)?(0,i.relative)(t,e):e}function x(e,t){if(e?.length)return e.map(e=>{let n=y(e.type),r={path:b(e.path,t),type:n};return e.content&&!(0,l.existsSync)(e.path)&&(r.content=e.content),e.target?r.target=b(e.target,t):(n===`registry:file`||n===`registry:page`)&&(r.target=b(e.path,t)),r})}function S(e,t){let n=e.tags?.length?[...e.tags]:e.category?[e.category]:void 0,r=_(e.dependencies),i=_(e.devDependencies),a=_(e.registryDependencies),o=x(e.files,t);return{name:e.name,type:v(e.type),...e.title?{title:e.title}:{},...e.description?{description:e.description}:{},...n?{categories:n}:{},...r?{dependencies:r}:{},...i?{devDependencies:i}:{},...a?{registryDependencies:a}:{},...o?{files:o}:{}}}function C(e,t){return!e||Object.keys(e).length===0?[]:Object.values(e).filter(e=>!!e?.name).map(e=>S(e,t)).toSorted((e,t)=>e.name.localeCompare(t.name))}function w(e,t={},n){let r={$schema:`https://ui.shadcn.com/schema/registry.json`,items:C(e,n)};return t.name&&(r.name=t.name),t.homepage&&(r.homepage=t.homepage),r}async function T(e){if(e.configFile)return e.configFile;let{cwd:n}=(0,t.useExecution)();return(0,r.joinPaths)(n,`registry.json`)}async function E(e,t={},n){if(!e.components||Object.keys(e.components).length===0)return{};let r=(0,c.resolveSchemaIdentity)(e,{name:t.name,homepage:t.homepage}),a={name:t.name??r.name,homepage:t.homepage??r.homepage},o=await T(t),s=await g(e.components,n??process.cwd()),l=`${JSON.stringify(w(s,a,n),null,2)}\n`,u=t.installGuide??d({configFile:o,name:a.name}),f=(0,i.join)((0,i.dirname)(o),`INSTALL.md`);return{[o]:(0,c.createDocument)(o,l,{name:`shadcn:generate`},void 0,`json`),[f]:(0,c.createDocument)(f,u,{name:`shadcn:generate`},void 0,`markdown`)}}var D=(0,n.definePlugin)(e=>({name:`shadcn:generate`,themeGeneration:`combined`,generate:async(t,n)=>E(t,e??{},n.cwd)}));Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return S}});
|
package/dist/generate.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./generate-
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./generate-DoidG9Vb.cjs");exports.componentToRegistryItem=e.t,exports.componentsToRegistryItems=e.n,exports.default=e.a,exports.fromDependencyRecord=e.r,exports.generateRegistryJson=e.i,exports.renderInstallMd=e.c,exports.renderRegistryJson=e.s;
|
package/dist/generate.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,c as t,i as n,n as r,r as i,s as a,t as o}from"./generate-
|
|
1
|
+
import{a as e,c as t,i as n,n as r,r as i,s as a,t as o}from"./generate-CQBpe7is.mjs";export{o as componentToRegistryItem,r as componentsToRegistryItems,e as default,i as fromDependencyRecord,n as generateRegistryJson,t as renderInstallMd,a as renderRegistryJson};
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./extract-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./extract-JgFClcRm.cjs"),t=require("./generate-DoidG9Vb.cjs");Object.defineProperty(exports,"extract",{enumerable:!0,get:function(){return e.r}}),Object.defineProperty(exports,"generate",{enumerable:!0,get:function(){return t.o}});
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./extract-DZbvJZfZ.mjs";import{o as t}from"./generate-
|
|
1
|
+
import{r as e}from"./extract-DZbvJZfZ.mjs";import{o as t}from"./generate-CQBpe7is.mjs";export{e as extract,t as generate};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@razorwind/shadcn",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.61",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Razorwind Shadcn plugin that can create Shadcn UI registry files from design tokens/components or read a Shadcn UI registry file and return the design tokens/components.",
|
|
6
6
|
"repository": {
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"dependencies": {
|
|
81
81
|
"@power-plant/core": "^0.0.92",
|
|
82
82
|
"@power-plant/dtcg-schema": "^0.0.1",
|
|
83
|
-
"@razorwind/core": "^0.0.
|
|
83
|
+
"@razorwind/core": "^0.0.65",
|
|
84
84
|
"@stryke/fs": "^0.33.116",
|
|
85
85
|
"@stryke/path": "^0.29.41",
|
|
86
86
|
"@stryke/types": "^0.12.42",
|
|
@@ -89,6 +89,7 @@
|
|
|
89
89
|
"fast-glob": "^3.3.3",
|
|
90
90
|
"shadcn": "^4.21.0",
|
|
91
91
|
"tsconfig-paths": "^4.2.0",
|
|
92
|
+
"yaml": "^2.9.0",
|
|
92
93
|
"zod": "^4.5.4"
|
|
93
94
|
},
|
|
94
95
|
"devDependencies": {
|
|
@@ -97,5 +98,5 @@
|
|
|
97
98
|
"typescript": "^6.0.3"
|
|
98
99
|
},
|
|
99
100
|
"publishConfig": { "access": "public" },
|
|
100
|
-
"gitHead": "
|
|
101
|
+
"gitHead": "cca0042f54a031849f4ea8cdca92a71fdb0d8dc9"
|
|
101
102
|
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
const e=require("./rolldown-runtime-Chgba0Kb.cjs");let t=require("@power-plant/core"),n=require("@razorwind/core/plugin"),r=require("@stryke/path/join"),i=require("node:path"),a=require("@razorwind/core/utils"),o=require("@stryke/fs/exists");function s(e){let t=e.name??`acme`;return`# Installing shadcn Registry
|
|
2
|
-
|
|
3
|
-
Generated by \`@razorwind/shadcn\`.
|
|
4
|
-
|
|
5
|
-
## Files
|
|
6
|
-
|
|
7
|
-
- \`${e.configFile}\` — shadcn registry manifest (registry.json schema)
|
|
8
|
-
|
|
9
|
-
## Setup
|
|
10
|
-
|
|
11
|
-
1. Ensure \`components.json\` points at this registry URL or local path.
|
|
12
|
-
|
|
13
|
-
2. Add items from the registry:
|
|
14
|
-
|
|
15
|
-
\`\`\`bash
|
|
16
|
-
npx shadcn@latest add button --registry ./${e.configFile}
|
|
17
|
-
\`\`\`
|
|
18
|
-
|
|
19
|
-
Or publish \`${e.configFile}\` and reference it in \`components.json\`:
|
|
20
|
-
|
|
21
|
-
\`\`\`json
|
|
22
|
-
{
|
|
23
|
-
"registries": {
|
|
24
|
-
"@${t}": "./${e.configFile}"
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
\`\`\`
|
|
28
|
-
|
|
29
|
-
3. Re-run Razorwind generate when Razorwind components change so the registry stays current.
|
|
30
|
-
|
|
31
|
-
## Regenerate
|
|
32
|
-
|
|
33
|
-
\`${e.configFile}\` is generated — update Razorwind schema components instead of editing by hand.
|
|
34
|
-
`}var c=e.t({componentToRegistryItem:()=>m,componentsToRegistryItems:()=>h,default:()=>y,fromDependencyRecord:()=>l,generateRegistryJson:()=>v,renderInstallMd:()=>s,renderRegistryJson:()=>g});function l(e){if(e&&Object.keys(e).length!==0)return Object.entries(e).map(([e,t])=>!t||t===`*`?e:`${e}@${t}`)}function u(e){switch(e){case`block`:case`component`:case`ui`:case`page`:return`registry:${e}`;case void 0:default:return`registry:component`}}function d(e){return`registry:${e}`}function f(e,t=process.cwd()){return(0,i.isAbsolute)(e)?(0,i.relative)(t,e):e}function p(e,t){if(e?.length)return e.map(e=>{let n=d(e.type),r={path:f(e.path,t),type:n};return e.content&&!(0,o.existsSync)(e.path)&&(r.content=e.content),e.target?r.target=f(e.target,t):(n===`registry:file`||n===`registry:page`)&&(r.target=f(e.path,t)),r})}function m(e,t){let n=e.tags?.length?[...e.tags]:e.category?[e.category]:void 0,r=l(e.dependencies),i=l(e.devDependencies),a=l(e.registryDependencies),o=p(e.files,t);return{name:e.name,type:u(e.type),...e.title?{title:e.title}:{},...e.description?{description:e.description}:{},...n?{categories:n}:{},...r?{dependencies:r}:{},...i?{devDependencies:i}:{},...a?{registryDependencies:a}:{},...o?{files:o}:{}}}function h(e,t){return!e||Object.keys(e).length===0?[]:Object.values(e).filter(e=>!!e?.name).map(e=>m(e,t)).toSorted((e,t)=>e.name.localeCompare(t.name))}function g(e,t={},n){let r={$schema:`https://ui.shadcn.com/schema/registry.json`,items:h(e,n)};return t.name&&(r.name=t.name),t.homepage&&(r.homepage=t.homepage),r}async function _(e){if(e.configFile)return e.configFile;let{cwd:n}=(0,t.useExecution)();return(0,r.joinPaths)(n,`registry.json`)}async function v(e,t={},n){if(!e.components||Object.keys(e.components).length===0)return{};let r=(0,a.resolveSchemaIdentity)(e,{name:t.name,homepage:t.homepage}),o={name:t.name??r.name,homepage:t.homepage??r.homepage},c=await _(t),l=`${JSON.stringify(g(e.components,o,n),null,2)}\n`,u=t.installGuide??s({configFile:c,name:o.name}),d=(0,i.join)((0,i.dirname)(c),`INSTALL.md`);return{[c]:(0,a.createDocument)(c,l,{name:`shadcn:generate`},void 0,`json`),[d]:(0,a.createDocument)(d,u,{name:`shadcn:generate`},void 0,`markdown`)}}var y=(0,n.definePlugin)(e=>({name:`shadcn:generate`,themeGeneration:`combined`,generate:async(t,n)=>v(t,e??{},n.cwd)}));Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return m}});
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DK3Fl9T5.mjs";import{useExecution as t}from"@power-plant/core";import{definePlugin as n}from"@razorwind/core/plugin";import{joinPaths as r}from"@stryke/path/join";import{dirname as i,isAbsolute as a,join as o,relative as s}from"node:path";import{createDocument as c,resolveSchemaIdentity as l}from"@razorwind/core/utils";import{existsSync as u}from"@stryke/fs/exists";function d(e){let t=e.name??`acme`;return`# Installing shadcn Registry
|
|
2
|
-
|
|
3
|
-
Generated by \`@razorwind/shadcn\`.
|
|
4
|
-
|
|
5
|
-
## Files
|
|
6
|
-
|
|
7
|
-
- \`${e.configFile}\` — shadcn registry manifest (registry.json schema)
|
|
8
|
-
|
|
9
|
-
## Setup
|
|
10
|
-
|
|
11
|
-
1. Ensure \`components.json\` points at this registry URL or local path.
|
|
12
|
-
|
|
13
|
-
2. Add items from the registry:
|
|
14
|
-
|
|
15
|
-
\`\`\`bash
|
|
16
|
-
npx shadcn@latest add button --registry ./${e.configFile}
|
|
17
|
-
\`\`\`
|
|
18
|
-
|
|
19
|
-
Or publish \`${e.configFile}\` and reference it in \`components.json\`:
|
|
20
|
-
|
|
21
|
-
\`\`\`json
|
|
22
|
-
{
|
|
23
|
-
"registries": {
|
|
24
|
-
"@${t}": "./${e.configFile}"
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
\`\`\`
|
|
28
|
-
|
|
29
|
-
3. Re-run Razorwind generate when Razorwind components change so the registry stays current.
|
|
30
|
-
|
|
31
|
-
## Regenerate
|
|
32
|
-
|
|
33
|
-
\`${e.configFile}\` is generated — update Razorwind schema components instead of editing by hand.
|
|
34
|
-
`}var f=e({componentToRegistryItem:()=>v,componentsToRegistryItems:()=>y,default:()=>C,fromDependencyRecord:()=>p,generateRegistryJson:()=>S,renderInstallMd:()=>d,renderRegistryJson:()=>b});function p(e){if(e&&Object.keys(e).length!==0)return Object.entries(e).map(([e,t])=>!t||t===`*`?e:`${e}@${t}`)}function m(e){switch(e){case`block`:case`component`:case`ui`:case`page`:return`registry:${e}`;case void 0:default:return`registry:component`}}function h(e){return`registry:${e}`}function g(e,t=process.cwd()){return a(e)?s(t,e):e}function _(e,t){if(e?.length)return e.map(e=>{let n=h(e.type),r={path:g(e.path,t),type:n};return e.content&&!u(e.path)&&(r.content=e.content),e.target?r.target=g(e.target,t):(n===`registry:file`||n===`registry:page`)&&(r.target=g(e.path,t)),r})}function v(e,t){let n=e.tags?.length?[...e.tags]:e.category?[e.category]:void 0,r=p(e.dependencies),i=p(e.devDependencies),a=p(e.registryDependencies),o=_(e.files,t);return{name:e.name,type:m(e.type),...e.title?{title:e.title}:{},...e.description?{description:e.description}:{},...n?{categories:n}:{},...r?{dependencies:r}:{},...i?{devDependencies:i}:{},...a?{registryDependencies:a}:{},...o?{files:o}:{}}}function y(e,t){return!e||Object.keys(e).length===0?[]:Object.values(e).filter(e=>!!e?.name).map(e=>v(e,t)).toSorted((e,t)=>e.name.localeCompare(t.name))}function b(e,t={},n){let r={$schema:`https://ui.shadcn.com/schema/registry.json`,items:y(e,n)};return t.name&&(r.name=t.name),t.homepage&&(r.homepage=t.homepage),r}async function x(e){if(e.configFile)return e.configFile;let{cwd:n}=t();return r(n,`registry.json`)}async function S(e,t={},n){if(!e.components||Object.keys(e.components).length===0)return{};let r=l(e,{name:t.name,homepage:t.homepage}),a={name:t.name??r.name,homepage:t.homepage??r.homepage},s=await x(t),u=`${JSON.stringify(b(e.components,a,n),null,2)}\n`,f=t.installGuide??d({configFile:s,name:a.name}),p=o(i(s),`INSTALL.md`);return{[s]:c(s,u,{name:`shadcn:generate`},void 0,`json`),[p]:c(p,f,{name:`shadcn:generate`},void 0,`markdown`)}}var C=n(e=>({name:`shadcn:generate`,themeGeneration:`combined`,generate:async(t,n)=>S(t,e??{},n.cwd)}));export{C as a,d as c,S as i,y as n,f as o,p as r,b as s,v as t};
|
|
35
|
-
//# sourceMappingURL=generate-BX2jMrEG.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate-BX2jMrEG.mjs","names":[],"sources":[],"mappings":""}
|