@visulima/packem 1.0.0-alpha.23 → 1.0.0-alpha.25

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.
@@ -0,0 +1,93 @@
1
+ "use strict";var Ye=Object.defineProperty;var m=(e,t)=>Ye(e,"name",{value:t,configurable:!0});const L=require("node:fs/promises"),Ke=require("node:module"),w=require("node:process"),g=require("@visulima/colorize"),v=require("@visulima/fs"),Qe=require("@visulima/fs/error"),S=require("@visulima/humanizer"),H=require("@visulima/package"),Ze=require("@visulima/package/package-json"),et=require("@visulima/pail"),W=require("@visulima/pail/processor"),f=require("@visulima/path"),tt=require("defu"),st=require("hookable"),N=require("./packem.CKW9adaV.cjs"),fe=require("node:url"),A=require("mlly"),nt=require("magic-string"),ot=require("jiti"),q=require("rollup"),rt=require("@rollup/plugin-alias"),it=require("@rollup/plugin-commonjs"),at=require("@rollup/plugin-dynamic-import-vars"),ge=require("@rollup/plugin-node-resolve"),lt=require("@rollup/plugin-replace"),ct=require("@rollup/plugin-wasm"),pt=require("rollup-plugin-polyfill-node"),ut=require("rollup-plugin-visualizer"),he=require("semver"),dt=require("glob"),mt=require("glob-parent"),ft=require("@rollup/plugin-json"),I=require("@rollup/pluginutils"),gt=require("rollup-plugin-license"),ht=require("@babel/parser"),yt=require("node:crypto"),Y=require("node:fs"),vt=require("fastest-levenshtein");var se=typeof document<"u"?document.currentScript:null;const k=m(e=>e&&typeof e=="object"&&"default"in e?e.default:e,"_interopDefaultCompat"),ne=k(Ke),P=k(nt),ye=k(ot),ve=k(rt),bt=k(it),jt=k(at),be=k(lt),$t=k(pt),wt=k(mt),xt=k(ft),kt=k(gt),je="@visulima/packem",$e="1.0.0-alpha.24",Et="A fast and modern bundler for Node.js and TypeScript.",_t=["anolilab","assets","bundle","bundler","cjs","commonjs","compiler","css","declaration","es6","esbuild","esm","exports","package.json","packem","rollup","sucrase","swc","typescript","visulima","zero config"],Ot="https://www.visulima.com/docs/package/packem",St={type:"git",url:"https://github.com/visulima/packem.git",directory:"packages/packem"},Dt=[{type:"github",url:"https://github.com/sponsors/prisis"},{type:"consulting",url:"https://anolilab.com/support"}],Nt="MIT",Pt={name:"Daniel Bannert",email:"d.bannert@anolilab.de"},Mt=!1,It="module",Ct={".":{require:{types:"./dist/create-bundler.d.cts",default:"./dist/create-bundler.cjs"},import:{types:"./dist/create-bundler.d.mts",default:"./dist/create-bundler.mjs"}},"./config":{require:{types:"./dist/config.d.cts",default:"./dist/config.cjs"},import:{types:"./dist/config.d.mts",default:"./dist/config.mjs"}},"./transformer/esbuild":{require:{types:"./dist/rollup/plugins/esbuild/index.d.cts",default:"./dist/rollup/plugins/esbuild/index.cjs"},import:{types:"./dist/rollup/plugins/esbuild/index.d.mts",default:"./dist/rollup/plugins/esbuild/index.mjs"}},"./transformer/swc":{require:{types:"./dist/rollup/plugins/swc/index.d.cts",default:"./dist/rollup/plugins/swc/index.cjs"},import:{types:"./dist/rollup/plugins/swc/index.d.mts",default:"./dist/rollup/plugins/swc/index.mjs"}},"./transformer/sucrase":{require:{types:"./dist/rollup/plugins/sucrase/index.d.cts",default:"./dist/rollup/plugins/sucrase/index.cjs"},import:{types:"./dist/rollup/plugins/sucrase/index.d.mts",default:"./dist/rollup/plugins/sucrase/index.mjs"}},"./package.json":"./package.json"},Ft="./dist/create-bundler.cjs",Rt="./dist/create-bundler.mjs",Tt="./dist/create-bundler.d.ts",At={packem:"./dist/cli.cjs"},qt=["dist/**","README.md","CHANGELOG.md","LICENSE.md"],Lt={build:"cross-env JITI_ESM_RESOLVE=1 INTERNAL_PACKEM_BUILD=1 jiti ./src/cli build","build:prod":"cross-env JITI_ESM_RESOLVE=1 INTERNAL_PACKEM_BUILD=1 jiti ./src/cli build --minify",clean:"rimraf node_modules dist .eslintcache",dev:"pnpm run build","lint:eslint":"eslint . --ext js,cjs,mjs,jsx,ts,tsx,json,yaml,yml,md,mdx --max-warnings=0 --config .eslintrc.cjs","lint:eslint:fix":"eslint . --ext js,cjs,mjs,jsx,ts,tsx,json,yaml,yml,md,mdx --max-warnings=0 --config .eslintrc.cjs --fix","lint:packagejson":"publint --strict","lint:prettier":"prettier --config=.prettierrc.cjs --check .","lint:prettier:fix":"prettier --config=.prettierrc.cjs --write .","lint:types":"tsc --noEmit",test:"vitest run","test:coverage":"vitest run --coverage","test:ui":"vitest --ui --coverage.enabled=true","test:watch":"vitest"},Bt={"@antfu/install-pkg":"^0.3.3","@babel/parser":"^7.24.6","@rollup/plugin-alias":"^5.1.0","@rollup/plugin-commonjs":"^25.0.8","@rollup/plugin-dynamic-import-vars":"^2.1.2","@rollup/plugin-inject":"^5.0.5","@rollup/plugin-json":"^6.1.0","@rollup/plugin-node-resolve":"^15.2.3","@rollup/plugin-replace":"^5.0.5","@rollup/plugin-wasm":"^6.2.2","@rollup/pluginutils":"^5.1.0","@visulima/cerebro":"^1.0.29","@visulima/colorize":"^1.4.1","@visulima/fs":"^2.1.2","@visulima/humanizer":"^1.0.3","@visulima/package":"^1.8.3","@visulima/pail":"^1.1.11","@visulima/path":"^1.0.1","@clack/prompts":"^0.7.0",defu:"6.1.4","es-module-lexer":"^1.5.3","fastest-levenshtein":"^1.0.16",glob:"^10.4.1","glob-parent":"^6.0.2",hookable:"^5.5.3","magic-string":"^0.30.10",mlly:"^1.7.0",rollup:"^4.18.0","rollup-plugin-dts":"^6.1.1","rollup-plugin-license":"^3.4.0","rollup-plugin-polyfill-node":"^0.13.0","rollup-plugin-visualizer":"^5.12.0",semver:"^7.6.2"},Wt={"@anolilab/eslint-config":"^15.0.3","@anolilab/prettier-config":"^5.0.14","@anolilab/semantic-release-pnpm":"^1.1.0","@anolilab/semantic-release-preset":"^8.1.0","@babel/core":"^7.24.6","@rushstack/eslint-plugin-security":"^0.8.1","@secretlint/secretlint-rule-preset-recommend":"^8.2.4","@swc/core":"^1.5.7","@swc/types":"0.1.7","@total-typescript/ts-reset":"^0.5.1","@types/estree":"^1.0.5","@types/glob":"^8.1.0","@types/glob-parent":"^5.1.3","@types/micromatch":"^4.0.7","@types/node":"18.18.14","@types/react":"^18.3.3","@types/react-dom":"^18.3.0","@types/semver":"^7.5.8","@vitest/coverage-v8":"^1.6.0","@vitest/ui":"^1.6.0","cross-env":"^7.0.3",esbuild:"^0.21.4",eslint:"^8.56.0","eslint-plugin-deprecation":"^2.0.0","eslint-plugin-etc":"^2.0.3","eslint-plugin-import":"npm:eslint-plugin-i@^2.29.1","eslint-plugin-mdx":"^3.1.5","eslint-plugin-vitest":"^0.4.1","eslint-plugin-vitest-globals":"^1.5.0","estree-walker":"^3.0.3",execa:"^9.1.0",jiti:"^1.21.0",prettier:"^3.2.5",react:"^18.3.1","react-dom":"^18.3.1",rimraf:"^5.0.7",secretlint:"8.2.4","semantic-release":"^23.1.1","sort-package-json":"^2.10.0",sucrase:"^3.35.0",tempy:"^3.1.0","ts-essentials":"^10.0.0",typescript:"^5.4.5",vitest:"^1.6.0"},Jt={"@swc/core":"^1.5.7",esbuild:"^0.20.2 || ^0.21.3",jiti:"^1.21.0",sucrase:"^3.35.0",typescript:"^4.5 || ^5.0"},zt={"@swc/core":{optional:!0},esbuild:{optional:!0},sucrase:{optional:!0},typescript:{optional:!0}},Ut={node:">=18.* <=21.*"},Ht={access:"public",provenance:!0},Vt={"eslint-config":{plugin:{tsdoc:!1,"testing-library-react":!1,"react-usememo":!1,"react-hooks":!1,"jsx-a11y":!1,react:!1,"validate-jsx-nesting":!1,"ssr-friendly":!1},warn_on_unsupported_typescript_version:!1,info_on_disabling_jsx_react_rule:!1,info_on_disabling_prettier_conflict_rule:!1,info_on_disabling_jsonc_sort_keys_rule:!1,info_on_disabling_etc_no_deprecated:!1}},Xt={name:je,version:$e,description:Et,keywords:_t,homepage:Ot,repository:St,funding:Dt,license:Nt,author:Pt,sideEffects:Mt,type:It,exports:Ct,main:Ft,module:Rt,types:Tt,bin:At,files:qt,scripts:Lt,dependencies:Bt,devDependencies:Wt,peerDependencies:Jt,peerDependenciesMeta:zt,engines:Ut,publishConfig:Ht,anolilab:Vt};var Gt=Object.defineProperty,B=m((e,t)=>Gt(e,"name",{value:t,configurable:!0}),"i$a");const K=/^#![^\n]*/,V=B(async e=>{await L.chmod(e,493).catch(()=>{})},"makeExecutable"),Yt=B((e,t=`#!/usr/bin/env node
2
+ `)=>({name:"packem:shebang",renderChunk:{handler(s,n,o){if(!n.isEntry||!n.facadeModuleId||s.startsWith("#")&&s[1]==="!")return null;if(e.includes(n.name)){const r=new P(s);return r.prepend(t),{code:r.toString(),map:o.sourcemap?r.generateMap({hires:!0}):void 0}}return null},order:"post"},async writeBundle(s,n){for(const[o,r]of Object.entries(n))if(r.type==="chunk"&&K.test(r.code)&&s.dir){const i=f.resolve(s.dir,o);await V(i)}}}),"shebangPlugin"),Kt=B(()=>({name:"packem:remove-shebang",renderChunk(e){return e.replace(K,"")}}),"removeShebangPlugin"),Qt=B((e,t=`
3
+ `)=>{const s=K.exec(e);return s?s+t:""},"getShebang");var Zt=Object.defineProperty,es=m((e,t)=>Zt(e,"name",{value:t,configurable:!0}),"p$2");const Q=es((e,t)=>{let s={};if(e.pkg.name&&(s[e.pkg.name]=e.options.rootDir),e.pkg.imports){const{imports:n}=e.pkg;for(const o in n){if(o.startsWith("#"))continue;const r=n[o];typeof r=="string"&&(s[o]=f.join(e.rootDir,r))}}return s={...s,...e.options.alias},e.options.rollup.alias&&(Array.isArray(e.options.rollup.alias.entries)?Object.assign(s,Object.fromEntries(e.options.rollup.alias.entries.map(n=>[n.find,n.replacement]))):Object.assign(s,e.options.rollup.alias.entries??e.options.rollup.alias)),e.logger.debug({message:"Resolved aliases: "+JSON.stringify(s),prefix:t}),s},"resolveAliases");var ts=Object.defineProperty,ss=m((e,t)=>ts(e,"name",{value:t,configurable:!0}),"o$3");const ns=ss((e,t)=>{const s=ye(t,{esmResolve:!0,interopDefault:!0});try{return s.resolve(e)}catch(n){if(n.code!=="MODULE_NOT_FOUND")throw new Error(`Error trying import ${e} from ${t}`,{cause:n});return e}},"tryResolve");var os=Object.defineProperty,rs=m((e,t)=>os(e,"name",{value:t,configurable:!0}),"r$8");const C=rs((e,t)=>{e.warnings.has(t)||e.warnings.add(t)},"warn");var is=Object.defineProperty,as=m((e,t)=>is(e,"name",{value:t,configurable:!0}),"u$9");const ls=as(async e=>{const t=await A.resolvePath("jiti",{url:typeof document>"u"?require("url").pathToFileURL(__filename).href:se&&se.src||new URL("shared/packem.DohzkX6R.cjs",document.baseURI).href}),s=JSON.stringify({...e.options.stubOptions.jiti,alias:{...Q(e,"jit"),...e.options.stubOptions.jiti.alias}},null,2);for(const n of e.options.entries){const o=f.resolve(e.options.rootDir,e.options.outDir,n.name),r=f.normalize(ns(n.input,e.options.rootDir)||n.input),i=r.slice(0,Math.max(0,r.length-f.extname(r).length)),a=await v.readFile(r),p=Qt(a);e.options.emitCJS&&await v.writeFile(`${o}.cjs`,p+[`const jiti = require(${JSON.stringify(t)})`,"",`const _jiti = jiti(null, ${s})`,"",`/** @type {import(${JSON.stringify(i)})} */`,`module.exports = _jiti(${JSON.stringify(r)})`].join(`
4
+ `));let c=[];try{c=await A.resolveModuleExportNames(r,{extensions:N.DEFAULT_EXTENSIONS})}catch(l){C(e,`Cannot analyze ${r} for exports:${l}`);return}const u=c.includes("default")||c.length===0;await v.writeFile(`${o}.mjs`,p+[`import jiti from ${JSON.stringify(fe.pathToFileURL(t).href)};`,"",`const _jiti = jiti(null, ${s})`,"",`/** @type {import(${JSON.stringify(r)})} */`,`const _module = await _jiti.import(${JSON.stringify(r)});`,u?`
5
+ export default _module;`:"",...c.filter(l=>l!=="default").map(l=>`export const ${l} = _module.${l};`)].join(`
6
+ `)),await v.writeFile(`${o}.d.cts`,[`export * from ${JSON.stringify(i)};`,u?`export { default } from ${JSON.stringify(i)};`:""].join(`
7
+ `)),await v.writeFile(`${o}.d.mts`,[`export * from ${JSON.stringify(r)};`,u?`export { default } from ${JSON.stringify(r)};`:""].join(`
8
+ `)),p&&(await V(`${o}.cjs`),await V(`${o}.mjs`))}await e.hooks.callHook("rollup:done",e)},"createStub");var cs=Object.defineProperty,ps=m((e,t)=>cs(e,"name",{value:t,configurable:!0}),"a$a");const X=ps((e,t)=>e.some(s=>s instanceof RegExp?s.test(t):s===t),"arrayIncludes");var us=Object.defineProperty,ds=m((e,t)=>us(e,"name",{value:t,configurable:!0}),"a$9");const J=ds(e=>e===void 0?[]:Array.isArray(e)?e:[e],"arrayify");var ms=Object.defineProperty,fs=m((e,t)=>ms(e,"name",{value:t,configurable:!0}),"e$2");const G=fs((e="")=>{const t=e.split("/");return t[0][0]==="@"?`${t[0]}/${t[1]}`:t[0]},"getPackageName");var gs=Object.defineProperty,we=m((e,t)=>gs(e,"name",{value:t,configurable:!0}),"s$d");const hs=we((e,t,s)=>{const n=s??new Map;return(...o)=>{const r=t?typeof t=="function"?t(...o):t:JSON.stringify({args:o}),i=n.get(r);if(i!==void 0)return i;const a=e(...o);return n.set(r,a),a}},"memoize"),ys=we(e=>{const t=new Map;return s=>hs(e,s,t)},"memoizeByKey");var vs=Object.defineProperty,bs=m((e,t)=>vs(e,"name",{value:t,configurable:!0}),"m$5");const xe=bs(({addDefaultProperty:e=!1,logger:t,type:s})=>({name:"packem:cjs-interop",renderChunk(n,o,r){if(o.type!=="chunk"||!o.isEntry)return null;if(r.format==="cjs"&&r.exports==="auto"){const i=/(exports(?:\['default'\]|\.default)) = (.*);/i.exec(n);if(i===null||i.length<3)return null;const a=new P(n);a.replace("Object.defineProperty(exports, '__esModule', { value: true });",""),a.replaceAll(/exports\.(.*) = (.*);/g,"module.exports.$1 = $2;"),e&&a.append(`
9
+ module.exports.default = `+i[2]+";");let p=a.toString();return p=p.replace(/(?:module\.)?exports(?:\['default'\]|\.default)/i,"module.exports"),t.debug({message:"Applied CommonJS interop to entry chunk "+o.fileName+".",prefix:"plugin:cjs-interop"}),{code:p,map:a.generateMap({hires:!0})}}if(r.format==="es"&&/\.d\.(?:ts|cts)$/.test(o.fileName)){if(s!=="commonjs"&&o.fileName.endsWith(".d.ts"))return null;const i=/export\s\{\s(.*)\s\}/i.exec(n);if(i===null||i.length<2)return null;const a=i[1].split(", "),p=[];let c="";for(const l of a)if(!l.includes("type"))if(l.includes("as")){const[d,y]=l.split(" as ");if(y==="default"&&(c=d,!e))continue;p.push(y+": typeof "+d+";")}else p.push(l+": typeof "+l+";");const u=new P(n);return u.replace(" "+c+" as default,",""),u.append(`
10
+
11
+ declare const defaultExport: {
12
+ `+(p.length>0?" ":"")+p.join(`
13
+ `)+`
14
+ } & typeof `+c+`;
15
+
16
+ export default defaultExport;`),t.debug({message:"Applied CommonJS interop to entry chunk "+o.fileName+".",prefix:"plugin:cjs-interop"}),{code:u.toString(),map:u.generateMap({hires:!0})}}return null}}),"cjsInterop");var js=Object.defineProperty,$s=m((e,t)=>js(e,"name",{value:t,configurable:!0}),"f$9");const ws=$s((e,t)=>{const s=new Map,n={copyOnce:!0,exactFileNames:!0,flatten:!1,...e};let{targets:o}=n;return Array.isArray(o)?o=o.map(r=>{if(typeof r=="string")return{src:r};if(typeof r=="object"&&"src"in r)return r}).filter(Boolean):typeof o=="string"&&(o=[{src:o}]),{async buildStart(){const r=await Promise.all(o.flatMap(i=>Array.isArray(i.src)?i.src.map(a=>({...i,src:a})):i).map(async i=>await dt.glob(i.src,{ignore:i.exclude}).then(a=>({dest:i.dest??"",parent:wt(i.src),src:a}))));for(const i of r)for(const a of i.src){let p;s.has(a)?p=s.get(a):(p={copied:[],dest:[],timestamp:0},s.set(a,p));const c=n.flatten?f.normalize(i.dest):f.join(i.dest,f.relative(i.parent,f.dirname(a)));p.dest.includes(c)||p.dest.push(c),this.addWatchFile(a)}t.info({message:"Copying files...",prefix:"plugin:copy"}),await Promise.all([...s].map(async([i,a])=>{let p;try{const c=await L.stat(i);if(!c.isFile())return;const u=c.mtime.getTime();u>a.timestamp&&(a.timestamp=u,a.copied=[]),p=await v.readFile(i,{buffer:!0})}catch(c){t.error({context:[c],message:`error reading file ${i}`,prefix:"plugin:copy"});return}for(const c of a.dest){if(n.copyOnce&&a.copied.includes(c))continue;const u=f.basename(i),l=f.join(c,u);try{this.emitFile({[n.exactFileNames?"fileName":"name"]:l,source:p,type:"asset"}),t.debug({message:`copied ${i} → ${l}`,prefix:"plugin:copy"}),a.copied.push(c)}catch(d){t.error({context:[d],message:`error copying file ${i} → ${l}`,prefix:"plugin:copy"})}}}))},name:"packem:copy"}},"copyPlugin");var xs=Object.defineProperty,ks=m((e,t)=>xs(e,"name",{value:t,configurable:!0}),"n$6");const oe="export default ",ke=ks(e=>{const t=xt(e);return{...t,name:"packem:json",transform(s,n){const o=t.transform?.call(this,s,n);return o&&typeof o!="string"&&"code"in o&&o.code?.startsWith(oe)&&(o.code=o.code.replace(oe,"module.exports = ")),o}}},"JSONPlugin");class Es{static{m(this,"WalkerBase")}constructor(){this.should_skip=!1,this.should_remove=!1,this.replacement=null,this.context={skip:m(()=>this.should_skip=!0,"skip"),remove:m(()=>this.should_remove=!0,"remove"),replace:m(t=>this.replacement=t,"replace")}}replace(t,s,n,o){t&&s&&(n!=null?t[s][n]=o:t[s]=o)}remove(t,s,n){t&&s&&(n!=null?t[s].splice(n,1):delete t[s])}}class _s extends Es{static{m(this,"SyncWalker")}constructor(t,s){super(),this.should_skip=!1,this.should_remove=!1,this.replacement=null,this.context={skip:m(()=>this.should_skip=!0,"skip"),remove:m(()=>this.should_remove=!0,"remove"),replace:m(n=>this.replacement=n,"replace")},this.enter=t,this.leave=s}visit(t,s,n,o){if(t){if(this.enter){const i=this.should_skip,a=this.should_remove,p=this.replacement;this.should_skip=!1,this.should_remove=!1,this.replacement=null,this.enter.call(this.context,t,s,n,o),this.replacement&&(t=this.replacement,this.replace(s,n,o,t)),this.should_remove&&this.remove(s,n,o);const c=this.should_skip,u=this.should_remove;if(this.should_skip=i,this.should_remove=a,this.replacement=p,c)return t;if(u)return null}let r;for(r in t){const i=t[r];if(i&&typeof i=="object")if(Array.isArray(i)){const a=i;for(let p=0;p<a.length;p+=1){const c=a[p];re(c)&&(this.visit(c,t,r,p)||p--)}}else re(i)&&this.visit(i,t,r,null)}if(this.leave){const i=this.replacement,a=this.should_remove;this.replacement=null,this.should_remove=!1,this.leave.call(this.context,t,s,n,o),this.replacement&&(t=this.replacement,this.replace(s,n,o,t)),this.should_remove&&this.remove(s,n,o);const p=this.should_remove;if(this.replacement=i,this.should_remove=a,p)return null}}return t}}function re(e){return e!==null&&typeof e=="object"&&"type"in e&&typeof e.type=="string"}m(re,"isNode");function Ee(e,{enter:t,leave:s}){return new _s(t,s).visit(e,null)}m(Ee,"walk");var Os=Object.defineProperty,Ss=m((e,t)=>Os(e,"name",{value:t,configurable:!0}),"u$7");const Ds=Ss(({attributes:e,logger:t})=>{const s=I.createFilter([/\.[tj]sx$/],/node_modules/);if(!Array.isArray(e)||e.length===0)throw new Error("[packem:jsx-remove-attributes]: attributes must be a non-empty array of strings.");return{name:"packem:jsx-remove-attributes",transform(n,o){if(!s(o))return null;let r=null;try{r=this.parse(n,{allowReturnOutsideFunction:!0})}catch(p){return this.warn({code:"PARSE_ERROR",message:`[packem:jsx-remove-attributes]: failed to parse "${o}" and remove the jsx attribute.`}),t.warn(p),null}let i=!1;const a=new P(n);return Ee(r,{enter(p){if(p.type==="CallExpression"&&p.callee.type==="Identifier"&&p.callee.name==="jsx"){const c=p.arguments.filter(u=>u.type==="ObjectExpression"&&Array.isArray(u.properties));for(const u of c)for(const l of u.properties)l.type==="Property"&&l.key.type==="Literal"&&l.value.type==="Literal"&&e.includes(l.key.value)&&(a.overwrite(l.start-2,l.end,""),i=!0)}}}),i?{code:a.toString(),map:a.generateMap({hires:!0})}:null}}},"jsxRemoveAttributes");var Ns=Object.defineProperty,Z=m((e,t)=>Ns(e,"name",{value:t,configurable:!0}),"p$1");const Ps=Z(e=>{const t=[],s=[];return e.forEach(n=>{n.startsWith("(")?t.push(n):s.push(n)}),[...s.sort(),...t.sort()]},"sortLicenses"),Ms=Z((e,t,s)=>{const n=new RegExp(`(<!-- ${t} -->)[\\s\\S]*?(<!-- ${t} -->)`,"g");if(n.test(e))return e.replace(n,`$1
17
+ ${s}
18
+ $2`)},"replaceContentWithin"),_e=Z(({licenseFilePath:e,licenseTemplate:t,logger:s,marker:n,mode:o,packageName:r})=>kt({thirdParty(i){const a=new Set,p=i.sort(({name:u},{name:l})=>u>l?1:l>u?-1:0).map(({author:u,contributors:l,license:d,licenseText:y,maintainers:h,name:b,repository:j})=>{let E="## "+b+`
19
+ `;d&&(E+=`License: ${d}
20
+ `);const _=new Set;for(const O of[u,...h,...l]){const F=typeof O=="string"?O:O?.name;F&&_.add(F)}return _.size>0&&(E+=`By: ${[..._].join(", ")}
21
+ `),j&&(E+=`Repository: ${typeof j=="string"?j:j.url}
22
+ `),y&&(E+=`
23
+ `+y.trim().replaceAll(/(\r\n|\r)/g,`
24
+ `).split(`
25
+ `).map(O=>`> ${O}`).join(`
26
+ `)+`
27
+ `),d&&a.add(d),E}).join(`
28
+ ---------------------------------------
29
+
30
+ `);if(p===""){s.info({message:"No dependencies license information found.",prefix:"plugin:license:"+o});return}const c=t(Ps(a),p,r);try{const u=v.readFileSync(e),l=Ms(u,n,c);if(!l){s.error({message:`Could not find the license marker: <!-- ${n} --> in ${e}`,prefix:"plugin:license:"+o});return}u!==l&&(v.writeFileSync(e,l),s.info({message:`${e} updated.`,prefix:"plugin:license:"+o}))}catch(u){s.error(u)}}}),"license");var Is=Object.defineProperty,Cs=m((e,t)=>Is(e,"name",{value:t,configurable:!0}),"i$7");const Fs=Cs(e=>({async buildEnd(){const t=[];for(const n of this.getModuleIds()){const o=this.getModuleInfo(n);if(o!=null&&!o.isExternal)for(const r of o.importedIds)t.push({source:n,target:r})}if(Array.isArray(t)&&t.length===0)return;const s=f.resolve(e.outDir,"graph.json");v.writeJsonSync(s,t)},name:"packem:metafile"}),"metafilePlugin");var Rs=Object.defineProperty,Ts=m((e,t)=>Rs(e,"name",{value:t,configurable:!0}),"c$3");const As=/\.(?:m|c)?(?:j|t)sx?$/,qs=/^use \w+$/,Ls=Ts(e=>{const t={},s={};return{name:"packem:preserve-directives",onLog(n,o){return o.code==="MODULE_LEVEL_DIRECTIVE"&&n==="warn"?!1:null},renderChunk:{handler(n,o,{sourcemap:r}){const i=o.moduleIds.map(c=>t[c]?t[c]:null).reduce((c,u)=>(u&&u.forEach(l=>{c.add(l)}),c),new Set),a=new P(n);i.size>0&&(e.debug({message:`directives for chunk "${o.fileName}" are preserved.`,prefix:"plugin:preserve-directives"}),a.prepend(`${[...i].map(c=>`'${c}';`).join(`
31
+ `)}
32
+ `));let p=null;return o.facadeModuleId&&typeof s[o.facadeModuleId]=="string"&&(p=s[o.facadeModuleId]),p&&(e.debug({message:`shebang for chunk "${o.fileName}" is preserved.`,prefix:"plugin:preserve-directives"}),a.prepend(`${p}
33
+ `)),i.size===0&&p===null?null:{code:a.toString(),map:r?a.generateMap({hires:!0}):null}},order:"post"},transform:{handler(n,o){const r=f.extname(o);if(!As.test(r))return null;let i=!1;const a=new P(n);if(n.startsWith("#")&&n[1]==="!"){let c=0;for(let u=2,l=n.length;u<l;u++){const d=n.codePointAt(u);if(d===10||d===13||d===8232||d===8233){c=u;break}}c&&(s[o]=n.slice(0,c),a.remove(0,c+1),i=!0,e.debug({message:`shebang for module "${o}" is preserved.`,prefix:"plugin:preserve-directives"}))}let p=null;try{p=this.parse(a.toString(),{allowReturnOutsideFunction:!0})}catch(c){return this.warn({code:"PARSE_ERROR",message:`[packem:preserve-directives]: failed to parse "${o}" and extract the directives.`}),e.warn(c),null}if(p.type!=="Program")return null;for(const c of p.body.filter(Boolean)){if(c.type!=="ExpressionStatement")break;let u=null;"directive"in c?u=c.directive:c.expression.type==="Literal"&&typeof c.expression.value=="string"&&qs.test(c.expression.value)&&(u=c.expression.value),u!=="use strict"&&u&&(t[o]||=new Set,t[o].add(u),"start"in c&&typeof c.start=="number"&&"end"in c&&typeof c.end=="number"&&(a.remove(c.start,c.end),i=!0),e.debug({message:`directive "${u}" for module "${o}" is preserved.`,prefix:"plugin:preserve-directives"}))}return i?{code:a.toString(),map:a.generateMap({hires:!0}),meta:{preserveDirectives:{directives:[...t[o]??[]],shebang:s[o]??null}}}:null},order:"post"}}},"preserveDirectives");var Bs=Object.defineProperty,Ws=m((e,t)=>Bs(e,"name",{value:t,configurable:!0}),"r$6");const Js={exclude:[],include:[/\.(md|txt|css|htm|html)$/]},zs=Ws((e={})=>{e={...e,...Js};const t=I.createFilter(e.include,e.exclude);return{name:"packem:raw",transform(s,n){return t(n)?{code:`export default ${JSON.stringify(s)}`,map:null}:null}}},"rawPlugin");var Us=Object.defineProperty,Hs=m((e,t)=>Us(e,"name",{value:t,configurable:!0}),"l$4");const z="\0__file_url__",Oe=Hs(()=>({async load(e){if(e.startsWith(z)){const t=fe.fileURLToPath(e.slice(z.length));return await v.readFile(t)}},name:"packem:resolve-file-url",resolveId(e){if(e.startsWith("file://"))return`${z}${e}`}}),"resolveFileUrl");var Vs=Object.defineProperty,Se=m((e,t)=>Vs(e,"name",{value:t,configurable:!0}),"i$4");const Xs=/__filename|__dirname|require\(|require\.resolve\(/,De=`
34
+ // -- pack CommonJS Shims --
35
+ import __cjs_url__ from "node:url";
36
+ import __cjs_path__ from "node:path";
37
+ import __cjs_mod__ from "node:module";
38
+ const __filename = __cjs_url__.fileURLToPath(import.meta.url);
39
+ const __dirname = __cjs_path__.dirname(__filename);
40
+ const require = __cjs_mod__.createRequire(import.meta.url);
41
+ `,Ne=`
42
+ // -- pack CommonJS Shims Node 20.11 --
43
+ import __cjs_mod__ from "node:module";
44
+ const __filename = import.meta.filename;
45
+ const __dirname = import.meta.dirname;
46
+ const require = __cjs_mod__.createRequire(import.meta.url);
47
+ `,Gs=Se((e,t)=>{if(w.env.INTERNAL_PACKEM_BUILD!=="1"&&(e.includes(De)||e.includes(Ne)||!Xs.test(e)))return null;const s=A.findStaticImports(e).pop(),n=s?s.end:0,o=new P(e);return o.appendRight(n,t),{code:o.toString(),map:o.generateMap()}},"CJSToESM"),Ys=Se(e=>({name:"packem:cjs",renderChunk(t,s,n){if(n.format==="es"){let o=De;if(e.engines?.node){const r=he.minVersion(e.engines.node);r&&r.major>=20&&r.minor>=11&&(o=Ne)}return Gs(t,o)}return null}}),"cjsPlugin");var Ks=Object.defineProperty,M=m((e,t)=>Ks(e,"name",{value:t,configurable:!0}),"s$a");const Qs=/\/\*[^*]*\*+(?:[^/*][^*]*\*+)*\//g,Zs=/MIT License|MIT license|BSD license/,en=/\n{2,}/g,tn=/\b(\w+)\$\d+\b/g,sn=/[-/\\^$*+?.()|[\]{}]/g,nn=M(e=>e.replaceAll(sn,"\\$&"),"escapeRegex"),on=M(e=>[...new Set(e)],"unique"),rn=M(e=>e.replaceAll(Qs,t=>Zs.test(t)?"":t).replaceAll(en,`
48
+
49
+ `),"cleanUnnecessaryComments"),ie=new Map;function Pe(e,t,{identifierReplacements:s},n){const o=A.findStaticImports(e);for(const i in s){const a=o.find(c=>c.specifier===i&&c.imports.includes("{"));if(!a){this.warn(`${t.fileName} does not import "${i}" for replacement`),process.exitCode=1;continue}const p=s[i];for(const c in p){a.imports.includes(c)||(this.warn(`${t.fileName} does not import "${c}" from "${i}" for replacement`),w.exit(1));const u=p[c],l=nn(c);u.includes(".")&&(e=e.replace(new RegExp(`\\b\\w+\\b as ${l},?\\s?`),"")),e=e.replaceAll(new RegExp(`\\b${l}\\b`,"g"),u)}}const r=on(Array.from(e.matchAll(tn),i=>i[0]));if(r.length>0){const i=r.map(p=>`
50
+ - ${p}`).join(""),a=t.fileName.replace(/\.[^/.]+$/,"");ie.has(a)||n.warn({message:`${t.fileName} contains confusing identifier names${i}
51
+
52
+ To replace these, add them to the "rollup -> patchTypes -> identifierReplacements" option in your packem config.`,prefix:"plugin:patch-types"}),ie.set(a,!0)}return e}m(Pe,"v$2");M(Pe,"replaceConfusingTypeNames");function Me(e,t){if(t.leadingComments?.some(s=>s.type==="CommentBlock"&&s.value.includes("@internal"))){const s=e.original[t.end]===","?t.end+1:t.end;return e.remove(t.leadingComments[0].start,s),!0}return!1}m(Me,"N$1");M(Me,"removeInternal");function Ie(e,t){if(e.includes("@internal")){const s=new P(e),n=ht.parse(e,{plugins:["typescript"],sourceType:"module"});Ee(n,{enter(o){Me(s,o)&&this.skip()}}),e=s.toString(),e.includes("@internal")&&(this.warn(`${t.fileName} has unhandled @internal declarations`),w.exit(1))}return e}m(Ie,"S$1");M(Ie,"stripInternalTypes");const an=M((e,t)=>({name:"packem:patch-types",renderChunk(s,n){return s=Pe.call(this,s,n,e,t),s=Ie.call(this,s,n),s=rn(s),s},resolveId(s){return s.startsWith("types/")?{external:!0,id:"../../"+(s.endsWith(".js")?s:s+".js")}:null}}),"patchTypescriptTypes");var ln=Object.defineProperty,Ce=m((e,t)=>ln(e,"name",{value:t,configurable:!0}),"u$5");const Fe=Ce((e,t=!0)=>{if(!e)return null;const{config:s,path:n}=e;if(!s.compilerOptions)return null;const{baseUrl:o,paths:r}=s.compilerOptions;if(!o)return null;const i=f.resolve(f.dirname(n),o),a=[];if(r)for(const[p,c]of Object.entries(r)){const u=new RegExp(`^${[...p].map(d=>d==="*"?"(.+)":d.replace(/[\\^$*+?.()|[\]{}]/,"\\$&")).join("")}$`);let l=0;for(const d of c){const y=[...I.normalizePath(f.resolve(i,d))].map(h=>h==="*"?`$${++l}`:h==="$"?"$$":h).join("");a.push({find:u,replacement:y})}}return t&&a.push({find:/^(?!\.*\/|\.*$|\w:)(.+)$/,replacement:`${[...I.normalizePath(i)].map(p=>p==="$"?"$$":p).join("")}/$1`}),a},"getConfigAlias"),Re=Ce((e,t)=>{const s=Fe(e);return{name:"packem:resolve-tsconfig-paths",async resolveId(n,o,r){if(!s||n.includes("\0"))return null;for(const{find:i,replacement:a}of s)if(i.test(n)){const p=n.replace(i,a),c=await this.resolve(p,o,{skipSelf:!0,...r});if(c)return t.debug({message:`Resolved ${n} to ${c.id} using paths from tsconfig.json.`,prefix:"plugin:resolve-tsconfig-paths"}),c.id}return null}}},"resolveTsconfigPaths");var cn=Object.defineProperty,Te=m((e,t)=>cn(e,"name",{value:t,configurable:!0}),"u$4");const pn=Te((e,t)=>{if(!t)return null;const{config:s,path:n}=t;if(!s.compilerOptions)return null;const{rootDirs:o}=s.compilerOptions;if(!o)return null;const r=[];for(const i of o){if(i.startsWith("."))throw new Error(`Invalid rootDir value '.' in ${n}.`);if(i.startsWith(".."))throw new Error(`Invalid rootDir value '..' in ${n}.`);r.push(f.resolve(e,i))}return r},"getRootDirectories"),Ae=Te((e,t,s)=>{const n=pn(e,s);return{name:"packem:resolve-tsconfig-root-dirs",async resolveId(o,r,i){if(n===null||n.length===0)return null;if(o.startsWith("."))for(const a of n){const p=f.join(a,o),c=await this.resolve(p,r,{skipSelf:!0,...i});if(c)return t.debug({message:`Resolved ${o} to ${c.id} using rootDirs from tsconfig.json.`,prefix:"plugin:resolve-tsconfig-root-dirs"}),c.id}return null}}},"resolveTsconfigRootDirectories");var un=Object.defineProperty,dn=m((e,t)=>un(e,"name",{value:t,configurable:!0}),"r$5");const qe=dn(()=>{const e=/\.(?:[mc]?js|jsx)$/;return{name:"packem:resolve-typescript-mjs-cjs",async resolveId(t,s,n){return e.test(t)&&s?await this.resolve(t.replace(/js(x?)$/,"ts$1"),s,n):null}}},"resolveTypescriptMjsCts");var mn=Object.defineProperty,fn=m((e,t)=>mn(e,"name",{value:t,configurable:!0}),"s$9");const gn=fn(e=>{const t=f.basename(e).split(".");if(t.length>=2){const[s,n]=t.slice(-2),o=t[0],r=/^(\w+)-runtime$/.exec(s)?.[1];if(N.DEFAULT_EXTENSIONS.includes(n)&&r&&r.length>0)return o+"-"+r}},"getCustomModuleLayer");var hn=Object.defineProperty,yn=m((e,t)=>hn(e,"name",{value:t,configurable:!0}),"i$3");const U=yn(e=>(e.preserveDirectives||{directives:[]}).directives.map(t=>t.replace(/^use /,"")).find(t=>t!=="strict"),"getModuleLayer");var vn=Object.defineProperty,ae=m((e,t)=>vn(e,"name",{value:t,configurable:!0}),"c$1");const le=ae((e,t)=>{const s=new Map;return ae(function(n,o){const r=o.getModuleInfo(n);if(!r)return;const{isEntry:i}=r,a=r.meta,p=U(a);if(!i){const c=s.get(n);if(c)return c;const u=gn(n);if(u)return s.set(n,u),u}if(i){const c=o.getModuleIds();for(const u of c)o.getModuleInfo(u)&&U(a)===p&&(e.has(u)||e.set(u,new Set),e.get(u).add([n,p]))}if(p&&!i&&e.has(n)){const c=[...e.get(n)];if(c.some(([l])=>{if(t.some(d=>d.path===l)){const d=o.getModuleInfo(l);return U(d?d.meta:{})===p}return!1}))return;if(c.every(([,l])=>l===p))return s.has(n)?s.get(n):void 0;const u=`${f.basename(n,f.extname(n))}-${p}`;return s.set(n,u),u}},"splitChunks")},"createSplitChunks");var bn=Object.defineProperty,jn=m((e,t)=>bn(e,"name",{value:t,configurable:!0}),"n$4");const D=jn((e,t,s)=>t.isDynamicEntry?`chunks/[name].${s}`:`shared/${e.options.name}.[hash].${s}`,"getChunkFilename");var $n=Object.defineProperty,wn=m((e,t)=>$n(e,"name",{value:t,configurable:!0}),"s$7");const xn=process.platform==="win32",ce=wn((e,t)=>{const s=xn?"\\":"/";return e.name?.includes("node_modules"+s+".pnpm")?(e.name.replace("node_modules"+s+".pnpm","external")+"."+t).replace("node_modules"+s,""):e.name?.includes("node_modules")?e.name.replace("node_modules","external")+"."+t:"[name]."+t},"getEntryFileNames");var kn=Object.defineProperty,$=m((e,t)=>kn(e,"name",{value:t,configurable:!0}),"l$3");const En=$((e,t)=>{if(e==="esbuild"){if(!t.options.rollup.esbuild)throw new Error("No esbuild options found in your configuration.");t.tsconfig?.config.compilerOptions?.target?.toLowerCase()==="es3"&&(t.logger.warn(["ES3 target is not supported by esbuild, so ES5 will be used instead..","Please set 'target' option in tsconfig to at least ES5 to disable this error"].join(" ")),t.tsconfig.config.compilerOptions.target="es5",t.options.rollup.esbuild.target="es5");let s="node"+w.versions.node.split(".")[0];if(t.pkg.engines?.node){const n=he.minVersion(t.pkg.engines.node);n&&(s="node"+n.major)}if(t.options.rollup.esbuild.target){const n=J(t.options.rollup.esbuild.target);n.some(o=>o.startsWith("node"))||(t.options.rollup.esbuild.target=[...new Set([...J(s),...n])])}else t.options.rollup.esbuild.target=J(s);return t.tsconfig?.config.compilerOptions?.target==="es5"&&(t.options.rollup.esbuild.keepNames=!1,t.logger.debug("Disabling keepNames because target is set to es5")),{minify:t.options.minify,sourceMap:t.options.sourcemap,...t.options.rollup.esbuild,logger:t.logger}}if(e==="swc"){if(!t.options.rollup.swc)throw new Error("No swc options found in your configuration.");return{minify:t.options.minify,...t.options.rollup.swc,jsc:{minify:{compress:{directives:!1},format:{comments:"some"},mangle:{toplevel:!0},sourceMap:t.options.sourcemap,toplevel:t.options.emitCJS??t.options.emitESM},...t.options.rollup.swc.jsc},sourceMaps:t.options.sourcemap}}if(e==="sucrase"){if(!t.options.rollup.sucrase)throw new Error("No sucrase options found in your configuration.");return{...t.options.rollup.sucrase}}throw new Error("A Unknown transformer was provided")},"getTransformerConfig"),Le=$((e,t)=>e.code==="CIRCULAR_DEPENDENCY"&&/Circular dependency:[\s\S]*node_modules/.test(e.message)?!0:e.code==="UNRESOLVED_IMPORT"?(t.logger.error(`Failed to resolve the module "${e.exporter}" imported by "${g.cyan(f.relative(f.resolve(),e.id))}"
53
+ Is the module installed? Note:
54
+ ↳ to inline a module into your bundle, install it to "devDependencies".
55
+ ↳ to depend on a module via import/require, install it to "dependencies".`),process.exitCode=1,!0):e.code==="MIXED_EXPORTS"&&t.options.cjsInterop===!0,"sharedOnWarn"),pe=new Map,Be=$((e,t,s)=>{const n=$(r=>{for(const[i,a]of Object.entries(t))if(r.startsWith(i))return r.replace(i,a)},"findAlias"),o=Fe(e.tsconfig,!1);return{external(r){const i=n(r);i&&(r=i);const a=G(r),p=X(e.options.externals,a)||X(e.options.externals,r);if(p)return!0;if(r.startsWith(".")||f.isAbsolute(r)||/src[/\\]/.test(r)||e.pkg.name&&r.startsWith(e.pkg.name))return!1;if(o){for(const{find:c}of o)if(c.test(r))return e.logger.debug({message:`Resolved alias ${r} to ${c.source}`,prefix:s}),!1}return!p&&!pe.has(r)&&e.logger.info({message:'Inlined implicit external "'+g.cyan(r)+'". If this is incorrect, add it to the "externals" option.',prefix:s}),pe.set(r,!0),p},input:Object.fromEntries(e.options.entries.map(r=>[r.name,f.resolve(e.options.rootDir,r.input)])),onLog:$((r,i)=>{let a=i.message;switch(i.stack&&(a=`${a}
56
+ ${i.stack}`),r){case"info":{e.logger.info({message:a,prefix:s+(i.plugin?":plugin:"+i.plugin:"")});return}case"warn":{e.logger.warn({message:a,prefix:s+(i.plugin?":plugin:"+i.plugin:"")});return}case"debug":e.logger.debug({message:a,prefix:s+(i.plugin?":plugin:"+i.plugin:"")})}},"onLog"),onwarn(r,i){Le(r,e)||r.code||i(r)},watch:e.mode==="watch"?e.options.rollup.watch:!1}},"baseRollupOptions"),We=$(async e=>{const t=Q(e,"build");let s;return e.options.rollup.resolve&&(s=ge.nodeResolve({extensions:N.DEFAULT_EXTENSIONS,...e.options.rollup.resolve})),{...Be(e,t,"dependencies"),output:[e.options.emitCJS&&{chunkFileNames:$(n=>D(e,n,"cjs"),"chunkFileNames"),dir:f.resolve(e.options.rootDir,e.options.outDir),entryFileNames:$(n=>ce(n,"cjs"),"entryFileNames"),exports:"auto",externalLiveBindings:!1,format:"cjs",freeze:!1,generatedCode:{arrowFunctions:!0,constBindings:!0,objectShorthand:!0,preset:e.tsconfig?.config.compilerOptions?.target==="es5"?"es5":"es2015",reservedNamesAsProps:!0,symbols:!0},hoistTransitiveImports:!1,interop:"compat",sourcemap:e.options.sourcemap,...e.options.rollup.output,...e.options.rollup.output?.preserveModules?{preserveModules:!0,preserveModulesRoot:e.options.rollup.output.preserveModulesRoot??"src"}:{manualChunks:le(e.dependencyGraphMap,e.buildEntries),preserveModules:!1}},e.options.emitESM&&{chunkFileNames:$(n=>D(e,n,"mjs"),"chunkFileNames"),dir:f.resolve(e.options.rootDir,e.options.outDir),entryFileNames:$(n=>ce(n,"mjs"),"entryFileNames"),exports:"auto",externalLiveBindings:!1,format:"esm",freeze:!1,generatedCode:{arrowFunctions:!0,constBindings:!0,objectShorthand:!0,preset:e.tsconfig?.config.compilerOptions?.target==="es5"?"es5":"es2015",reservedNamesAsProps:!0,symbols:!0},hoistTransitiveImports:!1,sourcemap:e.options.sourcemap,...e.options.rollup.output,...e.options.rollup.output?.preserveModules?{preserveModules:!0,preserveModulesRoot:e.options.rollup.output.preserveModulesRoot??"src"}:{manualChunks:le(e.dependencyGraphMap,e.buildEntries),preserveModules:!1}}].filter(Boolean),plugins:[Oe(),qe(),e.tsconfig&&Ae(e.options.rootDir,e.logger,e.tsconfig),e.tsconfig&&Re(e.tsconfig,e.logger),e.options.rollup.replace&&be({...e.options.rollup.replace,values:{...e.options.replace,...e.options.rollup.replace.values}}),e.options.rollup.alias&&ve({customResolver:s?.resolveId,...e.options.rollup.alias,entries:t}),s,e.options.rollup.polyfillNode&&$t({sourceMap:e.options.sourcemap,...e.options.rollup.polyfillNode}),e.options.rollup.json&&ke({...e.options.rollup.json}),Ls(e.logger),Yt(e.options.entries.filter(n=>n.isExecutable).map(n=>n.name).filter(Boolean)),e.options.rollup.wsam&&ct.wasm(e.options.rollup.wsam),e.options.transformer?.(En(e.options.transformerName,e)),e.options.cjsInterop&&e.options.emitCJS&&xe({...e.options.rollup.cjsInterop,logger:e.logger,type:e.pkg.type??"commonjs"}),e.options.rollup.dynamicVars&&jt(e.options.rollup.dynamicVars),e.options.rollup.commonjs&&bt({extensions:N.DEFAULT_EXTENSIONS,sourceMap:e.options.sourcemap,...e.options.rollup.commonjs}),e.options.rollup.preserveDynamicImports&&{renderDynamicImport(){return{left:"import(",right:")"}}},e.options.rollup.shim&&Ys(e.pkg),e.options.rollup.raw&&zs(e.options.rollup.raw),e.options.rollup.jsxRemoveAttributes&&Ds({attributes:e.options.rollup.jsxRemoveAttributes.attributes,logger:e.logger}),e.options.rollup.metafile&&Fs({outDir:f.resolve(e.options.rootDir,e.options.outDir),rootDir:e.options.rootDir}),e.options.rollup.copy&&ws(e.options.rollup.copy,e.logger),e.options.rollup.license&&e.options.rollup.license.path&&typeof e.options.rollup.license.dependenciesTemplate=="function"&&_e({licenseFilePath:e.options.rollup.license.path,licenseTemplate:e.options.rollup.license.dependenciesTemplate,logger:e.logger,marker:e.options.rollup.license.dependenciesMarker??"DEPENDENCIES",mode:"dependencies",packageName:e.pkg.name}),e.options.rollup.visualizer&&ut.visualizer({brotliSize:!0,filename:"packem-bundle-analyze.html",gzipSize:!0,projectRoot:e.options.rootDir,sourcemap:e.options.sourcemap,title:"Packem Visualizer",...e.options.rollup.visualizer})].filter(Boolean)}},"getRollupOptions"),_n=$(async e=>{const{dts:t}=require("rollup-plugin-dts");return t({compilerOptions:{...e.options.rollup.dts.compilerOptions,incremental:void 0,inlineSources:void 0,sourceMap:void 0,tsBuildInfoFile:void 0},respectExternal:e.options.rollup.dts.respectExternal,tsconfig:e.tsconfig?.path})},"createDtsPlugin"),On=ys(_n),Je=$(async e=>{const t=Q(e,"types"),s={load(i){return/\.(?:js|cjs|mjs|jsx|ts|tsx|mts|json)$/.test(i)?null:""},name:"packem:ignore-files"},n=e.tsconfig?.config.compilerOptions;delete n?.lib;let o;e.options.rollup.resolve&&(o=ge.nodeResolve({extensions:N.DEFAULT_EXTENSIONS,...e.options.rollup.resolve}));const r="dts-plugin:"+process.pid+e.tsconfig.path;return{...Be(e,t,"dts"),onwarn(i,a){Le(i,e)||i.code!=="EMPTY_BUNDLE"&&a(i)},output:[e.options.emitCJS&&{chunkFileNames:$(i=>D(e,i,"d.cts"),"chunkFileNames"),dir:f.resolve(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.cts",format:"cjs",sourcemap:e.options.sourcemap,...e.options.rollup.output},{chunkFileNames:$(i=>D(e,i,"d.mts"),"chunkFileNames"),dir:f.resolve(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.mts",format:"esm",sourcemap:e.options.sourcemap,...e.options.rollup.output},(e.options.declaration===!0||e.options.declaration==="compatible")&&{chunkFileNames:$(i=>D(e,i,"d.ts"),"chunkFileNames"),dir:f.resolve(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.ts",format:"cjs",sourcemap:e.options.sourcemap,...e.options.rollup.output}].filter(Boolean),plugins:[Oe(),qe(),e.options.rollup.json&&ke({...e.options.rollup.json}),s,e.tsconfig&&Ae(e.options.rootDir,e.logger,e.tsconfig),e.tsconfig&&Re(e.tsconfig,e.logger),e.options.rollup.replace&&be({...e.options.rollup.replace,values:{...e.options.replace,...e.options.rollup.replace.values}}),e.options.rollup.alias&&ve({customResolver:o?.resolveId,...e.options.rollup.alias,entries:t}),o,await On(r)(e),e.options.cjsInterop&&e.options.emitCJS&&xe({...e.options.rollup.cjsInterop,logger:e.logger,type:e.pkg.type??"commonjs"}),e.options.rollup.patchTypes&&an(e.options.rollup.patchTypes,e.logger),Kt(),e.options.rollup.license&&e.options.rollup.license.path&&typeof e.options.rollup.license.dtsTemplate=="function"&&_e({licenseFilePath:e.options.rollup.license.path,licenseTemplate:e.options.rollup.license.dtsTemplate,logger:e.logger,marker:e.options.rollup.license.dependenciesMarker??"TYPE_DEPENDENCIES",mode:"types",packageName:e.pkg.name})].filter(Boolean)}},"getRollupDtsOptions");var Sn=Object.defineProperty,Dn=m((e,t)=>Sn(e,"name",{value:t,configurable:!0}),"f$5");const Nn=Dn(async(e,t)=>{const s=await We(e);if(await e.hooks.callHook("rollup:options",e,s),Object.keys(s.input).length===0)return;s.cache=t.get("rollup-build");const n=await q.rollup(s);t.set("rollup-build",n.cache),await e.hooks.callHook("rollup:build",e,n);const o=s.output,r=new Map;for(const i of o){const{output:a}=await n.write(i),p=new Set,c=a.filter(l=>l.type==="chunk");for(const l of c){p.add(l.fileName);for(const d of l.imports)e.usedImports.add(d);l.isEntry&&e.buildEntries.push({bytes:Buffer.byteLength(l.code,"utf8"),chunks:l.imports.filter(d=>c.find(y=>y.fileName===d)),exports:l.exports,modules:Object.entries(l.modules).map(([d,y])=>({bytes:y.renderedLength,id:d})),path:l.fileName,type:"entry"})}const u=a.filter(l=>l.type==="asset");for(const l of u)r.has(l.fileName)||r.set(l.fileName,{bytes:Buffer.byteLength(l.source,"utf8"),path:l.fileName,type:"asset"});for(const l of p)e.usedImports.delete(l)}e.buildEntries.push(...r.values())},"build");var Pn=Object.defineProperty,R=m((e,t)=>Pn(e,"name",{value:t,configurable:!0}),"r$3");const Mn=R(async(e,t)=>{const s=await Je(e);if(await e.hooks.callHook("rollup:dts:options",e,s),Object.keys(s.input).length===0)return;s.cache=t.get("rollup-dts");const n=await q.rollup(s);t.set("rollup-dts",n.cache),await e.hooks.callHook("rollup:dts:build",e,n),e.logger.info({message:"Building declaration files...",prefix:"dts"}),e.options.emitCJS&&await n.write({chunkFileNames:R(o=>D(e,o,"d.cts"),"chunkFileNames"),dir:f.resolve(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.cts"}),e.options.emitESM&&await n.write({chunkFileNames:R(o=>D(e,o,"d.mts"),"chunkFileNames"),dir:f.resolve(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.mts"}),(e.options.declaration===!0||e.options.declaration==="compatible")&&await n.write({chunkFileNames:R(o=>D(e,o,"d.ts"),"chunkFileNames"),dir:f.resolve(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.ts"}),await e.hooks.callHook("rollup:dts:done",e)},"buildTypes");var In=Object.defineProperty,ze=m((e,t)=>In(e,"name",{value:t,configurable:!0}),"e$1");const ue=ze((e,t,s)=>{const n="watcher:"+t;e.on("change",(o,{event:r})=>{s.info({message:`${g.cyan(f.relative(".",o))} was ${r}d`,prefix:n})}),e.on("restart",()=>{s.info({message:"Rebuilding "+t+"...",prefix:n})}),e.on("event",o=>{o.code==="END"&&s.success({message:"Rebuild "+t+" finished",prefix:n}),o.code==="ERROR"&&s.error({context:[o.error],message:"Rebuild "+t+" failed: "+o.error.message,prefix:n})})},"watchHandler"),Cn=ze(async(e,t)=>{const s=await We(e);if(await e.hooks.callHook("rollup:options",e,s),Object.keys(s.input).length===0)return;s.cache=t.get("rollup-watch");const n=q.watch(s);await e.hooks.callHook("rollup:watch",e,n);const o=[...Array.isArray(s.input)?s.input:typeof s.input=="string"?[s.input]:Object.keys(s.input??{})];let r="Starting watchers for entries:";for(const i of o)r+=g.gray(`
57
+ └─ ${f.relative(process.cwd(),i)}`);if(e.logger.info(r),ue(n,"bundle",e.logger),e.options.declaration){const i=await Je(e);await e.hooks.callHook("rollup:dts:options",e,i);const a=q.watch(i);await e.hooks.callHook("rollup:watch",e,a),ue(a,"types",e.logger)}},"watch");var Fn=Object.defineProperty,Rn=m((e,t)=>Fn(e,"name",{value:t,configurable:!0}),"i$2");const Ue=Rn(e=>`{ ${Object.keys(e).map(t=>`${t}: ${JSON.stringify(e[t])}`).join(", ")} }`,"dumpObject");var Tn=Object.defineProperty,An=m((e,t)=>Tn(e,"name",{value:t,configurable:!0}),"s$5");let qn=class{static{m(this,"h")}static{An(this,"FileCache")}#e;#t;#s=!0;constructor(t,s,n){this.#e=H.findCacheDirectorySync("visulima-packem",{create:!0,cwd:t});const o=yt.createHash("md5");o.update(s),this.#t=o.digest("hex"),this.#e===void 0?n.debug("Could not create cache directory."):n.debug(`Cache path is: ${this.#e}`)}set isEnabled(t){this.#s=t}get(t){if(!this.#s||this.#e===void 0)return;const s=`${this.#e}/${t}-${this.#t}.json`;if(v.isAccessibleSync(s))return v.readJsonSync(s)}set(t,s){this.#s&&(this.#e===void 0||s===void 0||v.writeJsonSync(`${this.#e}/${t}-${this.#t}.json`,s,{indent:2,overwrite:!0}))}};var Ln=Object.defineProperty,T=m((e,t)=>Ln(e,"name",{value:t,configurable:!0}),"l$2");const Bn=I.createFilter,Wn=T((e,t)=>{const{sideEffects:s}=t;let n;if(typeof s=="boolean")n=T(()=>s,"hasSideEffects");else if(Array.isArray(s))if(s.length<=0)n=T(()=>!1,"hasSideEffects");else{const o=s.map(r=>r.includes("/")?r:`**/${r}`);n=Bn(o,null,{resolve:e})}else n=T(()=>null,"hasSideEffects");return n},"getPackageSideEffect");var Jn=Object.defineProperty,zn=m((e,t)=>Jn(e,"name",{value:t,configurable:!0}),"t$4");const Un=zn(e=>e.replace(/\.(js|mjs|cjs|ts|mts|cts|json|jsx|tsx)$/,""),"removeExtension");var Hn=Object.defineProperty,He=m((e,t)=>Hn(e,"name",{value:t,configurable:!0}),"t$3");const ee=He(e=>{if(e.endsWith(".mjs")||e.endsWith(".d.mts"))return"esm";if(e.endsWith(".cjs")||e.endsWith(".d.cts"))return"cjs"},"inferExportTypeFromFileName"),Ve=He((e,t,s,n)=>{if(s){const i=ee(s);if(i)return i}if(e==="module"||e==="import")return"esm";if(e==="require")return"cjs";if(t.length===0)return n==="commonjs"?"cjs":"esm";const[o,...r]=t;return Ve(o,r,s,n)},"inferExportType");var Vn=Object.defineProperty,Xn=m((e,t)=>Vn(e,"name",{value:t,configurable:!0}),"f$3");const te=Xn((e,t,s,n=[])=>{if(!e)return[];if(typeof e=="string"){const o=ee(e),r=t==="module"?"esm":"cjs";if(o&&o!==r)throw new Error(`Exported file "${e}" has an extension that does not match the package.json type "${t}".`);return[{file:e,type:o??r}]}return Object.entries(e).filter(([o])=>!o.endsWith(".json")).flatMap(([o,r])=>o==="types"&&!s?[]:typeof r=="string"?{file:r,type:Ve(o,n,r,t)}:te(r,t,s,[...n,o]))},"extractExportFilenames");var Gn=Object.defineProperty,Yn=m((e,t)=>Gn(e,"name",{value:t,configurable:!0}),"e");const Kn=Yn(e=>{const t=f.normalize(e).split("/");return t.map((s,n)=>t.slice(n).join("/")).filter(Boolean)},"getEntrypointPaths");var Qn=Object.defineProperty,Zn=m((e,t)=>Qn(e,"name",{value:t,configurable:!0}),"h$1");const eo=Zn((e,t,s,n=".")=>{const o=[];t.sort((l,d)=>l.split("/").length-d.split("/").length);const r=te(e.exports,e.type??"commonjs",s);if(e.bin){const l=typeof e.bin=="string"?[e.bin]:Object.values(e.bin);for(const d of l)r.push({file:d,isExecutable:!0})}e.main&&r.push({file:e.main,type:ee(e.main)??(e.type==="module"?"esm":"cjs")}),e.module&&r.push({file:e.module,type:"esm"}),s===void 0&&(e.types||e.typings)&&r.push({file:e.types??e.typings});const i=e.type==="module";for(const l of r.filter(d=>!d.type)){const d=l.file.endsWith(".js");i&&d||l.file.endsWith(".mjs")?l.type="esm":(!i&&d||l.file.endsWith(".cjs"))&&(l.type="cjs")}let a=!1,p=!1,c=!1;const u=[];for(const l of r){const d=l.file.replace(/(?:\*[^/\\]*|\.d\.(?:m|c)?ts|\.\w+)$/,""),y=d.endsWith("/");if(y&&["./","/"].includes(d))continue;const h=Kn(d).reduce((j,E)=>{if(j)return j;const _=new RegExp(`(?<=/|$)${E}${y?"":"\\.\\w+"}$`);return t.find(O=>_.test(O))?.replace(/(?:\.d\.(?:m|c)?ts|\.\w+)$/,"")},void 0);if(!h){Y.existsSync(f.resolve(n,l.file))||o.push(`Could not find entrypoint for \`${l.file}\``);continue}l.type==="cjs"&&(a=!0),l.type==="esm"&&(p=!0);const b=u.find(j=>j.input===h)??u[u.push({input:h})-1];/\.d\.(?:m|c)?ts$/.test(l.file)&&(c=!0),y&&(b.outDir=d),l.isExecutable&&(b.isExecutable=!0)}return{cjs:a,dts:c,entries:u,esm:p,warnings:o}},"inferEntries");var to=Object.defineProperty,so=m((e,t)=>to(e,"name",{value:t,configurable:!0}),"t$2");const no=so((e,t)=>{const{publishConfig:s}=e;return s&&(s.bin&&(typeof s.bin=="object"||typeof s.bin=="string")&&(e.bin=s.bin),s.type&&typeof s.type=="string"&&s.type!==""&&(e.type=s.type),s.main&&typeof s.main=="string"&&s.main!==""&&(e.main=s.main),s.module&&typeof s.module=="string"&&s.module!==""&&(e.module=s.module),t===void 0&&s.types&&typeof s.types=="string"&&s.types!==""?e.types=s.types:t===void 0&&s.typings&&typeof s.typings=="string"&&s.typings!==""&&(e.typings=s.typings),s.exports&&typeof s.exports=="object"&&(e.exports=s.exports)),e},"overwriteWithPublishConfig");var oo=Object.defineProperty,ro=m((e,t)=>oo(e,"name",{value:t,configurable:!0}),"t$1");const io={hooks:{"build:prepare":ro(function(e){if(e.options.entries.length>0)return;const t=f.join(e.options.rootDir,"src");if(!Y.existsSync(t))throw new Error("No 'src' directory found. Please provide entries manually.");const s=v.collectSync(t,{extensions:[],includeDirs:!1,includeSymlinks:!1});if(s.length===0)throw new Error("No source files found in 'src' directory. Please provide entries manually.");let n={...e.pkg};n.publishConfig&&(n=no(n,e.options.declaration));const o=eo(n,s,e.options.declaration,e.options.rootDir);for(const r of o.warnings)C(e,r);if(e.options.entries.push(...o.entries),e.options.emitCJS===void 0&&o.cjs&&(e.options.emitCJS=!0),e.options.emitESM===void 0&&o.esm&&(e.options.emitESM=!0),e.options.declaration===void 0&&o.dts&&(e.options.declaration=o.dts),e.options.entries.length===0)throw new Error("No entries detected. Please provide entries manually.");e.logger.info("Automatically detected entries:",g.cyan(e.options.entries.map(r=>g.bold(r.input.replace(`${e.options.rootDir}/`,"").replace(/\/$/,"/*"))).join(", ")),g.gray([o.esm&&"esm",o.cjs&&"cjs",o.dts&&"dts"].filter(Boolean).map(r=>`[${r}]`).join(" ")))},"build:prepare")}};var ao=Object.defineProperty,lo=m((e,t)=>ao(e,"name",{value:t,configurable:!0}),"r");const Xe=lo((e,t)=>ye(t,{esmResolve:!0,interopDefault:!0})(e),"tryRequire");var co=Object.defineProperty,po=m((e,t)=>co(e,"name",{value:t,configurable:!0}),"t");const uo=po((e,t)=>(e==="auto"?e=io:typeof e=="string"&&(e=Xe(e,t)),typeof e=="function"&&(e=e()),e),"resolvePreset");var mo=Object.defineProperty,fo=m((e,t)=>mo(e,"name",{value:t,configurable:!0}),"o");const go=fo(e=>{const t=new Set,s=new Set(Object.keys(e.pkg.dependencies??{})),n=new Set;for(const o of e.usedImports)s.delete(o),t.add(o);if(Array.isArray(e.options.dependencies))for(const o of e.options.dependencies)s.delete(o);for(const o of t)!X(e.options.externals,o)&&!o.startsWith("chunks/")&&!e.options.dependencies.includes(G(o))&&!e.options.peerDependencies.includes(G(o))&&n.add(o);s.size>0&&C(e,`Potential unused dependencies found: ${[...s].map(o=>g.cyan(o)).join(", ")}`),n.size>0&&C(e,`Potential implicit dependencies found: ${[...n].map(o=>g.cyan(o)).join(", ")}`)},"validateDependencies");var ho=Object.defineProperty,Ge=m((e,t)=>ho(e,"name",{value:t,configurable:!0}),"i");const yo=Ge((e,t)=>vt.distance(e,t)<=e.length/3||t.includes(e),"isSimilar"),vo=Ge((e,t)=>{const s=e.toLowerCase();return t.filter(n=>yo(n.toLowerCase(),s))},"findAlternatives");var bo=Object.defineProperty,de=m((e,t)=>bo(e,"name",{value:t,configurable:!0}),"n");const jo=de((e,t)=>{const s=new Set([...typeof e.bin=="string"?[e.bin]:Object.values(e.bin??{}),e.main,e.module,t.options.declaration?e.types:"",t.options.declaration?e.typings:"",...te(e.exports,e.type??"commonjs",t.options.declaration).map(o=>o.file)].map(o=>o&&f.resolve(t.rootDir,o.replace(/\/[^*/]*\*[^\n\r/\u2028\u2029]*(?:[\n\r\u2028\u2029][^*/]*\*[^\n\r/\u2028\u2029]*)*(?:\/.*)?$/,"")))),n=[];for(const o of s)o&&!o.includes("*")&&!Y.existsSync(o)&&n.push(o.replace(`${t.rootDir}/`,""));if(n.length>0){const o=de(a=>f.relative(t.rootDir,f.resolve(t.options.outDir,a)),"rPath"),r=t.buildEntries.filter(a=>!a.chunk).map(a=>o(a.path));let i="Potential missing or wrong package.json files:";for(const a of n){const p=vo(a,r);i+=`
58
+ - `+g.cyan(a)+(p.length>0?g.grey` (did you mean ${p.map(c=>`"${c}"`).join(", ")}?)`:"")}C(t,i)}},"validatePackage");var $o=Object.defineProperty,x=m((e,t)=>$o(e,"name",{value:t,configurable:!0}),"m");const me=x((e,t)=>{e.warnings.size>0&&(t&&e.logger.raw(`
59
+ `),e.logger.warn(`Build is done with some warnings:
60
+
61
+ ${[...e.warnings].map(s=>`- ${s}`).join(`
62
+ `)}`),e.options.failOnWarn&&(e.logger.error("Exiting with code (1). You can change this behavior by setting `failOnWarn: false`."),w.exit(1)))},"logErrors"),wo=x(e=>{switch(e){case"preserve":case"react-native":return"preserve";case"react":return"transform";case"react-jsx":case"react-jsxdev":return"automatic";default:return}},"resolveTsconfigJsxToJsxRuntime"),xo=x((e,t,s,n,o,r,i,a)=>{const p=wo(a?.config.compilerOptions?.jsx),c=tt.defu(o,n,r,{alias:{},cache:!0,clean:!0,declaration:void 0,dependencies:[],devDependencies:[],emitCJS:void 0,emitESM:void 0,entries:[],externals:[...ne.builtinModules,...ne.builtinModules.map(u=>`node:${u}`)],failOnWarn:!0,minify:w.env.NODE_ENV==="production",name:(i.name??"").split("/").pop()??"default",optionalDependencies:[],outDir:"dist",peerDependencies:[],replace:{},rollup:{alias:{},cjsInterop:{addDefaultProperty:!1},commonjs:{ignoreTryCatch:!0,preserveSymlinks:!0,transformMixedEsModules:!1},dts:{compilerOptions:{baseUrl:a?.config.compilerOptions?.baseUrl??".",checkJs:!1,composite:!1,declaration:!0,declarationMap:!1,emitDeclarationOnly:!0,incremental:!1,noEmit:!1,noEmitOnError:!0,preserveSymlinks:!1,skipLibCheck:!0,target:99},respectExternal:!0},dynamicVars:{errorWhenNoFilesFound:!0,include:/\bimport\s*[(/]/},esbuild:{charset:"utf8",include:/\.[jt]sx?$/,jsx:p,jsxDev:a?.config.compilerOptions?.jsx==="react-jsxdev",jsxFactory:a?.config.compilerOptions?.jsxFactory,jsxFragment:a?.config.compilerOptions?.jsxFragmentFactory,jsxImportSource:a?.config.compilerOptions?.jsxImportSource,jsxSideEffects:!0,keepNames:!0,minifyWhitespace:w.env.NODE_ENV==="production",sourcesContent:!1,target:a?.config.compilerOptions?.target,treeShaking:!0,tsconfigRaw:a?.config},json:{preferConst:!0},license:{dependenciesTemplate:x((u,l,d)=>`
63
+ # Licenses of bundled dependencies
64
+ The published ${d} artifact additionally contains code with the following licenses:
65
+ ${u.join(", ")}
66
+
67
+ # Bundled dependencies:
68
+ `+l,"dependenciesTemplate"),dtsTemplate:x((u,l,d)=>`
69
+ # Licenses of bundled types
70
+ The published ${d} artifact additionally contains code with the following licenses:
71
+ ${u.join(", ")}
72
+
73
+ # Bundled types:
74
+ `+l,"dtsTemplate")},patchTypes:{},polyfillNode:{},preserveDynamicImports:!0,raw:{exclude:N.EXCLUDE_REGEXP,include:["**/*.data","**/*.txt"]},replace:{objectGuards:!0,preventAssignment:!0},resolve:{allowExportsFolderMapping:!1,preferBuiltins:!1},shim:!0,sucrase:{disableESTransforms:!0,enableLegacyBabel5ModuleInterop:!1,enableLegacyTypeScriptModuleInterop:a?.config.compilerOptions?.esModuleInterop===!1,include:/\.[jt]sx?$/,injectCreateRequireForImportRequire:!1,preserveDynamicImport:!0,production:w.env.NODE_ENV==="production",...a?.config.compilerOptions?.jsx&&["react","react-jsx","react-jsxdev"].includes(a.config.compilerOptions.jsx)?{jsxFragmentPragma:a.config.compilerOptions.jsxFragmentFactory,jsxImportSource:a.config.compilerOptions.jsxImportSource,jsxPragma:a.config.compilerOptions.jsxFactory,jsxRuntime:p,transforms:["typescript","jsx",...a.config.compilerOptions.esModuleInterop?["imports"]:[]]}:{transforms:["typescript",...a?.config.compilerOptions?.esModuleInterop?["imports"]:[]]}},swc:{include:/\.[jt]sx?$/,inlineSourcesContent:!1,inputSourceMap:!1,isModule:!0,jsc:{experimental:{keepImportAttributes:!0},externalHelpers:!1,keepClassNames:!0,loose:!0,parser:{decorators:a?.config.compilerOptions?.experimentalDecorators,syntax:a?"typescript":"ecmascript",[a?"tsx":"jsx"]:!0},target:a?.config.compilerOptions?.target?.toLowerCase(),transform:{decoratorMetadata:a?.config.compilerOptions?.emitDecoratorMetadata,legacyDecorator:a?.config.compilerOptions?.experimentalDecorators,react:{development:w.env.NODE_ENV!=="production",pragma:a?.config.compilerOptions?.jsxFactory,pragmaFrag:a?.config.compilerOptions?.jsxFragmentFactory,runtime:p,throwIfNamespace:!0},treatConstEnumAsEnum:a?.config.compilerOptions?.preserveConstEnums,useDefineForClassFields:a?.config.compilerOptions?.useDefineForClassFields}},module:{ignoreDynamic:!0,importInterop:"none",preserveImportMeta:!0,strict:!1,strictMode:!1,type:"es6"}},treeshake:{moduleSideEffects:Wn(t,i),preset:"recommended"},watch:{clearScreen:!0,exclude:N.EXCLUDE_REGEXP}},rootDir:t,sourcemap:!1,stub:s==="jit",stubOptions:{jiti:{alias:{},esmResolve:!0,interopDefault:!0}},transformerName:void 0});if(!c.transformerName){const u=new Set([...Object.keys(i.dependencies??{}),...Object.keys(i.devDependencies??{})]);if(u.has("esbuild"))c.transformerName="esbuild";else if(u.has("@swc/core"))c.transformerName="swc";else if(u.has("sucrase"))c.transformerName="sucrase";else throw new Error("Unknown transformer, check your transformer options or install one of the supported transformers: esbuild, swc, sucrase");e.info('Using "'+g.cyan(c.transformerName)+'" as transformer.')}return c.outDir=f.resolve(c.rootDir,c.outDir),c.rollup.resolve&&c.rollup.resolve.preferBuiltins===!0&&(c.rollup.polyfillNode=!1,e.debug("Disabling polyfillNode because preferBuiltins is set to true")),a?.config.compilerOptions?.isolatedModules||e.warn(`'compilerOptions.isolatedModules' is not enabled in tsconfig.
75
+ Because none of the third-party transpilers, packem uses under the hood is type-aware, some techniques or features often used in TypeScript are not properly checked and can cause mis-compilation or even runtime errors.
76
+ To mitigate this, you should set the isolatedModules option to true in tsconfig and let your IDE warn you when such incompatible constructs are used.`),c.dependencies=Object.keys(i.dependencies??{}),c.peerDependencies=Object.keys(i.peerDependencies??{}),c.devDependencies=Object.keys(i.devDependencies??{}),c.optionalDependencies=Object.keys(i.optionalDependencies??{}),c.externals.push(...c.dependencies,...c.peerDependencies,...c.optionalDependencies),c},"generateOptions"),ko=x(async(e,t)=>{e.options.entries=e.options.entries.map(s=>typeof s=="string"?{input:s}:s);for await(const s of e.options.entries){if(typeof s.name!="string"){let n=f.isAbsolute(s.input)?f.relative(t,s.input):f.normalize(s.input);n.startsWith("./")&&(n=n.slice(2)),s.name=Un(n.replace(/^src\//,""))}if(!s.input)throw new Error(`Missing entry input: ${Ue(s)}`);if(!e.options.declaration&&s.declaration===void 0&&(s.declaration=e.options.declaration),s.input=f.resolve(e.options.rootDir,s.input),!v.isAccessibleSync(s.input)){const n=new Set(await L.readdir(f.dirname(s.input)));let o=!1;for(const r of N.DEFAULT_EXTENSIONS)if(n.has(f.basename(s.input)+r)){o=!0;break}if(!o)throw new Qe.NotFoundError("Your configured entry: "+g.cyan(s.input)+" does not exist.")}s.outDir=f.resolve(e.options.rootDir,s.outDir??e.options.outDir)}},"prepareEntries"),Eo=x((e,t,s)=>{const n=x(r=>f.relative(t.rootDir,f.resolve(t.options.outDir,r)),"rPath");let o=!1;for(const r of t.buildEntries.filter(i=>!i.chunk)){let i=r.bytes??0;for(const p of r.chunks??[])i+=t.buildEntries.find(c=>c.path===p)?.bytes??0;let a=` ${g.bold(n(r.path))} (${["total size: "+g.cyan(S.formatBytes(i)),r.type!=="asset"&&r.bytes&&"chunk size: "+g.cyan(S.formatBytes(r.bytes))].filter(Boolean).join(", ")})`;if(a+=r.exports?.length?`
77
+ exports: `+g.gray(r.exports.join(", ")):"",r.chunks?.length&&(a+=`
78
+ ${r.chunks.map(p=>{const c=t.buildEntries.find(u=>u.path===p)??{};return g.gray(" └─ "+n(p)+g.bold(c.bytes?" ("+S.formatBytes(c?.bytes)+")":""))}).join(`
79
+ `)}`),r.modules&&r.modules.length>0){const p=r.modules.filter(c=>c.id.includes("node_modules")).sort((c,u)=>(u.bytes||0)-(c.bytes||0)).map(c=>g.gray(" 📦 "+n(c.id)+g.bold(c.bytes?" ("+S.formatBytes(c.bytes)+")":""))).join(`
80
+ `);a+=p.length>0?`
81
+ inlined modules:
82
+ `+p:""}if(t.options.declaration&&r.type==="entry"){let p=r.path.replace(/\.js$/,".d.ts"),c="commonjs";r.path.endsWith(".cjs")?p=r.path.replace(/\.cjs$/,".d.cts"):r.path.endsWith(".mjs")&&(c="module",p=r.path.replace(/\.mjs$/,".d.mts"));const u=t.buildEntries.find(l=>l.path.endsWith(p));if(u){let l;(t.options.declaration===!0||t.options.declaration==="compatible")&&!p.includes(".d.ts")&&(p=p.replace(c==="commonjs"?".d.c":".d.m",".d."),l=t.buildEntries.find(d=>d.path.endsWith(p))),a+=l&&c===s.type?`
83
+ types:
84
+ `+[u,l].map(d=>g.gray(" └─ ")+g.bold(n(d.path))+" (total size: "+g.cyan(S.formatBytes(d.bytes??0))+")").join(`
85
+ `):`
86
+ types: `+g.bold(n(u.path))+" (total size: "+g.cyan(S.formatBytes(u.bytes??0))+")"}}o=!0,a+=`
87
+
88
+ `,e.raw(r.chunk?g.gray(a):a)}return o&&e.raw("Σ Total dist size (byte size):",g.cyan(S.formatBytes(t.buildEntries.reduce((r,i)=>r+(i.bytes??0),0))),`
89
+ `),o},"showSizeInformation"),_o=x(async(e,t,s,n,o,r,i,a,p)=>{const c=uo(o.preset??n.preset??"auto",t),u=xo(e,t,s,n,o,c,r,i);a.isEnabled=u.cache,v.ensureDirSync(u.outDir);const l={buildEntries:[],dependencyGraphMap:new Map,hooks:st.createHooks(),logger:e,mode:s,options:u,pkg:r,rootDir:t,tsconfig:i,usedImports:new Set,warnings:new Set};if(c.hooks&&l.hooks.addHooks(c.hooks),n.hooks&&l.hooks.addHooks(n.hooks),o.hooks&&l.hooks.addHooks(o.hooks),await l.hooks.callHook("build:prepare",l),l.options.emitESM===!1&&l.options.emitCJS===!1)throw new Error("Both emitESM and emitCJS are disabled. At least one of them must be enabled.");if(l.options.declaration&&i===void 0)throw new Error("Cannot build declaration files without a tsconfig.json");l.options.emitESM===void 0&&e.info("Emitting ESM bundles, is disabled."),l.options.emitCJS===void 0&&e.info("Emitting CJS bundles, is disabled."),l.options.declaration||e.info("Declaration files, are disabled."),await ko(l,t),await l.hooks.callHook("build:before",l);let d="Building";if(s==="watch"?d="Watching":s==="jit"&&(d="Stubbing"),e.info(g.cyan(`${d} ${l.options.name}`)),e.debug(`${g.bold("Root dir:")} ${l.options.rootDir}
90
+ ${g.bold("Entries:")}
91
+ ${l.options.entries.map(h=>` ${Ue(h)}`).join(`
92
+ `)}`),l.options.clean)for(const h of new Set(l.options.entries.map(b=>b.outDir).filter(Boolean).sort()))h===l.options.rootDir||l.options.rootDir.startsWith(h.endsWith("/")?h:`${h}/`)||p.some(b=>h.startsWith(b))||(p.push(h),e.info(`Cleaning dist directory: \`./${f.relative(l.options.rootDir,h)}\``),await v.emptyDir(h));if(l.options.stub){await ls(l),await l.hooks.callHook("build:done",l);return}if(s==="watch"){await Cn(l,a),me(l,!1);return}await Promise.all([Nn(l,a),l.options.declaration&&Mn(l,a)]),e.success(g.green(`Build succeeded for ${l.options.name}`));for await(const h of v.walk(l.options.outDir)){let b=l.buildEntries.find(j=>f.join(l.options.outDir,j.path)===h.path);if(b||(b={chunk:!0,path:h.path},l.buildEntries.push(b)),!b.bytes){const j=await L.stat(f.resolve(l.options.outDir,h.path));b.bytes=j.size}}const y=Eo(e,l,r);go(l),jo(r,l),await l.hooks.callHook("build:done",l),me(l,y)},"build"),Oo=x(async(e,t,s={})=>{const{configPath:n,debug:o,tsconfigPath:r,...i}=s,a=[new W.MessageFormatterProcessor,new W.ErrorProcessor];o&&a.push(new W.CallerProcessor);const p=et.createPail({logLevel:o?"debug":"informational",processors:a,scope:"packem"});e=f.resolve(w.cwd(),e),p.debug("Root directory:",e);const c=f.join(e,"package.json"),u=Ze.parsePackageJson(c);p.debug("Using package.json found at",c);let l;if(r){const d=f.join(e,r);await v.isAccessible(d)||(p.error("tsconfig.json not found at",d),w.exit(1)),l={config:H.readTsConfig(d),path:d},p.info("Using tsconfig settings at",d)}else try{l=await H.findTSConfig(e),p.debug("Using tsconfig settings found at",l.path)}catch{p.info("No tsconfig.json or jsconfig.json found.")}try{const d=n??"./packem.config.ts";/\.(?:js|mjs|cjs|ts)$/.test(d)||(p.error("Invalid packem config file extension. Only .js, .mjs, .cjs, .ts extensions are allowed."),w.exit(1));const y=Xe(d,e);p.debug("Using packem config found at",f.join(e,d));const h=(Array.isArray(y)?y:[y]).filter(Boolean),b=Date.now(),j=x(()=>S.duration(Math.floor(Date.now()-b)),"getDuration"),E=[],_=[],O=new qn(e,Xt.version,p);for(const F of h)_.push(_o(p,e,t,i,F,u,l,O,E));await Promise.all(_),p.raw(`
93
+ ⚡️ Build`+(_.length>1?"s":"")+" run in "+j()),p.restoreAll(),w.exit(0)}catch(d){p.error("An error occurred while building",d),w.exit(1)}},"createBundler");exports.Oe=Oo;exports.name=je;exports.version=$e;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visulima/packem",
3
- "version": "1.0.0-alpha.23",
3
+ "version": "1.0.0-alpha.25",
4
4
  "description": "A fast and modern bundler for Node.js and TypeScript.",
5
5
  "keywords": [
6
6
  "anolilab",