@empjs/plugin-lightningcss 3.0.0-rc.12 → 3.0.0-rc.14

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.js CHANGED
@@ -1 +1 @@
1
- var R=Object.defineProperty;var C=(i,e)=>()=>(i&&(e=i(i=0)),e);var T=(i,e)=>{for(var t in e)R(i,t,{get:e[t],enumerable:!0})};var g={};T(g,{LightningCSSMinifyPlugin:()=>c,default:()=>E});import{Buffer as A}from"node:buffer";import{transform as _}from"lightningcss";var p,P,c,E,x=C(()=>{"use strict";p="lightningcss-minify-plugin",P=/\.css(?:\?.*)?$/i,c=class{options;transform;constructor(e={}){let{implementation:t}=e;if(t&&typeof t.transform!="function")throw new TypeError(`[${p}]: implementation.transform must be an 'lightningcss' transform function. Received ${typeof t.transform}`);this.transform=t?.transform??_,this.options=e}apply(e){e.hooks.compilation.tap(p,t=>{t.hooks.processAssets.tapPromise({name:p,stage:t?.PROCESS_ASSETS_STAGE_OPTIMIZE_SIZE},async()=>await this.transformAssets(t)),t.hooks.statsPrinter.tap(p,s=>{s.hooks.print.for("asset.info.minimized").tap(p,(o,{green:n,formatFlag:r})=>o&&n&&r?n(r("minimized")):"")})})}async transformAssets(e){let{options:{devtool:t},webpack:{sources:{SourceMapSource:s,RawSource:o}}}=e.compiler,n=this.options.sourceMap===void 0?t&&t.includes("source-map"):this.options.sourceMap,{targets:r,...m}=this.options,u=e.getAssets().filter(a=>!a.info.minimized&&P.test(a.name));await Promise.all(u.map(async a=>{let{source:l,map:S}=a.source.sourceAndMap(),w=l.toString(),V=typeof l=="string"?A.from(l):l,d=this.transform({filename:a.name,code:V,minify:!0,sourceMap:n,...m}),h=d.code.toString();e.updateAsset(a.name,n?new s(h,a.name,JSON.parse(d.map.toString()),w,S,!0):new o(h),{...a.info,minimized:!0})}))}},E=c});import{composeVisitors as Z}from"lightningcss";import O from"browserslist";import{browserslistToTargets as L}from"lightningcss";var M=async(i,e)=>{if(e?.transform===!1)return;let{importResolve:t,chain:s}=i,o=["sass","less","css"],n=e?.transform||{},m={targets:L(O(i.empConfig.build.browserslist)),...n};for(let u of o){let a=s.module.rule(u),l=a.use("lightningcss").loader(t("./loader.cjs",import.meta.url)).options(m);["sass","less"].includes(u)&&l.before(`${u}Loader`),a.uses.delete("postcss")}},I=async(i,e)=>{if(e?.minify===!1)return;let{chain:t}=i,s=e?.minify||{},{LightningCSSMinifyPlugin:o}=await Promise.resolve().then(()=>(x(),g));t.optimization.minimizer("minCss").use(o,[s])},U=i=>({name:"@empjs/plugin-lightningcss",async rsConfig(e){await Promise.all([M(e,i),I(e,i)])}}),b=U;import{composeVisitors as k}from"lightningcss";var y=class{skipSelector=!1;skipVal=!1;isExclude;isDebug=!1;op={designWidth:320,minPixelValue:1,excludeSelectors:[],transformUnit:"",excludeUnit:"ipx",rootValue:16};debug(...e){this.isDebug&&console.log(...e)}Selector=e=>{this.skipSelector=!1;for(let t of e)this.isExclude(t)&&(this.skipSelector=!0)};Token={dimension:e=>{if(this.debug("dimension",e),this.skipVal=!1,e.unit===this.op.excludeUnit)return this.skipVal=!0,{type:"length",value:{unit:"px",value:e.value}}}};Length=e=>{this.debug(e,"skipVal",this.skipVal,"skipSelector",this.skipSelector);let t={unit:"px",value:e.value};if(e.unit==="px"&&!this.skipSelector){if(Math.abs(e.value)>this.op.minPixelValue&&!this.skipVal)switch(this.op.transformUnit){case"rem":t={unit:"rem",value:e.value/this.op.rootValue};break;case"vw":t={unit:"vw",value:e.value/this.op.designWidth*100};break;default:break}return this.skipVal=!1,t}else this.skipVal=!1};pxToRem(e={}){return this.op.transformUnit="rem",this.op=Object.assign(this.op,e),this.isExclude=this.excludeFilter(this.op.excludeSelectors),{Selector:this.Selector,Token:this.Token,Length:this.Length}}pxToVw(e){return this.op.transformUnit="vw",this.op=Object.assign(this.op,e),this.isExclude=this.excludeFilter(this.op.excludeSelectors),{Selector:this.Selector,Token:this.Token,Length:this.Length}}excludeFilter(e){return s=>{if(this.debug(s,e),!s.name)return!1;for(let o of e)if(s.type===o.type&&(typeof o.name=="string"&&o.name===s.name||typeof o.name=="object"&&o.name.test(s.name)))return!0;return!1}}},f=new y;var v=class{px_to_rem(e){return k([f.pxToRem(e)])}pxtorem=this.px_to_rem;pxtovw=this.px_to_viewport;px_to_viewport(e){return k([f.pxToVw(e)])}apply(e){return e=e||new Map,{Rule:{style(t){for(let s of t.value.selectors)if(s.length===1&&s[0].type==="type"&&s[0].name.startsWith("--"))return e.set(s[0].name,t.value.declarations),{type:"ignored",value:null};return t.value.rules=t.value.rules.filter(s=>{if(s.type==="unknown"&&s.value.name==="apply"){for(let o of s.value.prelude)if(o.type==="dashed-ident"&&e.has(o.value)){let n=e.get(o.value),r=t.value.declarations;r.declarations.push(...n.declarations),r.importantDeclarations.push(...n.importantDeclarations)}return!1}return!0}),t}}}}selector_prefix(){return{Selector(e){return[{type:"class",name:"prefix"},{type:"combinator",value:"descendant"},...e]}}}static_vars(e){return e=e||new Map,{Rule:{unknown(t){return e.set(t.name,t.prelude),[]}},Token:{"at-keyword"(t){if(e.has(t.value))return e.get(t.value)}}}}url(e){return{Url(t){return t.url=e+t.url,t}}}specific_environment_variables(e){let t={};for(let s in e)t[s]=()=>e[s];return{EnvironmentVariable:t}}env_function(e){return{EnvironmentVariable(t){if(t.name.type==="custom")return e[t.name.ident]}}}design_tokens(e){return{Function:{"design-token"(t){if(t.arguments.length===1&&t.arguments[0].type==="token"&&t.arguments[0].value.type==="string")return e[t.arguments[0].value.value]}}}}custom_units(){return{Token:{dimension(e){if(e.unit.startsWith("--"))return{type:"function",value:{name:"calc",arguments:[{type:"token",value:{type:"number",value:e.value}},{type:"token",value:{type:"delim",value:"*"}},{type:"var",value:{name:{ident:e.unit}}}]}}}}}}property_lookup(){return{Rule:{style(e){let t=new Map;for(let s of e.value.declarations.declarations){let o=s.property;s.property==="unparsed"&&(o=s.value.propertyId.property),t.set(o,s)}return e.value.declarations.declarations=e.value.declarations.declarations.map(s=>{if(s.property==="unparsed"&&s.value.value.length===1){let o=s.value.value[0];if(o.type==="token"&&o.value.type==="at-keyword"&&t.has(o.value.value)){let n=t.get(o.value.value);return{property:s.value.propertyId.property,value:n.value}}}return s}),e}}}}focus_visible(){return{Rule:{style(e){let t=null;for(let s of e.value.selectors)for(let[o,n]of s.entries())n.type==="pseudo-class"&&n.kind==="focus-visible"&&(t==null&&(t=[...e.value.selectors.map(r=>[...r])]),s[o]={type:"class",name:"focus-visible"});if(t)return[e,{type:"style",value:{...e.value,selectors:t}}]}}}}dark_theme_class(){return{Rule:{media(e){let t=e.value.query.mediaQueries[0];if(t.condition?.type==="feature"&&t.condition.value.type==="plain"&&t.condition.value.name==="prefers-color-scheme"&&t.condition.value.value.value==="dark"){let s=[e];for(let o of e.value.rules)if(o.type==="style"){let n=[];for(let r of o.value.selectors)n.push([{type:"type",name:"html"},{type:"attribute",name:"theme",operation:{operator:"equal",value:"dark"}},{type:"combinator",value:"descendant"},...r]),r.unshift({type:"type",name:"html"},{type:"pseudo-class",kind:"not",selectors:[[{type:"attribute",name:"theme",operation:{operator:"equal",value:"light"}}]]},{type:"combinator",value:"descendant"});s.push({type:"style",value:{...o.value,selectors:n}})}return s}}}}}fix_100vh(){return{Rule:{style(e){let t;for(let s of e.value.declarations.declarations)s.property==="height"&&s.value.type==="length-percentage"&&s.value.value.type==="dimension"&&s.value.value.value.unit==="vh"&&s.value.value.value.value===100&&(t||(t=structuredClone(e),t.value.declarations.declarations=[]),t.value.declarations.declarations.push({...s,value:{type:"stretch",vendorPrefix:["webkit"]}}));if(t)return[e,{type:"supports",value:{condition:{type:"declaration",propertyId:{property:"-webkit-touch-callout"},value:"none"},loc:e.value.loc,rules:[t]}}]}}}}logical_transforms(){return{Rule:{style(e){let t;for(let s of e.value.declarations.declarations)if(s.property==="transform"){let o=s.value.map(n=>{if(n.type!=="translateX")return n;t||(t=structuredClone(e),t.value.declarations.declarations=[]);let r;switch(n.value.type){case"dimension":r={type:"dimension",value:{unit:n.value.value.unit,value:-n.value.value.value}};break;case"percentage":r={type:"percentage",value:-n.value.value};break;case"calc":r={type:"calc",value:{type:"product",value:[-1,n.value.value]}};break}return{type:"translateX",value:r}});t&&(t.value.selectors.at(-1).push({type:"pseudo-class",kind:"dir",direction:"rtl"}),t.value.declarations.declarations.push({...s,value:o}))}if(t)return[e,t]}}}}hover_media_query(){return{Rule:{media(e){let t=e.value.query.mediaQueries;if(t.length===1&&t[0].condition&&t[0].condition.type==="feature"&&t[0].condition.value.type==="boolean"&&t[0].condition.value.name==="hover"){for(let s of e.value.rules)if(s.type==="style")for(let o of s.value.selectors)o.unshift({type:"class",name:"hoverable"},{type:"combinator",value:"descendant"});return e.value.rules}}}}}momentum_scrolling(e){return{Declaration:{overflow:e,"overflow-x":e,"overflow-y":e}}}size(){return{Declaration:{custom:{size(e){if(e.value[0].type==="length"){let t={type:"length-percentage",value:{type:"dimension",value:e.value[0].value}};return[{property:"width",value:t},{property:"height",value:t}]}}}}}}},z=new v;var K=b;export{Z as composeVisitors,K as default,z as postcss};
1
+ var R=Object.defineProperty;var C=(r,e)=>()=>(r&&(e=r(r=0)),e);var _=(r,e)=>{for(var t in e)R(r,t,{get:e[t],enumerable:!0})};var g={};_(g,{LightningCSSMinifyPlugin:()=>m,default:()=>P});import{Buffer as A}from"node:buffer";import{transform as O}from"lightningcss";var u,T,m,P,x=C(()=>{"use strict";u="lightningcss-minify-plugin",T=/\.css(?:\?.*)?$/i,m=class{options;transform;constructor(e={}){let{implementation:t}=e;if(t&&typeof t.transform!="function")throw new TypeError(`[${u}]: implementation.transform must be an 'lightningcss' transform function. Received ${typeof t.transform}`);this.transform=t?.transform??O,this.options=e}apply(e){e.hooks.compilation.tap(u,t=>{t.hooks.processAssets.tapPromise({name:u,stage:t?.PROCESS_ASSETS_STAGE_OPTIMIZE_SIZE},async()=>await this.transformAssets(t)),t.hooks.statsPrinter.tap(u,s=>{s.hooks.print.for("asset.info.minimized").tap(u,(n,{green:o,formatFlag:i})=>n&&o&&i?o(i("minimized")):"")})})}async transformAssets(e){let{options:{devtool:t},webpack:{sources:{SourceMapSource:s,RawSource:n}}}=e.compiler,o=this.options.sourceMap===void 0?t&&t.includes("source-map"):this.options.sourceMap,{targets:i,...l}=this.options,p=e.getAssets().filter(a=>!a.info.minimized&&T.test(a.name));await Promise.all(p.map(async a=>{let{source:c,map:S}=a.source.sourceAndMap(),V=c.toString(),w=typeof c=="string"?A.from(c):c,d=this.transform({filename:a.name,code:w,minify:!0,sourceMap:o,...l}),h=d.code.toString();e.updateAsset(a.name,o?new s(h,a.name,JSON.parse(d.map.toString()),V,S,!0):new n(h),{...a.info,minimized:!0})}))}},P=m});import{composeVisitors as Z}from"lightningcss";import E from"browserslist";import{browserslistToTargets as L}from"lightningcss";var M=async(r,e={})=>{if(!e.transform)return;e.transform=typeof e.transform!="boolean"?e.transform:{};let{importResolve:t,chain:s}=r,n=["sass","less","css"],i={targets:L(E(r.empConfig.build.browserslist)),...e.transform};for(let l of n){let p=s.module.rule(l),a=p.use("lightningcss").loader(t("./loader.cjs",import.meta.url)).options(i);["sass","less"].includes(l)&&a.before(`${l}Loader`),p.uses.delete("postcss")}},I=async(r,e={})=>{if(!e.minify)return;e.minify=typeof e.minify!="boolean"?e.minify:{};let{chain:t}=r,{LightningCSSMinifyPlugin:s}=await Promise.resolve().then(()=>(x(),g));t.optimization.minimizer("minCss").use(s,[e.minify])},U=(r={})=>(r.transform&&typeof r.minify>"u"&&(r.minify=!0),{name:"@empjs/plugin-lightningcss",async rsConfig(e){await Promise.all([M(e,r),I(e,r)])}}),b=U;import{composeVisitors as k}from"lightningcss";var f=class{skipSelector=!1;skipVal=!1;isExclude;isDebug=!1;op={designWidth:320,minPixelValue:1,excludeSelectors:[],transformUnit:"",excludeUnit:"ipx",rootValue:16};debug(...e){this.isDebug&&console.log(...e)}Selector=e=>{this.skipSelector=!1;for(let t of e)this.isExclude(t)&&(this.skipSelector=!0)};Token={dimension:e=>{if(this.debug("dimension",e),this.skipVal=!1,e.unit===this.op.excludeUnit)return this.skipVal=!0,{type:"length",value:{unit:"px",value:e.value}}}};Length=e=>{this.debug(e,"skipVal",this.skipVal,"skipSelector",this.skipSelector);let t={unit:"px",value:e.value};if(e.unit==="px"&&!this.skipSelector){if(Math.abs(e.value)>this.op.minPixelValue&&!this.skipVal)switch(this.op.transformUnit){case"rem":t={unit:"rem",value:e.value/this.op.rootValue};break;case"vw":t={unit:"vw",value:e.value/this.op.designWidth*100};break;default:break}return this.skipVal=!1,t}else this.skipVal=!1};pxToRem(e={}){return this.op.transformUnit="rem",this.op=Object.assign(this.op,e),this.isExclude=this.excludeFilter(this.op.excludeSelectors),{Selector:this.Selector,Token:this.Token,Length:this.Length}}pxToVw(e={}){return this.op.transformUnit="vw",this.op=Object.assign(this.op,e),this.isExclude=this.excludeFilter(this.op.excludeSelectors),{Selector:this.Selector,Token:this.Token,Length:this.Length}}excludeFilter(e){return s=>{if(this.debug(s,e),!s.name)return!1;for(let n of e)if(s.type===n.type&&(typeof n.name=="string"&&n.name===s.name||typeof n.name=="object"&&n.name.test(s.name)))return!0;return!1}}},y=new f;var v=class{px_to_rem(e={}){return k([y.pxToRem(e)])}pxtorem=this.px_to_rem;pxtovw=this.px_to_viewport;px_to_viewport(e={}){return k([y.pxToVw(e)])}apply(e){return e=e||new Map,{Rule:{style(t){for(let s of t.value.selectors)if(s.length===1&&s[0].type==="type"&&s[0].name.startsWith("--"))return e.set(s[0].name,t.value.declarations),{type:"ignored",value:null};return t.value.rules=t.value.rules.filter(s=>{if(s.type==="unknown"&&s.value.name==="apply"){for(let n of s.value.prelude)if(n.type==="dashed-ident"&&e.has(n.value)){let o=e.get(n.value),i=t.value.declarations;i.declarations.push(...o.declarations),i.importantDeclarations.push(...o.importantDeclarations)}return!1}return!0}),t}}}}selector_prefix(){return{Selector(e){return[{type:"class",name:"prefix"},{type:"combinator",value:"descendant"},...e]}}}static_vars(e){return e=e||new Map,{Rule:{unknown(t){return e.set(t.name,t.prelude),[]}},Token:{"at-keyword"(t){if(e.has(t.value))return e.get(t.value)}}}}url(e){return{Url(t){return t.url=e+t.url,t}}}specific_environment_variables(e){let t={};for(let s in e)t[s]=()=>e[s];return{EnvironmentVariable:t}}env_function(e){return{EnvironmentVariable(t){if(t.name.type==="custom")return e[t.name.ident]}}}design_tokens(e){return{Function:{"design-token"(t){if(t.arguments.length===1&&t.arguments[0].type==="token"&&t.arguments[0].value.type==="string")return e[t.arguments[0].value.value]}}}}custom_units(){return{Token:{dimension(e){if(e.unit.startsWith("--"))return{type:"function",value:{name:"calc",arguments:[{type:"token",value:{type:"number",value:e.value}},{type:"token",value:{type:"delim",value:"*"}},{type:"var",value:{name:{ident:e.unit}}}]}}}}}}property_lookup(){return{Rule:{style(e){let t=new Map;for(let s of e.value.declarations.declarations){let n=s.property;s.property==="unparsed"&&(n=s.value.propertyId.property),t.set(n,s)}return e.value.declarations.declarations=e.value.declarations.declarations.map(s=>{if(s.property==="unparsed"&&s.value.value.length===1){let n=s.value.value[0];if(n.type==="token"&&n.value.type==="at-keyword"&&t.has(n.value.value)){let o=t.get(n.value.value);return{property:s.value.propertyId.property,value:o.value}}}return s}),e}}}}focus_visible(){return{Rule:{style(e){let t=null;for(let s of e.value.selectors)for(let[n,o]of s.entries())o.type==="pseudo-class"&&o.kind==="focus-visible"&&(t==null&&(t=[...e.value.selectors.map(i=>[...i])]),s[n]={type:"class",name:"focus-visible"});if(t)return[e,{type:"style",value:{...e.value,selectors:t}}]}}}}dark_theme_class(){return{Rule:{media(e){let t=e.value.query.mediaQueries[0];if(t.condition?.type==="feature"&&t.condition.value.type==="plain"&&t.condition.value.name==="prefers-color-scheme"&&t.condition.value.value.value==="dark"){let s=[e];for(let n of e.value.rules)if(n.type==="style"){let o=[];for(let i of n.value.selectors)o.push([{type:"type",name:"html"},{type:"attribute",name:"theme",operation:{operator:"equal",value:"dark"}},{type:"combinator",value:"descendant"},...i]),i.unshift({type:"type",name:"html"},{type:"pseudo-class",kind:"not",selectors:[[{type:"attribute",name:"theme",operation:{operator:"equal",value:"light"}}]]},{type:"combinator",value:"descendant"});s.push({type:"style",value:{...n.value,selectors:o}})}return s}}}}}fix_100vh(){return{Rule:{style(e){let t;for(let s of e.value.declarations.declarations)s.property==="height"&&s.value.type==="length-percentage"&&s.value.value.type==="dimension"&&s.value.value.value.unit==="vh"&&s.value.value.value.value===100&&(t||(t=structuredClone(e),t.value.declarations.declarations=[]),t.value.declarations.declarations.push({...s,value:{type:"stretch",vendorPrefix:["webkit"]}}));if(t)return[e,{type:"supports",value:{condition:{type:"declaration",propertyId:{property:"-webkit-touch-callout"},value:"none"},loc:e.value.loc,rules:[t]}}]}}}}logical_transforms(){return{Rule:{style(e){let t;for(let s of e.value.declarations.declarations)if(s.property==="transform"){let n=s.value.map(o=>{if(o.type!=="translateX")return o;t||(t=structuredClone(e),t.value.declarations.declarations=[]);let i;switch(o.value.type){case"dimension":i={type:"dimension",value:{unit:o.value.value.unit,value:-o.value.value.value}};break;case"percentage":i={type:"percentage",value:-o.value.value};break;case"calc":i={type:"calc",value:{type:"product",value:[-1,o.value.value]}};break}return{type:"translateX",value:i}});t&&(t.value.selectors.at(-1).push({type:"pseudo-class",kind:"dir",direction:"rtl"}),t.value.declarations.declarations.push({...s,value:n}))}if(t)return[e,t]}}}}hover_media_query(){return{Rule:{media(e){let t=e.value.query.mediaQueries;if(t.length===1&&t[0].condition&&t[0].condition.type==="feature"&&t[0].condition.value.type==="boolean"&&t[0].condition.value.name==="hover"){for(let s of e.value.rules)if(s.type==="style")for(let n of s.value.selectors)n.unshift({type:"class",name:"hoverable"},{type:"combinator",value:"descendant"});return e.value.rules}}}}}momentum_scrolling(e){return{Declaration:{overflow:e,"overflow-x":e,"overflow-y":e}}}size(){return{Declaration:{custom:{size(e){if(e.value[0].type==="length"){let t={type:"length-percentage",value:{type:"dimension",value:e.value[0].value}};return[{property:"width",value:t},{property:"height",value:t}]}}}}}}},j=new v;var K=b;export{Z as composeVisitors,K as default,j as postcss};
package/dist/loader.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var m=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var S=Object.prototype.hasOwnProperty;var l=(n,t)=>{for(var r in t)m(n,r,{get:t[r],enumerable:!0})},h=(n,t,r,e)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of y(t))!S.call(n,o)&&o!==r&&m(n,o,{get:()=>t[o],enumerable:!(e=d(t,o))||e.enumerable});return n};var L=n=>h(m({},"__esModule",{value:!0}),n);var v={};l(v,{default:()=>R});module.exports=L(v);var c=require("node:buffer"),s=require("lightningcss"),O="lightningcss-loader";async function C(n,t){let r=this.async(),e=this.getOptions(),{implementation:o,targets:f,...i}=e;if(o&&typeof o.transform!="function"){r(new TypeError(`[${O}]: options.implementation.transform must be an 'lightningcss' transform function. Received ${typeof o.transform}`));return}let u=o?.transform??s.transform;i.visitor&&(i.visitor=(0,s.composeVisitors)([i.visitor]));try{let{code:a,map:p}=u({filename:this.resourcePath,code:c.Buffer.from(n),sourceMap:this.sourceMap,targets:f,inputSourceMap:this.sourceMap&&t?JSON.stringify(t):void 0,errorRecovery:typeof e.errorRecovery<"u"?e.errorRecovery:!0,nonStandard:{deepSelectorCombinator:!0},...i}),g=a.toString();r(null,g,p&&JSON.parse(p.toString()))}catch(a){r(a)}}var R=C;
1
+ "use strict";var c=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var S=Object.prototype.hasOwnProperty;var h=(t,o)=>{for(var n in o)c(t,n,{get:o[n],enumerable:!0})},l=(t,o,n,e)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of g(o))!S.call(t,r)&&r!==n&&c(t,r,{get:()=>o[r],enumerable:!(e=y(o,r))||e.enumerable});return t};var L=t=>l(c({},"__esModule",{value:!0}),t);var R={};h(R,{default:()=>O});module.exports=L(R);var p=require("node:buffer"),i=require("lightningcss"),v="lightningcss-loader";async function C(t,o){let n=this.async(),e=this.getOptions(),{implementation:r,targets:m,...s}=e;if(r&&typeof r.transform!="function"){n(new TypeError(`[${v}]: options.implementation.transform must be an 'lightningcss' transform function. Received ${typeof r.transform}`));return}let d=r?.transform??i.transform;s.visitor&&(s.visitor=(0,i.composeVisitors)([s.visitor]));try{let{code:a,map:f}=d({filename:this.resourcePath,code:p.Buffer.from(t),sourceMap:this.sourceMap,targets:m,inputSourceMap:this.sourceMap&&o?JSON.stringify(o):void 0,errorRecovery:typeof e.errorRecovery<"u"?e.errorRecovery:!0,nonStandard:{deepSelectorCombinator:!0},...s}),u=a.toString();n(null,u,f&&JSON.parse(f.toString()))}catch(a){n(a)}}var O=C;
package/dist/loader.d.ts CHANGED
@@ -1,9 +1,4 @@
1
1
  import type { LoaderContext } from '@rspack/core';
