@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 +1 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +3 -3
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}});
|
package/dist/index.d.cts.map
CHANGED
|
@@ -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;;;;;;;
|
|
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.
|
|
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.
|
|
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": "
|
|
79
|
+
"gitHead": "8dc94fb22937f30d41e97f3c6ecff7f45eb81202"
|
|
80
80
|
}
|