@cssxio/unplugin 0.9.0 → 0.11.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/README.md +32 -20
- package/dist/chunk-3C7SCOHD.js +11 -0
- package/dist/chunk-5W5F6RBE.js +3 -0
- package/dist/chunk-663P2VZO.js +3 -0
- package/dist/chunk-7X733NFU.js +1 -0
- package/dist/chunk-AJOXGQDA.js +1 -0
- package/dist/chunk-ART2XI6B.js +5 -0
- package/dist/chunk-GPHROS5Y.js +1 -0
- package/dist/chunk-NTKLI2V7.js +1 -0
- package/dist/chunk-URWMD4HY.js +1 -0
- package/dist/chunk-V4DGCZJC.js +2 -0
- package/dist/chunk-VJ4HYXVU.js +1 -0
- package/dist/compile-cssx-stylesheet-CAnWFXMM.d.cts +17 -0
- package/dist/compile-cssx-stylesheet-CnatguKL.d.ts +17 -0
- package/dist/development-runtime.cjs +212 -0
- package/dist/development-runtime.d.cts +181 -0
- package/dist/development-runtime.d.ts +181 -0
- package/dist/development-runtime.js +196 -0
- package/dist/esbuild.cjs +14 -102
- package/dist/esbuild.d.cts +1 -1
- package/dist/esbuild.d.ts +1 -1
- package/dist/esbuild.js +1 -1
- package/dist/index.cjs +19 -102
- package/dist/index.d.cts +12 -56
- package/dist/index.d.ts +12 -56
- package/dist/index.js +1 -1
- package/dist/module-cssx-data-CtlcR7CZ.d.ts +12 -0
- package/dist/module-cssx-data-DfZiLJQL.d.cts +12 -0
- package/dist/next-development-server-CBPFB9EC.d.cts +17 -0
- package/dist/next-development-server-CBPFB9EC.d.ts +17 -0
- package/dist/next-loader.cjs +15 -14
- package/dist/next-loader.d.cts +3 -1
- package/dist/next-loader.d.ts +3 -1
- package/dist/next-loader.js +5 -4
- package/dist/next.cjs +1 -1
- package/dist/next.d.cts +1 -1
- package/dist/next.d.ts +1 -1
- package/dist/next.js +1 -1
- package/dist/{options-DkqShf7w.d.ts → options-BbhZj-Sb.d.cts} +4 -0
- package/dist/{options-DkqShf7w.d.cts → options-BbhZj-Sb.d.ts} +4 -0
- package/dist/rollup.cjs +17 -101
- package/dist/rollup.d.cts +1 -1
- package/dist/rollup.d.ts +1 -1
- package/dist/rollup.js +1 -1
- package/dist/rspack.cjs +17 -101
- package/dist/rspack.d.cts +1 -1
- package/dist/rspack.d.ts +1 -1
- package/dist/rspack.js +1 -1
- package/dist/stylesheet-types-mSM1XaBK.d.cts +40 -0
- package/dist/stylesheet-types-mSM1XaBK.d.ts +40 -0
- package/dist/transform-runtime.cjs +12 -0
- package/dist/transform-runtime.d.cts +71 -0
- package/dist/transform-runtime.d.ts +71 -0
- package/dist/transform-runtime.js +2 -0
- package/dist/vite.cjs +17 -101
- package/dist/vite.d.cts +1 -1
- package/dist/vite.d.ts +1 -1
- package/dist/vite.js +1 -1
- package/dist/webpack.cjs +17 -101
- package/dist/webpack.d.cts +1 -1
- package/dist/webpack.d.ts +1 -1
- package/dist/webpack.js +1 -1
- package/package.json +14 -4
- package/dist/chunk-5R7RC6XB.js +0 -13
- package/dist/chunk-KEHM5MVZ.js +0 -91
- package/dist/chunk-OHZUHF4D.js +0 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** Browser connection settings for the local Next.js development stylesheet transport. */
|
|
2
|
+
interface NextDevelopmentHmrConnection {
|
|
3
|
+
/** Loopback port used by the development-only stylesheet endpoint. */
|
|
4
|
+
readonly port: number;
|
|
5
|
+
/** Project-specific endpoint segment. */
|
|
6
|
+
readonly token: string;
|
|
7
|
+
}
|
|
8
|
+
/** Starts a loopback-only event stream and stylesheet endpoint for one Next.js app. */
|
|
9
|
+
declare function startNextDevelopmentServer(root: string, styleSheetFile: string): NextDevelopmentHmrConnection;
|
|
10
|
+
/** Stops one project transport. Used by tests and development config reloads. */
|
|
11
|
+
declare function stopNextDevelopmentServer(root: string): void;
|
|
12
|
+
/** Pushes a revision after the loader atomically replaces the generated sheet. */
|
|
13
|
+
declare function publishNextDevelopmentStylesheet(connection: NextDevelopmentHmrConnection, css?: string): Promise<void>;
|
|
14
|
+
/** Waits until the coordinator has completed its initial stylesheet write. */
|
|
15
|
+
declare function waitForNextDevelopmentStylesheet(connection: NextDevelopmentHmrConnection): Promise<void>;
|
|
16
|
+
|
|
17
|
+
export { type NextDevelopmentHmrConnection as N, stopNextDevelopmentServer as a, publishNextDevelopmentStylesheet as p, startNextDevelopmentServer as s, waitForNextDevelopmentStylesheet as w };
|
package/dist/next-loader.cjs
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var st=Object.create;var z=Object.defineProperty;var rt=Object.getOwnPropertyDescriptor;var ot=Object.getOwnPropertyNames;var nt=Object.getPrototypeOf,it=Object.prototype.hasOwnProperty;var at=(e,s)=>{for(var t in s)z(e,t,{get:s[t],enumerable:!0})},ue=(e,s,t,r)=>{if(s&&typeof s=="object"||typeof s=="function")for(let o of ot(s))!it.call(e,o)&&o!==t&&z(e,o,{get:()=>s[o],enumerable:!(r=rt(s,o))||r.enumerable});return e};var se=(e,s,t)=>(t=e!=null?st(nt(e)):{},ue(s||!e||!e.__esModule?z(t,"default",{value:e,enumerable:!0}):t,e)),lt=e=>ue(z({},"__esModule",{value:!0}),e);var bt={};at(bt,{default:()=>de});module.exports=lt(bt);var tt=require("crypto"),b=require("fs/promises"),x=require("path");function fe(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",i=new Map,c=new Map;for(let d of[...e].sort((u,a)=>u.id.localeCompare(a.id))){let u=new Map;for(let[a,l]of Object.entries(d.candidates)){let p=c.get(a)??new Set;p.add(l),c.set(a,p);let f=i.get(l)??{module:d.id,utilities:new Set,line:d.origins?.[a]?.line??0,column:d.origins?.[a]?.column??0};f.utilities.add(a),i.set(l,f);let C=u.get(l)??[];C.push(a),u.set(l,C)}for(let[a,l]of Object.entries(d.composites??{})){let p=l.flatMap(S=>u.get(S)??[]),f=p[0],C=i.get(a)??{module:d.id,utilities:new Set,line:f?d.origins?.[f]?.line??0:0,column:f?d.origins?.[f]?.column??0:0};for(let S of p)C.utilities.add(S);i.set(a,C)}for(let a of d.atomicClasses??[])i.has(a)||i.set(a,{module:d.id,utilities:new Set,line:0,column:0})}let n=[...i].sort(([d],[u])=>d.localeCompare(u)).map(([d,u])=>({className:d,module:u.module,utilities:[...u.utilities].sort(),line:u.line+1,column:u.column+1,selectorFound:new RegExp(`\\.${ct(d)}(?:[^A-Za-z0-9_-]|$)`).test(s)})),m=[...c].filter(([,d])=>d.size>1).map(([d])=>d).sort();return{version:1,naming:{mode:r,reason:o},coordination:{mode:t.coordination??"memory",...t.coordination==="manifest"&&t.manifestPath?{manifestPath:t.manifestPath}:{}},classes:n,serverClientMappings:{status:m.length>0?"mismatch":t.coordination==="manifest"?"manifest-shared":"consistent-in-process",conflicts:m}}}function ct(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var F=require("path");function pe(e){if(!e||(0,F.isAbsolute)(e))throw new Error("cssFileName must be a non-empty relative path.");let s=(0,F.normalize)(e);if(s===".."||s.startsWith(`..${F.sep}`))throw new Error("cssFileName must not escape the bundler output directory.");if(!s.endsWith(".css"))throw new Error("cssFileName must end in .css.");return s}function re(e){if(e.mode!==void 0&&e.mode!=="development"&&e.mode!=="production")throw new Error('CSSX mode must be "development" or "production".');if(e.stableClassNameStrategy!==void 0&&e.stableClassNameStrategy!=="source-location"&&e.stableClassNameStrategy!=="module-order")throw new Error('CSSX stableClassNameStrategy must be "source-location" or "module-order".');if(e.sourceRoots&&e.sourceRoots.some(t=>typeof t!="string"||!t.trim()))throw new Error("CSSX sourceRoots must contain non-empty file-system paths.");let s=e.debug;if(s===null||s!==void 0&&typeof s!="boolean"&&(typeof s!="object"||typeof s.reportFile!="string"||!s.reportFile))throw new Error("CSSX debug must be a boolean or an object with a reportFile path.");if(e.naming!==void 0&&!["serial","hash","source"].includes(e.naming))throw new Error('CSSX naming must be "serial", "hash", or "source".');if(e.coordination!==void 0&&!["memory","manifest"].includes(e.coordination))throw new Error('CSSX coordination must be "memory" or "manifest".');if(e.stableClassNames&&e.naming&&e.naming!=="source")throw new Error('CSSX stableClassNames selects source naming and conflicts with naming. Use naming: "source".');if(e.stableClassNames&&e.coordination==="manifest")throw new Error("CSSX stableClassNames already selects source naming; remove it to use manifest coordination.");if(e.naming==="hash"&&e.className?.variant==="serial")throw new Error('CSSX naming: "hash" conflicts with className.variant: "serial".');if(e.naming==="serial"&&e.className?.variant==="random")throw new Error('CSSX naming: "serial" conflicts with className.variant: "random".');if(e.coordination==="manifest"&&!e.manifestPath)throw new Error('CSSX coordination: "manifest" requires manifestPath.');if(e.manifestPath&&e.coordination!=="manifest")throw new Error('CSSX manifestPath requires coordination: "manifest".');if(e.coordination==="manifest"&&e.classNameAllocator)throw new Error("CSSX manifest coordination cannot use a custom classNameAllocator.");if(e.theme!==void 0&&e.themeFile!==void 0)throw new Error("CSSX accepts either theme or themeFile, not both.");if(e.layer!==void 0&&!/^[A-Za-z_-][A-Za-z0-9_-]*$/.test(e.layer))throw new Error("CSSX layer must be a valid CSS layer identifier.");if(e.sourceMap!==void 0&&typeof e.sourceMap!="boolean")throw new Error("CSSX sourceMap must be a boolean.");if(e.darkMode!==void 0&&e.darkMode!=="media"&&e.darkMode!=="selector"&&e.darkMode!=="class")throw new Error('CSSX darkMode must be "media", "selector", or "class".');if(e.preflight!==void 0&&typeof e.preflight!="boolean")throw new Error("CSSX preflight must be a boolean.");if(e.reusabilityBudget!==void 0&&e.reusabilityBudget!=="auto"&&(!Number.isFinite(e.reusabilityBudget)||e.reusabilityBudget<0||e.reusabilityBudget>100))throw new Error('CSSX reusabilityBudget must be "auto" or a number from 0 through 100.');pe(e.cssFileName??"cssx.css")}var V=require("fs/promises"),xe=require("path"),ge=new Map;async function I(e,s=process.cwd()){if(e.themeFile===void 0)return e.theme;let t=(0,xe.resolve)(s,e.themeFile),r=await(0,V.stat)(t,{bigint:!0}),o=`${r.dev}:${r.ino}:${r.size}:${r.mtimeNs}:${r.ctimeNs}`,i=ge.get(t);if(i?.signature===o)return i.source;let c=await(0,V.readFile)(t,"utf8");return ge.set(t,{signature:o,source:c}),c}function oe(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 X(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}:{}}}function ye(e){return{...e,mode:"development",sourceMap:e.sourceMap??!1,naming:"source",stableClassNames:!0,stableClassNameStrategy:"module-order",reusabilityBudget:0,className:{...e.className,variant:"random"},classNameAllocator:void 0,coordination:"memory",manifestPath:void 0}}var j=require("path");var ne=require("fs"),mt=require("fs/promises"),P=require("path");function E(e){let s=(0,P.resolve)(e);try{return ne.realpathSync.native(s)}catch{let t=(0,P.dirname)(s),r=(0,P.basename)(s);for(;;)try{return(0,P.resolve)(ne.realpathSync.native(t),r)}catch{let o=(0,P.dirname)(t);if(o===t)return s;r=(0,P.join)((0,P.basename)(t),r),t=o}}}function D(e,s,t){let r=t?E(e):(0,j.resolve)(e),o=t?E(s):(0,j.resolve)(s);return(0,j.relative)(r,o).replaceAll(j.sep,"/")}var R=require("@cssxio/compiler"),h=require("fs/promises"),B=require("path"),he=20,Ce=5*6e4;async function W(e,s,t){let r=(0,B.resolve)(e),o=`${r}.lock`,i=Date.now(),c,n=0;for(;!c;){await(0,h.mkdir)((0,B.dirname)(r),{recursive:!0});let m;try{m=await(0,h.open)(o,"wx")}catch(d){let u=d.code;if(u!=="EEXIST"){if(u!=="EACCES"&&u!=="EPERM")throw d;try{await(0,h.stat)(o)}catch(a){if(a.code==="ENOENT"){if(n+=1,n>1)throw d;await new Promise(l=>setTimeout(l,he));continue}throw a}}if(n=0,await dt(o))continue;if(Date.now()-i>=Ce)throw new Error(`Timed out waiting for CSSX class-name manifest lock: ${o}`);await new Promise(a=>setTimeout(a,he));continue}try{await m.writeFile(`${process.pid}
|
|
2
2
|
${Date.now()}
|
|
3
|
-
`)}catch(
|
|
4
|
-
`,"utf8"),await(0,
|
|
5
|
-
`),o=Number(r);if(Number.isSafeInteger(o)&&o>0)try{return process.kill(o,0),!1}catch(
|
|
6
|
-
/*# sourceMappingURL=${(0,
|
|
7
|
-
`);return{line:e.line+t.length-1,column:t.at(-1).length+e.column*+(t.length===1)}}var
|
|
8
|
-
const style = ${
|
|
9
|
-
`).slice(0,s.line).reduce((r,o)=>r+o.length+1,0);return Math.min(e.length,t+s.column)}function
|
|
3
|
+
`)}catch(d){throw await m.close().catch(()=>{}),await(0,h.rm)(o,{force:!0}).catch(()=>{}),d}c=m}try{let m=await ut(r,s),d=await t(m),u=(0,R.snapshotClassNameAllocator)(m),a=`${r}.${process.pid}.${Date.now()}.tmp`;try{await(0,h.writeFile)(a,`${JSON.stringify(u,null,2)}
|
|
4
|
+
`,"utf8"),await(0,h.rename)(a,r)}catch(l){throw await(0,h.rm)(a,{force:!0}).catch(()=>{}),l}return d}finally{await c.close(),await(0,h.rm)(o,{force:!0})}}async function dt(e){try{let s=await(0,h.stat)(e),t;try{t=await(0,h.readFile)(e,"utf8")}catch(i){let c=i.code;if(c==="EACCES"||c==="EPERM")return!1;throw i}let[r]=t.split(`
|
|
5
|
+
`),o=Number(r);if(Number.isSafeInteger(o)&&o>0)try{return process.kill(o,0),!1}catch(i){return i.code!=="ESRCH"?!1:(await(0,h.rm)(e,{force:!0}),!0)}return Date.now()-s.mtimeMs<Ce?!1:(await(0,h.rm)(e,{force:!0}),!0)}catch(s){if(s.code==="ENOENT")return!1;throw s}}async function ut(e,s){try{let t=JSON.parse(await(0,h.readFile)(e,"utf8")),r=(0,R.snapshotClassNameAllocator)((0,R.createClassNameAllocator)(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(0,R.restoreClassNameAllocator)(t)}catch(t){if(t.code==="ENOENT")return(0,R.createClassNameAllocator)(s);throw t}}function Se(e,s){return JSON.stringify({...e,file:s})}var we=require("path");function Ne(e,s){return e.map?`${e.css}
|
|
6
|
+
/*# sourceMappingURL=${(0,we.basename)(s)}.map */`:e.css}var H=require("@cssxio/compiler");var be='*,::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}';function ie(e,s){let t=s.split(`
|
|
7
|
+
`);return{line:e.line+t.length-1,column:t.at(-1).length+e.column*+(t.length===1)}}var ft="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function L(e){let s="",t=e<0?-e<<1|1:e<<1;do{let r=t&31;t>>>=5,t&&(r|=32),s+=ft[r]}while(t);return s}function Oe(e){let s=Array.from({length:Math.max(0,...e.map(n=>n.line))+1},()=>[]),t=0,r=0,o=0,i=0,c=0;for(let n of e)c*=+(n.line===i),i=n.line,s[n.line]?.push(`${L(n.column-c)}${L(n.source-t)}${L(n.originalLine-r)}${L(n.originalColumn-o)}`),c=n.column,t=n.source,r=n.originalLine,o=n.originalColumn;return s.map(n=>n.join(",")).join(";")}function ve(e,s,t){let r=[...new Set(s.map(n=>t.get(n.candidate)?.id).filter(n=>!!n))].sort();if(r.length===0)return;let o=new Map(r.map((n,m)=>[n,m])),i=[],c=ie({line:0,column:0},e);for(let n of s){let m=t.get(n.candidate);m&&i.push({...c,source:o.get(m.id),originalLine:m.line,originalColumn:m.column}),c=ie(c,n.css)}return{version:3,sources:r,names:[],mappings:Oe(i)}}async function Pe(e,s,t,r=!0,o,i=!0){let c=Object.create(null),n=Object.create(null),m=new Set,d=!0,u=new Map;for(let g of[...e].sort((y,w)=>y.id.localeCompare(w.id))){for(let[y,w]of Object.entries(g.candidates))if(y in c||(c[y]=w),g.id&&!u.has(y)){let N=g.origins?.[y];u.set(y,{id:g.id,line:N?.line??0,column:N?.column??0})}for(let[y,w]of Object.entries(g.composites??{})){let N=n[y];if(N&&N.join(" ")!==w.join(" "))throw new Error(`CSSX composite class collision for "${y}".`);n[y]=w}g.atomicClasses===void 0&&(d=!1);for(let y of g.atomicClasses??[])m.add(y)}let a=Object.keys(c).sort(),l=i?be:"";if(a.length===0)return{css:l&&t?`@layer ${t}{${l}}`:l};let p=await(0,H.compileUtilities)(a,g=>c[g],s,(0,H.createSelectorAliases)(n),d?m:void 0,{darkMode:o}),f=t?`@layer ${t}{`:"",C=`${f}${l}${p.css}${f?"}":""}`,S=r?ve(`${f}${l}${p.prefixCss}`,p.entries,u):void 0;return{css:C,...S?{map:S}:{}}}var Me=require("fs/promises"),v=require("path"),pt=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro",".mdx",".md"]),Ee=new Set([".git",".next",".open-next",".output",".turbo",".vercel","build","coverage","dist","node_modules","out","storybook-static"]);function ae(e,s=[]){let t=(0,v.resolve)(e),r=s.map(i=>(0,v.resolve)(i)).find(i=>{let c=(0,v.relative)(i,t);return c===""||!c.startsWith(`..${v.sep}`)&&c!==".."&&!(0,v.isAbsolute)(c)});return(r?(0,v.relative)(r,t):t).split(v.sep).some(i=>Ee.has(i))}async function Re(e,s=[]){let t=[],r=[e,...s],o=new Set;for(;r.length>0;){let i=r.pop(),c=(0,v.resolve)(i);if(!o.has(c)){o.add(c);for(let n of await(0,Me.readdir)(i,{withFileTypes:!0})){let m=(0,v.join)(i,n.name);if(n.isDirectory()){Ee.has(n.name)||r.push(m);continue}n.isFile()&&pt.has(m.slice(m.lastIndexOf(".")))&&t.push(m)}}}return t.sort()}var qe=require("@cssxio/compiler"),xt=require("fs"),$=require("fs/promises"),Y=require("path");var Ae=require("module"),$e=require("path"),le=require("url");async function J(e,s,t={}){let r=(0,Ae.createRequire)((0,$e.resolve)(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 i=await import((0,le.pathToFileURL)(o).href),c=async n=>Promise.all((n??[]).map(async m=>{let[d,u]=typeof m=="string"?[m,void 0]:m,a=r.resolve(d),l=await import((0,le.pathToFileURL)(a).href),p=l.default??l;return u===void 0?p:[p,u]}));return String(await i.compile(e,{outputFormat:"program",development:t.development??!1,remarkPlugins:await c(t.remarkPlugins),rehypePlugins:await c(t.rehypePlugins),recmaPlugins:await c(t.recmaPlugins)}))}var Te=require("@cssxio/compiler");function U(e){let s=[],t=/\bsx\s*\(/g;for(let r of e.matchAll(t)){let o=r.index,i=e.indexOf("(",o),c=0,n="";for(let m=i;m<e.length;m+=1){let d=e[m];if(n){d==="\\"?m+=1:d===n&&(n="");continue}if(d==='"'||d==="'"||d==="`")n=d;else if(d==="(")c+=1;else if(d===")"&&--c===0){s.push({start:o,end:m+1,code:e.slice(o,m+1)}),t.lastIndex=m+1;break}}}return s}function k(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 q(e){let s="const style = ",t=e.indexOf(s)+s.length,r=e.indexOf(";",t);return e.slice(t,r)}async function je(e,s,t,r,o={}){let i=U(e);if(i.length===0)return null;let c=t.classNameAllocator??(0,Te.createClassNameAllocator)(),n=t.importSource??"@cssxio/cssx",m=[],d=e;for(let u of[...i].reverse()){let a=await r(`import { sx } from ${JSON.stringify(n)};
|
|
8
|
+
const style = ${u.code};`,`${s}.ts`,{...t,classNameAllocator:c},void 0,o),l=q(a.code);d=`${d.slice(0,u.start)}${l}${d.slice(u.end)}`,m.push({...a,atomicClasses:[],origins:{}})}return k(d,m)}var Le=require("@cssxio/compiler"),Je=require("@vue/compiler-sfc");function G(e,s){let t=e.split(`
|
|
9
|
+
`).slice(0,s.line).reduce((r,o)=>r+o.length+1,0);return Math.min(e.length,t+s.column)}function Q(e,s){let t=Math.min(e.length,s),r=e.slice(0,t).split(`
|
|
10
10
|
`).length-1,o=e.lastIndexOf(`
|
|
11
|
-
`,t-1)+1;return{line:r,column:t-o}}function
|
|
12
|
-
`,f:"\f",r:"\r",t:" ",v:"\v"})[t]??t)}function
|
|
13
|
-
const style = `,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
`,t-1)+1;return{line:r,column:t-o}}function ce(e,s,t){let r={},o=e.slice(s);for(let[i,c]of Object.entries(t))r[i]=Q(e,s+G(o,c));return r}function Fe(e,s,t,r,o){let i={};for(let[c,n]of Object.entries(o)){let m=G(t,n);i[c]=Q(e,s+Math.max(0,m-r))}return i}function ke(e){return e.slice(1,-1).replace(/\\(['"\\bnfrtv])/g,(s,t)=>({b:"\b",n:`
|
|
12
|
+
`,f:"\f",r:"\r",t:" ",v:"\v"})[t]??t)}function Ie(e,s){if(!s)return e;let t=s==='"'?"'":'"';return e.replace(/"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'/g,r=>{let o=r[0]==='"'?JSON.parse(r):ke(r),i=JSON.stringify(o);return t==='"'?i:`'${i.slice(1,-1).replaceAll("'","\\'")}'`})}function Xe(e,s){let t=-1,r;for(let o=0;o<s;o++){let i=e[o];if(r){i===r&&(r=void 0);continue}if(i==="<"&&/[A-Za-z]/.test(e[o+1])){t=o;continue}t!==-1&&(i===">"?t=-1:(i==='"'||i==="'")&&(r=i))}return r}async function De(e,s,t,r,o,i={}){let c=U(e);if(c.length===0)return null;let n=t.importSource??"@cssxio/cssx",m=[],d=e;for(let u of[...c].reverse()){let a=`import { sx } from ${JSON.stringify(n)};
|
|
13
|
+
const style = `,l=`${a}${u.code};`,p=await o(l,`${s}.cssx-vue-template.ts`,{...t,classNameAllocator:r},void 0,i),f=Ie(q(p.code),Xe(e,u.start));d=`${d.slice(0,u.start)}${f}${d.slice(u.end)}`,m.push({...p,origins:Fe(e,u.start,l,a.length,p.origins)})}return k(d,m)}async function _e(e,s,t,r,o={}){let i=s.split("?",1).join(""),c=(0,Je.parse)(e,{filename:i});if(c.errors.length>0)throw new Error(c.errors[0].message);let n=t.classNameAllocator??(0,Le.createClassNameAllocator)(),m=[],d=[];for(let l of[c.descriptor.script,c.descriptor.scriptSetup]){if(!l?.content.includes(t.importSource??"@cssxio/cssx"))continue;let p=l.lang==="js"||l.lang==="jsx"||l.lang==="tsx"?l.lang:"ts",f=await r(l.content,`${i}.cssx-vue-script.${p}`,{...t,classNameAllocator:n},void 0,o);m.push({start:l.loc.start.offset,end:l.loc.end.offset,code:f.code}),d.push({...f,origins:ce(e,l.loc.start.offset,f.origins)})}let u=c.descriptor.template;if(u?.content.includes("sx")){let l=await De(u.content,i,t,n,r,o);l&&(m.push({start:u.loc.start.offset,end:u.loc.end.offset,code:l.code}),d.push({...l,origins:ce(e,u.loc.start.offset,l.origins)}))}if(m.length===0)return null;let a=e;for(let l of m.sort((p,f)=>f.start-p.start))a=`${a.slice(0,l.start)}${l.code}${a.slice(l.end)}`;return k(a,d)}var Be=require("@babel/core"),We=se(require("@cssxio/babel-plugin"),1),Z=require("@cssxio/compiler");function ze(e){return{className:`cssx-${oe(e)}`,css:e}}function Ve(e,s){return e&&s?`@layer ${s}{${e}}`:e}async function He(e,s,t,r,o={}){let i=t.importSource??"@cssxio/cssx",c=await I(t),n=await(0,Be.transformAsync)(e,{babelrc:!1,configFile:!1,filename:s,parserOpts:{plugins:["jsx","typescript"]},plugins:[[We.default,{importSource:i,classNameAllocator:t.classNameAllocator,theme:c,reusabilityBudget:t.reusabilityBudget,stableClassNames:t.stableClassNames,stableClassNameStrategy:t.stableClassNameStrategy,stableClassNameFileName:t.stableClassNameFileName,darkMode:t.darkMode}]],sourceMaps:!0,...r?{inputSourceMap:r}:{}}),m=n.metadata,{candidates:d,origins:u,composites:a,atomicClasses:l,cssOnlySignature:p}=m.cssx,f=Object.keys(d),C=o.compileCss===!1||f.length===0?"":(await(0,Z.compileUtilities)(f,S=>d[S],c,(0,Z.createSelectorAliases)(a),new Set(l),{darkMode:t.darkMode})).css;return{code:n.code,rules:C?[ze(Ve(C,t.layer))]:[],candidates:d,composites:a,atomicClasses:l,origins:u,cssOnlySignature:p,map:n.map}}var gt=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro",".vue"]);async function A(e,s,t={},r,o={}){re(t);let i=t.importSource??"@cssxio/cssx",c=s.split("?",1).join("");return!gt.has(c.slice(c.lastIndexOf(".")))||!e.includes(i)?null:c.endsWith(".astro")?je(e,s,t,A,o):c.endsWith(".vue")?_e(e,s,t,A,o):He(e,c,t,r,o)}async function ee(e,s){let t=E(e),r=await Re(t,s.sourceRoots?.map(u=>E((0,Y.resolve)(t,u)))),o={...s};delete o.coordination,delete o.manifestPath,delete o.classNameAllocator;let i=async u=>{let a=[];for(let l of r){let p=await(0,$.readFile)(l,"utf8"),f=/\.(?:md|mdx)$/i.test(l);if(f&&!p.includes(s.importSource??"@cssxio/cssx"))continue;let C=f?await J(p,t,s.mdx):p,S=s.stableClassNames||s.naming==="source",g=await A(C,f?`${l}.tsx`:l,{...o,classNameAllocator:u,stableClassNames:S,...S?{stableClassNameFileName:D(t,l,s.mode==="development")}:{}},void 0,{compileCss:!1});g&&a.push({id:l,candidates:g.candidates,composites:g.composites,atomicClasses:g.atomicClasses,origins:g.origins})}return a};if(s.coordination==="manifest")return W(s.manifestPath,X(s),i);let c=te(t,s),n=Ze(e,s),m=K.get(c);if(m)return await m,ee(e,s);let d=(async()=>{let u=new Set;for(let a of r){let l;try{l=await(0,$.stat)(a,{bigint:!0})}catch(N){if(N.code!=="ENOENT")throw N;n.signatures.delete(a),n.modules.delete(a);continue}let p=`${l.dev}:${l.ino}:${l.size}:${l.mtimeNs}:${l.ctimeNs}`;if(n.signatures.get(a)===p){u.add(a);continue}let f;try{f=await(0,$.readFile)(a,"utf8")}catch(N){if(N.code!=="ENOENT")throw N;n.signatures.delete(a),n.modules.delete(a);continue}u.add(a);let C=/\.(?:md|mdx)$/i.test(a),S=f.includes(s.importSource??"@cssxio/cssx");if(C&&!S){n.modules.delete(a),n.signatures.set(a,p);continue}let g=C?await J(f,t,s.mdx):f,y=s.stableClassNames||s.naming==="source",w=await A(g,C?`${a}.tsx`:a,{...o,classNameAllocator:n.allocator,stableClassNames:y,...y?{stableClassNameFileName:D(t,a,s.mode==="development")}:{}},void 0,{compileCss:!1});w?n.modules.set(a,{id:a,candidates:w.candidates,composites:w.composites,atomicClasses:w.atomicClasses,origins:w.origins}):n.modules.delete(a),n.signatures.set(a,p)}for(let a of n.signatures.keys())u.has(a)||(n.signatures.delete(a),n.modules.delete(a));return[...n.modules.values()].sort((a,l)=>a.id.localeCompare(l.id))})();K.set(c,d);try{return await d}finally{K.delete(c)}}function Ge(e,s){return Ze(e,s).allocator}async function Qe(e,s,t,r,o){if(t.coordination==="manifest")return!1;let i=te(e,t),c=K.get(i);c&&await c;let n=M.get(i);if(!n)return!1;let m=E(s),d;try{let a=await(0,$.stat)(m,{bigint:!0});if(o!==void 0&&await(0,$.readFile)(m,"utf8")!==o)return!1;d=`${a.dev}:${a.ino}:${a.size}:${a.mtimeNs}:${a.ctimeNs}`}catch(a){if(a.code==="ENOENT"){let l=M.get(i);return l?.signatures.delete(m),l?.modules.delete(m)??!1}throw a}let u=n.modules.has(m);return r?n.modules.set(m,{id:m,candidates:r.candidates,composites:r.composites,atomicClasses:r.atomicClasses,origins:r.origins}):n.modules.delete(m),n.signatures.set(m,d),u||r!==null}function me(e,s){let t=M.get(te(e,s));return t?[...t.modules.values()].sort((r,o)=>r.id.localeCompare(o.id)):void 0}function te(e,s){let t={...s};return delete t.coordination,delete t.manifestPath,delete t.classNameAllocator,`${E(e)}\0${JSON.stringify(t)}`}function Ze(e,s){let t=te(e,s),r=M.get(t);return r||(r={allocator:s.classNameAllocator??(0,qe.createClassNameAllocator)(X(s)),modules:new Map,signatures:new Map},M.set(t,r),yt(t)),r}function yt(e){if(!(M.size<=Ue))for(let s of M.keys()){if(M.size<=Ue)return;s!==e&&!ht.has(s)&&!Ct.has(s)&&M.delete(s)}}var M=new Map,K=new Map,ht=new Set,Ue=8;var Ct=new Map;var Ke=new Set([".md",".mdx"]);function de(e,s){let t=this.async();St(this,e,s).then(({code:r,map:o})=>t(null,r,o),r=>t(r instanceof Error?r:new Error(String(r))))}async function St(e,s,t){let r=e.getOptions(),o=(0,x.resolve)(r.projectRoot||e.rootContext||process.cwd()),i=(0,x.resolve)(e.resourcePath),c=r.cssx.sourceRoots?.map(O=>(0,x.resolve)(o,O));if(ae(i,c))return{code:s,...t?{map:t}:{}};let n=i.slice(i.lastIndexOf(".")).toLowerCase(),m=s;Ke.has(n)&&(m=await J(s,o,r.mdx));let d=(0,x.relative)(o,i).replaceAll(x.sep,"/"),u=wt(d),a,l=r.development?ye(r.cssx):r.cssx,p=l.naming==="source"||l.stableClassNames===!0,f={...l,className:X(l),stableClassNames:p,...p?{stableClassNameFileName:D(o,i,r.development)}:{}},C=Ke.has(n)?`${i}.tsx`:i,S=O=>A(m,C,{...f,classNameAllocator:O},t,{compileCss:!1}),g=r.development?await S(Ge(o,l)):await W(r.manifestPath,f.className,S);if(r.development&&!u&&!r.developmentHmr){let O=me(o,l);if(await Qe(o,i,l,g,s)||!O){let _=me(o,l)??await ee(o,l);await Ye(o,r.styleSheetFile,l,l,_)}}let y=g?.code??m,w=g?.map??t,N=r.development&&r.developmentHmr!==void 0;if(u&&N&&(a=await import("@cssxio/unplugin/internal/development-runtime"),await a.waitForNextDevelopmentStylesheet(r.developmentHmr)),u&&!N){let O=r.cssx.sourceRoots?.map(T=>(0,x.resolve)(o,T))??[];for(let T of[(0,x.resolve)(o,"app"),(0,x.resolve)(o,"src"),(0,x.resolve)(o,"pages"),(0,x.resolve)(o,"components"),...O])try{(await(0,b.stat)(T)).isDirectory()&&e.addContextDependency(T)}catch(_){if(_.code!=="ENOENT")throw _}}if(u&&!N){let O={...l,...r.development?{}:{coordination:"manifest",manifestPath:r.manifestPath}},T=await ee(o,{...O});l.themeFile&&e.addDependency((0,x.resolve)(o,l.themeFile)),await Ye(o,r.styleSheetFile,l,O,T)}if(u){let O=(0,x.relative)((0,x.dirname)(i),r.styleSheetFile).replaceAll(x.sep,"/");y+=`
|
|
14
|
+
import '${O.startsWith(".")?O:`./${O}`}';
|
|
15
|
+
`,w=void 0}return r.development&&r.developmentHmr&&g&&(a??=await import("@cssxio/unplugin/internal/development-runtime"),y+=`
|
|
16
|
+
${a.nextDevelopmentStylesheetHmr(r.developmentHmr,r.styleSheetFile)}`),{code:y,...w?{map:w}:{}}}async function Ye(e,s,t,r,o){let i=await I(t,e),c=await Pe(o,i,t.layer,t.sourceMap,t.darkMode,t.preflight);if(t.debug){let n=fe(o,c.css,r);if(t.debug===!0)console.info(`CSSX: ${n.naming.mode} naming; ${n.classes.filter(m=>m.selectorFound).length}/${n.classes.length} generated classes have selectors; compiler mappings ${n.serverClientMappings.status}${n.serverClientMappings.conflicts.length?` (${n.serverClientMappings.conflicts.length} utility conflicts)`:""}.`);else{let m=(0,x.resolve)(e,t.debug.reportFile);await(0,b.mkdir)((0,x.dirname)(m),{recursive:!0}),await Nt(m,`${JSON.stringify(n,null,2)}
|
|
17
|
+
`)}}await(0,b.mkdir)((0,x.dirname)(s),{recursive:!0}),await et(s,Ne(c,"generated.css")),c.map&&await et(`${s}.map`,Se(c.map,"generated.css"))}async function et(e,s){try{if(await(0,b.readFile)(e,"utf8")===s)return!1}catch(r){if(r.code!=="ENOENT")throw r}let t=`${e}.${process.pid}.${(0,tt.randomUUID)()}.tmp`;try{return await(0,b.writeFile)(t,s),await(0,b.rename)(t,e),!0}catch(r){throw await(0,b.unlink)(t).catch(()=>{}),r}}function wt(e){return/^(?:src\/)?app\/layout\.[cm]?[jt]sx?$/.test(e)}async function Nt(e,s){try{if(await(0,b.readFile)(e,"utf8")===s)return}catch(t){if(t.code!=="ENOENT")throw t}await(0,b.writeFile)(e,s,"utf8")}
|
package/dist/next-loader.d.cts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { C as CssxPluginOptions, a as CssxNextMdxOptions } from './options-
|
|
1
|
+
import { C as CssxPluginOptions, a as CssxNextMdxOptions } from './options-BbhZj-Sb.cjs';
|
|
2
2
|
import { I as IncomingSourceMap } from './source-map-from-context-B4SX_KAW.cjs';
|
|
3
|
+
import { N as NextDevelopmentHmrConnection } from './next-development-server-CBPFB9EC.cjs';
|
|
3
4
|
import '@cssxio/compiler';
|
|
4
5
|
|
|
5
6
|
/** JSON-safe options passed by the Next.js config wrapper to this loader. */
|
|
@@ -9,6 +10,7 @@ interface CssxNextLoaderOptions {
|
|
|
9
10
|
readonly importSource: string;
|
|
10
11
|
readonly manifestPath: string;
|
|
11
12
|
readonly development: boolean;
|
|
13
|
+
readonly developmentHmr?: NextDevelopmentHmrConnection;
|
|
12
14
|
readonly cssx: Omit<CssxPluginOptions, 'classNameAllocator' | 'coordination' | 'manifestPath'>;
|
|
13
15
|
readonly mdx?: CssxNextMdxOptions;
|
|
14
16
|
}
|
package/dist/next-loader.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { C as CssxPluginOptions, a as CssxNextMdxOptions } from './options-
|
|
1
|
+
import { C as CssxPluginOptions, a as CssxNextMdxOptions } from './options-BbhZj-Sb.js';
|
|
2
2
|
import { I as IncomingSourceMap } from './source-map-from-context-B4SX_KAW.js';
|
|
3
|
+
import { N as NextDevelopmentHmrConnection } from './next-development-server-CBPFB9EC.js';
|
|
3
4
|
import '@cssxio/compiler';
|
|
4
5
|
|
|
5
6
|
/** JSON-safe options passed by the Next.js config wrapper to this loader. */
|
|
@@ -9,6 +10,7 @@ interface CssxNextLoaderOptions {
|
|
|
9
10
|
readonly importSource: string;
|
|
10
11
|
readonly manifestPath: string;
|
|
11
12
|
readonly development: boolean;
|
|
13
|
+
readonly developmentHmr?: NextDevelopmentHmrConnection;
|
|
12
14
|
readonly cssx: Omit<CssxPluginOptions, 'classNameAllocator' | 'coordination' | 'manifestPath'>;
|
|
13
15
|
readonly mdx?: CssxNextMdxOptions;
|
|
14
16
|
}
|
package/dist/next-loader.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import{a as T}from"./chunk-URWMD4HY.js";import{a as $,b as I,c as D}from"./chunk-663P2VZO.js";import{a as F,c as R,d as L,e as H,f as j,h as v,i as A,j as k,k as w}from"./chunk-3C7SCOHD.js";import{b as O,h as E,i as b}from"./chunk-GPHROS5Y.js";import{randomUUID as V}from"crypto";import{mkdir as J,readFile as z,rename as Y,stat as Z,unlink as ee,writeFile as B}from"fs/promises";import{dirname as N,relative as X,resolve as l,sep as U}from"path";var W=new Set([".md",".mdx"]);function G(s,r){let t=this.async();te(this,s,r).then(({code:e,map:o})=>t(null,e,o),e=>t(e instanceof Error?e:new Error(String(e))))}async function te(s,r,t){let e=s.getOptions(),o=l(e.projectRoot||s.rootContext||process.cwd()),i=l(s.resourcePath),p=e.cssx.sourceRoots?.map(a=>l(o,a));if(H(i,p))return{code:r,...t?{map:t}:{}};let c=i.slice(i.lastIndexOf(".")).toLowerCase(),m=r;W.has(c)&&(m=await F(r,o,e.mdx));let K=X(o,i).replaceAll(U,"/"),u=oe(K),f,n=e.development?b(e.cssx):e.cssx,S=n.naming==="source"||n.stableClassNames===!0,M={...n,className:E(n),stableClassNames:S,...S?{stableClassNameFileName:R(o,i,e.development)}:{}},Q=W.has(c)?`${i}.tsx`:i,P=a=>j(m,Q,{...M,classNameAllocator:a},t,{compileCss:!1}),g=e.development?await P(A(o,n)):await L(e.manifestPath,M.className,P);if(e.development&&!u&&!e.developmentHmr){let a=w(o,n);if(await k(o,i,n,g,r)||!a){let x=w(o,n)??await v(o,n);await _(o,e.styleSheetFile,n,n,x)}}let y=g?.code??m,h=g?.map??t,C=e.development&&e.developmentHmr!==void 0;if(u&&C&&(f=await import("@cssxio/unplugin/internal/development-runtime"),await f.waitForNextDevelopmentStylesheet(e.developmentHmr)),u&&!C){let a=e.cssx.sourceRoots?.map(d=>l(o,d))??[];for(let d of[l(o,"app"),l(o,"src"),l(o,"pages"),l(o,"components"),...a])try{(await Z(d)).isDirectory()&&s.addContextDependency(d)}catch(x){if(x.code!=="ENOENT")throw x}}if(u&&!C){let a={...n,...e.development?{}:{coordination:"manifest",manifestPath:e.manifestPath}},d=await v(o,{...a});n.themeFile&&s.addDependency(l(o,n.themeFile)),await _(o,e.styleSheetFile,n,a,d)}if(u){let a=X(N(i),e.styleSheetFile).replaceAll(U,"/");y+=`
|
|
2
|
+
import '${a.startsWith(".")?a:`./${a}`}';
|
|
3
|
+
`,h=void 0}return e.development&&e.developmentHmr&&g&&(f??=await import("@cssxio/unplugin/internal/development-runtime"),y+=`
|
|
4
|
+
${f.nextDevelopmentStylesheetHmr(e.developmentHmr,e.styleSheetFile)}`),{code:y,...h?{map:h}:{}}}async function _(s,r,t,e,o){let i=await O(t,s),p=await $(o,i,t.layer,t.sourceMap,t.darkMode,t.preflight);if(t.debug){let c=T(o,p.css,e);if(t.debug===!0)console.info(`CSSX: ${c.naming.mode} naming; ${c.classes.filter(m=>m.selectorFound).length}/${c.classes.length} generated classes have selectors; compiler mappings ${c.serverClientMappings.status}${c.serverClientMappings.conflicts.length?` (${c.serverClientMappings.conflicts.length} utility conflicts)`:""}.`);else{let m=l(s,t.debug.reportFile);await J(N(m),{recursive:!0}),await se(m,`${JSON.stringify(c,null,2)}
|
|
5
|
+
`)}}await J(N(r),{recursive:!0}),await q(r,D(p,"generated.css")),p.map&&await q(`${r}.map`,I(p.map,"generated.css"))}async function q(s,r){try{if(await z(s,"utf8")===r)return!1}catch(e){if(e.code!=="ENOENT")throw e}let t=`${s}.${process.pid}.${V()}.tmp`;try{return await B(t,r),await Y(t,s),!0}catch(e){throw await ee(t).catch(()=>{}),e}}function oe(s){return/^(?:src\/)?app\/layout\.[cm]?[jt]sx?$/.test(s)}async function se(s,r){try{if(await z(s,"utf8")===r)return}catch(t){if(t.code!=="ENOENT")throw t}await B(s,r,"utf8")}export{G as default};
|
package/dist/next.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var $=Object.create;var g=Object.defineProperty;var _=Object.getOwnPropertyDescriptor;var B=Object.getOwnPropertyNames;var W=Object.getPrototypeOf,T=Object.prototype.hasOwnProperty;var z=(e,r)=>{for(var t in r)g(e,t,{get:r[t],enumerable:!0})},N=(e,r,t,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of B(r))!T.call(e,n)&&n!==t&&g(e,n,{get:()=>r[n],enumerable:!(a=_(r,n))||a.enumerable});return e};var H=(e,r,t)=>(t=e!=null?$(W(e)):{},N(r||!e||!e.__esModule?g(t,"default",{value:e,enumerable:!0}):t,e)),q=e=>N(g({},"__esModule",{value:!0}),e);var G={};z(G,{default:()=>A,withCSSX:()=>O});module.exports=q(G);var F=require("fs"),d=require("path");var m=require("path");function v(e){if(!e||(0,m.isAbsolute)(e))throw new Error("cssFileName must be a non-empty relative path.");let r=(0,m.normalize)(e);if(r===".."||r.startsWith(`..${m.sep}`))throw new Error("cssFileName must not escape the bundler output directory.");if(!r.endsWith(".css"))throw new Error("cssFileName must end in .css.");return r}function k(e){if(e.mode!==void 0&&e.mode!=="development"&&e.mode!=="production")throw new Error('CSSX mode must be "development" or "production".');if(e.stableClassNameStrategy!==void 0&&e.stableClassNameStrategy!=="source-location"&&e.stableClassNameStrategy!=="module-order")throw new Error('CSSX stableClassNameStrategy must be "source-location" or "module-order".');if(e.sourceRoots&&e.sourceRoots.some(t=>typeof t!="string"||!t.trim()))throw new Error("CSSX sourceRoots must contain non-empty file-system paths.");let r=e.debug;if(r===null||r!==void 0&&typeof r!="boolean"&&(typeof r!="object"||typeof r.reportFile!="string"||!r.reportFile))throw new Error("CSSX debug must be a boolean or an object with a reportFile path.");if(e.naming!==void 0&&!["serial","hash","source"].includes(e.naming))throw new Error('CSSX naming must be "serial", "hash", or "source".');if(e.coordination!==void 0&&!["memory","manifest"].includes(e.coordination))throw new Error('CSSX coordination must be "memory" or "manifest".');if(e.stableClassNames&&e.naming&&e.naming!=="source")throw new Error('CSSX stableClassNames selects source naming and conflicts with naming. Use naming: "source".');if(e.stableClassNames&&e.coordination==="manifest")throw new Error("CSSX stableClassNames already selects source naming; remove it to use manifest coordination.");if(e.naming==="hash"&&e.className?.variant==="serial")throw new Error('CSSX naming: "hash" conflicts with className.variant: "serial".');if(e.naming==="serial"&&e.className?.variant==="random")throw new Error('CSSX naming: "serial" conflicts with className.variant: "random".');if(e.coordination==="manifest"&&!e.manifestPath)throw new Error('CSSX coordination: "manifest" requires manifestPath.');if(e.manifestPath&&e.coordination!=="manifest")throw new Error('CSSX manifestPath requires coordination: "manifest".');if(e.coordination==="manifest"&&e.classNameAllocator)throw new Error("CSSX manifest coordination cannot use a custom classNameAllocator.");if(e.theme!==void 0&&e.themeFile!==void 0)throw new Error("CSSX accepts either theme or themeFile, not both.");if(e.layer!==void 0&&!/^[A-Za-z_-][A-Za-z0-9_-]*$/.test(e.layer))throw new Error("CSSX layer must be a valid CSS layer identifier.");if(e.sourceMap!==void 0&&typeof e.sourceMap!="boolean")throw new Error("CSSX sourceMap must be a boolean.");if(e.darkMode!==void 0&&e.darkMode!=="media"&&e.darkMode!=="selector"&&e.darkMode!=="class")throw new Error('CSSX darkMode must be "media", "selector", or "class".');if(e.preflight!==void 0&&typeof e.preflight!="boolean")throw new Error("CSSX preflight must be a boolean.");if(e.reusabilityBudget!==void 0&&e.reusabilityBudget!=="auto"&&(!Number.isFinite(e.reusabilityBudget)||e.reusabilityBudget<0||e.reusabilityBudget>100))throw new Error('CSSX reusabilityBudget must be "auto" or a number from 0 through 100.');v(e.cssFileName??"cssx.css")}function E(e){return{...e,mode:"development",sourceMap:e.sourceMap??!1,naming:"source",stableClassNames:!0,stableClassNameStrategy:"module-order",reusabilityBudget:0,className:{...e.className,variant:"random"},classNameAllocator:void 0,coordination:"memory",manifestPath:void 0}}var P=require("path");function X(e,r){let t=(0,P.resolve)(e);return{port:L(t),token:V(`${t}:${r}`)}}function L(e){let r=2166136261;for(let t=0;t<e.length;t++)r^=e.charCodeAt(t),r=Math.imul(r,16777619);return 4e4+(r>>>0)%2e4}function V(e){let r=2166136261;for(let t=0;t<e.length;t++)r^=e.charCodeAt(t),r=Math.imul(r,16777619);return(r>>>0).toString(36)}var h=require("path"),M=require("url");function j(e,r){let t=r??(0,h.dirname)((0,M.fileURLToPath)(e)),a=r?".cjs":e.endsWith(".ts")?".ts":".js";return(0,h.resolve)(t,`next-loader${a}`)}var U={},I=J(),x=j(U.url,I);function O(e,r={}){if(r.classNameAllocator)throw new Error("withCSSX cannot serialize classNameAllocator across Next.js compiler workers.");let t=process.cwd();if(!Z(t))throw new Error("withCSSX requires an App Router root layout at app/layout.{js,jsx,ts,tsx} or src/app/layout.{js,jsx,ts,tsx}.");let a=(0,d.resolve)(t,r.manifestPath??".cssx/classnames.json"),n={...r,naming:r.naming??(r.stableClassNames?"source":"serial"),coordination:r.coordination??(r.stableClassNames?"memory":"manifest"),...!r.stableClassNames||r.coordination==="manifest"?{manifestPath:a}:{}};k(n);let w=s=>{let i=(0,d.resolve)(t,".cssx/next.css"),C=n.mode===void 0?process.env.NODE_ENV!=="production":n.mode==="development",c=C&&process.env.NODE_ENV!=="test"?X(t,i):void 0;c&&import("@cssxio/unplugin/internal/development-runtime").then(o=>(o.startNextDevelopmentServer(t,i),o.startDevelopmentCoordinator(t,i,E(n),c))).catch(o=>{console.warn(`CSSX: Next development coordinator could not start: ${String(o)}`)});let f={...n};delete f.classNameAllocator,delete f.coordination,delete f.manifestPath;let p={projectRoot:t,styleSheetFile:i,importSource:n.importSource??"@cssxio/cssx",manifestPath:a,development:C,cssx:f,...c?{developmentHmr:c}:{},...n.mdx?{mdx:n.mdx}:{}},b=s.webpack;s.webpack=(o,D)=>{let l=b?b(o,D):o;if(typeof l.then=="function")throw new Error("withCSSX requires a synchronous Next.js webpack callback; Next.js does not await webpack hooks.");return l.module??={rules:[]},l.module.rules??=[],l.module.rules.push({test:/\.(?:[cm]?[jt]sx?)$/,include:[t,...(r.sourceRoots??[]).map(y=>(0,d.resolve)(t,y))],enforce:"pre",use:[{loader:x,options:p}]}),l.module.rules.push({test:/\.(?:md|mdx)$/,include:[t,...(r.sourceRoots??[]).map(y=>(0,d.resolve)(t,y))],type:"javascript/auto",use:[{loader:x,options:p}]}),l};let S=s.turbopack??{},u={...S.rules??{}};for(let o of["*.js","*.jsx","*.ts","*.tsx"]){if(u[o])throw new Error(`withCSSX owns turbopack.rules["${o}"]; merge the CSSX loader into that rule explicitly.`);u[o]={loaders:[{loader:x,options:p}]}}for(let o of["*.md","*.mdx"]){if(u[o])throw new Error(`withCSSX owns turbopack.rules["${o}"]; configure MDX through the CSSX mdx option.`);u[o]={loaders:[{loader:x,options:p}],as:"*.js"}}s.turbopack={...S,rules:u};let R=Array.isArray(s.pageExtensions)?s.pageExtensions:["js","jsx","ts","tsx"];return s.pageExtensions=[...new Set([...R,"md","mdx"])],s};return typeof e=="function"?async(s,i)=>w(await e(s,i)):w(e)}var A=O;function Z(e){let r=["js","jsx","ts","tsx"];return["app","src/app"].some(t=>r.some(a=>(0,F.existsSync)((0,d.resolve)(e,t,`layout.${a}`))))}function J(){return typeof __dirname=="string"?__dirname:void 0}0&&(module.exports={withCSSX});
|
package/dist/next.d.cts
CHANGED
package/dist/next.d.ts
CHANGED
package/dist/next.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{a as N}from"./chunk-NTKLI2V7.js";import{a as k,i as y}from"./chunk-GPHROS5Y.js";import{existsSync as R}from"fs";import{resolve as l}from"path";import{dirname as b,resolve as P}from"path";import{fileURLToPath as E}from"url";function S(r,e){let t=e??b(E(r)),i=e?".cjs":r.endsWith(".ts")?".ts":".js";return P(t,`next-loader${i}`)}var X=F(),x=S(import.meta.url,X);function D(r,e={}){if(e.classNameAllocator)throw new Error("withCSSX cannot serialize classNameAllocator across Next.js compiler workers.");let t=process.cwd();if(!$(t))throw new Error("withCSSX requires an App Router root layout at app/layout.{js,jsx,ts,tsx} or src/app/layout.{js,jsx,ts,tsx}.");let i=l(t,e.manifestPath??".cssx/classnames.json"),s={...e,naming:e.naming??(e.stableClassNames?"source":"serial"),coordination:e.coordination??(e.stableClassNames?"memory":"manifest"),...!e.stableClassNames||e.coordination==="manifest"?{manifestPath:i}:{}};k(s);let g=n=>{let a=l(t,".cssx/next.css"),w=s.mode===void 0?process.env.NODE_ENV!=="production":s.mode==="development",p=w&&process.env.NODE_ENV!=="test"?N(t,a):void 0;p&&import("@cssxio/unplugin/internal/development-runtime").then(o=>(o.startNextDevelopmentServer(t,a),o.startDevelopmentCoordinator(t,a,y(s),p))).catch(o=>{console.warn(`CSSX: Next development coordinator could not start: ${String(o)}`)});let m={...s};delete m.classNameAllocator,delete m.coordination,delete m.manifestPath;let d={projectRoot:t,styleSheetFile:a,importSource:s.importSource??"@cssxio/cssx",manifestPath:i,development:w,cssx:m,...p?{developmentHmr:p}:{},...s.mdx?{mdx:s.mdx}:{}},C=n.webpack;n.webpack=(o,j)=>{let c=C?C(o,j):o;if(typeof c.then=="function")throw new Error("withCSSX requires a synchronous Next.js webpack callback; Next.js does not await webpack hooks.");return c.module??={rules:[]},c.module.rules??=[],c.module.rules.push({test:/\.(?:[cm]?[jt]sx?)$/,include:[t,...(e.sourceRoots??[]).map(f=>l(t,f))],enforce:"pre",use:[{loader:x,options:d}]}),c.module.rules.push({test:/\.(?:md|mdx)$/,include:[t,...(e.sourceRoots??[]).map(f=>l(t,f))],type:"javascript/auto",use:[{loader:x,options:d}]}),c};let h=n.turbopack??{},u={...h.rules??{}};for(let o of["*.js","*.jsx","*.ts","*.tsx"]){if(u[o])throw new Error(`withCSSX owns turbopack.rules["${o}"]; merge the CSSX loader into that rule explicitly.`);u[o]={loaders:[{loader:x,options:d}]}}for(let o of["*.md","*.mdx"]){if(u[o])throw new Error(`withCSSX owns turbopack.rules["${o}"]; configure MDX through the CSSX mdx option.`);u[o]={loaders:[{loader:x,options:d}],as:"*.js"}}n.turbopack={...h,rules:u};let v=Array.isArray(n.pageExtensions)?n.pageExtensions:["js","jsx","ts","tsx"];return n.pageExtensions=[...new Set([...v,"md","mdx"])],n};return typeof r=="function"?async(n,a)=>g(await r(n,a)):g(r)}var A=D;function $(r){let e=["js","jsx","ts","tsx"];return["app","src/app"].some(t=>e.some(i=>R(l(r,t,`layout.${i}`))))}function F(){return typeof __dirname=="string"?__dirname:void 0}export{A as default,D as withCSSX};
|
|
@@ -13,6 +13,8 @@ interface CssxNextMdxOptions {
|
|
|
13
13
|
|
|
14
14
|
/** Options for a CSSX bundler adapter. */
|
|
15
15
|
interface CssxPluginOptions {
|
|
16
|
+
/** Selects development HMR output or optimized production output explicitly. */
|
|
17
|
+
readonly mode?: 'development' | 'production';
|
|
16
18
|
/** Module specifier that identifies source files using the CSSX runtime. */
|
|
17
19
|
readonly importSource?: string;
|
|
18
20
|
/** Relative output path for extracted CSS. The default is `cssx.css`. */
|
|
@@ -47,6 +49,8 @@ interface CssxPluginOptions {
|
|
|
47
49
|
};
|
|
48
50
|
/** Uses source-addressed composite class names across independent compiler processes. */
|
|
49
51
|
readonly stableClassNames?: boolean;
|
|
52
|
+
/** Selects development composite identities independent of utility literal lengths. */
|
|
53
|
+
readonly stableClassNameStrategy?: 'source-location' | 'module-order';
|
|
50
54
|
/** Activates `dark` variants with a media query, `[data-theme=dark]`, or a `.dark` class. */
|
|
51
55
|
readonly darkMode?: DarkMode;
|
|
52
56
|
/** Adds browser baseline rules before generated utilities. Defaults to `true`. */
|
|
@@ -13,6 +13,8 @@ interface CssxNextMdxOptions {
|
|
|
13
13
|
|
|
14
14
|
/** Options for a CSSX bundler adapter. */
|
|
15
15
|
interface CssxPluginOptions {
|
|
16
|
+
/** Selects development HMR output or optimized production output explicitly. */
|
|
17
|
+
readonly mode?: 'development' | 'production';
|
|
16
18
|
/** Module specifier that identifies source files using the CSSX runtime. */
|
|
17
19
|
readonly importSource?: string;
|
|
18
20
|
/** Relative output path for extracted CSS. The default is `cssx.css`. */
|
|
@@ -47,6 +49,8 @@ interface CssxPluginOptions {
|
|
|
47
49
|
};
|
|
48
50
|
/** Uses source-addressed composite class names across independent compiler processes. */
|
|
49
51
|
readonly stableClassNames?: boolean;
|
|
52
|
+
/** Selects development composite identities independent of utility literal lengths. */
|
|
53
|
+
readonly stableClassNameStrategy?: 'source-location' | 'module-order';
|
|
50
54
|
/** Activates `dark` variants with a media query, `[data-theme=dark]`, or a `.dark` class. */
|
|
51
55
|
readonly darkMode?: DarkMode;
|
|
52
56
|
/** Adds browser baseline rules before generated utilities. Defaults to `true`. */
|