@visulima/rollup-plugin-css 1.0.0-alpha.55 → 1.0.0-alpha.56

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/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## @visulima/rollup-plugin-css [1.0.0-alpha.56](https://github.com/visulima/packem/compare/%40visulima%2Frollup-plugin-css%401.0.0-alpha.55...%40visulima%2Frollup-plugin-css%401.0.0-alpha.56) (2026-07-16)
2
+
3
+
4
+ ### Dependencies
5
+
6
+ * **@visulima/packem-share:** upgraded to 1.0.0-alpha.52
7
+
1
8
  ## @visulima/rollup-plugin-css [1.0.0-alpha.55](https://github.com/visulima/packem/compare/%40visulima%2Frollup-plugin-css%401.0.0-alpha.54...%40visulima%2Frollup-plugin-css%401.0.0-alpha.55) (2026-07-15)
2
9
 
3
10
 
package/dist/index.d.ts CHANGED
@@ -1,9 +1,7 @@
1
1
  import { Plugin } from 'rollup';
2
- import { h as StyleOptions } from "./packem_shared/types.d-6pp-2OqA.js";
3
- export { A as AutoModules, E as ExtractedData, i as InjectOptions, I as InternalStyleOptions, a as LightningCSSOptions, P as PostCSSConfigLoaderOptions, j as PostCSSOptions } from "./packem_shared/types.d-6pp-2OqA.js";
2
+ import { h as StyleOptions } from "./packem_shared/types.d-naKgtfY0.js";
3
+ export { A as AutoModules, E as ExtractedData, i as InjectOptions, I as InternalStyleOptions, a as LightningCSSOptions, P as PostCSSConfigLoaderOptions, j as PostCSSOptions } from "./packem_shared/types.d-naKgtfY0.js";
4
4
  import { Environment } from '@visulima/packem-share/types';
5
- import '@visulima/packem-share/utils';
6
- import 'source-map-js';
7
5
  import 'cssnano';
8
6
  import 'lightningcss';
9
7
  import 'postcss';
@@ -11,6 +9,8 @@ import 'postcss-load-config';
11
9
  import 'sass';
12
10
  import 'sass-embedded';
13
11
  import 'stylus';
12
+ import '@visulima/packem-share/utils';
13
+ import 'source-map-js';
14
14
  declare const cssModulesTypesPlugin: (options: StyleOptions, rootDirectory: string) => Plugin;
15
15
  declare const cssPlugin: (options: StyleOptions, browserTargets: string[], cwd: string, sourceDirectory: string, environment: Environment, useSourcemap: boolean, debug: boolean, minify: boolean, alias: Record<string, string>) => Plugin;
16
16
  export { StyleOptions, cssModulesTypesPlugin, cssPlugin as rollupCssPlugin };
@@ -1,14 +1,14 @@
1
- import { b as LESSLoaderOptions, L as Loader } from "../../packem_shared/types.d-6pp-2OqA.js";
2
- import '@visulima/packem-share/utils';
3
- import '@visulima/packem-share/types';
4
- import 'rollup';
5
- import 'source-map-js';
1
+ import { b as LESSLoaderOptions, L as Loader } from "../../packem_shared/types.d-naKgtfY0.js";
6
2
  import 'cssnano';
7
3
  import 'lightningcss';
8
4
  import 'postcss';
9
5
  import 'postcss-load-config';
6
+ import '@visulima/packem-share/types';
10
7
  import 'sass';
11
8
  import 'sass-embedded';
12
9
  import 'stylus';
10
+ import '@visulima/packem-share/utils';
11
+ import 'rollup';
12
+ import 'source-map-js';
13
13
  declare const loader: Loader<LESSLoaderOptions>;
14
14
  export { type LESSLoaderOptions, loader as default };
@@ -1,14 +1,14 @@
1
- import { a as LightningCSSOptions, L as Loader } from "../packem_shared/types.d-6pp-2OqA.js";
2
- import '@visulima/packem-share/utils';
3
- import '@visulima/packem-share/types';
4
- import 'rollup';
5
- import 'source-map-js';
1
+ import { a as LightningCSSOptions, L as Loader } from "../packem_shared/types.d-naKgtfY0.js";
6
2
  import 'cssnano';
7
3
  import 'lightningcss';
8
4
  import 'postcss';
9
5
  import 'postcss-load-config';
6
+ import '@visulima/packem-share/types';
10
7
  import 'sass';
11
8
  import 'sass-embedded';
12
9
  import 'stylus';
10
+ import '@visulima/packem-share/utils';
11
+ import 'rollup';
12
+ import 'source-map-js';
13
13
  declare const lightningCSSLoader: Loader<LightningCSSOptions>;
14
14
  export { lightningCSSLoader as default };
@@ -1,3 +1,3 @@
1
- var l=Object.defineProperty;var d=(s,t)=>l(s,"name",{value:t,configurable:!0});import{transform as f}from"lightningcss";import{i as g}from"../packem_shared/browserslist-targets-Bf0-yekJ.js";import{p as h}from"../packem_shared/detect-css-modules-ChgG1piw.js";import{g as u}from"../packem_shared/generate-js-exports-BKVXW192.js";var w=Object.defineProperty,p=d((s,t)=>w(s,"name",{value:t,configurable:!0}),"c");const x=p(([s],[t])=>s<t?-1:s>t?1:0,"compareEntries"),E=p((s,t,n)=>{const o={},i=new Set,a=Object.entries(s).toSorted(x);for(const[r,e]of a){const m=[e.name];for(const c of e.composes)c.type==="local"||c.type==="global"?m.push(c.name):i.add(r);o[r]=m.join(" ")}return i.size>0&&n&&n.warn({message:`lightningcss dropped cross-file \`composes\` for ${[...i].map(r=>`\`${r}\``).join(", ")} in ${t}. The generated class names will be missing the composed names. Use the postcss loader if you rely on cross-file \`composes from "..."\`.`,plugin:"lightningcss"}),o},"normalizeModulesExports"),$={name:"lightningcss",process({code:s,map:t}){const n=h(this.options.modules,this.autoModules,this.id),o=f({...this.options,code:Buffer.from(s),cssModules:this.options.modules??n,filename:this.id,inputSourceMap:t,minify:!1,sourceMap:!!this.sourceMap,targets:g(this.browserTargets)});o.warnings.length>0&&this.logger.warn({message:`warnings when transforming css:
1
+ var l=Object.defineProperty;var d=(s,t)=>l(s,"name",{value:t,configurable:!0});import{transform as f}from"lightningcss";import{i as g}from"../packem_shared/browserslist-targets-Bf0-yekJ.js";import{p as h}from"../packem_shared/detect-css-modules-ChgG1piw.js";import{g as u}from"../packem_shared/generate-js-exports-D0gttLsY.js";var w=Object.defineProperty,p=d((s,t)=>w(s,"name",{value:t,configurable:!0}),"c");const x=p(([s],[t])=>s<t?-1:s>t?1:0,"compareEntries"),E=p((s,t,n)=>{const o={},i=new Set,a=Object.entries(s).toSorted(x);for(const[r,e]of a){const m=[e.name];for(const c of e.composes)c.type==="local"||c.type==="global"?m.push(c.name):i.add(r);o[r]=m.join(" ")}return i.size>0&&n&&n.warn({message:`lightningcss dropped cross-file \`composes\` for ${[...i].map(r=>`\`${r}\``).join(", ")} in ${t}. The generated class names will be missing the composed names. Use the postcss loader if you rely on cross-file \`composes from "..."\`.`,plugin:"lightningcss"}),o},"normalizeModulesExports"),$={name:"lightningcss",process({code:s,map:t}){const n=h(this.options.modules,this.autoModules,this.id),o=f({...this.options,code:Buffer.from(s),cssModules:this.options.modules??n,filename:this.id,inputSourceMap:t,minify:!1,sourceMap:!!this.sourceMap,targets:g(this.browserTargets)});o.warnings.length>0&&this.logger.warn({message:`warnings when transforming css:
2
2
  ${o.warnings.map(m=>m.message).join(`
3
3
  `)}`});const i=o.code.toString(),a=o.map?Buffer.from(o.map).toString():void 0,r=o.exports?E(o.exports,this.id,this.logger):{},e=u({css:i,cwd:this.cwd,dts:this.dts,emit:this.emit,extract:this.extract,icssDependencies:[],id:this.id,inject:this.inject,inline:this.inline,logger:this.logger,map:a,modulesExports:r,namedExports:this.namedExports,supportModules:n});return this.extract?{code:e.code,extracted:{css:i,id:this.id,map:a},map:e.map,meta:e.meta,moduleSideEffects:e.moduleSideEffects}:{code:e.code,map:e.map,meta:e.meta,moduleSideEffects:e.moduleSideEffects}},test:/\.css$/i};export{$ as default};
@@ -1,14 +1,14 @@
1
- import { I as InternalStyleOptions, L as Loader } from "../../packem_shared/types.d-6pp-2OqA.js";
2
- import '@visulima/packem-share/utils';
3
- import '@visulima/packem-share/types';
4
- import 'rollup';
5
- import 'source-map-js';
1
+ import { I as InternalStyleOptions, L as Loader } from "../../packem_shared/types.d-naKgtfY0.js";
6
2
  import 'cssnano';
7
3
  import 'lightningcss';
8
4
  import 'postcss';
9
5
  import 'postcss-load-config';
6
+ import '@visulima/packem-share/types';
10
7
  import 'sass';
11
8
  import 'sass-embedded';
12
9
  import 'stylus';
10
+ import '@visulima/packem-share/utils';
11
+ import 'rollup';
12
+ import 'source-map-js';
13
13
  declare const loader: Loader<NonNullable<InternalStyleOptions["postcss"]>>;
14
14
  export { loader as default };
