@razorwind/shadcn 0.0.61 → 0.0.63

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/README.md CHANGED
@@ -5,9 +5,9 @@
5
5
 
6
6
  <div align="center">
7
7
  <picture>
8
- <source media="(prefers-color-scheme: dark)" srcset="https://public.storm-cdn.com/razorwind/media/banner-1280x640-dark.gif">
9
- <source media="(prefers-color-scheme: light)" srcset="https://public.storm-cdn.com/razorwind/media/banner-1280x640-light.gif">
10
- <img src="https://public.storm-cdn.com/razorwind/media/banner-1280x640-dark.gif" width="100%" alt="Razorwind" />
8
+ <source media="(prefers-color-scheme: dark)" srcset="https://public.storm-cdn.com/razorwind/media/banner-1280x427-dark.gif">
9
+ <source media="(prefers-color-scheme: light)" srcset="https://public.storm-cdn.com/razorwind/media/banner-1280x427-light.gif">
10
+ <img src="https://public.storm-cdn.com/razorwind/media/banner-1280x427-dark.gif" width="100%" alt="Razorwind" />
11
11
  </picture>
12
12
  </div>
13
13
  <br />
@@ -0,0 +1,5 @@
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=/* @__PURE__ */ 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=/* @__PURE__ */ new Map,E=/* @__PURE__ */ new Map;function D(e){let t=[],n=!1,r=0;for(let i of e.split(`
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=/* @__PURE__ */ 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
+ `))}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=/* @__PURE__ */ 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=/* @__PURE__ */ new Set([`block`,`component`,`ui`,`page`]),pe=/* @__PURE__ */ 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
+
5
+ `),n=me(e.type),r=ge(e.files),i=J(e.dependencies),a=J(e.devDependencies),o=J(e.registryDependencies);return{name:e.name,title:e.title?.trim()||e.name,...n?{type:n}:{},...e.categories?.[0]?{category:e.categories[0]}:{},...e.categories?.length?{tags:[...e.categories]}:{},...t?{description:t}:{},...i?{dependencies:i}:{},...a?{devDependencies:a}:{},...o?{registryDependencies:o}:{},...r?{files:r}:{}}}function Z(e){if(!e?.length)return{};let t={};for(let n of e)n?.name&&(t[n.name]=X(n));return t}function _e(e){return(0,i.existsSync)(e)&&(0,i.statSync)(e).isFile()?{cwd:(0,a.dirname)(e),registryFile:(0,a.basename)(e)}:{cwd:e}}async function Q(e){try{return Z((await(0,o.loadRegistry)(_e(e))).items)}catch{return{}}}var $=(0,n.definePlugin)(e=>({name:`shadcn:extract`,extract:async n=>{if(n.components&&Object.keys(n.components).length>0)return n;let i=e?.configFile;if(!i){let{cwd:e}=(0,t.useExecution)();i=(0,r.joinPaths)(e,`registry.json`)}let a=await Q(i);return{...n,components:a}}}));Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return L}});
@@ -0,0 +1,6 @@
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{existsSync as i,statSync as a}from"node:fs";import o,{basename as s,dirname as c}from"node:path";import{loadRegistry as l}from"shadcn/registry";import{loadTsConfig as u}from"@stryke/fs/tsconfig";import{loadConfig as d}from"c12";import f from"chalk";import ee from"fast-glob";import{configSchema as p,rawConfigSchema as m}from"shadcn/schema";import"shadcn/preset";import{readJsonFile as h}from"@stryke/fs/json";import{readFile as g}from"@stryke/fs/read-file";import{z as _}from"zod";import"@stryke/http/fetch";import"@stryke/url/helpers";import{getWorkspaceRoot as v}from"@stryke/fs/get-workspace-root";import{createMatchPath as te}from"tsconfig-paths";import{isAbsolute as ne}from"@stryke/path/is-type";const y=process.env.REGISTRY_URL??`https://ui.shadcn.com/r`,b=y.replace(/\/r\/?$/,``);`${b}`,`${b}`,`${b}`,`${b}`,`${b}`,`${b}`,`${b}`,`${b}`,`${b}`,`${b}`,`${b}`;function x(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 S(e){if(!e.includes(`*`))return`strip_extension`;let t=e.slice(e.indexOf(`*`)+1);return t&&/^\.[^/]+$/.test(t)?`strip_extension`:`preserve_extension`}function C(e,t){let n=t.find(t=>!t.hasWildcard&&t.key===e);if(n)return{path:o.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=w(e,t.key,{allowBareAliasBase:!0});if(n!==null)return{path:o.resolve(t.rootDir,T(t.target,n)),matchedAlias:t.key,matchedTarget:t.target,emitMode:t.emitMode}}return null}function w(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 T(e,t){if(!e.includes(`*`))return e;let[n,r=``]=e.split(`*`);return t?n?`${n}${t}${r}`:t:n?n.replace(/\/$/,``):``}const E=/* @__PURE__ */ new Map;async function re(e){let t=o.resolve(e),n=E.get(t);if(n)return n;let r=(await D(e))?.imports;if(!r||typeof r!=`object`||Array.isArray(r))return E.set(t,[]),[];let i=[];for(let[e,n]of Object.entries(r)){if(!e.startsWith(`#`))continue;let r=x(n);r&&i.push({key:e,aliasBase:e===`#*`?`#`:e.endsWith(`/*`)?e.slice(0,-2):e,target:r,emitMode:S(r),hasWildcard:e.includes(`*`),rootDir:t})}return E.set(t,i),i}async function ie(e,t){return C(e,await re(t))}async function D(e=``){let t=o.join(e,`package.json`);return h(t)}_.object({compilerOptions:_.object({paths:_.record(_.string(),_.string().or(_.array(_.string())))})});function ae(e){if(e.startsWith(`#`)||e.startsWith(`.`)||ne(e))return null;let t=e.split(`/`);return e.startsWith(`@`)?t.length<2?null:{packageName:`${t[0]}/${t[1]}`}:{packageName:t[0]}}const O=/* @__PURE__ */ new Map,k=/* @__PURE__ */ new Map;function oe(e){let t=[],n=!1,r=0;for(let i of e.split(`
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 se(e){let t=[],n=o.resolve(e,`pnpm-workspace.yaml`);if(i(n)){let e=await g(n);t.push(...oe(e))}let a=r(e,`package.json`);if(i(a))try{let e=(await h(a)).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 ce(e){let t=await se(e),n=/* @__PURE__ */ new Map;if(!t.length)return n;let r=await ee(t.map(e=>o.posix.join(e.split(o.sep).join(`/`),`package.json`)),{cwd:e,ignore:[`**/node_modules/**`]});for(let t of r){let r=o.resolve(e,o.dirname(t)),i=(await D(r))?.name;i&&n.set(i,{packageName:i,packageRoot:r})}return n}async function le(e,t){let n=v(e);if(!n)return null;let r=O.get(n);if(r?.has(t))return r.get(t)??null;let i=await ce(n);return O.set(n,i),i.get(t)??null}function ue(e,t){if(t===`.`)return e;let n=t.slice(2).replace(/\/\*$/,``);return n?`${e}/${n}`:e}async function de(e){let t=`${e.packageRoot}:${e.packageName}`,n=k.get(t);if(n)return n;let r=(await D(e.packageRoot))?.exports;if(!r||typeof r!=`object`||Array.isArray(r))return k.set(t,[]),[];let i=[];for(let[t,n]of Object.entries(r)){if(t!==`.`&&!t.startsWith(`./`))continue;let r=x(n);if(!r)continue;let a=ue(e.packageName,t);i.push({key:t.includes(`*`)?`${a}/*`:a,aliasBase:a,target:r,emitMode:S(r),hasWildcard:t.includes(`*`),rootDir:e.packageRoot})}return k.set(t,i),i}async function fe(e,t){let n=ae(e);if(!n?.packageName)return null;let r=await le(t,n.packageName);return r?C(e,await de(r)):null}async function pe(e,t){let n=t.cwd??t.baseUrl??v();if(e.startsWith(`#`)){let t=await ie(e,n);if(t)return{path:t.path,source:`package_imports`,matchedAlias:t.matchedAlias,matchedTarget:t.matchedTarget,emitMode:t.emitMode}}let r=await fe(e,n);return r?{path:r.path,source:`workspace_package_exports`,matchedAlias:r.matchedAlias,matchedTarget:r.matchedTarget,emitMode:r.emitMode}:j(e,t)}function A(e){return/^@[^/]+\/[^/]+(?:\/.*)?$/.test(e)}function j(e,t){let n=te(t.baseUrl||t.cwd||v(),t.paths??{})(e,void 0,()=>!0,[`.ts`,`.tsx`,`.jsx`,`.js`,`.css`]);if(!n)return null;let r=M(e,t.paths??{});return!r&&A(e)?null:{path:n,source:`tsconfig_paths`,matchedAlias:r?.key??e,matchedTarget:r?.target??n,emitMode:`strip_extension`}}function M(e,t){for(let[n,r]of Object.entries(t)){let t=Array.isArray(r)?r:[r],i=w(e,n);if(i!==null)return{key:n,target:t[0]?.includes(`*`)&&i!==null?t[0].replace(/\*/g,i):t[0]}}return null}const N=`default`,P=`@/components`,F=`@/lib/utils`,I=`app/globals.css`,L=`tailwind.config.js`,R=`slate`,z=`components.json`,B={configFile:z,dotenv:!1,envName:!1,packageJson:!1,rcFile:!1,extend:!1};async function me(e){let t=e;for(;;){let e=await d({cwd:t,...B});if(e._configFile)return e;let n=o.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":`${y}/styles/{style}/{name}.json`};async function U(e,t){t.registries={...H,...t.registries??{}};let n=await u(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),a=t.aliases.ui?await W(`ui`,t.aliases.ui,e,n):o.resolve(i??e,`ui`),s=t.aliases.lib?await W(`lib`,t.aliases.lib,e,n):o.resolve(r??e,`..`),c=t.aliases.hooks?await W(`hooks`,t.aliases.hooks,e,n):o.resolve(i??e,`..`,`hooks`);return he(e,{components:i,utils:r,ui:a,lib:s,hooks:c}),p.parse({...t,resolvedPaths:{cwd:e,tailwindConfig:t.tailwind.config?o.resolve(e,t.tailwind.config):``,tailwindCss:o.resolve(e,t.tailwind.css),utils:r,components:i,ui:a,lib:s,hooks:c}})}async function W(e,t,n,i){let a=await pe(t,{...i,cwd:n});if(!a?.path||t.startsWith(`#`)&&a.path===r(n,t))return null;if(e!==`utils`&&(a.source===`package_imports`||a.source===`workspace_package_exports`)){if(!a.matchedAlias.includes(`*`)&&/\/index\.[^/]+$/.test(a.path))return o.dirname(a.path);if(a.matchedAlias.includes(`*`)&&/\.[^/]+$/.test(a.path))return a.path.replace(/\.[^/]+$/,``)}return a.path}function he(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 ${f.cyan(e)}: ${f.cyan(n.join(`, `))}.`,`Configure path aliases in ${f.cyan(`tsconfig.json`)} or imports in ${f.cyan(`package.json`)} for this workspace and try again.`].join(`
3
+ `))}async function G(e){let t;try{let n=await me(e);if(!n)return null;t=n.configFile;let r=m.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}/${z}`;throw n instanceof Error&&n.message.includes(`reserved registry`)?n:Error(`Invalid configuration found in ${f.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 ge=/* @__PURE__ */ e({BUILTIN_REGISTRIES:()=>H,DEFAULT_COMPONENTS:()=>P,DEFAULT_STYLE:()=>N,DEFAULT_TAILWIND_BASE_COLOR:()=>R,DEFAULT_TAILWIND_CONFIG:()=>L,DEFAULT_TAILWIND_CSS:()=>I,DEFAULT_UTILS:()=>F,createRegistryConfig:()=>K,default:()=>$,extractComponentsFromRegistry:()=>Q,getRawConfig:()=>G,getRegistryConfig:()=>V,registryItemToComponent:()=>X,registryItemsToComponents:()=>Z,resolveConfigPaths:()=>U,toDependencyRecord:()=>q});const _e=/* @__PURE__ */ new Set([`block`,`component`,`ui`,`page`]),ve=/* @__PURE__ */ new Set([`lib`,`block`,`component`,`ui`,`hook`,`theme`,`page`,`file`,`style`,`base`,`font`,`item`]);function q(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 J(e){return e.startsWith(`registry:`)?e.slice(9):e}function ye(e){if(!e)return;let t=J(e);return _e.has(t)?t:void 0}function be(e){if(!e)return;let t=J(e);return ve.has(t)?t:void 0}function Y(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=be(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
+
5
+ `),n=ye(e.type),r=Y(e.files),i=q(e.dependencies),a=q(e.devDependencies),o=q(e.registryDependencies);return{name:e.name,title:e.title?.trim()||e.name,...n?{type:n}:{},...e.categories?.[0]?{category:e.categories[0]}:{},...e.categories?.length?{tags:[...e.categories]}:{},...t?{description:t}:{},...i?{dependencies:i}:{},...a?{devDependencies:a}:{},...o?{registryDependencies:o}:{},...r?{files:r}:{}}}function Z(e){if(!e?.length)return{};let t={};for(let n of e)n?.name&&(t[n.name]=X(n));return t}function xe(e){return i(e)&&a(e).isFile()?{cwd:c(e),registryFile:s(e)}:{cwd:e}}async function Q(e){try{return Z((await l(xe(e))).items)}catch{return{}}}var $=n(e=>({name:`shadcn:extract`,extract:async n=>{if(n.components&&Object.keys(n.components).length>0)return n;let i=e?.configFile;if(!i){let{cwd:e}=t();i=r(e,`registry.json`)}let a=await Q(i);return{...n,components:a}}}));export{U as _,Z as a,P as c,L as d,I as f,V as g,G as h,X as i,N as l,K as m,$ as n,q as o,F as p,ge as r,H as s,Q as t,R as u};
6
+ //# sourceMappingURL=extract-Cq6P6fUp.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-Cq6P6fUp.mjs","names":[],"sources":[],"mappings":""}
package/dist/extract.cjs CHANGED
@@ -1 +1 @@
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;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./extract-B_N0NRI0.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;
package/dist/extract.mjs CHANGED
@@ -1 +1 @@
1
- import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,m as l,n as u,o as d,p as f,s as p,t as m,u as h}from"./extract-DZbvJZfZ.mjs";export{p as BUILTIN_REGISTRIES,n as DEFAULT_COMPONENTS,c as DEFAULT_STYLE,h as DEFAULT_TAILWIND_BASE_COLOR,r as DEFAULT_TAILWIND_CONFIG,i as DEFAULT_TAILWIND_CSS,f as DEFAULT_UTILS,l as createRegistryConfig,u as default,m as extractComponentsFromRegistry,o as getRawConfig,a as getRegistryConfig,s as registryItemToComponent,t as registryItemsToComponents,e as resolveConfigPaths,d as toDependencyRecord};
1
+ import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,m as l,n as u,o as d,p as f,s as p,t as m,u as h}from"./extract-Cq6P6fUp.mjs";export{p as BUILTIN_REGISTRIES,n as DEFAULT_COMPONENTS,c as DEFAULT_STYLE,h as DEFAULT_TAILWIND_BASE_COLOR,r as DEFAULT_TAILWIND_CONFIG,i as DEFAULT_TAILWIND_CSS,f as DEFAULT_UTILS,l as createRegistryConfig,u as default,m as extractComponentsFromRegistry,o as getRawConfig,a as getRegistryConfig,s as registryItemToComponent,t as registryItemsToComponents,e as resolveConfigPaths,d as toDependencyRecord};
@@ -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=/* @__PURE__ */ 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=/* @__PURE__ */ 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}});
@@ -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 _=/* @__PURE__ */ 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=/* @__PURE__ */ 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-DjuX7y1I.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-DjuX7y1I.mjs","names":[],"sources":[],"mappings":""}
package/dist/generate.cjs CHANGED
@@ -1 +1 @@
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;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./generate-B6rz-KUH.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-CQBpe7is.mjs";export{o as componentToRegistryItem,r as componentsToRegistryItems,e as default,i as fromDependencyRecord,n as generateRegistryJson,t as renderInstallMd,a as renderRegistryJson};
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-DjuX7y1I.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-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}});
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./extract-B_N0NRI0.cjs"),t=require("./generate-B6rz-KUH.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-CQBpe7is.mjs";export{e as extract,t as generate};
1
+ import{r as e}from"./extract-Cq6P6fUp.mjs";import{o as t}from"./generate-DjuX7y1I.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.61",
3
+ "version": "0.0.63",
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": {
@@ -78,9 +78,9 @@
78
78
  "types": "./dist/index.d.cts",
