@visulima/packem-rollup 1.0.0-alpha.39 → 1.0.0-alpha.40

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,20 @@
1
+ ## @visulima/packem-rollup [1.0.0-alpha.40](https://github.com/visulima/packem/compare/@visulima/packem-rollup@1.0.0-alpha.39...@visulima/packem-rollup@1.0.0-alpha.40) (2026-03-05)
2
+
3
+ ### Bug Fixes
4
+
5
+ * resolve test failures in packem-rollup and ecosystem tests ([2a43db8](https://github.com/visulima/packem/commit/2a43db81e52ec956e78e3c1ce70038fb40e28345))
6
+
7
+ ### Miscellaneous Chores
8
+
9
+ * **packem-rollup:** update source, tests and build configuration ([1285190](https://github.com/visulima/packem/commit/1285190f6dd67de092a68ca69f6d4c190af0a87e))
10
+ * update dependencies, fix linting and improve code formatting ([d78b132](https://github.com/visulima/packem/commit/d78b1325ce79dbd14deeb6311a74d81f7172a81e))
11
+
12
+
13
+ ### Dependencies
14
+
15
+ * **@visulima/packem-share:** upgraded to 1.0.0-alpha.21
16
+ * **@visulima/rollup-plugin-dts:** upgraded to 1.0.0-alpha.1
17
+
1
18
  ## @visulima/packem-rollup [1.0.0-alpha.39](https://github.com/visulima/packem/compare/@visulima/packem-rollup@1.0.0-alpha.38...@visulima/packem-rollup@1.0.0-alpha.39) (2026-02-21)
2
19
 
3
20
  ### Features
package/dist/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export { default as chunkSplitter } from "./plugins/chunk-splitter/index.d.ts";
3
3
  export { default as browserslistToEsbuild } from "./plugins/esbuild/browserslist-to-esbuild.d.ts";
4
4
  export { default as fixDynamicImportExtension } from "./plugins/fix-dynamic-import-extension.d.ts";
5
5
  export { default as metafilePlugin } from "./plugins/metafile.d.ts";
6
+ export { pureNewExpressionPlugin } from "./plugins/pure-new-expression-plugin.d.ts";
6
7
  export { default as resolveFileUrlPlugin } from "./plugins/resolve-file-url.d.ts";
7
8
  export type { ExtendedRollupNodeResolveOptions, IsolatedDeclarationsResult, IsolatedDeclarationsTransformer, PackemRollupOptions, RollupPlugins, TransformerFn, TransformerName, } from "./types.d.ts";
8
9
  export { default as createSplitChunks } from "./utils/chunks/create-split-chunks.d.ts";
@@ -20,6 +21,5 @@ export { default as replace, type RollupReplaceOptions } from "@rollup/plugin-re
20
21
  export { type RollupWasmOptions, default as wasm } from "@rollup/plugin-wasm";
21
22
  export { default as polyfillNode, type NodePolyfillsOptions as RollupNodePolyfillsOptions } from "rollup-plugin-polyfill-node";
22
23
  export { PluginPure as purePlugin, type PureAnnotationsOptions as RollupPureAnnotationsOptions } from "rollup-plugin-pure";
23
- export { pureNewExpressionPlugin } from "./plugins/pure-new-expression-plugin.d.ts";
24
24
  export type { PluginVisualizerOptions as RollupPluginVisualizerOptions } from "rollup-plugin-visualizer";
25
25
  export { default as visualizer } from "rollup-plugin-visualizer";
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{default as o}from"./packem_shared/cachingPlugin-DLKoeQeF.js";import{default as a}from"./packem_shared/chunkSplitter-DWAy1JkE.js";import{default as l}from"./packem_shared/browserslistToEsbuild-C0IWmbNe.js";import{default as u}from"./packem_shared/fixDynamicImportExtension-BBGNRniz.js";import{default as p}from"./packem_shared/metafilePlugin-CVcqFpPJ.js";import{default as i}from"./packem_shared/resolveFileUrlPlugin-BkpjVHeK.js";import{default as n}from"./packem_shared/createSplitChunks-BrEBZq7d.js";import{default as g}from"./packem_shared/getCustomModuleLayer-d8i66lfh.js";import{default as y}from"./packem_shared/getModuleLayer-rF9RxnJ5.js";import{default as v}from"@rollup/plugin-alias";import{default as E}from"@rollup/plugin-commonjs";import{default as j}from"@rollup/plugin-dynamic-import-vars";import{default as C}from"@rollup/plugin-inject";import{default as L}from"@rollup/plugin-node-resolve";import{default as N}from"@rollup/plugin-replace";import{default as z}from"@rollup/plugin-wasm";import{default as F}from"rollup-plugin-polyfill-node";import{PluginPure as T}from"rollup-plugin-pure";import{pureNewExpressionPlugin as V}from"./packem_shared/pureNewExpressionPlugin-BBXwt_aT.js";import{default as A}from"rollup-plugin-visualizer";export{v as alias,l as browserslistToEsbuild,o as cachingPlugin,a as chunkSplitter,E as commonjs,n as createSplitChunks,j as dynamicImportVars,u as fixDynamicImportExtension,g as getCustomModuleLayer,y as getModuleLayer,C as inject,p as metafilePlugin,L as nodeResolve,F as polyfillNode,V as pureNewExpressionPlugin,T as purePlugin,N as replace,i as resolveFileUrlPlugin,A as visualizer,z as wasm};
1
+ import{default as o}from"./packem_shared/cachingPlugin-DLKoeQeF.js";import{default as a}from"./packem_shared/chunkSplitter-DWAy1JkE.js";import{default as l}from"./packem_shared/browserslistToEsbuild-C0IWmbNe.js";import{default as u}from"./packem_shared/fixDynamicImportExtension-BBGNRniz.js";import{default as p}from"./packem_shared/metafilePlugin-CVcqFpPJ.js";import{pureNewExpressionPlugin as i}from"./packem_shared/pureNewExpressionPlugin-DX9yMcH2.js";import{default as n}from"./packem_shared/resolveFileUrlPlugin-BkpjVHeK.js";import{default as g}from"./packem_shared/createSplitChunks-BrEBZq7d.js";import{default as y}from"./packem_shared/getCustomModuleLayer-d8i66lfh.js";import{default as v}from"./packem_shared/getModuleLayer-rF9RxnJ5.js";import{default as E}from"@rollup/plugin-alias";import{default as j}from"@rollup/plugin-commonjs";import{default as C}from"@rollup/plugin-dynamic-import-vars";import{default as L}from"@rollup/plugin-inject";import{default as N}from"@rollup/plugin-node-resolve";import{default as z}from"@rollup/plugin-replace";import{default as F}from"@rollup/plugin-wasm";import{default as T}from"rollup-plugin-polyfill-node";import{PluginPure as V}from"rollup-plugin-pure";import{default as A}from"rollup-plugin-visualizer";export{E as alias,l as browserslistToEsbuild,o as cachingPlugin,a as chunkSplitter,j as commonjs,g as createSplitChunks,C as dynamicImportVars,u as fixDynamicImportExtension,y as getCustomModuleLayer,v as getModuleLayer,L as inject,p as metafilePlugin,N as nodeResolve,T as polyfillNode,i as pureNewExpressionPlugin,V as purePlugin,z as replace,n as resolveFileUrlPlugin,A as visualizer,F as wasm};
@@ -0,0 +1 @@
1
+ var c=Object.defineProperty;var u=(r,e)=>c(r,"name",{value:e,configurable:!0});import{w as f}from"./index-Dq8IUFTs.js";import m from"magic-string";var d=Object.defineProperty,w=u((r,e)=>d(r,"name",{value:e,configurable:!0}),"p");const y=w(r=>{const e=new Set(r.constructors.filter(t=>!t.includes(".")));return{name:"packem:pure-new-expression",transform:{handler(t){if(e.size===0)return;let i=!1;for(const a of e)if(t.includes(a)){i=!0;break}if(!i)return;let o;try{o=this.parse(t)}catch{return}if(!o)return;const s=new m(t);let p=!1;if(f(o,{enter(a){const n=a;n.type==="NewExpression"&&n.callee.type==="Identifier"&&e.has(n.callee.name)&&!n._rollupAnnotations?.some(l=>l.type==="pure")&&(s.prependLeft(n.start,"/* @__PURE__ */ "),p=!0)}}),!!p)return{code:s.toString(),map:r.sourcemap?s.generateMap({hires:!0}):void 0}},order:"post"}}},"pureNewExpressionPlugin");export{y as pureNewExpressionPlugin};
@@ -1 +1 @@
1
- var g=Object.defineProperty;var l=(n,a)=>g(n,"name",{value:a,configurable:!0});import{stat as x}from"node:fs/promises";import{readFile as h}from"@visulima/fs";import{arrayify as u}from"@visulima/packem-share/utils";import{normalize as b,join as y,relative as w,dirname as F,basename as P}from"@visulima/path";import $ from"glob-parent";import{glob as v}from"tinyglobby";var A=Object.defineProperty,j=l((n,a)=>A(n,"name",{value:a,configurable:!0}),"f");const C=j((n,a)=>{const c=new Map,p={copyOnce:!0,exactFileNames:!0,flatten:!1,...n};let{targets:s}=p;return Array.isArray(s)?s=s.map(o=>{if(typeof o=="string")return{src:o};if(typeof o=="object"&&"src"in o)return o}).filter(Boolean):typeof s=="string"&&(s=[{src:s}]),{async buildStart(){const o=await Promise.all(s.flatMap(e=>Array.isArray(e.src)?e.src.map(r=>({...e,src:r})):e).map(async e=>await v(u(e.src),{ignore:u(e.exclude).filter(Boolean)}).then(r=>({dest:e.dest??"",parent:$(e.src),src:r}))));for(const e of o)for(const r of e.src){let i;c.has(r)?i=c.get(r):(i={copied:[],dest:[],timestamp:0},c.set(r,i));const t=p.flatten?b(e.dest):y(e.dest,w(e.parent,F(r)));i.dest.includes(t)||i.dest.push(t),this.addWatchFile(r)}a.info({message:"Copying files...",prefix:"plugin:copy"}),await Promise.all([...c].map(async([e,r])=>{let i;try{const t=await x(e);if(!t.isFile())return;const m=t.mtime.getTime();m>r.timestamp&&(r.timestamp=m,r.copied=[]),i=await h(e,{buffer:!0})}catch(t){a.error({context:[t],message:`error reading file ${e}`,prefix:"plugin:copy"});return}for(const t of r.dest){if(p.copyOnce&&r.copied.includes(t))continue;const m=P(e),f=y(t,m);try{this.emitFile({[p.exactFileNames?"fileName":"name"]:f,source:i,type:"asset"}),a.debug({message:`copied ${e} → ${f}`,prefix:"plugin:copy"}),r.copied.push(t)}catch(d){a.error({context:[d],message:`error copying file ${e} → ${f}`,prefix:"plugin:copy"})}}}))},name:"packem:copy"}},"copyPlugin");export{C as copyPlugin};
1
+ var g=Object.defineProperty;var f=(c,a)=>g(c,"name",{value:a,configurable:!0});import{stat as x}from"node:fs/promises";import{readFile as h}from"@visulima/fs";import{arrayify as y}from"@visulima/packem-share/utils";import{normalize as b,join as u,relative as w,dirname as F,basename as A}from"@visulima/path";import P from"glob-parent";import{glob as $}from"tinyglobby";var v=Object.defineProperty,j=f((c,a)=>v(c,"name",{value:a,configurable:!0}),"f");const C=j((c,a)=>{const n=new Map,p={copyOnce:!0,exactFileNames:!0,flatten:!1,...c};let{targets:o}=p;return Array.isArray(o)?o=o.map(s=>{if(typeof s=="string")return{src:s};if(typeof s=="object"&&"src"in s)return s}).filter(Boolean):typeof o=="string"&&(o=[{src:o}]),{async buildStart(){const s=await Promise.all(o.flatMap(e=>Array.isArray(e.src)?e.src.map(r=>({...e,src:r})):e).map(async e=>await $(y(e.src),{ignore:y(e.exclude).filter(Boolean)}).then(r=>({dest:e.dest??"",parent:P(e.src),src:r}))));for(const e of s)for(const r of e.src){let i;n.has(r)?i=n.get(r):(i={copied:[],dest:[],timestamp:0},n.set(r,i));const t=p.flatten?b(e.dest):u(e.dest,w(e.parent,F(r)));i.dest.includes(t)||i.dest.push(t),this.addWatchFile(r)}a.info({message:"Copying files...",prefix:"plugin:copy"}),await Promise.all(Array.from(n,async([e,r])=>{let i;try{const t=await x(e);if(!t.isFile())return;const l=t.mtime.getTime();l>r.timestamp&&(r.timestamp=l,r.copied=[]),i=await h(e,{buffer:!0})}catch(t){a.error({context:[t],message:`error reading file ${e}`,prefix:"plugin:copy"});return}for(const t of r.dest){if(p.copyOnce&&r.copied.includes(t))continue;const l=A(e),m=u(t,l);try{this.emitFile({[p.exactFileNames?"fileName":"name"]:m,source:i,type:"asset"}),a.debug({message:`copied ${e} → ${m}`,prefix:"plugin:copy"}),r.copied.push(t)}catch(d){a.error({context:[d],message:`error copying file ${e} → ${m}`,prefix:"plugin:copy"})}}}))},name:"packem:copy"}},"copyPlugin");export{C as copyPlugin};
@@ -1,2 +1,2 @@
1
- var I=Object.defineProperty;var $=(e,t)=>I(e,"name",{value:t,configurable:!0});import j from"node:fs/promises";import{createFilter as M}from"@rollup/pluginutils";import B from"magic-string";import*as E from"rs-module-lexer";var A=Object.defineProperty,d=$((e,t)=>A(e,"name",{value:t,configurable:!0}),"c");const D=/\.[mc]?tsx?(?:\?.*)?$/,O=/(?:\.(?:[tj]s|[tj]sx)|\/index\.(?:[tj]s|[tj]sx))(?:\?.*)?$/,k=/^\s*export/,z={exports:[],facade:!1,imports:[]},b=d(e=>D.test(e),"isSourceFile"),y=d(e=>e.includes("/build/cache/vite/")||e.includes("/node_modules/"),"isIgnoredModule"),K=d((e,t)=>y(e)?!1:O.test(e)?!0:t.possibleBarrelFiles?t.possibleBarrelFiles.some(s=>e.match(s)):!1,"isPossibleBarrelSpecifier"),N=d(e=>k.test(e)?"export":"import","getDeclarationKind"),{parseAsync:R}=E,C=d(async(e,t,s)=>{try{const{output:r}=await R({input:[{code:t,filename:e}]});return r[0]}catch(r){return s.debug({message:`Failed to parse ${e}:
2
- ${r instanceof Error?r.message:String(r)}`,prefix:"plugin:debarrel"}),z}},"safeParse"),T=d(async(e,t,s,r)=>{const a=e.parseCache.get(t);if(a!==void 0)return a;const i=await C(t,s,r);return e.parseCache.set(t,i),i},"parsePotentialBarrelFile"),P=d((e,t)=>{const s=e.fileCache.get(t);if(s!==void 0)return s;const r=j.readFile(t,"utf8");return e.fileCache.set(t,r),r},"readFileCached"),S=d(e=>{const t=/^(?:import|export)\s+([\w$]+)/,s=/([\w$]+)\s*,\s*\{|\}\s*,\s*([\w$]+)/,r=/[{,]\s*(type\s+)?([\w$]+)(?:\s+as\s+([\w$]+))?/gi;r.lastIndex=0;const a=[];if(e.includes("*"))return a;if(!e.includes("{")){const n=e.match(t);return n&&a.push({imported:"default",local:n[1]}),a}const i=e.match(s);i&&a.push({imported:"default",local:i[1]||i[2]});let o;for(;o=r.exec(e);)o[1]||o[2]&&a.push({imported:o[2],local:o[3]});return a},"getImportNames"),_=d((e,t,s)=>{let r=e.ln,a=t.find(i=>i.ss<e.s&&i.se>e.e&&i.d===-1);if(!a||!a.n){const i=r||s.slice(e.s).match(/default\s+([a-zA-Z_$][\w$]*)(?:;|\n|$)/)?.[1];i&&(a=t.find(o=>{const n=S(s.slice(o.ss,o.s)).find(l=>l.local===i);return n&&(r=n.imported),n}))}if(a&&!r){const i=s.slice(a.ss,e.s);if(!i.includes("*")){const o=i.match(/([\w$]+)\s*as\s*$/)?.[1];o&&(r=o)}}return{imp:a,localExportName:r}},"findMatchingImport"),v=d(async(e,t,s,r,a)=>{const{resolve:i}=e,o=await P(e,t),{exports:n,imports:l}=await T(e,t,o,a);for await(const c of n){const u=c.n;if(u!==s)continue;const f=_(c,l,o),{imp:p,localExportName:h}=f;if(!p||!p.n)return{exportName:s,id:t,resolved:!0};if(p.d>-1)return{exportName:s,id:t,resolved:!0};let g;const x=o.slice(p.ss,c.s);if(N(x)==="import"&&/\bas\b/.test(x)){const F=new RegExp(String.raw`(\w+)\s+as\s+${s}(?!\w)`);g=x.match(F)?.[0]}const w=(await i(p.n,t))?.id;return w?K(w,r)?v(e,w,h||u,r,a):{aliasedImportName:g,exportName:h||s,id:w,resolved:!1}:{aliasedImportName:g,exportName:h,id:t,resolved:!1}}const m=l.filter(c=>/^export\s+\*(?!\s+as)/.test(o.slice(c.ss,c.s)));if(m.length===1){const c=m[0]?.n,u=c?(await e.resolve(c,t))?.id:void 0;if(!u)return{exportName:s,id:t,resolved:!1};const f=await v(e,u,s,r);if(f.resolved)return f}else if(m.length>1){const c=(await Promise.all(m.map(async u=>{const f=u.n,p=f?(await e.resolve(f,t))?.id:void 0;if(p)return v(e,p,s,r)}))).find(u=>u?.resolved);if(c)return c}return{exportName:s,id:t,resolved:!1}},"resolveThroughBarrel"),J=d((e,t,s)=>{const{aliasedImportName:r,exportName:a}=e,i=t.local||t.imported;return r?`{${r}}`:a==="default"&&s!=="export"?i:`{${a!==i?`${a} as ${i}`:a}}`},"getDeclarationClause"),L=d(async(e,t,s,r,a)=>{const i=[],o=await P(e,t),{imports:n}=await C(t,o,a);return await Promise.all(n.map(async l=>{if(!l.n||l.d!==-1)return;const m=o.slice(l.ss,l.s),c=S(m);if(c.length===0)return;const u=(await e.resolve(l.n,t))?.id;if(!u||!b(u)||y(u))return;const f=N(m);try{const p=await Promise.all(c.map(async h=>{const g=await v(e,u,h.imported,r);if(!g)return;const x=J(g,h,f),w=JSON.stringify(g.id);return`${f} ${x} from ${w}`}));if(p.includes(void 0))return;i.push([l.ss,l.se,p.join(";")])}catch(p){a.warn({context:{error:p},message:p.toString(),prefix:"plugin:debarrel"})}})),i},"getDebarrelModifications"),X=d((e,t,s,r)=>{if(s.length===0)return;const a=new B(t,{filename:e});for(const[i,o,n]of s)a.update(i,o,n);return{code:a.toString(),map:r?a.generateMap({file:e}):void 0}},"applyModifications"),Q=d((e,t)=>{const s=new Map,r=new Map,a=d(()=>{s.clear(),r.clear()},"purgeCaches"),i=e.include?M(e.include,[]):void 0;let o=!0;return{buildEnd:a,buildStart:a,async load(n){const l=s.get(n);if(l)return await l},name:"packem:debarrel",options(n){(n.output&&(Array.isArray(n.output)?n.output[0]?.sourcemap:n.output?.sourcemap))===!1&&(o=!1)},async transform(n,l){if(!b(l)||i&&!i(l))return;const m={fileCache:s,parseCache:r,resolve:this.resolve.bind(this)},c=await L(m,l,n,e,t);return X(l,n,c,o)},watchChange(n){s.delete(n),r.delete(n)}}},"debarrelPlugin");export{Q as debarrelPlugin};
1
+ var I=Object.defineProperty;var $=(e,t)=>I(e,"name",{value:t,configurable:!0});import j from"node:fs/promises";import{createFilter as M}from"@rollup/pluginutils";import B from"magic-string";import*as E from"rs-module-lexer";var A=Object.defineProperty,d=$((e,t)=>A(e,"name",{value:t,configurable:!0}),"c");const D=/\.[mc]?tsx?(?:\?.*)?$/,O=/(?:\.(?:[tj]s|[tj]sx)|\/index\.(?:[tj]s|[tj]sx))(?:\?.*)?$/,k=/^\s*export/,z={exports:[],facade:!1,imports:[]},b=d(e=>D.test(e),"isSourceFile"),y=d(e=>e.includes("/build/cache/vite/")||e.includes("/node_modules/"),"isIgnoredModule"),K=d((e,t)=>y(e)?!1:O.test(e)?!0:t.possibleBarrelFiles?t.possibleBarrelFiles.some(r=>e.match(r)):!1,"isPossibleBarrelSpecifier"),N=d(e=>k.test(e)?"export":"import","getDeclarationKind"),{parseAsync:R}=E,C=d(async(e,t,r)=>{try{const{output:a}=await R({input:[{code:t,filename:e}]});return a[0]}catch(a){return r.debug({message:`Failed to parse ${e}:
2
+ ${a instanceof Error?a.message:String(a)}`,prefix:"plugin:debarrel"}),z}},"safeParse"),T=d(async(e,t,r,a)=>{const s=e.parseCache.get(t);if(s!==void 0)return s;const i=await C(t,r,a);return e.parseCache.set(t,i),i},"parsePotentialBarrelFile"),P=d((e,t)=>{const r=e.fileCache.get(t);if(r!==void 0)return r;const a=j.readFile(t,"utf8");return e.fileCache.set(t,a),a},"readFileCached"),S=d(e=>{const t=/^(?:import|export)\s+([\w$]+)/,r=/([\w$]+)\s*,\s*\{|\}\s*,\s*([\w$]+)/,a=/[{,]\s*(type\s+)?([\w$]+)(?:\s+as\s+([\w$]+))?/gi;a.lastIndex=0;const s=[];if(e.includes("*"))return s;if(!e.includes("{")){const n=e.match(t);return n&&s.push({imported:"default",local:n[1]}),s}const i=e.match(r);i&&s.push({imported:"default",local:i[1]||i[2]});let o;for(;o=a.exec(e);)o[1]||o[2]&&s.push({imported:o[2],local:o[3]});return s},"getImportNames"),_=d((e,t,r)=>{let a=e.ln,s=t.find(i=>i.ss<e.s&&i.se>e.e&&i.d===-1);if(!s||!s.n){const i=a||r.slice(e.s).match(/default\s+([a-zA-Z_$][\w$]*)(?:;|\n|$)/)?.[1];i&&(s=t.find(o=>{const n=S(r.slice(o.ss,o.s)).find(l=>l.local===i);return n&&(a=n.imported),n}))}if(s&&!a){const i=r.slice(s.ss,e.s);if(!i.includes("*")){const o=i.match(/([\w$]+)\s*as\s*$/)?.[1];o&&(a=o)}}return{imp:s,localExportName:a}},"findMatchingImport"),v=d(async(e,t,r,a,s)=>{const{resolve:i}=e,o=await P(e,t),{exports:n,imports:l}=await T(e,t,o,s);for await(const c of n){const u=c.n;if(u!==r)continue;const f=_(c,l,o),{imp:p,localExportName:h}=f;if(!p||!p.n)return{exportName:r,id:t,resolved:!0};if(p.d>-1)return{exportName:r,id:t,resolved:!0};let g;const x=o.slice(p.ss,c.s);if(N(x)==="import"&&/\bas\b/.test(x)){const F=new RegExp(String.raw`(\w+)\s+as\s+${r}(?!\w)`);g=x.match(F)?.[0]}const w=(await i(p.n,t))?.id;return w?K(w,a)?v(e,w,h||u,a,s):{aliasedImportName:g,exportName:h||r,id:w,resolved:!1}:{aliasedImportName:g,exportName:h,id:t,resolved:!1}}const m=l.filter(c=>/^export\s+\*(?!\s+as)/.test(o.slice(c.ss,c.s)));if(m.length===1){const c=m[0]?.n,u=c?(await e.resolve(c,t))?.id:void 0;if(!u)return{exportName:r,id:t,resolved:!1};const f=await v(e,u,r,a,s);if(f.resolved)return f}else if(m.length>1){const c=(await Promise.all(m.map(async u=>{const f=u.n,p=f?(await e.resolve(f,t))?.id:void 0;if(p)return v(e,p,r,a,s)}))).find(u=>u?.resolved);if(c)return c}return{exportName:r,id:t,resolved:!1}},"resolveThroughBarrel"),J=d((e,t,r)=>{const{aliasedImportName:a,exportName:s}=e,i=t.local||t.imported;return a?`{${a}}`:s==="default"&&r!=="export"?i:`{${s!==i?`${s} as ${i}`:s}}`},"getDeclarationClause"),L=d(async(e,t,r,a,s)=>{const i=[],o=await P(e,t),{imports:n}=await C(t,o,s);return await Promise.all(n.map(async l=>{if(!l.n||l.d!==-1)return;const m=o.slice(l.ss,l.s),c=S(m);if(c.length===0)return;const u=(await e.resolve(l.n,t))?.id;if(!u||!b(u)||y(u))return;const f=N(m);try{const p=await Promise.all(c.map(async h=>{const g=await v(e,u,h.imported,a,s);if(!g)return;const x=J(g,h,f),w=JSON.stringify(g.id);return`${f} ${x} from ${w}`}));if(p.includes(void 0))return;i.push([l.ss,l.se,p.join(";")])}catch(p){s.warn({context:{error:p},message:String(p),prefix:"plugin:debarrel"})}})),i},"getDebarrelModifications"),X=d((e,t,r,a)=>{if(r.length===0)return;const s=new B(t,{filename:e});for(const[i,o,n]of r)s.update(i,o,n);return{code:s.toString(),map:a?s.generateMap({file:e}):void 0}},"applyModifications"),Q=d((e,t)=>{const r=new Map,a=new Map,s=d(()=>{r.clear(),a.clear()},"purgeCaches"),i=e.include?M(e.include,[]):void 0;let o=!0;return{buildEnd:s,buildStart:s,async load(n){const l=r.get(n);if(l)return await l},name:"packem:debarrel",options(n){(n.output&&(Array.isArray(n.output)?n.output[0]?.sourcemap:n?.output?.sourcemap))===!1&&(o=!1)},async transform(n,l){if(!b(l)||i&&!i(l))return;const m={fileCache:r,parseCache:a,resolve:this.resolve.bind(this)},c=await L(m,l,n,e,t);return X(l,n,c,o)},watchChange(n){r.delete(n),a.delete(n)}}},"debarrelPlugin");export{Q as debarrelPlugin};
@@ -1,3 +1,3 @@
1
1
  var b=Object.defineProperty;var g=(t,e)=>b(t,"name",{value:e,configurable:!0});import{createFilter as E}from"@rollup/pluginutils";import H from"magic-string";import p from"typescript";import N from"clean-css";import{minify as j}from"html-minifier-next";let y;const A={getHeadTemplatePart(t){const e=t.getFullText(y),i=e.indexOf("`")+1,r=p.isTemplateHead(t)?-2:-1;return{end:t.end+r,start:t.pos+i,text:e.slice(i,e.length+r)}},getMiddleTailTemplatePart(t){const e=t.getText(y),i=p.isTemplateMiddle(t)?2:1;return{end:t.end-i,start:t.getStart(y)+1,text:e.slice(1,e.length-i)}},getRootNode(t,e=""){return p.createSourceFile(e,t,p.ScriptTarget.ESNext)},getTaggedTemplateTemplate(t){return t.template},getTagText(t){return t.tag.getText(y)},getTemplateParts(t){return p.isNoSubstitutionTemplateLiteral(t)?[this.getHeadTemplatePart(t)]:[this.getHeadTemplatePart(t.head),...t.templateSpans.map(e=>this.getMiddleTailTemplatePart(e.literal))]},isTaggedTemplate:p.isTaggedTemplateExpression,isTemplate:p.isTemplateLiteral,walkChildNodes(t,e){e(t),p.forEachChild(t,i=>{this.walkChildNodes(i,e)})},walkNodes(t,e){y=t,this.walkChildNodes(t,e),y=void 0}};var k=Object.defineProperty,V=g((t,e)=>k(t,"name",{value:e,configurable:!0}),"i");const W=V((t,e={})=>{const i={...A,...e.strategy},r=[],s=[];return i.walkNodes(i.getRootNode(t,e.fileName),a=>{if(i.isTaggedTemplate(a)){const n=i.getTaggedTemplateTemplate(a);s.push(n),r.push({parts:i.getTemplateParts(n),tag:i.getTagText(a)})}else i.isTemplate(a)&&!s.includes(a)&&r.push({parts:i.getTemplateParts(a)})}),r},"parseLiterals");var $=Object.defineProperty,C=g((t,e)=>$(t,"name",{value:e,configurable:!0}),"f");const S={One:"1",Two:"2",Zero:"0"},F=C(t=>{const e={[S.One]:{tidySelectors:!1,transform:void 0},[S.Two]:{tidySelectors:!1,transform:void 0},[S.Zero]:{}};if(t===void 0)return e;if(typeof t=="number"){const i=t.toString();return{...e,[i]:{...e[i]}}}return t},"optimizationLevelFrom"),P=C((t,e)=>{const i=/(:.+\((.*)\))\s*\{/g;let r;for(;(r=i.exec(t))!==null;){const s=r[1],a=r[2];if(!s||!a||!/\s/.test(a))continue;const n=a.replaceAll(/\s/g,""),o=s.replace(a,n),f=e.indexOf(o);if(f===-1)continue;const u=f+o.length;e=e.slice(0,Math.max(0,f))+s+e.slice(Math.max(0,u))}return e},"fixCleanCssTidySelectors"),R={},B={caseSensitive:!0,collapseWhitespace:!0,decodeEntities:!0,minifyCSS:R,minifyJS:!0,processConditionalComments:!0,removeAttributeQuotes:!1,removeComments:!0,removeEmptyAttributes:!0,removeScriptTypeAttributes:!0,removeStyleLinkTypeAttributes:!0,useShortDoctype:!0},x=C((t={})=>{const e=F(t.level),i=typeof t.level=="object"&&t.level[1]&&t.level[1].transform;return e[S.One].transform=(r,s)=>s.startsWith("@TEMPLATE_EXPRESSION")&&!s.endsWith(";")?s=`${s};`:i?i(r,s):s,{...t,level:e}},"adjustMinifyCSSOptions"),_={combineHTMLStrings(t,e){return t.map(i=>i.text).join(e)},getPlaceholder(t){let e="@TEMPLATE_EXPRESSION";for(;t.some(i=>i.text.includes(e+"();"));)e+="_";return e+"();"},minifyCSS(t,e={}){const i=x(e),r=new N(i).minify(t);if(r.errors&&r.errors.length>0)throw new Error(r.errors.join(`
2
2
 
3
- `));return i.level[S.One].tidySelectors&&(r.styles=P(t,r.styles)),r.styles},async minifyHTML(t,e={}){let i;e.minifyCSS?i=e.minifyCSS!==!0&&typeof e.minifyCSS!="function"?{...e.minifyCSS}:{}:i=!1;let r=!1;i&&(r=x(i));let s=await j(t,{...e,minifyCSS:r});if(e.collapseWhitespace){const a=[...s.matchAll(/<svg/g)].reverse();for(const n of a){const o=n.index,f=s.indexOf("</svg",o);if(f===-1)continue;const u=s.slice(0,Math.max(0,o));let l=s.substring(o,f);const d=s.slice(Math.max(0,f));l=l.replaceAll(/\r?\n/g,""),s=u+l+d}}return r&&r.level[S.One].tidySelectors&&(s=P(t,s)),s},splitHTMLByPlaceholder(t,e){const i=t.split(e);if(e.endsWith(";")){const r=e.slice(0,Math.max(0,e.length-1));for(let s=i.length-1;s>=0;s--){const a=i[s];a!==void 0&&i.splice(s,1,...a.split(r))}}return i}};var G=Object.defineProperty,M=g((t,e)=>G(t,"name",{value:e,configurable:!0}),"l");const I=M((t,e)=>t.generateMap({file:`${e}.map`,hires:!0,source:e}),"defaultGenerateSourceMap"),X=M(t=>{const e=t.tag&&t.tag.toLowerCase();return!!e&&(e.includes("html")||e.includes("svg"))},"defaultShouldMinify"),Z=M(t=>!!t.tag&&t.tag.toLowerCase().includes("css"),"defaultShouldMinifyCSS"),z={ensureHTMLPartsValid(t,e){if(t.length!==e.length)throw new Error("splitHTMLByPlaceholder() must return same number of strings as template parts")},ensurePlaceholderValid(t){if(typeof t!="string"||t.length===0)throw new Error("getPlaceholder() must return a non-empty string")}};async function w(t,e={}){e.minifyOptions={...B,...e.minifyOptions},e.MagicString||(e.MagicString=H),e.parseLiterals||(e.parseLiterals=W),e.shouldMinify||(e.shouldMinify=X),e.shouldMinifyCSS||(e.shouldMinifyCSS=Z),e.parseLiteralsOptions={fileName:e.fileName,...e.parseLiteralsOptions};const i=e.parseLiterals(t,e.parseLiteralsOptions),r=e.strategy||_,{shouldMinify:s,shouldMinifyCSS:a}=e;let n;e.validate!==!1&&(n=e.validate||z);const o=new e.MagicString(t);for(const l of i){const d=s(l),O=!!r.minifyCSS&&a(l);if(d||O){const v=r.getPlaceholder(l.parts);n&&n.ensurePlaceholderValid(v);const T=r.combineHTMLStrings(l.parts,v);let h;if(O){const c=(e.minifyOptions||{}).minifyCSS;if(typeof c=="function"){const m=c(T);h=typeof m=="string"?m:await m}else if(c===!1)h=T;else{const m=typeof c=="object"?c:void 0;h=await r.minifyCSS(T,m)}}else h=await r.minifyHTML(T,e.minifyOptions);const L=r.splitHTMLByPlaceholder(h,v);n&&n.ensureHTMLPartsValid(l.parts,L),l.parts.forEach((c,m)=>{c.start<c.end&&L[m]!==void 0&&o.overwrite(c.start,c.end,L[m])})}}const f=o.toString();if(t===f)return;let u;return e.generateSourceMap!==!1&&(u=(e.generateSourceMap||I)(o,e.fileName??"")),{code:f,map:u}}g(w,"minifyHTMLLiterals");M(w,"minifyHTMLLiterals");var D=Object.defineProperty,J=g((t,e)=>D(t,"name",{value:e,configurable:!0}),"o");const te=J(({exclude:t,failOnError:e=!1,include:i,logger:r,minifyHTMLLiterals:s,options:a})=>{s||(s=w);const n=E(i,t),o=a||{};return{name:"packem:minify-html-literals",async transform(f,u){if(n(u))try{return await s(f,{...o,fileName:u})}catch(l){const d=l instanceof Error?l.message:l;e?this.error(d):r.warn({message:d,prefix:"plugin:minify-html-literals"})}}}},"minifyHTMLLiteralsPlugin");export{te as default,te as minifyHTMLLiteralsPlugin};
3
+ `));return i.level?.[S.One]?.tidySelectors&&(r.styles=P(t,r.styles)),r.styles},async minifyHTML(t,e={}){let i;e.minifyCSS?i=e.minifyCSS!==!0&&typeof e.minifyCSS!="function"?{...e.minifyCSS}:{}:i=!1;let r=!1;i&&(r=x(i));let s=await j(t,{...e,minifyCSS:r});if(e.collapseWhitespace){const a=[...s.matchAll(/<svg/g)].reverse();for(const n of a){const o=n.index,f=s.indexOf("</svg",o);if(f===-1)continue;const u=s.slice(0,Math.max(0,o));let l=s.substring(o,f);const d=s.slice(Math.max(0,f));l=l.replaceAll(/\r?\n/g,""),s=u+l+d}}return r&&r.level?.[S.One]?.tidySelectors&&(s=P(t,s)),s},splitHTMLByPlaceholder(t,e){const i=t.split(e);if(e.endsWith(";")){const r=e.slice(0,Math.max(0,e.length-1));for(let s=i.length-1;s>=0;s--){const a=i[s];a!==void 0&&i.splice(s,1,...a.split(r))}}return i}};var G=Object.defineProperty,M=g((t,e)=>G(t,"name",{value:e,configurable:!0}),"l");const I=M((t,e)=>t.generateMap({file:`${e}.map`,hires:!0,source:e}),"defaultGenerateSourceMap"),X=M(t=>{const e=t.tag&&t.tag.toLowerCase();return!!e&&(e.includes("html")||e.includes("svg"))},"defaultShouldMinify"),Z=M(t=>!!t.tag&&t.tag.toLowerCase().includes("css"),"defaultShouldMinifyCSS"),z={ensureHTMLPartsValid(t,e){if(t.length!==e.length)throw new Error("splitHTMLByPlaceholder() must return same number of strings as template parts")},ensurePlaceholderValid(t){if(typeof t!="string"||t.length===0)throw new Error("getPlaceholder() must return a non-empty string")}};async function w(t,e={}){e.minifyOptions={...B,...e.minifyOptions},e.MagicString||(e.MagicString=H),e.parseLiterals||(e.parseLiterals=W),e.shouldMinify||(e.shouldMinify=X),e.shouldMinifyCSS||(e.shouldMinifyCSS=Z),e.parseLiteralsOptions={fileName:e.fileName,...e.parseLiteralsOptions};const i=e.parseLiterals(t,e.parseLiteralsOptions),r=e.strategy||_,{shouldMinify:s,shouldMinifyCSS:a}=e;let n;e.validate!==!1&&(n=e.validate||z);const o=new e.MagicString(t);for(const l of i){const d=s(l),O=!!r.minifyCSS&&a(l);if(d||O){const v=r.getPlaceholder(l.parts);n&&n.ensurePlaceholderValid(v);const T=r.combineHTMLStrings(l.parts,v);let h;if(O){const c=(e.minifyOptions||{}).minifyCSS;if(typeof c=="function"){const m=c(T);h=typeof m=="string"?m:await m}else if(c===!1)h=T;else{const m=typeof c=="object"?c:void 0;h=await r.minifyCSS(T,m)}}else h=await r.minifyHTML(T,e.minifyOptions);const L=r.splitHTMLByPlaceholder(h,v);n&&n.ensureHTMLPartsValid(l.parts,L),l.parts.forEach((c,m)=>{c.start<c.end&&L[m]!==void 0&&o.overwrite(c.start,c.end,L[m])})}}const f=o.toString();if(t===f)return;let u;return e.generateSourceMap!==!1&&(u=(e.generateSourceMap||I)(o,e.fileName??"")),{code:f,map:u}}g(w,"minifyHTMLLiterals");M(w,"minifyHTMLLiterals");var D=Object.defineProperty,J=g((t,e)=>D(t,"name",{value:e,configurable:!0}),"o");const te=J(({exclude:t,failOnError:e=!1,include:i,logger:r,minifyHTMLLiterals:s,options:a})=>{s||(s=w);const n=E(i,t),o=a||{};return{name:"packem:minify-html-literals",async transform(f,u){if(n(u))try{return await s(f,{...o,fileName:u})}catch(l){const d=l instanceof Error?l.message:l;e?this.error(d):r.warn({message:d,prefix:"plugin:minify-html-literals"})}}}},"minifyHTMLLiteralsPlugin");export{te as default,te as minifyHTMLLiteralsPlugin};
@@ -190,7 +190,7 @@ export declare const defaultValidation: Validation;
190
190
  * @param options minification options
191
191
  * @returns the minified code, or null if no minification occurred.
192
192
  */
193
- export declare function minifyHTMLLiterals(source: string, options?: DefaultOptions): Promise<Result | null>;
193
+ export declare function minifyHTMLLiterals(source: string, options?: DefaultOptions): Promise<Result | null | undefined>;
194
194
  /**
195
195
  * Minifies all HTML template literals in the provided source string.
196
196
  * @param source the source code
@@ -1 +1 @@
1
- var h=Object.defineProperty;var m=(s,o)=>h(s,"name",{value:o,configurable:!0});import{copyFile as w}from"node:fs/promises";import{isAccessible as A,ensureDir as P}from"@visulima/fs";import{resolve as v,dirname as c,basename as f,extname as b,join as g}from"@visulima/path";var x=Object.defineProperty,y=m((s,o)=>x(s,"name",{value:o,configurable:!0}),"c");const d="\0natives:",B=y((s={})=>{const{nativesDirectory:o="natives"}=s,a=new Map;let n;return{buildStart(){a.clear()},generateBundle:y(async r=>{if(!n){const e=Array.isArray(r)?r[0]:r;e&&e.dir?n=e.dir:e&&e.file&&(n=c(e.file))}if(a.size===0)return;if(!n){(void 0).error("Output directory not detected. Please ensure Rollup output options are configured.");return}const t=g(n,o);await P(t),await Promise.all([...a.entries()].map(([e,i])=>{const u=g(t,i);return w(e,u)}))},"generateBundle"),load(r){if(!r.startsWith(d))return;const t=r.slice(d.length),e=a.get(t);if(e||this.error(`Could not find staged native module for: ${t}`),!n){const i=this;if(i&&i.meta&&i.meta.rollupVersion)return`export default require("./${o}/${e}");`;this.error("Output directory not detected. Please ensure Rollup output options are configured.")}return`export default require("${`./${o}/${e}`.replaceAll("\\","/")}");`},name:"native-modules",options(r){const t=r;if(t.output){const e=Array.isArray(t.output)?t.output[0]:t.output;e.dir?n=e.dir:e.file&&(n=c(e.file))}return r},resolveId:{filter:{id:/\.node$/},async handler(r,t){if(r.startsWith(d))return;const e=t?v(c(t),r):v(r);if(!await A(e)){this.warn(`Native module not found: ${e}`);return}const i=f(e);let u=i,p=1;const $=new Set([...a.values()].map(l=>f(l)));for(;$.has(u);){const l=b(i);u=`${f(i,l)}_${p}${l}`,p+=1}return a.set(e,u),d+e}}}},"nativeModulesPlugin");export{B as nativeModulesPlugin};
1
+ var $=Object.defineProperty;var m=(a,i)=>$(a,"name",{value:i,configurable:!0});import{copyFile as w}from"node:fs/promises";import{isAccessible as A,ensureDir as P}from"@visulima/fs";import{resolve as v,dirname as c,basename as f,extname as b,join as g}from"@visulima/path";var x=Object.defineProperty,h=m((a,i)=>x(a,"name",{value:i,configurable:!0}),"f");const d="\0natives:",B=h((a={})=>{const{nativesDirectory:i="natives"}=a,u=new Map;let n;return{buildStart(){u.clear()},generateBundle:h(async r=>{if(u.size===0)return;if(n||(r.dir?n=r.dir:r.file&&(n=c(r.file))),!n)throw new Error("Output directory not detected. Please ensure Rollup output options are configured.");const t=g(n,i);await P(t),await Promise.all(Array.from(u.entries(),([e,o])=>{const s=g(t,o);return w(e,s)}))},"generateBundle"),load(r){if(!r.startsWith(d))return;const t=r.slice(d.length),e=u.get(t);if(e||this.error(`Could not find staged native module for: ${t}`),!n){const o=this;if(o&&o.meta&&o.meta.rollupVersion)return`export default require("./${i}/${e}");`;this.error("Output directory not detected. Please ensure Rollup output options are configured.")}return`export default require("${`./${i}/${e}`.replaceAll("\\","/")}");`},name:"native-modules",options(r){const t=r;if(t.output){const e=Array.isArray(t.output)?t.output[0]:t.output;e.dir?n=e.dir:e.file&&(n=c(e.file))}return r},resolveId:{filter:{id:/\.node$/},async handler(r,t){if(r.startsWith(d))return;const e=t?v(c(t),r):v(r);if(!await A(e)){this.warn(`Native module not found: ${e}`);return}const o=f(e);let s=o,p=1;const y=new Set(Array.from(u.values(),l=>f(l)));for(;y.has(s);){const l=b(o);s=`${f(o,l)}_${p}${l}`,p+=1}return u.set(e,s),d+e}}}},"nativeModulesPlugin");export{B as nativeModulesPlugin};
@@ -1,4 +1,4 @@
1
- var b=Object.defineProperty;var v=(d,a)=>b(d,"name",{value:a,configurable:!0});import{createFilter as x}from"@rollup/pluginutils";import g from"magic-string";var y=Object.defineProperty,$=v((d,a)=>y(d,"name",{value:a,configurable:!0}),"l");const S=$(({directiveRegex:d,exclude:a=[],include:m=[],logger:p})=>{const u={},l={},h=x(m,a);return{name:"packem:preserve-directives",onLog(i,t){if(t.code==="MODULE_LEVEL_DIRECTIVE"&&i==="warn")return!1},renderChunk:{handler(i,t,{sourcemap:c}){const s=t.moduleIds.map(r=>{if(u[r])return u[r]}).reduce((r,f)=>(f&&f.forEach(o=>{r.add(o)}),r),new Set),n=new g(i);s.size>0&&(p.debug({message:`directives for chunk "${t.fileName}" are preserved.`,prefix:"plugin:preserve-directives"}),n.prepend(`${[...s].map(r=>`'${r}';`).join(`
1
+ var b=Object.defineProperty;var v=(d,o)=>b(d,"name",{value:o,configurable:!0});import{createFilter as x}from"@rollup/pluginutils";import g from"magic-string";var y=Object.defineProperty,$=v((d,o)=>y(d,"name",{value:o,configurable:!0}),"l");const S=$(({directiveRegex:d,exclude:o=[],include:m=[],logger:p})=>{const u={},f={},h=x(m,o);return{name:"packem:preserve-directives",onLog(i,t){if(t.code==="MODULE_LEVEL_DIRECTIVE"&&i==="warn")return!1},renderChunk:{handler(i,t,{sourcemap:c}){const s=t.moduleIds.map(r=>{if(u[r])return u[r]}).reduce((r,l)=>(l&&l.forEach(a=>{r.add(a)}),r),new Set),n=new g(i);s.size>0&&(p.debug({message:`directives for chunk "${t.fileName}" are preserved.`,prefix:"plugin:preserve-directives"}),n.prepend(`${Array.from(s,r=>`'${r}';`).join(`
2
2
  `)}
3
- `));let e;if(t.facadeModuleId&&typeof l[t.facadeModuleId]=="string"&&(e=l[t.facadeModuleId]),e&&(p.debug({message:`shebang for chunk "${t.fileName}" is preserved.`,prefix:"plugin:preserve-directives"}),n.prepend(`${e}
4
- `)),!(s.size===0&&e===void 0))return{code:n.toString(),map:c?n.generateMap({hires:!0}):void 0}},order:"post"},transform(i,t){if(!h(t))return;let c=!1;const s=new g(i);if(i.startsWith("#")&&i[1]==="!"){let e=0;for(let r=2,f=i.length;r<f;r++){const o=i.codePointAt(r);if(o===10||o===13||o===8232||o===8233){e=r;break}}e&&(l[t]=i.slice(0,e),s.remove(0,e+1),c=!0,p.debug({message:`shebang for module "${t}" is preserved.`,prefix:"plugin:preserve-directives"}))}let n;try{n=this.parse(s.toString(),{allowReturnOutsideFunction:!0})}catch(e){this.warn({code:"PARSE_ERROR",message:`failed to parse "${t}" and extract the directives.`}),p.warn(e);return}if(n.type==="Program"){for(const e of n.body.filter(Boolean)){if(e.type!=="ExpressionStatement")break;let r;"directive"in e?r=e.directive:e.expression.type==="Literal"&&typeof e.expression.value=="string"&&d.test(e.expression.value)&&(r=e.expression.value),r!=="use strict"&&r&&(u[t]||=new Set,u[t].add(r),"start"in e&&typeof e.start=="number"&&"end"in e&&typeof e.end=="number"&&(s.remove(e.start,e.end),c=!0),p.debug({message:`directive "${r}" for module "${t}" is preserved.`,prefix:"plugin:preserve-directives"}))}if(c)return{code:s.toString(),map:s.generateMap({hires:!0}),meta:{preserveDirectives:{directives:[...u[t]??[]],shebang:l[t]??void 0}}}}}}},"preserveDirectivesPlugin");export{S as preserveDirectivesPlugin};
3
+ `));let e;if(t.facadeModuleId&&typeof f[t.facadeModuleId]=="string"&&(e=f[t.facadeModuleId]),e&&(p.debug({message:`shebang for chunk "${t.fileName}" is preserved.`,prefix:"plugin:preserve-directives"}),n.prepend(`${e}
4
+ `)),!(s.size===0&&e===void 0))return{code:n.toString(),map:c?n.generateMap({hires:!0}):void 0}},order:"post"},transform(i,t){if(!h(t))return;let c=!1;const s=new g(i);if(i.startsWith("#")&&i[1]==="!"){let e=0;for(let r=2,l=i.length;r<l;r++){const a=i.codePointAt(r);if(a===10||a===13||a===8232||a===8233){e=r;break}}e&&(f[t]=i.slice(0,e),s.remove(0,e+1),c=!0,p.debug({message:`shebang for module "${t}" is preserved.`,prefix:"plugin:preserve-directives"}))}let n;try{n=this.parse(s.toString(),{allowReturnOutsideFunction:!0})}catch(e){this.warn({code:"PARSE_ERROR",message:`failed to parse "${t}" and extract the directives.`}),p.warn(e);return}if(n.type==="Program"){for(const e of n.body.filter(Boolean)){if(e.type!=="ExpressionStatement")break;let r;"directive"in e?r=e.directive:e.expression.type==="Literal"&&typeof e.expression.value=="string"&&d.test(e.expression.value)&&(r=e.expression.value),r!=="use strict"&&r&&(u[t]||=new Set,u[t].add(r),"start"in e&&typeof e.start=="number"&&"end"in e&&typeof e.end=="number"&&(s.remove(e.start,e.end),c=!0),p.debug({message:`directive "${r}" for module "${t}" is preserved.`,prefix:"plugin:preserve-directives"}))}if(c)return{code:s.toString(),map:s.generateMap({hires:!0}),meta:{preserveDirectives:{directives:[...u[t]??[]],shebang:f[t]??void 0}}}}}}},"preserveDirectivesPlugin");export{S as preserveDirectivesPlugin};
@@ -1,4 +1,4 @@
1
- var E=Object.defineProperty;var w=(e,r)=>E(e,"name",{value:r,configurable:!0});import{createRequire as F,builtinModules as K}from"node:module";import B from"node:process";import{createFilter as L}from"@rollup/pluginutils";import{init as x,parse as G}from"cjs-module-lexer";import S from"magic-string";import{parseSync as H}from"oxc-parser";import{readFile as Q}from"@visulima/fs";import{findPackageJson as U}from"@visulima/package/package-json";var V=Object.defineProperty,X=w((e,r)=>V(e,"name",{value:r,configurable:!0}),"s");const Y=X(async(e,r,i)=>{if(await x(),e.startsWith("node:"))return!1;if(e.endsWith(".cjs"))return!0;if(e.endsWith(".js")||!e.includes("/")&&!e.startsWith(".")){let s;if(i)try{s=(await i(e,r)).id}catch{}if(!s&&r&&!r.includes("!~{"))try{s=F(r).resolve(e)}catch{}if(s){try{const{packageJson:o}=await U(s);if(o.type==="module")return!1;if(o.type==="commonjs")return!0}catch{}try{const o=await Q(s,{encoding:"utf8"});try{return G(o,s),!0}catch{}}catch{}}}return!1},"isPureCJS");var Z=Object.defineProperty,m=w((e,r)=>Z(e,"name",{value:r,configurable:!0}),"c");const T="__cjs_require",z='import { createRequire as __cjs_createRequire } from "node:module";',ee=`const ${T} = __cjs_createRequire(import.meta.url);`,re='const __cjs_getProcess = typeof globalThis !== "undefined" && typeof globalThis.process !== "undefined" ? globalThis.process : process;',se=`const __cjs_getBuiltinModule = (module) => {
1
+ var E=Object.defineProperty;var w=(e,r)=>E(e,"name",{value:r,configurable:!0});import{createRequire as F,builtinModules as K}from"node:module";import B from"node:process";import{createFilter as L}from"@rollup/pluginutils";import{init as x,parse as G}from"cjs-module-lexer";import S from"magic-string";import{parseSync as H}from"oxc-parser";import{readFile as Q}from"@visulima/fs";import{findPackageJson as U}from"@visulima/package/package-json";var V=Object.defineProperty,X=w((e,r)=>V(e,"name",{value:r,configurable:!0}),"s");const Y=X(async(e,r,i)=>{if(await x(),e.startsWith("node:"))return!1;if(e.endsWith(".cjs"))return!0;if(e.endsWith(".js")||!e.includes("/")&&!e.startsWith(".")){let s;if(i)try{s=(await i(e,r))?.id}catch{}if(!s&&r&&!r.includes("!~{"))try{s=F(r).resolve(e)}catch{}if(s){try{const{packageJson:o}=await U(s);if(o.type==="module")return!1;if(o.type==="commonjs")return!0}catch{}try{const o=await Q(s,{encoding:"utf8"});try{return G(o,s),!0}catch{}}catch{}}}return!1},"isPureCJS");var Z=Object.defineProperty,m=w((e,r)=>Z(e,"name",{value:r,configurable:!0}),"c");const T="__cjs_require",z='import { createRequire as __cjs_createRequire } from "node:module";',ee=`const ${T} = __cjs_createRequire(import.meta.url);`,re='const __cjs_getProcess = typeof globalThis !== "undefined" && typeof globalThis.process !== "undefined" ? globalThis.process : process;',se=`const __cjs_getBuiltinModule = (module) => {
2
2
  // Check if we're in Node.js and version supports getBuiltinModule
3
3
  if (typeof __cjs_getProcess !== "undefined" && __cjs_getProcess.versions && __cjs_getProcess.versions.node) {
4
4
  const [major, minor] = __cjs_getProcess.versions.node.split(".").map(Number);
package/dist/types.d.ts CHANGED
@@ -5,8 +5,8 @@ import type { RollupNodeResolveOptions } from "@rollup/plugin-node-resolve";
5
5
  import type { RollupReplaceOptions } from "@rollup/plugin-replace";
6
6
  import type { RollupWasmOptions } from "@rollup/plugin-wasm";
7
7
  import type { FilterPattern } from "@rollup/pluginutils";
8
+ import type { Options as RollupDtsOptions } from "@visulima/rollup-plugin-dts";
8
9
  import type { OutputOptions, Plugin, RollupOptions } from "rollup";
9
- import type { Options as RollupDtsOptions } from "rollup-plugin-dts";
10
10
  import type { NodePolyfillsOptions } from "rollup-plugin-polyfill-node";
11
11
  import type { PureAnnotationsOptions } from "rollup-plugin-pure";
12
12
  import type { PluginVisualizerOptions } from "rollup-plugin-visualizer";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visulima/packem-rollup",
3
- "version": "1.0.0-alpha.39",
3
+ "version": "1.0.0-alpha.40",
4
4
  "description": "Rollup plugins for packem",
5
5
  "keywords": [
6
6
  "visulima",
@@ -143,7 +143,7 @@
143
143
  "dependencies": {
144
144
  "@babel/parser": "7.29.0",
145
145
  "@rollup/plugin-alias": "6.0.0",
146
- "@rollup/plugin-commonjs": "29.0.0",
146
+ "@rollup/plugin-commonjs": "29.0.1",
147
147
  "@rollup/plugin-dynamic-import-vars": "2.1.5",
148
148
  "@rollup/plugin-inject": "5.0.5",
149
149
  "@rollup/plugin-json": "6.1.0",
@@ -154,23 +154,23 @@
154
154
  "@visulima/find-cache-dir": "2.0.7",
155
155
  "@visulima/fs": "4.1.0",
156
156
  "@visulima/package": "4.1.7",
157
- "@visulima/packem-share": "1.0.0-alpha.20",
157
+ "@visulima/packem-share": "1.0.0-alpha.21",
158
158
  "@visulima/path": "2.0.5",
159
+ "@visulima/rollup-plugin-dts": "1.0.0-alpha.1",
159
160
  "@visulima/source-map": "2.0.5",
160
161
  "cjs-module-lexer": "2.2.0",
161
162
  "clean-css": "^5.3.3",
162
163
  "glob-parent": "6.0.2",
163
- "html-minifier-next": "5.1.1",
164
+ "html-minifier-next": "5.1.6",
164
165
  "magic-string": "0.30.21",
165
- "mlly": "1.8.0",
166
- "oxc-parser": "0.114.0",
167
- "oxc-resolver": "11.17.1",
168
- "rollup-plugin-dts": "6.3.0",
166
+ "mlly": "1.8.1",
167
+ "oxc-parser": "0.116.0",
168
+ "oxc-resolver": "11.19.1",
169
169
  "rollup-plugin-license": "3.7.0",
170
170
  "rollup-plugin-polyfill-node": "0.13.0",
171
171
  "rollup-plugin-pure": "^0.4.0",
172
- "rollup-plugin-visualizer": "6.0.8",
173
- "rs-module-lexer": "^2.6.0",
172
+ "rollup-plugin-visualizer": "7.0.1",
173
+ "rs-module-lexer": "2.8.0",
174
174
  "semver": "7.7.4",
175
175
  "tinyglobby": "0.2.15"
176
176
  },
@@ -1 +0,0 @@
1
- var c=Object.defineProperty;var u=(r,e)=>c(r,"name",{value:e,configurable:!0});import{w as f}from"./index-Dq8IUFTs.js";import m from"magic-string";var d=Object.defineProperty,w=u((r,e)=>d(r,"name",{value:e,configurable:!0}),"p");const y=w(r=>{const e=new Set(r.constructors.filter(t=>!t.includes(".")));return{name:"packem:pure-new-expression",transform:{order:"post",handler(t){if(e.size===0)return;let a=!1;for(const s of e)if(t.includes(s)){a=!0;break}if(!a)return;let i;try{i=this.parse(t)}catch{return}const o=new m(t);let p=!1;if(f(i,{enter(s){const n=s;n.type==="NewExpression"&&n.callee.type==="Identifier"&&e.has(n.callee.name)&&!n._rollupAnnotations?.some(l=>l.type==="pure")&&(o.prependLeft(n.start,"/* @__PURE__ */ "),p=!0)}}),!!p)return{code:o.toString(),map:r.sourcemap?o.generateMap({hires:!0}):void 0}}}}},"pureNewExpressionPlugin");export{y as pureNewExpressionPlugin};