@cssxio/unplugin 0.8.0 → 0.9.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.
@@ -1,13 +0,0 @@
1
- import{a as R,b as $}from"./chunk-T2L6RO3O.js";function N(e){let s=2166136261;for(let t=0;t<e.length;t++)s^=e.charCodeAt(t),s=Math.imul(s,16777619);return(s>>>0).toString(36)}function ie(e,s){return R(e).replaceAll("[hash]",N(s))}import{dirname as ae,resolve as P}from"path";function le(e,s,t){return s.outdir?P(e,s.outdir,t):s.outfile?P(ae(P(e,s.outfile)),t):P(e,t)}import{readFile as ce}from"fs/promises";import{resolve as me}from"path";async function j(e){return e.themeFile===void 0?e.theme:ce(me(process.cwd(),e.themeFile),"utf8")}function de(e){return e.split("?",1).join("")}import{sep as ue}from"path";function pe(e,s){return`${e&&e!=="/"?`/${e.replace(/^\/+|\/+$/g,"")}`:""}/${R(s).replaceAll(ue,"/")}`}function k(e){let s=e.naming==="hash"?"random":e.naming==="serial"?"serial":void 0;if(s&&e.className?.variant&&e.className.variant!==s)throw new Error(`CSSX naming: "${e.naming}" conflicts with className.variant: "${e.className.variant}".`);return{...e.className,...s?{variant:s}:{}}}import{compileUtilities as ge,createSelectorAliases as ye}from"@cssxio/compiler";function F(e,s){let t=s.split(`
2
- `);return{line:e.line+t.length-1,column:t.at(-1).length+e.column*+(t.length===1)}}var fe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function w(e){let s="",t=e<0?-e<<1|1:e<<1;do{let r=t&31;t>>>=5,t&&(r|=32),s+=fe[r]}while(t);return s}function L(e){let s=Array.from({length:Math.max(0,...e.map(i=>i.line))+1},()=>[]),t=0,r=0,o=0,n=0,m=0;for(let i of e)m*=+(i.line===n),n=i.line,s[i.line]?.push(`${w(i.column-m)}${w(i.source-t)}${w(i.originalLine-r)}${w(i.originalColumn-o)}`),m=i.column,t=i.source,r=i.originalLine,o=i.originalColumn;return s.map(i=>i.join(",")).join(";")}function V(e,s,t){let r=[...new Set(s.map(i=>t.get(i.candidate)?.id).filter(i=>!!i))].sort();if(r.length===0)return;let o=new Map(r.map((i,l)=>[i,l])),n=[],m=F({line:0,column:0},e);for(let i of s){let l=t.get(i.candidate);l&&n.push({...m,source:o.get(l.id),originalLine:l.line,originalColumn:l.column}),m=F(m,i.css)}return{version:3,sources:r,names:[],mappings:L(n)}}var J='*,::before,::after,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-text-size-adjust:100%;tab-size:4;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}button,select{text-transform:none}button,input:where([type="button"],[type="reset"],[type="submit"]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit}textarea{resize:vertical}::placeholder{opacity:1}button,[role="button"]{cursor:pointer}:disabled{cursor:default}[hidden]:where(:not([hidden="until-found"])){display:none!important}';async function Rt(e,s,t,r=!0,o,n=!0){let m=Object.create(null),i=Object.create(null),l=new Set,a=!0,d=new Map;for(let y of[...e].sort((g,h)=>g.id.localeCompare(h.id))){for(let[g,h]of Object.entries(y.candidates))if(g in m||(m[g]=h),y.id&&!d.has(g)){let S=y.origins?.[g];d.set(g,{id:y.id,line:S?.line??0,column:S?.column??0})}for(let[g,h]of Object.entries(y.composites??{})){let S=i[g];if(S&&S.join(" ")!==h.join(" "))throw new Error(`CSSX composite class collision for "${g}".`);i[g]=h}y.atomicClasses===void 0&&(a=!1);for(let g of y.atomicClasses??[])l.add(g)}let c=Object.keys(m).sort(),u=n?J:"";if(c.length===0)return{css:u&&t?`@layer ${t}{${u}}`:u};let p=await ge(c,y=>m[y],s,ye(i),a?l:void 0,{darkMode:o}),f=t?`@layer ${t}{`:"",x=`${f}${u}${p.css}${f?"}":""}`,C=r?V(`${f}${u}${p.prefixCss}`,p.entries,d):void 0;return{css:x,...C?{map:C}:{}}}function At(e,s){return JSON.stringify({...e,file:s})}import{basename as xe}from"path";function Et(e,s){return e.map?`${e.css}
3
- /*# sourceMappingURL=${xe(s)}.map */`:e.css}function jt(e,s,t){let r=t.naming??(t.stableClassNames?"source":t.className?.variant==="random"?"hash":t.className?.variant??"serial"),o=t.stableClassNames?"stableClassNames compatibility option selects source-addressed composites":t.naming?"explicit naming option":t.className?.variant?"className.variant option":"default serial naming",n=new Map,m=new Map;for(let a of[...e].sort((d,c)=>d.id.localeCompare(c.id))){let d=new Map;for(let[c,u]of Object.entries(a.candidates)){let p=m.get(c)??new Set;p.add(u),m.set(c,p);let f=n.get(u)??{module:a.id,utilities:new Set,line:a.origins?.[c]?.line??0,column:a.origins?.[c]?.column??0};f.utilities.add(c),n.set(u,f);let x=d.get(u)??[];x.push(c),d.set(u,x)}for(let[c,u]of Object.entries(a.composites??{})){let p=u.flatMap(C=>d.get(C)??[]),f=p[0],x=n.get(c)??{module:a.id,utilities:new Set,line:f?a.origins?.[f]?.line??0:0,column:f?a.origins?.[f]?.column??0:0};for(let C of p)x.utilities.add(C);n.set(c,x)}for(let c of a.atomicClasses??[])n.has(c)||n.set(c,{module:a.id,utilities:new Set,line:0,column:0})}let i=[...n].sort(([a],[d])=>a.localeCompare(d)).map(([a,d])=>({className:a,module:d.module,utilities:[...d.utilities].sort(),line:d.line+1,column:d.column+1,selectorFound:new RegExp(`\\.${Ce(a)}(?:[^A-Za-z0-9_-]|$)`).test(s)})),l=[...m].filter(([,a])=>a.size>1).map(([a])=>a).sort();return{version:1,naming:{mode:r,reason:o},coordination:{mode:t.coordination??"memory",...t.coordination==="manifest"&&t.manifestPath?{manifestPath:t.manifestPath}:{}},classes:i,serverClientMappings:{status:l.length>0?"mismatch":t.coordination==="manifest"?"manifest-shared":"consistent-in-process",conflicts:l}}}function Ce(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}import{readdir as he}from"fs/promises";import{join as be,resolve as Se}from"path";var Ne=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro",".mdx",".md"]),we=new Set([".git",".next",".turbo","node_modules"]);async function D(e,s=[]){let t=[],r=[e,...s],o=new Set;for(;r.length>0;){let n=r.pop(),m=Se(n);if(!o.has(m)){o.add(m);for(let i of await he(n,{withFileTypes:!0})){let l=be(n,i.name);if(i.isDirectory()){we.has(i.name)||r.push(l);continue}i.isFile()&&Ne.has(l.slice(l.lastIndexOf(".")))&&t.push(l)}}}return t.sort()}import{createRequire as Oe}from"module";import{resolve as Me}from"path";import{pathToFileURL as z}from"url";async function B(e,s,t={}){let r=Oe(Me(s,"package.json")),o;try{o=r.resolve("@mdx-js/mdx")}catch{throw new Error("CSSX Next MDX support requires @mdx-js/mdx to be installed in the Next.js project.")}let n=await import(z(o).href),m=async i=>Promise.all((i??[]).map(async l=>{let[a,d]=typeof l=="string"?[l,void 0]:l,c=r.resolve(a),u=await import(z(c).href),p=u.default??u;return d===void 0?p:[p,d]}));return String(await n.compile(e,{outputFormat:"program",development:t.development??!1,remarkPlugins:await m(t.remarkPlugins),rehypePlugins:await m(t.rehypePlugins),recmaPlugins:await m(t.recmaPlugins)}))}import{createClassNameAllocator as Re}from"@cssxio/compiler";function A(e){let s=[],t=/\bsx\s*\(/g;for(let r of e.matchAll(t)){let o=r.index,n=e.indexOf("(",o),m=0,i="";for(let l=n;l<e.length;l+=1){let a=e[l];if(i){a==="\\"?l+=1:a===i&&(i="");continue}if(a==='"'||a==="'"||a==="`")i=a;else if(a==="(")m+=1;else if(a===")"&&--m===0){s.push({start:o,end:l+1,code:e.slice(o,l+1)}),t.lastIndex=l+1;break}}}return s}function b(e,s){return{code:e,rules:s.flatMap(t=>t.rules),candidates:Object.assign({},...s.map(t=>t.candidates)),composites:Object.assign({},...s.map(t=>t.composites)),atomicClasses:[...new Set(s.flatMap(t=>t.atomicClasses))],origins:Object.assign({},...s.map(t=>t.origins)),cssOnlySignature:e}}function v(e){let s="const style = ",t=e.indexOf(s)+s.length,r=e.indexOf(";",t);return e.slice(t,r)}async function _(e,s,t,r){let o=A(e);if(o.length===0)return null;let n=t.classNameAllocator??Re(),m=t.importSource??"@cssxio/cssx",i=[],l=e;for(let a of[...o].reverse()){let d=await r(`import { sx } from ${JSON.stringify(m)};
4
- const style = ${a.code};`,`${s}.ts`,{...t,classNameAllocator:n}),c=v(d.code);l=`${l.slice(0,a.start)}${c}${l.slice(a.end)}`,i.push({...d,atomicClasses:[],origins:{}})}return b(l,i)}import{transformAsync as Pe}from"@babel/core";import Ae from"@cssxio/babel-plugin";import{compileUtilities as ve,createSelectorAliases as Te}from"@cssxio/compiler";function X(e){return{className:`cssx-${N(e)}`,css:e}}function U(e,s){return e&&s?`@layer ${s}{${e}}`:e}async function q(e,s,t,r){let o=t.importSource??"@cssxio/cssx",n=await j(t),m=await Pe(e,{babelrc:!1,configFile:!1,filename:s,parserOpts:{plugins:["jsx","typescript"]},plugins:[[Ae,{importSource:o,classNameAllocator:t.classNameAllocator,theme:n,reusabilityBudget:t.reusabilityBudget,stableClassNames:t.stableClassNames,stableClassNameFileName:t.stableClassNameFileName,darkMode:t.darkMode}]],sourceMaps:!0,...r?{inputSourceMap:r}:{}}),i=m.metadata,{candidates:l,origins:a,composites:d,atomicClasses:c,cssOnlySignature:u}=i.cssx,p=Object.keys(l),f=p.length===0?"":(await ve(p,x=>l[x],n,Te(d),new Set(c),{darkMode:t.darkMode})).css;return{code:m.code,rules:f?[X(U(f,t.layer))]:[],candidates:l,composites:d,atomicClasses:c,origins:a,cssOnlySignature:u,map:m.map}}import{createClassNameAllocator as Ee}from"@cssxio/compiler";import{parse as $e}from"@vue/compiler-sfc";function T(e,s){let t=e.split(`
5
- `).slice(0,s.line).reduce((r,o)=>r+o.length+1,0);return Math.min(e.length,t+s.column)}function E(e,s){let t=Math.min(e.length,s),r=e.slice(0,t).split(`
6
- `).length-1,o=e.lastIndexOf(`
7
- `,t-1)+1;return{line:r,column:t-o}}function I(e,s,t){let r={},o=e.slice(s);for(let[n,m]of Object.entries(t))r[n]=E(e,s+T(o,m));return r}function G(e){return e.slice(1,-1).replace(/\\(['"\\bnfrtv])/g,(s,t)=>({b:"\b",n:`
8
- `,f:"\f",r:"\r",t:" ",v:"\v"})[t]??t)}function Q(e,s){if(!s)return e;let t=s==='"'?"'":'"';return e.replace(/"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'/g,r=>{let o=r[0]==='"'?JSON.parse(r):G(r),n=JSON.stringify(o);return t==='"'?n:`'${n.slice(1,-1).replaceAll("'","\\'")}'`})}function H(e,s,t,r,o){let n={};for(let[m,i]of Object.entries(o)){let l=T(t,i);n[m]=E(e,s+Math.max(0,l-r))}return n}function W(e,s){let t=-1,r;for(let o=0;o<s;o++){let n=e[o];if(r){n===r&&(r=void 0);continue}if(n==="<"&&/[A-Za-z]/.test(e[o+1])){t=o;continue}t!==-1&&(n===">"?t=-1:(n==='"'||n==="'")&&(r=n))}return r}async function K(e,s,t,r,o){let n=A(e);if(n.length===0)return null;let m=t.importSource??"@cssxio/cssx",i=[],l=e;for(let a of[...n].reverse()){let d=`import { sx } from ${JSON.stringify(m)};
9
- const style = `,c=`${d}${a.code};`,u=await o(c,`${s}.cssx-vue-template.ts`,{...t,classNameAllocator:r}),p=Q(v(u.code),W(e,a.start));l=`${l.slice(0,a.start)}${p}${l.slice(a.end)}`,i.push({...u,origins:H(e,a.start,c,d.length,u.origins)})}return b(l,i)}async function Z(e,s,t,r){let o=s.split("?",1).join(""),n=$e(e,{filename:o});if(n.errors.length>0)throw new Error(n.errors[0].message);let m=t.classNameAllocator??Ee(),i=[],l=[];for(let c of[n.descriptor.script,n.descriptor.scriptSetup]){if(!c?.content.includes(t.importSource??"@cssxio/cssx"))continue;let u=c.lang==="js"||c.lang==="jsx"||c.lang==="tsx"?c.lang:"ts",p=await r(c.content,`${o}.cssx-vue-script.${u}`,{...t,classNameAllocator:m});i.push({start:c.loc.start.offset,end:c.loc.end.offset,code:p.code}),l.push({...p,origins:I(e,c.loc.start.offset,p.origins)})}let a=n.descriptor.template;if(a?.content.includes("sx")){let c=await K(a.content,o,t,m,r);c&&(i.push({start:a.loc.start.offset,end:a.loc.end.offset,code:c.code}),l.push({...c,origins:I(e,a.loc.start.offset,c.origins)}))}if(i.length===0)return null;let d=e;for(let c of i.sort((u,p)=>p.start-u.start))d=`${d.slice(0,c.start)}${c.code}${d.slice(c.end)}`;return b(d,l)}var je=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro",".vue"]);async function O(e,s,t={},r){$(t);let o=t.importSource??"@cssxio/cssx",n=s.split("?",1).join("");return!je.has(n.slice(n.lastIndexOf(".")))||!e.includes(o)?null:n.endsWith(".astro")?_(e,s,t,O):n.endsWith(".vue")?Z(e,s,t,O):q(e,n,t,r)}function Is(e,s){if(!e||typeof e!="object")return;let t=e.getCombinedSourcemap;if(typeof t!="function")return;let r=t.call(e);if(!r||typeof r!="object")return;let o=r;if(!(o.version!==3||!Array.isArray(o.sources)||typeof o.mappings!="string"))return{version:o.version,sources:[...o.sources],names:[...o.names??[]],mappings:o.mappings,file:o.file??s.split("?",1).join(""),...o.sourceRoot?{sourceRoot:o.sourceRoot}:{},...o.sourcesContent?{sourcesContent:[...o.sourcesContent]}:{}}}import{createClassNameAllocator as Y,restoreClassNameAllocator as ke,snapshotClassNameAllocator as te}from"@cssxio/compiler";import{mkdir as Fe,open as Ie,readFile as se,rename as Le,rm as M,stat as re,writeFile as Ve}from"fs/promises";import{dirname as Je,resolve as De}from"path";var ee=20,oe=5*6e4;async function ne(e,s,t){let r=De(e),o=`${r}.lock`,n=Date.now(),m,i=0;for(;!m;){await Fe(Je(r),{recursive:!0});let l;try{l=await Ie(o,"wx")}catch(a){let d=a.code;if(d!=="EEXIST"){if(d!=="EACCES"&&d!=="EPERM")throw a;try{await re(o)}catch(c){if(c.code==="ENOENT"){if(i+=1,i>1)throw a;await new Promise(u=>setTimeout(u,ee));continue}throw c}}if(i=0,await ze(o))continue;if(Date.now()-n>=oe)throw new Error(`Timed out waiting for CSSX class-name manifest lock: ${o}`);await new Promise(c=>setTimeout(c,ee));continue}try{await l.writeFile(`${process.pid}
10
- ${Date.now()}
11
- `)}catch(a){throw await l.close().catch(()=>{}),await M(o,{force:!0}).catch(()=>{}),a}m=l}try{let l=await Be(r,s),a=await t(l),d=te(l),c=`${r}.${process.pid}.${Date.now()}.tmp`;try{await Ve(c,`${JSON.stringify(d,null,2)}
12
- `,"utf8"),await Le(c,r)}catch(u){throw await M(c,{force:!0}).catch(()=>{}),u}return a}finally{await m.close(),await M(o,{force:!0})}}async function ze(e){try{let s=await re(e),t;try{t=await se(e,"utf8")}catch(n){let m=n.code;if(m==="EACCES"||m==="EPERM")return!1;throw n}let[r]=t.split(`
13
- `),o=Number(r);if(Number.isSafeInteger(o)&&o>0)try{return process.kill(o,0),!1}catch(n){return n.code!=="ESRCH"?!1:(await M(e,{force:!0}),!0)}return Date.now()-s.mtimeMs<oe?!1:(await M(e,{force:!0}),!0)}catch(s){if(s.code==="ENOENT")return!1;throw s}}async function Be(e,s){try{let t=JSON.parse(await se(e,"utf8")),r=te(Y(s)).options;if(JSON.stringify(t.options)!==JSON.stringify(r))throw new Error("CSSX class-name manifest options do not match the active compiler options.");return ke(t)}catch(t){if(t.code==="ENOENT")return Y(s);throw t}}import{createClassNameAllocator as _e}from"@cssxio/compiler";import{readFile as Xe}from"fs/promises";import{relative as Ue,resolve as qe,sep as Ge}from"path";async function Zs(e,s){let t=await D(e,s.sourceRoots?.map(n=>qe(e,n))),r={...s};delete r.coordination,delete r.manifestPath,delete r.classNameAllocator;let o=async n=>{let m=[];for(let i of t){let l=await Xe(i,"utf8"),a=/\.(?:md|mdx)$/i.test(i);if(a&&!l.includes(s.importSource??"@cssxio/cssx"))continue;let d=a?await B(l,e,s.mdx):l,c=s.stableClassNames||s.naming==="source",u=await O(d,a?`${i}.tsx`:i,{...r,classNameAllocator:n,stableClassNames:c,...c?{stableClassNameFileName:Ue(e,i).replaceAll(Ge,"/")}:{}});u&&m.push({id:i,candidates:u.candidates,composites:u.composites,atomicClasses:u.atomicClasses,origins:u.origins})}return m};return s.coordination==="manifest"?ne(s.manifestPath,k(s),o):o(s.classNameAllocator??_e(k(s)))}export{j as a,de as b,ie as c,le as d,pe as e,k as f,Rt as g,At as h,Et as i,jt as j,D as k,B as l,O as m,Is as n,ne as o,Zs as p};
File without changes