@razorwind/vsce 0.0.24 → 0.0.26

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/index.cjs CHANGED
@@ -182,4 +182,4 @@ artifacts/**
182
182
  README.md.bak
183
183
  INSTALL.md
184
184
  .DS_Store
185
- `}const u={name:`razorwind-vsce`},d={vscode:`^1.85.0`};function f(e,n,r){return(0,t.createDocument)(e,n,u,r)}function p(e){switch(e){case`light`:return`vs`;case`hc`:return`hc-black`;case`hcLight`:return`hc-light`;case`dark`:return`vs-dark`;default:return`vs-dark`}}function m(e){return(0,t.isObject)(e)&&typeof e.name==`string`&&(e.type===`light`||e.type===`dark`||e.type===`hc`||e.type===`hcLight`)}function h(e){if(Array.isArray(e))return e.map((e,t)=>{if(!m(e))throw TypeError(`@razorwind/vsce mapTheme()[${t}] must be a VsCodeTheme with name + type`);return e});if(m(e))return[e];if(!(0,t.isObject)(e))throw TypeError(`@razorwind/vsce mapTheme() must return a theme, theme array, or theme record`);return Object.entries(e).map(([e,t])=>{if(!m(t))throw TypeError(`@razorwind/vsce mapTheme()["${e}"] must be a VsCodeTheme with name + type`);return{...t,name:t.name||e}})}function g(e){if(typeof e==`string`)return e;if(e&&typeof e.url==`string`)return e.url}function _(e){if(!e.mapTheme)throw Error(`@razorwind/vsce requires options.mapTheme`);if(!e.name||e.name.includes(`/`))throw Error(`@razorwind/vsce requires options.name (unscoped Marketplace id)`);if(!e.publisher)throw Error(`@razorwind/vsce requires options.publisher`)}function v(e){return e===`light`||e===`hcLight`?`light`:`dark`}function y(e){let t={name:e.name,type:v(e.type),colors:e.colors??{}};return e.displayName&&(t.displayName=e.displayName),e.tokenColors&&(t.tokenColors=e.tokenColors),e.semanticHighlighting!==void 0&&(t.semanticHighlighting=e.semanticHighlighting),e.semanticTokenColors&&(t.semanticTokenColors=e.semanticTokenColors),`${JSON.stringify(t,null,2)}\n`}function b(e,n,r={}){let i=e.includeScripts!==!1,a=(0,t.resolveSchemaIdentity)(r,{displayName:e.displayName,description:e.description,homepage:e.homepage,icon:e.icon,repository:typeof e.repository==`string`?e.repository:void 0}),o=a.title??(0,t.titleCase)(e.name),s=a.description??`${o} — VS Code themes generated by Razorwind`,c=e.repository??a.repository,l=e.homepage??a.homepage,u=e.icon??a.logo,f={themes:n.map(e=>({label:e.displayName??e.name,uiTheme:p(e.type),path:`./themes/${(0,t.slugifyThemeName)(e.name)}.json`}))},m=i?{"package-vsix":`node --import tsx scripts/buildVsCodePackage.ts`,"publish-vsce":`node --import tsx scripts/publishVsce.ts`,"publish-ovsx":`node --import tsx scripts/publishOvsx.ts`}:void 0,h={name:e.name,displayName:o,description:s,version:e.version??`0.0.1`,publisher:e.publisher,license:e.license??`Apache-2.0`,categories:e.categories??[`Themes`],engines:e.engines??{...d},contributes:f,...e.keywords?{keywords:e.keywords}:{},...c?{repository:c}:{},...l?{homepage:l}:{},...e.bugs?{bugs:e.bugs}:{},...e.author?{author:e.author}:{},...u?{icon:u}:{},...e.galleryBanner?{galleryBanner:e.galleryBanner}:{},...m?{scripts:m}:{},...e.packageJson??{}};return h.name=e.name,h.publisher=e.publisher,h.contributes=f,m&&(h.scripts=(0,t.isObject)(h.scripts)&&!Array.isArray(h.scripts)?{...h.scripts,...m}:m),`${JSON.stringify(h,null,2)}\n`}function x(e,u){_(u);let d=u.outputPath??`vscode-extension`,p=u.includeScripts!==!1,m=u.extensionName??u.name,v=(0,t.resolveSchemaIdentity)(e,{displayName:u.displayName,description:u.description,homepage:u.homepage,icon:u.icon,repository:typeof u.repository==`string`?u.repository:void 0}),x=v.title??(0,t.titleCase)(u.name),S=v.description??`${x} — VS Code themes generated by Razorwind`,C=u.repository??v.repository,w=h(u.mapTheme(e.tokens));if(w.length===0)throw Error(`@razorwind/vsce mapTheme() returned no themes`);let T={};for(let e of w){let r=`${(0,t.slugifyThemeName)(e.name)}.json`,i=(0,n.join)(d,`themes`,r);T[i]=f(i,y(e),`json`)}let E=(0,n.join)(d,`package.json`);T[E]=f(E,b(u,w,e),`json`);let D=(0,n.join)(d,`.vscodeignore`);T[D]=f(D,l(),`ignore`);let O=w.map(e=>({label:e.displayName??e.name,path:`./themes/${(0,t.slugifyThemeName)(e.name)}.json`})),k=u.readme??c({displayName:x,description:S,themes:O,repositoryUrl:g(C)}),A=(0,n.join)(d,`README.md`);T[A]=f(A,k,`markdown`);let j=u.installGuide??r({displayName:x,extensionName:m,themes:O,includeScripts:p}),M=(0,n.join)(d,`INSTALL.md`);if(T[M]=f(M,j,`markdown`),p){let e=(0,n.join)(d,`scripts`,`vsixPackageShim.ts`);T[e]=f(e,i(m),`typescript`);let t=(0,n.join)(d,`scripts`,`buildVsCodePackage.ts`);T[t]=f(t,a(),`typescript`);let r=(0,n.join)(d,`scripts`,`publishVsce.ts`);T[r]=f(r,o(),`typescript`);let l=(0,n.join)(d,`scripts`,`publishOvsx.ts`);T[l]=f(l,s(),`typescript`);let u=(0,n.join)(d,`scripts`,`README.package.md`);T[u]=f(u,c({displayName:x,description:S,themes:O,repositoryUrl:g(C)}),`markdown`)}return T}var S=(0,e.definePlugin)(e=>({name:`vsce`,generate:async t=>{if(!e)throw Error(`@razorwind/vsce requires options: { name, publisher, mapTheme }`);return x(t,e)}}));exports.default=S,Object.defineProperty(exports,"flattenTokens",{enumerable:!0,get:function(){return t.flattenTokens}}),Object.defineProperty(exports,"formatTokenValue",{enumerable:!0,get:function(){return t.formatTokenValue}}),exports.generateVsceExtension=x,exports.normalizeThemes=h,exports.renderInstallMd=r,exports.renderPackageJson=b,exports.renderThemeJson=y,Object.defineProperty(exports,"resolveTokenSets",{enumerable:!0,get:function(){return t.resolveTokenSets}}),Object.defineProperty(exports,"toCssVar",{enumerable:!0,get:function(){return t.toCssVar}});
185
+ `}const u={name:`razorwind-vsce`},d={vscode:`^1.85.0`};function f(e,n,r){return(0,t.createDocument)(e,n,u,void 0,r)}function p(e){switch(e){case`light`:return`vs`;case`hc`:return`hc-black`;case`hcLight`:return`hc-light`;case`dark`:return`vs-dark`;default:return`vs-dark`}}function m(e){return(0,t.isObject)(e)&&typeof e.name==`string`&&(e.type===`light`||e.type===`dark`||e.type===`hc`||e.type===`hcLight`)}function h(e){if(Array.isArray(e))return e.map((e,t)=>{if(!m(e))throw TypeError(`@razorwind/vsce mapTheme()[${t}] must be a VsCodeTheme with name + type`);return e});if(m(e))return[e];if(!(0,t.isObject)(e))throw TypeError(`@razorwind/vsce mapTheme() must return a theme, theme array, or theme record`);return Object.entries(e).map(([e,t])=>{if(!m(t))throw TypeError(`@razorwind/vsce mapTheme()["${e}"] must be a VsCodeTheme with name + type`);return{...t,name:t.name||e}})}function g(e){if(typeof e==`string`)return e;if(e&&typeof e.url==`string`)return e.url}function _(e){if(!e.mapTheme)throw Error(`@razorwind/vsce requires options.mapTheme`);if(!e.name||e.name.includes(`/`))throw Error(`@razorwind/vsce requires options.name (unscoped Marketplace id)`);if(!e.publisher)throw Error(`@razorwind/vsce requires options.publisher`)}function v(e){return e===`light`||e===`hcLight`?`light`:`dark`}function y(e){let t={name:e.name,type:v(e.type),colors:e.colors??{}};return e.displayName&&(t.displayName=e.displayName),e.tokenColors&&(t.tokenColors=e.tokenColors),e.semanticHighlighting!==void 0&&(t.semanticHighlighting=e.semanticHighlighting),e.semanticTokenColors&&(t.semanticTokenColors=e.semanticTokenColors),`${JSON.stringify(t,null,2)}\n`}function b(e,n,r={}){let i=e.includeScripts!==!1,a=(0,t.resolveSchemaIdentity)(r,{displayName:e.displayName,description:e.description,homepage:e.homepage,icon:e.icon,repository:typeof e.repository==`string`?e.repository:void 0}),o=a.title??(0,t.titleCase)(e.name),s=a.description??`${o} — VS Code themes generated by Razorwind`,c=e.repository??a.repository,l=e.homepage??a.homepage,u=e.icon??a.logo,f={themes:n.map(e=>({label:e.displayName??e.name,uiTheme:p(e.type),path:`./themes/${(0,t.slugifyThemeName)(e.name)}.json`}))},m=i?{"package-vsix":`node --import tsx scripts/buildVsCodePackage.ts`,"publish-vsce":`node --import tsx scripts/publishVsce.ts`,"publish-ovsx":`node --import tsx scripts/publishOvsx.ts`}:void 0,h={name:e.name,displayName:o,description:s,version:e.version??`0.0.1`,publisher:e.publisher,license:e.license??`Apache-2.0`,categories:e.categories??[`Themes`],engines:e.engines??{...d},contributes:f,...e.keywords?{keywords:e.keywords}:{},...c?{repository:c}:{},...l?{homepage:l}:{},...e.bugs?{bugs:e.bugs}:{},...e.author?{author:e.author}:{},...u?{icon:u}:{},...e.galleryBanner?{galleryBanner:e.galleryBanner}:{},...m?{scripts:m}:{},...e.packageJson??{}};return h.name=e.name,h.publisher=e.publisher,h.contributes=f,m&&(h.scripts=(0,t.isObject)(h.scripts)&&!Array.isArray(h.scripts)?{...h.scripts,...m}:m),`${JSON.stringify(h,null,2)}\n`}function x(e,u){_(u);let d=u.outputPath??`vscode-extension`,p=u.includeScripts!==!1,m=u.extensionName??u.name,v=(0,t.resolveSchemaIdentity)(e,{displayName:u.displayName,description:u.description,homepage:u.homepage,icon:u.icon,repository:typeof u.repository==`string`?u.repository:void 0}),x=v.title??(0,t.titleCase)(u.name),S=v.description??`${x} — VS Code themes generated by Razorwind`,C=u.repository??v.repository,w=h(u.mapTheme(e.tokens));if(w.length===0)throw Error(`@razorwind/vsce mapTheme() returned no themes`);let T={};for(let e of w){let r=`${(0,t.slugifyThemeName)(e.name)}.json`,i=(0,n.join)(d,`themes`,r);T[i]=f(i,y(e),`json`)}let E=(0,n.join)(d,`package.json`);T[E]=f(E,b(u,w,e),`json`);let D=(0,n.join)(d,`.vscodeignore`);T[D]=f(D,l(),`ignore`);let O=w.map(e=>({label:e.displayName??e.name,path:`./themes/${(0,t.slugifyThemeName)(e.name)}.json`})),k=u.readme??c({displayName:x,description:S,themes:O,repositoryUrl:g(C)}),A=(0,n.join)(d,`README.md`);T[A]=f(A,k,`markdown`);let j=u.installGuide??r({displayName:x,extensionName:m,themes:O,includeScripts:p}),M=(0,n.join)(d,`INSTALL.md`);if(T[M]=f(M,j,`markdown`),p){let e=(0,n.join)(d,`scripts`,`vsixPackageShim.ts`);T[e]=f(e,i(m),`typescript`);let t=(0,n.join)(d,`scripts`,`buildVsCodePackage.ts`);T[t]=f(t,a(),`typescript`);let r=(0,n.join)(d,`scripts`,`publishVsce.ts`);T[r]=f(r,o(),`typescript`);let l=(0,n.join)(d,`scripts`,`publishOvsx.ts`);T[l]=f(l,s(),`typescript`);let u=(0,n.join)(d,`scripts`,`README.package.md`);T[u]=f(u,c({displayName:x,description:S,themes:O,repositoryUrl:g(C)}),`markdown`)}return T}var S=(0,e.definePlugin)(e=>({name:`vsce`,generate:async t=>{if(!e)throw Error(`@razorwind/vsce requires options: { name, publisher, mapTheme }`);return x(t,e)}}));exports.default=S,Object.defineProperty(exports,"flattenTokens",{enumerable:!0,get:function(){return t.flattenTokens}}),Object.defineProperty(exports,"formatTokenValue",{enumerable:!0,get:function(){return t.formatTokenValue}}),exports.generateVsceExtension=x,exports.normalizeThemes=h,exports.renderInstallMd=r,exports.renderPackageJson=b,exports.renderThemeJson=y,Object.defineProperty(exports,"resolveTokenSets",{enumerable:!0,get:function(){return t.resolveTokenSets}}),Object.defineProperty(exports,"toCssVar",{enumerable:!0,get:function(){return t.toCssVar}});
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/install.ts","../src/types.ts","../src/generate.ts","../src/index.ts"],"mappings":";;;;;;;;;;iBAuBgB,gBAAgB;EAC9B;EACA;EACA,QAAQ;IAAQ;IAAe;;EAC/B;;;;;;;UCHe;;EAEf;;EAEA,OAAO;;EAEP;;EAEA;;EAEA;;EAEA;;;;;;;UAQe;EACf;EACA;EACA;IACE;IACA;IACA;;;;;;;;UASa;;EAEf;;EAEA;;EAEA;EACA,SAAS;EACT,cAAc;EACd;EACA,sBAAsB;IAET;IAAqB;IAAoB;;;;;;;;KAS5C,uBACV,QAAQ,SAAS,eAAe,YAC7B,cAAc,gBAAgB,eAAe;;;;KAKtC;EAGN;EACA;EACA;;;;;;;;UASW;;;;;;;EAOf;;;;;;EAOA,UAAU;;;;;EAMV;;EAGA;;EAGA;;;;;;EAOA;;EAGA;;;;;EAMA;;;;EAKA;EAEA;IAGM;IACA;IACA;;EAGN;EAEA;IAGM;IACA;;EAGN,SAAS;;;;;EAMT;EAEA;IACE;IACA;;;;;EAMF;EAEA;;;;EAKA;IACE;;;;;;;;;;EAWF;;;;;EAMA;;;;;EAMA,eAAe;;;;;EAMf,cAAc;;;;;EAMd;;;;;;;iBC1Ic,gBACd,QAAQ,cAAc,gBAAgB,eAAe,eACpD;iBA0Ea,gBAAgB,OAAO;;;;;;;iBA6BvB,kBACd,SAAS,mBACT,QAAQ,eACR,OAAM;;;;iBA4EQ,sBACd,MAAM,QACN,SAAS,oBACR,wBAAwB,QAAQ"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/install.ts","../src/types.ts","../src/generate.ts","../src/index.ts"],"mappings":";;;;;;;;;;iBAuBgB,gBAAgB;EAC9B;EACA;EACA,QAAQ;IAAQ;IAAe;;EAC/B;;;;;;;UCHe;;EAEf;;EAEA,OAAO;;EAEP;;EAEA;;EAEA;;EAEA;;;;;;;UAQe;EACf;EACA;EACA;IACE;IACA;IACA;;;;;;;;UASa;;EAEf;;EAEA;;EAEA;EACA,SAAS;EACT,cAAc;EACd;EACA,sBAAsB;IAET;IAAqB;IAAoB;;;;;;;;KAS5C,uBACV,QAAQ,SAAS,eAAe,YAC7B,cAAc,gBAAgB,eAAe;;;;KAKtC;EAGN;EACA;EACA;;;;;;;;UASW;;;;;;;EAOf;;;;;;EAOA,UAAU;;;;;EAMV;;EAGA;;EAGA;;;;;;EAOA;;EAGA;;;;;EAMA;;;;EAKA;EAEA;IAGM;IACA;IACA;;EAGN;EAEA;IAGM;IACA;;EAGN,SAAS;;;;;EAMT;EAEA;IACE;IACA;;;;;EAMF;EAEA;;;;EAKA;IACE;;;;;;;;;;EAWF;;;;;EAMA;;;;;EAMA,eAAe;;;;;EAMf,cAAc;;;;;EAMd;;;;;;;iBCzIc,gBACd,QAAQ,cAAc,gBAAgB,eAAe,eACpD;iBA0Ea,gBAAgB,OAAO;;;;;;;iBA6BvB,kBACd,SAAS,mBACT,QAAQ,eACR,OAAM;;;;iBA4EQ,sBACd,MAAM,QACN,SAAS,oBACR,wBAAwB,QAAQ"}
package/dist/index.mjs CHANGED
@@ -182,5 +182,5 @@ artifacts/**
182
182
  README.md.bak
183
183
  INSTALL.md
184
184
  .DS_Store
185
- `}const v={name:`razorwind-vsce`},y={vscode:`^1.85.0`};function b(e,n,r){return t(e,n,v,r)}function x(e){switch(e){case`light`:return`vs`;case`hc`:return`hc-black`;case`hcLight`:return`hc-light`;case`dark`:return`vs-dark`;default:return`vs-dark`}}function S(e){return i(e)&&typeof e.name==`string`&&(e.type===`light`||e.type===`dark`||e.type===`hc`||e.type===`hcLight`)}function C(e){if(Array.isArray(e))return e.map((e,t)=>{if(!S(e))throw TypeError(`@razorwind/vsce mapTheme()[${t}] must be a VsCodeTheme with name + type`);return e});if(S(e))return[e];if(!i(e))throw TypeError(`@razorwind/vsce mapTheme() must return a theme, theme array, or theme record`);return Object.entries(e).map(([e,t])=>{if(!S(t))throw TypeError(`@razorwind/vsce mapTheme()["${e}"] must be a VsCodeTheme with name + type`);return{...t,name:t.name||e}})}function w(e){if(typeof e==`string`)return e;if(e&&typeof e.url==`string`)return e.url}function T(e){if(!e.mapTheme)throw Error(`@razorwind/vsce requires options.mapTheme`);if(!e.name||e.name.includes(`/`))throw Error(`@razorwind/vsce requires options.name (unscoped Marketplace id)`);if(!e.publisher)throw Error(`@razorwind/vsce requires options.publisher`)}function E(e){return e===`light`||e===`hcLight`?`light`:`dark`}function D(e){let t={name:e.name,type:E(e.type),colors:e.colors??{}};return e.displayName&&(t.displayName=e.displayName),e.tokenColors&&(t.tokenColors=e.tokenColors),e.semanticHighlighting!==void 0&&(t.semanticHighlighting=e.semanticHighlighting),e.semanticTokenColors&&(t.semanticTokenColors=e.semanticTokenColors),`${JSON.stringify(t,null,2)}\n`}function O(e,t,n={}){let r=e.includeScripts!==!1,o=a(n,{displayName:e.displayName,description:e.description,homepage:e.homepage,icon:e.icon,repository:typeof e.repository==`string`?e.repository:void 0}),l=o.title??c(e.name),u=o.description??`${l} — VS Code themes generated by Razorwind`,d=e.repository??o.repository,f=e.homepage??o.homepage,p=e.icon??o.logo,m={themes:t.map(e=>({label:e.displayName??e.name,uiTheme:x(e.type),path:`./themes/${s(e.name)}.json`}))},h=r?{"package-vsix":`node --import tsx scripts/buildVsCodePackage.ts`,"publish-vsce":`node --import tsx scripts/publishVsce.ts`,"publish-ovsx":`node --import tsx scripts/publishOvsx.ts`}:void 0,g={name:e.name,displayName:l,description:u,version:e.version??`0.0.1`,publisher:e.publisher,license:e.license??`Apache-2.0`,categories:e.categories??[`Themes`],engines:e.engines??{...y},contributes:m,...e.keywords?{keywords:e.keywords}:{},...d?{repository:d}:{},...f?{homepage:f}:{},...e.bugs?{bugs:e.bugs}:{},...e.author?{author:e.author}:{},...p?{icon:p}:{},...e.galleryBanner?{galleryBanner:e.galleryBanner}:{},...h?{scripts:h}:{},...e.packageJson??{}};return g.name=e.name,g.publisher=e.publisher,g.contributes=m,h&&(g.scripts=i(g.scripts)&&!Array.isArray(g.scripts)?{...g.scripts,...h}:h),`${JSON.stringify(g,null,2)}\n`}function k(e,t){T(t);let n=t.outputPath??`vscode-extension`,r=t.includeScripts!==!1,i=t.extensionName??t.name,o=a(e,{displayName:t.displayName,description:t.description,homepage:t.homepage,icon:t.icon,repository:typeof t.repository==`string`?t.repository:void 0}),l=o.title??c(t.name),v=o.description??`${l} — VS Code themes generated by Razorwind`,y=t.repository??o.repository,x=C(t.mapTheme(e.tokens));if(x.length===0)throw Error(`@razorwind/vsce mapTheme() returned no themes`);let S={};for(let e of x){let t=`${s(e.name)}.json`,r=u(n,`themes`,t);S[r]=b(r,D(e),`json`)}let E=u(n,`package.json`);S[E]=b(E,O(t,x,e),`json`);let k=u(n,`.vscodeignore`);S[k]=b(k,_(),`ignore`);let A=x.map(e=>({label:e.displayName??e.name,path:`./themes/${s(e.name)}.json`})),j=t.readme??g({displayName:l,description:v,themes:A,repositoryUrl:w(y)}),M=u(n,`README.md`);S[M]=b(M,j,`markdown`);let N=t.installGuide??d({displayName:l,extensionName:i,themes:A,includeScripts:r}),P=u(n,`INSTALL.md`);if(S[P]=b(P,N,`markdown`),r){let e=u(n,`scripts`,`vsixPackageShim.ts`);S[e]=b(e,f(i),`typescript`);let t=u(n,`scripts`,`buildVsCodePackage.ts`);S[t]=b(t,p(),`typescript`);let r=u(n,`scripts`,`publishVsce.ts`);S[r]=b(r,m(),`typescript`);let a=u(n,`scripts`,`publishOvsx.ts`);S[a]=b(a,h(),`typescript`);let o=u(n,`scripts`,`README.package.md`);S[o]=b(o,g({displayName:l,description:v,themes:A,repositoryUrl:w(y)}),`markdown`)}return S}var A=e(e=>({name:`vsce`,generate:async t=>{if(!e)throw Error(`@razorwind/vsce requires options: { name, publisher, mapTheme }`);return k(t,e)}}));export{A as default,n as flattenTokens,r as formatTokenValue,k as generateVsceExtension,C as normalizeThemes,d as renderInstallMd,O as renderPackageJson,D as renderThemeJson,o as resolveTokenSets,l as toCssVar};
185
+ `}const v={name:`razorwind-vsce`},y={vscode:`^1.85.0`};function b(e,n,r){return t(e,n,v,void 0,r)}function x(e){switch(e){case`light`:return`vs`;case`hc`:return`hc-black`;case`hcLight`:return`hc-light`;case`dark`:return`vs-dark`;default:return`vs-dark`}}function S(e){return i(e)&&typeof e.name==`string`&&(e.type===`light`||e.type===`dark`||e.type===`hc`||e.type===`hcLight`)}function C(e){if(Array.isArray(e))return e.map((e,t)=>{if(!S(e))throw TypeError(`@razorwind/vsce mapTheme()[${t}] must be a VsCodeTheme with name + type`);return e});if(S(e))return[e];if(!i(e))throw TypeError(`@razorwind/vsce mapTheme() must return a theme, theme array, or theme record`);return Object.entries(e).map(([e,t])=>{if(!S(t))throw TypeError(`@razorwind/vsce mapTheme()["${e}"] must be a VsCodeTheme with name + type`);return{...t,name:t.name||e}})}function w(e){if(typeof e==`string`)return e;if(e&&typeof e.url==`string`)return e.url}function T(e){if(!e.mapTheme)throw Error(`@razorwind/vsce requires options.mapTheme`);if(!e.name||e.name.includes(`/`))throw Error(`@razorwind/vsce requires options.name (unscoped Marketplace id)`);if(!e.publisher)throw Error(`@razorwind/vsce requires options.publisher`)}function E(e){return e===`light`||e===`hcLight`?`light`:`dark`}function D(e){let t={name:e.name,type:E(e.type),colors:e.colors??{}};return e.displayName&&(t.displayName=e.displayName),e.tokenColors&&(t.tokenColors=e.tokenColors),e.semanticHighlighting!==void 0&&(t.semanticHighlighting=e.semanticHighlighting),e.semanticTokenColors&&(t.semanticTokenColors=e.semanticTokenColors),`${JSON.stringify(t,null,2)}\n`}function O(e,t,n={}){let r=e.includeScripts!==!1,o=a(n,{displayName:e.displayName,description:e.description,homepage:e.homepage,icon:e.icon,repository:typeof e.repository==`string`?e.repository:void 0}),l=o.title??c(e.name),u=o.description??`${l} — VS Code themes generated by Razorwind`,d=e.repository??o.repository,f=e.homepage??o.homepage,p=e.icon??o.logo,m={themes:t.map(e=>({label:e.displayName??e.name,uiTheme:x(e.type),path:`./themes/${s(e.name)}.json`}))},h=r?{"package-vsix":`node --import tsx scripts/buildVsCodePackage.ts`,"publish-vsce":`node --import tsx scripts/publishVsce.ts`,"publish-ovsx":`node --import tsx scripts/publishOvsx.ts`}:void 0,g={name:e.name,displayName:l,description:u,version:e.version??`0.0.1`,publisher:e.publisher,license:e.license??`Apache-2.0`,categories:e.categories??[`Themes`],engines:e.engines??{...y},contributes:m,...e.keywords?{keywords:e.keywords}:{},...d?{repository:d}:{},...f?{homepage:f}:{},...e.bugs?{bugs:e.bugs}:{},...e.author?{author:e.author}:{},...p?{icon:p}:{},...e.galleryBanner?{galleryBanner:e.galleryBanner}:{},...h?{scripts:h}:{},...e.packageJson??{}};return g.name=e.name,g.publisher=e.publisher,g.contributes=m,h&&(g.scripts=i(g.scripts)&&!Array.isArray(g.scripts)?{...g.scripts,...h}:h),`${JSON.stringify(g,null,2)}\n`}function k(e,t){T(t);let n=t.outputPath??`vscode-extension`,r=t.includeScripts!==!1,i=t.extensionName??t.name,o=a(e,{displayName:t.displayName,description:t.description,homepage:t.homepage,icon:t.icon,repository:typeof t.repository==`string`?t.repository:void 0}),l=o.title??c(t.name),v=o.description??`${l} — VS Code themes generated by Razorwind`,y=t.repository??o.repository,x=C(t.mapTheme(e.tokens));if(x.length===0)throw Error(`@razorwind/vsce mapTheme() returned no themes`);let S={};for(let e of x){let t=`${s(e.name)}.json`,r=u(n,`themes`,t);S[r]=b(r,D(e),`json`)}let E=u(n,`package.json`);S[E]=b(E,O(t,x,e),`json`);let k=u(n,`.vscodeignore`);S[k]=b(k,_(),`ignore`);let A=x.map(e=>({label:e.displayName??e.name,path:`./themes/${s(e.name)}.json`})),j=t.readme??g({displayName:l,description:v,themes:A,repositoryUrl:w(y)}),M=u(n,`README.md`);S[M]=b(M,j,`markdown`);let N=t.installGuide??d({displayName:l,extensionName:i,themes:A,includeScripts:r}),P=u(n,`INSTALL.md`);if(S[P]=b(P,N,`markdown`),r){let e=u(n,`scripts`,`vsixPackageShim.ts`);S[e]=b(e,f(i),`typescript`);let t=u(n,`scripts`,`buildVsCodePackage.ts`);S[t]=b(t,p(),`typescript`);let r=u(n,`scripts`,`publishVsce.ts`);S[r]=b(r,m(),`typescript`);let a=u(n,`scripts`,`publishOvsx.ts`);S[a]=b(a,h(),`typescript`);let o=u(n,`scripts`,`README.package.md`);S[o]=b(o,g({displayName:l,description:v,themes:A,repositoryUrl:w(y)}),`markdown`)}return S}var A=e(e=>({name:`vsce`,generate:async t=>{if(!e)throw Error(`@razorwind/vsce requires options: { name, publisher, mapTheme }`);return k(t,e)}}));export{A as default,n as flattenTokens,r as formatTokenValue,k as generateVsceExtension,C as normalizeThemes,d as renderInstallMd,O as renderPackageJson,D as renderThemeJson,o as resolveTokenSets,l as toCssVar};
186
186
  //# sourceMappingURL=index.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@razorwind/vsce",
3
- "version": "0.0.24",
3
+ "version": "0.0.26",
4
4
  "type": "module",
5
5
  "description": "Razorwind Visual Studio Code Extension plugin that creates theming extensions from design tokens.",
6
6
  "repository": {
@@ -68,7 +68,7 @@
68
68
  "dependencies": {
69
69
  "@power-plant/core": "^0.0.90",
70
70
  "@power-plant/dtcg-schema": "^0.0.1",
71
- "@razorwind/core": "^0.0.47"
71
+ "@razorwind/core": "^0.0.49"
72
72
  },
73
73
  "devDependencies": {
74
74
  "@powerlines/plugin-tsdown": "^0.1.612",
@@ -76,5 +76,5 @@
76
76
  "typescript": "^6.0.3"
77
77
  },
78
78
  "publishConfig": { "access": "public" },
79
- "gitHead": "ca5955e41399f13b752e589a14338d6821b78f6c"
79
+ "gitHead": "8dc94fb22937f30d41e97f3c6ecff7f45eb81202"
80
80
  }