@gemini-suite/vera-cli 0.1.2-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -0
- package/README.md +112 -0
- package/dist/index.js +44 -0
- package/package.json +55 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file. See [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) for commit guidelines.
|
|
4
|
+
|
|
5
|
+
<!-- MONOWEAVE:BELOW -->
|
|
6
|
+
|
|
7
|
+
## [0.1.1](https://github.com/Volue/vera/compare/@gemini-suite/vera-cli@0.1.0...@gemini-suite/vera-cli@0.1.1) "@gemini-suite/vera-cli" (2026-02-12)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
## [0.1.0](https://github.com/Volue/vera/compare/@gemini-suite/vera-cli@0.0.0...@gemini-suite/vera-cli@0.1.0) "@gemini-suite/vera-cli" (2026-01-28)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* add simple CLI and CC plugin ([#706](https://github.com/Volue/vera/issues/706)) ([e1c5234](https://github.com/Volue/vera/commit/e1c5234dd4b73ac444f30d5eca7e241160a9887a))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* streamline docs explorer ([b876537](https://github.com/Volue/vera/commit/b8765377526fb1814c94f745f4f63f1b0731fcc4))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
package/README.md
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# @gemini-suite/vera-cli
|
|
2
|
+
|
|
3
|
+
> [!NOTE]
|
|
4
|
+
> Experimental. Feedback welcome.
|
|
5
|
+
|
|
6
|
+
A simple CLI and Claude Code plugin for working with Wave Design System.
|
|
7
|
+
|
|
8
|
+
## CLI Usage
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
npx @gemini-suite/vera-cli <command>
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
### Commands
|
|
15
|
+
|
|
16
|
+
**Icons** - list, search, and get icon details:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npx @gemini-suite/vera-cli icons list
|
|
20
|
+
npx @gemini-suite/vera-cli icons search arrow
|
|
21
|
+
npx @gemini-suite/vera-cli icons get ArrowRight
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
**Tokens** - list design tokens by category:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npx @gemini-suite/vera-cli tokens
|
|
28
|
+
npx @gemini-suite/vera-cli tokens colors
|
|
29
|
+
npx @gemini-suite/vera-cli tokens space --json
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**Media** - list responsive breakpoints:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npx @gemini-suite/vera-cli media
|
|
36
|
+
npx @gemini-suite/vera-cli media --json
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Claude Code Plugin
|
|
40
|
+
|
|
41
|
+
This package also serves as a Claude Code plugin with skills and agents for AI-assisted development. Use this as an alternative to the [Wave MCP server](../mcp#readme).
|
|
42
|
+
|
|
43
|
+
### Installation
|
|
44
|
+
|
|
45
|
+
#### Quick Install
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
# Add the marketplace (run inside Claude Code)
|
|
49
|
+
/plugin marketplace add volue/wave
|
|
50
|
+
|
|
51
|
+
# Install the plugin
|
|
52
|
+
/plugin install wave@wave-marketplace
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Or using the CLI outside of Claude Code:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
claude plugin marketplace add volue/wave
|
|
59
|
+
claude plugin install wave@wave-marketplace
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
> [!NOTE]
|
|
63
|
+
> There's currently a [bug in Claude Code](https://github.com/anthropics/claude-code/issues/15791) where plugins installed at project level (`--scope project`) in one repo won't appear in the install list for other repos.
|
|
64
|
+
|
|
65
|
+
#### Team Setup (optional)
|
|
66
|
+
|
|
67
|
+
To have team members automatically prompted to install the plugin, add to `.claude/settings.json`:
|
|
68
|
+
|
|
69
|
+
```json
|
|
70
|
+
{
|
|
71
|
+
"extraKnownMarketplaces": {
|
|
72
|
+
"wave-marketplace": {
|
|
73
|
+
"source": {
|
|
74
|
+
"source": "github",
|
|
75
|
+
"repo": "volue/wave"
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
"enabledPlugins": {
|
|
80
|
+
"wave@wave-marketplace": true
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
#### Manage the Plugin
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
# View installed plugins
|
|
89
|
+
/plugin
|
|
90
|
+
|
|
91
|
+
# Disable without uninstalling
|
|
92
|
+
/plugin disable wave@wave-marketplace
|
|
93
|
+
|
|
94
|
+
# Re-enable
|
|
95
|
+
/plugin enable wave@wave-marketplace
|
|
96
|
+
|
|
97
|
+
# Uninstall completely
|
|
98
|
+
/plugin uninstall wave@wave-marketplace
|
|
99
|
+
|
|
100
|
+
# Update to latest version
|
|
101
|
+
/plugin marketplace update wave-marketplace
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Skills
|
|
105
|
+
|
|
106
|
+
- `wave-docs` - Wave documentation lookup
|
|
107
|
+
- `wave-icons` - Icon lookup and usage guidance
|
|
108
|
+
- `wave-styling` - Styling APIs and design token usage
|
|
109
|
+
|
|
110
|
+
### Agents
|
|
111
|
+
|
|
112
|
+
- `wave-docs-explorer` - Explore and search Wave documentation
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
var w=Object.defineProperty;var a=(o,n)=>w(o,"name",{value:n,configurable:!0});import{command as f,cli as A}from"cleye";import*as I from"@gemini-suite/design-icons";import*as k from"@gemini-suite/design-media-queries";var y="0.1.2-next.0",P={version:y};function d(o){return JSON.stringify(o,null,2)}a(d,"formatJson");function b(o){return o.map(n=>`- ${n}`).join(`
|
|
3
|
+
`)}a(b,"formatList");const L=f({name:"icons",parameters:["[action]","[query]"],flags:{json:{type:Boolean,description:"Output as JSON"}},help:{description:"List and search Wave Design System icons",examples:["wave-cli icons list","wave-cli icons search arrow","wave-cli icons get ArrowRight"]}},o=>{const n=o._.action??"list",e=o._.query,c=o.flags.json??!1;switch(n){case"list":{const t=u().map(r=>r.name);console.log(c?d(t):b(t));return}case"search":{e||(console.error("Usage: wave-cli icons search <term>"),process.exit(1));const r=z(u(),e).map(g=>g.name);r.length===0?console.log(`No icons found matching "${e}"`):console.log(c?d(r):b(r));return}case"get":{e||(console.error("Usage: wave-cli icons get <name>"),process.exit(1));const t=R(u(),e);t||(console.error(`Icon "${e}" not found`),process.exit(1)),G(t,c);return}}console.error(`Unknown action: ${n}. Use: list, search, get`),process.exit(1)});function u(){return Object.entries(I).map(([o,n])=>({name:o,svg:n}))}a(u,"listIcons");function R(o,n){const e=n.trim().toLowerCase();return o.find(c=>c.name.toLowerCase()===e)}a(R,"findIconByName");function z(o,n){const e=n.trim().toLowerCase();return o.filter(c=>c.name.toLowerCase().includes(e))}a(z,"searchIcons");function G(o,n){if(n){console.log(d({name:o.name,svg:o.svg,react:`<SvgIcon iconName="${o.name}" />`,html:`<div class="svgIcon svgIcon--stroked">
|
|
4
|
+
<svg focusable="false" aria-hidden="true">
|
|
5
|
+
<use xlink:href="#svg--${o.name}"></use>
|
|
6
|
+
</svg>
|
|
7
|
+
</div>`}));return}console.log(`# ${o.name}
|
|
8
|
+
|
|
9
|
+
## React component:
|
|
10
|
+
|
|
11
|
+
\`\`\`tsx
|
|
12
|
+
<SvgIcon iconName="${o.name}" />
|
|
13
|
+
\`\`\`
|
|
14
|
+
|
|
15
|
+
## HTML markup:
|
|
16
|
+
|
|
17
|
+
\`\`\`html
|
|
18
|
+
<div class="svgIcon svgIcon--stroked">
|
|
19
|
+
<svg focusable="false" aria-hidden="true">
|
|
20
|
+
<use xlink:href="#svg--${o.name}"></use>
|
|
21
|
+
</svg>
|
|
22
|
+
</div>
|
|
23
|
+
\`\`\`
|
|
24
|
+
|
|
25
|
+
## Raw SVG:
|
|
26
|
+
|
|
27
|
+
\`\`\`svg
|
|
28
|
+
${o.svg}
|
|
29
|
+
\`\`\``)}a(G,"printIconDetails");const O=f({name:"media",flags:{json:{type:Boolean,description:"Output as JSON"}},help:{description:"List media query breakpoints for responsive styling",examples:["wave-cli media","wave-cli media --json"]}},o=>{const{json:n}=o.flags;if(n){console.log(d(k));return}console.log(b(Object.entries(k).map(([e,c])=>`@${String(e)}: ${c}`)))});function s(){return s=Object.assign?Object.assign.bind():function(o){for(var n=1;n<arguments.length;n++){var e=arguments[n];for(var c in e)({}).hasOwnProperty.call(e,c)&&(o[c]=e[c])}return o},s.apply(null,arguments)}a(s,"_extends");const T="#ffffff",M="#f9fafb",W="#f3f5f6",N="#e6ebec",C="#c2cdd0",H="#9dafb3",$="#789297",j="#53747b",E="#2f565e",q="#223f44",_="#1c353a",U="#082d35",J="#f8fbfc",F="#f3f8f9",V="#e8f1f3",X="#c4dbe0",Y="#a8cbd3",K="#7eb0bc",Q="#5b9ba9",Z="#388597",oo="#157084",no="#11596a",eo="#0c4957",co="#f0fcff",ao="#e1f9ff",to="#d0f6ff",ro="#bff3ff",so="#9aecff",lo="#00cceb",io="#00a7c2",go="#008299",fo="#006c80",bo="#005766",uo="#eeffef",mo="#dbffdf",po="#c6ffcd",ko="#b0ffbb",vo="#7dfd95",So="#31d962",ho="#1eb84f",Bo="#1d873c",Do="#187233",xo="#125426",wo="#fff9ed",Ao="#fff2da",Io="#ffecc8",yo="#ffdd99",Po="#ffd787",Lo="#ffcd61",Ro="#ffb900",zo="#dc9f00",Go="#b17600",Oo="#805400",To="#fff7f8",Mo="#ffeff0",Wo="#ffdbde",No="#ffbfc1",Co="#ffadb1",Ho="#ff7d89",$o="#ff3b3d",jo="#df001f",Eo="#b20016",qo="#9d0012",_o="#f7e6e8",Uo="#ecc7c9",Jo="#e6a1a5",Fo="#eb7072",Vo="#bb3a42",Xo="#faebdc",Yo="#f5caa3",Ko="#eda35e",Qo="#e57b1a",Zo="#a4540a",on="#f4edde",nn="#e8cf96",en="#d8b155",cn="#b89749",an="#7f672e",tn="#fcfcdb",rn="#e8e54c",sn="#cbc920",dn="#afad07",ln="#767605",gn="#f1fcdc",fn="#cbed7a",bn="#a7d441",un="#84ba12",mn="#587d0c",pn="#dff5e1",kn="#ade2b0",vn="#76ce7a",Sn="#3fb845",hn="#2a792e",Bn="#dcf4ef",Dn="#a7dfd6",xn="#6fc9ba",wn="#3ab19e",An="#25796b",In="#e3f1f6",yn="#b1dae4",Pn="#7ac4d3",Ln="#42abc2",Rn="#297585",zn="#e6eff7",Gn="#bfd5e9",On="#93bbdf",Tn="#60a1df",Mn="#346da2",Wn="#ecedf9",Nn="#cccfee",Cn="#aab2e9",Hn="#7f94f2",$n="#4b5cdd",jn="#f4eaf8",En="#e2c6ec",qn="#d2a1e3",_n="#c574e4",Un="#9e3dc2",Jn="#f8e9f2",Fn="#ebc5de",Vn="#e29dc9",Xn="#e26ab5",Yn="#b53b8c",Kn="#ffffff",Qn="#f9fafb",Zn="#f3f5f6",oe="#e6ebec",ne="#53747b",ee="#223f44",ce="#082d35",ae="#f8fbfc",te="#f3f8f9",re="#e8f1f3",se="#f3f8f9",de="#e8f1f3",le="#c4dbe0",ie="#e8f1f3",ge="#c4dbe0",fe="#a8cbd3",be="#5b9ba9",ue="#388597",me="#157084",pe="#157084",ke="#11596a",ve="#0c4957",Se="#fff7f8",he="#ffeff0",Be="#ffdbde",De="#ffeff0",xe="#ffdbde",we="#ffbfc1",Ae="#ff3b3d",Ie="#df001f",ye="#b20016",Pe="#df001f",Le="#b20016",Re="#9d0012",ze="#fff9ed",Ge="#fff2da",Oe="#ffecc8",Te="#fff2da",Me="#ffecc8",We="#ffdd99",Ne="#ffb900",Ce="#dc9f00",He="#b17600",$e="#dc9f00",je="#b17600",Ee="#805400",qe="#eeffef",_e="#dbffdf",Ue="#c6ffcd",Je="#dbffdf",Fe="#c6ffcd",Ve="#b0ffbb",Xe="#1eb84f",Ye="#1d873c",Ke="#187233",Qe="#1d873c",Ze="#187233",oc="#125426",nc="#f0fcff",ec="#e1f9ff",cc="#d0f6ff",ac="#e1f9ff",tc="#d0f6ff",rc="#bff3ff",sc="#00a7c2",dc="#008299",lc="#006c80",ic="#008299",gc="#006c80",fc="#005766",bc="#e6ebec",uc="#f3f5f6",mc="#082d35",pc="#223f44",kc="#53747b",vc="#9dafb3",Sc="#0c4957",hc="#157084",Bc="#388597",Dc="#9d0012",xc="#b20016",wc="#ff3b3d",Ac="#805400",Ic="#b17600",yc="#ffb900",Pc="#082d35",Lc="#125426",Rc="#187233",zc="#1eb84f",Gc="#005766",Oc="#006c80",Tc="#00a7c2",Mc="#9dafb3",Wc="#c2cdd0",Nc="#ffffff",Cc="#e6ebec",Hc="#c2cdd0",$c="#9dafb3",jc="#2f565e",Ec="#082d35",qc="#c4dbe0",_c="#a8cbd3",Uc="#7eb0bc",Jc="#5b9ba9",Fc="#388597",Vc="#11596a",Xc="#ffbfc1",Yc="#df001f",Kc="#b20016",Qc="#ffd787",Zc="#dc9f00",oa="#b17600",na="#7dfd95",ea="#1d873c",ca="#187233",aa="#9aecff",ta="#008299",ra="#006c80",sa="#e6ebec",da="#f3f5f6",la="rgba(255, 255, 255, 0.85)",ia="255, 255, 255",ga="230, 235, 236",fa="83, 116, 123",ba="34, 63, 68",ua="232, 241, 243",ma="91, 155, 169",pa="21, 112, 132",ka="255, 239, 240",va="255, 59, 61",Sa="223, 0, 31",ha="255, 242, 218",Ba="255, 185, 0",Da="220, 159, 0",xa="219, 255, 223",wa="30, 184, 79",Aa="29, 135, 60",Ia="225, 249, 255",ya="0, 167, 194",Pa="0, 130, 153",La="220, 244, 239",Ra="167, 223, 214",za="111, 201, 186",Ga="58, 177, 158",Oa="37, 121, 107",Ta="244, 234, 248",Ma="226, 198, 236",Wa="210, 161, 227",Na="197, 116, 228",Ca="158, 61, 194",Ha="248, 233, 242",$a="235, 197, 222",ja="226, 157, 201",Ea="226, 106, 181",qa="181, 59, 140",_a="227, 241, 246",Ua="177, 218, 228",Ja="122, 196, 211",Fa="66, 171, 194",Va="41, 117, 133",Xa="230, 239, 247",Ya="191, 213, 233",Ka="147, 187, 223",Qa="96, 161, 223",Za="52, 109, 162",ot="236, 237, 249",nt="204, 207, 238",et="170, 178, 233",ct="127, 148, 242",at="75, 92, 221",tt="223, 245, 225",rt="173, 226, 176",st="118, 206, 122",dt="63, 184, 69",lt="42, 121, 46",it="241, 252, 220",gt="203, 237, 122",ft="167, 212, 65",bt="132, 186, 18",ut="88, 125, 12",mt="250, 235, 220",pt="245, 202, 163",kt="237, 163, 94",vt="229, 123, 26",St="164, 84, 10",ht="252, 252, 219",Bt="232, 229, 76",Dt="203, 201, 32",xt="175, 173, 7",wt="118, 118, 5",At="244, 237, 222",It="232, 207, 150",yt="216, 177, 85",Pt="184, 151, 73",Lt="127, 103, 46",Rt="247, 230, 232",zt="236, 199, 201",Gt="230, 161, 165",Ot="235, 112, 114",Tt="187, 58, 66",Mt={colorWhite:T,colorGray0:M,colorGray5:W,colorGray10:N,colorGray20:C,colorGray30:H,colorGray40:$,colorGray60:j,colorGray70:E,colorGray80:q,colorGray90:_,colorGray100:U,colorAccent0:J,colorAccent5:F,colorAccent10:V,colorAccent20:X,colorAccent30:Y,colorAccent40:K,colorAccent60:Q,colorAccent70:Z,colorAccent80:oo,colorAccent90:no,colorAccent100:eo,colorBlue5:co,colorBlue10:ao,colorBlue20:to,colorBlue30:ro,colorBlue40:so,colorBlue60:lo,colorBlue70:io,colorBlue80:go,colorBlue90:fo,colorBlue100:bo,colorGreen5:uo,colorGreen10:mo,colorGreen20:po,colorGreen30:ko,colorGreen40:vo,colorGreen60:So,colorGreen70:ho,colorGreen80:Bo,colorGreen90:Do,colorGreen100:xo,colorOrange5:wo,colorOrange10:Ao,colorOrange20:Io,colorOrange30:yo,colorOrange40:Po,colorOrange60:Lo,colorOrange70:Ro,colorOrange80:zo,colorOrange90:Go,colorOrange100:Oo,colorRed5:To,colorRed10:Mo,colorRed20:Wo,colorRed30:No,colorRed40:Co,colorRed60:Ho,colorRed70:$o,colorRed80:jo,colorRed90:Eo,colorRed100:qo},Wt={dataRed20:_o,dataRed40:Uo,dataRed60:Jo,dataRed80:Fo,dataRed100:Vo,dataOrange20:Xo,dataOrange40:Yo,dataOrange60:Ko,dataOrange80:Qo,dataOrange100:Zo,dataBrown20:on,dataBrown40:nn,dataBrown60:en,dataBrown80:cn,dataBrown100:an,dataPear20:tn,dataPear40:rn,dataPear60:sn,dataPear80:dn,dataPear100:ln,dataLime20:gn,dataLime40:fn,dataLime60:bn,dataLime80:un,dataLime100:mn,dataGreen20:pn,dataGreen40:kn,dataGreen60:vn,dataGreen80:Sn,dataGreen100:hn,dataTeal20:Bn,dataTeal40:Dn,dataTeal60:xn,dataTeal80:wn,dataTeal100:An,dataAqua20:In,dataAqua40:yn,dataAqua60:Pn,dataAqua80:Ln,dataAqua100:Rn,dataBlue20:zn,dataBlue40:Gn,dataBlue60:On,dataBlue80:Tn,dataBlue100:Mn,dataLazuli20:Wn,dataLazuli40:Nn,dataLazuli60:Cn,dataLazuli80:Hn,dataLazuli100:$n,dataPurple20:jn,dataPurple40:En,dataPurple60:qn,dataPurple80:_n,dataPurple100:Un,dataPink20:Jn,dataPink40:Fn,dataPink60:Vn,dataPink80:Xn,dataPink100:Yn},Nt={backgroundNeutralMinimal:Kn,backgroundNeutralSubtle:Qn,backgroundNeutralModerate:Zn,backgroundNeutral:oe,backgroundNeutralBold:ne,backgroundNeutralStrong:ee,backgroundNeutralContrast:ce,backgroundAccentMinimal:ae,backgroundAccentMinimalHover:te,backgroundAccentMinimalActive:re,backgroundAccentSubtle:se,backgroundAccentSubtleHover:de,backgroundAccentSubtleActive:le,backgroundAccent:ie,backgroundAccentHover:ge,backgroundAccentActive:fe,backgroundAccentBold:be,backgroundAccentBoldHover:ue,backgroundAccentBoldActive:me,backgroundAccentStrong:pe,backgroundAccentStrongHover:ke,backgroundAccentStrongActive:ve,backgroundDangerSubtle:Se,backgroundDangerSubtleHover:he,backgroundDangerSubtleActive:Be,backgroundDanger:De,backgroundDangerHover:xe,backgroundDangerActive:we,backgroundDangerBold:Ae,backgroundDangerBoldHover:Ie,backgroundDangerBoldActive:ye,backgroundDangerStrong:Pe,backgroundDangerStrongHover:Le,backgroundDangerStrongActive:Re,backgroundWarningSubtle:ze,backgroundWarningSubtleHover:Ge,backgroundWarningSubtleActive:Oe,backgroundWarning:Te,backgroundWarningHover:Me,backgroundWarningActive:We,backgroundWarningBold:Ne,backgroundWarningBoldHover:Ce,backgroundWarningBoldActive:He,backgroundWarningStrong:$e,backgroundWarningStrongHover:je,backgroundWarningStrongActive:Ee,backgroundSuccessSubtle:qe,backgroundSuccessSubtleHover:_e,backgroundSuccessSubtleActive:Ue,backgroundSuccess:Je,backgroundSuccessHover:Fe,backgroundSuccessActive:Ve,backgroundSuccessBold:Xe,backgroundSuccessBoldHover:Ye,backgroundSuccessBoldActive:Ke,backgroundSuccessStrong:Qe,backgroundSuccessStrongHover:Ze,backgroundSuccessStrongActive:oc,backgroundInfoSubtle:nc,backgroundInfoSubtleHover:ec,backgroundInfoSubtleActive:cc,backgroundInfo:ac,backgroundInfoHover:tc,backgroundInfoActive:rc,backgroundInfoBold:sc,backgroundInfoBoldHover:dc,backgroundInfoBoldActive:lc,backgroundInfoStrong:ic,backgroundInfoStrongHover:gc,backgroundInfoStrongActive:fc,backgroundDisabled:bc,backgroundDisabledSubtle:uc},Ct={foregroundNeutral:mc,foregroundNeutralModerate:pc,foregroundNeutralSubtle:kc,foregroundNeutralMinimal:vc,foregroundAccent:Sc,foregroundAccentModerate:hc,foregroundAccentSubtle:Bc,foregroundDanger:Dc,foregroundDangerModerate:xc,foregroundDangerSubtle:wc,foregroundWarning:Ac,foregroundWarningModerate:Ic,foregroundWarningSubtle:yc,foregroundWarningInverse:Pc,foregroundSuccess:Lc,foregroundSuccessModerate:Rc,foregroundSuccessSubtle:zc,foregroundInfo:Gc,foregroundInfoModerate:Oc,foregroundInfoSubtle:Tc,foregroundDisabled:Mc,foregroundDisabledSubtle:Wc,foregroundInverse:Nc},Ht={borderNeutralSubtle:Cc,borderNeutralModerate:Hc,borderNeutral:$c,borderNeutralBold:jc,borderNeutralContrast:Ec,borderAccentModerate:qc,borderAccent:_c,borderAccentHover:Uc,borderAccentActive:Jc,borderAccentBold:Fc,borderAccentStrong:Vc,borderDanger:Xc,borderDangerBold:Yc,borderDangerStrong:Kc,borderWarning:Qc,borderWarningBold:Zc,borderWarningStrong:oa,borderSuccess:na,borderSuccessBold:ea,borderSuccessStrong:ca,borderInfo:aa,borderInfoBold:ta,borderInfoStrong:ra,borderDisabled:sa,borderDisabledSubtle:da,borderInverse:la},$t={rgbBackgroundNeutralMinimal:ia,rgbBackgroundNeutral:ga,rgbBackgroundNeutralBold:fa,rgbBackgroundNeutralStrong:ba,rgbBackgroundAccent:ua,rgbBackgroundAccentBold:ma,rgbBackgroundAccentStrong:pa,rgbBackgroundDanger:ka,rgbBackgroundDangerBold:va,rgbBackgroundDangerStrong:Sa,rgbBackgroundWarning:ha,rgbBackgroundWarningBold:Ba,rgbBackgroundWarningStrong:Da,rgbBackgroundSuccess:xa,rgbBackgroundSuccessBold:wa,rgbBackgroundSuccessStrong:Aa,rgbBackgroundInfo:Ia,rgbBackgroundInfoBold:ya,rgbBackgroundInfoStrong:Pa,rgbDataTeal20:La,rgbDataTeal40:Ra,rgbDataTeal60:za,rgbDataTeal80:Ga,rgbDataTeal100:Oa,rgbDataPurple20:Ta,rgbDataPurple40:Ma,rgbDataPurple60:Wa,rgbDataPurple80:Na,rgbDataPurple100:Ca,rgbDataPink20:Ha,rgbDataPink40:$a,rgbDataPink60:ja,rgbDataPink80:Ea,rgbDataPink100:qa,rgbDataAqua20:_a,rgbDataAqua40:Ua,rgbDataAqua60:Ja,rgbDataAqua80:Fa,rgbDataAqua100:Va,rgbDataBlue20:Xa,rgbDataBlue40:Ya,rgbDataBlue60:Ka,rgbDataBlue80:Qa,rgbDataBlue100:Za,rgbDataLazuli20:ot,rgbDataLazuli40:nt,rgbDataLazuli60:et,rgbDataLazuli80:ct,rgbDataLazuli100:at,rgbDataGreen20:tt,rgbDataGreen40:rt,rgbDataGreen60:st,rgbDataGreen80:dt,rgbDataGreen100:lt,rgbDataLime20:it,rgbDataLime40:gt,rgbDataLime60:ft,rgbDataLime80:bt,rgbDataLime100:ut,rgbDataOrange20:mt,rgbDataOrange40:pt,rgbDataOrange60:kt,rgbDataOrange80:vt,rgbDataOrange100:St,rgbDataPear20:ht,rgbDataPear40:Bt,rgbDataPear60:Dt,rgbDataPear80:xt,rgbDataPear100:wt,rgbDataBrown20:At,rgbDataBrown40:It,rgbDataBrown60:yt,rgbDataBrown80:Pt,rgbDataBrown100:Lt,rgbDataRed20:Rt,rgbDataRed40:zt,rgbDataRed60:Gt,rgbDataRed80:Ot,rgbDataRed100:Tt},jt="0 1px 2.5px hsla(var(--shadow-color, 191, 74%, 6%), calc(var(--shadow-intensity, 1) * 0.08)), 0 3px 9px hsla(var(--shadow-color, 191, 74%, 6%), calc(var(--shadow-intensity, 1) * 0.048))",Et="0 0.4px 2.2px hsla(var(--shadow-color, 191, 74%, 6%), calc(var(--shadow-intensity, 1) * 0.022)), 0 1.4px 5px hsla(var(--shadow-color, 191, 74%, 6%), calc(var(--shadow-intensity, 1) * 0.04)), 0 5px 14px hsla(var(--shadow-color, 191, 74%, 6%), calc(var(--shadow-intensity, 1) * 0.06))",qt="0 0.3px 2px hsla(var(--shadow-color, 191, 74%, 6%), calc(var(--shadow-intensity, 1) * 0.015)), 0 1.5px 8px hsla(var(--shadow-color, 191, 74%, 6%), calc(var(--shadow-intensity, 1) * 0.024)), 0 4px 16px hsla(var(--shadow-color, 191, 74%, 6%), calc(var(--shadow-intensity, 1) * 0.04)), 0 8px 24px hsla(var(--shadow-color, 191, 74%, 6%), calc(var(--shadow-intensity, 1) * 0.07))",_t="0 0.7px 2px hsla(var(--shadow-color, 191, 74%, 6%), calc(var(--shadow-intensity, 1) * 0.015)), 0 1.6px 8px hsla(var(--shadow-color, 191, 74%, 6%), calc(var(--shadow-intensity, 1) * 0.024)), 0 3.3px 16px hsla(var(--shadow-color, 191, 74%, 6%), calc(var(--shadow-intensity, 1) * 0.034)), 0 5px 26px hsla(var(--shadow-color, 191, 74%, 6%), calc(var(--shadow-intensity, 1) * 0.06)), 0 12px 42px hsla(var(--shadow-color, 191, 74%, 6%), calc(var(--shadow-intensity, 1) * 0.08))";var Ut=Object.freeze({__proto__:null,elevationL:_t,elevationM:qt,elevationS:Et,elevationXs:jt}),i={base:{2:"0.125rem",4:"0.25rem",6:"0.375rem",8:"0.5rem",12:"0.75rem",14:"0.875rem",16:"1rem",20:"1.25rem",24:"1.5rem",28:"1.75rem",32:"2rem",36:"2.25rem",40:"2.5rem",44:"2.75rem",48:"3rem",64:"4rem",72:"4.5rem",80:"5rem",96:"6rem",112:"7rem",128:"8rem"},borderRadius:{xs:"0.25rem",s:"0.375rem",m:"0.5rem",l:"0.75rem",xl:"1rem",full:"100vh"},spacing:{xs:"0.25rem",s:"0.5rem",m:"1rem",l:"1.5rem",xl:"2rem",xxl:"3rem",xxxl:"4.5rem"}},l={font:{family:{base:"'Source Sans Pro', system-ui, -apple-system, 'Segoe UI'",display:"'FK Display', 'Source Sans Pro', system-ui, -apple-system, 'Segoe UI', sans-serif",mono:"ui-monospace, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace"},weight:{normal:"400",semibold:"600"}},size:{font:{base:"16px",eta:"12px",zeta:"14px",epsilon:"16px",delta:"19px",gamma:"21px",beta:"28px",alpha:"38px",giga:"51px"},letterSpacing:{tighter:"-0.05em",tight:"-0.025em",normal:"normal",wide:"0.025em",wider:"0.05em",widest:"0.1em"},lineHeight:{none:"1",body:"1.5",base:"1.5rem",small:"1.25rem",xSmall:"1.125rem",zeta:"1.714286",epsilon:"1.5",delta:"1.263158",gamma:"1.52381",beta:"1.714286",alpha:"1.263158",giga:"1.411765"}}};function Jt(o){return o.charAt(0).toUpperCase()+o.slice(1)}a(Jt,"capitalizeFirstLetter");var v=Object.keys(i.spacing).reduce(function(o,n){var e;return s({},o,(e={},e["spacing"+Jt(n)]=i.spacing[n],e))},{}),m={colors:s({},Mt,Wt,Nt,Ct,Ht,$t),space:v,zIndices:{auto:"auto",0:"0",1:"100",2:"200",3:"300",4:"400",5:"500",9:"900"},fonts:l.font.family,fontWeights:l.font.weight,fontSizes:l.size.font,lineHeights:l.size.lineHeight,letterSpacings:l.size.letterSpacing,sizes:s({},i.base,{measureNarrow:"30ch",measureMedium:"60ch",measureWide:"90ch",containerNarrow:"32rem",containerMedium:"48rem",containerWide:"74rem"}),radii:s({},i.borderRadius,v),shadows:s({},Ut,{lift:"0 10px 20px -5px rgba(0, 0, 0, 0.15)"})};const p=Object.keys(m),S={colors:"Background, border, text, and fill colors",fonts:"Font family definitions",fontSizes:"Typography scale sizes",fontWeights:"Font weight values",lineHeights:"Line height values",letterSpacings:"Letter spacing values",radii:"Border radius values",sizes:"Width, height, and flex sizing",space:"Margins, padding, and gaps",zIndices:"Z-index layering values",shadows:"Box and text shadow definitions"},h={colors:["background","backgroundColor","backgroundImage","border","borderBlock","borderBlockEnd","borderBlockStart","borderBottom","borderBottomColor","borderColor","borderInline","borderInlineEnd","borderInlineStart","borderLeft","borderLeftColor","borderRight","borderRightColor","borderTop","borderTopColor","caretColor","color","columnRuleColor","fill","outlineColor","stroke","textDecorationColor"],fonts:["fontFamily"],fontSizes:["fontSize"],fontWeights:["fontWeight"],lineHeights:["lineHeight"],letterSpacings:["letterSpacing"],radii:["borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],sizes:["blockSize","minBlockSize","maxBlockSize","inlineSize","minInlineSize","maxInlineSize","width","minWidth","maxWidth","height","minHeight","maxHeight","flexBasis","gridTemplateColumns","gridTemplateRows"],space:["gap","gridGap","columnGap","gridColumnGap","rowGap","gridRowGap","inset","insetBlock","insetBlockEnd","insetBlockStart","insetInline","insetInlineEnd","insetInlineStart","margin","marginTop","marginRight","marginBottom","marginLeft","marginBlock","marginBlockEnd","marginBlockStart","marginInline","marginInlineEnd","marginInlineStart","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingBlock","paddingBlockEnd","paddingBlockStart","paddingInline","paddingInlineEnd","paddingInlineStart","top","right","bottom","left","scrollMargin","scrollMarginTop","scrollMarginRight","scrollMarginBottom","scrollMarginLeft","scrollMarginX","scrollMarginY","scrollMarginBlock","scrollMarginBlockEnd","scrollMarginBlockStart","scrollMarginInline","scrollMarginInlineEnd","scrollMarginInlineStart","scrollPadding","scrollPaddingTop","scrollPaddingRight","scrollPaddingBottom","scrollPaddingLeft","scrollPaddingX","scrollPaddingY","scrollPaddingBlock","scrollPaddingBlockEnd","scrollPaddingBlockStart","scrollPaddingInline","scrollPaddingInlineEnd","scrollPaddingInlineStart"],zIndices:["zIndex"],shadows:["boxShadow","textShadow"]},Ft=f({name:"tokens",parameters:["[category]"],flags:{json:{type:Boolean,description:"Output as JSON"},mappings:{type:Boolean,description:"Include CSS property name mappings"}},help:{description:`List Wave Design System design tokens
|
|
30
|
+
|
|
31
|
+
Categories:
|
|
32
|
+
${p.map(o=>` ${o.padEnd(15)} ${S[o]}`).join(`
|
|
33
|
+
`)}`,examples:["wave-cli tokens","wave-cli tokens colors","wave-cli tokens space --mappings"]}},o=>{const{category:n}=o._,{json:e,mappings:c}=o.flags;if(!n){x({title:"Wave Design Tokens",tokens:B(),tokenMappings:c?D():void 0,json:e});return}Vt(n)||(console.error(`Invalid category "${n}".
|
|
34
|
+
|
|
35
|
+
Valid categories:
|
|
36
|
+
${p.map(t=>` ${t.padEnd(15)} ${S[t]}`).join(`
|
|
37
|
+
`)}`),process.exit(1)),x({title:`Wave Design Tokens - ${n}`,tokens:B(n),tokenMappings:c?D(n):void 0,json:e})});function Vt(o){return p.includes(o)}a(Vt,"isValidCategory");function B(o){return o?m[o]:m}a(B,"getTokens");function D(o){return o?h[o]:h}a(D,"getTokenMappings");function x({title:o,tokens:n,tokenMappings:e,json:c}){if(c){console.log(d(e?{tokens:n,mappings:e}:n));return}if(console.log(`# ${o}
|
|
38
|
+
`),console.log(d(n)),e){const t=Array.isArray(e)?`Property names: ${e.join(", ")}`:Object.entries(e).map(([r,g])=>`### ${r}
|
|
39
|
+
Property names: ${g.join(", ")}`).join(`
|
|
40
|
+
|
|
41
|
+
`);console.log(`
|
|
42
|
+
## CSS Property Name Mappings
|
|
43
|
+
|
|
44
|
+
${t}`)}}a(x,"printTokens"),A({name:"wave-cli",version:P.version,commands:[L,O,Ft]});
|
package/package.json
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@gemini-suite/vera-cli",
|
|
3
|
+
"version": "0.1.2-next.0",
|
|
4
|
+
"description": "CLI tool for Wave Design System",
|
|
5
|
+
"license": "UNLICENSED",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "https://github.com/Volue/vera",
|
|
9
|
+
"directory": "cli"
|
|
10
|
+
},
|
|
11
|
+
"type": "module",
|
|
12
|
+
"bin": "./dist/index.js",
|
|
13
|
+
"publishConfig": {
|
|
14
|
+
"access": "public"
|
|
15
|
+
},
|
|
16
|
+
"engines": {
|
|
17
|
+
"node": ">=22"
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"dist"
|
|
21
|
+
],
|
|
22
|
+
"scripts": {
|
|
23
|
+
"lint": "eslint . --cache",
|
|
24
|
+
"lint:fix": "yarn run lint --fix",
|
|
25
|
+
"lint:types": "tsc",
|
|
26
|
+
"_prettier": "prettier \"**/*.{json,md,yml}\"",
|
|
27
|
+
"format": "yarn run _prettier --write",
|
|
28
|
+
"test": "run-p lint:types lint \"_prettier --check\" jest",
|
|
29
|
+
"jest": "yarn node --experimental-vm-modules $(yarn bin jest)",
|
|
30
|
+
"clean": "premove dist",
|
|
31
|
+
"build": "yarn run clean && pkgroll --minify",
|
|
32
|
+
"prepack": "yarn run build"
|
|
33
|
+
},
|
|
34
|
+
"dependencies": {
|
|
35
|
+
"@gemini-suite/design-icons": "^1.9.9-next.0",
|
|
36
|
+
"@gemini-suite/design-media-queries": "^1.3.18-next.0",
|
|
37
|
+
"cleye": "1.3.4"
|
|
38
|
+
},
|
|
39
|
+
"devDependencies": {
|
|
40
|
+
"@gemini-suite/vera-react": "1.6.1-next.0",
|
|
41
|
+
"@jest/globals": "30.2.0",
|
|
42
|
+
"@types/jest": "30.0.0",
|
|
43
|
+
"@types/node": "22.19.7",
|
|
44
|
+
"@volue/eslint-config": "1.3.12",
|
|
45
|
+
"eslint": "9.39.2",
|
|
46
|
+
"jest": "30.2.0",
|
|
47
|
+
"npm-run-all2": "8.0.4",
|
|
48
|
+
"pkgroll": "2.24.1",
|
|
49
|
+
"premove": "4.0.0",
|
|
50
|
+
"prettier": "3.8.1",
|
|
51
|
+
"ts-jest": "29.4.6",
|
|
52
|
+
"tsx": "4.21.0",
|
|
53
|
+
"typescript": "5.9.3"
|
|
54
|
+
}
|
|
55
|
+
}
|