79
79
  "typings": "dist/index.d.mts",
80
80
  "dependencies": {
81
- "@power-plant/core": "^0.0.92",
81
+ "@power-plant/core": "^0.0.93",
82
82
  "@power-plant/dtcg-schema": "^0.0.1",
83
- "@razorwind/core": "^0.0.65",
83
+ "@razorwind/core": "^0.0.67",
84
84
  "@stryke/fs": "^0.33.116",
85
85
  "@stryke/path": "^0.29.41",
86
86
  "@stryke/types": "^0.12.42",
@@ -89,14 +89,14 @@
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",
93
- "zod": "^4.5.4"
92
+ "yaml": "^2.9.1",
93
+ "zod": "^4.6.5"
94
94
  },
95
95
  "devDependencies": {
96
- "@powerlines/plugin-tsdown": "^0.1.613",
97
- "@types/node": "^25.9.5",
96
+ "@powerlines/plugin-tsdown": "^0.1.614",
97
+ "@types/node": "^25.9.7",
98
98
  "typescript": "^6.0.3"
99
99
  },
100
100
  "publishConfig": { "access": "public" },
101
- "gitHead": "cca0042f54a031849f4ea8cdca92a71fdb0d8dc9"
101
+ "gitHead": "4019659e69d2df75af04fe923c65aa8d45adca05"
102
102
  }