2
- import type { CustomAtRules, TransformOptions } from 'lightningcss';
3
- export type LightningCSSTransformOptions = Omit<TransformOptions<CustomAtRules>, 'filename' | 'code' | 'inputSourceMap'>;
4
- type Implementation = unknown;
5
- export type LightningCSSLoaderOptions = LightningCSSTransformOptions & {
6
- implementation?: Implementation;
7
- };
2
+ import type { LightningCSSLoaderOptions } from './types';
8
3
  declare function LightningCSSLoader(this: LoaderContext<LightningCSSLoaderOptions>, source: string, prevMap?: Record<string, any>): Promise<void>;
9
4
  export default LightningCSSLoader;
@@ -1,5 +1,5 @@
1
1
  import type { Compiler } from '@rspack/core';
2
- type LightningCSSMinifyPluginOptions = any;
2
+ import type { LightningCSSMinifyPluginOptions } from './types';
3
3
  export declare class LightningCSSMinifyPlugin {
4
4
  private readonly options;
5
5
  private readonly transform;
package/dist/plugin.d.ts CHANGED
@@ -1,10 +1,6 @@
1
1
  import type { GlobalStore } from '@empjs/cli';
2
- import type { TransformAttributeOptions } from 'lightningcss';
3
- export type PluginLightningCssType = {
4
- transform?: boolean | TransformAttributeOptions;
5
- minify?: boolean | unknown;
6
- };
7
- declare const empLightningcssPlugin: (o?: PluginLightningCssType) => {
2
+ import type { PluginLightningcssOptions } from './types.js';
3
+ declare const empLightningcssPlugin: (o?: PluginLightningcssOptions) => {
8
4
  name: string;
9
5
  rsConfig(store: GlobalStore): Promise<void>;
10
6
  };
@@ -8,13 +8,13 @@ declare class PostcssConfig {
8
8
  /**
9
9
  * https://github.com/cuth/postcss-pxtorem
10
10
  */
11
- px_to_rem(op: remOptions): Visitor<CustomAtRules>;
12
- pxtorem: (op: remOptions) => Visitor<CustomAtRules>;
13
- pxtovw: (op: vwOptions) => Visitor<CustomAtRules>;
11
+ px_to_rem(op?: remOptions): Visitor<CustomAtRules>;
12
+ pxtorem: (op?: remOptions) => Visitor<CustomAtRules>;
13
+ pxtovw: (op?: vwOptions) => Visitor<CustomAtRules>;
14
14
  /**
15
15
  * https://github.com/evrone/postcss-px-to-viewport
16
16
  */
17
- px_to_viewport(op: vwOptions): Visitor<CustomAtRules>;
17
+ px_to_viewport(op?: vwOptions): Visitor<CustomAtRules>;
18
18
  /**
19
19
  * https://www.npmjs.com/package/postcss-apply
20
20
  */
@@ -0,0 +1,41 @@
1
+ import type { CustomAtRules, TransformOptions } from 'lightningcss';
2
+ export type LightningCSSTransformOptions = Omit<TransformOptions<CustomAtRules>, 'filename' | 'code' | 'inputSourceMap'>;
3
+ type Implementation = unknown;
4
+ export type LightningCSSLoaderOptions = LightningCSSTransformOptions & {
5
+ implementation?: Implementation;
6
+ };
7
+ export type LightningCSSMinifyPluginOptions = Omit<LightningCSSTransformOptions, 'minify'> & {
8
+ implementation?: Implementation;
9
+ };
10
+ export type PluginLightningcssOptions = {
11
+ /**
12
+ * @see https://github.com/parcel-bundler/lightningcss/blob/master/node/index.d.ts
13
+ * @default
14
+ * {
15
+ * targets: browserslistToTargets(browserslist)
16
+ * }
17
+ */
18
+ transform?: LightningCSSTransformOptions | boolean;
19
+ /**
20
+ * @see https://github.com/parcel-bundler/lightningcss/blob/master/node/index.d.ts
21
+ * @default
22
+ * {
23
+ * targets: browserslistToTargets(browserslist)
24
+ * }
25
+ */
26
+ minify?: LightningCSSTransformOptions | boolean;
27
+ /**
28
+ * lightningcss instance
29
+ * @example
30
+ * import { pluginLightningcss } from '@rsbuild/plugin-lightningcss';
31
+ * import lightningcss from 'lightningcss';
32
+ * pluginLightningcss({
33
+ * implementation: lightningcss,
34
+ * minify: {
35
+ * exclude: lightningcss.Features.ColorFunction
36
+ * }
37
+ * })
38
+ */
39
+ implementation?: Implementation;
40
+ };
41
+ export {};
@@ -41,7 +41,7 @@ export declare class UnitTramsform {
41
41
  Token: any;
42
42
  Length: ((length: LengthValue) => void | LengthValue) | undefined;
43
43
  };
44
- pxToVw(options: vwOptions): {
44
+ pxToVw(options?: vwOptions): {
45
45
  Selector: (selectors: Selector) => void;
46
46
  Token: any;
47
47
  Length: ((length: LengthValue) => void | LengthValue) | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@empjs/plugin-lightningcss",
3
- "version": "3.0.0-rc.12",
3
+ "version": "3.0.0-rc.14",
4
4
  "description": "emp v3 lightningcss",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",