@visulima/packem 1.18.2 → 1.18.3

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,9 @@
1
+ ## @visulima/packem [1.18.3](https://github.com/visulima/packem/compare/@visulima/packem@1.18.2...@visulima/packem@1.18.3) (2025-01-25)
2
+
3
+ ### Bug Fixes
4
+
5
+ * added exclude rule for node_modules and dist to the auto preset ([84ad8ae](https://github.com/visulima/packem/commit/84ad8ae276118f06ed606e69189829dc905e7eb5))
6
+
1
7
  ## @visulima/packem [1.18.2](https://github.com/visulima/packem/compare/@visulima/packem@1.18.1...@visulima/packem@1.18.2) (2025-01-25)
2
8
 
3
9
  ### Bug Fixes
package/dist/cli.mjs CHANGED
@@ -5,7 +5,7 @@ import __cjs_mod__ from "node:module"; // -- packem CommonJS require shim --
5
5
  const __filename = __cjs_url__.fileURLToPath(import.meta.url);
6
6
  const __dirname = __cjs_path__.dirname(__filename);
7
7
  const require = __cjs_mod__.createRequire(import.meta.url);
8
- const Io="@visulima/packem",To="1.18.1";var zo=Object.defineProperty,Ao=g((e,t)=>zo(e,"name",{value:t,configurable:!0}),"t$e");const Ci=Ao(async(e,t="")=>{let i=t;if(!i){const n=["packem.config.js","packem.config.mjs","packem.config.cjs","packem.config.ts","packem.config.cts","packem.config.mts"];for(const o of n)if(await He($(e,o))){i="./"+o;break}}if(!/\.(?:js|mjs|cjs|ts|cts|mts)$/.test(i))throw new Error("Invalid packem config file extension. Only .js, .mjs, .cjs, .ts, .cts and .mts extensions are allowed.");return i},"findPackemFile"),Ni={less:["less"],lightningcss:["lightningcss"],"node-sass":["node-sass"],postcss:["postcss","postcss-load-config","postcss-modules-extract-imports","postcss-modules-local-by-default","postcss-modules-scope","postcss-modules-values","postcss-value-parser","icss-utils"],sass:["sass"],"sass-embedded":["sass-embedded"],stylus:["stylus"]};var Fo=Object.defineProperty,At=g((e,t)=>Fo(e,"name",{value:t,configurable:!0}),"g$9");const Ro=["typedoc","typedoc-plugin-markdown","typedoc-plugin-rename-defaults"],Lo=At(e=>{e.addCommand({argument:{description:"Add a packem feature to your project",name:"feature",required:!0},description:"Add a optional packem feature to your project",execute:At(async({argument:t,logger:i,options:n})=>{const o=mt(),a=P(fi(),n.dir??".");let s;try{s=await Ci(a,n.config)}catch{i.error("Could not find a packem config file, please run `packem init` first.");return}const r=await Pe(s,{buffer:!1});let p="cjs";r.includes("import")&&(p="esm");const l=new ee(r),c=" transformer,";let u=" transformer";if(r.includes(" transformer,")&&(u=" transformer,"),t.includes("typedoc")){if(r.includes("typedoc: typedocBuilder")||r.includes("@visulima/packem/builder/typedoc")){i.warn("Typedoc has already been added to the packem config.");return}p==="cjs"?l.prepend(`const typedocBuilder = require("@visulima/packem/builder/typedoc");
8
+ const Io="@visulima/packem",To="1.18.2";var zo=Object.defineProperty,Ao=g((e,t)=>zo(e,"name",{value:t,configurable:!0}),"t$e");const Ci=Ao(async(e,t="")=>{let i=t;if(!i){const n=["packem.config.js","packem.config.mjs","packem.config.cjs","packem.config.ts","packem.config.cts","packem.config.mts"];for(const o of n)if(await He($(e,o))){i="./"+o;break}}if(!/\.(?:js|mjs|cjs|ts|cts|mts)$/.test(i))throw new Error("Invalid packem config file extension. Only .js, .mjs, .cjs, .ts, .cts and .mts extensions are allowed.");return i},"findPackemFile"),Ni={less:["less"],lightningcss:["lightningcss"],"node-sass":["node-sass"],postcss:["postcss","postcss-load-config","postcss-modules-extract-imports","postcss-modules-local-by-default","postcss-modules-scope","postcss-modules-values","postcss-value-parser","icss-utils"],sass:["sass"],"sass-embedded":["sass-embedded"],stylus:["stylus"]};var Fo=Object.defineProperty,At=g((e,t)=>Fo(e,"name",{value:t,configurable:!0}),"g$9");const Ro=["typedoc","typedoc-plugin-markdown","typedoc-plugin-rename-defaults"],Lo=At(e=>{e.addCommand({argument:{description:"Add a packem feature to your project",name:"feature",required:!0},description:"Add a optional packem feature to your project",execute:At(async({argument:t,logger:i,options:n})=>{const o=mt(),a=P(fi(),n.dir??".");let s;try{s=await Ci(a,n.config)}catch{i.error("Could not find a packem config file, please run `packem init` first.");return}const r=await Pe(s,{buffer:!1});let p="cjs";r.includes("import")&&(p="esm");const l=new ee(r),c=" transformer,";let u=" transformer";if(r.includes(" transformer,")&&(u=" transformer,"),t.includes("typedoc")){if(r.includes("typedoc: typedocBuilder")||r.includes("@visulima/packem/builder/typedoc")){i.warn("Typedoc has already been added to the packem config.");return}p==="cjs"?l.prepend(`const typedocBuilder = require("@visulima/packem/builder/typedoc");
9
9
  `):l.prepend(`import typedocBuilder from "@visulima/packem/builder/typedoc";
10
10
  `),r.includes("builder: {")?l.replace("builder: {",`builder: {
11
11
  typedoc: typedocBuilder,
@@ -106,7 +106,7 @@ ${s.chunks.map(c=>{const u=t.buildEntries.find(d=>d.path===c)??{};return ie("
106
106
  └─ `)+K(i(r.path))+" (total size: "+D(F(r.size?.bytes??0,{decimals:2}))+")";s+=`
107
107
 
108
108
  `,e.raw(s)}return n&&e.raw("Σ Total dist size (byte size):",D(F(t.buildEntries.reduce((s,r)=>s+(r.size?.bytes??0),0),{decimals:2})),`
109
- `),n},"showSizeInformation"),Jl=Ve((e,t)=>{const i=Tl(e.options.entries,"environment","runtime"),n=new Set,o=new Set;for(const[a,s]of Object.entries(i))for(const[r,p]of Object.entries(s)){const l={...e};!e.options.dtsOnly&&(a!=="undefined"||r!=="undefined")&&e.logger.info("Preparing build for "+(a==="undefined"?"":D(a)+" environment"+(r==="undefined"?"":" with "))+(r==="undefined"?"":D(r)+" runtime"));const c={};l.options.rollup.replace?(l.options.rollup.replace.values===void 0&&(l.options.rollup.replace.values={}),a!=="undefined"&&(c[["process","env","NODE_ENV"].join(".")]=JSON.stringify(a)),c[["process","env","EdgeRuntime"].join(".")]=JSON.stringify(r==="edge-light"),Object.freeze(c)):e.logger.warn("'replace' plugin is disabled. You should enable it to replace 'process.env.*' environments.");let u="";a!=="undefined"&&(u+=a+"/"),r!=="undefined"&&(u+=r+"/");let d=!1;l.options.minify!==void 0&&(d=l.options.minify),a==="development"?d=!1:a==="production"&&(d=!0);const m=[],v=[],h=[],x=[];for(const f of p)f.cjs&&f.esm?m.push(f):f.cjs?h.push(f):f.esm?v.push(f):f.declaration&&x.push(f);if(m.length>0){const f={...l,options:{...l.options,emitCJS:!0,emitESM:!0,entries:m,minify:d,rollup:{...l.options.rollup,replace:l.options.rollup.replace?{...l.options.rollup.replace,values:{...l.options.rollup.replace.values,...c}}:!1}}};if(e.options.dtsOnly||n.add({context:f,fileCache:t,subDirectory:u}),e.options.declaration){const k=f.options.entries.filter(w=>w.declaration);k.length>0&&o.add({context:{...f,options:{...f.options,entries:k}},fileCache:t,subDirectory:u})}}if(v.length>0){const f={...l,options:{...l.options,emitCJS:!1,emitESM:!0,entries:v,minify:d,rollup:{...l.options.rollup,replace:l.options.rollup.replace?{...l.options.rollup.replace,values:{...l.options.rollup.replace.values,...c}}:!1}}};if(e.options.dtsOnly||n.add({context:f,fileCache:t,subDirectory:u}),e.options.declaration){const k=f.options.entries.filter(w=>w.declaration);k.length>0&&o.add({context:{...f,options:{...f.options,entries:k}},fileCache:t,subDirectory:u})}}if(h.length>0){const f={...l,options:{...l.options,emitCJS:!0,emitESM:!1,entries:h,minify:d,rollup:{...l.options.rollup,replace:l.options.rollup.replace?{...l.options.rollup.replace,values:{...l.options.rollup.replace.values,...c}}:!1}}};if(e.options.dtsOnly||n.add({context:f,fileCache:t,subDirectory:u}),e.options.declaration){const k=f.options.entries.filter(w=>w.declaration);k.length>0&&o.add({context:{...f,options:{...f.options,entries:k}},fileCache:t,subDirectory:u})}}l.options.declaration&&x.length>0&&o.add({context:{...l,options:{...l.options,emitCJS:!1,emitESM:!1,entries:x,minify:d,rollup:{...l.options.rollup,replace:l.options.rollup.replace?{...l.options.rollup.replace,values:{...l.options.rollup.replace.values,...c}}:!1}}},fileCache:t,subDirectory:u})}return{builders:n,typeBuilders:o}},"prepareRollupConfig"),Bl=Ve(async(e,t)=>{await e.hooks.callHook("build:before",e);const{builders:i,typeBuilders:n}=Jl(e,t);await Promise.all([...i].map(async({context:o,fileCache:a,subDirectory:s})=>await Ol(o,a,s))),await Promise.all([...n].map(async({context:o,fileCache:a,subDirectory:s})=>await Dl(o,a,s))),e.logger.success(zn(e.options.name?"Build succeeded for "+e.options.name:"Build succeeded")),e.buildEntries=e.buildEntries.filter((o,a,s)=>s.findIndex(r=>r.path===o.path)===a);for await(const o of Cn($(e.options.rootDir,e.options.outDir),{includeDirs:!1,includeFiles:!0})){const a=$(e.options.rootDir,e.options.outDir);let s=e.buildEntries.find(p=>$(a,p.path)===o.path);s||(s={chunk:!0,path:o.path},e.buildEntries.push(s)),s.size===void 0&&(s.size={});const r=P(a,o.path);if(!s.size.bytes){const p=await bt(r);s.size.bytes=p.size}s.size.brotli||(s.size.brotli=await Ml(r)),s.size.gzip||(s.size.gzip=await Fl(r))}return await e.hooks.callHook("build:done",e),Ll(e.logger,e)},"build");var ql=Object.defineProperty,Wl=g((e,t)=>ql(e,"name",{value:t,configurable:!0}),"r$4");const C=Wl((e,t)=>{e.warnings.has(t)||e.warnings.add(t)},"warn");var Ul=Object.defineProperty,dn=g((e,t)=>Ul(e,"name",{value:t,configurable:!0}),"t$4");const Ke=dn(e=>{if(e.endsWith(".mjs")||e.endsWith(".d.mts"))return"esm";if(e.endsWith(".cjs")||e.endsWith(".d.cts"))return"cjs"},"inferExportTypeFromFileName"),yt=dn((e,t,i,n)=>{if(e==="module-sync")return"esm";if(n){const s=Ke(n);if(s)return s}if(e==="module"||e==="import")return"esm";if(e==="require")return"cjs";if(t.length===0)return i;const[o,...a]=t;return yt(o,a,i,n)},"inferExportType");var Vl=Object.defineProperty,Kl=g((e,t)=>Vl(e,"name",{value:t,configurable:!0}),"y$3");const Gl=new Set(["electron","import","require","node","node-addons","default","types","deno","browser","module-sync","bun","workerd",...jt,...qe]),Ot=Kl((e,t,i,n=[])=>{if(!e)return[];if(typeof e=="string"){const o=Ke(e);if(o&&o!==t)throw new Error(`Exported file "${e}" has an extension that does not match the package.json type "${t==="esm"?"module":"commonjs"}".`);return[{file:e,key:"exports",type:o??t}]}if(typeof e=="object"){const o=Object.entries(e).filter(([s])=>!s.endsWith(".json"));let a=[];for(const[s,r]of o)if(typeof r=="string"){let p={};Number.isInteger(+s)?p={exportKey:"*"}:s.startsWith("./")?p={exportKey:s.replace("./","")}:p={exportKey:s==="."?".":"*",subKey:s},a.push({...p,file:r,key:"exports",type:yt(s,n,t,r)})}else if(typeof r=="object"&&r!==null)for(const[p,l]of Object.entries(r)){if(i===!1&&p==="types")continue;const c=Number.isInteger(+s)?p:s;typeof l=="string"?a.push({exportKey:c.replace("./",""),file:l,key:"exports",...Gl.has(p)?{subKey:p}:{},type:yt(p,n,t,l)}):a=[...a,...Ot({[c]:l},t,i,[...n,p])]}return a}return[]},"extractExportFilenames");var Hl=Object.defineProperty,it=g((e,t)=>Hl(e,"name",{value:t,configurable:!0}),"c$7");const Yl=it((e,t)=>e.key==="exports"&&e.subKey===oe?oe:e.key==="exports"&&e.subKey===Be?Be:t,"getEnvironment"),Fe=it((e,t,i,n,o,a,s)=>{const r=Yl(o,a.environment);let p=a.options.runtime;for(const u of jt)if(o.file.includes("."+u+".")||o.subKey===u){p=u;break}let l=e.find(u=>u.input===t&&u.environment===r&&u.runtime===p);l===void 0?l=e[e.push({environment:r,exportKey:new Set([o.exportKey].filter(Boolean)),input:t,runtime:p})-1]:l.exportKey&&o.exportKey&&l.exportKey.add(o.exportKey),s&&(l.isGlob=!0),i&&(l.outDir=n),o.isExecutable?(l.executable=!0,l.declaration=!1,o.type==="cjs"?l.cjs=!0:o.type==="esm"&&(l.esm=!0)):(/\.d\.[mc]?ts$/.test(o.file)&&a.options.declaration!==!1&&(l.declaration=a.options.declaration),o.type==="cjs"?l.cjs=!0:o.type==="esm"&&(l.esm=!0));const c=o.file.replace(Ce(o.file),"").replace(new RegExp(`^./${a.options.outDir.replace(/^\.\//,"")}/`),"");qe.has(o.subKey)&&!t.includes(c)&&(l.fileAlias=c)},"createOrUpdateEntry");let si=!1;const ri=it(e=>{if(e.pkg?.dependencies?.typescript===void 0&&e.pkg?.devDependencies?.typescript===void 0)throw new Error("You tried to use a `.ts`, `.cts` or `.mts` file but `typescript` was not found in your package.json.")},"validateIfTypescriptIsInstalled"),Xl=it((e,t,i)=>{const n=[];t.sort((r,p)=>r.split("/").length-p.split("/").length);const o=e.type==="module"?"esm":"cjs";o==="esm"&&(i.options.emitESM=!0),o==="cjs"&&(i.options.emitCJS=!0);const a=Ot(e.exports,o,i.options.declaration);if(e.bin){const r=(typeof e.bin=="string"?[e.bin]:Object.values(e.bin)).filter(Boolean);for(const p of r){const l=Ke(p);if(l&&l!==o)throw new Error(`Exported file "${p}" has an extension that does not match the package.json type "${e.type??"commonjs"}".`);a.push({file:p,isExecutable:!0,key:"bin",type:l??o})}}e.main&&a.push({file:e.main,key:"main",type:Ke(e.main)??o}),e.module&&a.push({file:e.module,key:"module",type:"esm"}),(e.types||e.typings)&&(ri(i),i.options.declaration===void 0&&(i.options.declaration="compatible"),a.push({file:e.types??e.typings,key:"types"}));const s=[];for(const r of a){const p=Ce(r.file);if(p!==""&&!Xe.includes(p))continue;i.options.declaration===void 0&&(r.key==="types"||r.subKey==="types")&&(i.options.declaration=r.file.includes(".d.ts")?"compatible":!0),i.options.emitCJS===void 0&&r.type==="cjs"&&(i.options.emitCJS=!0),i.options.emitESM===void 0&&r.type==="esm"&&(i.options.emitESM=!0);const l=r.file.replace(/(?:\*[^/\\]|\.d\.[mc]?ts|\.\w+)$/,""),c=l.endsWith("/");if(c&&["./","/"].includes(l))continue;const u=l.replace(new RegExp("(./)?"+i.options.outDir),i.options.sourceDir).replace("./",""),d="(?<=/|$)",m=c?"":"(\\.[cm]?[tj]sx?)$";if(r.file.includes("/*")&&r.key==="exports"){si||(i.logger.debug("Private subfolders are not supported, if you need this feature please open an issue on GitHub."),si=!0);const f=[],k=new RegExp(d+u.replace("*","(.*)")+m),w=new RegExp(d+u.replace(/(.*)\.[^.]*$/,"$1").replace("*","(.*)")+m);for(const b of t)(k.test(b)||qe.has(r.subKey)&&w.test(b))&&f.push(b);if(f.length===0){n.push(`Could not find entrypoint for \`${r.file}\``);continue}for(const b of f)Fe(s,b,c,l,r,i,!0);continue}const v=new RegExp(d+u+m);let h=t.find(f=>v.test(f));if(qe.has(r.subKey)&&h===void 0){const f=new RegExp(d+u.replace(/(.*)\.[^.]*$/,"$1")+m);h=t.find(k=>f.test(k))}if(h===void 0){L(P(i.options.rootDir,r.file))||n.push(`Could not find entrypoint for \`${r.file}\``);continue}(h.endsWith(".ts")||h.endsWith(".cts")||h.endsWith(".mts"))&&L(h)&&ri(i);const x=Le(h.replace(se,""));L(x+".cts")&&L(x+".mts")?(Fe(s,x+".cts",c,l,{...r,type:"cjs"},i,!1),Fe(s,x+".mts",c,l,{...r,type:"esm"},i,!1)):Fe(s,h,c,l,r,i,!1)}return{entries:s,warnings:n}},"inferEntries");var Ql=Object.defineProperty,Zl=g((e,t)=>Ql(e,"name",{value:t,configurable:!0}),"o$1");const ep=Zl((e,t)=>{const{publishConfig:i}=e;return i&&(i.bin&&(typeof i.bin=="object"||typeof i.bin=="string")&&(e.bin=i.bin),i.type&&typeof i.type=="string"&&i.type!==""&&(e.type=i.type),i.main&&typeof i.main=="string"&&i.main!==""&&(e.main=i.main),i.module&&typeof i.module=="string"&&i.module!==""&&(e.module=i.module),t===void 0&&i.types&&typeof i.types=="string"&&i.types!==""?e.types=i.types:t===void 0&&i.typings&&typeof i.typings=="string"&&i.typings!==""&&(e.typings=i.typings),i.exports&&typeof i.exports=="object"&&(e.exports=i.exports)),e},"overwriteWithPublishConfig");var tp=Object.defineProperty,ip=g((e,t)=>tp(e,"name",{value:t,configurable:!0}),"t$3");const np={hooks:{"build:prepare":ip(function(e){if(e.options.entries.length>0)return;const t=$(e.options.rootDir,e.options.sourceDir);if(!L(t))throw new Error("No 'src' directory found. Please provide entries manually.");const i=Nn(t,{extensions:[],includeDirs:!1,includeSymlinks:!1});if(i.length===0)throw new Error("No source files found in 'src' directory. Please provide entries manually.");let n={...e.pkg};n.publishConfig&&(e.logger.info('Using publishConfig found in package.json, to override the default key-value pairs of "'+Object.keys(n.publishConfig).join(", ")+'".'),e.logger.debug(n.publishConfig),n=ep(n,e.options.declaration));const o=Xl(n,i,e);for(const a of o.warnings)C(e,a);if(e.options.entries.push(...o.entries),e.options.entries.length===0)throw new Error("No entries detected. Please provide entries manually.");e.logger.info("Automatically detected entries:",D(e.options.entries.map(a=>a.fileAlias?K(a.fileAlias)+" => "+K(a.input.replace(`${e.options.rootDir}/`,"").replace(/\/$/,"/*")):K(a.input.replace(`${e.options.rootDir}/`,"").replace(/\/$/,"/*"))).join(", ")),ie([e.options.emitESM&&"esm",e.options.emitCJS&&"cjs",e.options.declaration&&"dts"].filter(Boolean).map(a=>`[${a}]`).join(" ")))},"build:prepare")}};var op=Object.defineProperty,ap=g((e,t)=>op(e,"name",{value:t,configurable:!0}),"t$2");const sp=ap(async(e,t)=>{if(e==="auto")e=np;else{if(e==="none")return{};typeof e=="string"&&(e=await t.import(e)||{})}return typeof e=="function"&&(e=e()),e},"resolvePreset");var rp=Object.defineProperty,lp=g((e,t)=>rp(e,"name",{value:t,configurable:!0}),"j$1");const pp=lp(async e=>{const t=e.options.jiti.transformOptions?.babel?.plugins,i=[],n=JSON.stringify({...e.options.jiti,alias:{...et(e.pkg,e.options),...e.options.jiti.alias},transformOptions:{...e.options.jiti.transformOptions,babel:{...e.options.jiti.transformOptions?.babel,plugins:"__$BABEL_PLUGINS"}}},null,2).replace('"__$BABEL_PLUGINS"',Array.isArray(t)?"["+t.map((o,a)=>{if(Array.isArray(o)){const[s,...r]=o;return i.push(s),"["+["plugin"+a,...r.map(p=>JSON.stringify(p))].join(", ")+"]"}return i.push(o),"plugin"+a}).join(",")+"]":"[]");for(const o of e.options.entries){const a=P(e.options.rootDir,e.options.outDir,o.name),s=fo(e.jiti.esmResolve(o.input,{try:!0})??o.input),r=s.replace(se,""),p=Ye(s),l=jr(p);let c=[];try{c=await go(s,{extensions:Xe})}catch(d){C(e,`Cannot analyze ${s} for exports: ${d.toString()}`);return}const u=c.includes("default")||c.length===0;if(e.options.emitESM){const d=T(_(a),await Tt("jiti",{conditions:["node","import"],url:import.meta.url})),m=r+".d.mts";pe(`${a}.mjs`,l+['import { createJiti } from "'+d+'";',...i.map((v,h)=>"import plugin"+h+' from "'+v+'";'),"","const jiti = createJiti(import.meta.url, "+n+");","",'/** @type {import("'+m+'")} */','const _module = await jiti.import("'+s+'");',u?`
109
+ `),n},"showSizeInformation"),Jl=Ve((e,t)=>{const i=Tl(e.options.entries,"environment","runtime"),n=new Set,o=new Set;for(const[a,s]of Object.entries(i))for(const[r,p]of Object.entries(s)){const l={...e};!e.options.dtsOnly&&(a!=="undefined"||r!=="undefined")&&e.logger.info("Preparing build for "+(a==="undefined"?"":D(a)+" environment"+(r==="undefined"?"":" with "))+(r==="undefined"?"":D(r)+" runtime"));const c={};l.options.rollup.replace?(l.options.rollup.replace.values===void 0&&(l.options.rollup.replace.values={}),a!=="undefined"&&(c[["process","env","NODE_ENV"].join(".")]=JSON.stringify(a)),c[["process","env","EdgeRuntime"].join(".")]=JSON.stringify(r==="edge-light"),Object.freeze(c)):e.logger.warn("'replace' plugin is disabled. You should enable it to replace 'process.env.*' environments.");let u="";a!=="undefined"&&(u+=a+"/"),r!=="undefined"&&(u+=r+"/");let d=!1;l.options.minify!==void 0&&(d=l.options.minify),a==="development"?d=!1:a==="production"&&(d=!0);const m=[],v=[],h=[],x=[];for(const f of p)f.cjs&&f.esm?m.push(f):f.cjs?h.push(f):f.esm?v.push(f):f.declaration&&x.push(f);if(m.length>0){const f={...l,options:{...l.options,emitCJS:!0,emitESM:!0,entries:m,minify:d,rollup:{...l.options.rollup,replace:l.options.rollup.replace?{...l.options.rollup.replace,values:{...l.options.rollup.replace.values,...c}}:!1}}};if(e.options.dtsOnly||n.add({context:f,fileCache:t,subDirectory:u}),e.options.declaration){const k=f.options.entries.filter(w=>w.declaration);k.length>0&&o.add({context:{...f,options:{...f.options,entries:k}},fileCache:t,subDirectory:u})}}if(v.length>0){const f={...l,options:{...l.options,emitCJS:!1,emitESM:!0,entries:v,minify:d,rollup:{...l.options.rollup,replace:l.options.rollup.replace?{...l.options.rollup.replace,values:{...l.options.rollup.replace.values,...c}}:!1}}};if(e.options.dtsOnly||n.add({context:f,fileCache:t,subDirectory:u}),e.options.declaration){const k=f.options.entries.filter(w=>w.declaration);k.length>0&&o.add({context:{...f,options:{...f.options,entries:k}},fileCache:t,subDirectory:u})}}if(h.length>0){const f={...l,options:{...l.options,emitCJS:!0,emitESM:!1,entries:h,minify:d,rollup:{...l.options.rollup,replace:l.options.rollup.replace?{...l.options.rollup.replace,values:{...l.options.rollup.replace.values,...c}}:!1}}};if(e.options.dtsOnly||n.add({context:f,fileCache:t,subDirectory:u}),e.options.declaration){const k=f.options.entries.filter(w=>w.declaration);k.length>0&&o.add({context:{...f,options:{...f.options,entries:k}},fileCache:t,subDirectory:u})}}l.options.declaration&&x.length>0&&o.add({context:{...l,options:{...l.options,emitCJS:!1,emitESM:!1,entries:x,minify:d,rollup:{...l.options.rollup,replace:l.options.rollup.replace?{...l.options.rollup.replace,values:{...l.options.rollup.replace.values,...c}}:!1}}},fileCache:t,subDirectory:u})}return{builders:n,typeBuilders:o}},"prepareRollupConfig"),Bl=Ve(async(e,t)=>{await e.hooks.callHook("build:before",e);const{builders:i,typeBuilders:n}=Jl(e,t);await Promise.all([...i].map(async({context:o,fileCache:a,subDirectory:s})=>await Ol(o,a,s))),await Promise.all([...n].map(async({context:o,fileCache:a,subDirectory:s})=>await Dl(o,a,s))),e.logger.success(zn(e.options.name?"Build succeeded for "+e.options.name:"Build succeeded")),e.buildEntries=e.buildEntries.filter((o,a,s)=>s.findIndex(r=>r.path===o.path)===a);for await(const o of Cn($(e.options.rootDir,e.options.outDir),{includeDirs:!1,includeFiles:!0})){const a=$(e.options.rootDir,e.options.outDir);let s=e.buildEntries.find(p=>$(a,p.path)===o.path);s||(s={chunk:!0,path:o.path},e.buildEntries.push(s)),s.size===void 0&&(s.size={});const r=P(a,o.path);if(!s.size.bytes){const p=await bt(r);s.size.bytes=p.size}s.size.brotli||(s.size.brotli=await Ml(r)),s.size.gzip||(s.size.gzip=await Fl(r))}return await e.hooks.callHook("build:done",e),Ll(e.logger,e)},"build");var ql=Object.defineProperty,Wl=g((e,t)=>ql(e,"name",{value:t,configurable:!0}),"r$4");const C=Wl((e,t)=>{e.warnings.has(t)||e.warnings.add(t)},"warn");var Ul=Object.defineProperty,dn=g((e,t)=>Ul(e,"name",{value:t,configurable:!0}),"t$4");const Ke=dn(e=>{if(e.endsWith(".mjs")||e.endsWith(".d.mts"))return"esm";if(e.endsWith(".cjs")||e.endsWith(".d.cts"))return"cjs"},"inferExportTypeFromFileName"),yt=dn((e,t,i,n)=>{if(e==="module-sync")return"esm";if(n){const s=Ke(n);if(s)return s}if(e==="module"||e==="import")return"esm";if(e==="require")return"cjs";if(t.length===0)return i;const[o,...a]=t;return yt(o,a,i,n)},"inferExportType");var Vl=Object.defineProperty,Kl=g((e,t)=>Vl(e,"name",{value:t,configurable:!0}),"y$3");const Gl=new Set(["electron","import","require","node","node-addons","default","types","deno","browser","module-sync","bun","workerd",...jt,...qe]),Ot=Kl((e,t,i,n=[])=>{if(!e)return[];if(typeof e=="string"){const o=Ke(e);if(o&&o!==t)throw new Error(`Exported file "${e}" has an extension that does not match the package.json type "${t==="esm"?"module":"commonjs"}".`);return[{file:e,key:"exports",type:o??t}]}if(typeof e=="object"){const o=Object.entries(e).filter(([s])=>!s.endsWith(".json"));let a=[];for(const[s,r]of o)if(typeof r=="string"){let p={};Number.isInteger(+s)?p={exportKey:"*"}:s.startsWith("./")?p={exportKey:s.replace("./","")}:p={exportKey:s==="."?".":"*",subKey:s},a.push({...p,file:r,key:"exports",type:yt(s,n,t,r)})}else if(typeof r=="object"&&r!==null)for(const[p,l]of Object.entries(r)){if(i===!1&&p==="types")continue;const c=Number.isInteger(+s)?p:s;typeof l=="string"?a.push({exportKey:c.replace("./",""),file:l,key:"exports",...Gl.has(p)?{subKey:p}:{},type:yt(p,n,t,l)}):a=[...a,...Ot({[c]:l},t,i,[...n,p])]}return a}return[]},"extractExportFilenames");var Hl=Object.defineProperty,it=g((e,t)=>Hl(e,"name",{value:t,configurable:!0}),"c$7");const Yl=it((e,t)=>e.key==="exports"&&e.subKey===oe?oe:e.key==="exports"&&e.subKey===Be?Be:t,"getEnvironment"),Fe=it((e,t,i,n,o,a,s)=>{const r=Yl(o,a.environment);let p=a.options.runtime;for(const u of jt)if(o.file.includes("."+u+".")||o.subKey===u){p=u;break}let l=e.find(u=>u.input===t&&u.environment===r&&u.runtime===p);l===void 0?l=e[e.push({environment:r,exportKey:new Set([o.exportKey].filter(Boolean)),input:t,runtime:p})-1]:l.exportKey&&o.exportKey&&l.exportKey.add(o.exportKey),s&&(l.isGlob=!0),i&&(l.outDir=n),o.isExecutable?(l.executable=!0,l.declaration=!1,o.type==="cjs"?l.cjs=!0:o.type==="esm"&&(l.esm=!0)):(/\.d\.[mc]?ts$/.test(o.file)&&a.options.declaration!==!1&&(l.declaration=a.options.declaration),o.type==="cjs"?l.cjs=!0:o.type==="esm"&&(l.esm=!0));const c=o.file.replace(Ce(o.file),"").replace(new RegExp(`^./${a.options.outDir.replace(/^\.\//,"")}/`),"");qe.has(o.subKey)&&!t.includes(c)&&(l.fileAlias=c)},"createOrUpdateEntry");let si=!1;const ri=it(e=>{if(e.pkg?.dependencies?.typescript===void 0&&e.pkg?.devDependencies?.typescript===void 0)throw new Error("You tried to use a `.ts`, `.cts` or `.mts` file but `typescript` was not found in your package.json.")},"validateIfTypescriptIsInstalled"),Xl=it((e,t,i)=>{const n=[];t.sort((r,p)=>r.split("/").length-p.split("/").length);const o=e.type==="module"?"esm":"cjs";o==="esm"&&(i.options.emitESM=!0),o==="cjs"&&(i.options.emitCJS=!0);const a=Ot(e.exports,o,i.options.declaration);if(e.bin){const r=(typeof e.bin=="string"?[e.bin]:Object.values(e.bin)).filter(Boolean);for(const p of r){const l=Ke(p);if(l&&l!==o)throw new Error(`Exported file "${p}" has an extension that does not match the package.json type "${e.type??"commonjs"}".`);a.push({file:p,isExecutable:!0,key:"bin",type:l??o})}}e.main&&a.push({file:e.main,key:"main",type:Ke(e.main)??o}),e.module&&a.push({file:e.module,key:"module",type:"esm"}),(e.types||e.typings)&&(ri(i),i.options.declaration===void 0&&(i.options.declaration="compatible"),a.push({file:e.types??e.typings,key:"types"}));const s=[];for(const r of a){const p=Ce(r.file);if(p!==""&&!Xe.includes(p))continue;i.options.declaration===void 0&&(r.key==="types"||r.subKey==="types")&&(i.options.declaration=r.file.includes(".d.ts")?"compatible":!0),i.options.emitCJS===void 0&&r.type==="cjs"&&(i.options.emitCJS=!0),i.options.emitESM===void 0&&r.type==="esm"&&(i.options.emitESM=!0);const l=r.file.replace(/(?:\*[^/\\]|\.d\.[mc]?ts|\.\w+)$/,""),c=l.endsWith("/");if(c&&["./","/"].includes(l))continue;const u=l.replace(new RegExp("(./)?"+i.options.outDir),i.options.sourceDir).replace("./",""),d="(?<=/|$)",m=c?"":"(\\.[cm]?[tj]sx?)$";if(r.file.includes("/*")&&r.key==="exports"){si||(i.logger.debug("Private subfolders are not supported, if you need this feature please open an issue on GitHub."),si=!0);const f=[],k=new RegExp(d+u.replace("*","(.*)")+m),w=new RegExp(d+u.replace(/(.*)\.[^.]*$/,"$1").replace("*","(.*)")+m);for(const b of t)(k.test(b)||qe.has(r.subKey)&&w.test(b))&&f.push(b);if(f.length===0){n.push(`Could not find entrypoint for \`${r.file}\``);continue}for(const b of f)Fe(s,b,c,l,r,i,!0);continue}const v=new RegExp(d+u+m);let h=t.find(f=>v.test(f));if(qe.has(r.subKey)&&h===void 0){const f=new RegExp(d+u.replace(/(.*)\.[^.]*$/,"$1")+m);h=t.find(k=>f.test(k))}if(h===void 0){L(P(i.options.rootDir,r.file))||n.push(`Could not find entrypoint for \`${r.file}\``);continue}(h.endsWith(".ts")||h.endsWith(".cts")||h.endsWith(".mts"))&&L(h)&&ri(i);const x=Le(h.replace(se,""));L(x+".cts")&&L(x+".mts")?(Fe(s,x+".cts",c,l,{...r,type:"cjs"},i,!1),Fe(s,x+".mts",c,l,{...r,type:"esm"},i,!1)):Fe(s,h,c,l,r,i,!1)}return{entries:s,warnings:n}},"inferEntries");var Ql=Object.defineProperty,Zl=g((e,t)=>Ql(e,"name",{value:t,configurable:!0}),"o$1");const ep=Zl((e,t)=>{const{publishConfig:i}=e;return i&&(i.bin&&(typeof i.bin=="object"||typeof i.bin=="string")&&(e.bin=i.bin),i.type&&typeof i.type=="string"&&i.type!==""&&(e.type=i.type),i.main&&typeof i.main=="string"&&i.main!==""&&(e.main=i.main),i.module&&typeof i.module=="string"&&i.module!==""&&(e.module=i.module),t===void 0&&i.types&&typeof i.types=="string"&&i.types!==""?e.types=i.types:t===void 0&&i.typings&&typeof i.typings=="string"&&i.typings!==""&&(e.typings=i.typings),i.exports&&typeof i.exports=="object"&&(e.exports=i.exports)),e},"overwriteWithPublishConfig");var tp=Object.defineProperty,ip=g((e,t)=>tp(e,"name",{value:t,configurable:!0}),"t$3");const np={hooks:{"build:prepare":ip(function(e){if(e.options.entries.length>0)return;const t=$(e.options.rootDir,e.options.sourceDir);if(!L(t))throw new Error("No 'src' directory found. Please provide entries manually.");const i=Nn(t,{extensions:[],includeDirs:!1,includeSymlinks:!1,skip:[/.*\/node_modules\/.*/,/.*\/dist\/.*/]});if(i.length===0)throw new Error("No source files found in 'src' directory. Please provide entries manually.");let n={...e.pkg};n.publishConfig&&(e.logger.info('Using publishConfig found in package.json, to override the default key-value pairs of "'+Object.keys(n.publishConfig).join(", ")+'".'),e.logger.debug(n.publishConfig),n=ep(n,e.options.declaration));const o=Xl(n,i,e);for(const a of o.warnings)C(e,a);if(e.options.entries.push(...o.entries),e.options.entries.length===0)throw new Error("No entries detected. Please provide entries manually.");e.logger.info("Automatically detected entries:",D(e.options.entries.map(a=>a.fileAlias?K(a.fileAlias)+" => "+K(a.input.replace(`${e.options.rootDir}/`,"").replace(/\/$/,"/*")):K(a.input.replace(`${e.options.rootDir}/`,"").replace(/\/$/,"/*"))).join(", ")),ie([e.options.emitESM&&"esm",e.options.emitCJS&&"cjs",e.options.declaration&&"dts"].filter(Boolean).map(a=>`[${a}]`).join(" ")))},"build:prepare")}};var op=Object.defineProperty,ap=g((e,t)=>op(e,"name",{value:t,configurable:!0}),"t$2");const sp=ap(async(e,t)=>{if(e==="auto")e=np;else{if(e==="none")return{};typeof e=="string"&&(e=await t.import(e)||{})}return typeof e=="function"&&(e=e()),e},"resolvePreset");var rp=Object.defineProperty,lp=g((e,t)=>rp(e,"name",{value:t,configurable:!0}),"j$1");const pp=lp(async e=>{const t=e.options.jiti.transformOptions?.babel?.plugins,i=[],n=JSON.stringify({...e.options.jiti,alias:{...et(e.pkg,e.options),...e.options.jiti.alias},transformOptions:{...e.options.jiti.transformOptions,babel:{...e.options.jiti.transformOptions?.babel,plugins:"__$BABEL_PLUGINS"}}},null,2).replace('"__$BABEL_PLUGINS"',Array.isArray(t)?"["+t.map((o,a)=>{if(Array.isArray(o)){const[s,...r]=o;return i.push(s),"["+["plugin"+a,...r.map(p=>JSON.stringify(p))].join(", ")+"]"}return i.push(o),"plugin"+a}).join(",")+"]":"[]");for(const o of e.options.entries){const a=P(e.options.rootDir,e.options.outDir,o.name),s=fo(e.jiti.esmResolve(o.input,{try:!0})??o.input),r=s.replace(se,""),p=Ye(s),l=jr(p);let c=[];try{c=await go(s,{extensions:Xe})}catch(d){C(e,`Cannot analyze ${s} for exports: ${d.toString()}`);return}const u=c.includes("default")||c.length===0;if(e.options.emitESM){const d=T(_(a),await Tt("jiti",{conditions:["node","import"],url:import.meta.url})),m=r+".d.mts";pe(`${a}.mjs`,l+['import { createJiti } from "'+d+'";',...i.map((v,h)=>"import plugin"+h+' from "'+v+'";'),"","const jiti = createJiti(import.meta.url, "+n+");","",'/** @type {import("'+m+'")} */','const _module = await jiti.import("'+s+'");',u?`
110
110
  export default _module?.default ?? _module;`:"",...c.filter(v=>v!=="default").map(v=>`export const ${v} = _module.${v};`)].join(`
111
111
  `)),e.options.declaration&&pe(`${a}.d.mts`,'export * from "'+m+`";
112
112
  `+(u?'export { default } from "'+m+'";':""))}if(e.options.emitCJS){const d=T(_(a),await Tt("jiti",{conditions:["node","require"],url:import.meta.url})),m=r+".d.cts";pe(`${a}.cjs`,l+['const { createJiti } = require("'+d+'");',...i.map((v,h)=>"const plugin"+h+" = require("+JSON.stringify(v)+")"),"","const jiti = createJiti(__filename, "+n+");","",'/** @type {import("'+m+'")} */','module.exports = jiti("'+s+'")'].join(`
@@ -71,7 +71,7 @@ ${a.chunks.map(c=>{const f=t.buildEntries.find(d=>d.path===c)??{};return E.gray(
71
71
  └─ `)+E.bold(i(r.path))+" (total size: "+E.cyan(A.formatBytes(r.size?.bytes??0,{decimals:2}))+")";a+=`
72
72
 
73
73
  `,e.raw(a)}return n&&e.raw("Σ Total dist size (byte size):",E.cyan(A.formatBytes(t.buildEntries.reduce((a,r)=>a+(r.size?.bytes??0),0),{decimals:2})),`
74
- `),n},"showSizeInformation"),ps=Se((e,t)=>{const i=ns(e.options.entries,"environment","runtime"),n=new Set,o=new Set;for(const[s,a]of Object.entries(i))for(const[r,p]of Object.entries(a)){const l={...e};!e.options.dtsOnly&&(s!=="undefined"||r!=="undefined")&&e.logger.info("Preparing build for "+(s==="undefined"?"":E.cyan(s)+" environment"+(r==="undefined"?"":" with "))+(r==="undefined"?"":E.cyan(r)+" runtime"));const c={};l.options.rollup.replace?(l.options.rollup.replace.values===void 0&&(l.options.rollup.replace.values={}),s!=="undefined"&&(c[["process","env","NODE_ENV"].join(".")]=JSON.stringify(s)),c[["process","env","EdgeRuntime"].join(".")]=JSON.stringify(r==="edge-light"),Object.freeze(c)):e.logger.warn("'replace' plugin is disabled. You should enable it to replace 'process.env.*' environments.");let f="";s!=="undefined"&&(f+=s+"/"),r!=="undefined"&&(f+=r+"/");let d=!1;l.options.minify!==void 0&&(d=l.options.minify),s==="development"?d=!1:s==="production"&&(d=!0);const u=[],v=[],h=[],$=[];for(const x of p)x.cjs&&x.esm?u.push(x):x.cjs?h.push(x):x.esm?v.push(x):x.declaration&&$.push(x);if(u.length>0){const x={...l,options:{...l.options,emitCJS:!0,emitESM:!0,entries:u,minify:d,rollup:{...l.options.rollup,replace:l.options.rollup.replace?{...l.options.rollup.replace,values:{...l.options.rollup.replace.values,...c}}:!1}}};if(e.options.dtsOnly||n.add({context:x,fileCache:t,subDirectory:f}),e.options.declaration){const w=x.options.entries.filter(k=>k.declaration);w.length>0&&o.add({context:{...x,options:{...x.options,entries:w}},fileCache:t,subDirectory:f})}}if(v.length>0){const x={...l,options:{...l.options,emitCJS:!1,emitESM:!0,entries:v,minify:d,rollup:{...l.options.rollup,replace:l.options.rollup.replace?{...l.options.rollup.replace,values:{...l.options.rollup.replace.values,...c}}:!1}}};if(e.options.dtsOnly||n.add({context:x,fileCache:t,subDirectory:f}),e.options.declaration){const w=x.options.entries.filter(k=>k.declaration);w.length>0&&o.add({context:{...x,options:{...x.options,entries:w}},fileCache:t,subDirectory:f})}}if(h.length>0){const x={...l,options:{...l.options,emitCJS:!0,emitESM:!1,entries:h,minify:d,rollup:{...l.options.rollup,replace:l.options.rollup.replace?{...l.options.rollup.replace,values:{...l.options.rollup.replace.values,...c}}:!1}}};if(e.options.dtsOnly||n.add({context:x,fileCache:t,subDirectory:f}),e.options.declaration){const w=x.options.entries.filter(k=>k.declaration);w.length>0&&o.add({context:{...x,options:{...x.options,entries:w}},fileCache:t,subDirectory:f})}}l.options.declaration&&$.length>0&&o.add({context:{...l,options:{...l.options,emitCJS:!1,emitESM:!1,entries:$,minify:d,rollup:{...l.options.rollup,replace:l.options.rollup.replace?{...l.options.rollup.replace,values:{...l.options.rollup.replace.values,...c}}:!1}}},fileCache:t,subDirectory:f})}return{builders:n,typeBuilders:o}},"prepareRollupConfig"),cs=Se(async(e,t)=>{await e.hooks.callHook("build:before",e);const{builders:i,typeBuilders:n}=ps(e,t);await Promise.all([...i].map(async({context:o,fileCache:s,subDirectory:a})=>await Ga(o,s,a))),await Promise.all([...n].map(async({context:o,fileCache:s,subDirectory:a})=>await Qa(o,s,a))),e.logger.success(E.green(e.options.name?"Build succeeded for "+e.options.name:"Build succeeded")),e.buildEntries=e.buildEntries.filter((o,s,a)=>a.findIndex(r=>r.path===o.path)===s);for await(const o of O.walk(m.join(e.options.rootDir,e.options.outDir),{includeDirs:!1,includeFiles:!0})){const s=m.join(e.options.rootDir,e.options.outDir);let a=e.buildEntries.find(p=>m.join(s,p.path)===o.path);a||(a={chunk:!0,path:o.path},e.buildEntries.push(a)),a.size===void 0&&(a.size={});const r=m.resolve(s,o.path);if(!a.size.bytes){const p=await Q.stat(r);a.size.bytes=p.size}a.size.brotli||(a.size.brotli=await es(r)),a.size.gzip||(a.size.gzip=await ss(r))}return await e.hooks.callHook("build:done",e),ls(e.logger,e)},"build");var ds=Object.defineProperty,us=g((e,t)=>ds(e,"name",{value:t,configurable:!0}),"r$4");const _=us((e,t)=>{e.warnings.has(t)||e.warnings.add(t)},"warn");var ms=Object.defineProperty,ei=g((e,t)=>ms(e,"name",{value:t,configurable:!0}),"t$5");const Oe=ei(e=>{if(e.endsWith(".mjs")||e.endsWith(".d.mts"))return"esm";if(e.endsWith(".cjs")||e.endsWith(".d.cts"))return"cjs"},"inferExportTypeFromFileName"),Le=ei((e,t,i,n)=>{if(e==="module-sync")return"esm";if(n){const a=Oe(n);if(a)return a}if(e==="module"||e==="import")return"esm";if(e==="require")return"cjs";if(t.length===0)return i;const[o,...s]=t;return Le(o,s,i,n)},"inferExportType");var fs=Object.defineProperty,gs=g((e,t)=>fs(e,"name",{value:t,configurable:!0}),"y$3");const vs=new Set(["electron","import","require","node","node-addons","default","types","deno","browser","module-sync","bun","workerd",...S.R,...S.a]),Ge=gs((e,t,i,n=[])=>{if(!e)return[];if(typeof e=="string"){const o=Oe(e);if(o&&o!==t)throw new Error(`Exported file "${e}" has an extension that does not match the package.json type "${t==="esm"?"module":"commonjs"}".`);return[{file:e,key:"exports",type:o??t}]}if(typeof e=="object"){const o=Object.entries(e).filter(([a])=>!a.endsWith(".json"));let s=[];for(const[a,r]of o)if(typeof r=="string"){let p={};Number.isInteger(+a)?p={exportKey:"*"}:a.startsWith("./")?p={exportKey:a.replace("./","")}:p={exportKey:a==="."?".":"*",subKey:a},s.push({...p,file:r,key:"exports",type:Le(a,n,t,r)})}else if(typeof r=="object"&&r!==null)for(const[p,l]of Object.entries(r)){if(i===!1&&p==="types")continue;const c=Number.isInteger(+a)?p:a;typeof l=="string"?s.push({exportKey:c.replace("./",""),file:l,key:"exports",...vs.has(p)?{subKey:p}:{},type:Le(p,n,t,l)}):s=[...s,...Ge({[c]:l},t,i,[...n,p])]}return s}return[]},"extractExportFilenames");var hs=Object.defineProperty,Fe=g((e,t)=>hs(e,"name",{value:t,configurable:!0}),"c$7");const ys=Fe((e,t)=>e.key==="exports"&&e.subKey===S.P?S.P:e.key==="exports"&&e.subKey===S.b?S.b:t,"getEnvironment"),ye=Fe((e,t,i,n,o,s,a)=>{const r=ys(o,s.environment);let p=s.options.runtime;for(const f of S.R)if(o.file.includes("."+f+".")||o.subKey===f){p=f;break}let l=e.find(f=>f.input===t&&f.environment===r&&f.runtime===p);l===void 0?l=e[e.push({environment:r,exportKey:new Set([o.exportKey].filter(Boolean)),input:t,runtime:p})-1]:l.exportKey&&o.exportKey&&l.exportKey.add(o.exportKey),a&&(l.isGlob=!0),i&&(l.outDir=n),o.isExecutable?(l.executable=!0,l.declaration=!1,o.type==="cjs"?l.cjs=!0:o.type==="esm"&&(l.esm=!0)):(/\.d\.[mc]?ts$/.test(o.file)&&s.options.declaration!==!1&&(l.declaration=s.options.declaration),o.type==="cjs"?l.cjs=!0:o.type==="esm"&&(l.esm=!0));const c=o.file.replace(m.extname(o.file),"").replace(new RegExp(`^./${s.options.outDir.replace(/^\.\//,"")}/`),"");S.a.has(o.subKey)&&!t.includes(c)&&(l.fileAlias=c)},"createOrUpdateEntry");let gt=!1;const vt=Fe(e=>{if(e.pkg?.dependencies?.typescript===void 0&&e.pkg?.devDependencies?.typescript===void 0)throw new Error("You tried to use a `.ts`, `.cts` or `.mts` file but `typescript` was not found in your package.json.")},"validateIfTypescriptIsInstalled"),xs=Fe((e,t,i)=>{const n=[];t.sort((r,p)=>r.split("/").length-p.split("/").length);const o=e.type==="module"?"esm":"cjs";o==="esm"&&(i.options.emitESM=!0),o==="cjs"&&(i.options.emitCJS=!0);const s=Ge(e.exports,o,i.options.declaration);if(e.bin){const r=(typeof e.bin=="string"?[e.bin]:Object.values(e.bin)).filter(Boolean);for(const p of r){const l=Oe(p);if(l&&l!==o)throw new Error(`Exported file "${p}" has an extension that does not match the package.json type "${e.type??"commonjs"}".`);s.push({file:p,isExecutable:!0,key:"bin",type:l??o})}}e.main&&s.push({file:e.main,key:"main",type:Oe(e.main)??o}),e.module&&s.push({file:e.module,key:"module",type:"esm"}),(e.types||e.typings)&&(vt(i),i.options.declaration===void 0&&(i.options.declaration="compatible"),s.push({file:e.types??e.typings,key:"types"}));const a=[];for(const r of s){const p=m.extname(r.file);if(p!==""&&!S.D.includes(p))continue;i.options.declaration===void 0&&(r.key==="types"||r.subKey==="types")&&(i.options.declaration=r.file.includes(".d.ts")?"compatible":!0),i.options.emitCJS===void 0&&r.type==="cjs"&&(i.options.emitCJS=!0),i.options.emitESM===void 0&&r.type==="esm"&&(i.options.emitESM=!0);const l=r.file.replace(/(?:\*[^/\\]|\.d\.[mc]?ts|\.\w+)$/,""),c=l.endsWith("/");if(c&&["./","/"].includes(l))continue;const f=l.replace(new RegExp("(./)?"+i.options.outDir),i.options.sourceDir).replace("./",""),d="(?<=/|$)",u=c?"":"(\\.[cm]?[tj]sx?)$";if(r.file.includes("/*")&&r.key==="exports"){gt||(i.logger.debug("Private subfolders are not supported, if you need this feature please open an issue on GitHub."),gt=!0);const x=[],w=new RegExp(d+f.replace("*","(.*)")+u),k=new RegExp(d+f.replace(/(.*)\.[^.]*$/,"$1").replace("*","(.*)")+u);for(const b of t)(w.test(b)||S.a.has(r.subKey)&&k.test(b))&&x.push(b);if(x.length===0){n.push(`Could not find entrypoint for \`${r.file}\``);continue}for(const b of x)ye(a,b,c,l,r,i,!0);continue}const v=new RegExp(d+f+u);let h=t.find(x=>v.test(x));if(S.a.has(r.subKey)&&h===void 0){const x=new RegExp(d+f.replace(/(.*)\.[^.]*$/,"$1")+u);h=t.find(w=>x.test(w))}if(h===void 0){O.isAccessibleSync(m.resolve(i.options.rootDir,r.file))||n.push(`Could not find entrypoint for \`${r.file}\``);continue}(h.endsWith(".ts")||h.endsWith(".cts")||h.endsWith(".mts"))&&O.isAccessibleSync(h)&&vt(i);const $=m.toNamespacedPath(h.replace(S.E,""));O.isAccessibleSync($+".cts")&&O.isAccessibleSync($+".mts")?(ye(a,$+".cts",c,l,{...r,type:"cjs"},i,!1),ye(a,$+".mts",c,l,{...r,type:"esm"},i,!1)):ye(a,h,c,l,r,i,!1)}return{entries:a,warnings:n}},"inferEntries");var bs=Object.defineProperty,ws=g((e,t)=>bs(e,"name",{value:t,configurable:!0}),"o$2");const ks=ws((e,t)=>{const{publishConfig:i}=e;return i&&(i.bin&&(typeof i.bin=="object"||typeof i.bin=="string")&&(e.bin=i.bin),i.type&&typeof i.type=="string"&&i.type!==""&&(e.type=i.type),i.main&&typeof i.main=="string"&&i.main!==""&&(e.main=i.main),i.module&&typeof i.module=="string"&&i.module!==""&&(e.module=i.module),t===void 0&&i.types&&typeof i.types=="string"&&i.types!==""?e.types=i.types:t===void 0&&i.typings&&typeof i.typings=="string"&&i.typings!==""&&(e.typings=i.typings),i.exports&&typeof i.exports=="object"&&(e.exports=i.exports)),e},"overwriteWithPublishConfig");var js=Object.defineProperty,$s=g((e,t)=>js(e,"name",{value:t,configurable:!0}),"t$4");const Es={hooks:{"build:prepare":$s(function(e){if(e.options.entries.length>0)return;const t=m.join(e.options.rootDir,e.options.sourceDir);if(!O.isAccessibleSync(t))throw new Error("No 'src' directory found. Please provide entries manually.");const i=O.collectSync(t,{extensions:[],includeDirs:!1,includeSymlinks:!1});if(i.length===0)throw new Error("No source files found in 'src' directory. Please provide entries manually.");let n={...e.pkg};n.publishConfig&&(e.logger.info('Using publishConfig found in package.json, to override the default key-value pairs of "'+Object.keys(n.publishConfig).join(", ")+'".'),e.logger.debug(n.publishConfig),n=ks(n,e.options.declaration));const o=xs(n,i,e);for(const s of o.warnings)_(e,s);if(e.options.entries.push(...o.entries),e.options.entries.length===0)throw new Error("No entries detected. Please provide entries manually.");e.logger.info("Automatically detected entries:",E.cyan(e.options.entries.map(s=>s.fileAlias?E.bold(s.fileAlias)+" => "+E.bold(s.input.replace(`${e.options.rootDir}/`,"").replace(/\/$/,"/*")):E.bold(s.input.replace(`${e.options.rootDir}/`,"").replace(/\/$/,"/*"))).join(", ")),E.gray([e.options.emitESM&&"esm",e.options.emitCJS&&"cjs",e.options.declaration&&"dts"].filter(Boolean).map(s=>`[${s}]`).join(" ")))},"build:prepare")}};var Ss=Object.defineProperty,Os=g((e,t)=>Ss(e,"name",{value:t,configurable:!0}),"t$3");const Ps=Os(async(e,t)=>{if(e==="auto")e=Es;else{if(e==="none")return{};typeof e=="string"&&(e=await t.import(e)||{})}return typeof e=="function"&&(e=e()),e},"resolvePreset");var Ds=Object.defineProperty,Ns=g((e,t)=>Ds(e,"name",{value:t,configurable:!0}),"j$1");const _s=Ns(async e=>{const t=e.options.jiti.transformOptions?.babel?.plugins,i=[],n=JSON.stringify({...e.options.jiti,alias:{..._e(e.pkg,e.options),...e.options.jiti.alias},transformOptions:{...e.options.jiti.transformOptions,babel:{...e.options.jiti.transformOptions?.babel,plugins:"__$BABEL_PLUGINS"}}},null,2).replace('"__$BABEL_PLUGINS"',Array.isArray(t)?"["+t.map((o,s)=>{if(Array.isArray(o)){const[a,...r]=o;return i.push(a),"["+["plugin"+s,...r.map(p=>JSON.stringify(p))].join(", ")+"]"}return i.push(o),"plugin"+s}).join(",")+"]":"[]");for(const o of e.options.entries){const s=m.resolve(e.options.rootDir,e.options.outDir,o.name),a=te.fileURLToPath(e.jiti.esmResolve(o.input,{try:!0})??o.input),r=a.replace(S.E,""),p=O.readFileSync(a),l=Ho(p);let c=[];try{c=await te.resolveModuleExportNames(a,{extensions:S.D})}catch(d){_(e,`Cannot analyze ${a} for exports: ${d.toString()}`);return}const f=c.includes("default")||c.length===0;if(e.options.emitESM){const d=m.relative(m.dirname(s),await te.resolvePath("jiti",{conditions:["node","import"],url:typeof document>"u"?require("url").pathToFileURL(__filename).href:ee&&ee.tagName.toUpperCase()==="SCRIPT"&&ee.src||new URL("packem/index.cjs",document.baseURI).href})),u=r+".d.mts";O.writeFileSync(`${s}.mjs`,l+['import { createJiti } from "'+d+'";',...i.map((v,h)=>"import plugin"+h+' from "'+v+'";'),"","const jiti = createJiti(import.meta.url, "+n+");","",'/** @type {import("'+u+'")} */','const _module = await jiti.import("'+a+'");',f?`
74
+ `),n},"showSizeInformation"),ps=Se((e,t)=>{const i=ns(e.options.entries,"environment","runtime"),n=new Set,o=new Set;for(const[s,a]of Object.entries(i))for(const[r,p]of Object.entries(a)){const l={...e};!e.options.dtsOnly&&(s!=="undefined"||r!=="undefined")&&e.logger.info("Preparing build for "+(s==="undefined"?"":E.cyan(s)+" environment"+(r==="undefined"?"":" with "))+(r==="undefined"?"":E.cyan(r)+" runtime"));const c={};l.options.rollup.replace?(l.options.rollup.replace.values===void 0&&(l.options.rollup.replace.values={}),s!=="undefined"&&(c[["process","env","NODE_ENV"].join(".")]=JSON.stringify(s)),c[["process","env","EdgeRuntime"].join(".")]=JSON.stringify(r==="edge-light"),Object.freeze(c)):e.logger.warn("'replace' plugin is disabled. You should enable it to replace 'process.env.*' environments.");let f="";s!=="undefined"&&(f+=s+"/"),r!=="undefined"&&(f+=r+"/");let d=!1;l.options.minify!==void 0&&(d=l.options.minify),s==="development"?d=!1:s==="production"&&(d=!0);const u=[],v=[],h=[],$=[];for(const x of p)x.cjs&&x.esm?u.push(x):x.cjs?h.push(x):x.esm?v.push(x):x.declaration&&$.push(x);if(u.length>0){const x={...l,options:{...l.options,emitCJS:!0,emitESM:!0,entries:u,minify:d,rollup:{...l.options.rollup,replace:l.options.rollup.replace?{...l.options.rollup.replace,values:{...l.options.rollup.replace.values,...c}}:!1}}};if(e.options.dtsOnly||n.add({context:x,fileCache:t,subDirectory:f}),e.options.declaration){const w=x.options.entries.filter(k=>k.declaration);w.length>0&&o.add({context:{...x,options:{...x.options,entries:w}},fileCache:t,subDirectory:f})}}if(v.length>0){const x={...l,options:{...l.options,emitCJS:!1,emitESM:!0,entries:v,minify:d,rollup:{...l.options.rollup,replace:l.options.rollup.replace?{...l.options.rollup.replace,values:{...l.options.rollup.replace.values,...c}}:!1}}};if(e.options.dtsOnly||n.add({context:x,fileCache:t,subDirectory:f}),e.options.declaration){const w=x.options.entries.filter(k=>k.declaration);w.length>0&&o.add({context:{...x,options:{...x.options,entries:w}},fileCache:t,subDirectory:f})}}if(h.length>0){const x={...l,options:{...l.options,emitCJS:!0,emitESM:!1,entries:h,minify:d,rollup:{...l.options.rollup,replace:l.options.rollup.replace?{...l.options.rollup.replace,values:{...l.options.rollup.replace.values,...c}}:!1}}};if(e.options.dtsOnly||n.add({context:x,fileCache:t,subDirectory:f}),e.options.declaration){const w=x.options.entries.filter(k=>k.declaration);w.length>0&&o.add({context:{...x,options:{...x.options,entries:w}},fileCache:t,subDirectory:f})}}l.options.declaration&&$.length>0&&o.add({context:{...l,options:{...l.options,emitCJS:!1,emitESM:!1,entries:$,minify:d,rollup:{...l.options.rollup,replace:l.options.rollup.replace?{...l.options.rollup.replace,values:{...l.options.rollup.replace.values,...c}}:!1}}},fileCache:t,subDirectory:f})}return{builders:n,typeBuilders:o}},"prepareRollupConfig"),cs=Se(async(e,t)=>{await e.hooks.callHook("build:before",e);const{builders:i,typeBuilders:n}=ps(e,t);await Promise.all([...i].map(async({context:o,fileCache:s,subDirectory:a})=>await Ga(o,s,a))),await Promise.all([...n].map(async({context:o,fileCache:s,subDirectory:a})=>await Qa(o,s,a))),e.logger.success(E.green(e.options.name?"Build succeeded for "+e.options.name:"Build succeeded")),e.buildEntries=e.buildEntries.filter((o,s,a)=>a.findIndex(r=>r.path===o.path)===s);for await(const o of O.walk(m.join(e.options.rootDir,e.options.outDir),{includeDirs:!1,includeFiles:!0})){const s=m.join(e.options.rootDir,e.options.outDir);let a=e.buildEntries.find(p=>m.join(s,p.path)===o.path);a||(a={chunk:!0,path:o.path},e.buildEntries.push(a)),a.size===void 0&&(a.size={});const r=m.resolve(s,o.path);if(!a.size.bytes){const p=await Q.stat(r);a.size.bytes=p.size}a.size.brotli||(a.size.brotli=await es(r)),a.size.gzip||(a.size.gzip=await ss(r))}return await e.hooks.callHook("build:done",e),ls(e.logger,e)},"build");var ds=Object.defineProperty,us=g((e,t)=>ds(e,"name",{value:t,configurable:!0}),"r$4");const _=us((e,t)=>{e.warnings.has(t)||e.warnings.add(t)},"warn");var ms=Object.defineProperty,ei=g((e,t)=>ms(e,"name",{value:t,configurable:!0}),"t$5");const Oe=ei(e=>{if(e.endsWith(".mjs")||e.endsWith(".d.mts"))return"esm";if(e.endsWith(".cjs")||e.endsWith(".d.cts"))return"cjs"},"inferExportTypeFromFileName"),Le=ei((e,t,i,n)=>{if(e==="module-sync")return"esm";if(n){const a=Oe(n);if(a)return a}if(e==="module"||e==="import")return"esm";if(e==="require")return"cjs";if(t.length===0)return i;const[o,...s]=t;return Le(o,s,i,n)},"inferExportType");var fs=Object.defineProperty,gs=g((e,t)=>fs(e,"name",{value:t,configurable:!0}),"y$3");const vs=new Set(["electron","import","require","node","node-addons","default","types","deno","browser","module-sync","bun","workerd",...S.R,...S.a]),Ge=gs((e,t,i,n=[])=>{if(!e)return[];if(typeof e=="string"){const o=Oe(e);if(o&&o!==t)throw new Error(`Exported file "${e}" has an extension that does not match the package.json type "${t==="esm"?"module":"commonjs"}".`);return[{file:e,key:"exports",type:o??t}]}if(typeof e=="object"){const o=Object.entries(e).filter(([a])=>!a.endsWith(".json"));let s=[];for(const[a,r]of o)if(typeof r=="string"){let p={};Number.isInteger(+a)?p={exportKey:"*"}:a.startsWith("./")?p={exportKey:a.replace("./","")}:p={exportKey:a==="."?".":"*",subKey:a},s.push({...p,file:r,key:"exports",type:Le(a,n,t,r)})}else if(typeof r=="object"&&r!==null)for(const[p,l]of Object.entries(r)){if(i===!1&&p==="types")continue;const c=Number.isInteger(+a)?p:a;typeof l=="string"?s.push({exportKey:c.replace("./",""),file:l,key:"exports",...vs.has(p)?{subKey:p}:{},type:Le(p,n,t,l)}):s=[...s,...Ge({[c]:l},t,i,[...n,p])]}return s}return[]},"extractExportFilenames");var hs=Object.defineProperty,Fe=g((e,t)=>hs(e,"name",{value:t,configurable:!0}),"c$7");const ys=Fe((e,t)=>e.key==="exports"&&e.subKey===S.P?S.P:e.key==="exports"&&e.subKey===S.b?S.b:t,"getEnvironment"),ye=Fe((e,t,i,n,o,s,a)=>{const r=ys(o,s.environment);let p=s.options.runtime;for(const f of S.R)if(o.file.includes("."+f+".")||o.subKey===f){p=f;break}let l=e.find(f=>f.input===t&&f.environment===r&&f.runtime===p);l===void 0?l=e[e.push({environment:r,exportKey:new Set([o.exportKey].filter(Boolean)),input:t,runtime:p})-1]:l.exportKey&&o.exportKey&&l.exportKey.add(o.exportKey),a&&(l.isGlob=!0),i&&(l.outDir=n),o.isExecutable?(l.executable=!0,l.declaration=!1,o.type==="cjs"?l.cjs=!0:o.type==="esm"&&(l.esm=!0)):(/\.d\.[mc]?ts$/.test(o.file)&&s.options.declaration!==!1&&(l.declaration=s.options.declaration),o.type==="cjs"?l.cjs=!0:o.type==="esm"&&(l.esm=!0));const c=o.file.replace(m.extname(o.file),"").replace(new RegExp(`^./${s.options.outDir.replace(/^\.\//,"")}/`),"");S.a.has(o.subKey)&&!t.includes(c)&&(l.fileAlias=c)},"createOrUpdateEntry");let gt=!1;const vt=Fe(e=>{if(e.pkg?.dependencies?.typescript===void 0&&e.pkg?.devDependencies?.typescript===void 0)throw new Error("You tried to use a `.ts`, `.cts` or `.mts` file but `typescript` was not found in your package.json.")},"validateIfTypescriptIsInstalled"),xs=Fe((e,t,i)=>{const n=[];t.sort((r,p)=>r.split("/").length-p.split("/").length);const o=e.type==="module"?"esm":"cjs";o==="esm"&&(i.options.emitESM=!0),o==="cjs"&&(i.options.emitCJS=!0);const s=Ge(e.exports,o,i.options.declaration);if(e.bin){const r=(typeof e.bin=="string"?[e.bin]:Object.values(e.bin)).filter(Boolean);for(const p of r){const l=Oe(p);if(l&&l!==o)throw new Error(`Exported file "${p}" has an extension that does not match the package.json type "${e.type??"commonjs"}".`);s.push({file:p,isExecutable:!0,key:"bin",type:l??o})}}e.main&&s.push({file:e.main,key:"main",type:Oe(e.main)??o}),e.module&&s.push({file:e.module,key:"module",type:"esm"}),(e.types||e.typings)&&(vt(i),i.options.declaration===void 0&&(i.options.declaration="compatible"),s.push({file:e.types??e.typings,key:"types"}));const a=[];for(const r of s){const p=m.extname(r.file);if(p!==""&&!S.D.includes(p))continue;i.options.declaration===void 0&&(r.key==="types"||r.subKey==="types")&&(i.options.declaration=r.file.includes(".d.ts")?"compatible":!0),i.options.emitCJS===void 0&&r.type==="cjs"&&(i.options.emitCJS=!0),i.options.emitESM===void 0&&r.type==="esm"&&(i.options.emitESM=!0);const l=r.file.replace(/(?:\*[^/\\]|\.d\.[mc]?ts|\.\w+)$/,""),c=l.endsWith("/");if(c&&["./","/"].includes(l))continue;const f=l.replace(new RegExp("(./)?"+i.options.outDir),i.options.sourceDir).replace("./",""),d="(?<=/|$)",u=c?"":"(\\.[cm]?[tj]sx?)$";if(r.file.includes("/*")&&r.key==="exports"){gt||(i.logger.debug("Private subfolders are not supported, if you need this feature please open an issue on GitHub."),gt=!0);const x=[],w=new RegExp(d+f.replace("*","(.*)")+u),k=new RegExp(d+f.replace(/(.*)\.[^.]*$/,"$1").replace("*","(.*)")+u);for(const b of t)(w.test(b)||S.a.has(r.subKey)&&k.test(b))&&x.push(b);if(x.length===0){n.push(`Could not find entrypoint for \`${r.file}\``);continue}for(const b of x)ye(a,b,c,l,r,i,!0);continue}const v=new RegExp(d+f+u);let h=t.find(x=>v.test(x));if(S.a.has(r.subKey)&&h===void 0){const x=new RegExp(d+f.replace(/(.*)\.[^.]*$/,"$1")+u);h=t.find(w=>x.test(w))}if(h===void 0){O.isAccessibleSync(m.resolve(i.options.rootDir,r.file))||n.push(`Could not find entrypoint for \`${r.file}\``);continue}(h.endsWith(".ts")||h.endsWith(".cts")||h.endsWith(".mts"))&&O.isAccessibleSync(h)&&vt(i);const $=m.toNamespacedPath(h.replace(S.E,""));O.isAccessibleSync($+".cts")&&O.isAccessibleSync($+".mts")?(ye(a,$+".cts",c,l,{...r,type:"cjs"},i,!1),ye(a,$+".mts",c,l,{...r,type:"esm"},i,!1)):ye(a,h,c,l,r,i,!1)}return{entries:a,warnings:n}},"inferEntries");var bs=Object.defineProperty,ws=g((e,t)=>bs(e,"name",{value:t,configurable:!0}),"o$2");const ks=ws((e,t)=>{const{publishConfig:i}=e;return i&&(i.bin&&(typeof i.bin=="object"||typeof i.bin=="string")&&(e.bin=i.bin),i.type&&typeof i.type=="string"&&i.type!==""&&(e.type=i.type),i.main&&typeof i.main=="string"&&i.main!==""&&(e.main=i.main),i.module&&typeof i.module=="string"&&i.module!==""&&(e.module=i.module),t===void 0&&i.types&&typeof i.types=="string"&&i.types!==""?e.types=i.types:t===void 0&&i.typings&&typeof i.typings=="string"&&i.typings!==""&&(e.typings=i.typings),i.exports&&typeof i.exports=="object"&&(e.exports=i.exports)),e},"overwriteWithPublishConfig");var js=Object.defineProperty,$s=g((e,t)=>js(e,"name",{value:t,configurable:!0}),"t$4");const Es={hooks:{"build:prepare":$s(function(e){if(e.options.entries.length>0)return;const t=m.join(e.options.rootDir,e.options.sourceDir);if(!O.isAccessibleSync(t))throw new Error("No 'src' directory found. Please provide entries manually.");const i=O.collectSync(t,{extensions:[],includeDirs:!1,includeSymlinks:!1,skip:[/.*\/node_modules\/.*/,/.*\/dist\/.*/]});if(i.length===0)throw new Error("No source files found in 'src' directory. Please provide entries manually.");let n={...e.pkg};n.publishConfig&&(e.logger.info('Using publishConfig found in package.json, to override the default key-value pairs of "'+Object.keys(n.publishConfig).join(", ")+'".'),e.logger.debug(n.publishConfig),n=ks(n,e.options.declaration));const o=xs(n,i,e);for(const s of o.warnings)_(e,s);if(e.options.entries.push(...o.entries),e.options.entries.length===0)throw new Error("No entries detected. Please provide entries manually.");e.logger.info("Automatically detected entries:",E.cyan(e.options.entries.map(s=>s.fileAlias?E.bold(s.fileAlias)+" => "+E.bold(s.input.replace(`${e.options.rootDir}/`,"").replace(/\/$/,"/*")):E.bold(s.input.replace(`${e.options.rootDir}/`,"").replace(/\/$/,"/*"))).join(", ")),E.gray([e.options.emitESM&&"esm",e.options.emitCJS&&"cjs",e.options.declaration&&"dts"].filter(Boolean).map(s=>`[${s}]`).join(" ")))},"build:prepare")}};var Ss=Object.defineProperty,Os=g((e,t)=>Ss(e,"name",{value:t,configurable:!0}),"t$3");const Ps=Os(async(e,t)=>{if(e==="auto")e=Es;else{if(e==="none")return{};typeof e=="string"&&(e=await t.import(e)||{})}return typeof e=="function"&&(e=e()),e},"resolvePreset");var Ds=Object.defineProperty,Ns=g((e,t)=>Ds(e,"name",{value:t,configurable:!0}),"j$1");const _s=Ns(async e=>{const t=e.options.jiti.transformOptions?.babel?.plugins,i=[],n=JSON.stringify({...e.options.jiti,alias:{..._e(e.pkg,e.options),...e.options.jiti.alias},transformOptions:{...e.options.jiti.transformOptions,babel:{...e.options.jiti.transformOptions?.babel,plugins:"__$BABEL_PLUGINS"}}},null,2).replace('"__$BABEL_PLUGINS"',Array.isArray(t)?"["+t.map((o,s)=>{if(Array.isArray(o)){const[a,...r]=o;return i.push(a),"["+["plugin"+s,...r.map(p=>JSON.stringify(p))].join(", ")+"]"}return i.push(o),"plugin"+s}).join(",")+"]":"[]");for(const o of e.options.entries){const s=m.resolve(e.options.rootDir,e.options.outDir,o.name),a=te.fileURLToPath(e.jiti.esmResolve(o.input,{try:!0})??o.input),r=a.replace(S.E,""),p=O.readFileSync(a),l=Ho(p);let c=[];try{c=await te.resolveModuleExportNames(a,{extensions:S.D})}catch(d){_(e,`Cannot analyze ${a} for exports: ${d.toString()}`);return}const f=c.includes("default")||c.length===0;if(e.options.emitESM){const d=m.relative(m.dirname(s),await te.resolvePath("jiti",{conditions:["node","import"],url:typeof document>"u"?require("url").pathToFileURL(__filename).href:ee&&ee.tagName.toUpperCase()==="SCRIPT"&&ee.src||new URL("packem/index.cjs",document.baseURI).href})),u=r+".d.mts";O.writeFileSync(`${s}.mjs`,l+['import { createJiti } from "'+d+'";',...i.map((v,h)=>"import plugin"+h+' from "'+v+'";'),"","const jiti = createJiti(import.meta.url, "+n+");","",'/** @type {import("'+u+'")} */','const _module = await jiti.import("'+a+'");',f?`
75
75
  export default _module?.default ?? _module;`:"",...c.filter(v=>v!=="default").map(v=>`export const ${v} = _module.${v};`)].join(`
76
76
  `)),e.options.declaration&&O.writeFileSync(`${s}.d.mts`,'export * from "'+u+`";
77
77
  `+(f?'export { default } from "'+u+'";':""))}if(e.options.emitCJS){const d=m.relative(m.dirname(s),await te.resolvePath("jiti",{conditions:["node","require"],url:typeof document>"u"?require("url").pathToFileURL(__filename).href:ee&&ee.tagName.toUpperCase()==="SCRIPT"&&ee.src||new URL("packem/index.cjs",document.baseURI).href})),u=r+".d.cts";O.writeFileSync(`${s}.cjs`,l+['const { createJiti } = require("'+d+'");',...i.map((v,h)=>"const plugin"+h+" = require("+JSON.stringify(v)+")"),"","const jiti = createJiti(__filename, "+n+");","",'/** @type {import("'+u+'")} */','module.exports = jiti("'+a+'")'].join(`
@@ -77,7 +77,7 @@ ${a.chunks.map(c=>{const m=t.buildEntries.find(d=>d.path===c)??{};return Q("
77
77
  └─ `)+q(i(r.path))+" (total size: "+P(A(r.size?.bytes??0,{decimals:2}))+")";a+=`
78
78
 
79
79
  `,e.raw(a)}return n&&e.raw("Σ Total dist size (byte size):",P(A(t.buildEntries.reduce((a,r)=>a+(r.size?.bytes??0),0),{decimals:2})),`
80
- `),n},"showSizeInformation"),pr=_e((e,t)=>{const i=nr(e.options.entries,"environment","runtime"),n=new Set,o=new Set;for(const[s,a]of Object.entries(i))for(const[r,p]of Object.entries(a)){const l={...e};!e.options.dtsOnly&&(s!=="undefined"||r!=="undefined")&&e.logger.info("Preparing build for "+(s==="undefined"?"":P(s)+" environment"+(r==="undefined"?"":" with "))+(r==="undefined"?"":P(r)+" runtime"));const c={};l.options.rollup.replace?(l.options.rollup.replace.values===void 0&&(l.options.rollup.replace.values={}),s!=="undefined"&&(c[["process","env","NODE_ENV"].join(".")]=JSON.stringify(s)),c[["process","env","EdgeRuntime"].join(".")]=JSON.stringify(r==="edge-light"),Object.freeze(c)):e.logger.warn("'replace' plugin is disabled. You should enable it to replace 'process.env.*' environments.");let m="";s!=="undefined"&&(m+=s+"/"),r!=="undefined"&&(m+=r+"/");let d=!1;l.options.minify!==void 0&&(d=l.options.minify),s==="development"?d=!1:s==="production"&&(d=!0);const u=[],g=[],v=[],$=[];for(const x of p)x.cjs&&x.esm?u.push(x):x.cjs?v.push(x):x.esm?g.push(x):x.declaration&&$.push(x);if(u.length>0){const x={...l,options:{...l.options,emitCJS:!0,emitESM:!0,entries:u,minify:d,rollup:{...l.options.rollup,replace:l.options.rollup.replace?{...l.options.rollup.replace,values:{...l.options.rollup.replace.values,...c}}:!1}}};if(e.options.dtsOnly||n.add({context:x,fileCache:t,subDirectory:m}),e.options.declaration){const b=x.options.entries.filter(w=>w.declaration);b.length>0&&o.add({context:{...x,options:{...x.options,entries:b}},fileCache:t,subDirectory:m})}}if(g.length>0){const x={...l,options:{...l.options,emitCJS:!1,emitESM:!0,entries:g,minify:d,rollup:{...l.options.rollup,replace:l.options.rollup.replace?{...l.options.rollup.replace,values:{...l.options.rollup.replace.values,...c}}:!1}}};if(e.options.dtsOnly||n.add({context:x,fileCache:t,subDirectory:m}),e.options.declaration){const b=x.options.entries.filter(w=>w.declaration);b.length>0&&o.add({context:{...x,options:{...x.options,entries:b}},fileCache:t,subDirectory:m})}}if(v.length>0){const x={...l,options:{...l.options,emitCJS:!0,emitESM:!1,entries:v,minify:d,rollup:{...l.options.rollup,replace:l.options.rollup.replace?{...l.options.rollup.replace,values:{...l.options.rollup.replace.values,...c}}:!1}}};if(e.options.dtsOnly||n.add({context:x,fileCache:t,subDirectory:m}),e.options.declaration){const b=x.options.entries.filter(w=>w.declaration);b.length>0&&o.add({context:{...x,options:{...x.options,entries:b}},fileCache:t,subDirectory:m})}}l.options.declaration&&$.length>0&&o.add({context:{...l,options:{...l.options,emitCJS:!1,emitESM:!1,entries:$,minify:d,rollup:{...l.options.rollup,replace:l.options.rollup.replace?{...l.options.rollup.replace,values:{...l.options.rollup.replace.values,...c}}:!1}}},fileCache:t,subDirectory:m})}return{builders:n,typeBuilders:o}},"prepareRollupConfig"),cr=_e(async(e,t)=>{await e.hooks.callHook("build:before",e);const{builders:i,typeBuilders:n}=pr(e,t);await Promise.all([...i].map(async({context:o,fileCache:s,subDirectory:a})=>await Gs(o,s,a))),await Promise.all([...n].map(async({context:o,fileCache:s,subDirectory:a})=>await Ys(o,s,a))),e.logger.success(Ii(e.options.name?"Build succeeded for "+e.options.name:"Build succeeded")),e.buildEntries=e.buildEntries.filter((o,s,a)=>a.findIndex(r=>r.path===o.path)===s);for await(const o of Bi(j(e.options.rootDir,e.options.outDir),{includeDirs:!1,includeFiles:!0})){const s=j(e.options.rootDir,e.options.outDir);let a=e.buildEntries.find(p=>j(s,p.path)===o.path);a||(a={chunk:!0,path:o.path},e.buildEntries.push(a)),a.size===void 0&&(a.size={});const r=N(s,o.path);if(!a.size.bytes){const p=await it(r);a.size.bytes=p.size}a.size.brotli||(a.size.brotli=await er(r)),a.size.gzip||(a.size.gzip=await sr(r))}return await e.hooks.callHook("build:done",e),lr(e.logger,e)},"build");var dr=Object.defineProperty,ur=f((e,t)=>dr(e,"name",{value:t,configurable:!0}),"r$4");const D=ur((e,t)=>{e.warnings.has(t)||e.warnings.add(t)},"warn");var mr=Object.defineProperty,$i=f((e,t)=>mr(e,"name",{value:t,configurable:!0}),"t$5");const Me=$i(e=>{if(e.endsWith(".mjs")||e.endsWith(".d.mts"))return"esm";if(e.endsWith(".cjs")||e.endsWith(".d.cts"))return"cjs"},"inferExportTypeFromFileName"),et=$i((e,t,i,n)=>{if(e==="module-sync")return"esm";if(n){const a=Me(n);if(a)return a}if(e==="module"||e==="import")return"esm";if(e==="require")return"cjs";if(t.length===0)return i;const[o,...s]=t;return et(o,s,i,n)},"inferExportType");var fr=Object.defineProperty,gr=f((e,t)=>fr(e,"name",{value:t,configurable:!0}),"y$3");const vr=new Set(["electron","import","require","node","node-addons","default","types","deno","browser","module-sync","bun","workerd",...Zt,...De]),lt=gr((e,t,i,n=[])=>{if(!e)return[];if(typeof e=="string"){const o=Me(e);if(o&&o!==t)throw new Error(`Exported file "${e}" has an extension that does not match the package.json type "${t==="esm"?"module":"commonjs"}".`);return[{file:e,key:"exports",type:o??t}]}if(typeof e=="object"){const o=Object.entries(e).filter(([a])=>!a.endsWith(".json"));let s=[];for(const[a,r]of o)if(typeof r=="string"){let p={};Number.isInteger(+a)?p={exportKey:"*"}:a.startsWith("./")?p={exportKey:a.replace("./","")}:p={exportKey:a==="."?".":"*",subKey:a},s.push({...p,file:r,key:"exports",type:et(a,n,t,r)})}else if(typeof r=="object"&&r!==null)for(const[p,l]of Object.entries(r)){if(i===!1&&p==="types")continue;const c=Number.isInteger(+a)?p:a;typeof l=="string"?s.push({exportKey:c.replace("./",""),file:l,key:"exports",...vr.has(p)?{subKey:p}:{},type:et(p,n,t,l)}):s=[...s,...lt({[c]:l},t,i,[...n,p])]}return s}return[]},"extractExportFilenames");var hr=Object.defineProperty,Be=f((e,t)=>hr(e,"name",{value:t,configurable:!0}),"c$7");const xr=Be((e,t)=>e.key==="exports"&&e.subKey===fe?fe:e.key==="exports"&&e.subKey===xt?xt:t,"getEnvironment"),je=Be((e,t,i,n,o,s,a)=>{const r=xr(o,s.environment);let p=s.options.runtime;for(const m of Zt)if(o.file.includes("."+m+".")||o.subKey===m){p=m;break}let l=e.find(m=>m.input===t&&m.environment===r&&m.runtime===p);l===void 0?l=e[e.push({environment:r,exportKey:new Set([o.exportKey].filter(Boolean)),input:t,runtime:p})-1]:l.exportKey&&o.exportKey&&l.exportKey.add(o.exportKey),a&&(l.isGlob=!0),i&&(l.outDir=n),o.isExecutable?(l.executable=!0,l.declaration=!1,o.type==="cjs"?l.cjs=!0:o.type==="esm"&&(l.esm=!0)):(/\.d\.[mc]?ts$/.test(o.file)&&s.options.declaration!==!1&&(l.declaration=s.options.declaration),o.type==="cjs"?l.cjs=!0:o.type==="esm"&&(l.esm=!0));const c=o.file.replace(ve(o.file),"").replace(new RegExp(`^./${s.options.outDir.replace(/^\.\//,"")}/`),"");De.has(o.subKey)&&!t.includes(c)&&(l.fileAlias=c)},"createOrUpdateEntry");let It=!1;const Tt=Be(e=>{if(e.pkg?.dependencies?.typescript===void 0&&e.pkg?.devDependencies?.typescript===void 0)throw new Error("You tried to use a `.ts`, `.cts` or `.mts` file but `typescript` was not found in your package.json.")},"validateIfTypescriptIsInstalled"),yr=Be((e,t,i)=>{const n=[];t.sort((r,p)=>r.split("/").length-p.split("/").length);const o=e.type==="module"?"esm":"cjs";o==="esm"&&(i.options.emitESM=!0),o==="cjs"&&(i.options.emitCJS=!0);const s=lt(e.exports,o,i.options.declaration);if(e.bin){const r=(typeof e.bin=="string"?[e.bin]:Object.values(e.bin)).filter(Boolean);for(const p of r){const l=Me(p);if(l&&l!==o)throw new Error(`Exported file "${p}" has an extension that does not match the package.json type "${e.type??"commonjs"}".`);s.push({file:p,isExecutable:!0,key:"bin",type:l??o})}}e.main&&s.push({file:e.main,key:"main",type:Me(e.main)??o}),e.module&&s.push({file:e.module,key:"module",type:"esm"}),(e.types||e.typings)&&(Tt(i),i.options.declaration===void 0&&(i.options.declaration="compatible"),s.push({file:e.types??e.typings,key:"types"}));const a=[];for(const r of s){const p=ve(r.file);if(p!==""&&!Te.includes(p))continue;i.options.declaration===void 0&&(r.key==="types"||r.subKey==="types")&&(i.options.declaration=r.file.includes(".d.ts")?"compatible":!0),i.options.emitCJS===void 0&&r.type==="cjs"&&(i.options.emitCJS=!0),i.options.emitESM===void 0&&r.type==="esm"&&(i.options.emitESM=!0);const l=r.file.replace(/(?:\*[^/\\]|\.d\.[mc]?ts|\.\w+)$/,""),c=l.endsWith("/");if(c&&["./","/"].includes(l))continue;const m=l.replace(new RegExp("(./)?"+i.options.outDir),i.options.sourceDir).replace("./",""),d="(?<=/|$)",u=c?"":"(\\.[cm]?[tj]sx?)$";if(r.file.includes("/*")&&r.key==="exports"){It||(i.logger.debug("Private subfolders are not supported, if you need this feature please open an issue on GitHub."),It=!0);const x=[],b=new RegExp(d+m.replace("*","(.*)")+u),w=new RegExp(d+m.replace(/(.*)\.[^.]*$/,"$1").replace("*","(.*)")+u);for(const y of t)(b.test(y)||De.has(r.subKey)&&w.test(y))&&x.push(y);if(x.length===0){n.push(`Could not find entrypoint for \`${r.file}\``);continue}for(const y of x)je(a,y,c,l,r,i,!0);continue}const g=new RegExp(d+m+u);let v=t.find(x=>g.test(x));if(De.has(r.subKey)&&v===void 0){const x=new RegExp(d+m.replace(/(.*)\.[^.]*$/,"$1")+u);v=t.find(b=>x.test(b))}if(v===void 0){X(N(i.options.rootDir,r.file))||n.push(`Could not find entrypoint for \`${r.file}\``);continue}(v.endsWith(".ts")||v.endsWith(".cts")||v.endsWith(".mts"))&&X(v)&&Tt(i);const $=Se(v.replace(ie,""));X($+".cts")&&X($+".mts")?(je(a,$+".cts",c,l,{...r,type:"cjs"},i,!1),je(a,$+".mts",c,l,{...r,type:"esm"},i,!1)):je(a,v,c,l,r,i,!1)}return{entries:a,warnings:n}},"inferEntries");var br=Object.defineProperty,wr=f((e,t)=>br(e,"name",{value:t,configurable:!0}),"o$2");const kr=wr((e,t)=>{const{publishConfig:i}=e;return i&&(i.bin&&(typeof i.bin=="object"||typeof i.bin=="string")&&(e.bin=i.bin),i.type&&typeof i.type=="string"&&i.type!==""&&(e.type=i.type),i.main&&typeof i.main=="string"&&i.main!==""&&(e.main=i.main),i.module&&typeof i.module=="string"&&i.module!==""&&(e.module=i.module),t===void 0&&i.types&&typeof i.types=="string"&&i.types!==""?e.types=i.types:t===void 0&&i.typings&&typeof i.typings=="string"&&i.typings!==""&&(e.typings=i.typings),i.exports&&typeof i.exports=="object"&&(e.exports=i.exports)),e},"overwriteWithPublishConfig");var $r=Object.defineProperty,jr=f((e,t)=>$r(e,"name",{value:t,configurable:!0}),"t$4");const Er={hooks:{"build:prepare":jr(function(e){if(e.options.entries.length>0)return;const t=j(e.options.rootDir,e.options.sourceDir);if(!X(t))throw new Error("No 'src' directory found. Please provide entries manually.");const i=Wi(t,{extensions:[],includeDirs:!1,includeSymlinks:!1});if(i.length===0)throw new Error("No source files found in 'src' directory. Please provide entries manually.");let n={...e.pkg};n.publishConfig&&(e.logger.info('Using publishConfig found in package.json, to override the default key-value pairs of "'+Object.keys(n.publishConfig).join(", ")+'".'),e.logger.debug(n.publishConfig),n=kr(n,e.options.declaration));const o=yr(n,i,e);for(const s of o.warnings)D(e,s);if(e.options.entries.push(...o.entries),e.options.entries.length===0)throw new Error("No entries detected. Please provide entries manually.");e.logger.info("Automatically detected entries:",P(e.options.entries.map(s=>s.fileAlias?q(s.fileAlias)+" => "+q(s.input.replace(`${e.options.rootDir}/`,"").replace(/\/$/,"/*")):q(s.input.replace(`${e.options.rootDir}/`,"").replace(/\/$/,"/*"))).join(", ")),Q([e.options.emitESM&&"esm",e.options.emitCJS&&"cjs",e.options.declaration&&"dts"].filter(Boolean).map(s=>`[${s}]`).join(" ")))},"build:prepare")}};var Or=Object.defineProperty,Sr=f((e,t)=>Or(e,"name",{value:t,configurable:!0}),"t$3");const Pr=Sr(async(e,t)=>{if(e==="auto")e=Er;else{if(e==="none")return{};typeof e=="string"&&(e=await t.import(e)||{})}return typeof e=="function"&&(e=e()),e},"resolvePreset");var Dr=Object.defineProperty,Nr=f((e,t)=>Dr(e,"name",{value:t,configurable:!0}),"j$1");const Cr=Nr(async e=>{const t=e.options.jiti.transformOptions?.babel?.plugins,i=[],n=JSON.stringify({...e.options.jiti,alias:{...Re(e.pkg,e.options),...e.options.jiti.alias},transformOptions:{...e.options.jiti.transformOptions,babel:{...e.options.jiti.transformOptions?.babel,plugins:"__$BABEL_PLUGINS"}}},null,2).replace('"__$BABEL_PLUGINS"',Array.isArray(t)?"["+t.map((o,s)=>{if(Array.isArray(o)){const[a,...r]=o;return i.push(a),"["+["plugin"+s,...r.map(p=>JSON.stringify(p))].join(", ")+"]"}return i.push(o),"plugin"+s}).join(",")+"]":"[]");for(const o of e.options.entries){const s=N(e.options.rootDir,e.options.outDir,o.name),a=jn(e.jiti.esmResolve(o.input,{try:!0})??o.input),r=a.replace(ie,""),p=tt(a),l=Ha(p);let c=[];try{c=await En(a,{extensions:Te})}catch(d){D(e,`Cannot analyze ${a} for exports: ${d.toString()}`);return}const m=c.includes("default")||c.length===0;if(e.options.emitESM){const d=T(F(s),await ht("jiti",{conditions:["node","import"],url:import.meta.url})),u=r+".d.mts";ae(`${s}.mjs`,l+['import { createJiti } from "'+d+'";',...i.map((g,v)=>"import plugin"+v+' from "'+g+'";'),"","const jiti = createJiti(import.meta.url, "+n+");","",'/** @type {import("'+u+'")} */','const _module = await jiti.import("'+a+'");',m?`
80
+ `),n},"showSizeInformation"),pr=_e((e,t)=>{const i=nr(e.options.entries,"environment","runtime"),n=new Set,o=new Set;for(const[s,a]of Object.entries(i))for(const[r,p]of Object.entries(a)){const l={...e};!e.options.dtsOnly&&(s!=="undefined"||r!=="undefined")&&e.logger.info("Preparing build for "+(s==="undefined"?"":P(s)+" environment"+(r==="undefined"?"":" with "))+(r==="undefined"?"":P(r)+" runtime"));const c={};l.options.rollup.replace?(l.options.rollup.replace.values===void 0&&(l.options.rollup.replace.values={}),s!=="undefined"&&(c[["process","env","NODE_ENV"].join(".")]=JSON.stringify(s)),c[["process","env","EdgeRuntime"].join(".")]=JSON.stringify(r==="edge-light"),Object.freeze(c)):e.logger.warn("'replace' plugin is disabled. You should enable it to replace 'process.env.*' environments.");let m="";s!=="undefined"&&(m+=s+"/"),r!=="undefined"&&(m+=r+"/");let d=!1;l.options.minify!==void 0&&(d=l.options.minify),s==="development"?d=!1:s==="production"&&(d=!0);const u=[],g=[],v=[],$=[];for(const x of p)x.cjs&&x.esm?u.push(x):x.cjs?v.push(x):x.esm?g.push(x):x.declaration&&$.push(x);if(u.length>0){const x={...l,options:{...l.options,emitCJS:!0,emitESM:!0,entries:u,minify:d,rollup:{...l.options.rollup,replace:l.options.rollup.replace?{...l.options.rollup.replace,values:{...l.options.rollup.replace.values,...c}}:!1}}};if(e.options.dtsOnly||n.add({context:x,fileCache:t,subDirectory:m}),e.options.declaration){const b=x.options.entries.filter(w=>w.declaration);b.length>0&&o.add({context:{...x,options:{...x.options,entries:b}},fileCache:t,subDirectory:m})}}if(g.length>0){const x={...l,options:{...l.options,emitCJS:!1,emitESM:!0,entries:g,minify:d,rollup:{...l.options.rollup,replace:l.options.rollup.replace?{...l.options.rollup.replace,values:{...l.options.rollup.replace.values,...c}}:!1}}};if(e.options.dtsOnly||n.add({context:x,fileCache:t,subDirectory:m}),e.options.declaration){const b=x.options.entries.filter(w=>w.declaration);b.length>0&&o.add({context:{...x,options:{...x.options,entries:b}},fileCache:t,subDirectory:m})}}if(v.length>0){const x={...l,options:{...l.options,emitCJS:!0,emitESM:!1,entries:v,minify:d,rollup:{...l.options.rollup,replace:l.options.rollup.replace?{...l.options.rollup.replace,values:{...l.options.rollup.replace.values,...c}}:!1}}};if(e.options.dtsOnly||n.add({context:x,fileCache:t,subDirectory:m}),e.options.declaration){const b=x.options.entries.filter(w=>w.declaration);b.length>0&&o.add({context:{...x,options:{...x.options,entries:b}},fileCache:t,subDirectory:m})}}l.options.declaration&&$.length>0&&o.add({context:{...l,options:{...l.options,emitCJS:!1,emitESM:!1,entries:$,minify:d,rollup:{...l.options.rollup,replace:l.options.rollup.replace?{...l.options.rollup.replace,values:{...l.options.rollup.replace.values,...c}}:!1}}},fileCache:t,subDirectory:m})}return{builders:n,typeBuilders:o}},"prepareRollupConfig"),cr=_e(async(e,t)=>{await e.hooks.callHook("build:before",e);const{builders:i,typeBuilders:n}=pr(e,t);await Promise.all([...i].map(async({context:o,fileCache:s,subDirectory:a})=>await Gs(o,s,a))),await Promise.all([...n].map(async({context:o,fileCache:s,subDirectory:a})=>await Ys(o,s,a))),e.logger.success(Ii(e.options.name?"Build succeeded for "+e.options.name:"Build succeeded")),e.buildEntries=e.buildEntries.filter((o,s,a)=>a.findIndex(r=>r.path===o.path)===s);for await(const o of Bi(j(e.options.rootDir,e.options.outDir),{includeDirs:!1,includeFiles:!0})){const s=j(e.options.rootDir,e.options.outDir);let a=e.buildEntries.find(p=>j(s,p.path)===o.path);a||(a={chunk:!0,path:o.path},e.buildEntries.push(a)),a.size===void 0&&(a.size={});const r=N(s,o.path);if(!a.size.bytes){const p=await it(r);a.size.bytes=p.size}a.size.brotli||(a.size.brotli=await er(r)),a.size.gzip||(a.size.gzip=await sr(r))}return await e.hooks.callHook("build:done",e),lr(e.logger,e)},"build");var dr=Object.defineProperty,ur=f((e,t)=>dr(e,"name",{value:t,configurable:!0}),"r$4");const D=ur((e,t)=>{e.warnings.has(t)||e.warnings.add(t)},"warn");var mr=Object.defineProperty,$i=f((e,t)=>mr(e,"name",{value:t,configurable:!0}),"t$5");const Me=$i(e=>{if(e.endsWith(".mjs")||e.endsWith(".d.mts"))return"esm";if(e.endsWith(".cjs")||e.endsWith(".d.cts"))return"cjs"},"inferExportTypeFromFileName"),et=$i((e,t,i,n)=>{if(e==="module-sync")return"esm";if(n){const a=Me(n);if(a)return a}if(e==="module"||e==="import")return"esm";if(e==="require")return"cjs";if(t.length===0)return i;const[o,...s]=t;return et(o,s,i,n)},"inferExportType");var fr=Object.defineProperty,gr=f((e,t)=>fr(e,"name",{value:t,configurable:!0}),"y$3");const vr=new Set(["electron","import","require","node","node-addons","default","types","deno","browser","module-sync","bun","workerd",...Zt,...De]),lt=gr((e,t,i,n=[])=>{if(!e)return[];if(typeof e=="string"){const o=Me(e);if(o&&o!==t)throw new Error(`Exported file "${e}" has an extension that does not match the package.json type "${t==="esm"?"module":"commonjs"}".`);return[{file:e,key:"exports",type:o??t}]}if(typeof e=="object"){const o=Object.entries(e).filter(([a])=>!a.endsWith(".json"));let s=[];for(const[a,r]of o)if(typeof r=="string"){let p={};Number.isInteger(+a)?p={exportKey:"*"}:a.startsWith("./")?p={exportKey:a.replace("./","")}:p={exportKey:a==="."?".":"*",subKey:a},s.push({...p,file:r,key:"exports",type:et(a,n,t,r)})}else if(typeof r=="object"&&r!==null)for(const[p,l]of Object.entries(r)){if(i===!1&&p==="types")continue;const c=Number.isInteger(+a)?p:a;typeof l=="string"?s.push({exportKey:c.replace("./",""),file:l,key:"exports",...vr.has(p)?{subKey:p}:{},type:et(p,n,t,l)}):s=[...s,...lt({[c]:l},t,i,[...n,p])]}return s}return[]},"extractExportFilenames");var hr=Object.defineProperty,Be=f((e,t)=>hr(e,"name",{value:t,configurable:!0}),"c$7");const xr=Be((e,t)=>e.key==="exports"&&e.subKey===fe?fe:e.key==="exports"&&e.subKey===xt?xt:t,"getEnvironment"),je=Be((e,t,i,n,o,s,a)=>{const r=xr(o,s.environment);let p=s.options.runtime;for(const m of Zt)if(o.file.includes("."+m+".")||o.subKey===m){p=m;break}let l=e.find(m=>m.input===t&&m.environment===r&&m.runtime===p);l===void 0?l=e[e.push({environment:r,exportKey:new Set([o.exportKey].filter(Boolean)),input:t,runtime:p})-1]:l.exportKey&&o.exportKey&&l.exportKey.add(o.exportKey),a&&(l.isGlob=!0),i&&(l.outDir=n),o.isExecutable?(l.executable=!0,l.declaration=!1,o.type==="cjs"?l.cjs=!0:o.type==="esm"&&(l.esm=!0)):(/\.d\.[mc]?ts$/.test(o.file)&&s.options.declaration!==!1&&(l.declaration=s.options.declaration),o.type==="cjs"?l.cjs=!0:o.type==="esm"&&(l.esm=!0));const c=o.file.replace(ve(o.file),"").replace(new RegExp(`^./${s.options.outDir.replace(/^\.\//,"")}/`),"");De.has(o.subKey)&&!t.includes(c)&&(l.fileAlias=c)},"createOrUpdateEntry");let It=!1;const Tt=Be(e=>{if(e.pkg?.dependencies?.typescript===void 0&&e.pkg?.devDependencies?.typescript===void 0)throw new Error("You tried to use a `.ts`, `.cts` or `.mts` file but `typescript` was not found in your package.json.")},"validateIfTypescriptIsInstalled"),yr=Be((e,t,i)=>{const n=[];t.sort((r,p)=>r.split("/").length-p.split("/").length);const o=e.type==="module"?"esm":"cjs";o==="esm"&&(i.options.emitESM=!0),o==="cjs"&&(i.options.emitCJS=!0);const s=lt(e.exports,o,i.options.declaration);if(e.bin){const r=(typeof e.bin=="string"?[e.bin]:Object.values(e.bin)).filter(Boolean);for(const p of r){const l=Me(p);if(l&&l!==o)throw new Error(`Exported file "${p}" has an extension that does not match the package.json type "${e.type??"commonjs"}".`);s.push({file:p,isExecutable:!0,key:"bin",type:l??o})}}e.main&&s.push({file:e.main,key:"main",type:Me(e.main)??o}),e.module&&s.push({file:e.module,key:"module",type:"esm"}),(e.types||e.typings)&&(Tt(i),i.options.declaration===void 0&&(i.options.declaration="compatible"),s.push({file:e.types??e.typings,key:"types"}));const a=[];for(const r of s){const p=ve(r.file);if(p!==""&&!Te.includes(p))continue;i.options.declaration===void 0&&(r.key==="types"||r.subKey==="types")&&(i.options.declaration=r.file.includes(".d.ts")?"compatible":!0),i.options.emitCJS===void 0&&r.type==="cjs"&&(i.options.emitCJS=!0),i.options.emitESM===void 0&&r.type==="esm"&&(i.options.emitESM=!0);const l=r.file.replace(/(?:\*[^/\\]|\.d\.[mc]?ts|\.\w+)$/,""),c=l.endsWith("/");if(c&&["./","/"].includes(l))continue;const m=l.replace(new RegExp("(./)?"+i.options.outDir),i.options.sourceDir).replace("./",""),d="(?<=/|$)",u=c?"":"(\\.[cm]?[tj]sx?)$";if(r.file.includes("/*")&&r.key==="exports"){It||(i.logger.debug("Private subfolders are not supported, if you need this feature please open an issue on GitHub."),It=!0);const x=[],b=new RegExp(d+m.replace("*","(.*)")+u),w=new RegExp(d+m.replace(/(.*)\.[^.]*$/,"$1").replace("*","(.*)")+u);for(const y of t)(b.test(y)||De.has(r.subKey)&&w.test(y))&&x.push(y);if(x.length===0){n.push(`Could not find entrypoint for \`${r.file}\``);continue}for(const y of x)je(a,y,c,l,r,i,!0);continue}const g=new RegExp(d+m+u);let v=t.find(x=>g.test(x));if(De.has(r.subKey)&&v===void 0){const x=new RegExp(d+m.replace(/(.*)\.[^.]*$/,"$1")+u);v=t.find(b=>x.test(b))}if(v===void 0){X(N(i.options.rootDir,r.file))||n.push(`Could not find entrypoint for \`${r.file}\``);continue}(v.endsWith(".ts")||v.endsWith(".cts")||v.endsWith(".mts"))&&X(v)&&Tt(i);const $=Se(v.replace(ie,""));X($+".cts")&&X($+".mts")?(je(a,$+".cts",c,l,{...r,type:"cjs"},i,!1),je(a,$+".mts",c,l,{...r,type:"esm"},i,!1)):je(a,v,c,l,r,i,!1)}return{entries:a,warnings:n}},"inferEntries");var br=Object.defineProperty,wr=f((e,t)=>br(e,"name",{value:t,configurable:!0}),"o$2");const kr=wr((e,t)=>{const{publishConfig:i}=e;return i&&(i.bin&&(typeof i.bin=="object"||typeof i.bin=="string")&&(e.bin=i.bin),i.type&&typeof i.type=="string"&&i.type!==""&&(e.type=i.type),i.main&&typeof i.main=="string"&&i.main!==""&&(e.main=i.main),i.module&&typeof i.module=="string"&&i.module!==""&&(e.module=i.module),t===void 0&&i.types&&typeof i.types=="string"&&i.types!==""?e.types=i.types:t===void 0&&i.typings&&typeof i.typings=="string"&&i.typings!==""&&(e.typings=i.typings),i.exports&&typeof i.exports=="object"&&(e.exports=i.exports)),e},"overwriteWithPublishConfig");var $r=Object.defineProperty,jr=f((e,t)=>$r(e,"name",{value:t,configurable:!0}),"t$4");const Er={hooks:{"build:prepare":jr(function(e){if(e.options.entries.length>0)return;const t=j(e.options.rootDir,e.options.sourceDir);if(!X(t))throw new Error("No 'src' directory found. Please provide entries manually.");const i=Wi(t,{extensions:[],includeDirs:!1,includeSymlinks:!1,skip:[/.*\/node_modules\/.*/,/.*\/dist\/.*/]});if(i.length===0)throw new Error("No source files found in 'src' directory. Please provide entries manually.");let n={...e.pkg};n.publishConfig&&(e.logger.info('Using publishConfig found in package.json, to override the default key-value pairs of "'+Object.keys(n.publishConfig).join(", ")+'".'),e.logger.debug(n.publishConfig),n=kr(n,e.options.declaration));const o=yr(n,i,e);for(const s of o.warnings)D(e,s);if(e.options.entries.push(...o.entries),e.options.entries.length===0)throw new Error("No entries detected. Please provide entries manually.");e.logger.info("Automatically detected entries:",P(e.options.entries.map(s=>s.fileAlias?q(s.fileAlias)+" => "+q(s.input.replace(`${e.options.rootDir}/`,"").replace(/\/$/,"/*")):q(s.input.replace(`${e.options.rootDir}/`,"").replace(/\/$/,"/*"))).join(", ")),Q([e.options.emitESM&&"esm",e.options.emitCJS&&"cjs",e.options.declaration&&"dts"].filter(Boolean).map(s=>`[${s}]`).join(" ")))},"build:prepare")}};var Or=Object.defineProperty,Sr=f((e,t)=>Or(e,"name",{value:t,configurable:!0}),"t$3");const Pr=Sr(async(e,t)=>{if(e==="auto")e=Er;else{if(e==="none")return{};typeof e=="string"&&(e=await t.import(e)||{})}return typeof e=="function"&&(e=e()),e},"resolvePreset");var Dr=Object.defineProperty,Nr=f((e,t)=>Dr(e,"name",{value:t,configurable:!0}),"j$1");const Cr=Nr(async e=>{const t=e.options.jiti.transformOptions?.babel?.plugins,i=[],n=JSON.stringify({...e.options.jiti,alias:{...Re(e.pkg,e.options),...e.options.jiti.alias},transformOptions:{...e.options.jiti.transformOptions,babel:{...e.options.jiti.transformOptions?.babel,plugins:"__$BABEL_PLUGINS"}}},null,2).replace('"__$BABEL_PLUGINS"',Array.isArray(t)?"["+t.map((o,s)=>{if(Array.isArray(o)){const[a,...r]=o;return i.push(a),"["+["plugin"+s,...r.map(p=>JSON.stringify(p))].join(", ")+"]"}return i.push(o),"plugin"+s}).join(",")+"]":"[]");for(const o of e.options.entries){const s=N(e.options.rootDir,e.options.outDir,o.name),a=jn(e.jiti.esmResolve(o.input,{try:!0})??o.input),r=a.replace(ie,""),p=tt(a),l=Ha(p);let c=[];try{c=await En(a,{extensions:Te})}catch(d){D(e,`Cannot analyze ${a} for exports: ${d.toString()}`);return}const m=c.includes("default")||c.length===0;if(e.options.emitESM){const d=T(F(s),await ht("jiti",{conditions:["node","import"],url:import.meta.url})),u=r+".d.mts";ae(`${s}.mjs`,l+['import { createJiti } from "'+d+'";',...i.map((g,v)=>"import plugin"+v+' from "'+g+'";'),"","const jiti = createJiti(import.meta.url, "+n+");","",'/** @type {import("'+u+'")} */','const _module = await jiti.import("'+a+'");',m?`
81
81
  export default _module?.default ?? _module;`:"",...c.filter(g=>g!=="default").map(g=>`export const ${g} = _module.${g};`)].join(`
82
82
  `)),e.options.declaration&&ae(`${s}.d.mts`,'export * from "'+u+`";
83
83
  `+(m?'export { default } from "'+u+'";':""))}if(e.options.emitCJS){const d=T(F(s),await ht("jiti",{conditions:["node","require"],url:import.meta.url})),u=r+".d.cts";ae(`${s}.cjs`,l+['const { createJiti } = require("'+d+'");',...i.map((g,v)=>"const plugin"+v+" = require("+JSON.stringify(g)+")"),"","const jiti = createJiti(__filename, "+n+");","",'/** @type {import("'+u+'")} */','module.exports = jiti("'+a+'")'].join(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visulima/packem",
3
- "version": "1.18.2",
3
+ "version": "1.18.3",
4
4
  "description": "A fast and modern bundler for Node.js and TypeScript.",
5
5
  "keywords": [
6
6
  "anolilab",