@razorwind/core 0.0.44 → 0.0.45
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/{config-WQlRP5z1.d.cts → config-25eDAKIq.d.cts} +13 -1
- package/dist/{config-WQlRP5z1.d.cts.map → config-25eDAKIq.d.cts.map} +1 -1
- package/dist/{config-BHFlKT4O.d.mts → config-rgbP9zhp.d.mts} +13 -1
- package/dist/config-rgbP9zhp.d.mts.map +1 -0
- package/dist/{index-DrVESYnz.d.mts → index-D6-DvdGv.d.mts} +19 -4
- package/dist/index-D6-DvdGv.d.mts.map +1 -0
- package/dist/{index-xilGn3pb.d.cts → index-lcz6riNX.d.cts} +19 -4
- package/dist/index-lcz6riNX.d.cts.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +4 -4
- package/dist/index.d.mts +4 -4
- package/dist/index.mjs +1 -1
- package/dist/lib/tokens/index.cjs +1 -1
- package/dist/lib/tokens/index.d.cts +2 -2
- package/dist/lib/tokens/index.d.mts +2 -2
- package/dist/lib/tokens/index.mjs +1 -1
- package/dist/{plugin-D1VhJmEE.d.mts → plugin-CAoFfyMa.d.mts} +2 -2
- package/dist/plugin-CAoFfyMa.d.mts.map +1 -0
- package/dist/{plugin-DwTqehw6.d.cts → plugin-m5Bm4WrK.d.cts} +2 -2
- package/dist/{plugin-DwTqehw6.d.cts.map → plugin-m5Bm4WrK.d.cts.map} +1 -1
- package/dist/plugin.d.cts +2 -2
- package/dist/plugin.d.mts +2 -2
- package/dist/tokens-CXYvywlP.mjs +2 -0
- package/dist/tokens-CXYvywlP.mjs.map +1 -0
- package/dist/tokens-DP2GoUvv.cjs +1 -0
- package/package.json +2 -2
- package/dist/config-BHFlKT4O.d.mts.map +0 -1
- package/dist/index-DrVESYnz.d.mts.map +0 -1
- package/dist/index-xilGn3pb.d.cts.map +0 -1
- package/dist/plugin-D1VhJmEE.d.mts.map +0 -1
- package/dist/tokens-B1I6HQim.mjs +0 -2
- package/dist/tokens-B1I6HQim.mjs.map +0 -1
- package/dist/tokens-DZOlhVxy.cjs +0 -1
|
@@ -130,6 +130,18 @@ interface Options {
|
|
|
130
130
|
* @defaultValue "production"
|
|
131
131
|
*/
|
|
132
132
|
mode?: "development" | "test" | "production";
|
|
133
|
+
/**
|
|
134
|
+
* When true, Style Dictionary runs with `log.verbosity: "verbose"`.
|
|
135
|
+
*
|
|
136
|
+
* Overrides `log.verbosity` on a Style Dictionary config, matching the
|
|
137
|
+
* Style Dictionary CLI `--verbose` flag. When omitted or false, config
|
|
138
|
+
* `log.verbosity` (or Style Dictionary defaults) still apply.
|
|
139
|
+
*
|
|
140
|
+
* @see https://styledictionary.com/reference/logging/
|
|
141
|
+
*
|
|
142
|
+
* @defaultValue false
|
|
143
|
+
*/
|
|
144
|
+
verbose?: boolean;
|
|
133
145
|
/**
|
|
134
146
|
* Whether to split multi-file token sources into a record keyed by theme.
|
|
135
147
|
*
|
|
@@ -204,4 +216,4 @@ type Config = RequiredKeys<UserConfig, "componentsPath" | "iconsPath" | "plugins
|
|
|
204
216
|
};
|
|
205
217
|
//#endregion
|
|
206
218
|
export { UserConfigFn as a, UserConfigParams as c, TokensPreprocessor as d, UserConfigExport as i, Plugin as l, Options as n, UserConfigFnObject as o, UserConfig as r, UserConfigFnPromise as s, Config as t, TokensParser as u };
|
|
207
|
-
//# sourceMappingURL=config-
|
|
219
|
+
//# sourceMappingURL=config-25eDAKIq.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-
|
|
1
|
+
{"version":3,"file":"config-25eDAKIq.d.cts","names":[],"sources":["../src/types/plugin.ts","../src/types/config.ts"],"mappings":";;;;;;;;;;;;;;;UAgCiB;EACf;EACA,SAAS;EACT,SAAS,qBAAqB;;;;;;;;;KAUpB;EAEN;EACA,eAAe,YAAY,uBAAuB;MAElD,YAAY,uBAAuB;;;;;;;;;UAUxB;;;;;;;EAOf;;;;;;EAOA,UAAU;;;;;;EAOV,gBAAgB;;;;;;;;EAShB,WAAW,MAAM,QAAQ,QAAQ,WAAW,aAAa;;;;;;;;EASzD,YACE,MAAM,QACN,QAAQ,WACL,aAAa,eAAe;;;;;;;;EASjC,YAAY,MAAM,QAAQ,QAAQ,WAAW;;;;UCtF9B;;;;;;;;;;;;;;;;;;EAkBf;;;;EAKA;;;;;;EAOA;;;;;;;;;;;EAYA;;;;;;EAOA;;;;;;;;;;;;EAaA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyCA;;UAGe,mBAAmB;EAClC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA,SAAS,SAAS,eAAe;EACjC,aAAa;EACb,QAAQ;EACR,UAAU;;UAGK;EACf;EACA;;KAGU,sBAAsB,QAAQ,eAAe;KAC7C,uBACV,QAAQ,qBACL,QAAQ,aAAa;KACd,gBACV,QAAQ,qBACL,aAAa,eAAe,QAAQ,aAAa;KAC1C,mBACR,aACA,eACA,QAAQ,aAAa,gBACrB,qBACA,sBACA;KAEQ,SAAS,aACnB;EAGA;EACA,UAAU;IACR"}
|
|
@@ -130,6 +130,18 @@ interface Options {
|
|
|
130
130
|
* @defaultValue "production"
|
|
131
131
|
*/
|
|
132
132
|
mode?: "development" | "test" | "production";
|
|
133
|
+
/**
|
|
134
|
+
* When true, Style Dictionary runs with `log.verbosity: "verbose"`.
|
|
135
|
+
*
|
|
136
|
+
* Overrides `log.verbosity` on a Style Dictionary config, matching the
|
|
137
|
+
* Style Dictionary CLI `--verbose` flag. When omitted or false, config
|
|
138
|
+
* `log.verbosity` (or Style Dictionary defaults) still apply.
|
|
139
|
+
*
|
|
140
|
+
* @see https://styledictionary.com/reference/logging/
|
|
141
|
+
*
|
|
142
|
+
* @defaultValue false
|
|
143
|
+
*/
|
|
144
|
+
verbose?: boolean;
|
|
133
145
|
/**
|
|
134
146
|
* Whether to split multi-file token sources into a record keyed by theme.
|
|
135
147
|
*
|
|
@@ -204,4 +216,4 @@ type Config = RequiredKeys<UserConfig, "componentsPath" | "iconsPath" | "plugins
|
|
|
204
216
|
};
|
|
205
217
|
//#endregion
|
|
206
218
|
export { UserConfigFn as a, UserConfigParams as c, TokensPreprocessor as d, UserConfigExport as i, Plugin as l, Options as n, UserConfigFnObject as o, UserConfig as r, UserConfigFnPromise as s, Config as t, TokensParser as u };
|
|
207
|
-
//# sourceMappingURL=config-
|
|
219
|
+
//# sourceMappingURL=config-rgbP9zhp.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-rgbP9zhp.d.mts","names":[],"sources":["../src/types/plugin.ts","../src/types/config.ts"],"mappings":""}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { t as Schema } from "./schema-CsbyELyn.mjs";
|
|
2
2
|
import "./index-DM8vit-J.mjs";
|
|
3
|
-
import { l as Plugin, t as Config } from "./config-
|
|
3
|
+
import { l as Plugin, t as Config } from "./config-rgbP9zhp.mjs";
|
|
4
4
|
import { ExecutionContext } from "@power-plant/core";
|
|
5
5
|
import { Tokens } from "@power-plant/dtcg-schema";
|
|
6
|
-
import { Hooks, Parser, PreprocessedTokens } from "style-dictionary/types";
|
|
6
|
+
import { Hooks, LogConfig, Parser, PreprocessedTokens } from "style-dictionary/types";
|
|
7
7
|
//#region src/lib/tokens/constants.d.ts
|
|
8
8
|
/** Style Dictionary parser hook names registered by Razorwind. */
|
|
9
9
|
declare const TOKEN_PARSER_NAMES: readonly ["razorwind-json", "razorwind-yaml", "razorwind-toml", "razorwind-css"];
|
|
@@ -130,6 +130,21 @@ declare function loadTokens(context: ExecutionContext<Schema, Config, void>): Pr
|
|
|
130
130
|
*/
|
|
131
131
|
declare function loadTokensOrThrow(context: ExecutionContext<Schema, Config, void>): Promise<LoadedTokens>;
|
|
132
132
|
//#endregion
|
|
133
|
+
//#region src/lib/tokens/logging.d.ts
|
|
134
|
+
/**
|
|
135
|
+
* Style Dictionary constructor log overrides.
|
|
136
|
+
*
|
|
137
|
+
* When `verbose` is true, sets `verbosity` to `"verbose"` — same override the
|
|
138
|
+
* Style Dictionary CLI `--verbose` flag applies. When false or omitted, leave
|
|
139
|
+
* verbosity unset so config `log.verbosity` (or Style Dictionary defaults)
|
|
140
|
+
* still apply.
|
|
141
|
+
*
|
|
142
|
+
* @see https://styledictionary.com/reference/logging/
|
|
143
|
+
*/
|
|
144
|
+
declare function styleDictionaryLogOptions(verbose?: boolean): {
|
|
145
|
+
verbosity?: LogConfig["verbosity"];
|
|
146
|
+
};
|
|
147
|
+
//#endregion
|
|
133
148
|
//#region src/lib/tokens/parsers.d.ts
|
|
134
149
|
/** Preprocessor name applied after all sources merge. */
|
|
135
150
|
declare const RAZORWIND_INFER_PREPROCESSOR = "razorwind-infer";
|
|
@@ -183,5 +198,5 @@ declare function registerRazorwindHooks(plugins?: Plugin[], target?: StyleDictio
|
|
|
183
198
|
*/
|
|
184
199
|
declare const registerRazorwindParsers: typeof registerRazorwindHooks;
|
|
185
200
|
//#endregion
|
|
186
|
-
export {
|
|
187
|
-
//# sourceMappingURL=index-
|
|
201
|
+
export { TOKEN_PARSER_NAMES as A, normalizeTokenTree as C, THEME_BASENAME_PATTERN as D, RazorwindParserName as E, TOKEN_DIRECTORY_GLOB as O, nestFlatTokens as S, DEFAULT_TOKEN_PATH_CANDIDATES as T, resolveTokensSource as _, getRazorwindParserHooks as a, inferTypeFromPath as b, registerRazorwindHooks as c, LoadTokensOptions as d, LoadedTokens as f, ResolvedTokensSource as g, ResolveTokensPathOptions as h, getExtractionHooks as i, TYPE_PATH_HINTS as j, TOKEN_FILE_EXTENSIONS as k, registerRazorwindParsers as l, loadTokensOrThrow as m, RAZORWIND_INFER_PREPROCESSOR as n, getRazorwindPreprocessorHooks as o, loadTokens as p, StyleDictionaryRegisterTarget as r, razorwindInferPreprocessor as s, ExtractionHooks as t, styleDictionaryLogOptions as u, themeKeyFromPath as v, parseCssCustomProperties as w, inferValue as x, InferredTokenType as y };
|
|
202
|
+
//# sourceMappingURL=index-D6-DvdGv.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-D6-DvdGv.d.mts","names":[],"sources":["../src/lib/tokens/constants.ts","../src/lib/tokens/css.ts","../src/lib/tokens/infer.ts","../src/lib/tokens/resolve-path.ts","../src/lib/tokens/load.ts","../src/lib/tokens/logging.ts","../src/lib/tokens/parsers.ts"],"mappings":""}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { t as Schema } from "./schema-CsbyELyn.cjs";
|
|
2
2
|
import "./index-BjSOzDOH.cjs";
|
|
3
|
-
import { l as Plugin, t as Config } from "./config-
|
|
3
|
+
import { l as Plugin, t as Config } from "./config-25eDAKIq.cjs";
|
|
4
4
|
import { Tokens } from "@power-plant/dtcg-schema";
|
|
5
5
|
import { ExecutionContext } from "@power-plant/core";
|
|
6
|
-
import { Hooks, Parser, PreprocessedTokens } from "style-dictionary/types";
|
|
6
|
+
import { Hooks, LogConfig, Parser, PreprocessedTokens } from "style-dictionary/types";
|
|
7
7
|
//#region src/lib/tokens/constants.d.ts
|
|
8
8
|
/** Style Dictionary parser hook names registered by Razorwind. */
|
|
9
9
|
declare const TOKEN_PARSER_NAMES: readonly ["razorwind-json", "razorwind-yaml", "razorwind-toml", "razorwind-css"];
|
|
@@ -130,6 +130,21 @@ declare function loadTokens(context: ExecutionContext<Schema, Config, void>): Pr
|
|
|
130
130
|
*/
|
|
131
131
|
declare function loadTokensOrThrow(context: ExecutionContext<Schema, Config, void>): Promise<LoadedTokens>;
|
|
132
132
|
//#endregion
|
|
133
|
+
//#region src/lib/tokens/logging.d.ts
|
|
134
|
+
/**
|
|
135
|
+
* Style Dictionary constructor log overrides.
|
|
136
|
+
*
|
|
137
|
+
* When `verbose` is true, sets `verbosity` to `"verbose"` — same override the
|
|
138
|
+
* Style Dictionary CLI `--verbose` flag applies. When false or omitted, leave
|
|
139
|
+
* verbosity unset so config `log.verbosity` (or Style Dictionary defaults)
|
|
140
|
+
* still apply.
|
|
141
|
+
*
|
|
142
|
+
* @see https://styledictionary.com/reference/logging/
|
|
143
|
+
*/
|
|
144
|
+
declare function styleDictionaryLogOptions(verbose?: boolean): {
|
|
145
|
+
verbosity?: LogConfig["verbosity"];
|
|
146
|
+
};
|
|
147
|
+
//#endregion
|
|
133
148
|
//#region src/lib/tokens/parsers.d.ts
|
|
134
149
|
/** Preprocessor name applied after all sources merge. */
|
|
135
150
|
declare const RAZORWIND_INFER_PREPROCESSOR = "razorwind-infer";
|
|
@@ -183,5 +198,5 @@ declare function registerRazorwindHooks(plugins?: Plugin[], target?: StyleDictio
|
|
|
183
198
|
*/
|
|
184
199
|
declare const registerRazorwindParsers: typeof registerRazorwindHooks;
|
|
185
200
|
//#endregion
|
|
186
|
-
export {
|
|
187
|
-
//# sourceMappingURL=index-
|
|
201
|
+
export { TOKEN_PARSER_NAMES as A, normalizeTokenTree as C, THEME_BASENAME_PATTERN as D, RazorwindParserName as E, TOKEN_DIRECTORY_GLOB as O, nestFlatTokens as S, DEFAULT_TOKEN_PATH_CANDIDATES as T, resolveTokensSource as _, getRazorwindParserHooks as a, inferTypeFromPath as b, registerRazorwindHooks as c, LoadTokensOptions as d, LoadedTokens as f, ResolvedTokensSource as g, ResolveTokensPathOptions as h, getExtractionHooks as i, TYPE_PATH_HINTS as j, TOKEN_FILE_EXTENSIONS as k, registerRazorwindParsers as l, loadTokensOrThrow as m, RAZORWIND_INFER_PREPROCESSOR as n, getRazorwindPreprocessorHooks as o, loadTokens as p, StyleDictionaryRegisterTarget as r, razorwindInferPreprocessor as s, ExtractionHooks as t, styleDictionaryLogOptions as u, themeKeyFromPath as v, parseCssCustomProperties as w, inferValue as x, InferredTokenType as y };
|
|
202
|
+
//# sourceMappingURL=index-lcz6riNX.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-lcz6riNX.d.cts","names":[],"sources":["../src/lib/tokens/constants.ts","../src/lib/tokens/css.ts","../src/lib/tokens/infer.ts","../src/lib/tokens/resolve-path.ts","../src/lib/tokens/load.ts","../src/lib/tokens/logging.ts","../src/lib/tokens/parsers.ts"],"mappings":";;;;;;;;cAmBa;KAOD,8BAA8B;;cAG7B;;;;;cAsBA;;cAyBA;;cAGA,wBAAsB;;cAItB,iBAAiB;;;;;;;iBCvDd,yBACd,mBACC;;;KCgCS;;;;iBAmEI,kBACd,iBACC;;;;iBAiBa,WACd,cACA;EACG;EAAgB,OAAO;;;;;iBAsPZ,mBACd,gBACA;;;;;;;;iBA2Cc,eACd,MAAM,0BACL;;;UC9Zc;;;;EAIf;;;;EAKA;;;;EAKA,gBAAgB;;UAGD;;;;;;;EAOf;;;;EAKA;;;;EAKA;;;;;;;;;iBAyHc,oBACd,SAAS,2BACR;;;;iBAqFa,iBAAiB;;;UCrNhB,0BAA0B;;;;;;EAMzC;;KAGU,eAAe,SAAS,eAAe;;;;;;;;;iBA6I7B,WACpB,SAAS,iBAAiB,QAAQ,gBACjC,QAAQ;;;;;;;;;;iBAsCW,kBACpB,SAAS,iBAAiB,QAAQ,gBACjC,QAAQ;;;;;;;;;;;;;iBC5NK,0BAA0B;EACxC,YAAY;;;;;cCGD;;UAGI;EACf,kBAAkB,QAAQ;EAC1B,wBAAwB;IACtB;IACA,cAAc,YAAY;;;;UAKb;EACf,SAAS,YAAY;EACrB,eAAe,YAAY;EAC3B;EACA;;;iBAwEc,2BAA2B,YAAY;;;;;iBAavC,2BACd,YAAY,qBACX;;iBAKa,iCAAiC,YAC/C;;;;;;;iBAac,mBAAmB,UAAS,WAAgB;;;;;;;;;;;;;;iBA0D5C,uBACd,UAAS,UACT,SAAQ,gCACP;;;;cAqBU,iCAAwB"}
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-BocRIvOZ.cjs"),t=require("./schema-93daQRSN.cjs"),n=require("./tokens-DZOlhVxy.cjs"),r=require("./plugin.cjs");let i=require("@power-plant/core"),a=require("@stryke/type-checks/is-empty-object"),o=require("defu"),s=require("@stryke/fs/exists"),c=require("@stryke/fs/is-file"),l=require("@stryke/fs/json"),u=require("@stryke/fs/list-files"),d=require("@stryke/path/append"),f=require("@stryke/path/file-path-fns"),p=require("@stryke/path/join"),m=require("@stryke/string-format/title-case"),h=require("@stryke/type-checks/is-set-object"),g=require("@stryke/type-checks/is-set-string"),_=require("node:fs/promises"),v=require("node:path"),ee=require("@stryke/env/get-env-paths"),y=require("@stryke/path/find"),b=require("@stryke/path/replace"),te=require("@stryke/type-checks/is-function"),x=require("c12"),ne=require("jiti"),S=require("node:fs"),C=require("node:os");C=e.t(C,1);var re=`0.0.44`;function w(e){return!!((0,g.isSetString)(e)||(0,h.isSetObject)(e)&&`url`in e&&(0,g.isSetString)(e.url))}function T(e){if((0,g.isSetString)(e))return e;if((0,h.isSetObject)(e)&&`url`in e&&(0,g.isSetString)(e.url))return e.url}const E=t.o.partial(),D=new Set([`tsx`,`jsx`,`ts`,`js`,`mdx`,`md`,`css`,`html`,`txt`]),O=(0,o.createDefu)((e,t,n)=>Array.isArray(n)?(e[t]=n,!0):!1);function k(e,t){return(0,v.isAbsolute)(t)?t:(0,v.resolve)(e,t)}function ie(e){return Array.isArray(e)?e.filter(g.isSetString):(0,g.isSetString)(e)?[e]:[]}function A(e){let t=e.toLowerCase();if(D.has(t))return t}function ae(e){let t=(0,f.findFileExtensionSafe)(e)?.toLowerCase();return!!(t&&D.has(t))}function j(e){if(!e)return;let n=t.a.safeParse(e);if(n.success)return[n.data];if(!Array.isArray(e))return;let r=[];for(let n of e){let e=t.a.safeParse(n);e.success&&r.push(e.data)}return r.length>0?r:void 0}function M(e){if(!e)return;let n=t.s.safeParse(e);if(n.success)return[n.data];if(!Array.isArray(e))return;let r=[];for(let n of e){if((0,g.isSetString)(n)){let e=(0,f.findFileName)(n,{withExtension:!1})||n,i=t.s.safeParse({name:e,path:n});i.success&&r.push(i.data);continue}let e=t.s.safeParse(n);e.success&&r.push(e.data)}return r.length>0?r:void 0}function N(e){if(!(0,h.isSetObject)(e))return;let{files:t,usage:n,...r}=e,i=E.safeParse(r);if(i.success)return Object.keys(i.data).length>0?i.data:void 0}function P(e){return(0,h.isSetObject)(e)&&`path`in e}async function oe(e){let t=(0,p.joinPaths)(e,`package.json`);if(!(0,s.existsSync)(t))return;let n;try{n=await(0,l.readJsonFile)(t)}catch{return}let r={};(0,g.isSetString)(n.name)&&(r.name=n.name,r.title=n.name),(0,g.isSetString)(n.description)&&(r.description=n.description),(0,g.isSetString)(n.version)&&(r.version=n.version),(0,g.isSetString)(n.homepage)&&(r.homepage=n.homepage);let i=T(n.repository);if(i&&(r.repository=i),(0,h.isSetObject)(n.dependencies)&&(r.dependencies=n.dependencies),(0,h.isSetObject)(n.devDependencies)&&(r.devDependencies=n.devDependencies),Array.isArray(n.keywords)){let e=n.keywords.filter(g.isSetString);e.length>0&&(r.tags=e)}let a=n.razorwind,o,c,u;P(a)?c=j(a):(0,h.isSetObject)(a)&&(o=N(a),`files`in a&&(c=j(a.files)),`usage`in a&&(u=M(a.usage)));let d=O(o??{},r);return c?.length&&(d.files=c),u?.length&&(d.usage=u),Object.keys(d).length>0?d:void 0}async function se(e){let t=(0,p.joinPaths)(e,`component.json`);if(!(0,s.existsSync)(t))return;let n;try{n=await(0,l.readJsonFile)(t)}catch{return}if(P(n)||Array.isArray(n)){let e=j(n);if(e)return{files:e}}if(!(0,h.isSetObject)(n))return;let r=N(n)??{},i=`files`in n?j(n.files):void 0,a=`usage`in n?M(n.usage):void 0;return i?.length&&(r.files=i),a?.length&&(r.usage=a),Object.keys(r).length>0?r:void 0}async function ce(e){try{return(await(0,_.readdir)(e,{withFileTypes:!0})).filter(e=>e.isFile()&&!e.name.startsWith(`.`)&&ae(e.name)).map(e=>e.name).toSorted((e,t)=>e.localeCompare(t))}catch{return[]}}async function le(e,t){if(t?.length)return Promise.all(t.map(async t=>{let n=(0,d.appendPath)(t.path,e),r=(0,f.findFileExtensionSafe)(t.path)??``,i=t.language??A(r),a=t.name||(0,f.findFileName)(t.path,{withExtension:!1})||t.path,o=t.content===void 0?(0,s.existsSync)(n)?await(0,_.readFile)(n,`utf8`):void 0:t.content;return{...t,name:a,path:n,...i?{language:i}:{},...o===void 0?{}:{content:o}}}));let n=(0,p.joinPaths)(e,`usage`);if(!(0,s.existsSync)(n)||!(0,c.isDirectory)(n))return;let r=await ce(n);if(r.length!==0)return Promise.all(r.map(async e=>{let t=(0,p.joinPaths)(n,e),r=A((0,f.findFileExtensionSafe)(e)??``),i=(0,f.findFileName)(e,{withExtension:!1})||e;return{name:i,title:(0,m.titleCase)(i),path:t,content:await(0,_.readFile)(t,`utf8`),...r?{language:r}:{}}}))}async function ue(e,t){let n=t??(await(0,u.listFiles)(e)).filter(e=>(0,f.findFileName)(e,{withExtension:!1})===`index`);return Promise.all(n.filter(Boolean).map(async t=>typeof t==`string`?{type:/[tj]sx$/.test((0,f.findFileExtensionSafe)(t))?`component`:`file`,path:t,content:await(0,_.readFile)((0,d.appendPath)(t,e),`utf8`)}:{type:/[tj]sx$/.test((0,f.findFileExtensionSafe)(t.path))?`component`:`file`,...t,content:t.content?t.content:t.path?await(0,_.readFile)((0,d.appendPath)(t.path,e),`utf8`):void 0,path:(0,d.appendPath)(t.path,e)}))}async function de(e){let n=await oe(e),r=await se(e);if(!n&&!r)return;let i=O(r??{},n??{}),a=(0,g.isSetString)(i.name)?i.name:(0,f.findFolderName)(e),o=(0,g.isSetString)(i.title)?i.title:(0,m.titleCase)(a),s=t.o.safeParse({...i,name:a,title:o});if(!s.success)return;let c=await le(e,s.data.usage);return{...s.data,files:await ue(e,s.data.files),...c?.length?{usage:c}:{}}}async function F(e){let t={},n=ie(e.options.componentsPath);for(let r of n){let n=k(e.cwd,r);if(!(!(0,s.existsSync)(n)||!(0,c.isDirectory)(n)))try{let e=await(0,_.readdir)(n,{withFileTypes:!0});for(let r of e){if(!r.isDirectory()||r.name.startsWith(`.`))continue;let e=await de((0,p.joinPaths)(n,r.name));e&&(t[e.name]=e)}}catch{continue}}return t}const fe=t.r.partial(),I=new Set([`svg`,`png`,`webp`,`jpg`,`jpeg`,`gif`,`ico`]),L=(0,o.createDefu)((e,t,n)=>Array.isArray(n)?(e[t]=n,!0):!1);function pe(e,t){return(0,v.isAbsolute)(t)?t:(0,v.resolve)(e,t)}function me(e){return Array.isArray(e)?e.filter(g.isSetString):(0,g.isSetString)(e)?[e]:[]}function R(e){let t=e.toLowerCase();if(I.has(t))return t}function z(e){let t=(0,f.findFileExtensionSafe)(e)?.toLowerCase();return!!(t&&I.has(t))}function he(e){return n.v.test(e)}async function B(e){try{return(await(0,_.readdir)(e,{withFileTypes:!0})).filter(e=>e.isFile()&&z(e.name)).map(e=>e.name)}catch{return[]}}function V(e){if(!e)return;let n=t.n.safeParse(e);if(n.success)return[n.data];if(!Array.isArray(e))return;let r=[];for(let n of e){let e=t.n.safeParse(n);e.success&&r.push(e.data)}return r.length>0?r:void 0}function H(e){if(!(0,h.isSetObject)(e))return;let t=fe.safeParse(e);if(t.success)return Object.keys(t.data).length>0?t.data:void 0}function U(e){return(0,h.isSetObject)(e)&&`path`in e}async function W(e,t,n){let r=(0,d.appendPath)(e,t),i=R((0,f.findFileExtensionSafe)(e)??``)??`file`,a=i===`svg`?await(0,_.readFile)(r,`utf8`):void 0;return{path:r,type:i,...n?{theme:n}:{},...a===void 0?{}:{content:a}}}async function ge(e){let t=(0,p.joinPaths)(e,`package.json`);if(!(0,s.existsSync)(t))return;let n;try{n=await(0,l.readJsonFile)(t)}catch{return}let r={};(0,g.isSetString)(n.name)&&(r.name=n.name,r.title=n.name),(0,g.isSetString)(n.description)&&(r.description=n.description),(0,g.isSetString)(n.version)&&(r.version=n.version),(0,g.isSetString)(n.homepage)&&(r.homepage=n.homepage);let i=T(n.repository);if(i&&(r.repository=i),Array.isArray(n.keywords)){let e=n.keywords.filter(g.isSetString);e.length>0&&(r.tags=e)}let a=n.razorwind,o,c;U(a)?c=V(a):(0,h.isSetObject)(a)&&(o=H(a),`files`in a&&(c=V(a.files)));let u=L(o??{},r);return c?.length&&(u.files=c),Object.keys(u).length>0?u:void 0}async function _e(e){let t=(0,p.joinPaths)(e,`icon.json`);if(!(0,s.existsSync)(t))return;let n;try{n=await(0,l.readJsonFile)(t)}catch{return}if(U(n)||Array.isArray(n)){let e=V(n);if(e)return{files:e}}return H(n)}async function ve(e,t){if(t?.length)return Promise.all(t.map(async t=>{let n=(0,d.appendPath)(t.path,e),r=(0,f.findFileExtensionSafe)(t.path)??``,i=t.type??R(r)??`file`,a=t.content===void 0?i===`svg`?await(0,_.readFile)(n,`utf8`):void 0:t.content;return{...t,type:i,path:n,...a===void 0?{}:{content:a}}}));let n=await B(e);return Promise.all(n.map(t=>W(t,e)))}async function ye(e){let n=await ge(e),r=await _e(e),i=await B(e);if(!n&&!r&&i.length===0)return;let a=L(r??{},n??{}),o=(0,g.isSetString)(a.name)?a.name:(0,f.findFolderName)(e),s=(0,g.isSetString)(a.title)?a.title:(0,m.titleCase)(o),c=t.r.safeParse({...a,name:o,title:s});if(c.success)return{...c.data,files:await ve(e,c.data.files)}}function G(e,t,n){let r=e[t];if(!r){e[t]={name:t,title:(0,m.titleCase)(t),files:[n]};return}let i=[...r.files??[]],a=i.findIndex(e=>e.path===n.path&&e.theme===n.theme);a>=0?i[a]=n:i.push(n),e[t]={...r,files:i}}async function be(e,t,n){let r=await B(e);for(let i of r){let r=(0,f.findFileName)(i,{withExtension:!1});r&&G(n,r,await W(i,e,t))}}async function K(e){let t={},n=me(e.options.iconsPath);for(let r of n){let n=pe(e.cwd,r);if(!(!(0,s.existsSync)(n)||!(0,c.isDirectory)(n)))try{let e=await(0,_.readdir)(n,{withFileTypes:!0});for(let r of e){if(r.name.startsWith(`.`))continue;let e=(0,p.joinPaths)(n,r.name);if(r.isDirectory()){if(he(r.name)){await be(e,r.name,t);continue}let n=await ye(e);if(n){let e=t[n.name];t[n.name]=e?L(n,e):n}continue}if(r.isFile()&&z(r.name)){let e=(0,f.findFileName)(r.name,{withExtension:!1});if(!e)continue;G(t,e,await W(r.name,n))}}}catch{continue}}return t}function q(e,t){let n=e[t];return(0,g.isSetString)(n)?n:void 0}function J(e){let t={};(0,g.isSetString)(e.name)&&(t.name=e.name),(0,g.isSetString)(e.description)&&(t.description=e.description),(0,g.isSetString)(e.homepage)&&(t.homepage=e.homepage);let n=T(e.repository);n&&(t.repository=n),(0,g.isSetString)(e.logo)&&(t.logo=e.logo);let r=e.razorwind,i={};if((0,h.isSetObject)(r)){let t=r,n=q(t,`title`),a=q(t,`name`),o=q(t,`description`),s=q(t,`homepage`),c=q(t,`logo`),l=T(t.repository);a?i.name=a:(0,g.isSetString)(e.name)&&(i.name=e.name),n?i.title=n:(0,g.isSetString)(i.name)&&(i.title=(0,m.titleCase)(i.name)),o?i.description=o:(0,g.isSetString)(e.description)&&(i.description=e.description),s?i.homepage=s:w(e.homepage)?i.homepage=T(e.homepage):w(e.author)?i.homepage=T(e.author):e.maintainers&&Array.isArray(e.maintainers)&&e.maintainers.length>0&&w(e.maintainers[0])?i.homepage=T(e.maintainers[0]):e.contributors&&Array.isArray(e.contributors)&&e.contributors.length>0&&w(e.contributors[0])?i.homepage=T(e.contributors[0]):w(e.bugs)&&(i.homepage=T(e.bugs)),c&&(i.logo=c),l?i.repository=l:w(e.repository)&&(i.repository=T(e.repository))}return(0,o.defu)(i,t)}function Y(e){let t={};return(0,g.isSetString)(e.name)&&(t.name=e.name),(0,g.isSetString)(e.title)&&(t.title=e.title),(0,g.isSetString)(e.description)&&(t.description=e.description),(0,g.isSetString)(e.repository)&&(t.repository=e.repository),(0,g.isSetString)(e.homepage)&&(t.homepage=e.homepage),(0,g.isSetString)(e.logo)&&(t.logo=e.logo),t}async function X(e){let t=(0,p.joinPaths)(e,`package.json`);if(!(0,s.existsSync)(t))return{};let n;try{n=await(0,l.readJsonFile)(t)}catch{return{}}return J(n)}async function Z(e,t){let n=await X(e),r=Y(t);return(0,o.defu)(r,n)}const Q=C.default.homedir();async function $(e,t){let n=t.configFile&&(0,S.existsSync)((0,b.replacePath)(t.configFile,e))?(0,b.replacePath)(t.configFile,e):t.configFile&&(0,S.existsSync)(t.configFile)?t.configFile:(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.${t.mode}.ts`))?(0,p.joinPaths)(e,`razorwind.${t.mode}.ts`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.${t.mode}.js`))?(0,p.joinPaths)(e,`razorwind.${t.mode}.js`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.${t.mode}.mts`))?(0,p.joinPaths)(e,`razorwind.${t.mode}.mts`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.${t.mode}.mjs`))?(0,p.joinPaths)(e,`razorwind.${t.mode}.mjs`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.${t.mode}.cjs`))?(0,p.joinPaths)(e,`razorwind.${t.mode}.cjs`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.${t.mode}.cts`))?(0,p.joinPaths)(e,`razorwind.${t.mode}.cts`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.${t.mode}.json`))?(0,p.joinPaths)(e,`razorwind.${t.mode}.json`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.${t.mode}.yaml`))?(0,p.joinPaths)(e,`razorwind.${t.mode}.yaml`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.${t.mode}.yml`))?(0,p.joinPaths)(e,`razorwind.${t.mode}.yml`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.config.ts`))?(0,p.joinPaths)(e,`razorwind.config.ts`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.config.js`))?(0,p.joinPaths)(e,`razorwind.config.js`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.config.mts`))?(0,p.joinPaths)(e,`razorwind.config.mts`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.config.mjs`))?(0,p.joinPaths)(e,`razorwind.config.mjs`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.config.cjs`))?(0,p.joinPaths)(e,`razorwind.config.cjs`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.config.cts`))?(0,p.joinPaths)(e,`razorwind.config.cts`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.config.json`))?(0,p.joinPaths)(e,`razorwind.config.json`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.config.yaml`))?(0,p.joinPaths)(e,`razorwind.config.yaml`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.config.yml`))?(0,p.joinPaths)(e,`razorwind.config.yml`):void 0,r=(0,ee.getEnvPaths)({orgId:`storm-software`,appId:`razorwind`,workspaceRoot:e}),i={fsCache:r.cache},a=(0,ne.createJiti)(e,i),s={};if(n){let r=await a.import(n,{default:!0});if(r){let i={};(0,te.isFunction)(r)?i=await Promise.resolve(r({cwd:e,mode:t.mode??`development`})):((0,h.isSetObject)(r)||Array.isArray(r))&&(i=r),((0,h.isSetObject)(i)||Array.isArray(i))&&(s={...i,configFile:n})}}let[c,l,u]=await Promise.all([(0,x.loadConfig)({cwd:e,name:`razorwind`,envName:t.mode,globalRc:!0,packageJson:`razorwind`,dotenv:!0,jitiOptions:i}),(0,x.loadConfig)({cwd:r.config,name:`razorwind`,envName:t.mode,dotenv:!0,jitiOptions:i}),(0,x.loadConfig)({cwd:Q,name:`razorwind`,envName:t.mode,dotenv:!0,jitiOptions:i})]),d=(0,o.defu)({cwd:e,envPaths:{...r,home:Q}},t,s,(0,h.isSetObject)(c?.config)?{...c.config}:{},(0,h.isSetObject)(l?.config)?{...l.config}:{},(0,h.isSetObject)(u?.config)?{...u.config}:{},{componentsPath:e,iconsPath:(0,p.joinPaths)(e,`assets/icons`),plugins:[]});if(Array.isArray(d.componentsPath)){let t=d.componentsPath.filter(g.isSetString).map(e=>(0,y.findFilePath)(e));d.componentsPath=t.length>0?t:e}else d.componentsPath=(0,g.isSetString)(d.componentsPath)?(0,y.findFilePath)(d.componentsPath):e;if(Array.isArray(d.iconsPath)){let t=d.iconsPath.filter(g.isSetString).map(e=>(0,y.findFilePath)(e));d.iconsPath=t.length>0?t:(0,p.joinPaths)(e,`assets/icons`)}else d.iconsPath=(0,g.isSetString)(d.iconsPath)?(0,y.findFilePath)(d.iconsPath):(0,p.joinPaths)(e,`assets/icons`);return Array.isArray(d.plugins)||(d.plugins=[]),d}function xe(e){return e}const Se=(0,i.defineGenerator)({meta:{name:`razorwind`,title:`Razorwind`,description:`A generator that uses Razorwind to generate design system code from design tokens, components, and icons.`,version:re,tags:[`razorwind`,`dtcg`]},schema:(0,i.defineSchema)({schema:t.t}),input:async e=>{let t=(0,i.useExecution)();if(t.options=await $(t.cwd,e),t.options.plugins.length===0)throw Error(`Razorwind will not generate any code - no plugins configured. Please add at least one plugin to the configuration.`);let r=t.options.tokens;(!r||(0,a.isEmptyObject)(r))&&(r=await n.t(t));let s={...await Z(t.cwd,t.options),tokens:r??{},components:(0,o.defu)(t.options.components??{},await F(t)??{}),icons:(0,o.defu)(t.options.icons??{},await K(t)??{})};for(let e of t.options.plugins.filter(e=>e.extract))s=await e.extract(s,t.options);if(!s.tokens||(0,a.isEmptyObject)(s.tokens))throw Error(`Unable to load design tokens for the current workspace. Please ensure that Razorwind is configured correctly and that the tokens are available.`);for(let e of t.options.plugins.filter(e=>e.validate))await e.validate(s,t.options);return s},generator:async e=>{let t=(0,i.useExecution)(),n={};for(let r of t.options.plugins.filter(e=>e.generate)){let i=await r.generate(e,t.options);n=(0,o.defu)(i,n)}return n}});exports.DEFAULT_TOKEN_PATH_CANDIDATES=n._,exports.RAZORWIND_INFER_PREPROCESSOR=n.a,exports.THEME_BASENAME_PATTERN=n.v,exports.TOKEN_DIRECTORY_GLOB=n.y,exports.TOKEN_FILE_EXTENSIONS=n.b,exports.TYPE_PATH_HINTS=n.S,exports.WINDIE_PARSERS=n.x,exports.razorwindParsers=n.x,exports.defineConfig=xe,exports.definePlugin=r.definePlugin,exports.generator=Se,exports.getExtractionHooks=n.o,exports.getRazorwindParserHooks=n.s,exports.getRazorwindPreprocessorHooks=n.c,exports.inferTypeFromPath=n.p,exports.inferValue=n.m,exports.loadComponents=F,exports.loadIcons=K,exports.loadSchemaMetaFromPackageJson=X,exports.loadTokens=n.t,exports.loadTokensOrThrow=n.n,exports.nestFlatTokens=n.h,exports.normalizeRepository=T,exports.normalizeTokenTree=n.g,exports.parseCssCustomProperties=n.f,exports.razorwindInferPreprocessor=n.l,exports.registerRazorwindHooks=n.u,exports.registerRazorwindParsers=n.d,exports.resolveConfig=$,exports.resolveSchemaMeta=Z,exports.resolveTokensSource=n.r,exports.schemaMetaFromConfig=Y,exports.schemaMetaFromPackageJson=J,exports.themeKeyFromPath=n.i;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-BocRIvOZ.cjs"),t=require("./schema-93daQRSN.cjs"),n=require("./tokens-DP2GoUvv.cjs"),r=require("./plugin.cjs");let i=require("@power-plant/core"),a=require("@stryke/type-checks/is-empty-object"),o=require("defu"),s=require("@stryke/fs/exists"),c=require("@stryke/fs/is-file"),l=require("@stryke/fs/json"),u=require("@stryke/fs/list-files"),d=require("@stryke/path/append"),f=require("@stryke/path/file-path-fns"),p=require("@stryke/path/join"),m=require("@stryke/string-format/title-case"),h=require("@stryke/type-checks/is-set-object"),g=require("@stryke/type-checks/is-set-string"),_=require("node:fs/promises"),v=require("node:path"),ee=require("@stryke/env/get-env-paths"),y=require("@stryke/path/find"),b=require("@stryke/path/replace"),te=require("@stryke/type-checks/is-function"),x=require("c12"),ne=require("jiti"),S=require("node:fs"),C=require("node:os");C=e.t(C,1);var re=`0.0.45`;function w(e){return!!((0,g.isSetString)(e)||(0,h.isSetObject)(e)&&`url`in e&&(0,g.isSetString)(e.url))}function T(e){if((0,g.isSetString)(e))return e;if((0,h.isSetObject)(e)&&`url`in e&&(0,g.isSetString)(e.url))return e.url}const E=t.o.partial(),D=new Set([`tsx`,`jsx`,`ts`,`js`,`mdx`,`md`,`css`,`html`,`txt`]),O=(0,o.createDefu)((e,t,n)=>Array.isArray(n)?(e[t]=n,!0):!1);function k(e,t){return(0,v.isAbsolute)(t)?t:(0,v.resolve)(e,t)}function ie(e){return Array.isArray(e)?e.filter(g.isSetString):(0,g.isSetString)(e)?[e]:[]}function A(e){let t=e.toLowerCase();if(D.has(t))return t}function ae(e){let t=(0,f.findFileExtensionSafe)(e)?.toLowerCase();return!!(t&&D.has(t))}function j(e){if(!e)return;let n=t.a.safeParse(e);if(n.success)return[n.data];if(!Array.isArray(e))return;let r=[];for(let n of e){let e=t.a.safeParse(n);e.success&&r.push(e.data)}return r.length>0?r:void 0}function M(e){if(!e)return;let n=t.s.safeParse(e);if(n.success)return[n.data];if(!Array.isArray(e))return;let r=[];for(let n of e){if((0,g.isSetString)(n)){let e=(0,f.findFileName)(n,{withExtension:!1})||n,i=t.s.safeParse({name:e,path:n});i.success&&r.push(i.data);continue}let e=t.s.safeParse(n);e.success&&r.push(e.data)}return r.length>0?r:void 0}function N(e){if(!(0,h.isSetObject)(e))return;let{files:t,usage:n,...r}=e,i=E.safeParse(r);if(i.success)return Object.keys(i.data).length>0?i.data:void 0}function P(e){return(0,h.isSetObject)(e)&&`path`in e}async function oe(e){let t=(0,p.joinPaths)(e,`package.json`);if(!(0,s.existsSync)(t))return;let n;try{n=await(0,l.readJsonFile)(t)}catch{return}let r={};(0,g.isSetString)(n.name)&&(r.name=n.name,r.title=n.name),(0,g.isSetString)(n.description)&&(r.description=n.description),(0,g.isSetString)(n.version)&&(r.version=n.version),(0,g.isSetString)(n.homepage)&&(r.homepage=n.homepage);let i=T(n.repository);if(i&&(r.repository=i),(0,h.isSetObject)(n.dependencies)&&(r.dependencies=n.dependencies),(0,h.isSetObject)(n.devDependencies)&&(r.devDependencies=n.devDependencies),Array.isArray(n.keywords)){let e=n.keywords.filter(g.isSetString);e.length>0&&(r.tags=e)}let a=n.razorwind,o,c,u;P(a)?c=j(a):(0,h.isSetObject)(a)&&(o=N(a),`files`in a&&(c=j(a.files)),`usage`in a&&(u=M(a.usage)));let d=O(o??{},r);return c?.length&&(d.files=c),u?.length&&(d.usage=u),Object.keys(d).length>0?d:void 0}async function se(e){let t=(0,p.joinPaths)(e,`component.json`);if(!(0,s.existsSync)(t))return;let n;try{n=await(0,l.readJsonFile)(t)}catch{return}if(P(n)||Array.isArray(n)){let e=j(n);if(e)return{files:e}}if(!(0,h.isSetObject)(n))return;let r=N(n)??{},i=`files`in n?j(n.files):void 0,a=`usage`in n?M(n.usage):void 0;return i?.length&&(r.files=i),a?.length&&(r.usage=a),Object.keys(r).length>0?r:void 0}async function ce(e){try{return(await(0,_.readdir)(e,{withFileTypes:!0})).filter(e=>e.isFile()&&!e.name.startsWith(`.`)&&ae(e.name)).map(e=>e.name).toSorted((e,t)=>e.localeCompare(t))}catch{return[]}}async function le(e,t){if(t?.length)return Promise.all(t.map(async t=>{let n=(0,d.appendPath)(t.path,e),r=(0,f.findFileExtensionSafe)(t.path)??``,i=t.language??A(r),a=t.name||(0,f.findFileName)(t.path,{withExtension:!1})||t.path,o=t.content===void 0?(0,s.existsSync)(n)?await(0,_.readFile)(n,`utf8`):void 0:t.content;return{...t,name:a,path:n,...i?{language:i}:{},...o===void 0?{}:{content:o}}}));let n=(0,p.joinPaths)(e,`usage`);if(!(0,s.existsSync)(n)||!(0,c.isDirectory)(n))return;let r=await ce(n);if(r.length!==0)return Promise.all(r.map(async e=>{let t=(0,p.joinPaths)(n,e),r=A((0,f.findFileExtensionSafe)(e)??``),i=(0,f.findFileName)(e,{withExtension:!1})||e;return{name:i,title:(0,m.titleCase)(i),path:t,content:await(0,_.readFile)(t,`utf8`),...r?{language:r}:{}}}))}async function ue(e,t){let n=t??(await(0,u.listFiles)(e)).filter(e=>(0,f.findFileName)(e,{withExtension:!1})===`index`);return Promise.all(n.filter(Boolean).map(async t=>typeof t==`string`?{type:/[tj]sx$/.test((0,f.findFileExtensionSafe)(t))?`component`:`file`,path:t,content:await(0,_.readFile)((0,d.appendPath)(t,e),`utf8`)}:{type:/[tj]sx$/.test((0,f.findFileExtensionSafe)(t.path))?`component`:`file`,...t,content:t.content?t.content:t.path?await(0,_.readFile)((0,d.appendPath)(t.path,e),`utf8`):void 0,path:(0,d.appendPath)(t.path,e)}))}async function de(e){let n=await oe(e),r=await se(e);if(!n&&!r)return;let i=O(r??{},n??{}),a=(0,g.isSetString)(i.name)?i.name:(0,f.findFolderName)(e),o=(0,g.isSetString)(i.title)?i.title:(0,m.titleCase)(a),s=t.o.safeParse({...i,name:a,title:o});if(!s.success)return;let c=await le(e,s.data.usage);return{...s.data,files:await ue(e,s.data.files),...c?.length?{usage:c}:{}}}async function F(e){let t={},n=ie(e.options.componentsPath);for(let r of n){let n=k(e.cwd,r);if(!(!(0,s.existsSync)(n)||!(0,c.isDirectory)(n)))try{let e=await(0,_.readdir)(n,{withFileTypes:!0});for(let r of e){if(!r.isDirectory()||r.name.startsWith(`.`))continue;let e=await de((0,p.joinPaths)(n,r.name));e&&(t[e.name]=e)}}catch{continue}}return t}const fe=t.r.partial(),I=new Set([`svg`,`png`,`webp`,`jpg`,`jpeg`,`gif`,`ico`]),L=(0,o.createDefu)((e,t,n)=>Array.isArray(n)?(e[t]=n,!0):!1);function pe(e,t){return(0,v.isAbsolute)(t)?t:(0,v.resolve)(e,t)}function me(e){return Array.isArray(e)?e.filter(g.isSetString):(0,g.isSetString)(e)?[e]:[]}function R(e){let t=e.toLowerCase();if(I.has(t))return t}function z(e){let t=(0,f.findFileExtensionSafe)(e)?.toLowerCase();return!!(t&&I.has(t))}function he(e){return n.y.test(e)}async function B(e){try{return(await(0,_.readdir)(e,{withFileTypes:!0})).filter(e=>e.isFile()&&z(e.name)).map(e=>e.name)}catch{return[]}}function V(e){if(!e)return;let n=t.n.safeParse(e);if(n.success)return[n.data];if(!Array.isArray(e))return;let r=[];for(let n of e){let e=t.n.safeParse(n);e.success&&r.push(e.data)}return r.length>0?r:void 0}function H(e){if(!(0,h.isSetObject)(e))return;let t=fe.safeParse(e);if(t.success)return Object.keys(t.data).length>0?t.data:void 0}function U(e){return(0,h.isSetObject)(e)&&`path`in e}async function W(e,t,n){let r=(0,d.appendPath)(e,t),i=R((0,f.findFileExtensionSafe)(e)??``)??`file`,a=i===`svg`?await(0,_.readFile)(r,`utf8`):void 0;return{path:r,type:i,...n?{theme:n}:{},...a===void 0?{}:{content:a}}}async function ge(e){let t=(0,p.joinPaths)(e,`package.json`);if(!(0,s.existsSync)(t))return;let n;try{n=await(0,l.readJsonFile)(t)}catch{return}let r={};(0,g.isSetString)(n.name)&&(r.name=n.name,r.title=n.name),(0,g.isSetString)(n.description)&&(r.description=n.description),(0,g.isSetString)(n.version)&&(r.version=n.version),(0,g.isSetString)(n.homepage)&&(r.homepage=n.homepage);let i=T(n.repository);if(i&&(r.repository=i),Array.isArray(n.keywords)){let e=n.keywords.filter(g.isSetString);e.length>0&&(r.tags=e)}let a=n.razorwind,o,c;U(a)?c=V(a):(0,h.isSetObject)(a)&&(o=H(a),`files`in a&&(c=V(a.files)));let u=L(o??{},r);return c?.length&&(u.files=c),Object.keys(u).length>0?u:void 0}async function _e(e){let t=(0,p.joinPaths)(e,`icon.json`);if(!(0,s.existsSync)(t))return;let n;try{n=await(0,l.readJsonFile)(t)}catch{return}if(U(n)||Array.isArray(n)){let e=V(n);if(e)return{files:e}}return H(n)}async function ve(e,t){if(t?.length)return Promise.all(t.map(async t=>{let n=(0,d.appendPath)(t.path,e),r=(0,f.findFileExtensionSafe)(t.path)??``,i=t.type??R(r)??`file`,a=t.content===void 0?i===`svg`?await(0,_.readFile)(n,`utf8`):void 0:t.content;return{...t,type:i,path:n,...a===void 0?{}:{content:a}}}));let n=await B(e);return Promise.all(n.map(t=>W(t,e)))}async function ye(e){let n=await ge(e),r=await _e(e),i=await B(e);if(!n&&!r&&i.length===0)return;let a=L(r??{},n??{}),o=(0,g.isSetString)(a.name)?a.name:(0,f.findFolderName)(e),s=(0,g.isSetString)(a.title)?a.title:(0,m.titleCase)(o),c=t.r.safeParse({...a,name:o,title:s});if(c.success)return{...c.data,files:await ve(e,c.data.files)}}function G(e,t,n){let r=e[t];if(!r){e[t]={name:t,title:(0,m.titleCase)(t),files:[n]};return}let i=[...r.files??[]],a=i.findIndex(e=>e.path===n.path&&e.theme===n.theme);a>=0?i[a]=n:i.push(n),e[t]={...r,files:i}}async function be(e,t,n){let r=await B(e);for(let i of r){let r=(0,f.findFileName)(i,{withExtension:!1});r&&G(n,r,await W(i,e,t))}}async function K(e){let t={},n=me(e.options.iconsPath);for(let r of n){let n=pe(e.cwd,r);if(!(!(0,s.existsSync)(n)||!(0,c.isDirectory)(n)))try{let e=await(0,_.readdir)(n,{withFileTypes:!0});for(let r of e){if(r.name.startsWith(`.`))continue;let e=(0,p.joinPaths)(n,r.name);if(r.isDirectory()){if(he(r.name)){await be(e,r.name,t);continue}let n=await ye(e);if(n){let e=t[n.name];t[n.name]=e?L(n,e):n}continue}if(r.isFile()&&z(r.name)){let e=(0,f.findFileName)(r.name,{withExtension:!1});if(!e)continue;G(t,e,await W(r.name,n))}}}catch{continue}}return t}function q(e,t){let n=e[t];return(0,g.isSetString)(n)?n:void 0}function J(e){let t={};(0,g.isSetString)(e.name)&&(t.name=e.name),(0,g.isSetString)(e.description)&&(t.description=e.description),(0,g.isSetString)(e.homepage)&&(t.homepage=e.homepage);let n=T(e.repository);n&&(t.repository=n),(0,g.isSetString)(e.logo)&&(t.logo=e.logo);let r=e.razorwind,i={};if((0,h.isSetObject)(r)){let t=r,n=q(t,`title`),a=q(t,`name`),o=q(t,`description`),s=q(t,`homepage`),c=q(t,`logo`),l=T(t.repository);a?i.name=a:(0,g.isSetString)(e.name)&&(i.name=e.name),n?i.title=n:(0,g.isSetString)(i.name)&&(i.title=(0,m.titleCase)(i.name)),o?i.description=o:(0,g.isSetString)(e.description)&&(i.description=e.description),s?i.homepage=s:w(e.homepage)?i.homepage=T(e.homepage):w(e.author)?i.homepage=T(e.author):e.maintainers&&Array.isArray(e.maintainers)&&e.maintainers.length>0&&w(e.maintainers[0])?i.homepage=T(e.maintainers[0]):e.contributors&&Array.isArray(e.contributors)&&e.contributors.length>0&&w(e.contributors[0])?i.homepage=T(e.contributors[0]):w(e.bugs)&&(i.homepage=T(e.bugs)),c&&(i.logo=c),l?i.repository=l:w(e.repository)&&(i.repository=T(e.repository))}return(0,o.defu)(i,t)}function Y(e){let t={};return(0,g.isSetString)(e.name)&&(t.name=e.name),(0,g.isSetString)(e.title)&&(t.title=e.title),(0,g.isSetString)(e.description)&&(t.description=e.description),(0,g.isSetString)(e.repository)&&(t.repository=e.repository),(0,g.isSetString)(e.homepage)&&(t.homepage=e.homepage),(0,g.isSetString)(e.logo)&&(t.logo=e.logo),t}async function X(e){let t=(0,p.joinPaths)(e,`package.json`);if(!(0,s.existsSync)(t))return{};let n;try{n=await(0,l.readJsonFile)(t)}catch{return{}}return J(n)}async function Z(e,t){let n=await X(e),r=Y(t);return(0,o.defu)(r,n)}const Q=C.default.homedir();async function $(e,t){let n=t.configFile&&(0,S.existsSync)((0,b.replacePath)(t.configFile,e))?(0,b.replacePath)(t.configFile,e):t.configFile&&(0,S.existsSync)(t.configFile)?t.configFile:(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.${t.mode}.ts`))?(0,p.joinPaths)(e,`razorwind.${t.mode}.ts`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.${t.mode}.js`))?(0,p.joinPaths)(e,`razorwind.${t.mode}.js`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.${t.mode}.mts`))?(0,p.joinPaths)(e,`razorwind.${t.mode}.mts`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.${t.mode}.mjs`))?(0,p.joinPaths)(e,`razorwind.${t.mode}.mjs`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.${t.mode}.cjs`))?(0,p.joinPaths)(e,`razorwind.${t.mode}.cjs`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.${t.mode}.cts`))?(0,p.joinPaths)(e,`razorwind.${t.mode}.cts`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.${t.mode}.json`))?(0,p.joinPaths)(e,`razorwind.${t.mode}.json`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.${t.mode}.yaml`))?(0,p.joinPaths)(e,`razorwind.${t.mode}.yaml`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.${t.mode}.yml`))?(0,p.joinPaths)(e,`razorwind.${t.mode}.yml`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.config.ts`))?(0,p.joinPaths)(e,`razorwind.config.ts`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.config.js`))?(0,p.joinPaths)(e,`razorwind.config.js`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.config.mts`))?(0,p.joinPaths)(e,`razorwind.config.mts`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.config.mjs`))?(0,p.joinPaths)(e,`razorwind.config.mjs`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.config.cjs`))?(0,p.joinPaths)(e,`razorwind.config.cjs`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.config.cts`))?(0,p.joinPaths)(e,`razorwind.config.cts`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.config.json`))?(0,p.joinPaths)(e,`razorwind.config.json`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.config.yaml`))?(0,p.joinPaths)(e,`razorwind.config.yaml`):(0,S.existsSync)((0,p.joinPaths)(e,`razorwind.config.yml`))?(0,p.joinPaths)(e,`razorwind.config.yml`):void 0,r=(0,ee.getEnvPaths)({orgId:`storm-software`,appId:`razorwind`,workspaceRoot:e}),i={fsCache:r.cache},a=(0,ne.createJiti)(e,i),s={};if(n){let r=await a.import(n,{default:!0});if(r){let i={};(0,te.isFunction)(r)?i=await Promise.resolve(r({cwd:e,mode:t.mode??`development`})):((0,h.isSetObject)(r)||Array.isArray(r))&&(i=r),((0,h.isSetObject)(i)||Array.isArray(i))&&(s={...i,configFile:n})}}let[c,l,u]=await Promise.all([(0,x.loadConfig)({cwd:e,name:`razorwind`,envName:t.mode,globalRc:!0,packageJson:`razorwind`,dotenv:!0,jitiOptions:i}),(0,x.loadConfig)({cwd:r.config,name:`razorwind`,envName:t.mode,dotenv:!0,jitiOptions:i}),(0,x.loadConfig)({cwd:Q,name:`razorwind`,envName:t.mode,dotenv:!0,jitiOptions:i})]),d=(0,o.defu)({cwd:e,envPaths:{...r,home:Q}},t,s,(0,h.isSetObject)(c?.config)?{...c.config}:{},(0,h.isSetObject)(l?.config)?{...l.config}:{},(0,h.isSetObject)(u?.config)?{...u.config}:{},{componentsPath:e,iconsPath:(0,p.joinPaths)(e,`assets/icons`),plugins:[]});if(Array.isArray(d.componentsPath)){let t=d.componentsPath.filter(g.isSetString).map(e=>(0,y.findFilePath)(e));d.componentsPath=t.length>0?t:e}else d.componentsPath=(0,g.isSetString)(d.componentsPath)?(0,y.findFilePath)(d.componentsPath):e;if(Array.isArray(d.iconsPath)){let t=d.iconsPath.filter(g.isSetString).map(e=>(0,y.findFilePath)(e));d.iconsPath=t.length>0?t:(0,p.joinPaths)(e,`assets/icons`)}else d.iconsPath=(0,g.isSetString)(d.iconsPath)?(0,y.findFilePath)(d.iconsPath):(0,p.joinPaths)(e,`assets/icons`);return Array.isArray(d.plugins)||(d.plugins=[]),d}function xe(e){return e}const Se=(0,i.defineGenerator)({meta:{name:`razorwind`,title:`Razorwind`,description:`A generator that uses Razorwind to generate design system code from design tokens, components, and icons.`,version:re,tags:[`razorwind`,`dtcg`]},schema:(0,i.defineSchema)({schema:t.t}),input:async e=>{let t=(0,i.useExecution)();if(t.options=await $(t.cwd,e),t.options.plugins.length===0)throw Error(`Razorwind will not generate any code - no plugins configured. Please add at least one plugin to the configuration.`);let r=t.options.tokens;(!r||(0,a.isEmptyObject)(r))&&(r=await n.t(t));let s={...await Z(t.cwd,t.options),tokens:r??{},components:(0,o.defu)(t.options.components??{},await F(t)??{}),icons:(0,o.defu)(t.options.icons??{},await K(t)??{})};for(let e of t.options.plugins.filter(e=>e.extract))s=await e.extract(s,t.options);if(!s.tokens||(0,a.isEmptyObject)(s.tokens))throw Error(`Unable to load design tokens for the current workspace. Please ensure that Razorwind is configured correctly and that the tokens are available.`);for(let e of t.options.plugins.filter(e=>e.validate))await e.validate(s,t.options);return s},generator:async e=>{let t=(0,i.useExecution)(),n={};for(let r of t.options.plugins.filter(e=>e.generate)){let i=await r.generate(e,t.options);n=(0,o.defu)(i,n)}return n}});exports.DEFAULT_TOKEN_PATH_CANDIDATES=n.v,exports.RAZORWIND_INFER_PREPROCESSOR=n.a,exports.THEME_BASENAME_PATTERN=n.y,exports.TOKEN_DIRECTORY_GLOB=n.b,exports.TOKEN_FILE_EXTENSIONS=n.x,exports.TYPE_PATH_HINTS=n.C,exports.WINDIE_PARSERS=n.S,exports.razorwindParsers=n.S,exports.defineConfig=xe,exports.definePlugin=r.definePlugin,exports.generator=Se,exports.getExtractionHooks=n.o,exports.getRazorwindParserHooks=n.s,exports.getRazorwindPreprocessorHooks=n.c,exports.inferTypeFromPath=n.m,exports.inferValue=n.h,exports.loadComponents=F,exports.loadIcons=K,exports.loadSchemaMetaFromPackageJson=X,exports.loadTokens=n.t,exports.loadTokensOrThrow=n.n,exports.nestFlatTokens=n.g,exports.normalizeRepository=T,exports.normalizeTokenTree=n._,exports.parseCssCustomProperties=n.p,exports.razorwindInferPreprocessor=n.l,exports.registerRazorwindHooks=n.u,exports.registerRazorwindParsers=n.d,exports.resolveConfig=$,exports.resolveSchemaMeta=Z,exports.resolveTokensSource=n.r,exports.schemaMetaFromConfig=Y,exports.schemaMetaFromPackageJson=J,exports.styleDictionaryLogOptions=n.f,exports.themeKeyFromPath=n.i;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { a as Icons, f as Components, t as Schema } from "./schema-CsbyELyn.cjs";
|
|
2
2
|
import "./index-BjSOzDOH.cjs";
|
|
3
|
-
import { a as UserConfigFn, c as UserConfigParams, d as TokensPreprocessor, i as UserConfigExport, l as Plugin, n as Options, o as UserConfigFnObject, r as UserConfig, s as UserConfigFnPromise, t as Config, u as TokensParser } from "./config-
|
|
4
|
-
import { t as definePlugin } from "./plugin-
|
|
5
|
-
import { A as
|
|
3
|
+
import { a as UserConfigFn, c as UserConfigParams, d as TokensPreprocessor, i as UserConfigExport, l as Plugin, n as Options, o as UserConfigFnObject, r as UserConfig, s as UserConfigFnPromise, t as Config, u as TokensParser } from "./config-25eDAKIq.cjs";
|
|
4
|
+
import { t as definePlugin } from "./plugin-m5Bm4WrK.cjs";
|
|
5
|
+
import { A as TOKEN_PARSER_NAMES, C as normalizeTokenTree, D as THEME_BASENAME_PATTERN, E as RazorwindParserName, O as TOKEN_DIRECTORY_GLOB, S as nestFlatTokens, T as DEFAULT_TOKEN_PATH_CANDIDATES, _ as resolveTokensSource, a as getRazorwindParserHooks, b as inferTypeFromPath, c as registerRazorwindHooks, d as LoadTokensOptions, f as LoadedTokens, g as ResolvedTokensSource, h as ResolveTokensPathOptions, i as getExtractionHooks, j as TYPE_PATH_HINTS, k as TOKEN_FILE_EXTENSIONS, l as registerRazorwindParsers, m as loadTokensOrThrow, n as RAZORWIND_INFER_PREPROCESSOR, o as getRazorwindPreprocessorHooks, p as loadTokens, r as StyleDictionaryRegisterTarget, s as razorwindInferPreprocessor, t as ExtractionHooks, u as styleDictionaryLogOptions, v as themeKeyFromPath, w as parseCssCustomProperties, x as inferValue, y as InferredTokenType } from "./index-lcz6riNX.cjs";
|
|
6
6
|
import StyleDictionary from "style-dictionary";
|
|
7
7
|
import { ExecutionContext, GeneratorConfig } from "@power-plant/core";
|
|
8
8
|
//#region src/lib/resolve-config.d.ts
|
|
@@ -122,5 +122,5 @@ declare module "@power-plant/core" {
|
|
|
122
122
|
*/
|
|
123
123
|
declare const generator: import("@power-plant/core").GeneratorConfigObject<Schema, Options, any>;
|
|
124
124
|
//#endregion
|
|
125
|
-
export { type Config, DEFAULT_TOKEN_PATH_CANDIDATES, type ExtractionHooks, type Generator, type InferredTokenType, type LoadTokensOptions, type LoadedTokens, type Options, type Plugin, RAZORWIND_INFER_PREPROCESSOR, type RazorwindParserName, type ResolveTokensPathOptions, type ResolvedTokensSource, type SchemaMeta, type StyleDictionaryRegisterTarget, THEME_BASENAME_PATTERN, TOKEN_DIRECTORY_GLOB, TOKEN_FILE_EXTENSIONS, TYPE_PATH_HINTS, type TokensParser, type TokensPreprocessor, type UserConfig, type UserConfigExport, type UserConfigFn, type UserConfigFnObject, type UserConfigFnPromise, type UserConfigParams, TOKEN_PARSER_NAMES as WINDIE_PARSERS, TOKEN_PARSER_NAMES as razorwindParsers, defineConfig, definePlugin, generator, getExtractionHooks, getRazorwindParserHooks, getRazorwindPreprocessorHooks, inferTypeFromPath, inferValue, loadComponents, loadIcons, loadSchemaMetaFromPackageJson, loadTokens, loadTokensOrThrow, nestFlatTokens, normalizeUrl as normalizeRepository, normalizeTokenTree, parseCssCustomProperties, razorwindInferPreprocessor, registerRazorwindHooks, registerRazorwindParsers, resolveConfig, resolveSchemaMeta, resolveTokensSource, schemaMetaFromConfig, schemaMetaFromPackageJson, themeKeyFromPath };
|
|
125
|
+
export { type Config, DEFAULT_TOKEN_PATH_CANDIDATES, type ExtractionHooks, type Generator, type InferredTokenType, type LoadTokensOptions, type LoadedTokens, type Options, type Plugin, RAZORWIND_INFER_PREPROCESSOR, type RazorwindParserName, type ResolveTokensPathOptions, type ResolvedTokensSource, type SchemaMeta, type StyleDictionaryRegisterTarget, THEME_BASENAME_PATTERN, TOKEN_DIRECTORY_GLOB, TOKEN_FILE_EXTENSIONS, TYPE_PATH_HINTS, type TokensParser, type TokensPreprocessor, type UserConfig, type UserConfigExport, type UserConfigFn, type UserConfigFnObject, type UserConfigFnPromise, type UserConfigParams, TOKEN_PARSER_NAMES as WINDIE_PARSERS, TOKEN_PARSER_NAMES as razorwindParsers, defineConfig, definePlugin, generator, getExtractionHooks, getRazorwindParserHooks, getRazorwindPreprocessorHooks, inferTypeFromPath, inferValue, loadComponents, loadIcons, loadSchemaMetaFromPackageJson, loadTokens, loadTokensOrThrow, nestFlatTokens, normalizeUrl as normalizeRepository, normalizeTokenTree, parseCssCustomProperties, razorwindInferPreprocessor, registerRazorwindHooks, registerRazorwindParsers, resolveConfig, resolveSchemaMeta, resolveTokensSource, schemaMetaFromConfig, schemaMetaFromPackageJson, styleDictionaryLogOptions, themeKeyFromPath };
|
|
126
126
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.mts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { a as Icons, f as Components, t as Schema } from "./schema-CsbyELyn.mjs";
|
|
2
2
|
import "./index-DM8vit-J.mjs";
|
|
3
|
-
import { a as UserConfigFn, c as UserConfigParams, d as TokensPreprocessor, i as UserConfigExport, l as Plugin, n as Options, o as UserConfigFnObject, r as UserConfig, s as UserConfigFnPromise, t as Config, u as TokensParser } from "./config-
|
|
4
|
-
import { t as definePlugin } from "./plugin-
|
|
5
|
-
import { A as
|
|
3
|
+
import { a as UserConfigFn, c as UserConfigParams, d as TokensPreprocessor, i as UserConfigExport, l as Plugin, n as Options, o as UserConfigFnObject, r as UserConfig, s as UserConfigFnPromise, t as Config, u as TokensParser } from "./config-rgbP9zhp.mjs";
|
|
4
|
+
import { t as definePlugin } from "./plugin-CAoFfyMa.mjs";
|
|
5
|
+
import { A as TOKEN_PARSER_NAMES, C as normalizeTokenTree, D as THEME_BASENAME_PATTERN, E as RazorwindParserName, O as TOKEN_DIRECTORY_GLOB, S as nestFlatTokens, T as DEFAULT_TOKEN_PATH_CANDIDATES, _ as resolveTokensSource, a as getRazorwindParserHooks, b as inferTypeFromPath, c as registerRazorwindHooks, d as LoadTokensOptions, f as LoadedTokens, g as ResolvedTokensSource, h as ResolveTokensPathOptions, i as getExtractionHooks, j as TYPE_PATH_HINTS, k as TOKEN_FILE_EXTENSIONS, l as registerRazorwindParsers, m as loadTokensOrThrow, n as RAZORWIND_INFER_PREPROCESSOR, o as getRazorwindPreprocessorHooks, p as loadTokens, r as StyleDictionaryRegisterTarget, s as razorwindInferPreprocessor, t as ExtractionHooks, u as styleDictionaryLogOptions, v as themeKeyFromPath, w as parseCssCustomProperties, x as inferValue, y as InferredTokenType } from "./index-D6-DvdGv.mjs";
|
|
6
6
|
import { ExecutionContext, GeneratorConfig } from "@power-plant/core";
|
|
7
7
|
import StyleDictionary from "style-dictionary";
|
|
8
8
|
//#region src/lib/resolve-config.d.ts
|
|
@@ -122,5 +122,5 @@ declare module "@power-plant/core" {
|
|
|
122
122
|
*/
|
|
123
123
|
declare const generator: import("@power-plant/core").GeneratorConfigObject<Schema, Options, any>;
|
|
124
124
|
//#endregion
|
|
125
|
-
export { type Config, DEFAULT_TOKEN_PATH_CANDIDATES, type ExtractionHooks, type Generator, type InferredTokenType, type LoadTokensOptions, type LoadedTokens, type Options, type Plugin, RAZORWIND_INFER_PREPROCESSOR, type RazorwindParserName, type ResolveTokensPathOptions, type ResolvedTokensSource, type SchemaMeta, type StyleDictionaryRegisterTarget, THEME_BASENAME_PATTERN, TOKEN_DIRECTORY_GLOB, TOKEN_FILE_EXTENSIONS, TYPE_PATH_HINTS, type TokensParser, type TokensPreprocessor, type UserConfig, type UserConfigExport, type UserConfigFn, type UserConfigFnObject, type UserConfigFnPromise, type UserConfigParams, TOKEN_PARSER_NAMES as WINDIE_PARSERS, TOKEN_PARSER_NAMES as razorwindParsers, defineConfig, definePlugin, generator, getExtractionHooks, getRazorwindParserHooks, getRazorwindPreprocessorHooks, inferTypeFromPath, inferValue, loadComponents, loadIcons, loadSchemaMetaFromPackageJson, loadTokens, loadTokensOrThrow, nestFlatTokens, normalizeUrl as normalizeRepository, normalizeTokenTree, parseCssCustomProperties, razorwindInferPreprocessor, registerRazorwindHooks, registerRazorwindParsers, resolveConfig, resolveSchemaMeta, resolveTokensSource, schemaMetaFromConfig, schemaMetaFromPackageJson, themeKeyFromPath };
|
|
125
|
+
export { type Config, DEFAULT_TOKEN_PATH_CANDIDATES, type ExtractionHooks, type Generator, type InferredTokenType, type LoadTokensOptions, type LoadedTokens, type Options, type Plugin, RAZORWIND_INFER_PREPROCESSOR, type RazorwindParserName, type ResolveTokensPathOptions, type ResolvedTokensSource, type SchemaMeta, type StyleDictionaryRegisterTarget, THEME_BASENAME_PATTERN, TOKEN_DIRECTORY_GLOB, TOKEN_FILE_EXTENSIONS, TYPE_PATH_HINTS, type TokensParser, type TokensPreprocessor, type UserConfig, type UserConfigExport, type UserConfigFn, type UserConfigFnObject, type UserConfigFnPromise, type UserConfigParams, TOKEN_PARSER_NAMES as WINDIE_PARSERS, TOKEN_PARSER_NAMES as razorwindParsers, defineConfig, definePlugin, generator, getExtractionHooks, getRazorwindParserHooks, getRazorwindPreprocessorHooks, inferTypeFromPath, inferValue, loadComponents, loadIcons, loadSchemaMetaFromPackageJson, loadTokens, loadTokensOrThrow, nestFlatTokens, normalizeUrl as normalizeRepository, normalizeTokenTree, parseCssCustomProperties, razorwindInferPreprocessor, registerRazorwindHooks, registerRazorwindParsers, resolveConfig, resolveSchemaMeta, resolveTokensSource, schemaMetaFromConfig, schemaMetaFromPackageJson, styleDictionaryLogOptions, themeKeyFromPath };
|
|
126
126
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as e,c as t,i as n,l as r,r as i,s as a}from"./schema-buR6a6IP.mjs";import{S as o,_ as s,a as c,b as l,c as u,d as ee,f as te,g as ne,h as re,i as ie,l as ae,m as oe,n as se,o as ce,p as le,r as ue,s as de,t as d,u as fe,v as pe,x as f,y as me}from"./tokens-B1I6HQim.mjs";import{definePlugin as he}from"./plugin.mjs";import{defineGenerator as ge,defineSchema as _e,useExecution as p}from"@power-plant/core";import{isEmptyObject as m}from"@stryke/type-checks/is-empty-object";import{createDefu as ve,defu as h}from"defu";import{existsSync as g}from"@stryke/fs/exists";import{isDirectory as _}from"@stryke/fs/is-file";import{readJsonFile as v}from"@stryke/fs/json";import{listFiles as ye}from"@stryke/fs/list-files";import{appendPath as y}from"@stryke/path/append";import{findFileExtensionSafe as b,findFileName as x,findFolderName as be}from"@stryke/path/file-path-fns";import{joinPaths as S}from"@stryke/path/join";import{titleCase as C}from"@stryke/string-format/title-case";import{isSetObject as w}from"@stryke/type-checks/is-set-object";import{isSetString as T}from"@stryke/type-checks/is-set-string";import{readFile as E,readdir as D}from"node:fs/promises";import{isAbsolute as O,resolve as k}from"node:path";import{getEnvPaths as xe}from"@stryke/env/get-env-paths";import{findFilePath as A}from"@stryke/path/find";import{replacePath as j}from"@stryke/path/replace";import{isFunction as Se}from"@stryke/type-checks/is-function";import{loadConfig as M}from"c12";import{createJiti as Ce}from"jiti";import{existsSync as N}from"node:fs";import we from"node:os";var Te=`0.0.44`;function P(e){return!!(T(e)||w(e)&&`url`in e&&T(e.url))}function F(e){if(T(e))return e;if(w(e)&&`url`in e&&T(e.url))return e.url}const Ee=t.partial(),I=new Set([`tsx`,`jsx`,`ts`,`js`,`mdx`,`md`,`css`,`html`,`txt`]),L=ve((e,t,n)=>Array.isArray(n)?(e[t]=n,!0):!1);function De(e,t){return O(t)?t:k(e,t)}function Oe(e){return Array.isArray(e)?e.filter(T):T(e)?[e]:[]}function R(e){let t=e.toLowerCase();if(I.has(t))return t}function ke(e){let t=b(e)?.toLowerCase();return!!(t&&I.has(t))}function z(e){if(!e)return;let t=a.safeParse(e);if(t.success)return[t.data];if(!Array.isArray(e))return;let n=[];for(let t of e){let e=a.safeParse(t);e.success&&n.push(e.data)}return n.length>0?n:void 0}function B(e){if(!e)return;let t=r.safeParse(e);if(t.success)return[t.data];if(!Array.isArray(e))return;let n=[];for(let t of e){if(T(t)){let e=x(t,{withExtension:!1})||t,i=r.safeParse({name:e,path:t});i.success&&n.push(i.data);continue}let e=r.safeParse(t);e.success&&n.push(e.data)}return n.length>0?n:void 0}function V(e){if(!w(e))return;let{files:t,usage:n,...r}=e,i=Ee.safeParse(r);if(i.success)return Object.keys(i.data).length>0?i.data:void 0}function H(e){return w(e)&&`path`in e}async function Ae(e){let t=S(e,`package.json`);if(!g(t))return;let n;try{n=await v(t)}catch{return}let r={};T(n.name)&&(r.name=n.name,r.title=n.name),T(n.description)&&(r.description=n.description),T(n.version)&&(r.version=n.version),T(n.homepage)&&(r.homepage=n.homepage);let i=F(n.repository);if(i&&(r.repository=i),w(n.dependencies)&&(r.dependencies=n.dependencies),w(n.devDependencies)&&(r.devDependencies=n.devDependencies),Array.isArray(n.keywords)){let e=n.keywords.filter(T);e.length>0&&(r.tags=e)}let a=n.razorwind,o,s,c;H(a)?s=z(a):w(a)&&(o=V(a),`files`in a&&(s=z(a.files)),`usage`in a&&(c=B(a.usage)));let l=L(o??{},r);return s?.length&&(l.files=s),c?.length&&(l.usage=c),Object.keys(l).length>0?l:void 0}async function je(e){let t=S(e,`component.json`);if(!g(t))return;let n;try{n=await v(t)}catch{return}if(H(n)||Array.isArray(n)){let e=z(n);if(e)return{files:e}}if(!w(n))return;let r=V(n)??{},i=`files`in n?z(n.files):void 0,a=`usage`in n?B(n.usage):void 0;return i?.length&&(r.files=i),a?.length&&(r.usage=a),Object.keys(r).length>0?r:void 0}async function Me(e){try{return(await D(e,{withFileTypes:!0})).filter(e=>e.isFile()&&!e.name.startsWith(`.`)&&ke(e.name)).map(e=>e.name).toSorted((e,t)=>e.localeCompare(t))}catch{return[]}}async function Ne(e,t){if(t?.length)return Promise.all(t.map(async t=>{let n=y(t.path,e),r=b(t.path)??``,i=t.language??R(r),a=t.name||x(t.path,{withExtension:!1})||t.path,o=t.content===void 0?g(n)?await E(n,`utf8`):void 0:t.content;return{...t,name:a,path:n,...i?{language:i}:{},...o===void 0?{}:{content:o}}}));let n=S(e,`usage`);if(!g(n)||!_(n))return;let r=await Me(n);if(r.length!==0)return Promise.all(r.map(async e=>{let t=S(n,e),r=R(b(e)??``),i=x(e,{withExtension:!1})||e;return{name:i,title:C(i),path:t,content:await E(t,`utf8`),...r?{language:r}:{}}}))}async function Pe(e,t){let n=t??(await ye(e)).filter(e=>x(e,{withExtension:!1})===`index`);return Promise.all(n.filter(Boolean).map(async t=>typeof t==`string`?{type:/[tj]sx$/.test(b(t))?`component`:`file`,path:t,content:await E(y(t,e),`utf8`)}:{type:/[tj]sx$/.test(b(t.path))?`component`:`file`,...t,content:t.content?t.content:t.path?await E(y(t.path,e),`utf8`):void 0,path:y(t.path,e)}))}async function Fe(e){let n=await Ae(e),r=await je(e);if(!n&&!r)return;let i=L(r??{},n??{}),a=T(i.name)?i.name:be(e),o=T(i.title)?i.title:C(a),s=t.safeParse({...i,name:a,title:o});if(!s.success)return;let c=await Ne(e,s.data.usage);return{...s.data,files:await Pe(e,s.data.files),...c?.length?{usage:c}:{}}}async function U(e){let t={},n=Oe(e.options.componentsPath);for(let r of n){let n=De(e.cwd,r);if(!(!g(n)||!_(n)))try{let e=await D(n,{withFileTypes:!0});for(let r of e){if(!r.isDirectory()||r.name.startsWith(`.`))continue;let e=await Fe(S(n,r.name));e&&(t[e.name]=e)}}catch{continue}}return t}const Ie=e.partial(),W=new Set([`svg`,`png`,`webp`,`jpg`,`jpeg`,`gif`,`ico`]),G=ve((e,t,n)=>Array.isArray(n)?(e[t]=n,!0):!1);function Le(e,t){return O(t)?t:k(e,t)}function Re(e){return Array.isArray(e)?e.filter(T):T(e)?[e]:[]}function K(e){let t=e.toLowerCase();if(W.has(t))return t}function q(e){let t=b(e)?.toLowerCase();return!!(t&&W.has(t))}function ze(e){return pe.test(e)}async function J(e){try{return(await D(e,{withFileTypes:!0})).filter(e=>e.isFile()&&q(e.name)).map(e=>e.name)}catch{return[]}}function Y(e){if(!e)return;let t=n.safeParse(e);if(t.success)return[t.data];if(!Array.isArray(e))return;let r=[];for(let t of e){let e=n.safeParse(t);e.success&&r.push(e.data)}return r.length>0?r:void 0}function X(e){if(!w(e))return;let t=Ie.safeParse(e);if(t.success)return Object.keys(t.data).length>0?t.data:void 0}function Z(e){return w(e)&&`path`in e}async function Q(e,t,n){let r=y(e,t),i=K(b(e)??``)??`file`,a=i===`svg`?await E(r,`utf8`):void 0;return{path:r,type:i,...n?{theme:n}:{},...a===void 0?{}:{content:a}}}async function Be(e){let t=S(e,`package.json`);if(!g(t))return;let n;try{n=await v(t)}catch{return}let r={};T(n.name)&&(r.name=n.name,r.title=n.name),T(n.description)&&(r.description=n.description),T(n.version)&&(r.version=n.version),T(n.homepage)&&(r.homepage=n.homepage);let i=F(n.repository);if(i&&(r.repository=i),Array.isArray(n.keywords)){let e=n.keywords.filter(T);e.length>0&&(r.tags=e)}let a=n.razorwind,o,s;Z(a)?s=Y(a):w(a)&&(o=X(a),`files`in a&&(s=Y(a.files)));let c=G(o??{},r);return s?.length&&(c.files=s),Object.keys(c).length>0?c:void 0}async function Ve(e){let t=S(e,`icon.json`);if(!g(t))return;let n;try{n=await v(t)}catch{return}if(Z(n)||Array.isArray(n)){let e=Y(n);if(e)return{files:e}}return X(n)}async function He(e,t){if(t?.length)return Promise.all(t.map(async t=>{let n=y(t.path,e),r=b(t.path)??``,i=t.type??K(r)??`file`,a=t.content===void 0?i===`svg`?await E(n,`utf8`):void 0:t.content;return{...t,type:i,path:n,...a===void 0?{}:{content:a}}}));let n=await J(e);return Promise.all(n.map(t=>Q(t,e)))}async function Ue(t){let n=await Be(t),r=await Ve(t),i=await J(t);if(!n&&!r&&i.length===0)return;let a=G(r??{},n??{}),o=T(a.name)?a.name:be(t),s=T(a.title)?a.title:C(o),c=e.safeParse({...a,name:o,title:s});if(c.success)return{...c.data,files:await He(t,c.data.files)}}function We(e,t,n){let r=e[t];if(!r){e[t]={name:t,title:C(t),files:[n]};return}let i=[...r.files??[]],a=i.findIndex(e=>e.path===n.path&&e.theme===n.theme);a>=0?i[a]=n:i.push(n),e[t]={...r,files:i}}async function Ge(e,t,n){let r=await J(e);for(let i of r){let r=x(i,{withExtension:!1});r&&We(n,r,await Q(i,e,t))}}async function Ke(e){let t={},n=Re(e.options.iconsPath);for(let r of n){let n=Le(e.cwd,r);if(!(!g(n)||!_(n)))try{let e=await D(n,{withFileTypes:!0});for(let r of e){if(r.name.startsWith(`.`))continue;let e=S(n,r.name);if(r.isDirectory()){if(ze(r.name)){await Ge(e,r.name,t);continue}let n=await Ue(e);if(n){let e=t[n.name];t[n.name]=e?G(n,e):n}continue}if(r.isFile()&&q(r.name)){let e=x(r.name,{withExtension:!1});if(!e)continue;We(t,e,await Q(r.name,n))}}}catch{continue}}return t}function $(e,t){let n=e[t];return T(n)?n:void 0}function qe(e){let t={};T(e.name)&&(t.name=e.name),T(e.description)&&(t.description=e.description),T(e.homepage)&&(t.homepage=e.homepage);let n=F(e.repository);n&&(t.repository=n),T(e.logo)&&(t.logo=e.logo);let r=e.razorwind,i={};if(w(r)){let t=r,n=$(t,`title`),a=$(t,`name`),o=$(t,`description`),s=$(t,`homepage`),c=$(t,`logo`),l=F(t.repository);a?i.name=a:T(e.name)&&(i.name=e.name),n?i.title=n:T(i.name)&&(i.title=C(i.name)),o?i.description=o:T(e.description)&&(i.description=e.description),s?i.homepage=s:P(e.homepage)?i.homepage=F(e.homepage):P(e.author)?i.homepage=F(e.author):e.maintainers&&Array.isArray(e.maintainers)&&e.maintainers.length>0&&P(e.maintainers[0])?i.homepage=F(e.maintainers[0]):e.contributors&&Array.isArray(e.contributors)&&e.contributors.length>0&&P(e.contributors[0])?i.homepage=F(e.contributors[0]):P(e.bugs)&&(i.homepage=F(e.bugs)),c&&(i.logo=c),l?i.repository=l:P(e.repository)&&(i.repository=F(e.repository))}return h(i,t)}function Je(e){let t={};return T(e.name)&&(t.name=e.name),T(e.title)&&(t.title=e.title),T(e.description)&&(t.description=e.description),T(e.repository)&&(t.repository=e.repository),T(e.homepage)&&(t.homepage=e.homepage),T(e.logo)&&(t.logo=e.logo),t}async function Ye(e){let t=S(e,`package.json`);if(!g(t))return{};let n;try{n=await v(t)}catch{return{}}return qe(n)}async function Xe(e,t){let n=await Ye(e),r=Je(t);return h(r,n)}const Ze=we.homedir();async function Qe(e,t){let n=t.configFile&&N(j(t.configFile,e))?j(t.configFile,e):t.configFile&&N(t.configFile)?t.configFile:N(S(e,`razorwind.${t.mode}.ts`))?S(e,`razorwind.${t.mode}.ts`):N(S(e,`razorwind.${t.mode}.js`))?S(e,`razorwind.${t.mode}.js`):N(S(e,`razorwind.${t.mode}.mts`))?S(e,`razorwind.${t.mode}.mts`):N(S(e,`razorwind.${t.mode}.mjs`))?S(e,`razorwind.${t.mode}.mjs`):N(S(e,`razorwind.${t.mode}.cjs`))?S(e,`razorwind.${t.mode}.cjs`):N(S(e,`razorwind.${t.mode}.cts`))?S(e,`razorwind.${t.mode}.cts`):N(S(e,`razorwind.${t.mode}.json`))?S(e,`razorwind.${t.mode}.json`):N(S(e,`razorwind.${t.mode}.yaml`))?S(e,`razorwind.${t.mode}.yaml`):N(S(e,`razorwind.${t.mode}.yml`))?S(e,`razorwind.${t.mode}.yml`):N(S(e,`razorwind.config.ts`))?S(e,`razorwind.config.ts`):N(S(e,`razorwind.config.js`))?S(e,`razorwind.config.js`):N(S(e,`razorwind.config.mts`))?S(e,`razorwind.config.mts`):N(S(e,`razorwind.config.mjs`))?S(e,`razorwind.config.mjs`):N(S(e,`razorwind.config.cjs`))?S(e,`razorwind.config.cjs`):N(S(e,`razorwind.config.cts`))?S(e,`razorwind.config.cts`):N(S(e,`razorwind.config.json`))?S(e,`razorwind.config.json`):N(S(e,`razorwind.config.yaml`))?S(e,`razorwind.config.yaml`):N(S(e,`razorwind.config.yml`))?S(e,`razorwind.config.yml`):void 0,r=xe({orgId:`storm-software`,appId:`razorwind`,workspaceRoot:e}),i={fsCache:r.cache},a=Ce(e,i),o={};if(n){let r=await a.import(n,{default:!0});if(r){let i={};Se(r)?i=await Promise.resolve(r({cwd:e,mode:t.mode??`development`})):(w(r)||Array.isArray(r))&&(i=r),(w(i)||Array.isArray(i))&&(o={...i,configFile:n})}}let[s,c,l]=await Promise.all([M({cwd:e,name:`razorwind`,envName:t.mode,globalRc:!0,packageJson:`razorwind`,dotenv:!0,jitiOptions:i}),M({cwd:r.config,name:`razorwind`,envName:t.mode,dotenv:!0,jitiOptions:i}),M({cwd:Ze,name:`razorwind`,envName:t.mode,dotenv:!0,jitiOptions:i})]),u=h({cwd:e,envPaths:{...r,home:Ze}},t,o,w(s?.config)?{...s.config}:{},w(c?.config)?{...c.config}:{},w(l?.config)?{...l.config}:{},{componentsPath:e,iconsPath:S(e,`assets/icons`),plugins:[]});if(Array.isArray(u.componentsPath)){let t=u.componentsPath.filter(T).map(e=>A(e));u.componentsPath=t.length>0?t:e}else u.componentsPath=T(u.componentsPath)?A(u.componentsPath):e;if(Array.isArray(u.iconsPath)){let t=u.iconsPath.filter(T).map(e=>A(e));u.iconsPath=t.length>0?t:S(e,`assets/icons`)}else u.iconsPath=T(u.iconsPath)?A(u.iconsPath):S(e,`assets/icons`);return Array.isArray(u.plugins)||(u.plugins=[]),u}function $e(e){return e}const et=ge({meta:{name:`razorwind`,title:`Razorwind`,description:`A generator that uses Razorwind to generate design system code from design tokens, components, and icons.`,version:Te,tags:[`razorwind`,`dtcg`]},schema:_e({schema:i}),input:async e=>{let t=p();if(t.options=await Qe(t.cwd,e),t.options.plugins.length===0)throw Error(`Razorwind will not generate any code - no plugins configured. Please add at least one plugin to the configuration.`);let n=t.options.tokens;(!n||m(n))&&(n=await d(t));let r={...await Xe(t.cwd,t.options),tokens:n??{},components:h(t.options.components??{},await U(t)??{}),icons:h(t.options.icons??{},await Ke(t)??{})};for(let e of t.options.plugins.filter(e=>e.extract))r=await e.extract(r,t.options);if(!r.tokens||m(r.tokens))throw Error(`Unable to load design tokens for the current workspace. Please ensure that Razorwind is configured correctly and that the tokens are available.`);for(let e of t.options.plugins.filter(e=>e.validate))await e.validate(r,t.options);return r},generator:async e=>{let t=p(),n={};for(let r of t.options.plugins.filter(e=>e.generate)){let i=await r.generate(e,t.options);n=h(i,n)}return n}});export{s as DEFAULT_TOKEN_PATH_CANDIDATES,c as RAZORWIND_INFER_PREPROCESSOR,pe as THEME_BASENAME_PATTERN,me as TOKEN_DIRECTORY_GLOB,l as TOKEN_FILE_EXTENSIONS,o as TYPE_PATH_HINTS,f as WINDIE_PARSERS,f as razorwindParsers,$e as defineConfig,he as definePlugin,et as generator,ce as getExtractionHooks,de as getRazorwindParserHooks,u as getRazorwindPreprocessorHooks,le as inferTypeFromPath,oe as inferValue,U as loadComponents,Ke as loadIcons,Ye as loadSchemaMetaFromPackageJson,d as loadTokens,se as loadTokensOrThrow,re as nestFlatTokens,F as normalizeRepository,ne as normalizeTokenTree,te as parseCssCustomProperties,ae as razorwindInferPreprocessor,fe as registerRazorwindHooks,ee as registerRazorwindParsers,Qe as resolveConfig,Xe as resolveSchemaMeta,ue as resolveTokensSource,Je as schemaMetaFromConfig,qe as schemaMetaFromPackageJson,ie as themeKeyFromPath};
|
|
1
|
+
import{a as e,c as t,i as n,l as r,r as i,s as a}from"./schema-buR6a6IP.mjs";import{C as o,S as s,_ as c,a as l,b as u,c as ee,d as te,f as ne,g as re,h as ie,i as ae,l as oe,m as se,n as ce,o as le,p as ue,r as de,s as fe,t as d,u as pe,v as me,x as he,y as f}from"./tokens-CXYvywlP.mjs";import{definePlugin as ge}from"./plugin.mjs";import{defineGenerator as _e,defineSchema as ve,useExecution as p}from"@power-plant/core";import{isEmptyObject as ye}from"@stryke/type-checks/is-empty-object";import{createDefu as be,defu as m}from"defu";import{existsSync as h}from"@stryke/fs/exists";import{isDirectory as g}from"@stryke/fs/is-file";import{readJsonFile as _}from"@stryke/fs/json";import{listFiles as xe}from"@stryke/fs/list-files";import{appendPath as v}from"@stryke/path/append";import{findFileExtensionSafe as y,findFileName as b,findFolderName as x}from"@stryke/path/file-path-fns";import{joinPaths as S}from"@stryke/path/join";import{titleCase as C}from"@stryke/string-format/title-case";import{isSetObject as w}from"@stryke/type-checks/is-set-object";import{isSetString as T}from"@stryke/type-checks/is-set-string";import{readFile as E,readdir as D}from"node:fs/promises";import{isAbsolute as O,resolve as k}from"node:path";import{getEnvPaths as Se}from"@stryke/env/get-env-paths";import{findFilePath as A}from"@stryke/path/find";import{replacePath as j}from"@stryke/path/replace";import{isFunction as Ce}from"@stryke/type-checks/is-function";import{loadConfig as M}from"c12";import{createJiti as we}from"jiti";import{existsSync as N}from"node:fs";import Te from"node:os";var Ee=`0.0.45`;function P(e){return!!(T(e)||w(e)&&`url`in e&&T(e.url))}function F(e){if(T(e))return e;if(w(e)&&`url`in e&&T(e.url))return e.url}const De=t.partial(),I=new Set([`tsx`,`jsx`,`ts`,`js`,`mdx`,`md`,`css`,`html`,`txt`]),L=be((e,t,n)=>Array.isArray(n)?(e[t]=n,!0):!1);function Oe(e,t){return O(t)?t:k(e,t)}function ke(e){return Array.isArray(e)?e.filter(T):T(e)?[e]:[]}function R(e){let t=e.toLowerCase();if(I.has(t))return t}function Ae(e){let t=y(e)?.toLowerCase();return!!(t&&I.has(t))}function z(e){if(!e)return;let t=a.safeParse(e);if(t.success)return[t.data];if(!Array.isArray(e))return;let n=[];for(let t of e){let e=a.safeParse(t);e.success&&n.push(e.data)}return n.length>0?n:void 0}function B(e){if(!e)return;let t=r.safeParse(e);if(t.success)return[t.data];if(!Array.isArray(e))return;let n=[];for(let t of e){if(T(t)){let e=b(t,{withExtension:!1})||t,i=r.safeParse({name:e,path:t});i.success&&n.push(i.data);continue}let e=r.safeParse(t);e.success&&n.push(e.data)}return n.length>0?n:void 0}function V(e){if(!w(e))return;let{files:t,usage:n,...r}=e,i=De.safeParse(r);if(i.success)return Object.keys(i.data).length>0?i.data:void 0}function H(e){return w(e)&&`path`in e}async function je(e){let t=S(e,`package.json`);if(!h(t))return;let n;try{n=await _(t)}catch{return}let r={};T(n.name)&&(r.name=n.name,r.title=n.name),T(n.description)&&(r.description=n.description),T(n.version)&&(r.version=n.version),T(n.homepage)&&(r.homepage=n.homepage);let i=F(n.repository);if(i&&(r.repository=i),w(n.dependencies)&&(r.dependencies=n.dependencies),w(n.devDependencies)&&(r.devDependencies=n.devDependencies),Array.isArray(n.keywords)){let e=n.keywords.filter(T);e.length>0&&(r.tags=e)}let a=n.razorwind,o,s,c;H(a)?s=z(a):w(a)&&(o=V(a),`files`in a&&(s=z(a.files)),`usage`in a&&(c=B(a.usage)));let l=L(o??{},r);return s?.length&&(l.files=s),c?.length&&(l.usage=c),Object.keys(l).length>0?l:void 0}async function Me(e){let t=S(e,`component.json`);if(!h(t))return;let n;try{n=await _(t)}catch{return}if(H(n)||Array.isArray(n)){let e=z(n);if(e)return{files:e}}if(!w(n))return;let r=V(n)??{},i=`files`in n?z(n.files):void 0,a=`usage`in n?B(n.usage):void 0;return i?.length&&(r.files=i),a?.length&&(r.usage=a),Object.keys(r).length>0?r:void 0}async function Ne(e){try{return(await D(e,{withFileTypes:!0})).filter(e=>e.isFile()&&!e.name.startsWith(`.`)&&Ae(e.name)).map(e=>e.name).toSorted((e,t)=>e.localeCompare(t))}catch{return[]}}async function Pe(e,t){if(t?.length)return Promise.all(t.map(async t=>{let n=v(t.path,e),r=y(t.path)??``,i=t.language??R(r),a=t.name||b(t.path,{withExtension:!1})||t.path,o=t.content===void 0?h(n)?await E(n,`utf8`):void 0:t.content;return{...t,name:a,path:n,...i?{language:i}:{},...o===void 0?{}:{content:o}}}));let n=S(e,`usage`);if(!h(n)||!g(n))return;let r=await Ne(n);if(r.length!==0)return Promise.all(r.map(async e=>{let t=S(n,e),r=R(y(e)??``),i=b(e,{withExtension:!1})||e;return{name:i,title:C(i),path:t,content:await E(t,`utf8`),...r?{language:r}:{}}}))}async function Fe(e,t){let n=t??(await xe(e)).filter(e=>b(e,{withExtension:!1})===`index`);return Promise.all(n.filter(Boolean).map(async t=>typeof t==`string`?{type:/[tj]sx$/.test(y(t))?`component`:`file`,path:t,content:await E(v(t,e),`utf8`)}:{type:/[tj]sx$/.test(y(t.path))?`component`:`file`,...t,content:t.content?t.content:t.path?await E(v(t.path,e),`utf8`):void 0,path:v(t.path,e)}))}async function Ie(e){let n=await je(e),r=await Me(e);if(!n&&!r)return;let i=L(r??{},n??{}),a=T(i.name)?i.name:x(e),o=T(i.title)?i.title:C(a),s=t.safeParse({...i,name:a,title:o});if(!s.success)return;let c=await Pe(e,s.data.usage);return{...s.data,files:await Fe(e,s.data.files),...c?.length?{usage:c}:{}}}async function U(e){let t={},n=ke(e.options.componentsPath);for(let r of n){let n=Oe(e.cwd,r);if(!(!h(n)||!g(n)))try{let e=await D(n,{withFileTypes:!0});for(let r of e){if(!r.isDirectory()||r.name.startsWith(`.`))continue;let e=await Ie(S(n,r.name));e&&(t[e.name]=e)}}catch{continue}}return t}const Le=e.partial(),W=new Set([`svg`,`png`,`webp`,`jpg`,`jpeg`,`gif`,`ico`]),G=be((e,t,n)=>Array.isArray(n)?(e[t]=n,!0):!1);function Re(e,t){return O(t)?t:k(e,t)}function ze(e){return Array.isArray(e)?e.filter(T):T(e)?[e]:[]}function K(e){let t=e.toLowerCase();if(W.has(t))return t}function q(e){let t=y(e)?.toLowerCase();return!!(t&&W.has(t))}function Be(e){return f.test(e)}async function J(e){try{return(await D(e,{withFileTypes:!0})).filter(e=>e.isFile()&&q(e.name)).map(e=>e.name)}catch{return[]}}function Y(e){if(!e)return;let t=n.safeParse(e);if(t.success)return[t.data];if(!Array.isArray(e))return;let r=[];for(let t of e){let e=n.safeParse(t);e.success&&r.push(e.data)}return r.length>0?r:void 0}function X(e){if(!w(e))return;let t=Le.safeParse(e);if(t.success)return Object.keys(t.data).length>0?t.data:void 0}function Ve(e){return w(e)&&`path`in e}async function Z(e,t,n){let r=v(e,t),i=K(y(e)??``)??`file`,a=i===`svg`?await E(r,`utf8`):void 0;return{path:r,type:i,...n?{theme:n}:{},...a===void 0?{}:{content:a}}}async function He(e){let t=S(e,`package.json`);if(!h(t))return;let n;try{n=await _(t)}catch{return}let r={};T(n.name)&&(r.name=n.name,r.title=n.name),T(n.description)&&(r.description=n.description),T(n.version)&&(r.version=n.version),T(n.homepage)&&(r.homepage=n.homepage);let i=F(n.repository);if(i&&(r.repository=i),Array.isArray(n.keywords)){let e=n.keywords.filter(T);e.length>0&&(r.tags=e)}let a=n.razorwind,o,s;Ve(a)?s=Y(a):w(a)&&(o=X(a),`files`in a&&(s=Y(a.files)));let c=G(o??{},r);return s?.length&&(c.files=s),Object.keys(c).length>0?c:void 0}async function Ue(e){let t=S(e,`icon.json`);if(!h(t))return;let n;try{n=await _(t)}catch{return}if(Ve(n)||Array.isArray(n)){let e=Y(n);if(e)return{files:e}}return X(n)}async function We(e,t){if(t?.length)return Promise.all(t.map(async t=>{let n=v(t.path,e),r=y(t.path)??``,i=t.type??K(r)??`file`,a=t.content===void 0?i===`svg`?await E(n,`utf8`):void 0:t.content;return{...t,type:i,path:n,...a===void 0?{}:{content:a}}}));let n=await J(e);return Promise.all(n.map(t=>Z(t,e)))}async function Ge(t){let n=await He(t),r=await Ue(t),i=await J(t);if(!n&&!r&&i.length===0)return;let a=G(r??{},n??{}),o=T(a.name)?a.name:x(t),s=T(a.title)?a.title:C(o),c=e.safeParse({...a,name:o,title:s});if(c.success)return{...c.data,files:await We(t,c.data.files)}}function Ke(e,t,n){let r=e[t];if(!r){e[t]={name:t,title:C(t),files:[n]};return}let i=[...r.files??[]],a=i.findIndex(e=>e.path===n.path&&e.theme===n.theme);a>=0?i[a]=n:i.push(n),e[t]={...r,files:i}}async function qe(e,t,n){let r=await J(e);for(let i of r){let r=b(i,{withExtension:!1});r&&Ke(n,r,await Z(i,e,t))}}async function Je(e){let t={},n=ze(e.options.iconsPath);for(let r of n){let n=Re(e.cwd,r);if(!(!h(n)||!g(n)))try{let e=await D(n,{withFileTypes:!0});for(let r of e){if(r.name.startsWith(`.`))continue;let e=S(n,r.name);if(r.isDirectory()){if(Be(r.name)){await qe(e,r.name,t);continue}let n=await Ge(e);if(n){let e=t[n.name];t[n.name]=e?G(n,e):n}continue}if(r.isFile()&&q(r.name)){let e=b(r.name,{withExtension:!1});if(!e)continue;Ke(t,e,await Z(r.name,n))}}}catch{continue}}return t}function Q(e,t){let n=e[t];return T(n)?n:void 0}function Ye(e){let t={};T(e.name)&&(t.name=e.name),T(e.description)&&(t.description=e.description),T(e.homepage)&&(t.homepage=e.homepage);let n=F(e.repository);n&&(t.repository=n),T(e.logo)&&(t.logo=e.logo);let r=e.razorwind,i={};if(w(r)){let t=r,n=Q(t,`title`),a=Q(t,`name`),o=Q(t,`description`),s=Q(t,`homepage`),c=Q(t,`logo`),l=F(t.repository);a?i.name=a:T(e.name)&&(i.name=e.name),n?i.title=n:T(i.name)&&(i.title=C(i.name)),o?i.description=o:T(e.description)&&(i.description=e.description),s?i.homepage=s:P(e.homepage)?i.homepage=F(e.homepage):P(e.author)?i.homepage=F(e.author):e.maintainers&&Array.isArray(e.maintainers)&&e.maintainers.length>0&&P(e.maintainers[0])?i.homepage=F(e.maintainers[0]):e.contributors&&Array.isArray(e.contributors)&&e.contributors.length>0&&P(e.contributors[0])?i.homepage=F(e.contributors[0]):P(e.bugs)&&(i.homepage=F(e.bugs)),c&&(i.logo=c),l?i.repository=l:P(e.repository)&&(i.repository=F(e.repository))}return m(i,t)}function Xe(e){let t={};return T(e.name)&&(t.name=e.name),T(e.title)&&(t.title=e.title),T(e.description)&&(t.description=e.description),T(e.repository)&&(t.repository=e.repository),T(e.homepage)&&(t.homepage=e.homepage),T(e.logo)&&(t.logo=e.logo),t}async function Ze(e){let t=S(e,`package.json`);if(!h(t))return{};let n;try{n=await _(t)}catch{return{}}return Ye(n)}async function Qe(e,t){let n=await Ze(e),r=Xe(t);return m(r,n)}const $e=Te.homedir();async function $(e,t){let n=t.configFile&&N(j(t.configFile,e))?j(t.configFile,e):t.configFile&&N(t.configFile)?t.configFile:N(S(e,`razorwind.${t.mode}.ts`))?S(e,`razorwind.${t.mode}.ts`):N(S(e,`razorwind.${t.mode}.js`))?S(e,`razorwind.${t.mode}.js`):N(S(e,`razorwind.${t.mode}.mts`))?S(e,`razorwind.${t.mode}.mts`):N(S(e,`razorwind.${t.mode}.mjs`))?S(e,`razorwind.${t.mode}.mjs`):N(S(e,`razorwind.${t.mode}.cjs`))?S(e,`razorwind.${t.mode}.cjs`):N(S(e,`razorwind.${t.mode}.cts`))?S(e,`razorwind.${t.mode}.cts`):N(S(e,`razorwind.${t.mode}.json`))?S(e,`razorwind.${t.mode}.json`):N(S(e,`razorwind.${t.mode}.yaml`))?S(e,`razorwind.${t.mode}.yaml`):N(S(e,`razorwind.${t.mode}.yml`))?S(e,`razorwind.${t.mode}.yml`):N(S(e,`razorwind.config.ts`))?S(e,`razorwind.config.ts`):N(S(e,`razorwind.config.js`))?S(e,`razorwind.config.js`):N(S(e,`razorwind.config.mts`))?S(e,`razorwind.config.mts`):N(S(e,`razorwind.config.mjs`))?S(e,`razorwind.config.mjs`):N(S(e,`razorwind.config.cjs`))?S(e,`razorwind.config.cjs`):N(S(e,`razorwind.config.cts`))?S(e,`razorwind.config.cts`):N(S(e,`razorwind.config.json`))?S(e,`razorwind.config.json`):N(S(e,`razorwind.config.yaml`))?S(e,`razorwind.config.yaml`):N(S(e,`razorwind.config.yml`))?S(e,`razorwind.config.yml`):void 0,r=Se({orgId:`storm-software`,appId:`razorwind`,workspaceRoot:e}),i={fsCache:r.cache},a=we(e,i),o={};if(n){let r=await a.import(n,{default:!0});if(r){let i={};Ce(r)?i=await Promise.resolve(r({cwd:e,mode:t.mode??`development`})):(w(r)||Array.isArray(r))&&(i=r),(w(i)||Array.isArray(i))&&(o={...i,configFile:n})}}let[s,c,l]=await Promise.all([M({cwd:e,name:`razorwind`,envName:t.mode,globalRc:!0,packageJson:`razorwind`,dotenv:!0,jitiOptions:i}),M({cwd:r.config,name:`razorwind`,envName:t.mode,dotenv:!0,jitiOptions:i}),M({cwd:$e,name:`razorwind`,envName:t.mode,dotenv:!0,jitiOptions:i})]),u=m({cwd:e,envPaths:{...r,home:$e}},t,o,w(s?.config)?{...s.config}:{},w(c?.config)?{...c.config}:{},w(l?.config)?{...l.config}:{},{componentsPath:e,iconsPath:S(e,`assets/icons`),plugins:[]});if(Array.isArray(u.componentsPath)){let t=u.componentsPath.filter(T).map(e=>A(e));u.componentsPath=t.length>0?t:e}else u.componentsPath=T(u.componentsPath)?A(u.componentsPath):e;if(Array.isArray(u.iconsPath)){let t=u.iconsPath.filter(T).map(e=>A(e));u.iconsPath=t.length>0?t:S(e,`assets/icons`)}else u.iconsPath=T(u.iconsPath)?A(u.iconsPath):S(e,`assets/icons`);return Array.isArray(u.plugins)||(u.plugins=[]),u}function et(e){return e}const tt=_e({meta:{name:`razorwind`,title:`Razorwind`,description:`A generator that uses Razorwind to generate design system code from design tokens, components, and icons.`,version:Ee,tags:[`razorwind`,`dtcg`]},schema:ve({schema:i}),input:async e=>{let t=p();if(t.options=await $(t.cwd,e),t.options.plugins.length===0)throw Error(`Razorwind will not generate any code - no plugins configured. Please add at least one plugin to the configuration.`);let n=t.options.tokens;(!n||ye(n))&&(n=await d(t));let r={...await Qe(t.cwd,t.options),tokens:n??{},components:m(t.options.components??{},await U(t)??{}),icons:m(t.options.icons??{},await Je(t)??{})};for(let e of t.options.plugins.filter(e=>e.extract))r=await e.extract(r,t.options);if(!r.tokens||ye(r.tokens))throw Error(`Unable to load design tokens for the current workspace. Please ensure that Razorwind is configured correctly and that the tokens are available.`);for(let e of t.options.plugins.filter(e=>e.validate))await e.validate(r,t.options);return r},generator:async e=>{let t=p(),n={};for(let r of t.options.plugins.filter(e=>e.generate)){let i=await r.generate(e,t.options);n=m(i,n)}return n}});export{me as DEFAULT_TOKEN_PATH_CANDIDATES,l as RAZORWIND_INFER_PREPROCESSOR,f as THEME_BASENAME_PATTERN,u as TOKEN_DIRECTORY_GLOB,he as TOKEN_FILE_EXTENSIONS,o as TYPE_PATH_HINTS,s as WINDIE_PARSERS,s as razorwindParsers,et as defineConfig,ge as definePlugin,tt as generator,le as getExtractionHooks,fe as getRazorwindParserHooks,ee as getRazorwindPreprocessorHooks,se as inferTypeFromPath,ie as inferValue,U as loadComponents,Je as loadIcons,Ze as loadSchemaMetaFromPackageJson,d as loadTokens,ce as loadTokensOrThrow,re as nestFlatTokens,F as normalizeRepository,c as normalizeTokenTree,ue as parseCssCustomProperties,oe as razorwindInferPreprocessor,pe as registerRazorwindHooks,te as registerRazorwindParsers,$ as resolveConfig,Qe as resolveSchemaMeta,de as resolveTokensSource,Xe as schemaMetaFromConfig,Ye as schemaMetaFromPackageJson,ne as styleDictionaryLogOptions,ae as themeKeyFromPath};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../tokens-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../tokens-DP2GoUvv.cjs");exports.DEFAULT_TOKEN_PATH_CANDIDATES=e.v,exports.RAZORWIND_INFER_PREPROCESSOR=e.a,exports.THEME_BASENAME_PATTERN=e.y,exports.TOKEN_DIRECTORY_GLOB=e.b,exports.TOKEN_FILE_EXTENSIONS=e.x,exports.TYPE_PATH_HINTS=e.C,exports.WINDIE_PARSERS=e.S,exports.razorwindParsers=e.S,exports.getExtractionHooks=e.o,exports.getRazorwindParserHooks=e.s,exports.getRazorwindPreprocessorHooks=e.c,exports.inferTypeFromPath=e.m,exports.inferValue=e.h,exports.loadTokens=e.t,exports.loadTokensOrThrow=e.n,exports.nestFlatTokens=e.g,exports.normalizeTokenTree=e._,exports.parseCssCustomProperties=e.p,exports.razorwindInferPreprocessor=e.l,exports.registerRazorwindHooks=e.u,exports.registerRazorwindParsers=e.d,exports.resolveTokensSource=e.r,exports.styleDictionaryLogOptions=e.f,exports.themeKeyFromPath=e.i;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { A as
|
|
2
|
-
export { DEFAULT_TOKEN_PATH_CANDIDATES, type ExtractionHooks, type InferredTokenType, type LoadTokensOptions, type LoadedTokens, RAZORWIND_INFER_PREPROCESSOR, type RazorwindParserName, type ResolveTokensPathOptions, type ResolvedTokensSource, type StyleDictionaryRegisterTarget, THEME_BASENAME_PATTERN, TOKEN_DIRECTORY_GLOB, TOKEN_FILE_EXTENSIONS, TYPE_PATH_HINTS, TOKEN_PARSER_NAMES as WINDIE_PARSERS, TOKEN_PARSER_NAMES as razorwindParsers, getExtractionHooks, getRazorwindParserHooks, getRazorwindPreprocessorHooks, inferTypeFromPath, inferValue, loadTokens, loadTokensOrThrow, nestFlatTokens, normalizeTokenTree, parseCssCustomProperties, razorwindInferPreprocessor, registerRazorwindHooks, registerRazorwindParsers, resolveTokensSource, themeKeyFromPath };
|
|
1
|
+
import { A as TOKEN_PARSER_NAMES, C as normalizeTokenTree, D as THEME_BASENAME_PATTERN, E as RazorwindParserName, O as TOKEN_DIRECTORY_GLOB, S as nestFlatTokens, T as DEFAULT_TOKEN_PATH_CANDIDATES, _ as resolveTokensSource, a as getRazorwindParserHooks, b as inferTypeFromPath, c as registerRazorwindHooks, d as LoadTokensOptions, f as LoadedTokens, g as ResolvedTokensSource, h as ResolveTokensPathOptions, i as getExtractionHooks, j as TYPE_PATH_HINTS, k as TOKEN_FILE_EXTENSIONS, l as registerRazorwindParsers, m as loadTokensOrThrow, n as RAZORWIND_INFER_PREPROCESSOR, o as getRazorwindPreprocessorHooks, p as loadTokens, r as StyleDictionaryRegisterTarget, s as razorwindInferPreprocessor, t as ExtractionHooks, u as styleDictionaryLogOptions, v as themeKeyFromPath, w as parseCssCustomProperties, x as inferValue, y as InferredTokenType } from "../../index-lcz6riNX.cjs";
|
|
2
|
+
export { DEFAULT_TOKEN_PATH_CANDIDATES, type ExtractionHooks, type InferredTokenType, type LoadTokensOptions, type LoadedTokens, RAZORWIND_INFER_PREPROCESSOR, type RazorwindParserName, type ResolveTokensPathOptions, type ResolvedTokensSource, type StyleDictionaryRegisterTarget, THEME_BASENAME_PATTERN, TOKEN_DIRECTORY_GLOB, TOKEN_FILE_EXTENSIONS, TYPE_PATH_HINTS, TOKEN_PARSER_NAMES as WINDIE_PARSERS, TOKEN_PARSER_NAMES as razorwindParsers, getExtractionHooks, getRazorwindParserHooks, getRazorwindPreprocessorHooks, inferTypeFromPath, inferValue, loadTokens, loadTokensOrThrow, nestFlatTokens, normalizeTokenTree, parseCssCustomProperties, razorwindInferPreprocessor, registerRazorwindHooks, registerRazorwindParsers, resolveTokensSource, styleDictionaryLogOptions, themeKeyFromPath };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { A as
|
|
2
|
-
export { DEFAULT_TOKEN_PATH_CANDIDATES, type ExtractionHooks, type InferredTokenType, type LoadTokensOptions, type LoadedTokens, RAZORWIND_INFER_PREPROCESSOR, type RazorwindParserName, type ResolveTokensPathOptions, type ResolvedTokensSource, type StyleDictionaryRegisterTarget, THEME_BASENAME_PATTERN, TOKEN_DIRECTORY_GLOB, TOKEN_FILE_EXTENSIONS, TYPE_PATH_HINTS, TOKEN_PARSER_NAMES as WINDIE_PARSERS, TOKEN_PARSER_NAMES as razorwindParsers, getExtractionHooks, getRazorwindParserHooks, getRazorwindPreprocessorHooks, inferTypeFromPath, inferValue, loadTokens, loadTokensOrThrow, nestFlatTokens, normalizeTokenTree, parseCssCustomProperties, razorwindInferPreprocessor, registerRazorwindHooks, registerRazorwindParsers, resolveTokensSource, themeKeyFromPath };
|
|
1
|
+
import { A as TOKEN_PARSER_NAMES, C as normalizeTokenTree, D as THEME_BASENAME_PATTERN, E as RazorwindParserName, O as TOKEN_DIRECTORY_GLOB, S as nestFlatTokens, T as DEFAULT_TOKEN_PATH_CANDIDATES, _ as resolveTokensSource, a as getRazorwindParserHooks, b as inferTypeFromPath, c as registerRazorwindHooks, d as LoadTokensOptions, f as LoadedTokens, g as ResolvedTokensSource, h as ResolveTokensPathOptions, i as getExtractionHooks, j as TYPE_PATH_HINTS, k as TOKEN_FILE_EXTENSIONS, l as registerRazorwindParsers, m as loadTokensOrThrow, n as RAZORWIND_INFER_PREPROCESSOR, o as getRazorwindPreprocessorHooks, p as loadTokens, r as StyleDictionaryRegisterTarget, s as razorwindInferPreprocessor, t as ExtractionHooks, u as styleDictionaryLogOptions, v as themeKeyFromPath, w as parseCssCustomProperties, x as inferValue, y as InferredTokenType } from "../../index-D6-DvdGv.mjs";
|
|
2
|
+
export { DEFAULT_TOKEN_PATH_CANDIDATES, type ExtractionHooks, type InferredTokenType, type LoadTokensOptions, type LoadedTokens, RAZORWIND_INFER_PREPROCESSOR, type RazorwindParserName, type ResolveTokensPathOptions, type ResolvedTokensSource, type StyleDictionaryRegisterTarget, THEME_BASENAME_PATTERN, TOKEN_DIRECTORY_GLOB, TOKEN_FILE_EXTENSIONS, TYPE_PATH_HINTS, TOKEN_PARSER_NAMES as WINDIE_PARSERS, TOKEN_PARSER_NAMES as razorwindParsers, getExtractionHooks, getRazorwindParserHooks, getRazorwindPreprocessorHooks, inferTypeFromPath, inferValue, loadTokens, loadTokensOrThrow, nestFlatTokens, normalizeTokenTree, parseCssCustomProperties, razorwindInferPreprocessor, registerRazorwindHooks, registerRazorwindParsers, resolveTokensSource, styleDictionaryLogOptions, themeKeyFromPath };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{C as e,S as t,_ as n,a as r,b as i,c as a,d as o,f as s,g as c,h as l,i as u,l as d,m as f,n as p,o as m,p as h,r as g,s as _,t as v,u as y,v as b,x,y as S}from"../../tokens-CXYvywlP.mjs";export{b as DEFAULT_TOKEN_PATH_CANDIDATES,r as RAZORWIND_INFER_PREPROCESSOR,S as THEME_BASENAME_PATTERN,i as TOKEN_DIRECTORY_GLOB,x as TOKEN_FILE_EXTENSIONS,e as TYPE_PATH_HINTS,t as WINDIE_PARSERS,t as razorwindParsers,m as getExtractionHooks,_ as getRazorwindParserHooks,a as getRazorwindPreprocessorHooks,f as inferTypeFromPath,l as inferValue,v as loadTokens,p as loadTokensOrThrow,c as nestFlatTokens,n as normalizeTokenTree,h as parseCssCustomProperties,d as razorwindInferPreprocessor,y as registerRazorwindHooks,o as registerRazorwindParsers,g as resolveTokensSource,s as styleDictionaryLogOptions,u as themeKeyFromPath};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { l as Plugin } from "./config-
|
|
1
|
+
import { l as Plugin } from "./config-rgbP9zhp.mjs";
|
|
2
2
|
//#region src/plugin.d.ts
|
|
3
3
|
/**
|
|
4
4
|
* Type helper for Razorwind plugins (`parsers` / `preprocessors` + `extract` / `validate` / `generate`).
|
|
@@ -46,4 +46,4 @@ declare function definePlugin<TOptions>(factory: (options: TOptions) => Plugin,
|
|
|
46
46
|
declare function definePlugin(plugin: Plugin, overrides?: Partial<Plugin>): Plugin;
|
|
47
47
|
//#endregion
|
|
48
48
|
export { definePlugin as t };
|
|
49
|
-
//# sourceMappingURL=plugin-
|
|
49
|
+
//# sourceMappingURL=plugin-CAoFfyMa.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-CAoFfyMa.d.mts","names":[],"sources":["../src/plugin.ts"],"mappings":""}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { l as Plugin } from "./config-
|
|
1
|
+
import { l as Plugin } from "./config-25eDAKIq.cjs";
|
|
2
2
|
//#region src/plugin.d.ts
|
|
3
3
|
/**
|
|
4
4
|
* Type helper for Razorwind plugins (`parsers` / `preprocessors` + `extract` / `validate` / `generate`).
|
|
@@ -46,4 +46,4 @@ declare function definePlugin<TOptions>(factory: (options: TOptions) => Plugin,
|
|
|
46
46
|
declare function definePlugin(plugin: Plugin, overrides?: Partial<Plugin>): Plugin;
|
|
47
47
|
//#endregion
|
|
48
48
|
export { definePlugin as t };
|
|
49
|
-
//# sourceMappingURL=plugin-
|
|
49
|
+
//# sourceMappingURL=plugin-m5Bm4WrK.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-
|
|
1
|
+
{"version":3,"file":"plugin-m5Bm4WrK.d.cts","names":[],"sources":["../src/plugin.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiEgB,aAAa,UAC3B,UAAU,SAAS,aAAa,QAChC,YAAY,QAAQ,WAClB,UAAU,aAAa;iBACX,aACd,QAAQ,QACR,YAAY,QAAQ,UACnB"}
|
package/dist/plugin.d.cts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { d as TokensPreprocessor, l as Plugin, u as TokensParser } from "./config-
|
|
2
|
-
import { t as definePlugin } from "./plugin-
|
|
1
|
+
import { d as TokensPreprocessor, l as Plugin, u as TokensParser } from "./config-25eDAKIq.cjs";
|
|
2
|
+
import { t as definePlugin } from "./plugin-m5Bm4WrK.cjs";
|
|
3
3
|
export { type Plugin, type TokensParser, type TokensPreprocessor, definePlugin };
|
package/dist/plugin.d.mts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { d as TokensPreprocessor, l as Plugin, u as TokensParser } from "./config-
|
|
2
|
-
import { t as definePlugin } from "./plugin-
|
|
1
|
+
import { d as TokensPreprocessor, l as Plugin, u as TokensParser } from "./config-rgbP9zhp.mjs";
|
|
2
|
+
import { t as definePlugin } from "./plugin-CAoFfyMa.mjs";
|
|
3
3
|
export { type Plugin, type TokensParser, type TokensPreprocessor, definePlugin };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e}from"./utils-B5uabOd5.mjs";import{existsSync as t}from"@stryke/fs/exists";import{isDirectory as n}from"@stryke/fs/is-file";import{joinPaths as r}from"@stryke/path/join";import{isSetString as i}from"@stryke/type-checks/is-set-string";import{basename as a,isAbsolute as o,resolve as s}from"node:path";import{isFunction as c}from"@stryke/type-checks/is-function";import{importModule as l}from"@stryke/fs/resolve";import u from"fast-glob";import d from"style-dictionary";import{logVerbosityLevels as ee}from"style-dictionary/enums";import f from"json5";import{parse as te}from"smol-toml";import{parse as ne}from"yaml";const p=[`razorwind-json`,`razorwind-yaml`,`razorwind-toml`,`razorwind-css`],m=[`json`,`json5`,`jsonc`,`yaml`,`yml`,`toml`,`css`,`js`,`mjs`,`cjs`,`ts`,`mts`,`cts`],re=m.join(`,`),h=[`tokens.json`,`tokens.json5`,`tokens.jsonc`,`tokens.yaml`,`tokens.yml`,`tokens.toml`,`tokens.css`,`design-tokens.json`,`design-tokens.yaml`,`design-tokens.yml`,`tokens`,`design-tokens`,`src/tokens`,`src/design-tokens`,`packages/tokens`,`style-dictionary.config.js`,`style-dictionary.config.mjs`,`style-dictionary.config.ts`,`sd.config.js`,`sd.config.mjs`,`sd.config.ts`],g=`**/*.{${re}}`,_=/^(light|dark|dim|dimmed|high-contrast|hc|protanopia|deuteranopia|tritanopia|achromatopsia|achromatomaly|monochrome|monochromatic|grayscale|greyscale|bw|black-and-white|black-white|blackWhite|default|base|theme)([._-].+)?$/i,v={color:`color`,colours:`color`,colors:`color`,colour:`color`,palette:`color`,bg:`color`,background:`color`,foreground:`color`,fg:`color`,border:`color`,fill:`color`,stroke:`color`,spacing:`dimension`,space:`dimension`,size:`dimension`,sizes:`dimension`,sizing:`dimension`,gap:`dimension`,radius:`dimension`,radii:`dimension`,rounded:`dimension`,width:`dimension`,height:`dimension`,dimension:`dimension`,dimensions:`dimension`,duration:`duration`,durations:`duration`,time:`duration`,delay:`duration`,animation:`duration`,motion:`duration`,transition:`duration`,font:`fontFamily`,fonts:`fontFamily`,fontfamily:`fontFamily`,"font-family":`fontFamily`,typeface:`fontFamily`,fontweight:`fontWeight`,"font-weight":`fontWeight`,weight:`fontWeight`,opacity:`number`,opacities:`number`,zindex:`number`,"z-index":`number`,lineheight:`number`,"line-height":`number`,letterspacing:`dimension`,"letter-spacing":`dimension`,shadow:`shadow`,shadows:`shadow`,elevation:`shadow`,gradient:`gradient`,gradients:`gradient`,typography:`typography`,text:`typography`,cubicbezier:`cubicBezier`,easing:`cubicBezier`,ease:`cubicBezier`},ie=/^#(?:[0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,ae=/^rgba?\(\s*([+\d.]+%?)[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+%?)[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+%?)(?:\s*[,/]\s*([+\d.]+%?))?\s*\)$/i,y=/^hsla?\(\s*([+\d.]+)[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+)%[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+)%(?:\s*[,/]\s*([+\d.]+%?))?\s*\)$/i,oe=/^oklch\(\s*([+\d.]+%?|none)\s+([+\d.]+|none)\s+([+\d.]+|none)(?:\s*\/\s*([+\d.]+%?))?\s*\)$/i,b=/^([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*(px|rem|em|%|vh|vw|vmin|vmax|ch|ex|cm|mm|in|pt|pc)$/i,se=/^([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*(ms|s)$/i,ce=/^cubic-bezier\(\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*\)$/i,le=/^var\(\s*(--[\w-]+)\s*(?:,\s*(?:\S.*|[\t\v\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]))?\)\s*$/i,ue=/^\{[^{}]+\}$/,x={thin:100,hairline:100,extralight:200,"extra-light":200,ultralight:200,light:300,normal:400,regular:400,book:400,medium:500,semibold:600,"semi-bold":600,demibold:600,bold:700,extrabold:800,"extra-bold":800,ultrabold:800,black:900,heavy:900},S=new Set([`px`,`rem`]);function C(e){return Math.min(1,Math.max(0,e))}function w(e,t=100){let n=e.trim();if(n.endsWith(`%`))return C(Number.parseFloat(n)/t);let r=Number.parseFloat(n);return C(r>1?r/255:r)}function de(e){let t=e.slice(1);return t.length===3||t.length===4?`#${[...t].map(e=>e+e).join(``)}`:(e.length===7||e.length,e)}function fe(e){let t=de(e.toLowerCase()).slice(1),n=Number.parseInt(t.slice(0,2),16)/255,r=Number.parseInt(t.slice(2,4),16)/255,i=Number.parseInt(t.slice(4,6),16)/255,a=t.length===8?Number.parseInt(t.slice(6,8),16)/255:void 0;return{colorSpace:`srgb`,components:[n,r,i],...a===void 0||a===1?{}:{alpha:a},hex:`#${t.slice(0,6)}`}}function pe(e){return`{${e.replace(/^--/,``).split(`-`).filter(Boolean).join(`.`)}}`}function T(e){return`$value`in e||`value`in e||`$ref`in e||`ref`in e}function E(e){for(let t=e.length-1;t>=0;t--){let n=e[t]?.toLowerCase();if(!n)continue;let r=v[n];if(r)return r}}function D(t,n=[]){let r=E(n);if(typeof t==`string`){let e=t.trim();if(ue.test(e))return{value:e,type:r};let i=e.match(le);if(i?.[1])return{value:pe(i[1]),type:r};if(ie.test(e))return{value:fe(e),type:`color`};let a=e.match(ae);if(a){let e=[w(a[1]),w(a[2]),w(a[3])],t=a[4]?a[4].endsWith(`%`)?C(Number.parseFloat(a[4])/100):C(Number.parseFloat(a[4])):void 0;return{value:{colorSpace:`srgb`,components:e,...t===void 0||Number.isNaN(t)?{}:{alpha:t}},type:`color`}}let o=e.match(y);if(o)return{value:{colorSpace:`hsl`,components:[Number.parseFloat(o[1]),Number.parseFloat(o[2]),Number.parseFloat(o[3])],...o[4]?{alpha:o[4].endsWith(`%`)?C(Number.parseFloat(o[4])/100):C(Number.parseFloat(o[4]))}:{}},type:`color`};let s=e.match(oe);if(s){let e=e=>e===`none`?`none`:e.endsWith(`%`)?Number.parseFloat(e)/100:Number.parseFloat(e);return{value:{colorSpace:`oklch`,components:[e(s[1]),e(s[2]),e(s[3])],...s[4]?{alpha:s[4].endsWith(`%`)?C(Number.parseFloat(s[4])/100):C(Number.parseFloat(s[4]))}:{}},type:`color`}}let c=e.match(b);if(c){let t=c[2].toLowerCase(),n=Number.parseFloat(c[1]);return S.has(t)?{value:{value:n,unit:t},type:`dimension`}:{value:e,type:r===`dimension`?void 0:r}}let l=e.match(se);if(l)return{value:{value:Number.parseFloat(l[1]),unit:l[2].toLowerCase()},type:`duration`};let u=e.match(ce);if(u)return{value:[Number.parseFloat(u[1]),Number.parseFloat(u[2]),Number.parseFloat(u[3]),Number.parseFloat(u[4])],type:`cubicBezier`};let d=x[e.toLowerCase()];return d===void 0?r===`fontFamily`||/family|font|typeface/i.test(n.at(-1)??``)?e.includes(`,`)?{value:e.split(`,`).map(e=>e.trim().replace(/^["']|["']$/g,``)),type:`fontFamily`}:{value:e.replace(/^["']|["']$/g,``),type:`fontFamily`}:r===`color`&&!e.startsWith(`{`)?{value:e,type:void 0}:{value:e,type:r}:{value:d,type:`fontWeight`}}if(typeof t==`number`)return r===`fontWeight`?{value:t,type:`fontWeight`}:r===`duration`?{value:{value:t,unit:`ms`},type:`duration`}:r===`dimension`?{value:{value:t,unit:`px`},type:`dimension`}:{value:t,type:r??`number`};if(Array.isArray(t))return t.length===4&&t.every(e=>typeof e==`number`)&&(r===`cubicBezier`||n.some(e=>/ease|bezier/i.test(e)))?{value:t,type:`cubicBezier`}:t.every(e=>typeof e==`string`)?{value:t,type:r??`fontFamily`}:{value:t,type:r};if(e(t)){if(`colorSpace`in t&&`components`in t)return{value:t,type:`color`};if(`value`in t&&`unit`in t){let e=String(t.unit).toLowerCase();return e===`ms`||e===`s`?{value:t,type:`duration`}:S.has(e)?{value:t,type:`dimension`}:{value:t,type:r}}}return{value:t,type:r}}function me(e,t){let n={...e};if(`value`in n&&!(`$value`in n)&&(n.$value=n.value,delete n.value),`type`in n&&!(`$type`in n)&&(n.$type=n.type,delete n.type),`comment`in n&&!(`$description`in n)&&(n.$description=n.comment,delete n.comment),`description`in n&&!(`$description`in n)&&(n.$description=n.description,delete n.description),`ref`in n&&!(`$ref`in n)&&(n.$ref=n.ref,delete n.ref),`$value`in n){let e=D(n.$value,t);n.$value=e.value,!(`$type`in n)&&e.type&&(n.$type=e.type)}return n}function O(t,n=[]){if(Array.isArray(t))return t.map((e,t)=>O(e,[...n,String(t)]));if(!e(t))return t;if(T(t))return me(t,n);let r={};for(let[e,i]of Object.entries(t)){if(e.startsWith(`$`)){r[e]=i;continue}r[e]=O(i,[...n,e])}if(!(`$type`in r)){let e=E(n);e&&n.length>0&&(r.$type=e)}return r}function k(t){let n={};for(let[r,i]of Object.entries(t)){let t=r.replace(/^--/,``).split(/[-./]/).filter(Boolean);if(t.length===0)continue;let a=n;for(let n=0;n<t.length-1;n++){let r=t[n],i=a[r];e(i)?T(i)&&(a[r]={DEFAULT:i}):a[r]={},a=a[r]}let o=t.at(-1),s=D(i,t),c={$value:s.value,...s.type?{$type:s.type}:{}},l=a[o];e(l)&&!T(l)?l.DEFAULT=c:a[o]=c}return O(n)}const he=/(--[A-Z_][\w-]*)\s*:\s*([^;}{]+?)(?=\s*(?:;|\}|$))/gi;function A(e){let t={},n=e.replace(/\/\*[\s\S]*?\*\//g,``);for(let e of n.matchAll(he)){let n=e[1],r=e[2]?.trim();!n||!r||(t[n]=r)}return k(t)}function j(e){return e?{verbosity:ee.verbose}:{}}const M=`razorwind-infer`;function N(e){if(e==null)return{};if(typeof e!=`object`||Array.isArray(e))throw TypeError(`Token file must parse to a plain object.`);return O(e)}function P(e){try{return N(f.parse(e))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to parse JSON token file: ${t}`)}}function F(e){try{return N(ne(e))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to parse YAML token file: ${t}`)}}function I(e){try{return N(te(e))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to parse TOML token file: ${t}`)}}const L=[{name:`razorwind-json`,pattern:/\.json[c5]?$/i,parser:({contents:e})=>P(e)},{name:`razorwind-yaml`,pattern:/\.ya?ml$/i,parser:({contents:e})=>F(e)},{name:`razorwind-toml`,pattern:/\.toml$/i,parser:({contents:e})=>I(e)},{name:`razorwind-css`,pattern:/\.css$/i,parser:({contents:e})=>O(A(e))}];function R(){return Object.fromEntries(L.map(({name:e,pattern:t,parser:n})=>[e,{pattern:t,parser:n}]))}function z(e){return O(e)}function B(){return{[M]:z}}function V(e=[]){let t={...R()},n={...B()},r=[...p],i=[M],a=0,o=0;for(let s of e){for(let e of s.parsers??[]){let n=e.name??`${s.name}-parser-${a}`;t[n]={pattern:e.pattern,parser:({contents:t})=>e.parser(t)},r.push(n),a++}for(let e of s.preprocessors??[]){let t=c(e)?{name:`${s.name}-preprocessor-${o}`,preprocessor:e}:{name:e.name??`${s.name}-preprocessor-${o}`,preprocessor:e.preprocessor};n[t.name]=t.preprocessor,i.push(t.name),o++}}return{parsers:t,preprocessors:n,parserNames:r,preprocessorNames:i}}function H(e=[],t=d){let n=V(e);if(typeof t.registerParser==`function`)for(let[e,r]of Object.entries(n.parsers))t.registerParser({name:e,...r});if(typeof t.registerPreprocessor==`function`)for(let[e,r]of Object.entries(n.preprocessors))t.registerPreprocessor({name:e,preprocessor:r});return n}const ge=H;function U(e,t){return o(t)?t:s(e,t)}function W(e){return/\.([^.]+)$/.exec(e)?.[1]?.toLowerCase()??``}function G(e){return m.includes(W(e))}function K(e){let t=e.split(/[/\\]/).pop()?.toLowerCase()??``;return t.startsWith(`style-dictionary.config.`)||t.startsWith(`sd.config.`)}function q(e){return r(e,g)}function _e(e){return Array.isArray(e)?e.filter(i):i(e)?[e]:[]}const ve=/[*?[\]{}]/;function ye(e){return ve.test(e)}function be(e){let t=e.search(/[*?[{]/);if(t<=0)return;let n=e.slice(0,t).replace(/[/\\]+$/,``);return n.length>0?n:void 0}function xe(e,r){let i=U(e,r);if(ye(r)){let e=be(i);if(e&&!t(e))throw Error(`tokensPath "${r}" does not exist (resolved: ${i}).`);return{resolvedPath:i,source:[i],isStyleDictionaryConfig:!1}}if(!t(i))throw Error(`tokensPath "${r}" does not exist (resolved: ${i}).`);return n(i)?{resolvedPath:i,source:[q(i)],isStyleDictionaryConfig:!1}:K(i)?{resolvedPath:i,source:[],isStyleDictionaryConfig:!0}:{resolvedPath:i,source:[i],isStyleDictionaryConfig:!1}}function J(e){let{cwd:r,tokensPath:i,fallbackPaths:a=[]}=e,o=_e(i);if(o.length>0){let e=o.map(e=>xe(r,e)),t=e.filter(e=>e.isStyleDictionaryConfig);if(t.length>0){if(e.length>1)throw Error(`tokensPath cannot mix Style Dictionary config files with other token sources.`);return{resolvedPath:t[0].resolvedPath,source:[],origin:`tokensPath`}}return{resolvedPath:e[0]?.resolvedPath,source:e.flatMap(e=>e.source),origin:`tokensPath`}}for(let e of h){let i=U(r,e);if(t(i)){if(n(i))return{resolvedPath:i,source:[q(i)],origin:`default`};if(K(i))return{resolvedPath:i,source:[],origin:`default`};if(G(i))return{resolvedPath:i,source:[i],origin:`default`}}}for(let e of a){if(!e)continue;let i=U(r,e);if(!(!t(i)||n(i))&&(G(i)||W(i)===`css`))return{resolvedPath:i,source:[i],origin:`fallback`}}return{source:[],origin:`none`}}function Y(e){return(e.split(/[/\\]/).pop()??``).replace(/\.[^.]+$/,``).match(_)?.[1]?.toLowerCase()}function Se(e){let t=e,n=new Set;for(;t!=null&&!n.has(t);){if(n.add(t),typeof t==`function`)return t;if(typeof t==`object`&&`default`in t){t=t.default;continue}break}throw TypeError(`style-dictionary did not export a constructable StyleDictionary class.`)}const Ce=Se(d);function X(e){return!e||typeof e!=`object`||Object.keys(e).length===0}async function we(e){let t=await l(e);return t&&typeof t==`object`&&`default`in t&&t.default?t.default:t}async function Z(e,t){let n=V(e.plugins),r=new Ce({...t,parsers:[...n.parserNames,...t.parsers??[]],preprocessors:[...n.preprocessorNames,...t.preprocessors??[]],hooks:{...t.hooks,parsers:{...n.parsers,...t.hooks?.parsers},preprocessors:{...n.preprocessors,...t.hooks?.preprocessors}},usesDtcg:t.usesDtcg??!0,platforms:t.platforms??{}},j(e.verbose));return await r.hasInitialized,r}async function Q(e,t){return t.length===0?{}:(await Z(e,{source:t})).tokens}async function Te(e){return(await u(e,{absolute:!0,onlyFiles:!0,unique:!0})).sort()}async function Ee(e,t){let n=await Te(t);if(n.length===0)return{};let r=new Map,i=[];for(let e of n){let t=Y(e);if(t){let n=r.get(t)??[];n.push(e),r.set(t,n)}else i.push(e)}if(r.size<2)return Q(e,t);let a={};if(i.length>0){let t=await Q(e,i);X(t)||(a.base=t)}for(let[t,n]of r)a[t]=await Q(e,n);return a}async function $(e){let n=J(e.options);return n.resolvedPath&&t(n.resolvedPath)&&/(?:^|[/\\])(?:style-dictionary|sd)\.config\./i.test(a(n.resolvedPath))?(e.sd=await Z(e.options,await we(n.resolvedPath)),e.sd.tokens):n.source.length===0?{}:e.options.splitThemes?Ee(e.options,n.source):Q(e.options,n.source)}async function De(e){let t=await $(e);if(X(t)){let{tokensPath:t}=e.options,n=Array.isArray(t)?t.length>0?`tokensPath=[${t.map(e=>`"${e}"`).join(`, `)}]`:`default token paths / CSS fallbacks`:i(t)?`tokensPath="${t}"`:`default token paths / CSS fallbacks`;throw Error(`No design tokens found via ${n}. Provide tokensPath or add a tokens file.`)}return t}export{v as C,p as S,O as _,M as a,g as b,B as c,ge as d,j as f,k as g,D as h,Y as i,z as l,E as m,De as n,V as o,A as p,J as r,R as s,$ as t,H as u,h as v,m as x,_ as y};
|
|
2
|
+
//# sourceMappingURL=tokens-CXYvywlP.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens-CXYvywlP.mjs","names":[],"sources":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./rolldown-runtime-BocRIvOZ.cjs"),t=require("./utils-BiL8zQzg.cjs");let n=require("@stryke/fs/exists"),r=require("@stryke/fs/is-file"),i=require("@stryke/path/join"),a=require("@stryke/type-checks/is-set-string"),o=require("node:path"),s=require("@stryke/type-checks/is-function"),c=require("@stryke/fs/resolve"),l=require("fast-glob");l=e.t(l,1);let u=require("style-dictionary");u=e.t(u,1);let d=require("style-dictionary/enums"),f=require("json5");f=e.t(f,1);let ee=require("smol-toml"),te=require("yaml");const p=[`razorwind-json`,`razorwind-yaml`,`razorwind-toml`,`razorwind-css`],m=[`json`,`json5`,`jsonc`,`yaml`,`yml`,`toml`,`css`,`js`,`mjs`,`cjs`,`ts`,`mts`,`cts`],ne=m.join(`,`),h=[`tokens.json`,`tokens.json5`,`tokens.jsonc`,`tokens.yaml`,`tokens.yml`,`tokens.toml`,`tokens.css`,`design-tokens.json`,`design-tokens.yaml`,`design-tokens.yml`,`tokens`,`design-tokens`,`src/tokens`,`src/design-tokens`,`packages/tokens`,`style-dictionary.config.js`,`style-dictionary.config.mjs`,`style-dictionary.config.ts`,`sd.config.js`,`sd.config.mjs`,`sd.config.ts`],g=`**/*.{${ne}}`,_=/^(light|dark|dim|dimmed|high-contrast|hc|protanopia|deuteranopia|tritanopia|achromatopsia|achromatomaly|monochrome|monochromatic|grayscale|greyscale|bw|black-and-white|black-white|blackWhite|default|base|theme)([._-].+)?$/i,v={color:`color`,colours:`color`,colors:`color`,colour:`color`,palette:`color`,bg:`color`,background:`color`,foreground:`color`,fg:`color`,border:`color`,fill:`color`,stroke:`color`,spacing:`dimension`,space:`dimension`,size:`dimension`,sizes:`dimension`,sizing:`dimension`,gap:`dimension`,radius:`dimension`,radii:`dimension`,rounded:`dimension`,width:`dimension`,height:`dimension`,dimension:`dimension`,dimensions:`dimension`,duration:`duration`,durations:`duration`,time:`duration`,delay:`duration`,animation:`duration`,motion:`duration`,transition:`duration`,font:`fontFamily`,fonts:`fontFamily`,fontfamily:`fontFamily`,"font-family":`fontFamily`,typeface:`fontFamily`,fontweight:`fontWeight`,"font-weight":`fontWeight`,weight:`fontWeight`,opacity:`number`,opacities:`number`,zindex:`number`,"z-index":`number`,lineheight:`number`,"line-height":`number`,letterspacing:`dimension`,"letter-spacing":`dimension`,shadow:`shadow`,shadows:`shadow`,elevation:`shadow`,gradient:`gradient`,gradients:`gradient`,typography:`typography`,text:`typography`,cubicbezier:`cubicBezier`,easing:`cubicBezier`,ease:`cubicBezier`},re=/^#(?:[0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,ie=/^rgba?\(\s*([+\d.]+%?)[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+%?)[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+%?)(?:\s*[,/]\s*([+\d.]+%?))?\s*\)$/i,ae=/^hsla?\(\s*([+\d.]+)[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+)%[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+)%(?:\s*[,/]\s*([+\d.]+%?))?\s*\)$/i,oe=/^oklch\(\s*([+\d.]+%?|none)\s+([+\d.]+|none)\s+([+\d.]+|none)(?:\s*\/\s*([+\d.]+%?))?\s*\)$/i,y=/^([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*(px|rem|em|%|vh|vw|vmin|vmax|ch|ex|cm|mm|in|pt|pc)$/i,se=/^([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*(ms|s)$/i,ce=/^cubic-bezier\(\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*\)$/i,le=/^var\(\s*(--[\w-]+)\s*(?:,\s*(?:\S.*|[\t\v\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]))?\)\s*$/i,ue=/^\{[^{}]+\}$/,de={thin:100,hairline:100,extralight:200,"extra-light":200,ultralight:200,light:300,normal:400,regular:400,book:400,medium:500,semibold:600,"semi-bold":600,demibold:600,bold:700,extrabold:800,"extra-bold":800,ultrabold:800,black:900,heavy:900},b=new Set([`px`,`rem`]);function x(e){return Math.min(1,Math.max(0,e))}function S(e,t=100){let n=e.trim();if(n.endsWith(`%`))return x(Number.parseFloat(n)/t);let r=Number.parseFloat(n);return x(r>1?r/255:r)}function fe(e){let t=e.slice(1);return t.length===3||t.length===4?`#${[...t].map(e=>e+e).join(``)}`:(e.length===7||e.length,e)}function C(e){let t=fe(e.toLowerCase()).slice(1),n=Number.parseInt(t.slice(0,2),16)/255,r=Number.parseInt(t.slice(2,4),16)/255,i=Number.parseInt(t.slice(4,6),16)/255,a=t.length===8?Number.parseInt(t.slice(6,8),16)/255:void 0;return{colorSpace:`srgb`,components:[n,r,i],...a===void 0||a===1?{}:{alpha:a},hex:`#${t.slice(0,6)}`}}function w(e){return`{${e.replace(/^--/,``).split(`-`).filter(Boolean).join(`.`)}}`}function T(e){return`$value`in e||`value`in e||`$ref`in e||`ref`in e}function E(e){for(let t=e.length-1;t>=0;t--){let n=e[t]?.toLowerCase();if(!n)continue;let r=v[n];if(r)return r}}function D(e,n=[]){let r=E(n);if(typeof e==`string`){let t=e.trim();if(ue.test(t))return{value:t,type:r};let i=t.match(le);if(i?.[1])return{value:w(i[1]),type:r};if(re.test(t))return{value:C(t),type:`color`};let a=t.match(ie);if(a){let e=[S(a[1]),S(a[2]),S(a[3])],t=a[4]?a[4].endsWith(`%`)?x(Number.parseFloat(a[4])/100):x(Number.parseFloat(a[4])):void 0;return{value:{colorSpace:`srgb`,components:e,...t===void 0||Number.isNaN(t)?{}:{alpha:t}},type:`color`}}let o=t.match(ae);if(o)return{value:{colorSpace:`hsl`,components:[Number.parseFloat(o[1]),Number.parseFloat(o[2]),Number.parseFloat(o[3])],...o[4]?{alpha:o[4].endsWith(`%`)?x(Number.parseFloat(o[4])/100):x(Number.parseFloat(o[4]))}:{}},type:`color`};let s=t.match(oe);if(s){let e=e=>e===`none`?`none`:e.endsWith(`%`)?Number.parseFloat(e)/100:Number.parseFloat(e);return{value:{colorSpace:`oklch`,components:[e(s[1]),e(s[2]),e(s[3])],...s[4]?{alpha:s[4].endsWith(`%`)?x(Number.parseFloat(s[4])/100):x(Number.parseFloat(s[4]))}:{}},type:`color`}}let c=t.match(y);if(c){let e=c[2].toLowerCase(),n=Number.parseFloat(c[1]);return b.has(e)?{value:{value:n,unit:e},type:`dimension`}:{value:t,type:r===`dimension`?void 0:r}}let l=t.match(se);if(l)return{value:{value:Number.parseFloat(l[1]),unit:l[2].toLowerCase()},type:`duration`};let u=t.match(ce);if(u)return{value:[Number.parseFloat(u[1]),Number.parseFloat(u[2]),Number.parseFloat(u[3]),Number.parseFloat(u[4])],type:`cubicBezier`};let d=de[t.toLowerCase()];return d===void 0?r===`fontFamily`||/family|font|typeface/i.test(n.at(-1)??``)?t.includes(`,`)?{value:t.split(`,`).map(e=>e.trim().replace(/^["']|["']$/g,``)),type:`fontFamily`}:{value:t.replace(/^["']|["']$/g,``),type:`fontFamily`}:r===`color`&&!t.startsWith(`{`)?{value:t,type:void 0}:{value:t,type:r}:{value:d,type:`fontWeight`}}if(typeof e==`number`)return r===`fontWeight`?{value:e,type:`fontWeight`}:r===`duration`?{value:{value:e,unit:`ms`},type:`duration`}:r===`dimension`?{value:{value:e,unit:`px`},type:`dimension`}:{value:e,type:r??`number`};if(Array.isArray(e))return e.length===4&&e.every(e=>typeof e==`number`)&&(r===`cubicBezier`||n.some(e=>/ease|bezier/i.test(e)))?{value:e,type:`cubicBezier`}:e.every(e=>typeof e==`string`)?{value:e,type:r??`fontFamily`}:{value:e,type:r};if(t.n(e)){if(`colorSpace`in e&&`components`in e)return{value:e,type:`color`};if(`value`in e&&`unit`in e){let t=String(e.unit).toLowerCase();return t===`ms`||t===`s`?{value:e,type:`duration`}:b.has(t)?{value:e,type:`dimension`}:{value:e,type:r}}}return{value:e,type:r}}function pe(e,t){let n={...e};if(`value`in n&&!(`$value`in n)&&(n.$value=n.value,delete n.value),`type`in n&&!(`$type`in n)&&(n.$type=n.type,delete n.type),`comment`in n&&!(`$description`in n)&&(n.$description=n.comment,delete n.comment),`description`in n&&!(`$description`in n)&&(n.$description=n.description,delete n.description),`ref`in n&&!(`$ref`in n)&&(n.$ref=n.ref,delete n.ref),`$value`in n){let e=D(n.$value,t);n.$value=e.value,!(`$type`in n)&&e.type&&(n.$type=e.type)}return n}function O(e,n=[]){if(Array.isArray(e))return e.map((e,t)=>O(e,[...n,String(t)]));if(!t.n(e))return e;if(T(e))return pe(e,n);let r={};for(let[t,i]of Object.entries(e)){if(t.startsWith(`$`)){r[t]=i;continue}r[t]=O(i,[...n,t])}if(!(`$type`in r)){let e=E(n);e&&n.length>0&&(r.$type=e)}return r}function k(e){let n={};for(let[r,i]of Object.entries(e)){let e=r.replace(/^--/,``).split(/[-./]/).filter(Boolean);if(e.length===0)continue;let a=n;for(let n=0;n<e.length-1;n++){let r=e[n],i=a[r];t.n(i)?T(i)&&(a[r]={DEFAULT:i}):a[r]={},a=a[r]}let o=e.at(-1),s=D(i,e),c={$value:s.value,...s.type?{$type:s.type}:{}},l=a[o];t.n(l)&&!T(l)?l.DEFAULT=c:a[o]=c}return O(n)}const me=/(--[A-Z_][\w-]*)\s*:\s*([^;}{]+?)(?=\s*(?:;|\}|$))/gi;function A(e){let t={},n=e.replace(/\/\*[\s\S]*?\*\//g,``);for(let e of n.matchAll(me)){let n=e[1],r=e[2]?.trim();!n||!r||(t[n]=r)}return k(t)}function j(e){return e?{verbosity:d.logVerbosityLevels.verbose}:{}}const M=`razorwind-infer`;function N(e){if(e==null)return{};if(typeof e!=`object`||Array.isArray(e))throw TypeError(`Token file must parse to a plain object.`);return O(e)}function P(e){try{return N(f.default.parse(e))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to parse JSON token file: ${t}`)}}function F(e){try{return N((0,te.parse)(e))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to parse YAML token file: ${t}`)}}function I(e){try{return N((0,ee.parse)(e))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to parse TOML token file: ${t}`)}}const L=[{name:`razorwind-json`,pattern:/\.json[c5]?$/i,parser:({contents:e})=>P(e)},{name:`razorwind-yaml`,pattern:/\.ya?ml$/i,parser:({contents:e})=>F(e)},{name:`razorwind-toml`,pattern:/\.toml$/i,parser:({contents:e})=>I(e)},{name:`razorwind-css`,pattern:/\.css$/i,parser:({contents:e})=>O(A(e))}];function R(){return Object.fromEntries(L.map(({name:e,pattern:t,parser:n})=>[e,{pattern:t,parser:n}]))}function z(e){return O(e)}function B(){return{[M]:z}}function V(e=[]){let t={...R()},n={...B()},r=[...p],i=[M],a=0,o=0;for(let c of e){for(let e of c.parsers??[]){let n=e.name??`${c.name}-parser-${a}`;t[n]={pattern:e.pattern,parser:({contents:t})=>e.parser(t)},r.push(n),a++}for(let e of c.preprocessors??[]){let t=(0,s.isFunction)(e)?{name:`${c.name}-preprocessor-${o}`,preprocessor:e}:{name:e.name??`${c.name}-preprocessor-${o}`,preprocessor:e.preprocessor};n[t.name]=t.preprocessor,i.push(t.name),o++}}return{parsers:t,preprocessors:n,parserNames:r,preprocessorNames:i}}function H(e=[],t=u.default){let n=V(e);if(typeof t.registerParser==`function`)for(let[e,r]of Object.entries(n.parsers))t.registerParser({name:e,...r});if(typeof t.registerPreprocessor==`function`)for(let[e,r]of Object.entries(n.preprocessors))t.registerPreprocessor({name:e,preprocessor:r});return n}const he=H;function U(e,t){return(0,o.isAbsolute)(t)?t:(0,o.resolve)(e,t)}function W(e){return/\.([^.]+)$/.exec(e)?.[1]?.toLowerCase()??``}function G(e){return m.includes(W(e))}function K(e){let t=e.split(/[/\\]/).pop()?.toLowerCase()??``;return t.startsWith(`style-dictionary.config.`)||t.startsWith(`sd.config.`)}function q(e){return(0,i.joinPaths)(e,g)}function ge(e){return Array.isArray(e)?e.filter(a.isSetString):(0,a.isSetString)(e)?[e]:[]}const _e=/[*?[\]{}]/;function ve(e){return _e.test(e)}function ye(e){let t=e.search(/[*?[{]/);if(t<=0)return;let n=e.slice(0,t).replace(/[/\\]+$/,``);return n.length>0?n:void 0}function be(e,t){let i=U(e,t);if(ve(t)){let e=ye(i);if(e&&!(0,n.existsSync)(e))throw Error(`tokensPath "${t}" does not exist (resolved: ${i}).`);return{resolvedPath:i,source:[i],isStyleDictionaryConfig:!1}}if(!(0,n.existsSync)(i))throw Error(`tokensPath "${t}" does not exist (resolved: ${i}).`);return(0,r.isDirectory)(i)?{resolvedPath:i,source:[q(i)],isStyleDictionaryConfig:!1}:K(i)?{resolvedPath:i,source:[],isStyleDictionaryConfig:!0}:{resolvedPath:i,source:[i],isStyleDictionaryConfig:!1}}function J(e){let{cwd:t,tokensPath:i,fallbackPaths:a=[]}=e,o=ge(i);if(o.length>0){let e=o.map(e=>be(t,e)),n=e.filter(e=>e.isStyleDictionaryConfig);if(n.length>0){if(e.length>1)throw Error(`tokensPath cannot mix Style Dictionary config files with other token sources.`);return{resolvedPath:n[0].resolvedPath,source:[],origin:`tokensPath`}}return{resolvedPath:e[0]?.resolvedPath,source:e.flatMap(e=>e.source),origin:`tokensPath`}}for(let e of h){let i=U(t,e);if((0,n.existsSync)(i)){if((0,r.isDirectory)(i))return{resolvedPath:i,source:[q(i)],origin:`default`};if(K(i))return{resolvedPath:i,source:[],origin:`default`};if(G(i))return{resolvedPath:i,source:[i],origin:`default`}}}for(let e of a){if(!e)continue;let i=U(t,e);if(!(!(0,n.existsSync)(i)||(0,r.isDirectory)(i))&&(G(i)||W(i)===`css`))return{resolvedPath:i,source:[i],origin:`fallback`}}return{source:[],origin:`none`}}function Y(e){return(e.split(/[/\\]/).pop()??``).replace(/\.[^.]+$/,``).match(_)?.[1]?.toLowerCase()}function xe(e){let t=e,n=new Set;for(;t!=null&&!n.has(t);){if(n.add(t),typeof t==`function`)return t;if(typeof t==`object`&&`default`in t){t=t.default;continue}break}throw TypeError(`style-dictionary did not export a constructable StyleDictionary class.`)}const Se=xe(u.default);function X(e){return!e||typeof e!=`object`||Object.keys(e).length===0}async function Ce(e){let t=await(0,c.importModule)(e);return t&&typeof t==`object`&&`default`in t&&t.default?t.default:t}async function Z(e,t){let n=V(e.plugins),r=new Se({...t,parsers:[...n.parserNames,...t.parsers??[]],preprocessors:[...n.preprocessorNames,...t.preprocessors??[]],hooks:{...t.hooks,parsers:{...n.parsers,...t.hooks?.parsers},preprocessors:{...n.preprocessors,...t.hooks?.preprocessors}},usesDtcg:t.usesDtcg??!0,platforms:t.platforms??{}},j(e.verbose));return await r.hasInitialized,r}async function Q(e,t){return t.length===0?{}:(await Z(e,{source:t})).tokens}async function we(e){return(await(0,l.default)(e,{absolute:!0,onlyFiles:!0,unique:!0})).sort()}async function Te(e,t){let n=await we(t);if(n.length===0)return{};let r=new Map,i=[];for(let e of n){let t=Y(e);if(t){let n=r.get(t)??[];n.push(e),r.set(t,n)}else i.push(e)}if(r.size<2)return Q(e,t);let a={};if(i.length>0){let t=await Q(e,i);X(t)||(a.base=t)}for(let[t,n]of r)a[t]=await Q(e,n);return a}async function $(e){let t=J(e.options);return t.resolvedPath&&(0,n.existsSync)(t.resolvedPath)&&/(?:^|[/\\])(?:style-dictionary|sd)\.config\./i.test((0,o.basename)(t.resolvedPath))?(e.sd=await Z(e.options,await Ce(t.resolvedPath)),e.sd.tokens):t.source.length===0?{}:e.options.splitThemes?Te(e.options,t.source):Q(e.options,t.source)}async function Ee(e){let t=await $(e);if(X(t)){let{tokensPath:t}=e.options,n=Array.isArray(t)?t.length>0?`tokensPath=[${t.map(e=>`"${e}"`).join(`, `)}]`:`default token paths / CSS fallbacks`:(0,a.isSetString)(t)?`tokensPath="${t}"`:`default token paths / CSS fallbacks`;throw Error(`No design tokens found via ${n}. Provide tokensPath or add a tokens file.`)}return t}Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return he}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return Ee}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return _}});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@razorwind/core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.45",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "💨 Razorwind is a unified set of tools that make creating design systems a breeze.",
|
|
6
6
|
"keywords": ["razorwind", "storm-software"],
|
|
@@ -145,5 +145,5 @@
|
|
|
145
145
|
"typescript": "^6.0.3"
|
|
146
146
|
},
|
|
147
147
|
"publishConfig": { "access": "public" },
|
|
148
|
-
"gitHead": "
|
|
148
|
+
"gitHead": "8646ac01928c5b68108e86adf33fb78941b35902"
|
|
149
149
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-BHFlKT4O.d.mts","names":[],"sources":["../src/types/plugin.ts","../src/types/config.ts"],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-DrVESYnz.d.mts","names":[],"sources":["../src/lib/tokens/constants.ts","../src/lib/tokens/css.ts","../src/lib/tokens/infer.ts","../src/lib/tokens/resolve-path.ts","../src/lib/tokens/load.ts","../src/lib/tokens/parsers.ts"],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-xilGn3pb.d.cts","names":[],"sources":["../src/lib/tokens/constants.ts","../src/lib/tokens/css.ts","../src/lib/tokens/infer.ts","../src/lib/tokens/resolve-path.ts","../src/lib/tokens/load.ts","../src/lib/tokens/parsers.ts"],"mappings":";;;;;;;;cAmBa;KAOD,8BAA8B;;cAG7B;;;;;cAsBA;;cAyBA;;cAGA,wBAAsB;;cAItB,iBAAiB;;;;;;;iBCvDd,yBACd,mBACC;;;KCgCS;;;;iBAmEI,kBACd,iBACC;;;;iBAiBa,WACd,cACA;EACG;EAAgB,OAAO;;;;;iBAsPZ,mBACd,gBACA;;;;;;;;iBA2Cc,eACd,MAAM,0BACL;;;UC9Zc;;;;EAIf;;;;EAKA;;;;EAKA,gBAAgB;;UAGD;;;;;;;EAOf;;;;EAKA;;;;EAKA;;;;;;;;;iBAyHc,oBACd,SAAS,2BACR;;;;iBAqFa,iBAAiB;;;UCtNhB,0BAA0B;;;;;;EAMzC;;KAGU,eAAe,SAAS,eAAe;;;;;;;;;iBA0I7B,WACpB,SAAS,iBAAiB,QAAQ,gBACjC,QAAQ;;;;;;;;;;iBAsCW,kBACpB,SAAS,iBAAiB,QAAQ,gBACjC,QAAQ;;;;cCpNE;;UAGI;EACf,kBAAkB,QAAQ;EAC1B,wBAAwB;IACtB;IACA,cAAc,YAAY;;;;UAKb;EACf,SAAS,YAAY;EACrB,eAAe,YAAY;EAC3B;EACA;;;iBAwEc,2BAA2B,YAAY;;;;;iBAavC,2BACd,YAAY,qBACX;;iBAKa,iCAAiC,YAC/C;;;;;;;iBAac,mBAAmB,UAAS,WAAgB;;;;;;;;;;;;;;iBA0D5C,uBACd,UAAS,UACT,SAAQ,gCACP;;;;cAqBU,iCAAwB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-D1VhJmEE.d.mts","names":[],"sources":["../src/plugin.ts"],"mappings":""}
|
package/dist/tokens-B1I6HQim.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./utils-B5uabOd5.mjs";import{existsSync as t}from"@stryke/fs/exists";import{isDirectory as n}from"@stryke/fs/is-file";import{joinPaths as r}from"@stryke/path/join";import{isSetString as i}from"@stryke/type-checks/is-set-string";import{basename as a,isAbsolute as o,resolve as s}from"node:path";import{isFunction as c}from"@stryke/type-checks/is-function";import{importModule as l}from"@stryke/fs/resolve";import u from"fast-glob";import d from"style-dictionary";import f from"json5";import{parse as ee}from"smol-toml";import{parse as te}from"yaml";const p=[`razorwind-json`,`razorwind-yaml`,`razorwind-toml`,`razorwind-css`],m=[`json`,`json5`,`jsonc`,`yaml`,`yml`,`toml`,`css`,`js`,`mjs`,`cjs`,`ts`,`mts`,`cts`],h=m.join(`,`),g=[`tokens.json`,`tokens.json5`,`tokens.jsonc`,`tokens.yaml`,`tokens.yml`,`tokens.toml`,`tokens.css`,`design-tokens.json`,`design-tokens.yaml`,`design-tokens.yml`,`tokens`,`design-tokens`,`src/tokens`,`src/design-tokens`,`packages/tokens`,`style-dictionary.config.js`,`style-dictionary.config.mjs`,`style-dictionary.config.ts`,`sd.config.js`,`sd.config.mjs`,`sd.config.ts`],_=`**/*.{${h}}`,v=/^(light|dark|dim|dimmed|high-contrast|hc|protanopia|deuteranopia|tritanopia|achromatopsia|achromatomaly|monochrome|monochromatic|grayscale|greyscale|bw|black-and-white|black-white|blackWhite|default|base|theme)([._-].+)?$/i,y={color:`color`,colours:`color`,colors:`color`,colour:`color`,palette:`color`,bg:`color`,background:`color`,foreground:`color`,fg:`color`,border:`color`,fill:`color`,stroke:`color`,spacing:`dimension`,space:`dimension`,size:`dimension`,sizes:`dimension`,sizing:`dimension`,gap:`dimension`,radius:`dimension`,radii:`dimension`,rounded:`dimension`,width:`dimension`,height:`dimension`,dimension:`dimension`,dimensions:`dimension`,duration:`duration`,durations:`duration`,time:`duration`,delay:`duration`,animation:`duration`,motion:`duration`,transition:`duration`,font:`fontFamily`,fonts:`fontFamily`,fontfamily:`fontFamily`,"font-family":`fontFamily`,typeface:`fontFamily`,fontweight:`fontWeight`,"font-weight":`fontWeight`,weight:`fontWeight`,opacity:`number`,opacities:`number`,zindex:`number`,"z-index":`number`,lineheight:`number`,"line-height":`number`,letterspacing:`dimension`,"letter-spacing":`dimension`,shadow:`shadow`,shadows:`shadow`,elevation:`shadow`,gradient:`gradient`,gradients:`gradient`,typography:`typography`,text:`typography`,cubicbezier:`cubicBezier`,easing:`cubicBezier`,ease:`cubicBezier`},ne=/^#(?:[0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,b=/^rgba?\(\s*([+\d.]+%?)[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+%?)[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+%?)(?:\s*[,/]\s*([+\d.]+%?))?\s*\)$/i,re=/^hsla?\(\s*([+\d.]+)[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+)%[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+)%(?:\s*[,/]\s*([+\d.]+%?))?\s*\)$/i,ie=/^oklch\(\s*([+\d.]+%?|none)\s+([+\d.]+|none)\s+([+\d.]+|none)(?:\s*\/\s*([+\d.]+%?))?\s*\)$/i,ae=/^([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*(px|rem|em|%|vh|vw|vmin|vmax|ch|ex|cm|mm|in|pt|pc)$/i,oe=/^([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*(ms|s)$/i,x=/^cubic-bezier\(\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*\)$/i,se=/^var\(\s*(--[\w-]+)\s*(?:,\s*(?:\S.*|[\t\v\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]))?\)\s*$/i,ce=/^\{[^{}]+\}$/,le={thin:100,hairline:100,extralight:200,"extra-light":200,ultralight:200,light:300,normal:400,regular:400,book:400,medium:500,semibold:600,"semi-bold":600,demibold:600,bold:700,extrabold:800,"extra-bold":800,ultrabold:800,black:900,heavy:900},S=new Set([`px`,`rem`]);function C(e){return Math.min(1,Math.max(0,e))}function w(e,t=100){let n=e.trim();if(n.endsWith(`%`))return C(Number.parseFloat(n)/t);let r=Number.parseFloat(n);return C(r>1?r/255:r)}function T(e){let t=e.slice(1);return t.length===3||t.length===4?`#${[...t].map(e=>e+e).join(``)}`:(e.length===7||e.length,e)}function ue(e){let t=T(e.toLowerCase()).slice(1),n=Number.parseInt(t.slice(0,2),16)/255,r=Number.parseInt(t.slice(2,4),16)/255,i=Number.parseInt(t.slice(4,6),16)/255,a=t.length===8?Number.parseInt(t.slice(6,8),16)/255:void 0;return{colorSpace:`srgb`,components:[n,r,i],...a===void 0||a===1?{}:{alpha:a},hex:`#${t.slice(0,6)}`}}function de(e){return`{${e.replace(/^--/,``).split(`-`).filter(Boolean).join(`.`)}}`}function E(e){return`$value`in e||`value`in e||`$ref`in e||`ref`in e}function D(e){for(let t=e.length-1;t>=0;t--){let n=e[t]?.toLowerCase();if(!n)continue;let r=y[n];if(r)return r}}function O(t,n=[]){let r=D(n);if(typeof t==`string`){let e=t.trim();if(ce.test(e))return{value:e,type:r};let i=e.match(se);if(i?.[1])return{value:de(i[1]),type:r};if(ne.test(e))return{value:ue(e),type:`color`};let a=e.match(b);if(a){let e=[w(a[1]),w(a[2]),w(a[3])],t=a[4]?a[4].endsWith(`%`)?C(Number.parseFloat(a[4])/100):C(Number.parseFloat(a[4])):void 0;return{value:{colorSpace:`srgb`,components:e,...t===void 0||Number.isNaN(t)?{}:{alpha:t}},type:`color`}}let o=e.match(re);if(o)return{value:{colorSpace:`hsl`,components:[Number.parseFloat(o[1]),Number.parseFloat(o[2]),Number.parseFloat(o[3])],...o[4]?{alpha:o[4].endsWith(`%`)?C(Number.parseFloat(o[4])/100):C(Number.parseFloat(o[4]))}:{}},type:`color`};let s=e.match(ie);if(s){let e=e=>e===`none`?`none`:e.endsWith(`%`)?Number.parseFloat(e)/100:Number.parseFloat(e);return{value:{colorSpace:`oklch`,components:[e(s[1]),e(s[2]),e(s[3])],...s[4]?{alpha:s[4].endsWith(`%`)?C(Number.parseFloat(s[4])/100):C(Number.parseFloat(s[4]))}:{}},type:`color`}}let c=e.match(ae);if(c){let t=c[2].toLowerCase(),n=Number.parseFloat(c[1]);return S.has(t)?{value:{value:n,unit:t},type:`dimension`}:{value:e,type:r===`dimension`?void 0:r}}let l=e.match(oe);if(l)return{value:{value:Number.parseFloat(l[1]),unit:l[2].toLowerCase()},type:`duration`};let u=e.match(x);if(u)return{value:[Number.parseFloat(u[1]),Number.parseFloat(u[2]),Number.parseFloat(u[3]),Number.parseFloat(u[4])],type:`cubicBezier`};let d=le[e.toLowerCase()];return d===void 0?r===`fontFamily`||/family|font|typeface/i.test(n.at(-1)??``)?e.includes(`,`)?{value:e.split(`,`).map(e=>e.trim().replace(/^["']|["']$/g,``)),type:`fontFamily`}:{value:e.replace(/^["']|["']$/g,``),type:`fontFamily`}:r===`color`&&!e.startsWith(`{`)?{value:e,type:void 0}:{value:e,type:r}:{value:d,type:`fontWeight`}}if(typeof t==`number`)return r===`fontWeight`?{value:t,type:`fontWeight`}:r===`duration`?{value:{value:t,unit:`ms`},type:`duration`}:r===`dimension`?{value:{value:t,unit:`px`},type:`dimension`}:{value:t,type:r??`number`};if(Array.isArray(t))return t.length===4&&t.every(e=>typeof e==`number`)&&(r===`cubicBezier`||n.some(e=>/ease|bezier/i.test(e)))?{value:t,type:`cubicBezier`}:t.every(e=>typeof e==`string`)?{value:t,type:r??`fontFamily`}:{value:t,type:r};if(e(t)){if(`colorSpace`in t&&`components`in t)return{value:t,type:`color`};if(`value`in t&&`unit`in t){let e=String(t.unit).toLowerCase();return e===`ms`||e===`s`?{value:t,type:`duration`}:S.has(e)?{value:t,type:`dimension`}:{value:t,type:r}}}return{value:t,type:r}}function fe(e,t){let n={...e};if(`value`in n&&!(`$value`in n)&&(n.$value=n.value,delete n.value),`type`in n&&!(`$type`in n)&&(n.$type=n.type,delete n.type),`comment`in n&&!(`$description`in n)&&(n.$description=n.comment,delete n.comment),`description`in n&&!(`$description`in n)&&(n.$description=n.description,delete n.description),`ref`in n&&!(`$ref`in n)&&(n.$ref=n.ref,delete n.ref),`$value`in n){let e=O(n.$value,t);n.$value=e.value,!(`$type`in n)&&e.type&&(n.$type=e.type)}return n}function k(t,n=[]){if(Array.isArray(t))return t.map((e,t)=>k(e,[...n,String(t)]));if(!e(t))return t;if(E(t))return fe(t,n);let r={};for(let[e,i]of Object.entries(t)){if(e.startsWith(`$`)){r[e]=i;continue}r[e]=k(i,[...n,e])}if(!(`$type`in r)){let e=D(n);e&&n.length>0&&(r.$type=e)}return r}function A(t){let n={};for(let[r,i]of Object.entries(t)){let t=r.replace(/^--/,``).split(/[-./]/).filter(Boolean);if(t.length===0)continue;let a=n;for(let n=0;n<t.length-1;n++){let r=t[n],i=a[r];e(i)?E(i)&&(a[r]={DEFAULT:i}):a[r]={},a=a[r]}let o=t.at(-1),s=O(i,t),c={$value:s.value,...s.type?{$type:s.type}:{}},l=a[o];e(l)&&!E(l)?l.DEFAULT=c:a[o]=c}return k(n)}const pe=/(--[A-Z_][\w-]*)\s*:\s*([^;}{]+?)(?=\s*(?:;|\}|$))/gi;function j(e){let t={},n=e.replace(/\/\*[\s\S]*?\*\//g,``);for(let e of n.matchAll(pe)){let n=e[1],r=e[2]?.trim();!n||!r||(t[n]=r)}return A(t)}const M=`razorwind-infer`;function N(e){if(e==null)return{};if(typeof e!=`object`||Array.isArray(e))throw TypeError(`Token file must parse to a plain object.`);return k(e)}function P(e){try{return N(f.parse(e))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to parse JSON token file: ${t}`)}}function F(e){try{return N(te(e))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to parse YAML token file: ${t}`)}}function I(e){try{return N(ee(e))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to parse TOML token file: ${t}`)}}const L=[{name:`razorwind-json`,pattern:/\.json[c5]?$/i,parser:({contents:e})=>P(e)},{name:`razorwind-yaml`,pattern:/\.ya?ml$/i,parser:({contents:e})=>F(e)},{name:`razorwind-toml`,pattern:/\.toml$/i,parser:({contents:e})=>I(e)},{name:`razorwind-css`,pattern:/\.css$/i,parser:({contents:e})=>k(j(e))}];function R(){return Object.fromEntries(L.map(({name:e,pattern:t,parser:n})=>[e,{pattern:t,parser:n}]))}function z(e){return k(e)}function B(){return{[M]:z}}function V(e=[]){let t={...R()},n={...B()},r=[...p],i=[M],a=0,o=0;for(let s of e){for(let e of s.parsers??[]){let n=e.name??`${s.name}-parser-${a}`;t[n]={pattern:e.pattern,parser:({contents:t})=>e.parser(t)},r.push(n),a++}for(let e of s.preprocessors??[]){let t=c(e)?{name:`${s.name}-preprocessor-${o}`,preprocessor:e}:{name:e.name??`${s.name}-preprocessor-${o}`,preprocessor:e.preprocessor};n[t.name]=t.preprocessor,i.push(t.name),o++}}return{parsers:t,preprocessors:n,parserNames:r,preprocessorNames:i}}function H(e=[],t=d){let n=V(e);if(typeof t.registerParser==`function`)for(let[e,r]of Object.entries(n.parsers))t.registerParser({name:e,...r});if(typeof t.registerPreprocessor==`function`)for(let[e,r]of Object.entries(n.preprocessors))t.registerPreprocessor({name:e,preprocessor:r});return n}const me=H;function U(e,t){return o(t)?t:s(e,t)}function W(e){return/\.([^.]+)$/.exec(e)?.[1]?.toLowerCase()??``}function G(e){return m.includes(W(e))}function K(e){let t=e.split(/[/\\]/).pop()?.toLowerCase()??``;return t.startsWith(`style-dictionary.config.`)||t.startsWith(`sd.config.`)}function q(e){return r(e,_)}function he(e){return Array.isArray(e)?e.filter(i):i(e)?[e]:[]}const ge=/[*?[\]{}]/;function _e(e){return ge.test(e)}function ve(e){let t=e.search(/[*?[{]/);if(t<=0)return;let n=e.slice(0,t).replace(/[/\\]+$/,``);return n.length>0?n:void 0}function ye(e,r){let i=U(e,r);if(_e(r)){let e=ve(i);if(e&&!t(e))throw Error(`tokensPath "${r}" does not exist (resolved: ${i}).`);return{resolvedPath:i,source:[i],isStyleDictionaryConfig:!1}}if(!t(i))throw Error(`tokensPath "${r}" does not exist (resolved: ${i}).`);return n(i)?{resolvedPath:i,source:[q(i)],isStyleDictionaryConfig:!1}:K(i)?{resolvedPath:i,source:[],isStyleDictionaryConfig:!0}:{resolvedPath:i,source:[i],isStyleDictionaryConfig:!1}}function J(e){let{cwd:r,tokensPath:i,fallbackPaths:a=[]}=e,o=he(i);if(o.length>0){let e=o.map(e=>ye(r,e)),t=e.filter(e=>e.isStyleDictionaryConfig);if(t.length>0){if(e.length>1)throw Error(`tokensPath cannot mix Style Dictionary config files with other token sources.`);return{resolvedPath:t[0].resolvedPath,source:[],origin:`tokensPath`}}return{resolvedPath:e[0]?.resolvedPath,source:e.flatMap(e=>e.source),origin:`tokensPath`}}for(let e of g){let i=U(r,e);if(t(i)){if(n(i))return{resolvedPath:i,source:[q(i)],origin:`default`};if(K(i))return{resolvedPath:i,source:[],origin:`default`};if(G(i))return{resolvedPath:i,source:[i],origin:`default`}}}for(let e of a){if(!e)continue;let i=U(r,e);if(!(!t(i)||n(i))&&(G(i)||W(i)===`css`))return{resolvedPath:i,source:[i],origin:`fallback`}}return{source:[],origin:`none`}}function Y(e){return(e.split(/[/\\]/).pop()??``).replace(/\.[^.]+$/,``).match(v)?.[1]?.toLowerCase()}function be(e){let t=e,n=new Set;for(;t!=null&&!n.has(t);){if(n.add(t),typeof t==`function`)return t;if(typeof t==`object`&&`default`in t){t=t.default;continue}break}throw TypeError(`style-dictionary did not export a constructable StyleDictionary class.`)}const xe=be(d);function X(e){return!e||typeof e!=`object`||Object.keys(e).length===0}async function Se(e){let t=await l(e);return t&&typeof t==`object`&&`default`in t&&t.default?t.default:t}async function Z(e,t){let n=V(e.plugins),r=new xe({...t,parsers:[...n.parserNames,...t.parsers??[]],preprocessors:[...n.preprocessorNames,...t.preprocessors??[]],hooks:{...t.hooks,parsers:{...n.parsers,...t.hooks?.parsers},preprocessors:{...n.preprocessors,...t.hooks?.preprocessors}},usesDtcg:t.usesDtcg??!0,platforms:t.platforms??{}});return await r.hasInitialized,r}async function Q(e,t){return t.length===0?{}:(await Z(e,{source:t})).tokens}async function Ce(e){return(await u(e,{absolute:!0,onlyFiles:!0,unique:!0})).sort()}async function we(e,t){let n=await Ce(t);if(n.length===0)return{};let r=new Map,i=[];for(let e of n){let t=Y(e);if(t){let n=r.get(t)??[];n.push(e),r.set(t,n)}else i.push(e)}if(r.size<2)return Q(e,t);let a={};if(i.length>0){let t=await Q(e,i);X(t)||(a.base=t)}for(let[t,n]of r)a[t]=await Q(e,n);return a}async function $(e){let n=J(e.options);return n.resolvedPath&&t(n.resolvedPath)&&/(?:^|[/\\])(?:style-dictionary|sd)\.config\./i.test(a(n.resolvedPath))?(e.sd=await Z(e.options,await Se(n.resolvedPath)),e.sd.tokens):n.source.length===0?{}:e.options.splitThemes?we(e.options,n.source):Q(e.options,n.source)}async function Te(e){let t=await $(e);if(X(t)){let{tokensPath:t}=e.options,n=Array.isArray(t)?t.length>0?`tokensPath=[${t.map(e=>`"${e}"`).join(`, `)}]`:`default token paths / CSS fallbacks`:i(t)?`tokensPath="${t}"`:`default token paths / CSS fallbacks`;throw Error(`No design tokens found via ${n}. Provide tokensPath or add a tokens file.`)}return t}export{y as S,g as _,M as a,m as b,B as c,me as d,j as f,k as g,A as h,Y as i,z as l,O as m,Te as n,V as o,D as p,J as r,R as s,$ as t,H as u,v,p as x,_ as y};
|
|
2
|
-
//# sourceMappingURL=tokens-B1I6HQim.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tokens-B1I6HQim.mjs","names":[],"sources":[],"mappings":""}
|
package/dist/tokens-DZOlhVxy.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require("./rolldown-runtime-BocRIvOZ.cjs"),t=require("./utils-BiL8zQzg.cjs");let n=require("@stryke/fs/exists"),r=require("@stryke/fs/is-file"),i=require("@stryke/path/join"),a=require("@stryke/type-checks/is-set-string"),o=require("node:path"),s=require("@stryke/type-checks/is-function"),c=require("@stryke/fs/resolve"),l=require("fast-glob");l=e.t(l,1);let u=require("style-dictionary");u=e.t(u,1);let d=require("json5");d=e.t(d,1);let ee=require("smol-toml"),f=require("yaml");const p=[`razorwind-json`,`razorwind-yaml`,`razorwind-toml`,`razorwind-css`],m=[`json`,`json5`,`jsonc`,`yaml`,`yml`,`toml`,`css`,`js`,`mjs`,`cjs`,`ts`,`mts`,`cts`],h=m.join(`,`),g=[`tokens.json`,`tokens.json5`,`tokens.jsonc`,`tokens.yaml`,`tokens.yml`,`tokens.toml`,`tokens.css`,`design-tokens.json`,`design-tokens.yaml`,`design-tokens.yml`,`tokens`,`design-tokens`,`src/tokens`,`src/design-tokens`,`packages/tokens`,`style-dictionary.config.js`,`style-dictionary.config.mjs`,`style-dictionary.config.ts`,`sd.config.js`,`sd.config.mjs`,`sd.config.ts`],_=`**/*.{${h}}`,v=/^(light|dark|dim|dimmed|high-contrast|hc|protanopia|deuteranopia|tritanopia|achromatopsia|achromatomaly|monochrome|monochromatic|grayscale|greyscale|bw|black-and-white|black-white|blackWhite|default|base|theme)([._-].+)?$/i,y={color:`color`,colours:`color`,colors:`color`,colour:`color`,palette:`color`,bg:`color`,background:`color`,foreground:`color`,fg:`color`,border:`color`,fill:`color`,stroke:`color`,spacing:`dimension`,space:`dimension`,size:`dimension`,sizes:`dimension`,sizing:`dimension`,gap:`dimension`,radius:`dimension`,radii:`dimension`,rounded:`dimension`,width:`dimension`,height:`dimension`,dimension:`dimension`,dimensions:`dimension`,duration:`duration`,durations:`duration`,time:`duration`,delay:`duration`,animation:`duration`,motion:`duration`,transition:`duration`,font:`fontFamily`,fonts:`fontFamily`,fontfamily:`fontFamily`,"font-family":`fontFamily`,typeface:`fontFamily`,fontweight:`fontWeight`,"font-weight":`fontWeight`,weight:`fontWeight`,opacity:`number`,opacities:`number`,zindex:`number`,"z-index":`number`,lineheight:`number`,"line-height":`number`,letterspacing:`dimension`,"letter-spacing":`dimension`,shadow:`shadow`,shadows:`shadow`,elevation:`shadow`,gradient:`gradient`,gradients:`gradient`,typography:`typography`,text:`typography`,cubicbezier:`cubicBezier`,easing:`cubicBezier`,ease:`cubicBezier`},te=/^#(?:[0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,ne=/^rgba?\(\s*([+\d.]+%?)[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+%?)[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+%?)(?:\s*[,/]\s*([+\d.]+%?))?\s*\)$/i,re=/^hsla?\(\s*([+\d.]+)[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+)%[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+)%(?:\s*[,/]\s*([+\d.]+%?))?\s*\)$/i,ie=/^oklch\(\s*([+\d.]+%?|none)\s+([+\d.]+|none)\s+([+\d.]+|none)(?:\s*\/\s*([+\d.]+%?))?\s*\)$/i,ae=/^([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*(px|rem|em|%|vh|vw|vmin|vmax|ch|ex|cm|mm|in|pt|pc)$/i,oe=/^([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*(ms|s)$/i,se=/^cubic-bezier\(\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*\)$/i,ce=/^var\(\s*(--[\w-]+)\s*(?:,\s*(?:\S.*|[\t\v\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]))?\)\s*$/i,b=/^\{[^{}]+\}$/,x={thin:100,hairline:100,extralight:200,"extra-light":200,ultralight:200,light:300,normal:400,regular:400,book:400,medium:500,semibold:600,"semi-bold":600,demibold:600,bold:700,extrabold:800,"extra-bold":800,ultrabold:800,black:900,heavy:900},S=new Set([`px`,`rem`]);function C(e){return Math.min(1,Math.max(0,e))}function w(e,t=100){let n=e.trim();if(n.endsWith(`%`))return C(Number.parseFloat(n)/t);let r=Number.parseFloat(n);return C(r>1?r/255:r)}function le(e){let t=e.slice(1);return t.length===3||t.length===4?`#${[...t].map(e=>e+e).join(``)}`:(e.length===7||e.length,e)}function ue(e){let t=le(e.toLowerCase()).slice(1),n=Number.parseInt(t.slice(0,2),16)/255,r=Number.parseInt(t.slice(2,4),16)/255,i=Number.parseInt(t.slice(4,6),16)/255,a=t.length===8?Number.parseInt(t.slice(6,8),16)/255:void 0;return{colorSpace:`srgb`,components:[n,r,i],...a===void 0||a===1?{}:{alpha:a},hex:`#${t.slice(0,6)}`}}function de(e){return`{${e.replace(/^--/,``).split(`-`).filter(Boolean).join(`.`)}}`}function T(e){return`$value`in e||`value`in e||`$ref`in e||`ref`in e}function E(e){for(let t=e.length-1;t>=0;t--){let n=e[t]?.toLowerCase();if(!n)continue;let r=y[n];if(r)return r}}function D(e,n=[]){let r=E(n);if(typeof e==`string`){let t=e.trim();if(b.test(t))return{value:t,type:r};let i=t.match(ce);if(i?.[1])return{value:de(i[1]),type:r};if(te.test(t))return{value:ue(t),type:`color`};let a=t.match(ne);if(a){let e=[w(a[1]),w(a[2]),w(a[3])],t=a[4]?a[4].endsWith(`%`)?C(Number.parseFloat(a[4])/100):C(Number.parseFloat(a[4])):void 0;return{value:{colorSpace:`srgb`,components:e,...t===void 0||Number.isNaN(t)?{}:{alpha:t}},type:`color`}}let o=t.match(re);if(o)return{value:{colorSpace:`hsl`,components:[Number.parseFloat(o[1]),Number.parseFloat(o[2]),Number.parseFloat(o[3])],...o[4]?{alpha:o[4].endsWith(`%`)?C(Number.parseFloat(o[4])/100):C(Number.parseFloat(o[4]))}:{}},type:`color`};let s=t.match(ie);if(s){let e=e=>e===`none`?`none`:e.endsWith(`%`)?Number.parseFloat(e)/100:Number.parseFloat(e);return{value:{colorSpace:`oklch`,components:[e(s[1]),e(s[2]),e(s[3])],...s[4]?{alpha:s[4].endsWith(`%`)?C(Number.parseFloat(s[4])/100):C(Number.parseFloat(s[4]))}:{}},type:`color`}}let c=t.match(ae);if(c){let e=c[2].toLowerCase(),n=Number.parseFloat(c[1]);return S.has(e)?{value:{value:n,unit:e},type:`dimension`}:{value:t,type:r===`dimension`?void 0:r}}let l=t.match(oe);if(l)return{value:{value:Number.parseFloat(l[1]),unit:l[2].toLowerCase()},type:`duration`};let u=t.match(se);if(u)return{value:[Number.parseFloat(u[1]),Number.parseFloat(u[2]),Number.parseFloat(u[3]),Number.parseFloat(u[4])],type:`cubicBezier`};let d=x[t.toLowerCase()];return d===void 0?r===`fontFamily`||/family|font|typeface/i.test(n.at(-1)??``)?t.includes(`,`)?{value:t.split(`,`).map(e=>e.trim().replace(/^["']|["']$/g,``)),type:`fontFamily`}:{value:t.replace(/^["']|["']$/g,``),type:`fontFamily`}:r===`color`&&!t.startsWith(`{`)?{value:t,type:void 0}:{value:t,type:r}:{value:d,type:`fontWeight`}}if(typeof e==`number`)return r===`fontWeight`?{value:e,type:`fontWeight`}:r===`duration`?{value:{value:e,unit:`ms`},type:`duration`}:r===`dimension`?{value:{value:e,unit:`px`},type:`dimension`}:{value:e,type:r??`number`};if(Array.isArray(e))return e.length===4&&e.every(e=>typeof e==`number`)&&(r===`cubicBezier`||n.some(e=>/ease|bezier/i.test(e)))?{value:e,type:`cubicBezier`}:e.every(e=>typeof e==`string`)?{value:e,type:r??`fontFamily`}:{value:e,type:r};if(t.n(e)){if(`colorSpace`in e&&`components`in e)return{value:e,type:`color`};if(`value`in e&&`unit`in e){let t=String(e.unit).toLowerCase();return t===`ms`||t===`s`?{value:e,type:`duration`}:S.has(t)?{value:e,type:`dimension`}:{value:e,type:r}}}return{value:e,type:r}}function fe(e,t){let n={...e};if(`value`in n&&!(`$value`in n)&&(n.$value=n.value,delete n.value),`type`in n&&!(`$type`in n)&&(n.$type=n.type,delete n.type),`comment`in n&&!(`$description`in n)&&(n.$description=n.comment,delete n.comment),`description`in n&&!(`$description`in n)&&(n.$description=n.description,delete n.description),`ref`in n&&!(`$ref`in n)&&(n.$ref=n.ref,delete n.ref),`$value`in n){let e=D(n.$value,t);n.$value=e.value,!(`$type`in n)&&e.type&&(n.$type=e.type)}return n}function O(e,n=[]){if(Array.isArray(e))return e.map((e,t)=>O(e,[...n,String(t)]));if(!t.n(e))return e;if(T(e))return fe(e,n);let r={};for(let[t,i]of Object.entries(e)){if(t.startsWith(`$`)){r[t]=i;continue}r[t]=O(i,[...n,t])}if(!(`$type`in r)){let e=E(n);e&&n.length>0&&(r.$type=e)}return r}function k(e){let n={};for(let[r,i]of Object.entries(e)){let e=r.replace(/^--/,``).split(/[-./]/).filter(Boolean);if(e.length===0)continue;let a=n;for(let n=0;n<e.length-1;n++){let r=e[n],i=a[r];t.n(i)?T(i)&&(a[r]={DEFAULT:i}):a[r]={},a=a[r]}let o=e.at(-1),s=D(i,e),c={$value:s.value,...s.type?{$type:s.type}:{}},l=a[o];t.n(l)&&!T(l)?l.DEFAULT=c:a[o]=c}return O(n)}const pe=/(--[A-Z_][\w-]*)\s*:\s*([^;}{]+?)(?=\s*(?:;|\}|$))/gi;function A(e){let t={},n=e.replace(/\/\*[\s\S]*?\*\//g,``);for(let e of n.matchAll(pe)){let n=e[1],r=e[2]?.trim();!n||!r||(t[n]=r)}return k(t)}const j=`razorwind-infer`;function M(e){if(e==null)return{};if(typeof e!=`object`||Array.isArray(e))throw TypeError(`Token file must parse to a plain object.`);return O(e)}function N(e){try{return M(d.default.parse(e))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to parse JSON token file: ${t}`)}}function P(e){try{return M((0,f.parse)(e))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to parse YAML token file: ${t}`)}}function F(e){try{return M((0,ee.parse)(e))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to parse TOML token file: ${t}`)}}const I=[{name:`razorwind-json`,pattern:/\.json[c5]?$/i,parser:({contents:e})=>N(e)},{name:`razorwind-yaml`,pattern:/\.ya?ml$/i,parser:({contents:e})=>P(e)},{name:`razorwind-toml`,pattern:/\.toml$/i,parser:({contents:e})=>F(e)},{name:`razorwind-css`,pattern:/\.css$/i,parser:({contents:e})=>O(A(e))}];function L(){return Object.fromEntries(I.map(({name:e,pattern:t,parser:n})=>[e,{pattern:t,parser:n}]))}function R(e){return O(e)}function z(){return{[j]:R}}function B(e=[]){let t={...L()},n={...z()},r=[...p],i=[j],a=0,o=0;for(let c of e){for(let e of c.parsers??[]){let n=e.name??`${c.name}-parser-${a}`;t[n]={pattern:e.pattern,parser:({contents:t})=>e.parser(t)},r.push(n),a++}for(let e of c.preprocessors??[]){let t=(0,s.isFunction)(e)?{name:`${c.name}-preprocessor-${o}`,preprocessor:e}:{name:e.name??`${c.name}-preprocessor-${o}`,preprocessor:e.preprocessor};n[t.name]=t.preprocessor,i.push(t.name),o++}}return{parsers:t,preprocessors:n,parserNames:r,preprocessorNames:i}}function V(e=[],t=u.default){let n=B(e);if(typeof t.registerParser==`function`)for(let[e,r]of Object.entries(n.parsers))t.registerParser({name:e,...r});if(typeof t.registerPreprocessor==`function`)for(let[e,r]of Object.entries(n.preprocessors))t.registerPreprocessor({name:e,preprocessor:r});return n}const me=V;function H(e,t){return(0,o.isAbsolute)(t)?t:(0,o.resolve)(e,t)}function U(e){return/\.([^.]+)$/.exec(e)?.[1]?.toLowerCase()??``}function W(e){return m.includes(U(e))}function G(e){let t=e.split(/[/\\]/).pop()?.toLowerCase()??``;return t.startsWith(`style-dictionary.config.`)||t.startsWith(`sd.config.`)}function K(e){return(0,i.joinPaths)(e,_)}function he(e){return Array.isArray(e)?e.filter(a.isSetString):(0,a.isSetString)(e)?[e]:[]}const ge=/[*?[\]{}]/;function _e(e){return ge.test(e)}function ve(e){let t=e.search(/[*?[{]/);if(t<=0)return;let n=e.slice(0,t).replace(/[/\\]+$/,``);return n.length>0?n:void 0}function ye(e,t){let i=H(e,t);if(_e(t)){let e=ve(i);if(e&&!(0,n.existsSync)(e))throw Error(`tokensPath "${t}" does not exist (resolved: ${i}).`);return{resolvedPath:i,source:[i],isStyleDictionaryConfig:!1}}if(!(0,n.existsSync)(i))throw Error(`tokensPath "${t}" does not exist (resolved: ${i}).`);return(0,r.isDirectory)(i)?{resolvedPath:i,source:[K(i)],isStyleDictionaryConfig:!1}:G(i)?{resolvedPath:i,source:[],isStyleDictionaryConfig:!0}:{resolvedPath:i,source:[i],isStyleDictionaryConfig:!1}}function q(e){let{cwd:t,tokensPath:i,fallbackPaths:a=[]}=e,o=he(i);if(o.length>0){let e=o.map(e=>ye(t,e)),n=e.filter(e=>e.isStyleDictionaryConfig);if(n.length>0){if(e.length>1)throw Error(`tokensPath cannot mix Style Dictionary config files with other token sources.`);return{resolvedPath:n[0].resolvedPath,source:[],origin:`tokensPath`}}return{resolvedPath:e[0]?.resolvedPath,source:e.flatMap(e=>e.source),origin:`tokensPath`}}for(let e of g){let i=H(t,e);if((0,n.existsSync)(i)){if((0,r.isDirectory)(i))return{resolvedPath:i,source:[K(i)],origin:`default`};if(G(i))return{resolvedPath:i,source:[],origin:`default`};if(W(i))return{resolvedPath:i,source:[i],origin:`default`}}}for(let e of a){if(!e)continue;let i=H(t,e);if(!(!(0,n.existsSync)(i)||(0,r.isDirectory)(i))&&(W(i)||U(i)===`css`))return{resolvedPath:i,source:[i],origin:`fallback`}}return{source:[],origin:`none`}}function J(e){return(e.split(/[/\\]/).pop()??``).replace(/\.[^.]+$/,``).match(v)?.[1]?.toLowerCase()}function be(e){let t=e,n=new Set;for(;t!=null&&!n.has(t);){if(n.add(t),typeof t==`function`)return t;if(typeof t==`object`&&`default`in t){t=t.default;continue}break}throw TypeError(`style-dictionary did not export a constructable StyleDictionary class.`)}const Y=be(u.default);function X(e){return!e||typeof e!=`object`||Object.keys(e).length===0}async function xe(e){let t=await(0,c.importModule)(e);return t&&typeof t==`object`&&`default`in t&&t.default?t.default:t}async function Z(e,t){let n=B(e.plugins),r=new Y({...t,parsers:[...n.parserNames,...t.parsers??[]],preprocessors:[...n.preprocessorNames,...t.preprocessors??[]],hooks:{...t.hooks,parsers:{...n.parsers,...t.hooks?.parsers},preprocessors:{...n.preprocessors,...t.hooks?.preprocessors}},usesDtcg:t.usesDtcg??!0,platforms:t.platforms??{}});return await r.hasInitialized,r}async function Q(e,t){return t.length===0?{}:(await Z(e,{source:t})).tokens}async function Se(e){return(await(0,l.default)(e,{absolute:!0,onlyFiles:!0,unique:!0})).sort()}async function Ce(e,t){let n=await Se(t);if(n.length===0)return{};let r=new Map,i=[];for(let e of n){let t=J(e);if(t){let n=r.get(t)??[];n.push(e),r.set(t,n)}else i.push(e)}if(r.size<2)return Q(e,t);let a={};if(i.length>0){let t=await Q(e,i);X(t)||(a.base=t)}for(let[t,n]of r)a[t]=await Q(e,n);return a}async function $(e){let t=q(e.options);return t.resolvedPath&&(0,n.existsSync)(t.resolvedPath)&&/(?:^|[/\\])(?:style-dictionary|sd)\.config\./i.test((0,o.basename)(t.resolvedPath))?(e.sd=await Z(e.options,await xe(t.resolvedPath)),e.sd.tokens):t.source.length===0?{}:e.options.splitThemes?Ce(e.options,t.source):Q(e.options,t.source)}async function we(e){let t=await $(e);if(X(t)){let{tokensPath:t}=e.options,n=Array.isArray(t)?t.length>0?`tokensPath=[${t.map(e=>`"${e}"`).join(`, `)}]`:`default token paths / CSS fallbacks`:(0,a.isSetString)(t)?`tokensPath="${t}"`:`default token paths / CSS fallbacks`;throw Error(`No design tokens found via ${n}. Provide tokensPath or add a tokens file.`)}return t}Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return me}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return we}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return _}});
|