@@ -1,6 +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{existsSync as i,statSync as a}from"node:fs";import o,{basename as s,dirname as c}from"node:path";import{loadRegistry as l}from"shadcn/registry";import{loadTsConfig as u}from"@stryke/fs/tsconfig";import{loadConfig as d}from"c12";import f from"chalk";import ee from"fast-glob";import{configSchema as p,rawConfigSchema as m}from"shadcn/schema";import"shadcn/preset";import{readJsonFile as h}from"@stryke/fs/json";import{readFile as g}from"@stryke/fs/read-file";import{z as _}from"zod";import"@stryke/http/fetch";import"@stryke/url/helpers";import{getWorkspaceRoot as v}from"@stryke/fs/get-workspace-root";import{createMatchPath as te}from"tsconfig-paths";import{isAbsolute as ne}from"@stryke/path/is-type";const y=process.env.REGISTRY_URL??`https://ui.shadcn.com/r`,b=y.replace(/\/r\/?$/,``);`${b}`,`${b}`,`${b}`,`${b}`,`${b}`,`${b}`,`${b}`,`${b}`,`${b}`,`${b}`,`${b}`;function x(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 S(e){if(!e.includes(`*`))return`strip_extension`;let t=e.slice(e.indexOf(`*`)+1);return t&&/^\.[^/]+$/.test(t)?`strip_extension`:`preserve_extension`}function C(e,t){let n=t.find(t=>!t.hasWildcard&&t.key===e);if(n)return{path:o.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=w(e,t.key,{allowBareAliasBase:!0});if(n!==null)return{path:o.resolve(t.rootDir,T(t.target,n)),matchedAlias:t.key,matchedTarget:t.target,emitMode:t.emitMode}}return null}function w(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 T(e,t){if(!e.includes(`*`))return e;let[n,r=``]=e.split(`*`);return t?n?`${n}${t}${r}`:t:n?n.replace(/\/$/,``):``}const E=new Map;async function re(e){let t=o.resolve(e),n=E.get(t);if(n)return n;let r=(await D(e))?.imports;if(!r||typeof r!=`object`||Array.isArray(r))return E.set(t,[]),[];let i=[];for(let[e,n]of Object.entries(r)){if(!e.startsWith(`#`))continue;let r=x(n);r&&i.push({key:e,aliasBase:e===`#*`?`#`:e.endsWith(`/*`)?e.slice(0,-2):e,target:r,emitMode:S(r),hasWildcard:e.includes(`*`),rootDir:t})}return E.set(t,i),i}async function ie(e,t){return C(e,await re(t))}async function D(e=``){let t=o.join(e,`package.json`);return h(t)}_.object({compilerOptions:_.object({paths:_.record(_.string(),_.string().or(_.array(_.string())))})});function ae(e){if(e.startsWith(`#`)||e.startsWith(`.`)||ne(e))return null;let t=e.split(`/`);return e.startsWith(`@`)?t.length<2?null:{packageName:`${t[0]}/${t[1]}`}:{packageName:t[0]}}const O=new Map,k=new Map;function oe(e){let t=[],n=!1,r=0;for(let i of e.split(`
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 se(e){let t=[],n=o.resolve(e,`pnpm-workspace.yaml`);if(i(n)){let e=await g(n);t.push(...oe(e))}let a=r(e,`package.json`);if(i(a))try{let e=(await h(a)).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 ce(e){let t=await se(e),n=new Map;if(!t.length)return n;let r=await ee(t.map(e=>o.posix.join(e.split(o.sep).join(`/`),`package.json`)),{cwd:e,ignore:[`**/node_modules/**`]});for(let t of r){let r=o.resolve(e,o.dirname(t)),i=(await D(r))?.name;i&&n.set(i,{packageName:i,packageRoot:r})}return n}async function le(e,t){let n=v(e);if(!n)return null;let r=O.get(n);if(r?.has(t))return r.get(t)??null;let i=await ce(n);return O.set(n,i),i.get(t)??null}function ue(e,t){if(t===`.`)return e;let n=t.slice(2).replace(/\/\*$/,``);return n?`${e}/${n}`:e}async function de(e){let t=`${e.packageRoot}:${e.packageName}`,n=k.get(t);if(n)return n;let r=(await D(e.packageRoot))?.exports;if(!r||typeof r!=`object`||Array.isArray(r))return k.set(t,[]),[];let i=[];for(let[t,n]of Object.entries(r)){if(t!==`.`&&!t.startsWith(`./`))continue;let r=x(n);if(!r)continue;let a=ue(e.packageName,t);i.push({key:t.includes(`*`)?`${a}/*`:a,aliasBase:a,target:r,emitMode:S(r),hasWildcard:t.includes(`*`),rootDir:e.packageRoot})}return k.set(t,i),i}async function fe(e,t){let n=ae(e);if(!n?.packageName)return null;let r=await le(t,n.packageName);return r?C(e,await de(r)):null}async function pe(e,t){let n=t.cwd??t.baseUrl??v();if(e.startsWith(`#`)){let t=await ie(e,n);if(t)return{path:t.path,source:`package_imports`,matchedAlias:t.matchedAlias,matchedTarget:t.matchedTarget,emitMode:t.emitMode}}let r=await fe(e,n);return r?{path:r.path,source:`workspace_package_exports`,matchedAlias:r.matchedAlias,matchedTarget:r.matchedTarget,emitMode:r.emitMode}:j(e,t)}function A(e){return/^@[^/]+\/[^/]+(?:\/.*)?$/.test(e)}function j(e,t){let n=te(t.baseUrl||t.cwd||v(),t.paths??{})(e,void 0,()=>!0,[`.ts`,`.tsx`,`.jsx`,`.js`,`.css`]);if(!n)return null;let r=M(e,t.paths??{});return!r&&A(e)?null:{path:n,source:`tsconfig_paths`,matchedAlias:r?.key??e,matchedTarget:r?.target??n,emitMode:`strip_extension`}}function M(e,t){for(let[n,r]of Object.entries(t)){let t=Array.isArray(r)?r:[r],i=w(e,n);if(i!==null)return{key:n,target:t[0]?.includes(`*`)&&i!==null?t[0].replace(/\*/g,i):t[0]}}return null}const N=`default`,P=`@/components`,F=`@/lib/utils`,I=`app/globals.css`,L=`tailwind.config.js`,R=`slate`,z=`components.json`,B={configFile:z,dotenv:!1,envName:!1,packageJson:!1,rcFile:!1,extend:!1};async function me(e){let t=e;for(;;){let e=await d({cwd:t,...B});if(e._configFile)return e;let n=o.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":`${y}/styles/{style}/{name}.json`};async function U(e,t){t.registries={...H,...t.registries??{}};let n=await u(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),a=t.aliases.ui?await W(`ui`,t.aliases.ui,e,n):o.resolve(i??e,`ui`),s=t.aliases.lib?await W(`lib`,t.aliases.lib,e,n):o.resolve(r??e,`..`),c=t.aliases.hooks?await W(`hooks`,t.aliases.hooks,e,n):o.resolve(i??e,`..`,`hooks`);return he(e,{components:i,utils:r,ui:a,lib:s,hooks:c}),p.parse({...t,resolvedPaths:{cwd:e,tailwindConfig:t.tailwind.config?o.resolve(e,t.tailwind.config):``,tailwindCss:o.resolve(e,t.tailwind.css),utils:r,components:i,ui:a,lib:s,hooks:c}})}async function W(e,t,n,i){let a=await pe(t,{...i,cwd:n});if(!a?.path||t.startsWith(`#`)&&a.path===r(n,t))return null;if(e!==`utils`&&(a.source===`package_imports`||a.source===`workspace_package_exports`)){if(!a.matchedAlias.includes(`*`)&&/\/index\.[^/]+$/.test(a.path))return o.dirname(a.path);if(a.matchedAlias.includes(`*`)&&/\.[^/]+$/.test(a.path))return a.path.replace(/\.[^/]+$/,``)}return a.path}function he(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 ${f.cyan(e)}: ${f.cyan(n.join(`, `))}.`,`Configure path aliases in ${f.cyan(`tsconfig.json`)} or imports in ${f.cyan(`package.json`)} for this workspace and try again.`].join(`
3
- `))}async function G(e){let t;try{let n=await me(e);if(!n)return null;t=n.configFile;let r=m.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}/${z}`;throw n instanceof Error&&n.message.includes(`reserved registry`)?n:Error(`Invalid configuration found in ${f.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 ge=e({BUILTIN_REGISTRIES:()=>H,DEFAULT_COMPONENTS:()=>P,DEFAULT_STYLE:()=>N,DEFAULT_TAILWIND_BASE_COLOR:()=>R,DEFAULT_TAILWIND_CONFIG:()=>L,DEFAULT_TAILWIND_CSS:()=>I,DEFAULT_UTILS:()=>F,createRegistryConfig:()=>K,default:()=>$,extractComponentsFromRegistry:()=>Q,getRawConfig:()=>G,getRegistryConfig:()=>V,registryItemToComponent:()=>X,registryItemsToComponents:()=>Z,resolveConfigPaths:()=>U,toDependencyRecord:()=>q});const _e=new Set([`block`,`component`,`ui`,`page`]),ve=new Set([`lib`,`block`,`component`,`ui`,`hook`,`theme`,`page`,`file`,`style`,`base`,`font`,`item`]);function q(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 J(e){return e.startsWith(`registry:`)?e.slice(9):e}function ye(e){if(!e)return;let t=J(e);return _e.has(t)?t:void 0}function be(e){if(!e)return;let t=J(e);return ve.has(t)?t:void 0}function Y(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=be(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
-
5
- `),n=ye(e.type),r=Y(e.files),i=q(e.dependencies),a=q(e.devDependencies),o=q(e.registryDependencies);return{name:e.name,title:e.title?.trim()||e.name,...n?{type:n}:{},...e.categories?.[0]?{category:e.categories[0]}:{},...e.categories?.length?{tags:[...e.categories]}:{},...t?{description:t}:{},...i?{dependencies:i}:{},...a?{devDependencies:a}:{},...o?{registryDependencies:o}:{},...r?{files:r}:{}}}function Z(e){if(!e?.length)return{};let t={};for(let n of e)n?.name&&(t[n.name]=X(n));return t}function xe(e){return i(e)&&a(e).isFile()?{cwd:c(e),registryFile:s(e)}:{cwd:e}}async function Q(e){try{return Z((await l(xe(e))).items)}catch{return{}}}var $=n(e=>({name:`shadcn:extract`,extract:async n=>{if(n.components&&Object.keys(n.components).length>0)return n;let i=e?.configFile;if(!i){let{cwd:e}=t();i=r(e,`registry.json`)}let a=await Q(i);return{...n,components:a}}}));export{U as _,Z as a,P as c,L as d,I as f,V as g,G as h,X as i,N as l,K as m,$ as n,q as o,F as p,ge as r,H as s,Q as t,R as u};
6
- //# sourceMappingURL=extract-DZbvJZfZ.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extract-DZbvJZfZ.mjs","names":[],"sources":[],"mappings":""}
@@ -1,5 +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: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
- `)){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
- `))}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
-
5
- `),n=me(e.type),r=ge(e.files),i=J(e.dependencies),a=J(e.devDependencies),o=J(e.registryDependencies);return{name:e.name,title:e.title?.trim()||e.name,...n?{type:n}:{},...e.categories?.[0]?{category:e.categories[0]}:{},...e.categories?.length?{tags:[...e.categories]}:{},...t?{description:t}:{},...i?{dependencies:i}:{},...a?{devDependencies:a}:{},...o?{registryDependencies:o}:{},...r?{files:r}:{}}}function Z(e){if(!e?.length)return{};let t={};for(let n of e)n?.name&&(t[n.name]=X(n));return t}function _e(e){return(0,i.existsSync)(e)&&(0,i.statSync)(e).isFile()?{cwd:(0,a.dirname)(e),registryFile:(0,a.basename)(e)}:{cwd:e}}async function Q(e){try{return Z((await(0,o.loadRegistry)(_e(e))).items)}catch{return{}}}var $=(0,n.definePlugin)(e=>({name:`shadcn:extract`,extract:async n=>{if(n.components&&Object.keys(n.components).length>0)return n;let i=e?.configFile;if(!i){let{cwd:e}=(0,t.useExecution)();i=(0,r.joinPaths)(e,`registry.json`)}let a=await Q(i);return{...n,components:a}}}));Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return L}});
@@ -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,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
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-CQBpe7is.mjs","names":[],"sources":[],"mappings":""}
@@ -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("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}});