@@ -1,4 +1,4 @@
1
- var Re=Object.defineProperty;var d=(e,t)=>Re(e,"name",{value:t,configurable:!0});import Ce from"@csstools/postcss-slow-plugins";import{dirname as $,normalize as R,parse as Y,resolve as Ie,basename as L,isAbsolute as Ne,join as Ue}from"@visulima/path";import Le from"postcss";import{p as De}from"../../packem_shared/detect-css-modules-ChgG1piw.js";import{g as ze}from"../../packem_shared/generate-js-exports-BKVXW192.js";import{H as D,m as U,D as Me,F as ae}from"../../packem_shared/sourcemap-DpWa6ejr.js";import{extractICSS as _e,replaceSymbols as We,replaceValueSymbols as qe}from"icss-utils";import{readFile as Te,readFileSync as ue}from"@visulima/fs";import{resolve as K}from"../../packem_shared/resolve-D5Aw9ctO.js";import{isRelative as Fe}from"@visulima/path/utils";import{isWhiteSpaceOrCommentNode as H,isSimpleBlockNode as Ae,SimpleBlockNode as Ge,parseListOfComponentValues as Xe,isTokenNode as T,isFunctionNode as N,stringify as O}from"@csstools/css-parser-algorithms";import{isTokenOpenParen as Be,TokenType as se,tokenize as He,isTokenString as F,isTokenURL as oe,isTokenIdent as Ve}from"@csstools/css-tokenizer";import{stat as Qe}from"node:fs/promises";import{findMonorepoRoot as Je,findPackageRoot as Ye}from"@visulima/package";import Ke from"postcss-load-config";import{ensurePCSSPlugins as Ze,ensurePCSSOption as A}from"../../packem_shared/inferModeOption-D5fRQduB.js";import et from"postcss-modules-extract-imports";import tt from"postcss-modules-local-by-default";import it from"postcss-modules-scope";import at from"postcss-modules-values";import{makeLegalIdentifier as st}from"@rollup/pluginutils";import{getHash as de}from"@visulima/packem-share/utils";import z from"postcss-value-parser";var ot=Object.defineProperty,nt=d((e,t)=>ot(e,"name",{value:t,configurable:!0}),"i$5");const rt=nt(async(e,t,i,a,s)=>{const o=K([e,`./${e}`],{baseDirs:[$(t)],caller:"ICSS loader",extensions:i}),p=await Te(o),{messages:l}=await a.process(p,{...s,from:o}),c={};for(const n of l)n.type==="icss"&&Object.assign(c,n.export);return c},"load");var pt=Object.defineProperty,lt=d((e,t)=>pt(e,"name",{value:t,configurable:!0}),"t$3");const ct=lt(async(e,t,i,a,s,o)=>{const p={};for(const[l,c]of Object.entries(e)){const n=await t(l,i,a,s,o);for(const[r,m]of Object.entries(c))p[r]=n[m]}return p},"resolve");var mt=Object.defineProperty,ut=d((e,t)=>mt(e,"name",{value:t,configurable:!0}),"c$6");const G="styles-icss",dt=[".css",".pcss",".postcss",".sss"],fe=ut(e=>{const t=e?.load??rt,i=e?.extensions??dt;return{async OnceExit(a,{result:s}){if(!a.source?.input.file)return;const o={...s.opts,map:void 0},{icssExports:p,icssImports:l}=_e(a),c=await ct(l,t,a.source.input.file,i,s.processor,o);We(a,c);for(const[n,r]of Object.entries(p))s.messages.push({export:{[n]:qe(r,c)},plugin:G,type:"icss"});for(const n of Object.keys(l))s.messages.push({import:n,plugin:G,type:"icss-dependency"})},postcssPlugin:G}},"plugin");fe.postcss=!0;var ft=Object.defineProperty,gt=d((e,t)=>ft(e,"name",{value:t,configurable:!0}),"t$2");const V=gt((e,t,i,a)=>{const s=[];if(e!==void 0){let o="layer";e&&(o=`layer(${e})`),s.push(o)}return i!==void 0&&s.push(`supports(${i})`),a!==void 0&&s.push(`scope(${a})`),t!==void 0&&s.push(t),s.join(" ")},"formatImportPrelude");var xt=Object.defineProperty,ht=d((e,t)=>xt(e,"name",{value:t,configurable:!0}),"p$6");const vt=ht((e,t)=>{t.reverse();const i=t.pop();if(!i)return e;let a=`${e} ${V(i.layer,i.media,i.supports,i.scope)}`;for(const s of t)a=`'data:text/css;base64,${Buffer.from(`@import ${a}`).toString("base64")}' ${V(s.layer,s.media,s.supports,s.scope)}`;return a},"base64EncodedConditionalImport");var yt=Object.defineProperty,_=d((e,t)=>yt(e,"name",{value:t,configurable:!0}),"e$1");const bt=_(e=>e.type==="warning","isWarning"),Q=_(e=>e.type==="nodes","isNodesStatement"),M=_(e=>e.type==="import","isImportStatement"),wt=_(e=>e.type==="pre-import","isPreImportStatement");var $t=Object.defineProperty,jt=d((e,t)=>$t(e,"name",{value:t,configurable:!0}),"u$2");const kt=jt((e,t)=>{e.statements.forEach((i,a)=>{if(bt(i)||wt(i)||i.conditions.length===0)return;if(M(i)){i.node.params=vt(i.fullUri,i.conditions);return}const{nodes:s}=i;if(s.length===0)return;const{parent:o}=s[0];if(!o)return;const p=[];for(const n of i.conditions){if(n.media!==void 0){const r=t({name:"media",params:n.media,source:i.importingNode?.source??o.source});p.push(r)}if(n.scope!==void 0){const r=t({name:"scope",params:n.scope,source:i.importingNode?.source??o.source});p.push(r)}if(n.supports!==void 0){const r=t({name:"supports",params:`(${n.supports})`,source:i.importingNode?.source??o.source});p.push(r)}if(n.layer!==void 0){const r=t({name:"layer",params:n.layer,source:i.importingNode?.source??o.source});p.push(r)}}const l=p[0];if(!l)return;for(let n=0;n<p.length-1;n++)p[n].append(p[n+1]);const c=p.at(-1);o.insertBefore(s[0],l),s.forEach(n=>{n.parent=void 0}),c.append(s),e.statements[a]={conditions:i.conditions,from:i.from,importingNode:i.importingNode,nodes:[l],type:"nodes"}})},"applyConditions");var St=Object.defineProperty,Pt=d((e,t)=>St(e,"name",{value:t,configurable:!0}),"r$4");const Ot=Pt(e=>{e.statements.forEach((t,i)=>{if(i!==0)if(t.parent!==void 0){const a=t.parent,{raws:s}=a.node,{before:o}=s;Q(t)?t.nodes[0].raws.before=o:t.node.raws.before=o}else Q(t)&&(t.nodes[0].raws.before=t.nodes[0].raws.before??`
1
+ var Re=Object.defineProperty;var d=(e,t)=>Re(e,"name",{value:t,configurable:!0});import Ce from"@csstools/postcss-slow-plugins";import{dirname as $,normalize as R,parse as Y,resolve as Ie,basename as L,isAbsolute as Ne,join as Ue}from"@visulima/path";import Le from"postcss";import{p as De}from"../../packem_shared/detect-css-modules-ChgG1piw.js";import{g as ze}from"../../packem_shared/generate-js-exports-D0gttLsY.js";import{H as D,m as U,D as Me,F as ae}from"../../packem_shared/sourcemap-DpWa6ejr.js";import{extractICSS as _e,replaceSymbols as We,replaceValueSymbols as qe}from"icss-utils";import{readFile as Te,readFileSync as ue}from"@visulima/fs";import{resolve as K}from"../../packem_shared/resolve-D5Aw9ctO.js";import{isRelative as Fe}from"@visulima/path/utils";import{isWhiteSpaceOrCommentNode as H,isSimpleBlockNode as Ae,SimpleBlockNode as Ge,parseListOfComponentValues as Xe,isTokenNode as T,isFunctionNode as N,stringify as O}from"@csstools/css-parser-algorithms";import{isTokenOpenParen as Be,TokenType as se,tokenize as He,isTokenString as F,isTokenURL as oe,isTokenIdent as Ve}from"@csstools/css-tokenizer";import{stat as Qe}from"node:fs/promises";import{findMonorepoRoot as Je,findPackageRoot as Ye}from"@visulima/package";import Ke from"postcss-load-config";import{ensurePCSSPlugins as Ze,ensurePCSSOption as A}from"../../packem_shared/inferModeOption-D5fRQduB.js";import et from"postcss-modules-extract-imports";import tt from"postcss-modules-local-by-default";import it from"postcss-modules-scope";import at from"postcss-modules-values";import{makeLegalIdentifier as st}from"@rollup/pluginutils";import{getHash as de}from"@visulima/packem-share/utils";import z from"postcss-value-parser";var ot=Object.defineProperty,nt=d((e,t)=>ot(e,"name",{value:t,configurable:!0}),"i$5");const rt=nt(async(e,t,i,a,s)=>{const o=K([e,`./${e}`],{baseDirs:[$(t)],caller:"ICSS loader",extensions:i}),p=await Te(o),{messages:l}=await a.process(p,{...s,from:o}),c={};for(const n of l)n.type==="icss"&&Object.assign(c,n.export);return c},"load");var pt=Object.defineProperty,lt=d((e,t)=>pt(e,"name",{value:t,configurable:!0}),"t$3");const ct=lt(async(e,t,i,a,s,o)=>{const p={};for(const[l,c]of Object.entries(e)){const n=await t(l,i,a,s,o);for(const[r,m]of Object.entries(c))p[r]=n[m]}return p},"resolve");var mt=Object.defineProperty,ut=d((e,t)=>mt(e,"name",{value:t,configurable:!0}),"c$6");const G="styles-icss",dt=[".css",".pcss",".postcss",".sss"],fe=ut(e=>{const t=e?.load??rt,i=e?.extensions??dt;return{async OnceExit(a,{result:s}){if(!a.source?.input.file)return;const o={...s.opts,map:void 0},{icssExports:p,icssImports:l}=_e(a),c=await ct(l,t,a.source.input.file,i,s.processor,o);We(a,c);for(const[n,r]of Object.entries(p))s.messages.push({export:{[n]:qe(r,c)},plugin:G,type:"icss"});for(const n of Object.keys(l))s.messages.push({import:n,plugin:G,type:"icss-dependency"})},postcssPlugin:G}},"plugin");fe.postcss=!0;var ft=Object.defineProperty,gt=d((e,t)=>ft(e,"name",{value:t,configurable:!0}),"t$2");const V=gt((e,t,i,a)=>{const s=[];if(e!==void 0){let o="layer";e&&(o=`layer(${e})`),s.push(o)}return i!==void 0&&s.push(`supports(${i})`),a!==void 0&&s.push(`scope(${a})`),t!==void 0&&s.push(t),s.join(" ")},"formatImportPrelude");var xt=Object.defineProperty,ht=d((e,t)=>xt(e,"name",{value:t,configurable:!0}),"p$6");const vt=ht((e,t)=>{t.reverse();const i=t.pop();if(!i)return e;let a=`${e} ${V(i.layer,i.media,i.supports,i.scope)}`;for(const s of t)a=`'data:text/css;base64,${Buffer.from(`@import ${a}`).toString("base64")}' ${V(s.layer,s.media,s.supports,s.scope)}`;return a},"base64EncodedConditionalImport");var yt=Object.defineProperty,_=d((e,t)=>yt(e,"name",{value:t,configurable:!0}),"e$1");const bt=_(e=>e.type==="warning","isWarning"),Q=_(e=>e.type==="nodes","isNodesStatement"),M=_(e=>e.type==="import","isImportStatement"),wt=_(e=>e.type==="pre-import","isPreImportStatement");var $t=Object.defineProperty,jt=d((e,t)=>$t(e,"name",{value:t,configurable:!0}),"u$2");const kt=jt((e,t)=>{e.statements.forEach((i,a)=>{if(bt(i)||wt(i)||i.conditions.length===0)return;if(M(i)){i.node.params=vt(i.fullUri,i.conditions);return}const{nodes:s}=i;if(s.length===0)return;const{parent:o}=s[0];if(!o)return;const p=[];for(const n of i.conditions){if(n.media!==void 0){const r=t({name:"media",params:n.media,source:i.importingNode?.source??o.source});p.push(r)}if(n.scope!==void 0){const r=t({name:"scope",params:n.scope,source:i.importingNode?.source??o.source});p.push(r)}if(n.supports!==void 0){const r=t({name:"supports",params:`(${n.supports})`,source:i.importingNode?.source??o.source});p.push(r)}if(n.layer!==void 0){const r=t({name:"layer",params:n.layer,source:i.importingNode?.source??o.source});p.push(r)}}const l=p[0];if(!l)return;for(let n=0;n<p.length-1;n++)p[n].append(p[n+1]);const c=p.at(-1);o.insertBefore(s[0],l),s.forEach(n=>{n.parent=void 0}),c.append(s),e.statements[a]={conditions:i.conditions,from:i.from,importingNode:i.importingNode,nodes:[l],type:"nodes"}})},"applyConditions");var St=Object.defineProperty,Pt=d((e,t)=>St(e,"name",{value:t,configurable:!0}),"r$4");const Ot=Pt(e=>{e.statements.forEach((t,i)=>{if(i!==0)if(t.parent!==void 0){const a=t.parent,{raws:s}=a.node,{before:o}=s;Q(t)?t.nodes[0].raws.before=o:t.node.raws.before=o}else Q(t)&&(t.nodes[0].raws.before=t.nodes[0].raws.before??`
2
2
  `)})},"applyRaws");var Et=Object.defineProperty,Rt=d((e,t)=>Et(e,"name",{value:t,configurable:!0}),"t$1");const Ct=Rt((e,t)=>{t.nodes=[],e.charset&&(e.charset.parent=void 0,t.append(e.charset)),e.statements.forEach(i=>{M(i)?(i.node.parent=void 0,t.append(i.node)):Q(i)&&i.nodes.forEach(a=>{a.parent=void 0,t.append(a)})})},"applyStyles");var It=Object.defineProperty,Nt=d((e,t)=>It(e,"name",{value:t,configurable:!0}),"o$3");const Ut=Nt((e,t,i)=>{const a={baseDirs:[t],caller:"@import resolver",extensions:i},s=new URL(e,"file://").pathname,o=[s];return(Fe(s)||s.startsWith("/"))&&o.push(`.${s}`),s.startsWith("/")&&o.push(s.slice(1)),K(o,a)},"importResolve");var Lt=Object.defineProperty,ge=d((e,t)=>Lt(e,"name",{value:t,configurable:!0}),"e");const Dt=/^data:text\/css(?:;(?:base64|plain))?,/i,zt=/^data:text\/css;base64,/i,Mt=/^data:text\/css;plain,/i,J=ge(e=>e!==void 0&&Dt.test(e),"isValidDataURL"),_t=ge(e=>zt.test(e)?Buffer.from(e.slice(21),"base64").toString():Mt.test(e)?decodeURIComponent(e.slice(20)):decodeURIComponent(e.slice(14)),"dataURLContents");var Wt=Object.defineProperty,ne=d((e,t)=>Wt(e,"name",{value:t,configurable:!0}),"o$1");const Z=ne(()=>({postcssPlugin:"css-noop",prepare:ne(()=>({}),"prepare")}),"postcssNoop");Z.postcss=!0;var qt=Object.defineProperty,xe=d((e,t)=>qt(e,"name",{value:t,configurable:!0}),"c$5");const he=xe(async(e,t,i,a,s,o=0)=>(a.length===0&&a.push(Z()),await e(a).process(t,{from:i,parser:s[o]}).catch(async p=>{const l=o+1;if(l===s.length)throw p;return await he(e,t,i,a,s,l)})),"runPostcss"),Tt=xe(async(e,t,i,a,s)=>{const{plugins:o}=a,p=[];return e.opts.syntax?.parse&&p.push(e.opts.syntax.parse),e.opts.parser&&p.push(e.opts.parser),p.push(void 0),await he(s,t,i,o,p)},"processContent"),Ft=/^charset$/i,ve=/^import$/i,At=/^url$/i,C=/^layer$/i,Gt=/^supports$/i,Xt=/^scope$/i;var Bt=Object.defineProperty,ee=d((e,t)=>Bt(e,"name",{value:t,configurable:!0}),"s$3");const Ht=ee(e=>{for(let t=0;t<e.length;t++){const i=e[t];if(!H(i)&&Ae(i)&&Be(i.startToken))return e}return[new Ge([se.OpenParen,"(",-1,-1,void 0],[se.CloseParen,")",-1,-1,void 0],e)]},"wrapInParenthesisIfNeeded"),re=ee(e=>{if(e.startsWith("#"))return"";if(!e.includes("#"))return e;try{const t=new URL(e,"http://example.com");return t.hash?e.slice(0,e.length-t.hash.length):e}catch{return e}},"stripHash"),Vt=ee(e=>{const t=He({css:e});if(t.length===2&&(F(t[0])||oe(t[0]))){let n=t[0][4].value;return n=re(n),n?{fullUri:t[0][1],uri:n}:void 0}const i=Xe(t);let a="",s="",o,p,l,c;for(let n=0;n<i.length;n++){const r=i[n];if(!H(r)){if(T(r)&&(F(r.value)||oe(r.value))){if(a)return;a=r.value[4].value,s=r.value[1];continue}if(N(r)&&At.test(r.getName())){if(a)return;for(let m=0;m<r.value.length;m++){const u=r.value[m];if(!H(u)){if(!a&&T(u)&&F(u.value)){a=u.value[4].value,s=O([[r]]);continue}return}}continue}if(!a)return;if(T(r)&&Ve(r.value)&&C.test(r.value[4].value)){if(o!==void 0||l!==void 0)return;o="";continue}if(N(r)&&C.test(r.getName())){if(o!==void 0||l!==void 0)return;o=O([r.value]);continue}if(N(r)&&Gt.test(r.getName())){if(l!==void 0)return;l=O([r.value]);continue}if(N(r)&&Xt.test(r.getName())){if(c!==void 0)return;c=O([Ht(r.value)]);continue}p=O([i.slice(n)]);break}}if(a=re(a),!!a)return{fullUri:s,layer:o,media:p,scope:c,supports:l,uri:a}},"parseAtImport");var Qt=Object.defineProperty,S=d((e,t)=>Qt(e,"name",{value:t,configurable:!0}),"l$4");const ye=S((e,t,i,a)=>{const s=[];let o=t;const p=e.length;for(o;o<p;o++){const l=e[o];if(s.push(l),e[o+1]?.type!=="comment")break}return[o,{conditions:[],from:a,importingNode:i,nodes:s,type:"nodes"}]},"consumeComments"),Jt=S((e,t,i,a,s)=>{const o=Vt(t.params);if(!o)return e.warn(`Invalid @import statement in '${t.toString()}'`,{node:t});const p={conditions:[...a],from:s,fullUri:o.fullUri,importingNode:i,node:t,type:"import",uri:o.uri};return(o.layer!==void 0||o.media!==void 0||o.supports!==void 0||o.scope!==void 0)&&p.conditions.push({layer:o.layer,media:o.media,scope:o.scope,supports:o.supports}),p},"parseImport"),Yt=S((e,t,i,a,s,o)=>{const p=[];let l=a;const c=t.length;for(l;l<c;l++){const n=t[l];if(n.type==="comment"){const[r,m]=ye(t,l,s,o);p.push(m),l=r;continue}if(n.type==="atrule"&&ve.test(n.name)){p.push(Jt(e,n,s,i,o));continue}break}return[l-1,p]},"consumeImports"),Kt=S((e,t,i,a,s)=>{const o=[];let p=i;const l=e.length;for(p;p<l;p++){const c=e[p];o.push(c);const n=e[p+1];if(!(n?.type==="atrule"&&C.test(n.name)&&!n.nodes))break}return[p,{conditions:[...t],from:s,importingNode:a,nodes:o,type:"nodes"}]},"consumeLayers"),Zt=S((e,t,i,a,s)=>{const o=[];let p=i;const l=e.length;for(p;p<l;p++){const c=e[p];if(c.type==="comment"){const[n,r]=ye(e,p,a,s);o.push(r),p=n;continue}if(c.type==="atrule"&&C.test(c.name)&&!c.nodes)if(t.length>0){o.push({conditions:[...t],from:s,importingNode:a,node:c,type:"pre-import"});continue}else{const[n,r]=Kt(e,t,p,a,s);o.push(r),p=n;continue}break}return[p-1,o]},"consumeBeforeImports"),be=S((e,t,i,a,s)=>{const o={statements:[]};if(t.type==="document")return t.each(m=>{const u=be(e,m,i,a,s);if(o.charset&&u.charset&&o.charset.params.toLowerCase()!==u.charset.params.toLowerCase())throw u.charset.error(`Incompatible @charset statements:
3
3
  ${u.charset.params} specified in ${u.charset.source?.input.file??"<unknown>"}
4
4
  ${o.charset.params} specified in ${o.charset.source?.input.file??"<unknown>"}`);!o.charset&&u.charset&&(o.charset=u.charset),o.statements.push(...u.statements)}),o;let p,l=[],c=[],n;for(let m=0;m<t.nodes.length;m++){const u=t.nodes[m];if(m===0&&u.type==="atrule"&&Ft.test(u.name)){p=u;continue}if(c.length===0&&(u.type==="comment"||u.type==="atrule"&&C.test(u.name)&&!u.nodes)){[m,l]=Zt(t.nodes,a,m,i,s);continue}if(c.length===0&&u.type==="atrule"&&ve.test(u.name)){[m,c]=Yt(e,t.nodes,a,m,i,s);continue}n={conditions:[...a],from:s,importingNode:i,nodes:t.nodes.slice(m),type:"nodes"};break}const r=[];return l.length>0&&r.push(...l),c.length>0&&r.push(...c),n&&r.push(n),{charset:p,statements:r}},"parseStylesheet");var ei=Object.defineProperty,W=d((e,t)=>ei(e,"name",{value:t,configurable:!0}),"f$2");const ti=/^(?:[a-z]+:)?\/\//i,ii=W(e=>{if(ti.test(e))return!1;try{if(new URL(e,"https://example.com").search)return!1}catch{}return!0},"isProcessableURL"),pe=W(async(e,t,i,a,s,o)=>{const{conditions:p,from:l,node:c}=t,n=p.map(f=>V(f.layer,f.media,f.supports,f.scope)).join(":");if(a.skipDuplicates){if(s.importedFiles[i]?.[n])return{statements:[]};s.importedFiles[i]??={},s.importedFiles[i][n]=!0}if(l.includes(i))return{statements:[]};const r=await a.load(i,a);if(r.trim()===""&&a.warnOnEmpty)return e.warn(`${i} is empty`,{node:c}),{statements:[]};if(a.skipDuplicates&&s.hashFiles[r]?.[n])return{statements:[]};const m=await Tt(e,r,i,a,o),u=m.root;return a.debug&&u.append({text:i}),e.messages=[...e.messages,...m.messages],a.skipDuplicates&&(u.some(f=>f.type==="atrule"&&f.name==="import")||(s.hashFiles[r]??={},s.hashFiles[r][n]=!0)),await we(a,e,u,s,c,p,[...l,i],o)},"loadImportContent"),ai=W(async(e,t,i,a,s)=>{if(J(i.uri)){i.stylesheet=await pe(t,i,i.uri,e,a,s);return}if(J(i.from.at(-1))){i.stylesheet={statements:[]},t.warn(`Unable to import '${i.uri}' from a stylesheet that is embedded in a data url`,{node:i.node});return}const o=i.node;let p;o.source?.input.file&&(p=o.source.input.file);const l=p?$(p):e.root;for(const[n,r]of Object.entries(e.alias))i.uri!==n&&!i.uri.startsWith(`${n}/`)||(i.uri=R(r)+i.uri.slice(n.length));let c;try{c=await e.resolve(i.uri,l,e.extensions,o)}catch(n){const r=n instanceof Error?`: ${n.message}`:"";i.node.warn(t,`Unable to resolve "${i.uri}" from "${l}"${r}`);return}t.messages.push({file:c,parent:p,plugin:"packem-postcss-import",type:"dependency"}),i.stylesheet=await pe(t,i,c,e,a,s)},"resolveImportId"),we=W(async(e,t,i,a,s,o,p,l)=>{let{charset:c,statements:n}=be(t,i,s,o,p);{const r=[];for(const m of n)!M(m)||!ii(m.uri)||e.filter&&!e.filter(m.uri)||r.push(ai(e,t,m,a,l));r.length>0&&await Promise.all(r)}for(let r=0;r<n.length;r++){const m=n[r];if(M(m)&&m.stylesheet){if(c&&m.stylesheet.charset&&c.params.toLowerCase()!==m.stylesheet.charset.params.toLowerCase())throw m.stylesheet.charset.error(`Incompatible @charset statements:
@@ -1,15 +1,15 @@
1
- import { f as SassLoaderOptions, L as Loader } from "../../packem_shared/types.d-6pp-2OqA.js";
2
- export { type g as SassLoaderContext } from "../../packem_shared/types.d-6pp-2OqA.js";
3
- import '@visulima/packem-share/utils';
4
- import '@visulima/packem-share/types';
5
- import 'rollup';
6
- import 'source-map-js';
1
+ import { f as SassLoaderOptions, L as Loader } from "../../packem_shared/types.d-naKgtfY0.js";
2
+ export { type g as SassLoaderContext } from "../../packem_shared/types.d-naKgtfY0.js";
7
3
  import 'cssnano';
8
4
  import 'lightningcss';
9
5
  import 'postcss';
10
6
  import 'postcss-load-config';
7
+ import '@visulima/packem-share/types';
11
8
  import 'sass';
12
9
  import 'sass-embedded';
13
10
  import 'stylus';
11
+ import '@visulima/packem-share/utils';
12
+ import 'rollup';
13
+ import 'source-map-js';
14
14
  declare const loader: Loader<SassLoaderOptions>;
15
15
  export { type SassLoaderOptions, loader as default };
@@ -1,14 +1,14 @@
1
- import { L as Loader } from "../packem_shared/types.d-6pp-2OqA.js";
2
- import '@visulima/packem-share/utils';
3
- import '@visulima/packem-share/types';
4
- import 'rollup';
5
- import 'source-map-js';
1
+ import { L as Loader } from "../packem_shared/types.d-naKgtfY0.js";
6
2
  import 'cssnano';
7
3
  import 'lightningcss';
8
4
  import 'postcss';
9
5
  import 'postcss-load-config';
6
+ import '@visulima/packem-share/types';
10
7
  import 'sass';
11
8
  import 'sass-embedded';
12
9
  import 'stylus';
10
+ import '@visulima/packem-share/utils';
11
+ import 'rollup';
12
+ import 'source-map-js';
13
13
  declare const loader: Loader;
14
14
  export { loader as default };
@@ -1,15 +1,15 @@
1
- import { S as StylusLoaderOptions, L as Loader } from "../../packem_shared/types.d-6pp-2OqA.js";
2
- export { type c as StylusDefinition, type d as StylusLoaderContext, type e as StylusPlugin } from "../../packem_shared/types.d-6pp-2OqA.js";
3
- import '@visulima/packem-share/utils';
4
- import '@visulima/packem-share/types';
5
- import 'rollup';
6
- import 'source-map-js';
1
+ import { S as StylusLoaderOptions, L as Loader } from "../../packem_shared/types.d-naKgtfY0.js";
2
+ export { type c as StylusDefinition, type d as StylusLoaderContext, type e as StylusPlugin } from "../../packem_shared/types.d-naKgtfY0.js";
7
3
  import 'cssnano';
8
4
  import 'lightningcss';
9
5
  import 'postcss';
10
6
  import 'postcss-load-config';
7
+ import '@visulima/packem-share/types';
11
8
  import 'sass';
12
9
  import 'sass-embedded';
13
10
  import 'stylus';
11
+ import '@visulima/packem-share/utils';
12
+ import 'rollup';
13
+ import 'source-map-js';
14
14
  declare const loader: Loader<StylusLoaderOptions>;
15
15
  export { type StylusLoaderOptions, loader as default };
@@ -1,14 +1,14 @@
1
- import { L as Loader } from "../packem_shared/types.d-6pp-2OqA.js";
2
- import '@visulima/packem-share/utils';
3
- import '@visulima/packem-share/types';
4
- import 'rollup';
5
- import 'source-map-js';
1
+ import { L as Loader } from "../packem_shared/types.d-naKgtfY0.js";
6
2
  import 'cssnano';
7
3
  import 'lightningcss';
8
4
  import 'postcss';
9
5
  import 'postcss-load-config';
6
+ import '@visulima/packem-share/types';
10
7
  import 'sass';
11
8
  import 'sass-embedded';
12
9
  import 'stylus';
10
+ import '@visulima/packem-share/utils';
11
+ import 'rollup';
12
+ import 'source-map-js';
13
13
  declare const tailwindcssLoader: Loader;
14
14
  export { tailwindcssLoader as default };
@@ -1 +1 @@
1
- var P=Object.defineProperty;var y=(c,a)=>P(c,"name",{value:a,configurable:!0});import{stat as w}from"node:fs/promises";import{compile as $,Features as r,toSourceMap as x,optimize as E}from"@tailwindcss/node";import{clearRequireCache as T}from"@tailwindcss/node/require-cache";import{Scanner as U}from"@tailwindcss/oxide";import{findPackageJson as J}from"@visulima/package";import{resolve as C,dirname as D,relative as j,join as v,normalize as k}from"@visulima/path";import{resolveAlias as M}from"@visulima/path/utils";import{g as B}from"../packem_shared/generate-js-exports-BKVXW192.js";import{resolve as z}from"../packem_shared/resolve-D5Aw9ctO.js";var q=Object.defineProperty,f=y((c,a)=>q(c,"name",{value:a,configurable:!0}),"h");const O=/\?[^?]*$/u,N=/[#?][^#?]*\.svg$/u,A=r.AtApply|r.JsPluginCompat|r.ThemeFunction|r.Utilities,d=f((c,a)=>(c&a)!==0,"hasFeature");class W{static{y(this,"L")}constructor(a,o,m,u,h,i){this.id=a,this.base=o,this.enableSourceMaps=m,this.customCssResolver=u,this.customJsResolver=h,this.logger=i}id;base;enableSourceMaps;customCssResolver;customJsResolver;logger;static{f(this,"TailwindRoot")}compiler;scanner;candidates=new Set;buildDependencies=new Map;async generate(a,o){const m=C(this.id.replace(O,"")),u=f(e=>{e!==m&&(N.test(e)||o(e))},"addWatchFileWrapper"),h=this.requiresBuild(),i=D(C(m));if(!this.compiler||!this.scanner||await h){T([...this.buildDependencies.keys()]),this.buildDependencies.clear(),await this.addBuildDependency(m),this.logger.debug({message:"Setup compiler"});const e=[];this.compiler=await $(a,{base:i,customCssResolver:this.customCssResolver,customJsResolver:this.customJsResolver,from:this.enableSourceMaps?this.id:void 0,onDependency:f(g=>{u(g),e.push(this.addBuildDependency(g))},"onDependency"),shouldRewriteUrls:!0}),await Promise.all(e),this.logger.debug({message:"Setup scanner"});const s=[...this.compiler.root==="none"?[]:this.compiler.root===null?[{base:this.base,negated:!1,pattern:"**/*"}]:[{...this.compiler.root,negated:!1}],...this.compiler.sources];this.scanner=new U({sources:s})}else for(const e of this.buildDependencies.keys())u(e);const l=d(this.compiler.features,A);if(this.logger.debug({data:{availableFeatures:this.compiler.features,hasAtApply:d(this.compiler.features,r.AtApply),hasJsPluginCompat:d(this.compiler.features,r.JsPluginCompat),hasRequiredFeatures:l,hasThemeFunction:d(this.compiler.features,r.ThemeFunction),hasUtilities:d(this.compiler.features,r.Utilities),requiredFeatures:A},message:"Feature analysis"}),!l)return this.logger.debug({data:{missingFeatures:{AtApply:!d(this.compiler.features,r.AtApply),JsPluginCompat:!d(this.compiler.features,r.JsPluginCompat),ThemeFunction:!d(this.compiler.features,r.ThemeFunction),Utilities:!d(this.compiler.features,r.Utilities)}},message:"Missing required features, returning false"}),!1;if(d(this.compiler.features,r.Utilities)){const{scanner:e}=this;this.logger.debug({data:{candidatesCountBefore:this.candidates.size,scannerHasScan:typeof e.scan=="function"},message:"Scan for candidates - Utilities feature enabled"});const s=e.scan();this.logger.debug({data:{scannedCandidates:s.slice(0,10),scannedCandidatesCount:s.length},message:"Scanner results"});for(const g of s)this.candidates.add(g);this.logger.debug({data:{candidatesCountAfter:this.candidates.size,newCandidatesAdded:s.length},message:"Candidates updated"})}else this.logger.debug({message:"Utilities feature not enabled, skipping candidate scanning"});if(d(this.compiler.features,r.Utilities)){const{scanner:e}=this;this.logger.debug({data:{files:e.files.slice(0,5),filesCount:e.files.length},message:"Watching individual files from scanner"});for(const s of e.files)u(s);this.logger.debug({data:{globs:e.globs.slice(0,3),globsCount:e.globs.length},message:"Processing globs from scanner"});for(const s of e.globs){if(s.pattern[0]==="!"){this.logger.debug({data:{pattern:s.pattern},message:"Skipping negated glob pattern"});continue}let g=j(this.base,s.base);g[0]!=="."&&(g=`./${g}`);const R=v(g,s.pattern);this.logger.debug({data:{base:s.base,glob:s.pattern,watchPath:R},message:"Adding glob to watch list"}),u(R);const{root:S}=this.compiler;if(S!=="none"&&S!==null){const b=C(S.base,S.pattern);try{const p=await w(b);if(p.isDirectory())this.logger.debug({data:{basePath:b,isDirectory:p.isDirectory()},message:"Valid source directory confirmed"});else{const F=`The path given to \`source(…)\` must be a directory but got \`source(${b})\` instead.`;throw this.logger.debug({data:{basePath:b,error:F,isDirectory:p.isDirectory()},message:"Invalid source path detected"}),new Error(F)}}catch(p){this.logger.debug({data:{basePath:b,error:p instanceof Error?p.message:String(p)},message:"Error checking source directory"})}}}}else this.logger.debug({message:"Utilities feature not enabled, skipping file watching"});this.logger.debug({data:{candidates:[...this.candidates].slice(0,10),candidatesCount:this.candidates.size},message:"Build CSS"});const t=this.compiler.build([...this.candidates]);this.logger.debug({data:{cssLength:t.length,cssPreview:t.slice(0,200)+(t.length>200?"...":"")},message:"CSS build completed"}),this.logger.debug({data:{enableSourceMaps:this.enableSourceMaps},message:"Build Source Map"});const n=(this.enableSourceMaps?x(this.compiler.buildSourceMap()):void 0)?.raw;if(n){const e=n;this.logger.debug({data:{hasMappings:!!e.mappings,mapSize:JSON.stringify(n).length,sourcesCount:e.sources?.length??0},message:"Source map generated"})}else this.logger.debug({message:"No source map generated"});return{code:t,map:n}}async addBuildDependency(a){let o;try{o=(await w(a)).mtimeMs}catch{}this.buildDependencies.set(a,o)}async requiresBuild(){for(const[a,o]of this.buildDependencies){if(o===void 0)return!0;try{if((await w(a)).mtimeMs>o)return!0}catch{return!0}}return!1}}const Z={name:"tailwindcss",async process({code:c,map:a}){const o=this.alias,m=f(async(t,n)=>{try{const e=await J(n),s=z([t,M(t,o??{})],{baseDirs:[n,v(D(e.path),"node_modules")],caller:"Tailwind CSS Resolver",conditionNames:["style","development|production"],extensions:[".css"],mainFields:["style"],preferRelative:!0});if(s)return this.logger.debug({message:`Resolved CSS import: ${t} -> ${s}`}),s}catch{}return this.logger.debug({message:`Failed to resolve CSS import: ${t} from ${n}`}),!1},"customCssResolver"),u=f(async(t,n)=>{try{const e=await J(n),s=z([t,M(t,o??{})],{baseDirs:[n,v(D(e.path),"node_modules")],caller:"Tailwind JS Resolver",extensions:[".js",".mjs",".cjs",".ts",".tsx",".jsx"]});if(s)return this.logger.debug({message:`Resolved JS import: ${t} -> ${s}`}),s}catch{}return this.logger.debug({message:`Failed to resolve JS import: ${t} from ${n}`}),!1},"customJsResolver");let h;this.cwd?h=this.sourceDir?v(this.cwd,this.sourceDir):this.cwd:h=this.sourceDir??process.cwd();let i=await new W(this.id,h,this.useSourcemap,m,u,this.logger).generate(c,t=>this.deps.add(k(t)));if(!i)return this.logger.debug({data:{returningOriginalContent:!0},message:"Tailwind generation returned false - not a Tailwind file or missing features"}),{code:c,map:a};if(this.logger.debug({message:"[@tailwindcss/rollup] Generate CSS"}),this.environment==="production"){this.logger.debug({data:{minify:!0,originalSize:i.code.length},message:"[@tailwindcss/rollup] Optimize CSS"});const t=E(i.code,{file:this.id,map:i.map,minify:!0});this.logger.debug({data:{optimizedSize:t.code.length,originalSize:i.code.length,sizeReduction:i.code.length-t.code.length,sizeReductionPercent:`${((i.code.length-t.code.length)/i.code.length*100).toFixed(2)}%`},message:"CSS optimization completed"}),i=t}else this.logger.debug({data:{environment:this.environment},message:"Development mode - skipping CSS optimization"});if(this.emit)return{...i,meta:{moduleContents:i,types:void 0},moduleSideEffects:!0};const l=B({css:i.code,cwd:this.cwd,dts:this.dts,emit:this.emit,extract:this.extract,icssDependencies:[],id:this.id,inject:this.inject,inline:this.inline,logger:this.logger,map:i.map,modulesExports:{},namedExports:this.namedExports,supportModules:!1});return this.extract?{code:l.code,extracted:{css:i.code,id:this.id,map:i.map},map:l.map,meta:l.meta,moduleSideEffects:l.moduleSideEffects}:{code:l.code,map:l.map,meta:l.meta,moduleSideEffects:l.moduleSideEffects}},test:/\.css$/i};export{Z as default};
1
+ var P=Object.defineProperty;var y=(c,a)=>P(c,"name",{value:a,configurable:!0});import{stat as w}from"node:fs/promises";import{compile as $,Features as r,toSourceMap as x,optimize as E}from"@tailwindcss/node";import{clearRequireCache as T}from"@tailwindcss/node/require-cache";import{Scanner as U}from"@tailwindcss/oxide";import{findPackageJson as J}from"@visulima/package";import{resolve as C,dirname as D,relative as j,join as v,normalize as k}from"@visulima/path";import{resolveAlias as M}from"@visulima/path/utils";import{g as B}from"../packem_shared/generate-js-exports-D0gttLsY.js";import{resolve as z}from"../packem_shared/resolve-D5Aw9ctO.js";var q=Object.defineProperty,f=y((c,a)=>q(c,"name",{value:a,configurable:!0}),"h");const O=/\?[^?]*$/u,N=/[#?][^#?]*\.svg$/u,A=r.AtApply|r.JsPluginCompat|r.ThemeFunction|r.Utilities,d=f((c,a)=>(c&a)!==0,"hasFeature");class W{static{y(this,"L")}constructor(a,o,m,u,h,i){this.id=a,this.base=o,this.enableSourceMaps=m,this.customCssResolver=u,this.customJsResolver=h,this.logger=i}id;base;enableSourceMaps;customCssResolver;customJsResolver;logger;static{f(this,"TailwindRoot")}compiler;scanner;candidates=new Set;buildDependencies=new Map;async generate(a,o){const m=C(this.id.replace(O,"")),u=f(e=>{e!==m&&(N.test(e)||o(e))},"addWatchFileWrapper"),h=this.requiresBuild(),i=D(C(m));if(!this.compiler||!this.scanner||await h){T([...this.buildDependencies.keys()]),this.buildDependencies.clear(),await this.addBuildDependency(m),this.logger.debug({message:"Setup compiler"});const e=[];this.compiler=await $(a,{base:i,customCssResolver:this.customCssResolver,customJsResolver:this.customJsResolver,from:this.enableSourceMaps?this.id:void 0,onDependency:f(g=>{u(g),e.push(this.addBuildDependency(g))},"onDependency"),shouldRewriteUrls:!0}),await Promise.all(e),this.logger.debug({message:"Setup scanner"});const s=[...this.compiler.root==="none"?[]:this.compiler.root===null?[{base:this.base,negated:!1,pattern:"**/*"}]:[{...this.compiler.root,negated:!1}],...this.compiler.sources];this.scanner=new U({sources:s})}else for(const e of this.buildDependencies.keys())u(e);const l=d(this.compiler.features,A);if(this.logger.debug({data:{availableFeatures:this.compiler.features,hasAtApply:d(this.compiler.features,r.AtApply),hasJsPluginCompat:d(this.compiler.features,r.JsPluginCompat),hasRequiredFeatures:l,hasThemeFunction:d(this.compiler.features,r.ThemeFunction),hasUtilities:d(this.compiler.features,r.Utilities),requiredFeatures:A},message:"Feature analysis"}),!l)return this.logger.debug({data:{missingFeatures:{AtApply:!d(this.compiler.features,r.AtApply),JsPluginCompat:!d(this.compiler.features,r.JsPluginCompat),ThemeFunction:!d(this.compiler.features,r.ThemeFunction),Utilities:!d(this.compiler.features,r.Utilities)}},message:"Missing required features, returning false"}),!1;if(d(this.compiler.features,r.Utilities)){const{scanner:e}=this;this.logger.debug({data:{candidatesCountBefore:this.candidates.size,scannerHasScan:typeof e.scan=="function"},message:"Scan for candidates - Utilities feature enabled"});const s=e.scan();this.logger.debug({data:{scannedCandidates:s.slice(0,10),scannedCandidatesCount:s.length},message:"Scanner results"});for(const g of s)this.candidates.add(g);this.logger.debug({data:{candidatesCountAfter:this.candidates.size,newCandidatesAdded:s.length},message:"Candidates updated"})}else this.logger.debug({message:"Utilities feature not enabled, skipping candidate scanning"});if(d(this.compiler.features,r.Utilities)){const{scanner:e}=this;this.logger.debug({data:{files:e.files.slice(0,5),filesCount:e.files.length},message:"Watching individual files from scanner"});for(const s of e.files)u(s);this.logger.debug({data:{globs:e.globs.slice(0,3),globsCount:e.globs.length},message:"Processing globs from scanner"});for(const s of e.globs){if(s.pattern[0]==="!"){this.logger.debug({data:{pattern:s.pattern},message:"Skipping negated glob pattern"});continue}let g=j(this.base,s.base);g[0]!=="."&&(g=`./${g}`);const R=v(g,s.pattern);this.logger.debug({data:{base:s.base,glob:s.pattern,watchPath:R},message:"Adding glob to watch list"}),u(R);const{root:S}=this.compiler;if(S!=="none"&&S!==null){const b=C(S.base,S.pattern);try{const p=await w(b);if(p.isDirectory())this.logger.debug({data:{basePath:b,isDirectory:p.isDirectory()},message:"Valid source directory confirmed"});else{const F=`The path given to \`source(…)\` must be a directory but got \`source(${b})\` instead.`;throw this.logger.debug({data:{basePath:b,error:F,isDirectory:p.isDirectory()},message:"Invalid source path detected"}),new Error(F)}}catch(p){this.logger.debug({data:{basePath:b,error:p instanceof Error?p.message:String(p)},message:"Error checking source directory"})}}}}else this.logger.debug({message:"Utilities feature not enabled, skipping file watching"});this.logger.debug({data:{candidates:[...this.candidates].slice(0,10),candidatesCount:this.candidates.size},message:"Build CSS"});const t=this.compiler.build([...this.candidates]);this.logger.debug({data:{cssLength:t.length,cssPreview:t.slice(0,200)+(t.length>200?"...":"")},message:"CSS build completed"}),this.logger.debug({data:{enableSourceMaps:this.enableSourceMaps},message:"Build Source Map"});const n=(this.enableSourceMaps?x(this.compiler.buildSourceMap()):void 0)?.raw;if(n){const e=n;this.logger.debug({data:{hasMappings:!!e.mappings,mapSize:JSON.stringify(n).length,sourcesCount:e.sources?.length??0},message:"Source map generated"})}else this.logger.debug({message:"No source map generated"});return{code:t,map:n}}async addBuildDependency(a){let o;try{o=(await w(a)).mtimeMs}catch{}this.buildDependencies.set(a,o)}async requiresBuild(){for(const[a,o]of this.buildDependencies){if(o===void 0)return!0;try{if((await w(a)).mtimeMs>o)return!0}catch{return!0}}return!1}}const Z={name:"tailwindcss",async process({code:c,map:a}){const o=this.alias,m=f(async(t,n)=>{try{const e=await J(n),s=z([t,M(t,o??{})],{baseDirs:[n,v(D(e.path),"node_modules")],caller:"Tailwind CSS Resolver",conditionNames:["style","development|production"],extensions:[".css"],mainFields:["style"],preferRelative:!0});if(s)return this.logger.debug({message:`Resolved CSS import: ${t} -> ${s}`}),s}catch{}return this.logger.debug({message:`Failed to resolve CSS import: ${t} from ${n}`}),!1},"customCssResolver"),u=f(async(t,n)=>{try{const e=await J(n),s=z([t,M(t,o??{})],{baseDirs:[n,v(D(e.path),"node_modules")],caller:"Tailwind JS Resolver",extensions:[".js",".mjs",".cjs",".ts",".tsx",".jsx"]});if(s)return this.logger.debug({message:`Resolved JS import: ${t} -> ${s}`}),s}catch{}return this.logger.debug({message:`Failed to resolve JS import: ${t} from ${n}`}),!1},"customJsResolver");let h;this.cwd?h=this.sourceDir?v(this.cwd,this.sourceDir):this.cwd:h=this.sourceDir??process.cwd();let i=await new W(this.id,h,this.useSourcemap,m,u,this.logger).generate(c,t=>this.deps.add(k(t)));if(!i)return this.logger.debug({data:{returningOriginalContent:!0},message:"Tailwind generation returned false - not a Tailwind file or missing features"}),{code:c,map:a};if(this.logger.debug({message:"[@tailwindcss/rollup] Generate CSS"}),this.environment==="production"){this.logger.debug({data:{minify:!0,originalSize:i.code.length},message:"[@tailwindcss/rollup] Optimize CSS"});const t=E(i.code,{file:this.id,map:i.map,minify:!0});this.logger.debug({data:{optimizedSize:t.code.length,originalSize:i.code.length,sizeReduction:i.code.length-t.code.length,sizeReductionPercent:`${((i.code.length-t.code.length)/i.code.length*100).toFixed(2)}%`},message:"CSS optimization completed"}),i=t}else this.logger.debug({data:{environment:this.environment},message:"Development mode - skipping CSS optimization"});if(this.emit)return{...i,meta:{moduleContents:i,types:void 0},moduleSideEffects:!0};const l=B({css:i.code,cwd:this.cwd,dts:this.dts,emit:this.emit,extract:this.extract,icssDependencies:[],id:this.id,inject:this.inject,inline:this.inline,logger:this.logger,map:i.map,modulesExports:{},namedExports:this.namedExports,supportModules:!1});return this.extract?{code:l.code,extracted:{css:i.code,id:this.id,map:i.map},map:l.map,meta:l.meta,moduleSideEffects:l.moduleSideEffects}:{code:l.code,map:l.map,meta:l.meta,moduleSideEffects:l.moduleSideEffects}},test:/\.css$/i};export{Z as default};
@@ -1,14 +1,14 @@
1
1
  import { Options } from 'cssnano';
2
- import { M as Minifier } from "../packem_shared/types.d-6pp-2OqA.js";
3
- import '@visulima/packem-share/utils';
4
- import '@visulima/packem-share/types';
5
- import 'rollup';
6
- import 'source-map-js';
2
+ import { M as Minifier } from "../packem_shared/types.d-naKgtfY0.js";
7
3
  import 'lightningcss';
8
4
  import 'postcss';
9
5
  import 'postcss-load-config';
6
+ import '@visulima/packem-share/types';
10
7
  import 'sass';
11
8
  import 'sass-embedded';
12
9
  import 'stylus';
10
+ import '@visulima/packem-share/utils';
11
+ import 'rollup';
12
+ import 'source-map-js';
13
13
  declare const cssnanoMinifier: Minifier<Options>;
14
14
  export { cssnanoMinifier as default };
@@ -1,14 +1,14 @@
1
- import { I as InternalStyleOptions, M as Minifier } from "../packem_shared/types.d-6pp-2OqA.js";
2
- import '@visulima/packem-share/utils';
3
- import '@visulima/packem-share/types';
4
- import 'rollup';
5
- import 'source-map-js';
1
+ import { I as InternalStyleOptions, M as Minifier } from "../packem_shared/types.d-naKgtfY0.js";
6
2
  import 'cssnano';
7
3
  import 'lightningcss';
8
4
  import 'postcss';
9
5
  import 'postcss-load-config';
6
+ import '@visulima/packem-share/types';
10
7
  import 'sass';
11
8
  import 'sass-embedded';
12
9
  import 'stylus';
10
+ import '@visulima/packem-share/utils';
11
+ import 'rollup';
12
+ import 'source-map-js';
13
13
  declare const lightningcssMinifier: Minifier<NonNullable<InternalStyleOptions["lightningcss"]>>;
14
14
  export { lightningcssMinifier as default };
@@ -6,13 +6,13 @@ interface ModulesExports {
6
6
  ${Object.keys(e).map(t=>` '${t.replaceAll("\\",String.raw`\\`).replaceAll("'",String.raw`\'`)}': string;`).join(`
7
7
  `)}
8
8
  }
9
- `,"buildModulesExportsInterface"),A=g(({cssDeclared:e,cssVariableName:t,defaultExport:s,dtsOutput:r,inject:o,modulesExports:n,modulesVariableName:p,supportModules:u})=>{u?r.push(w(n),typeof o=="object"&&o.treeshakeable?"interface ModulesExports {inject:()=>void}":"",`declare const ${p}: ModulesExports;`):e||r.push(`declare const ${t}: string;`),r.push(s)},"appendModulesDts"),z=/^[$_a-z][\w$]*$/i,P=g(({cssVariableName:e,id:t,inject:s,modulesExports:r,modulesVariableName:o,output:n,saferId:p})=>{if(typeof s=="function"){n.push(s(e,t,n),`var ${o} = ${JSON.stringify(r)};`);return}const{treeshakeable:u,...c}=typeof s=="object"?s:{},f=p("injector"),d=`${f}(${e},${JSON.stringify(c)});`,a=typeof s=="object"&&s.package?s.package:"@visulima/css-style-inject",i=typeof s=="object"&&s.method?s.method:"cssStyleInject";if(typeof a!="string"||a.trim().length===0)throw new TypeError(`\`inject.package\` must be a non-empty string, received: ${JSON.stringify(a)}`);if(!z.test(i))throw new Error(`\`inject.method\` must be a valid JavaScript identifier, received: ${JSON.stringify(i)}`);if(n.unshift(`import { ${i} as ${f} } from "${a}";`),!u){n.push(`var ${o} = ${JSON.stringify(r)};`,d);return}n.push("var injected = false;");const l=`if (!injected) { injected = true; ${d} }`;if(r.inject)throw new Error("`inject` keyword is reserved when using `inject.treeshakeable` option");let $="";for(const[E,h]of Object.entries(r)){const m=JSON.stringify(E),y=JSON.stringify(h);$+=`get ${m}() { ${l} return ${y}; },
10
- `}$+=`inject: function inject() { ${l} },`,n.push(`var ${o} = {${$}};`)},"applyInject"),S=g(({cwd:e,dts:t,dtsOutput:s,id:r,logger:o,modulesExports:n,namedExports:p,output:u,outputExports:c})=>{if(!p||Object.keys(n).length===0)return;const f=typeof p=="function"?p:B;for(const[d,a]of Object.entries(n)){const i=f(d);if(d!==i&&o){const $=e?V(e,r):r;o.warn({message:`Exported \`${d}\` as \`${i}\` in ${$}`})}const l=JSON.stringify(a);u.push(`var ${i} = ${l};`),t&&s.push(`declare const ${i}: ${l};`),c?.push(i)}},"appendClassExports"),R=g(({css:e,cssVariableName:t,cwd:s,dts:r,dtsOutput:o,id:n,logger:p,modulesExports:u,modulesVariableName:c,namedExports:f,supportModules:d})=>{const a=[`var ${t} = ${JSON.stringify(e)};`];S({cwd:s,dts:r,dtsOutput:o,id:n,logger:p,modulesExports:u,namedExports:f,output:a}),Object.keys(u).length>0&&a.push(`var ${c} = ${JSON.stringify(u)};`);const i=`
11
- export default ${d?c:t};
12
- `;return a.push(i),r&&(o.push(`declare const ${t}: string;`),d&&o.push(w(u),`declare const ${c}: ModulesExports;`),o.push(i)),{code:a.join(`
9
+ `,"buildModulesExportsInterface"),A=g(({cssDeclared:e,cssVariableName:t,defaultExport:s,dtsOutput:r,inject:o,modulesExports:n,modulesVariableName:u,supportModules:p})=>{p?r.push(w(n),typeof o=="object"&&o.treeshakeable?"interface ModulesExports {inject:()=>void}":"",`declare const ${u}: ModulesExports;`):e||r.push(`declare const ${t}: string;`),r.push(s)},"appendModulesDts"),z=/^[$_a-z][\w$]*$/i,P=g(({cssVariableName:e,id:t,inject:s,modulesExports:r,modulesVariableName:o,output:n,saferId:u})=>{if(typeof s=="function"){n.push(s(e,t,n),`var ${o} = ${JSON.stringify(r)};`);return}const{treeshakeable:p,...l}=typeof s=="object"?s:{},f=u("injector"),d=`${f}(${e},${JSON.stringify(l)});`,a=typeof s=="object"&&s.package?s.package:"@visulima/css-style-inject",i=typeof s=="object"&&s.method?s.method:"cssStyleInject";if(typeof a!="string"||a.trim().length===0)throw new TypeError(`\`inject.package\` must be a non-empty string, received: ${JSON.stringify(a)}`);if(!z.test(i))throw new Error(`\`inject.method\` must be a valid JavaScript identifier, received: ${JSON.stringify(i)}`);if(n.unshift(`import { ${i} as ${f} } from "${a}";`),!p){n.push(`var ${o} = ${JSON.stringify(r)};`,d);return}n.push("var injected = false;");const c=`if (!injected) { injected = true; ${d} }`;if(r.inject)throw new Error("`inject` keyword is reserved when using `inject.treeshakeable` option");let $="";for(const[E,h]of Object.entries(r)){const m=JSON.stringify(E),y=JSON.stringify(h);$+=`get ${m}() { ${c} return ${y}; },
10
+ `}$+=`inject: function inject() { ${c} },`,n.push(`var ${o} = {${$}};`)},"applyInject"),S=g(({cwd:e,dts:t,dtsOutput:s,id:r,logger:o,modulesExports:n,namedExports:u,output:p,outputExports:l})=>{if(!u||Object.keys(n).length===0)return;const f=typeof u=="function"?u:B;for(const[d,a]of Object.entries(n)){const i=f(d);if(d!==i&&o){const $=e?V(e,r):r;o.warn({message:`Exported \`${d}\` as \`${i}\` in ${$}`})}const c=JSON.stringify(a);p.push(`var ${i} = ${c};`),t&&s.push(`declare const ${i}: ${c};`),l?.push(i)}},"appendClassExports"),R=g(({css:e,cssVariableName:t,cwd:s,dts:r,dtsOutput:o,id:n,logger:u,modulesExports:p,modulesVariableName:l,namedExports:f,supportModules:d})=>{const a=[`var ${t} = ${JSON.stringify(e)};`];S({cwd:s,dts:r,dtsOutput:o,id:n,logger:u,modulesExports:p,namedExports:f,output:a}),Object.keys(p).length>0&&a.push(`var ${l} = ${JSON.stringify(p)};`);const i=`
11
+ export default ${d?l:t};
12
+ `;return a.push(i),r&&(o.push(`declare const ${t}: string;`),d&&o.push(w(p),`declare const ${l}: ModulesExports;`),o.push(i)),{code:a.join(`
13
13
  `),moduleSideEffects:!1,types:r?o.join(`
14
- `):void 0}},"generateInlineExports"),G=g(({css:e,cwd:t,dts:s=!1,emit:r=!1,extract:o=!1,icssDependencies:n=[],id:p,inject:u,inline:c=!1,logger:f,map:d,modulesExports:a,namedExports:i,supportModules:l})=>{const $=g(J=>I(J,M(p)),"saferId"),E=$("modules"),h=[`var ${x} = ${JSON.stringify(e)};`],m=[],y=[x];if(i&&(s&&m.push(`declare const ${x}: string;`),S({cwd:t,dts:s,dtsOutput:m,id:p,logger:f,modulesExports:a,namedExports:i,output:h,outputExports:y})),c)return R({css:e,cssVariableName:x,cwd:t,dts:s,dtsOutput:m,id:p,logger:f,modulesExports:a,modulesVariableName:E,namedExports:i,supportModules:l});u&&P({cssVariableName:x,id:p,inject:u,modulesExports:a,modulesVariableName:E,output:h,saferId:$}),!u&&Object.keys(a).length>0&&h.push(`var ${E} = ${JSON.stringify(a)};`);const b=`
15
- export default ${l?E:x};
16
- `;h.push(b),s&&A({cssDeclared:!!i,cssVariableName:x,defaultExport:b,dtsOutput:m,inject:u,modulesExports:a,modulesVariableName:E,supportModules:l}),_({dts:s,dtsOutput:m,namedExports:i,output:h,outputExports:y});const j=h.filter(Boolean).join(`
14
+ `):void 0}},"generateInlineExports"),G=g(({css:e,cwd:t,dts:s=!1,emit:r=!1,extract:o=!1,icssDependencies:n=[],id:u,inject:p,inline:l=!1,logger:f,map:d,modulesExports:a,namedExports:i,supportModules:c})=>{const $=g(J=>I(J,M(u)),"saferId"),E=$("modules"),h=[`var ${x} = ${JSON.stringify(e)};`],m=[],y=[x];if(i&&(s&&m.push(`declare const ${x}: string;`),S({cwd:t,dts:s,dtsOutput:m,id:u,logger:f,modulesExports:a,namedExports:i,output:h,outputExports:y})),l)return R({css:e,cssVariableName:x,cwd:t,dts:s,dtsOutput:m,id:u,logger:f,modulesExports:a,modulesVariableName:E,namedExports:i,supportModules:c});p&&P({cssVariableName:x,id:u,inject:p,modulesExports:a,modulesVariableName:E,output:h,saferId:$}),!p&&Object.keys(a).length>0&&h.push(`var ${E} = ${JSON.stringify(a)};`);const j=`
15
+ export default ${c?E:x};
16
+ `;h.push(j),s&&A({cssDeclared:!!i,cssVariableName:x,defaultExport:j,dtsOutput:m,inject:p,modulesExports:a,modulesVariableName:E,supportModules:c}),_({dts:s,dtsOutput:m,namedExports:i,output:h,outputExports:y});const b=h.filter(Boolean).join(`
17
17
  `),O=m.length>0?m.filter(Boolean).join(`
18
- `):void 0;if(r)return{code:e,map:d,meta:{icssDependencies:n,moduleContents:j,types:void 0},moduleSideEffects:!0};let v;return o&&(v={css:e,id:p,map:d}),{code:j,extracted:v,map:d,meta:{icssDependencies:n,moduleContents:j,types:O},moduleSideEffects:l||typeof u=="object"&&u.treeshakeable?!1:"no-treeshake",types:O}},"generateJsExports");export{G as g};
18
+ `):void 0;if(r)return{code:e,map:d,meta:{icssDependencies:n,moduleContents:b,types:void 0},moduleSideEffects:!0};let v;return o&&(v={css:e,id:u,map:d}),{code:b,extracted:v,map:d,meta:{icssDependencies:n,moduleContents:b,types:O},moduleSideEffects:c||typeof p=="object"&&p.treeshakeable?!1:"no-treeshake",types:O}},"generateJsExports");export{G as g};
@@ -1,14 +1,14 @@
1
- import { RollupLogger } from '@visulima/packem-share/utils';
2
- import { Environment } from '@visulima/packem-share/types';
3
- import { CustomPluginOptions, PluginContext } from 'rollup';
4
- import { RawSourceMap } from 'source-map-js';
5
1
  import { Options } from 'cssnano';
6
2
  import { CustomAtRules, TransformOptions } from 'lightningcss';
7
3
  import { Node, AcceptedPlugin, PluginCreator } from 'postcss';
8
4
  import { Config } from 'postcss-load-config';
5
+ import { Environment } from '@visulima/packem-share/types';
9
6
  import { StringOptions as StringOptions$1 } from 'sass';
10
7
  import { StringOptions } from 'sass-embedded';
11
8
  import { RenderOptions } from 'stylus';
9
+ import { RollupLogger } from '@visulima/packem-share/utils';
10
+ import { PluginContext, CustomPluginOptions } from 'rollup';
11
+ import { RawSourceMap } from 'source-map-js';
12
12
  type LESSLoaderOptions = Less.Options;
13
13
  type ImportResolve = (url: string, basedir: string, extensions: string[], atRule: Node) => Promise<string> | string;
14
14
  interface ImportOptions {
@@ -72,6 +72,62 @@ type StylusLoaderOptions = RenderOptions & {
72
72
  lineNumbers?: boolean;
73
73
  use?: StylusPlugin[];
74
74
  };
75
+ interface Extracted {
76
+ css: string;
77
+ id: string;
78
+ map?: string;
79
+ }
80
+ interface Loader<T = Record<string, unknown>> {
81
+ alwaysProcess?: boolean;
82
+ name: string;
83
+ process: (this: LoaderContext<T>, payload: Payload) => Payload | Promise<Payload>;
84
+ test?: RegExp | ((file: string) => boolean);
85
+ }
86
+ interface LoaderContext<T = Record<string, unknown>> {
87
+ readonly alias?: Record<string, string>;
88
+ readonly assets: Map<string, Uint8Array>;
89
+ readonly autoModules: InternalStyleOptions["autoModules"];
90
+ readonly browserTargets: string[];
91
+ readonly cwd?: string;
92
+ readonly debug?: boolean;
93
+ readonly deps: Set<string>;
94
+ readonly dts: InternalStyleOptions["dts"];
95
+ readonly emit: InternalStyleOptions["emit"];
96
+ readonly environment: Environment;
97
+ readonly extensions: InternalStyleOptions["extensions"];
98
+ readonly extract: InternalStyleOptions["extract"];
99
+ readonly id: string;
100
+ readonly inject: InternalStyleOptions["inject"];
101
+ readonly inline: InternalStyleOptions["inline"];
102
+ readonly logger: RollupLogger;
103
+ readonly namedExports: InternalStyleOptions["namedExports"];
104
+ readonly options: T;
105
+ readonly plugin: PluginContext;
106
+ readonly sourceDir?: string;
107
+ readonly sourceMap: false | (SourceMapOptions & {
108
+ inline: boolean;
109
+ });
110
+ readonly useSourcemap: boolean;
111
+ }
112
+ interface Payload {
113
+ code: string;
114
+ dts?: string;
115
+ extracted?: Extracted;
116
+ map?: string;
117
+ meta?: CustomPluginOptions;
118
+ }
119
+ interface SourceMapOptions {
120
+ content?: boolean;
121
+ transform?: (map: RawSourceMap, name?: string) => void;
122
+ }
123
+ type MinifierContext = {
124
+ readonly browserTargets: string[];
125
+ readonly logger: RollupLogger;
126
+ };
127
+ interface Minifier<Options = Record<string, any>> {
128
+ handler: (this: MinifierContext, data: ExtractedData, sourceMap: LoaderContext["sourceMap"], options: Options) => Promise<ExtractedData>;
129
+ name: string;
130
+ }
75
131
  type AutoModules = RegExp | boolean | ((id: string) => boolean);
76
132
  interface ExtractedData {
77
133
  css: string;
@@ -107,11 +163,11 @@ interface PostCSSOptions {
107
163
  config?: PostCSSConfigLoaderOptions | false;
108
164
  import?: Partial<ImportOptions> | false;
109
165
  modules?: ModulesOptions | boolean;
110
- parser?: Config["parser"] | string;
166
+ parser?: NonNullable<Config["parser"]> | string;
111
167
  plugins?: (AcceptedPlugin | string | [PluginCreator<unknown> | string, Record<string, unknown>] | [PluginCreator<unknown> | string] | null | undefined)[] | Record<string, unknown>;
112
- stringifier?: Config["stringifier"] | string;
113
- syntax?: Config["syntax"] | string;
114
- to?: Config["to"];
168
+ stringifier?: NonNullable<Config["stringifier"]> | string;
169
+ syntax?: NonNullable<Config["syntax"]> | string;
170
+ to?: NonNullable<Config["to"]>;
115
171
  url?: Partial<UrlOptions> | false;
116
172
  }
117
173
  interface StyleOptions {
@@ -135,60 +191,4 @@ interface StyleOptions {
135
191
  sourceMap?: boolean | "inline" | [boolean | "inline", SourceMapOptions] | [boolean | "inline"];
136
192
  stylus?: StylusLoaderOptions;
137
193
  }
138
- interface Extracted {
139
- css: string;
140
- id: string;
141
- map?: string;
142
- }
143
- interface Loader<T = Record<string, unknown>> {
144
- alwaysProcess?: boolean;
145
- name: string;
146
- process: (this: LoaderContext<T>, payload: Payload) => Payload | Promise<Payload>;
147
- test?: RegExp | ((file: string) => boolean);
148
- }
149
- interface LoaderContext<T = Record<string, unknown>> {
150
- readonly alias?: Record<string, string>;
151
- readonly assets: Map<string, Uint8Array>;
152
- readonly autoModules: InternalStyleOptions["autoModules"];
153
- readonly browserTargets: string[];
154
- readonly cwd?: string;
155
- readonly debug?: boolean;
156
- readonly deps: Set<string>;
157
- readonly dts: InternalStyleOptions["dts"];
158
- readonly emit: InternalStyleOptions["emit"];
159
- readonly environment: Environment;
160
- readonly extensions: InternalStyleOptions["extensions"];
161
- readonly extract: InternalStyleOptions["extract"];
162
- readonly id: string;
163
- readonly inject: InternalStyleOptions["inject"];
164
- readonly inline: InternalStyleOptions["inline"];
165
- readonly logger: RollupLogger;
166
- readonly namedExports: InternalStyleOptions["namedExports"];
167
- readonly options: T;
168
- readonly plugin: PluginContext;
169
- readonly sourceDir?: string;
170
- readonly sourceMap: false | (SourceMapOptions & {
171
- inline: boolean;
172
- });
173
- readonly useSourcemap: boolean;
174
- }
175
- interface Payload {
176
- code: string;
177
- dts?: string;
178
- extracted?: Extracted;
179
- map?: string;
180
- meta?: CustomPluginOptions;
181
- }
182
- interface SourceMapOptions {
183
- content?: boolean;
184
- transform?: (map: RawSourceMap, name?: string) => void;
185
- }
186
- type MinifierContext = {
187
- readonly browserTargets: string[];
188
- readonly logger: RollupLogger;
189
- };
190
- interface Minifier<Options = Record<string, any>> {
191
- handler: (this: MinifierContext, data: ExtractedData, sourceMap: LoaderContext["sourceMap"], options: Options) => Promise<ExtractedData>;
192
- name: string;
193
- }
194
194
  export { AutoModules as A, ExtractedData as E, InternalStyleOptions as I, Loader as L, Minifier as M, PostCSSConfigLoaderOptions as P, StylusLoaderOptions as S, LightningCSSOptions as a, LESSLoaderOptions as b, StylusDefinition as c, StylusLoaderContext as d, StylusPlugin as e, SassLoaderOptions as f, SassLoaderContext as g, StyleOptions as h, InjectOptions as i, PostCSSOptions as j, Extracted as k, LoaderContext as l };
@@ -1,16 +1,16 @@
1
1
  import { SourceMapGenerator, RawSourceMap, SourceMapConsumer } from 'source-map-js';
2
- import { k as Extracted, j as PostCSSOptions, h as StyleOptions, I as InternalStyleOptions, l as LoaderContext } from "../packem_shared/types.d-6pp-2OqA.js";
2
+ import { k as Extracted, j as PostCSSOptions, h as StyleOptions, I as InternalStyleOptions, l as LoaderContext } from "../packem_shared/types.d-naKgtfY0.js";
3
3
  import { RollupLogger } from '@visulima/packem-share/utils';
4
4
  import { Result } from 'postcss-load-config';
5
5
  import { NapiResolveOptions } from 'oxc-resolver';
6
- import '@visulima/packem-share/types';
7
- import 'rollup';
8
6
  import 'cssnano';
9
7
  import 'lightningcss';
10
8
  import 'postcss';
9
+ import '@visulima/packem-share/types';
11
10
  import 'sass';
12
11
  import 'sass-embedded';
13
12
  import 'stylus';
13
+ import 'rollup';
14
14
  declare const arrayFmt: (array: string[]) => string;
15
15
  interface Concatenated {
16
16
  css: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visulima/rollup-plugin-css",
3
- "version": "1.0.0-alpha.55",
3
+ "version": "1.0.0-alpha.56",
4
4
  "description": "CSS processing plugin for packem",
5
5
  "keywords": [
6
6
  "visulima",
@@ -99,7 +99,7 @@
99
99
  "@rollup/pluginutils": "5.4.0",
100
100
  "@visulima/fs": "5.0.0",
101
101
  "@visulima/package": "5.0.0",
102
- "@visulima/packem-share": "1.0.0-alpha.51",
102
+ "@visulima/packem-share": "1.0.0-alpha.52",
103
103
  "@visulima/path": "3.0.0",
104
104
  "mlly": "1.8.2",
105
105
  "oxc-resolver": "11.24.2",