@visulima/packem 1.0.0-alpha.75 → 1.0.0-alpha.77

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,15 @@
1
+ ## @visulima/packem [1.0.0-alpha.77](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.76...@visulima/packem@1.0.0-alpha.77) (2024-08-20)
2
+
3
+ ### Features
4
+
5
+ * fixed handling of types generation, based on auto preset ([bc584db](https://github.com/visulima/packem/commit/bc584dbb2ca58bf49abb0bb9a6f3dd9ad2d5750f))
6
+
7
+ ## @visulima/packem [1.0.0-alpha.76](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.75...@visulima/packem@1.0.0-alpha.76) (2024-08-19)
8
+
9
+ ### Features
10
+
11
+ * generate dts for ts 4.7 if only declaration = compatible is used ([ab3fd78](https://github.com/visulima/packem/commit/ab3fd78a4105798454545febb4b177525d4ba199))
12
+
1
13
  ## @visulima/packem [1.0.0-alpha.75](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.74...@visulima/packem@1.0.0-alpha.75) (2024-08-19)
2
14
 
3
15
  ### Features
package/dist/cli.cjs ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env node
2
+ "use strict";var h=Object.defineProperty;var l=(n,o)=>h(n,"name",{value:o,configurable:!0});const k=require("@visulima/cerebro"),E=require("@visulima/pail/reporter"),d=require("node:process"),p=require("./shared/packem.CFplOoR-.cjs"),b=require("./create-bundler.cjs"),j=require("@antfu/install-pkg"),a=require("@clack/prompts"),m=require("@visulima/fs"),w=require("@visulima/package/package-json"),u=require("@visulima/path"),N=l(n=>n&&typeof n=="object"&&"default"in n?n.default:n,"_interopDefaultCompat"),C=N(k),V="@visulima/packem",O="1.0.0-alpha.76";var D=Object.defineProperty,g=l((n,o)=>D(n,"name",{value:o,configurable:!0}),"a");const P=g(n=>{n.addCommand({description:"Demonstrate options required",execute:g(async({logger:o,options:e})=>{let s="build";e.watch?s="watch":e.jit&&(s="jit");const r={};let t;if(d.env.NODE_ENV&&[p.DEVELOPMENT_ENV,p.PRODUCTION_ENV].includes(d.env.NODE_ENV)&&(t=d.env.NODE_ENV),e.env)for(const i of e.env)if(i.key==="NODE_ENV"){if(t)throw new Error("NODE_ENV was already set, this can't be overridden.");t=i.value}else r["process.env."+i.key]=JSON.stringify(i.value);t===void 0&&(e.production?t=p.PRODUCTION_ENV:e.development&&(t=p.DEVELOPMENT_ENV));try{await b(e.dir,s,t,o,{cjsInterop:e.cjsInterop,configPath:e.config??void 0,debug:e.debug,minify:e.minify===void 0?t===p.PRODUCTION_ENV:e.minify,replace:{...r},rollup:{esbuild:{target:e.target},license:{path:e.license},metafile:e.metafile,...e.analyze?{visualizer:{}}:{visualizer:!1}},sourcemap:e.sourcemap,tsconfigPath:e.tsconfig??void 0})}catch(i){o.error(i),d.exit(1)}},"execute"),name:"build",options:[{defaultValue:".",description:"The directory to build",name:"dir",type:String},{alias:"t",description:"Environments to support. `target` in tsconfig.json is automatically added. Defaults to the current Node.js version.",name:"target"},{description:"Use a custom config file",name:"config",type:String},{description:"Path to the tsconfig.json file",name:"tsconfig",type:String},{description:"Minify the output",name:"minify",type:Boolean},{description:"Generate sourcemaps (experimental)",name:"sourcemap",type:Boolean},{conflicts:"jit",description:"Watch for changes",name:"watch",type:Boolean},{conflicts:"watch",description:"Stub the package for JIT compilation",name:"jit",type:Boolean},{description:"Compile-time environment variables (eg. --env.NODE_ENV=production)",multiple:!0,name:"env",type:g(o=>{const[e,s]=o.split("=");return{key:e,value:s}},"type")},{defaultValue:!1,description:"Generate meta file (experimental)",name:"metafile",type:Boolean},{description:"Path to the license file",name:"license",type:String},{conflicts:"watch",description:"Visualize and analyze the bundle",name:"analyze",type:Boolean},{description:"CJS interop mode, can export default and named export, (experimental).",name:"cjsInterop",type:Boolean},{conflicts:"development",description:"Run code in production environment",name:"production",type:Boolean},{conflicts:"production",description:"Run code in development environment",name:"development",type:Boolean}]})},"createBuildCommand");var S=Object.defineProperty,v=l((n,o)=>S(n,"name",{value:o,configurable:!0}),"m");const _=v(n=>{n.addCommand({description:"Initialize packem configuration",execute:v(async({logger:o,options:e})=>{if(a.intro("Welcome to packem setup"),m.isAccessibleSync(u.join(e.dir,"packem.config.ts"))){o.info("Packem project already initialized, you can use `packem build` to build your project");return}if(a.isCancel(e.transformer)){a.cancel("Operation cancelled");return}const s=u.join(e.dir,"package.json");if(!m.isAccessibleSync(s))throw new Error("No package.json found in the directory");const r=w.parsePackageJson(s),t=[];if(r.dependencies&&t.push(...Object.keys(r.dependencies)),r.devDependencies&&t.push(...Object.keys(r.devDependencies)),e.transformer===void 0&&(e.transformer=await a.select({message:"Pick a transformer",options:[{label:"esbuild",value:"esbuild"},{label:"swc",value:"swc"},{label:"Sucrase",value:"sucrase"}]}),!t.includes(e.transformer)&&await a.confirm({message:"Do you want to install "+e.transformer+"?"}))){const i=a.spinner();i.start("Installing "+e.transformer),await j.installPackage(e.transformer==="swc"?"@swc/core":e.transformer,{cwd:e.dir,dev:!0,silent:!0}),i.stop("")}if(t.includes("typescript")||r.type==="module"){const i=`import { defineConfig } from "@visulima/packem/config";
3
+ import transformer from "@visulima/packem/transformer/${e.transformer}";
4
+
5
+ export default defineConfig({
6
+ transformer
7
+ });
8
+ `,c=a.spinner(),f=r.type==="module"?"mjs":"ts";c.start("Creating packem.config."+f),m.writeFileSync(u.join(e.dir,"packem.config."+f),i),c.stop("Created packem.config."+f)}else{const i=`const { defineConfig } = require("@visulima/packem/config");
9
+ const transformer = require("@visulima/packem/transformer/${e.transformer}");
10
+
11
+ module.exports = defineConfig({
12
+ transformer
13
+ });
14
+ `,c=a.spinner();c.start("Creating packem.config.js"),m.writeFileSync(u.join(e.dir,"packem.config.js"),i),c.stop("Created packem.config.js")}a.outro("Now you can run `packem build` to build your project")},"execute"),name:"init",options:[{defaultValue:".",description:"The directory to initialize",name:"dir",type:String},{description:"Choose a transformer to use for packem",name:"transformer",type:String}]})},"createInitCommand"),y=new C("packem",{logger:{reporters:[new E.SimpleReporter({error:{hideErrorCauseCodeView:!0,hideErrorCodeView:!0,hideErrorErrorsCodeView:!0}})],scope:"packem"},packageName:V,packageVersion:O});_(y);P(y);y.run({shouldExitProcess:!1});
package/dist/cli.mjs CHANGED
@@ -1,117 +1,16 @@
1
1
  #!/usr/bin/env node
2
- var Ct=Object.defineProperty;var m=(e,t)=>Ct(e,"name",{value:t,configurable:!0});import Mt from"@visulima/cerebro";import{SimpleReporter as It}from"@visulima/pail/reporter";import{env as K,versions as Rt,cwd as Tt,exit as Ft}from"node:process";import{DEFAULTS as At,nodeResolve as Ue}from"@rollup/plugin-node-resolve";import{chmod as Jt,stat as Ve,readdir as Bt}from"node:fs/promises";import ke from"node:module";import{cyan as y,bold as N,gray as R,yellow as Wt,grey as Lt,green as zt}from"@visulima/colorize";import{readFile as pe,writeFile as U,isAccessibleSync as $,collectSync as Ut,readFileSync as He,writeFileSync as Y,writeJsonSync as Vt,ensureDirSync as Ht,emptyDir as qe,walk as qt,isAccessible as Gt}from"@visulima/fs";import{formatBytes as M,duration as Kt}from"@visulima/humanizer";import{parsePackageJson as Ge}from"@visulima/package/package-json";import{resolve as g,join as h,normalize as ue,extname as de,relative as S,dirname as me,basename as Z,isAbsolute as Ke,toNamespacedPath as xe}from"@visulima/path";import{readTsConfig as Yt,findTsConfig as Xt}from"@visulima/tsconfig";import{defu as Zt}from"defu";import{createHooks as Qt}from"hookable";import{rollup as Ye,watch as Ee,VERSION as eo}from"rollup";import{pathToFileURL as to,fileURLToPath as oo}from"node:url";import{resolvePath as no,resolveModuleExportNames as ro,findStaticImports as Xe}from"mlly";import P from"magic-string";import Ze from"jiti";import{existsSync as fe,rmSync as io}from"node:fs";import Qe from"@rollup/plugin-alias";import so from"@rollup/plugin-commonjs";import ao from"@rollup/plugin-dynamic-import-vars";import et from"@rollup/plugin-replace";import{wasm as lo}from"@rollup/plugin-wasm";import co from"rollup-plugin-polyfill-node";import{visualizer as po}from"rollup-plugin-visualizer";import{minVersion as tt}from"semver";import uo from"glob-parent";import{glob as mo,globSync as fo}from"tinyglobby";import{createFilter as L,normalizePath as Oe}from"@rollup/pluginutils";import go from"@rollup/plugin-json";import ho from"rollup-plugin-license";import{createHash as yo}from"node:crypto";import{parse as vo}from"@babel/parser";import{findCacheDirSync as bo}from"@visulima/find-cache-dir";import{NotFoundError as Se}from"@visulima/fs/error";import De from"is-glob";import{distance as $o}from"fastest-levenshtein";import{installPackage as wo}from"@antfu/install-pkg";import{intro as jo,isCancel as ko,cancel as xo,select as Eo,confirm as Oo,spinner as oe,outro as So}from"@clack/prompts";import __cjs_url__ from "node:url"; // -- packem CommonJS __filename shim --
3
- import __cjs_path__ from "node:path"; // -- packem CommonJS __dirname shim --
4
- import __cjs_mod__ from "node:module"; // -- packem CommonJS require shim --
5
- const __filename = __cjs_url__.fileURLToPath(import.meta.url);
6
- const __dirname = __cjs_path__.dirname(__filename);
2
+ var b=Object.defineProperty;var p=(r,i)=>b(r,"name",{value:i,configurable:!0});import w from"@visulima/cerebro";import{SimpleReporter as E}from"@visulima/pail/reporter";import{env as l,exit as j}from"node:process";import{b as y,P as d}from"./shared/packem.C_T1EDp8.mjs";import C from"./create-bundler.mjs";import{installPackage as N}from"@antfu/install-pkg";import{intro as V,isCancel as O,cancel as P,select as x,confirm as D,spinner as f,outro as S}from"@clack/prompts";import{isAccessibleSync as v,writeFileSync as h}from"@visulima/fs";import{parsePackageJson as B}from"@visulima/package/package-json";import{join as c}from"@visulima/path";import __cjs_mod__ from "node:module"; // -- packem CommonJS require shim --
7
3
  const require = __cjs_mod__.createRequire(import.meta.url);
8
- const Do="@visulima/packem",No="1.0.0-alpha.74",A=[...At.extensions,".cjs",".ts",".cts",".mts",".tsx",".jsx"],E="production",T="development",_o=[T,E],ot=["react-server","react-native","edge-light"];[..._o,...ot];const ne=/node_modules/;var Po=Object.defineProperty,Q=m((e,t)=>Po(e,"name",{value:t,configurable:!0}),"i$c");const ge=/^#![^\n]*/,le=Q(async e=>{await Jt(e,493).catch(()=>{})},"makeExecutable"),Co=Q((e,t=`#!/usr/bin/env node
9
- `)=>({name:"packem:shebang",renderChunk:{handler(o,n,r){if(!n.isEntry||!n.facadeModuleId||o.startsWith("#")&&o[1]==="!")return null;if(e.includes(n.name)){const i=new P(o);return i.prepend(t),{code:i.toString(),map:r.sourcemap?i.generateMap({hires:!0}):void 0}}return null},order:"post"},async writeBundle(o,n){for(const[r,i]of Object.entries(n))if(i.type==="chunk"&&ge.test(i.code)&&o.dir){const s=g(o.dir,r);await le(s)}}}),"shebangPlugin"),Mo=Q(()=>({name:"packem:remove-shebang",renderChunk(e){return e.replace(ge,"")}}),"removeShebangPlugin"),Io=Q((e,t=`
10
- `)=>{const o=ge.exec(e);return o?o+t:""},"getShebang");var Ro=Object.defineProperty,To=m((e,t)=>Ro(e,"name",{value:t,configurable:!0}),"p$3");const he=To((e,t)=>{let o={};if(e.pkg.name&&(o[e.pkg.name]=e.options.rootDir),e.pkg.imports){const{imports:n}=e.pkg;for(const r in n){if(r.startsWith("#"))continue;const i=n[r];typeof i=="string"&&(o[r]=h(e.options.rootDir,i))}}return o={...o,...e.options.alias},e.options.rollup.alias&&(Array.isArray(e.options.rollup.alias.entries)?Object.assign(o,Object.fromEntries(e.options.rollup.alias.entries.map(n=>[n.find,n.replacement]))):Object.assign(o,e.options.rollup.alias.entries??e.options.rollup.alias)),e.logger.debug({message:"Resolved aliases: "+JSON.stringify(o),prefix:t}),o},"resolveAliases");var Fo=Object.defineProperty,Ao=m((e,t)=>Fo(e,"name",{value:t,configurable:!0}),"o$4");const Jo=Ao((e,t)=>{const o=Ze(t,{esmResolve:!0,interopDefault:!0});try{return o.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 Bo=Object.defineProperty,Wo=m((e,t)=>Bo(e,"name",{value:t,configurable:!0}),"r$a");const W=Wo((e,t)=>{e.warnings.has(t)||e.warnings.add(t)},"warn");var Lo=Object.defineProperty,zo=m((e,t)=>Lo(e,"name",{value:t,configurable:!0}),"u$c");const Uo=zo(async e=>{const t=await no("jiti",{url:import.meta.url}),o=JSON.stringify({...e.options.stubOptions.jiti,alias:{...he(e,"jit"),...e.options.stubOptions.jiti.alias}},null,2);for(const n of e.options.entries){const r=g(e.options.rootDir,e.options.outDir,n.name),i=ue(Jo(n.input,e.options.rootDir)||n.input),s=i.slice(0,Math.max(0,i.length-de(i).length)),a=await pe(i),c=Io(a);e.options.emitCJS&&await U(`${r}.cjs`,c+[`const jiti = require(${JSON.stringify(t)})`,"",`const _jiti = jiti(null, ${o})`,"",`/** @type {import(${JSON.stringify(s)})} */`,`module.exports = _jiti(${JSON.stringify(i)})`].join(`
11
- `));let l=[];try{l=await ro(i,{extensions:A})}catch(p){W(e,`Cannot analyze ${i} for exports: ${p.toString()}`);return}const d=l.includes("default")||l.length===0;await U(`${r}.mjs`,c+[`import jiti from ${JSON.stringify(to(t).href)};`,"",`const _jiti = jiti(null, ${o})`,"",`/** @type {import(${JSON.stringify(i)})} */`,`const _module = await _jiti.import(${JSON.stringify(i)});`,d?`
12
- export default _module;`:"",...l.filter(p=>p!=="default").map(p=>`export const ${p} = _module.${p};`)].join(`
13
- `)),await U(`${r}.d.cts`,[`export * from ${JSON.stringify(s)};`,d?`export { default } from ${JSON.stringify(s)};`:""].join(`
14
- `)),await U(`${r}.d.mts`,[`export * from ${JSON.stringify(i)};`,d?`export { default } from ${JSON.stringify(i)};`:""].join(`
15
- `)),c&&(await le(`${r}.cjs`),await le(`${r}.mjs`))}await e.hooks.callHook("rollup:done",e)},"createStub");var Vo=Object.defineProperty,Ho=m((e,t)=>Vo(e,"name",{value:t,configurable:!0}),"r$9");const nt=Ho((e,t)=>Ze(t,{esmResolve:!0,interopDefault:!0})(e),"tryRequire");var qo=Object.defineProperty,Go=m((e,t)=>qo(e,"name",{value:t,configurable:!0}),"i$9");const ye=Go(e=>`{ ${Object.keys(e).map(t=>`${t}: ${JSON.stringify(e[t])}`).join(", ")} }`,"dumpObject");var Ko=Object.defineProperty,rt=m((e,t)=>Ko(e,"name",{value:t,configurable:!0}),"e$1");const X=rt(e=>{if(e.endsWith(".mjs")||e.endsWith(".d.mts"))return"esm";if(e.endsWith(".cjs")||e.endsWith(".d.cts"))return"cjs"},"inferExportTypeFromFileName"),it=rt((e,t,o,n)=>{if(n){const s=X(n);if(s)return s}if(e==="module"||e==="import")return"esm";if(e==="require")return"cjs";if(t.length===0)return o;const[r,...i]=t;return it(r,i,o,n)},"inferExportType");var Yo=Object.defineProperty,Xo=m((e,t)=>Yo(e,"name",{value:t,configurable:!0}),"o$3");const Zo=["import","require","node","node-addons","default","production","types","deno","browser","development","react-native","react-server"],ve=Xo((e,t,o,n=[])=>{if(!e)return[];if(typeof e=="string"){const r=X(e);if(r&&r!==t)throw new Error(`Exported file "${e}" has an extension that does not match the package.json type "${t}".`);return[{file:e,key:"exports",type:r??t}]}return Object.entries(e).filter(([r])=>!r.endsWith(".json")).flatMap(([r,i])=>typeof i=="string"?{file:i,key:"exports",...Zo.includes(r)?{subKey:r}:{},type:it(r,n,t,i)}:ve(i,t,o,[...n,r]))},"extractExportFilenames");var Qo=Object.defineProperty,ee=m((e,t)=>Qo(e,"name",{value:t,configurable:!0}),"m$9");const en=ee((e,t)=>e.key==="exports"&&e.subKey===E?E:e.key==="exports"&&e.subKey===T?T:t,"getEnvironment"),V=ee((e,t,o,n,r,i,s)=>{const a=en(r,s);let c=e.find(l=>l.input===t&&l.environment===a);if(c===void 0&&(c=e[e.push({input:t})-1]),o&&(c.outDir=n),r.isExecutable)c.executable=!0,c.declaration=!1,r.type==="cjs"&&(c.cjs=!0),r.type==="esm"&&(c.esm=!0);else{/\.d\.[mc]?ts$/.test(r.file)&&i!==!1&&(c.declaration=i),r.type==="cjs"&&(c.cjs=!0),r.type==="esm"&&(c.esm=!0);for(const l of ot)if(r.file.includes("."+l+".")){c.runtime=l;break}}c.runtime===void 0&&(c.runtime="node"),c.environment=a,[T,E].includes(r.subKey)&&r.file.includes("."+r.subKey+".")&&(c.fileAlias=!0)},"createOrUpdateEntry"),Ne=/(?:\.d\.[mc]?ts|\.\w+)$/;let _e=!1;const Pe=ee(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"),tn=ee((e,t,o)=>{const n=[];t.sort((a,c)=>a.split("/").length-c.split("/").length);const r=e.type==="module"?"esm":"cjs";r==="esm"&&(o.options.emitESM=!0),r==="cjs"&&(o.options.emitCJS=!0);const i=ve(e.exports,r,o.options.declaration);if(e.bin){const a=(typeof e.bin=="string"?[e.bin]:Object.values(e.bin)).filter(Boolean);for(const c of a){const l=X(c);if(l&&l!==r)throw new Error(`Exported file "${c}" has an extension that does not match the package.json type "${e.type}".`);i.push({file:c,isExecutable:!0,key:"bin",type:l})}}e.main&&i.push({file:e.main,key:"main",type:X(e.main)??r}),e.module&&i.push({file:e.module,key:"module",type:"esm"}),(e.types||e.typings)&&(Pe(o),o.options.declaration="compatible",i.push({file:e.types??e.typings,key:"types"}));const s=[];for(const a of i){o.options.declaration===void 0&&(o.options.declaration=a.key==="types"||a.subKey==="types"),o.options.emitCJS===void 0&&(o.options.emitCJS=a.type==="cjs"),o.options.emitESM===void 0&&(o.options.emitESM=a.type==="esm");const c=a.file.replace(/(?:\*[^/\\]|\.d\.[mc]?ts|\.\w+)$/,""),l=c.endsWith("/");if(l&&["./","/"].includes(c))continue;let d=c.replace(new RegExp("(./)?"+o.options.outDir),o.options.sourceDir).replace("./","");if((a.subKey===T||a.subKey===E)&&(d=d.replace("."+a.subKey,"")),a.file.includes("/*")&&a.key==="exports"){_e||(o.logger.debug("Private subfolders are not supported, if you need this feature please open an issue on GitHub."),_e=!0);const f=[],b=new RegExp("(?<=/|$)"+d.replace("*","(.*)")+(l?"":"\\.\\w+"));for(const D of t)b.test(D)&&f.push(D.replace(Ne,""));if(f.length===0){n.push(`Could not find entrypoint for \`${a.file}\``);continue}for(const D of f)V(s,D,l,c,a,o.options.declaration,o.environment);continue}const p=new RegExp("(?<=/|$)"+d+(l?"":"\\.\\w+")),u=t.find(f=>p.test(f))?.replace(Ne,"");if(!u){fe(g(o.options.rootDir,a.file))||n.push(`Could not find entrypoint for \`${a.file}\``);continue}($(u+".ts")||$(u+".cts")||$(u+".mts"))&&Pe(o),$(u+".cts")&&$(u+".mts")?(V(s,u+".cts",l,c,{...a,type:"cjs"},o.options.declaration,o.environment),V(s,u+".mts",l,c,{...a,type:"esm"},o.options.declaration,o.environment)):V(s,u,l,c,a,o.options.declaration,o.environment)}return{entries:s,warnings:n}},"inferEntries");var on=Object.defineProperty,nn=m((e,t)=>on(e,"name",{value:t,configurable:!0}),"t$7");const rn=nn((e,t)=>{const{publishConfig:o}=e;return o&&(o.bin&&(typeof o.bin=="object"||typeof o.bin=="string")&&(e.bin=o.bin),o.type&&typeof o.type=="string"&&o.type!==""&&(e.type=o.type),o.main&&typeof o.main=="string"&&o.main!==""&&(e.main=o.main),o.module&&typeof o.module=="string"&&o.module!==""&&(e.module=o.module),t===void 0&&o.types&&typeof o.types=="string"&&o.types!==""?e.types=o.types:t===void 0&&o.typings&&typeof o.typings=="string"&&o.typings!==""&&(e.typings=o.typings),o.exports&&typeof o.exports=="object"&&(e.exports=o.exports)),e},"overwriteWithPublishConfig");var sn=Object.defineProperty,an=m((e,t)=>sn(e,"name",{value:t,configurable:!0}),"t$6");const ln={hooks:{"build:prepare":an(function(e){if(e.options.entries.length>0)return;const t=h(e.options.rootDir,e.options.sourceDir);if(!fe(t))throw new Error("No 'src' directory found. Please provide entries manually.");const o=Ut(t,{extensions:[],includeDirs:!1,includeSymlinks:!1});if(o.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(ye(n.publishConfig)),n=rn(n,e.options.declaration));const r=tn(n,o,e);for(const i of r.warnings)W(e,i);if(e.options.entries.push(...r.entries),e.options.entries.length===0)throw new Error("No entries detected. Please provide entries manually.");e.logger.info("Automatically detected entries:",y(e.options.entries.map(i=>N(i.input.replace(`${e.options.rootDir}/`,"").replace(/\/$/,"/*"))).join(", ")),R([e.options.emitESM&&"esm",e.options.emitCJS&&"cjs",e.options.declaration&&"dts"].filter(Boolean).map(i=>`[${i}]`).join(" ")))},"build:prepare")}};var cn=Object.defineProperty,pn=m((e,t)=>cn(e,"name",{value:t,configurable:!0}),"n$7");const un=pn((e,t)=>{if(e==="auto")e=ln;else{if(e==="none")return{};typeof e=="string"&&(e=nt(e,t))}return typeof e=="function"&&(e=e()),e},"resolvePreset");var dn=Object.defineProperty,mn=m((e,t)=>dn(e,"name",{value:t,configurable:!0}),"a$b");const ce=mn((e,t)=>e.some(o=>o instanceof RegExp?o.test(t):o===t),"arrayIncludes");var fn=Object.defineProperty,gn=m((e,t)=>fn(e,"name",{value:t,configurable:!0}),"a$a");const B=gn(e=>e===void 0?[]:Array.isArray(e)?e:[e],"arrayify");var hn=Object.defineProperty,yn=m((e,t)=>hn(e,"name",{value:t,configurable:!0}),"a$9");const st=yn((e="")=>{const t=e.split("/");return t[0].startsWith("@")?t[0]+"/"+t[1]:t[0]},"getPackageName");var vn=Object.defineProperty,at=m((e,t)=>vn(e,"name",{value:t,configurable:!0}),"s$a");const bn=at((e,t,o)=>{const n=o??new Map;return(...r)=>{const i=t?typeof t=="function"?t(...r):t:JSON.stringify({args:r}),s=n.get(i);if(s!==void 0)return s;const a=e(...r);return n.set(i,a),a}},"memoize"),$n=at(e=>{const t=new Map;return o=>bn(e,o,t)},"memoizeByKey");var wn=Object.defineProperty,jn=m((e,t)=>wn(e,"name",{value:t,configurable:!0}),"m$8");const lt=jn(({addDefaultProperty:e=!1,logger:t,type:o})=>({name:"packem:cjs-interop",renderChunk(n,r,i){if(r.type!=="chunk"||!r.isEntry)return null;if(i.format==="cjs"&&i.exports==="auto"){const s=/(exports(?:\['default'\]|\.default)) = (.*);/i.exec(n);if(s===null||s.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(`
16
- module.exports.default = `+s[2]+";");let c=a.toString();return c=c.replace(/(?:module\.)?exports(?:\['default'\]|\.default)/i,"module.exports"),t.debug({message:"Applied CommonJS interop to entry chunk "+r.fileName+".",prefix:"plugin:cjs-interop"}),{code:c,map:a.generateMap({hires:!0})}}if(i.format==="es"&&/\.d\.(?:ts|cts)$/.test(r.fileName)){if(o!=="commonjs"&&r.fileName.endsWith(".d.ts"))return null;const s=/export\s\{\s(.*)\s\}/i.exec(n);if(s===null||s.length<2)return null;const a=s[1].split(", "),c=[];let l="";for(const p of a)if(!p.includes("type"))if(p.includes("as")){const[u,f]=p.split(" as ");if(f==="default"&&(l=u,!e))continue;c.push(f+": typeof "+u+";")}else c.push(p+": typeof "+p+";");const d=new P(n);return d.replace(" "+l+" as default,",""),d.append(`
17
-
18
- declare const defaultExport: {
19
- `+(c.length>0?" ":"")+c.join(`
20
- `)+`
21
- }`+(l?" & typeof "+l:"")+`;
22
-
23
- export default defaultExport;`),t.debug({message:"Applied CommonJS interop to entry chunk "+r.fileName+".",prefix:"plugin:cjs-interop"}),{code:d.toString(),map:d.generateMap({hires:!0})}}return null}}),"cjsInterop");var kn=Object.defineProperty,xn=m((e,t)=>kn(e,"name",{value:t,configurable:!0}),"u$9");const En=xn((e,t)=>{const o=new Map,n={copyOnce:!0,exactFileNames:!0,flatten:!1,...e};let{targets:r}=n;return Array.isArray(r)?r=r.map(i=>{if(typeof i=="string")return{src:i};if(typeof i=="object"&&"src"in i)return i}).filter(Boolean):typeof r=="string"&&(r=[{src:r}]),{async buildStart(){const i=await Promise.all(r.flatMap(s=>Array.isArray(s.src)?s.src.map(a=>({...s,src:a})):s).map(async s=>await mo(B(s.src),{ignore:B(s.exclude).filter(Boolean)}).then(a=>({dest:s.dest??"",parent:uo(s.src),src:a}))));for(const s of i)for(const a of s.src){let c;o.has(a)?c=o.get(a):(c={copied:[],dest:[],timestamp:0},o.set(a,c));const l=n.flatten?ue(s.dest):h(s.dest,S(s.parent,me(a)));c.dest.includes(l)||c.dest.push(l),this.addWatchFile(a)}t.info({message:"Copying files...",prefix:"plugin:copy"}),await Promise.all([...o].map(async([s,a])=>{let c;try{const l=await Ve(s);if(!l.isFile())return;const d=l.mtime.getTime();d>a.timestamp&&(a.timestamp=d,a.copied=[]),c=await pe(s,{buffer:!0})}catch(l){t.error({context:[l],message:`error reading file ${s}`,prefix:"plugin:copy"});return}for(const l of a.dest){if(n.copyOnce&&a.copied.includes(l))continue;const d=Z(s),p=h(l,d);try{this.emitFile({[n.exactFileNames?"fileName":"name"]:p,source:c,type:"asset"}),t.debug({message:`copied ${s} → ${p}`,prefix:"plugin:copy"}),a.copied.push(l)}catch(u){t.error({context:[u],message:`error copying file ${s} → ${p}`,prefix:"plugin:copy"})}}}))},name:"packem:copy"}},"copyPlugin");var On=Object.defineProperty,te=m((e,t)=>On(e,"name",{value:t,configurable:!0}),"t$4");const Sn=/\Wrequire(?:\.resolve)?\(/,Dn=te((e,t)=>{if(K.INTERNAL_PACKEM_BUILD!=="1"&&(e.includes("// -- packem CommonJS __filename shim")||e.includes("// -- packem CommonJS __dirname shim")||e.includes("// -- packem CommonJS require shim")))return null;let o=!1,n=!1,r=!1;if(e.includes("__filename")&&(o=!0),e.includes("__dirname")&&(n=!0),Sn.test(e)&&(r=!0),!o&&!n&&!r)return null;const i=Xe(e).pop(),s=i?i.end:0,a=new P(e);return a.appendRight(s,t(o,n,r)),{code:a.toString(),map:a.generateMap()}},"CJSToESM"),Nn=te((e,t,o)=>{let n="";return(e||t)&&(n+=`import __cjs_url__ from "node:url"; // -- packem CommonJS __filename shim --
24
- `),t&&(n+=`import __cjs_path__ from "node:path"; // -- packem CommonJS __dirname shim --
25
- `),o&&(n+=`import __cjs_mod__ from "node:module"; // -- packem CommonJS require shim --
26
- `),(e||t)&&(n+=`const __filename = __cjs_url__.fileURLToPath(import.meta.url);
27
- `),t&&(n+=`const __dirname = __cjs_path__.dirname(__filename);
28
- `),o&&(n+=`const require = __cjs_mod__.createRequire(import.meta.url);
29
- `),n},"generateCJSShim"),_n=te((e,t,o)=>{let n="";return o&&(n+=`import __cjs_mod__ from "node:module"; // -- packem CommonJS require shim --
30
- `),e&&(n+=`const __filename = import.meta.filename; // -- packem CommonJS __filename shim --
31
- `),t&&(n+=`const __dirname = import.meta.dirname; // -- packem CommonJS __dirname shim --
32
- `),o&&(n+=`const require = __cjs_mod__.createRequire(import.meta.url);
33
- `),n},"generateCJSShimNode20_11"),Pn=te((e,t)=>{const o=L(t.include,t.exclude);return{name:"packem:esm-shim-cjs-syntax",renderChunk(n,r,i){if(i.format==="es"&&o(r.fileName)){let s=Nn;if(e.engines?.node){const a=tt(e.engines.node);a&&a.major>=20&&a.minor>=11&&(s=_n)}return Dn(n,s)}return null}}},"esmShimCjsSyntaxPlugin");var Cn=Object.defineProperty,Mn=m((e,t)=>Cn(e,"name",{value:t,configurable:!0}),"n$4");const In=Mn(()=>({name:"packem:cjs",renderChunk(e,t,o){return o.format==="es"||o.format==="cjs"?{code:e.replaceAll(/(import\(.*)(.ts)(['´"`]\))/g,"$1."+(o.format==="es"?"mjs":"cjs")+"$3"),map:null}:null}}),"fixDynamicImportExtension");var Rn=Object.defineProperty,Ce=m((e,t)=>Rn(e,"name",{value:t,configurable:!0}),"c$8");const Tn=Ce(e=>(t,o={})=>{const n=L(o.include,o.exclude),r={},i=Ce((s,a)=>{r[s.replace(/\..?[jt]s$/,"")]=a},"addOutput");return{generateBundle(s,a){let{entryFileNames:c}=s;typeof c=="function"&&(c=c(a));const l=c.replace(/\.(.)?[jt]s$/,(d,p)=>`.d.${p||""}ts`);for(const[d,p]of Object.entries(r))this.emitFile({fileName:l.replace("[name]",S(e,d)),source:p,type:"asset"})},name:"packem:isolated-declarations",async transform(s,a){if(!n(a))return;const c=await t(a,s),{errors:l,sourceText:d}=c;l.length>0?o.ignoreErrors?this.warn(l[0]):this.error(l[0]):i(a,d)}}},"isolatedDeclarationsPlugin");var Fn=Object.defineProperty,An=m((e,t)=>Fn(e,"name",{value:t,configurable:!0}),"n$3");const Me="export default ",ct=An(e=>{const t=go(e);return{...t,name:"packem:json",transform(o,n){const r=t.transform?.call(this,o,n);return r&&typeof r!="string"&&"code"in r&&r.code?.startsWith(Me)&&(r.code=r.code.replace(Me,"module.exports = ")),r}}},"JSONPlugin");class Jn{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,o,n,r){t&&o&&(n!=null?t[o][n]=r:t[o]=r)}remove(t,o,n){t&&o&&(n!=null?t[o].splice(n,1):delete t[o])}}class Bn extends Jn{static{m(this,"SyncWalker")}constructor(t,o){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=o}visit(t,o,n,r){if(t){if(this.enter){const s=this.should_skip,a=this.should_remove,c=this.replacement;this.should_skip=!1,this.should_remove=!1,this.replacement=null,this.enter.call(this.context,t,o,n,r),this.replacement&&(t=this.replacement,this.replace(o,n,r,t)),this.should_remove&&this.remove(o,n,r);const l=this.should_skip,d=this.should_remove;if(this.should_skip=s,this.should_remove=a,this.replacement=c,l)return t;if(d)return null}let i;for(i in t){const s=t[i];if(s&&typeof s=="object")if(Array.isArray(s)){const a=s;for(let c=0;c<a.length;c+=1){const l=a[c];Ie(l)&&(this.visit(l,t,i,c)||c--)}}else Ie(s)&&this.visit(s,t,i,null)}if(this.leave){const s=this.replacement,a=this.should_remove;this.replacement=null,this.should_remove=!1,this.leave.call(this.context,t,o,n,r),this.replacement&&(t=this.replacement,this.replace(o,n,r,t)),this.should_remove&&this.remove(o,n,r);const c=this.should_remove;if(this.replacement=s,this.should_remove=a,c)return null}}return t}}function Ie(e){return e!==null&&typeof e=="object"&&"type"in e&&typeof e.type=="string"}m(Ie,"isNode");function pt(e,{enter:t,leave:o}){return new Bn(t,o).visit(e,null)}m(pt,"walk");var Wn=Object.defineProperty,Ln=m((e,t)=>Wn(e,"name",{value:t,configurable:!0}),"u$8");const zn=Ln(({attributes:e,logger:t})=>{const o=L([/\.[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,r){if(!o(r))return null;let i=null;try{i=this.parse(n,{allowReturnOutsideFunction:!0})}catch(c){return this.warn({code:"PARSE_ERROR",message:`[packem:jsx-remove-attributes]: failed to parse "${r}" and remove the jsx attribute.`}),t.warn(c),null}let s=!1;const a=new P(n);return pt(i,{enter(c){if(c.type==="CallExpression"&&c.callee.type==="Identifier"&&c.callee.name==="jsx"){const l=c.arguments.filter(d=>d.type==="ObjectExpression"&&Array.isArray(d.properties));for(const d of l)for(const p of d.properties)p.type==="Property"&&p.key.type==="Literal"&&p.value.type==="Literal"&&e.includes(p.key.value)&&(a.overwrite(p.start-2,p.end,""),s=!0)}}}),s?{code:a.toString(),map:a.generateMap({hires:!0})}:null}}},"jsxRemoveAttributes");var Un=Object.defineProperty,be=m((e,t)=>Un(e,"name",{value:t,configurable:!0}),"g$3");const Vn=be(e=>{const t=[],o=[];return e.forEach(n=>{n.startsWith("(")?t.push(n):o.push(n)}),[...o.sort(),...t.sort()]},"sortLicenses"),Hn=be((e,t,o)=>{const n=new RegExp(`(<!-- ${t} -->)[\\s\\S]*?(<!-- ${t} -->)`,"g");if(n.test(e))return e.replace(n,`$1
34
- ${o}
35
- $2`)},"replaceContentWithin"),ut=be(({dtsMarker:e,licenseFilePath:t,licenseTemplate:o,logger:n,marker:r,mode:i,packageName:s})=>ho({thirdParty(a){const c=new Set,l=a.sort(({name:p},{name:u})=>(p||0)>(u||0)?1:(u||0)>(p||0)?-1:0).map(({author:p,contributors:u,license:f,licenseText:b,maintainers:D,name:z,repository:k})=>{let v="## "+z+`
36
- `;f&&(v+=`License: ${f}
37
- `);const C=new Set;for(const O of[p,...D,...u]){const je=typeof O=="string"?O:O?.name;je&&C.add(je)}return C.size>0&&(v+=`By: ${[...C].join(", ")}
38
- `),k&&(v+=`Repository: ${typeof k=="string"?k:k.url}
39
- `),b&&(v+=`
40
- `+b.trim().replaceAll(/\r\n|\r/g,`
41
- `).replaceAll(`<!-- ${r} -->`,"").replaceAll(e?`<!-- ${e} -->`:"","").trim().split(`
42
- `).map(O=>O?`> ${O}`:">").join(`
43
- `)+`
44
- `),f&&c.add(f),v}).join(`
45
- ---------------------------------------
46
-
47
- `);if(l===""){n.info({message:"No dependencies license information found.",prefix:"plugin:license:"+i});return}const d=o(Vn(c),l,s);try{const p=He(t),u=Hn(p,r,d);if(!u){n.error({message:`Could not find the license marker: <!-- ${r} --> in ${t}`,prefix:"plugin:license:"+i});return}p!==u&&(Y(t,u),n.info({message:`${t} updated.`,prefix:"plugin:license:"+i}))}catch(p){n.error(p)}}}),"license");var qn=Object.defineProperty,Gn=m((e,t)=>qn(e,"name",{value:t,configurable:!0}),"i$7");const Kn=Gn(e=>({async buildEnd(){const t=[];for(const n of this.getModuleIds()){const r=this.getModuleInfo(n);if(r!=null&&!r.isExternal)for(const i of r.importedIds)t.push({source:n,target:i})}if(Array.isArray(t)&&t.length===0)return;const o=g(e.rootDir,e.outDir,"graph.json");Vt(o,t)},name:"packem:metafile"}),"metafilePlugin");var Yn=Object.defineProperty,Xn=m((e,t)=>Yn(e,"name",{value:t,configurable:!0}),"r$5");const I=Xn(e=>{const t=yo("md5");return t.update(e),t.digest("hex")},"getHash");var Zn=Object.defineProperty,dt=m((e,t)=>Zn(e,"name",{value:t,configurable:!0}),"m$5");const J=dt(e=>e.handler||e,"getHandler"),x=dt((e,t)=>({...e,async buildEnd(o){e.buildEnd&&await J(e.buildEnd).call(this,o)},async buildStart(o){e.buildStart&&await J(e.buildStart).call(this,o)},async load(o){if(!e.load)return null;const n=h("load",I(o));if(t.has(n,e.name))return await t.get(n,e.name);const r=await J(e.load).call(this,o);return t.set(n,r,e.name),r},name:`cached(${e.name})`,async resolveId(o,n,r){if(!e.resolveId)return null;const i=h("resolveId",I(o),n?I(n):"",I(JSON.stringify(r)));if(t.has(i,e.name))return await t.get(i,e.name);const s=await J(e.resolveId).call(this,o,n,r);return t.set(i,s,e.name),s},async transform(o,n){if(!e.transform)return null;const r=h("transform",I(n),I(o));if(t.has(r,e.name))return await t.get(r,e.name);const i=await J(e.transform).call(this,o,n);return t.set(r,i,e.name),i}}),"cachingPlugin");var Qn=Object.defineProperty,er=m((e,t)=>Qn(e,"name",{value:t,configurable:!0}),"c$6");const tr=/\.(?:m|c)?(?:j|t)sx?$/,or=/^use \w+$/,nr=er(e=>{const t={},o={};return{name:"packem:preserve-directives",onLog(n,r){return r.code==="MODULE_LEVEL_DIRECTIVE"&&n==="warn"?!1:null},renderChunk:{handler(n,r,{sourcemap:i}){const s=r.moduleIds.map(l=>t[l]?t[l]:null).reduce((l,d)=>(d&&d.forEach(p=>{l.add(p)}),l),new Set),a=new P(n);s.size>0&&(e.debug({message:`directives for chunk "${r.fileName}" are preserved.`,prefix:"plugin:preserve-directives"}),a.prepend(`${[...s].map(l=>`'${l}';`).join(`
48
- `)}
49
- `));let c=null;return r.facadeModuleId&&typeof o[r.facadeModuleId]=="string"&&(c=o[r.facadeModuleId]),c&&(e.debug({message:`shebang for chunk "${r.fileName}" is preserved.`,prefix:"plugin:preserve-directives"}),a.prepend(`${c}
50
- `)),s.size===0&&c===null?null:{code:a.toString(),map:i?a.generateMap({hires:!0}):null}},order:"post"},transform:{handler(n,r){const i=de(r);if(!tr.test(i))return null;let s=!1;const a=new P(n);if(n.startsWith("#")&&n[1]==="!"){let l=0;for(let d=2,p=n.length;d<p;d++){const u=n.codePointAt(d);if(u===10||u===13||u===8232||u===8233){l=d;break}}l&&(o[r]=n.slice(0,l),a.remove(0,l+1),s=!0,e.debug({message:`shebang for module "${r}" is preserved.`,prefix:"plugin:preserve-directives"}))}let c=null;try{c=this.parse(a.toString(),{allowReturnOutsideFunction:!0})}catch(l){return this.warn({code:"PARSE_ERROR",message:`[packem:preserve-directives]: failed to parse "${r}" and extract the directives.`}),e.warn(l),null}if(c.type!=="Program")return null;for(const l of c.body.filter(Boolean)){if(l.type!=="ExpressionStatement")break;let d=null;"directive"in l?d=l.directive:l.expression.type==="Literal"&&typeof l.expression.value=="string"&&or.test(l.expression.value)&&(d=l.expression.value),d!=="use strict"&&d&&(t[r]||=new Set,t[r].add(d),"start"in l&&typeof l.start=="number"&&"end"in l&&typeof l.end=="number"&&(a.remove(l.start,l.end),s=!0),e.debug({message:`directive "${d}" for module "${r}" is preserved.`,prefix:"plugin:preserve-directives"}))}return s?{code:a.toString(),map:a.generateMap({hires:!0}),meta:{preserveDirectives:{directives:[...t[r]??[]],shebang:o[r]??null}}}:null},order:"post"}}},"preserveDirectives");var rr=Object.defineProperty,ir=m((e,t)=>rr(e,"name",{value:t,configurable:!0}),"t$2");const sr=ir(e=>{const t=L(e.include,e.exclude);return{name:"packem:raw",transform(o,n){return t(n)?{code:`export default ${JSON.stringify(o)}`,map:null}:null}}},"rawPlugin");var ar=Object.defineProperty,lr=m((e,t)=>ar(e,"name",{value:t,configurable:!0}),"l$4");const re="\0__file_url__",mt=lr(()=>({async load(e){if(e.startsWith(re)){const t=oo(e.slice(re.length));return await pe(t)}},name:"packem:resolve-file-url",resolveId(e){if(e.startsWith("file://"))return`${re}${e}`}}),"resolveFileUrl");var cr=Object.defineProperty,F=m((e,t)=>cr(e,"name",{value:t,configurable:!0}),"r$4");const pr=/\/\*[^*]*\*+(?:[^/*][^*]*\*+)*\//g,ur=/MIT License|MIT license|BSD license/,dr=/\n{2,}/g,mr=/\b(\w+)\$\d+\b/g,fr=/[-/\\^$*+?.()|[\]{}]/g,gr=F(e=>e.replaceAll(fr,"\\$&"),"escapeRegex"),hr=F(e=>[...new Set(e)],"unique"),yr=F(e=>e.replaceAll(pr,t=>ur.test(t)?"":t).replaceAll(dr,`
51
-
52
- `),"cleanUnnecessaryComments"),Re=new Map;function ft(e,t,{identifierReplacements:o},n){const r=Xe(e);for(const s in o){const a=r.find(l=>l.specifier===s&&l.imports.includes("{"));if(!a){this.warn(`${t.fileName} does not import "${s}" for replacement`),process.exitCode=1;continue}const c=o[s];for(const l in c){if(!a.imports.includes(l))throw new Error(`${t.fileName} does not import "${l}" from "${s}" for replacement`);const d=c[l],p=gr(l);d.includes(".")&&(e=e.replace(new RegExp(`\\b\\w+\\b as ${p},?\\s?`),"")),e=e.replaceAll(new RegExp(`\\b${p}\\b`,"g"),d)}}const i=hr(Array.from(e.matchAll(mr),s=>s[0]));if(i.length>0){const s=i.map(c=>`
53
- - ${c}`).join(""),a=t.fileName.replace(/\.[^/.]+$/,"");Re.has(a)||n.warn({message:`${t.fileName} contains confusing identifier names${s}
54
-
55
- To replace these, add them to the "rollup -> patchTypes -> identifierReplacements" option in your packem config.`,prefix:"plugin:patch-types"}),Re.set(a,!0)}return e}m(ft,"I$1");F(ft,"replaceConfusingTypeNames");function gt(e,t){if(t.leadingComments?.some(o=>o.type==="CommentBlock"&&o.value.includes("@internal"))){const o=e.original[t.end]===","?t.end+1:t.end;return e.remove(t.leadingComments[0].start,o),!0}return!1}m(gt,"N");F(gt,"removeInternal");function ht(e,t){if(e.includes("@internal")){const o=new P(e),n=vo(e,{plugins:["typescript"],sourceType:"module"});if(pt(n,{enter(r){gt(o,r)&&this.skip()}}),e=o.toString(),e.includes("@internal"))throw new Error(`${t.fileName} has unhandled @internal declarations`)}return e}m(ht,"S");F(ht,"stripInternalTypes");const vr=F((e,t)=>({name:"packem:patch-types",renderChunk(o,n){return o=ft.call(this,o,n,e,t),o=ht.call(this,o,n),o=yr(o),o},resolveId(o){return o.startsWith("types/")?{external:!0,id:"../../"+(o.endsWith(".js")?o:o+".js")}:null}}),"patchTypescriptTypes");var br=Object.defineProperty,yt=m((e,t)=>br(e,"name",{value:t,configurable:!0}),"u$6");const vt=yt((e,t=!0)=>{if(!e)return null;const{config:o,path:n}=e;if(!o.compilerOptions)return null;const{baseUrl:r,paths:i}=o.compilerOptions;if(!r)return null;const s=g(me(n),r),a=[];if(i)for(const[c,l]of Object.entries(i)){const d=new RegExp(`^${[...c].map(u=>u==="*"?"(.+)":u.replace(/[\\^$*+?.()|[\]{}]/,"\\$&")).join("")}$`);let p=0;for(const u of l){const f=[...Oe(g(s,u))].map(b=>b==="*"?"$"+(++p+""):b==="$"?"$$":b).join("");a.push({find:d,replacement:f})}}return t&&a.push({find:/^(?!\.*\/|\.*$|\w:)(.+)$/,replacement:`${[...Oe(s)].map(c=>c==="$"?"$$":c).join("")}/$1`}),a},"getConfigAlias"),bt=yt((e,t)=>{const o=vt(e);return{name:"packem:resolve-tsconfig-paths",async resolveId(n,r,i){if(!o||n.includes("\0"))return null;for(const{find:s,replacement:a}of o)if(s.test(n)){const c=n.replace(s,a),l=await this.resolve(c,r,{skipSelf:!0,...i});if(l)return t.debug({message:`Resolved ${n} to ${l.id} using paths from tsconfig.json.`,prefix:"plugin:resolve-tsconfig-paths"}),l.id}return null}}},"resolveTsconfigPaths");var $r=Object.defineProperty,$t=m((e,t)=>$r(e,"name",{value:t,configurable:!0}),"u$5");const wr=$t((e,t)=>{if(!t)return null;const{config:o,path:n}=t;if(!o.compilerOptions)return null;const{rootDirs:r}=o.compilerOptions;if(!r)return null;const i=[];for(const s of r){if(s.startsWith("."))throw new Error(`Invalid rootDir value '.' in ${n}.`);if(s.startsWith(".."))throw new Error(`Invalid rootDir value '..' in ${n}.`);i.push(g(e,s))}return i},"getRootDirectories"),wt=$t((e,t,o)=>{const n=wr(e,o);return{name:"packem:resolve-tsconfig-root-dirs",async resolveId(r,i,s){if(n===null||n.length===0)return null;if(r.startsWith("."))for(const a of n){const c=h(a,r),l=await this.resolve(c,i,{skipSelf:!0,...s});if(l)return t.debug({message:`Resolved ${r} to ${l.id} using rootDirs from tsconfig.json.`,prefix:"plugin:resolve-tsconfig-root-dirs"}),l.id}return null}}},"resolveTsconfigRootDirectories");var jr=Object.defineProperty,kr=m((e,t)=>jr(e,"name",{value:t,configurable:!0}),"r$3");const jt=kr(()=>{const e=/\.(?:[mc]?js|jsx)$/;return{name:"packem:resolve-typescript-mjs-cjs",async resolveId(t,o,n){return e.test(t)&&o?await this.resolve(t.replace(/js(x?)$/,"ts$1"),o,n):null}}},"resolveTypescriptMjsCts");var xr=Object.defineProperty,Er=m((e,t)=>xr(e,"name",{value:t,configurable:!0}),"s$7");const Or=Er(e=>{const t=Z(e).split(".");if(t.length>=2){const[o,n]=t.slice(-2),r=t[0],i=/^(\w+)-runtime$/.exec(o)?.[1];if(A.includes(n)&&i&&i.length>0)return r+"-"+i}},"getCustomModuleLayer");var Sr=Object.defineProperty,Dr=m((e,t)=>Sr(e,"name",{value:t,configurable:!0}),"i$3");const ie=Dr(e=>(e.preserveDirectives||{directives:[]}).directives.map(t=>t.replace(/^use /,"")).find(t=>t!=="strict"),"getModuleLayer");var Nr=Object.defineProperty,Te=m((e,t)=>Nr(e,"name",{value:t,configurable:!0}),"c$4");const Fe=Te((e,t)=>{const o=new Map;return Te(function(n,r){const i=r.getModuleInfo(n);if(!i)return;const{isEntry:s}=i,a=i.meta,c=ie(a);if(!s){const l=o.get(n);if(l)return l;const d=Or(n);if(d)return o.set(n,d),d}if(s){const l=r.getModuleIds();for(const d of l)r.getModuleInfo(d)&&ie(a)===c&&(e.has(d)||e.set(d,new Set),e.get(d).add([n,c]))}if(c&&!s&&e.has(n)){const l=[...e.get(n)];if(l.some(([p])=>{if(t.some(u=>u.path===p)){const u=r.getModuleInfo(p);return ie(u?u.meta:{})===c}return!1}))return;if(l.every(([,p])=>p===c))return o.has(n)?o.get(n):void 0;const d=Z(n,de(n))+"-"+c;return o.set(n,d),d}},"splitChunks")},"createSplitChunks");var _r=Object.defineProperty,Pr=m((e,t)=>_r(e,"name",{value:t,configurable:!0}),"n$1");const _=Pr((e,t,o)=>t.isDynamicEntry?`chunks/[name].${o}`:`shared/${e.options.name}.[hash].${o}`,"getChunkFilename");var Cr=Object.defineProperty,Mr=m((e,t)=>Cr(e,"name",{value:t,configurable:!0}),"s$5");const Ir=process.platform==="win32",Ae=Mr((e,t)=>{const o=Ir?"\\":"/";return e.name?.includes("node_modules"+o+".pnpm")?(e.name.replace("node_modules"+o+".pnpm","external")+"."+t).replace("node_modules"+o,""):e.name?.includes("node_modules")?e.name.replace("node_modules","external")+"."+t:"[name]."+t},"getEntryFileNames");var Rr=Object.defineProperty,w=m((e,t)=>Rr(e,"name",{value:t,configurable:!0}),"p$2");const Tr=w((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 o="node"+Rt.node.split(".")[0];if(t.pkg.engines?.node){const n=tt(t.pkg.engines.node);n&&(o="node"+n.major)}if(t.options.rollup.esbuild.target){const n=B(t.options.rollup.esbuild.target);n.some(r=>r.startsWith("node"))||(t.options.rollup.esbuild.target=[...new Set([...B(o),...n])])}else t.options.rollup.esbuild.target=B(o);return t.tsconfig?.config.compilerOptions?.target==="es5"&&(t.options.rollup.esbuild.keepNames=!1,t.logger.debug("Disabling keepNames because target is set to es5")),{logger:t.logger,minify:t.options.minify,minifyWhitespace:t.options.minify,sourceMap:t.options.sourcemap,...t.options.rollup.esbuild}}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"),kt=w((e,t)=>{if(e.code==="CIRCULAR_DEPENDENCY"&&/Circular dependency:[\s\S]*node_modules/.test(e.message))return!0;if(e.code==="UNRESOLVED_IMPORT")throw new Error(`Failed to resolve the module "${e.exporter}" imported by "${y(S(g(),e.id))}"
56
- Is the module installed? Note:
57
- ↳ to inline a module into your bundle, install it to "devDependencies".
58
- ↳ to depend on a module via import/require, install it to "dependencies".`);return e.code==="MODULE_LEVEL_DIRECTIVE"?!0:e.code==="MIXED_EXPORTS"&&t.options.cjsInterop===!0},"sharedOnWarn"),Je=new Map,xt=w((e,t,o)=>{const n=w(i=>{for(const[s,a]of Object.entries(t))if(i.startsWith(s))return i.replace(s,a)},"findAlias"),r=vt(e.tsconfig,!1);return{external(i){const s=n(i);s&&(i=s);const a=st(i);if(ce(e.options.externals,a)||ce(e.options.externals,i))return!0;const{pkg:c}=e;if(i.startsWith(".")||Ke(i)||/src[/\\]/.test(i)||c.name&&i.startsWith(c.name)||c?.imports?.[i]!==void 0)return!1;if(r){for(const{find:l}of r)if(l.test(i))return e.logger.debug({message:`Resolved alias ${i} to ${l.source}`,prefix:o}),!1}return Je.has(i)||e.logger.info({message:'Inlined implicit external "'+y(i)+'". If this is incorrect, add it to the "externals" option.',prefix:o}),Je.set(i,!0),!1},input:Object.fromEntries(e.options.entries.map(i=>[i.name,g(e.options.rootDir,i.input)])),logLevel:e.options.debug?"debug":"info",onLog:w((i,s)=>{let a=s.message;switch(s.stack&&(a=`${a}
59
- ${s.stack}`),i){case"info":{e.logger.info({message:a,prefix:o+(s.plugin?":plugin:"+s.plugin:"")});return}case"warn":{e.logger.warn({message:a,prefix:o+(s.plugin?":plugin:"+s.plugin:"")});return}case"debug":e.logger.debug({message:a,prefix:o+(s.plugin?":plugin:"+s.plugin:"")})}},"onLog"),onwarn(i,s){kt(i,e)||i.code||s(i)},watch:e.mode==="watch"?e.options.rollup.watch:!1}},"baseRollupOptions"),Et=w(async(e,t)=>{const o=he(e,"build");let n;return e.options.rollup.resolve&&(n=x(Ue({extensions:A,...e.options.rollup.resolve}),t)),{...xt(e,o,"dependencies"),output:[e.options.emitCJS&&{chunkFileNames:w(r=>_(e,r,"cjs"),"chunkFileNames"),dir:g(e.options.rootDir,e.options.outDir),entryFileNames:w(r=>Ae(r,"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,validate:!0,...e.options.rollup.output,...e.options.rollup.output?.preserveModules?{preserveModules:!0,preserveModulesRoot:e.options.rollup.output.preserveModulesRoot??"src"}:{manualChunks:Fe(e.dependencyGraphMap,e.buildEntries),preserveModules:!1}},e.options.emitESM&&{chunkFileNames:w(r=>_(e,r,"mjs"),"chunkFileNames"),dir:g(e.options.rootDir,e.options.outDir),entryFileNames:w(r=>Ae(r,"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,validate:!0,...e.options.rollup.output,...e.options.rollup.output?.preserveModules?{preserveModules:!0,preserveModulesRoot:e.options.rollup.output.preserveModulesRoot??"src"}:{manualChunks:Fe(e.dependencyGraphMap,e.buildEntries),preserveModules:!1}}].filter(Boolean),plugins:[x(mt(),t),x(jt(),t),e.tsconfig&&x(wt(e.options.rootDir,e.logger,e.tsconfig),t),e.tsconfig&&x(bt(e.tsconfig,e.logger),t),e.options.rollup.replace&&et({sourcemap:e.options.sourcemap,...e.options.rollup.replace,values:{...e.options.replace,...e.options.rollup.replace.values}}),e.options.rollup.alias&&Qe({customResolver:n,...e.options.rollup.alias,entries:o}),n,e.options.rollup.polyfillNode&&co({sourceMap:e.options.sourcemap,...e.options.rollup.polyfillNode}),e.options.rollup.json&&ct({...e.options.rollup.json}),nr(e.logger),Co(e.options.entries.filter(r=>r.executable).map(r=>r.name).filter(Boolean)),e.options.rollup.wsam&&lo(e.options.rollup.wsam),e.options.declaration&&e.options.rollup.isolatedDeclarations&&e.options.isolatedDeclarationTransformer&&Tn(h(e.options.rootDir,e.options.sourceDir))(e.options.isolatedDeclarationTransformer,e.options.rollup.isolatedDeclarations),e.options.transformer?.(Tr(e.options.transformerName,e)),e.options.cjsInterop&&e.options.emitCJS&&lt({...e.options.rollup.cjsInterop,logger:e.logger,type:e.pkg.type??"commonjs"}),e.options.rollup.dynamicVars&&In(),e.options.rollup.dynamicVars&&ao(e.options.rollup.dynamicVars),e.options.rollup.commonjs&&x(so({extensions:A,sourceMap:e.options.sourcemap,...e.options.rollup.commonjs}),t),e.options.rollup.preserveDynamicImports&&{renderDynamicImport(){return{left:"import(",right:")"}}},e.options.rollup.shim&&Pn(e.pkg,e.options.rollup.shim),e.options.rollup.raw&&sr(e.options.rollup.raw),e.options.rollup.jsxRemoveAttributes&&zn({attributes:e.options.rollup.jsxRemoveAttributes.attributes,logger:e.logger}),e.options.rollup.metafile&&Kn({outDir:g(e.options.rootDir,e.options.outDir),rootDir:e.options.rootDir}),e.options.rollup.copy&&En(e.options.rollup.copy,e.logger),e.options.rollup.license&&e.options.rollup.license.path&&typeof e.options.rollup.license.dependenciesTemplate=="function"&&ut({dtsMarker:e.options.rollup.license.dtsMarker??"TYPE_DEPENDENCIES",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&&po({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"),Fr=w(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"),Ar=$n(Fr),Ot=w(async(e,t)=>{const o=he(e,"types"),n={load(a){return/\.(?:js|cjs|mjs|jsx|ts|tsx|mts|json)$/.test(a)?null:""},name:"packem:ignore-files"},r=e.tsconfig?.config.compilerOptions;delete r?.lib;let i;e.options.rollup.resolve&&(i=x(Ue({extensions:A,...e.options.rollup.resolve}),t));const s="dts-plugin:"+process.pid+e.tsconfig.path;return{...xt(e,o,"dts"),onwarn(a,c){kt(a,e)||a.code!=="EMPTY_BUNDLE"&&c(a)},output:[e.options.emitCJS&&{chunkFileNames:w(a=>_(e,a,"d.cts"),"chunkFileNames"),dir:g(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.cts",format:"cjs",sourcemap:e.options.sourcemap,...e.options.rollup.output},e.options.emitESM&&{chunkFileNames:w(a=>_(e,a,"d.mts"),"chunkFileNames"),dir:g(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:w(a=>_(e,a,"d.ts"),"chunkFileNames"),dir:g(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.ts",format:"cjs",sourcemap:e.options.sourcemap,...e.options.rollup.output}].filter(Boolean),plugins:[x(mt(),t),x(jt(),t),e.options.rollup.json&&ct({...e.options.rollup.json}),n,e.tsconfig&&x(wt(e.options.rootDir,e.logger,e.tsconfig),t),e.tsconfig&&x(bt(e.tsconfig,e.logger),t),e.options.rollup.replace&&et({sourcemap:e.options.sourcemap,...e.options.rollup.replace,values:{...e.options.replace,...e.options.rollup.replace.values}}),e.options.rollup.alias&&Qe({customResolver:i,...e.options.rollup.alias,entries:o}),i,await Ar(s)(e),e.options.cjsInterop&&e.options.emitCJS&&lt({...e.options.rollup.cjsInterop,logger:e.logger,type:e.pkg.type??"commonjs"}),e.options.rollup.patchTypes&&vr(e.options.rollup.patchTypes,e.logger),Mo(),e.options.rollup.license&&e.options.rollup.license.path&&typeof e.options.rollup.license.dtsTemplate=="function"&&ut({licenseFilePath:e.options.rollup.license.path,licenseTemplate:e.options.rollup.license.dtsTemplate,logger:e.logger,marker:e.options.rollup.license.dtsMarker??"TYPE_DEPENDENCIES",mode:"types",packageName:e.pkg.name})].filter(Boolean)}},"getRollupDtsOptions");var Jr=Object.defineProperty,Br=m((e,t)=>Jr(e,"name",{value:t,configurable:!0}),"c$3");const se=Br(async(e,t)=>{const o=await Et(e,t);if(await e.hooks.callHook("rollup:options",e,o),Object.keys(o.input).length===0)return;const n="rollup-build.json";o.cache=t.get(n);const r=await Ye(o);t.set(n,r.cache),await e.hooks.callHook("rollup:build",e,r);const i=new Map;for(const s of o.output){const{output:a}=await r.write(s),c=new Set,l=a.filter(p=>p.type==="chunk");for(const p of l){c.add(p.fileName);for(const u of p.imports)e.usedImports.add(u);p.isEntry&&e.buildEntries.push({bytes:Buffer.byteLength(p.code,"utf8"),chunks:p.imports.filter(u=>l.find(f=>f.fileName===u)),exports:p.exports,modules:Object.entries(p.modules).map(([u,f])=>({bytes:f.renderedLength,id:u})),path:p.fileName,type:"entry"})}const d=a.filter(p=>p.type==="asset");for(const p of d)i.has(p.fileName)||i.set(p.fileName,{bytes:Buffer.byteLength(p.source,"utf8"),path:p.fileName,type:"asset"});for(const p of c)e.usedImports.delete(p)}e.buildEntries.push(...i.values())},"build");var Wr=Object.defineProperty,H=m((e,t)=>Wr(e,"name",{value:t,configurable:!0}),"s$4");const q=H(async(e,t)=>{if(e.options.declaration&&e.options.rollup.isolatedDeclarations&&e.options.isolatedDeclarationTransformer){e.logger.debug({message:"Skipping declaration file generation as isolated declaration transformer is enabled.",prefix:"dts"});return}const o=await Ot(e,t);if(await e.hooks.callHook("rollup:dts:options",e,o),Object.keys(o.input).length===0)return;const n="rollup-dts.json";o.cache=t.get(n);const r=await Ye(o);t.set(n,r.cache),await e.hooks.callHook("rollup:dts:build",e,r),e.logger.info({message:"Building declaration files...",prefix:"dts"}),e.options.emitCJS&&await r.write({chunkFileNames:H(i=>_(e,i,"d.cts"),"chunkFileNames"),dir:g(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.cts"}),e.options.emitESM&&await r.write({chunkFileNames:H(i=>_(e,i,"d.mts"),"chunkFileNames"),dir:g(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.mts"}),(e.options.declaration===!0||e.options.declaration==="compatible")&&await r.write({chunkFileNames:H(i=>_(e,i,"d.mjs"),"chunkFileNames"),dir:g(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.ts"}),await e.hooks.callHook("rollup:dts:done",e)},"buildTypes");var Lr=Object.defineProperty,$e=m((e,t)=>Lr(e,"name",{value:t,configurable:!0}),"i$1");const zr=$e(e=>{const{message:t,name:o="Error",stack:n}=e;if(!n)return n;const r=`${o}: ${t}
60
- `;return n.startsWith(r)?n.slice(r.length):n},"extractStack"),Ur=$e(e=>`
61
- ${e.replaceAll(/^\n|\n$/g,"")}
62
- `,"normalizeCodeFrame"),St=$e(e=>{const t=zr(e);let o=(e.plugin?`[${e.plugin}] `:"")+e.message;e.id&&(o+=`
63
- file: ${y(e.id+(e.loc?":"+e.loc.line+":"+e.loc.column:""))}`),e.frame&&(o+=`
64
- `+Wt(Ur(e.frame))),e.message=o,t!==void 0&&(e.stack=`${e.message}
65
- ${t}`)},"enhanceRollupError");var Vr=Object.defineProperty,Dt=m((e,t)=>Vr(e,"name",{value:t,configurable:!0}),"l$3");const Be=Dt((e,t,o)=>{const n="watcher:"+t;e.on("change",(r,{event:i})=>{o.info({message:`${y(S(".",r))} was ${i}d`,prefix:n})}),e.on("restart",()=>{o.info({message:"Rebuilding "+t+"...",prefix:n})}),e.on("event",async r=>{switch(r.code){case"END":{o.success({message:"Rebuild "+t+" finished",prefix:n});break}case"BUNDLE_START":{o.info({message:y("build started..."),prefix:n});break}case"BUNDLE_END":{await r.result.close(),o.info({message:y(`built in ${r.duration+""}ms.`),prefix:n});break}case"ERROR":{St(r.error),o.error({context:[r.error],message:"Rebuild "+t+" failed: "+r.error.message,prefix:n});break}}})},"watchHandler"),Hr=Dt(async(e,t)=>{const o=await Et(e,t);if(await e.hooks.callHook("rollup:options",e,o),Object.keys(o.input).length===0)return;o.cache=t.get("rollup-watch"),typeof o.watch=="object"&&o.watch.include===void 0&&(o.watch.include=[h(e.options.sourceDir,"**")],o.watch.chokidar={cwd:e.options.rootDir,...o.watch.chokidar});const n=Ee(o);await e.hooks.callHook("rollup:watch",e,n);const r=[...Array.isArray(o.input)?o.input:typeof o.input=="string"?[o.input]:Object.keys(o.input??{})];let i="Starting watchers for entries:";for(const s of r)i+=R(`
66
- └─ ${S(process.cwd(),s)}`);if(e.logger.info(i),Be(n,"bundle",e.logger),e.options.declaration){const s=await Ot(e,t);await e.hooks.callHook("rollup:dts:options",e,s);const a=Ee(s);await e.hooks.callHook("rollup:watch",e,a),Be(a,"types",e.logger)}},"watch");var qr=Object.defineProperty,Gr=m((e,t)=>qr(e,"name",{value:t,configurable:!0}),"a$4");let Kr=class{static{m(this,"p")}static{Gr(this,"FileCache")}#n;#e;#r;#t=!0;#o=new Map;#i;constructor(t,o,n){this.#n=t,this.#e=bo("@visulima/packem",{cwd:t}),this.#r=o,this.#i=n,this.#e===void 0?n.debug("Could not create cache directory."):n.debug(`Cache path is: ${this.#e}`)}set isEnabled(t){this.#t=t}get cachePath(){return this.#e}has(t,o){return!this.#t||this.#e===void 0?!1:$(this.getFilePath(t,o))}get(t,o){if(!this.#t||this.#e===void 0)return;const n=this.getFilePath(t,o);if(this.#o.has(n))return this.#o.get(n);if(!$(n))return;const r=He(n);try{const i=JSON.parse(r);return this.#o.set(n,i),i}catch{this.#i.warn(`Could not parse cache file: ${n}, deleting the broken cache file.`),this.#o.delete(n),io(n,{force:!0});return}}set(t,o,n){if(!this.#t||this.#e===void 0||o===void 0)return;const r=this.getFilePath(t,n);typeof o=="object"&&(o=JSON.stringify(o)),Y(r,o,{overwrite:!0})}getFilePath(t,o){let n=t.replaceAll(xe(this.#n),"");return n=n.replaceAll(":","-"),h(this.#e,this.#r,o?.replaceAll(":","-")??"",xe(n))}};var Yr=Object.defineProperty,G=m((e,t)=>Yr(e,"name",{value:t,configurable:!0}),"l$2");const Xr=L,Zr=G((e,t)=>{const{sideEffects:o}=t;let n;if(typeof o=="boolean")n=G(()=>o,"hasSideEffects");else if(Array.isArray(o))if(o.length<=0)n=G(()=>!1,"hasSideEffects");else{const r=o.map(i=>i.includes("/")?i:`**/${i}`);n=Xr(r,null,{resolve:e})}else n=G(()=>null,"hasSideEffects");return n},"getPackageSideEffect");var Qr=Object.defineProperty,ei=m((e,t)=>Qr(e,"name",{value:t,configurable:!0}),"y");const ti=ei((e,t,o)=>e.reduce((n,r)=>{const i=r[t],s=r[o];return n[i]||(n[i]={}),n[i][s]||(n[i][s]=[]),n[i][s].push(r),n},{}),"groupByKeys");var oi=Object.defineProperty,Nt=m((e,t)=>oi(e,"name",{value:t,configurable:!0}),"r$1");const ni=Nt(e=>e.replace(/\.(?:js|mjs|cjs|ts|mts|cts|json|jsx|tsx)$/,""),"removeExtension"),ri=Nt(async(e,t)=>{e.options.entries=e.options.entries.map(n=>typeof n=="string"?{input:n,isGlob:De(n)}:{...n,isGlob:De(n.input)});const o=[];for(const n of e.options.entries.filter(r=>r.isGlob)){const{isGlob:r,...i}=n,s=fo([i.input],{cwd:e.options.rootDir,dot:!1,ignore:["**/node_modules/**"],onlyFiles:!0});if(s.length===0)throw new Se("No files found in the glob pattern: "+y(h(e.options.rootDir,i.input)));for(const a of s)e.options.entries.push({...i,input:g(e.options.rootDir,a)});e.options.entries.splice(e.options.entries.indexOf(n),1)}for await(const n of e.options.entries){if(typeof n.name!="string"){let r=Ke(n.input)?S(t,n.input):ue(n.input);r.startsWith("./")&&(r=r.slice(2)),n.name=ni(r.replace(new RegExp(`^${e.options.sourceDir}/`),"")),n.fileAlias&&o.push({...n,name:n.name+"."+n.environment})}if(!n.input)throw new Error(`Missing entry input: ${ye(n)}`);if(n.input=g(e.options.rootDir,n.input),e.options.declaration&&n.declaration===void 0&&(n.declaration=e.options.declaration),e.options.emitCJS!==void 0&&n.cjs===void 0&&(n.cjs=e.options.emitCJS),e.options.emitESM!==void 0&&n.esm===void 0&&(n.esm=e.options.emitESM),!$(n.input)){const r=new Set(await Bt(me(n.input)));let i=!1;for(const s of A)if(r.has(Z(n.input)+s)){i=!0;break}if(!i)throw new Se("Your configured entry: "+y(n.input)+" does not exist.")}n.outDir=g(e.options.rootDir,n.outDir??e.options.outDir)}e.options.entries.push(...o)},"prepareEntries");var ii=Object.defineProperty,si=m((e,t)=>ii(e,"name",{value:t,configurable:!0}),"a$3");const ai=/^[^a-z_@#~]|[^\w/@#~-]|@\/|#\/|~\//i,li=new Set(["abstract","await","boolean","break","byte","case","catch","char","class","const","continue","debugger","default","delete","do","double","else","enum","export","extends","false","final","finally","float","for","function","goto","if","implements","import","in","instanceof","int","interface","let","long","native","new","null","package","private","protected","public","return","short","static","super","switch","synchronized","this","throw","throws","transient","true","try","typeof","var","void","volatile","while","with","yield"]),We=si(e=>{if(!Array.isArray(e)&&e!==null)for(const[t,o]of Object.entries(e)){if(typeof t!="string"||t.trim()==="")throw new Error(`Alias name "${t}" is invalid. Alias names should be non-empty strings.`);if(ai.test(t))throw new Error(`Alias name "${t}" is invalid. Alias names should start with a letter or underscore and only contain letters, numbers, underscores, and dashes.`);if(li.has(t))throw new Error(`Alias name "${t}" is a reserved keyword and cannot be used.`);const n=g(o);if(!$(n))throw new Error(`Target path "${n}" for alias "${t}" does not exist.`)}},"validateAliasEntries");var ci=Object.defineProperty,pi=m((e,t)=>ci(e,"name",{value:t,configurable:!0}),"o");const ui=pi(e=>{const t=new Set,o=new Set(Object.keys(e.pkg?.dependencies??{})),n=new Set;for(const r of e.usedImports)o.delete(r),t.add(r);if(e.pkg?.dependencies)for(const r of Object.keys(e.pkg?.dependencies))o.delete(r);for(const r of t){const i=st(r);!ce(e.options.externals,r)&&!r.startsWith("chunks/")&&e.pkg?.dependencies?.[i]===void 0&&e.pkg?.peerDependencies?.[i]===void 0&&n.add(r)}o.size>0&&W(e,`Potential unused dependencies found: ${[...o].map(r=>y(r)).join(", ")}`),n.size>0&&W(e,`Potential implicit dependencies found: ${[...n].map(r=>y(r)).join(", ")}`)},"validateDependencies");var di=Object.defineProperty,_t=m((e,t)=>di(e,"name",{value:t,configurable:!0}),"i");const mi=_t((e,t)=>$o(e,t)<=e.length/3||t.includes(e),"isSimilar"),fi=_t((e,t)=>{const o=e.toLowerCase();return t.filter(n=>mi(n.toLowerCase(),o))},"findAlternatives");var gi=Object.defineProperty,Le=m((e,t)=>gi(e,"name",{value:t,configurable:!0}),"n");const hi=Le((e,t)=>{const o=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:"",...ve(e.exports,e.type==="module"?"esm":"cjs",t.options.declaration).map(r=>r.file)].map(r=>r&&g(t.options.rootDir,r.replace(/\/[^*/]*\*[^\n\r/\u2028\u2029]*(?:[\n\r\u2028\u2029][^*/]*\*[^\n\r/\u2028\u2029]*)*(?:\/.*)?$/,"")))),n=[];for(const r of o)r&&!r.includes("*")&&!fe(r)&&n.push(r.replace(`${t.options.rootDir}/`,""));if(n.length>0){const r=Le(a=>S(t.options.rootDir,g(t.options.outDir,a)),"rPath"),i=t.buildEntries.filter(a=>!a.chunk).map(a=>r(a.path));let s="Potential missing or wrong package.json files:";for(const a of n){const c=fi(a,i);s+=`
67
- - `+y(a)+(c.length>0?Lt` (did you mean ${c.map(l=>`"${l}"`).join(", ")}?)`:"")}W(t,s)}},"validatePackage");var yi=Object.defineProperty,j=m((e,t)=>yi(e,"name",{value:t,configurable:!0}),"h$1");const Pt=j((e,t)=>{if(e.warnings.size>0&&(t&&e.logger.raw(`
68
- `),e.logger.warn(`Build is done with some warnings:
69
-
70
- ${[...e.warnings].map(o=>`- ${o}`).join(`
71
- `)}`),e.options.failOnWarn))throw new Error("Exiting with code (1). You can change this behavior by setting `failOnWarn: false`.")},"logErrors"),vi=j(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"),bi=j((e,t,o,n,r,i,s,a,c,l)=>{const d=vi(l?.config.compilerOptions?.jsx),p=Zt(s,i,a,{alias:{},clean:!0,debug:r,declaration:void 0,emitCJS:void 0,emitESM:void 0,entries:[],externals:[...ke.builtinModules,...ke.builtinModules.map(u=>`node:${u}`)],failOnWarn:!0,fileCache:!0,minify:n===E,name:(c.name??"").split("/").pop()??"default",outDir:"dist",replace:{},rollup:{alias:{},cjsInterop:{addDefaultProperty:!1},commonjs:{ignoreTryCatch:!0,preserveSymlinks:!0,transformMixedEsModules:!1},dts:{compilerOptions:{baseUrl:l?.config.compilerOptions?.baseUrl??".",checkJs:!1,composite:!1,declaration:!0,declarationMap:!1,emitDeclarationOnly:!0,incremental:!1,moduleResolution:100,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:d,jsxDev:l?.config.compilerOptions?.jsx==="react-jsxdev",jsxFactory:l?.config.compilerOptions?.jsxFactory,jsxFragment:l?.config.compilerOptions?.jsxFragmentFactory,jsxImportSource:l?.config.compilerOptions?.jsxImportSource,jsxSideEffects:!0,keepNames:!0,sourcesContent:!1,target:l?.config.compilerOptions?.target,treeShaking:!0,tsconfigRaw:l?.config},isolatedDeclarations:{exclude:ne,ignoreErrors:!1,include:[/\.[cm]?ts$/]},json:{preferConst:!0},license:{dependenciesTemplate:j((u,f,b)=>`
72
- # Licenses of bundled dependencies
73
- The published ${b} artifact additionally contains code with the following licenses:
74
- `+(u.length>0?`${u.join(", ")}
75
-
76
- `:`
77
- `)+`# Bundled dependencies:
78
- `+f,"dependenciesTemplate"),dtsTemplate:j((u,f,b)=>`
79
- # Licenses of bundled types
80
- The published ${b} artifact additionally contains code with the following licenses:
81
- `+(u.length>0?`${u.join(", ")}
82
-
83
- `:`
84
- `)+`# Bundled types:
85
- `+f,"dtsTemplate")},patchTypes:{},polyfillNode:{},preserveDynamicImports:!0,raw:{exclude:ne,include:[/\.(md|txt|css|htm|html|data)$/]},replace:{objectGuards:!0,preventAssignment:!0},resolve:{allowExportsFolderMapping:!1,preferBuiltins:!1},shim:{exclude:[/node_modules/],include:[/\.(js|cjs|mjs|tsx|mts|cts)$/]},sucrase:{disableESTransforms:!0,enableLegacyBabel5ModuleInterop:!1,enableLegacyTypeScriptModuleInterop:l?.config.compilerOptions?.esModuleInterop===!1,include:/\.[jt]sx?$/,injectCreateRequireForImportRequire:!1,preserveDynamicImport:!0,production:n===E,...l?.config.compilerOptions?.jsx&&["react","react-jsx","react-jsxdev"].includes(l.config.compilerOptions.jsx)?{jsxFragmentPragma:l.config.compilerOptions.jsxFragmentFactory,jsxImportSource:l.config.compilerOptions.jsxImportSource,jsxPragma:l.config.compilerOptions.jsxFactory,jsxRuntime:d,transforms:["typescript","jsx",...l.config.compilerOptions.esModuleInterop?["imports"]:[]]}:{transforms:["typescript",...l?.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:l?.config.compilerOptions?.experimentalDecorators,syntax:l?"typescript":"ecmascript",[l?"tsx":"jsx"]:!0},target:l?.config.compilerOptions?.target?.toLowerCase(),transform:{decoratorMetadata:l?.config.compilerOptions?.emitDecoratorMetadata,legacyDecorator:l?.config.compilerOptions?.experimentalDecorators,react:{development:n!==E,pragma:l?.config.compilerOptions?.jsxFactory,pragmaFrag:l?.config.compilerOptions?.jsxFragmentFactory,runtime:d,throwIfNamespace:!0},treatConstEnumAsEnum:l?.config.compilerOptions?.preserveConstEnums,useDefineForClassFields:l?.config.compilerOptions?.useDefineForClassFields}},module:{ignoreDynamic:!0,importInterop:"none",preserveImportMeta:!0,strict:!1,strictMode:!1,type:"es6"},transform:{decoratorVersion:"2022-03"}},treeshake:{moduleSideEffects:Zr(t,c),preset:"recommended"},watch:{chokidar:{ignoreInitial:!0,ignorePermissionErrors:!0},clearScreen:!0,exclude:ne}},rootDir:t,sourceDir:"src",sourcemap:!1,stub:o==="jit",stubOptions:{jiti:{alias:{},esmResolve:!0,interopDefault:!0}},transformerName:void 0});if(!p.transformerName){const u=new Map([...Object.entries(c.dependencies??{}),...Object.entries(c.devDependencies??{})]);let f="0.0.0";if(u.has("esbuild"))p.transformerName="esbuild",f=u.get("esbuild");else if(u.has("@swc/core"))p.transformerName="swc",f=u.get("@swc/core");else if(u.has("sucrase"))p.transformerName="sucrase",f=u.get("sucrase");else throw new Error("Unknown transformer, check your transformer options or install one of the supported transformers: esbuild, swc, sucrase");e.info("Using "+y("rollup ")+eo),e.info({message:"Using "+y(p.transformerName)+" "+f,prefix:"transformer"})}return p.rollup.resolve&&p.rollup.resolve.preferBuiltins===!0&&(p.rollup.polyfillNode=!1,e.debug("Disabling polyfillNode because preferBuiltins is set to true")),p.declaration&&(c.dependencies?.typescript||c.devDependencies?.typescript)&&!l?.config.compilerOptions?.isolatedModules&&e.warn(`'compilerOptions.isolatedModules' is not enabled in tsconfig.
86
- Because none of the third-party transpiler, 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.
87
- 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&&p.externals.push(...Object.keys(c.dependencies)),c.peerDependencies&&p.externals.push(...Object.keys(c.peerDependencies)),c.optionalDependencies&&p.externals.push(...Object.keys(c.optionalDependencies)),We(p.alias),p.rollup.alias&&p.rollup.alias.entries&&We(p.rollup.alias.entries),p},"generateOptions"),$i=j((e,t,o)=>{const n=j(i=>S(t.options.rootDir,g(t.options.outDir,i)),"rPath");let r=!1;for(const i of t.buildEntries.filter(s=>!s.chunk)){let s=i.bytes??0;for(const c of i.chunks??[])s+=t.buildEntries.find(l=>l.path===c)?.bytes??0;let a=` ${N(n(i.path))} (${["total size: "+y(M(s)),i.type!=="asset"&&i.bytes&&"chunk size: "+y(M(i.bytes))].filter(Boolean).join(", ")})`;if(a+=i.exports?.length?`
88
- exports: `+R(i.exports.join(", ")):"",i.chunks?.length&&(a+=`
89
- ${i.chunks.map(c=>{const l=t.buildEntries.find(d=>d.path===c)??{};return R(" └─ "+n(c)+N(l.bytes?" ("+M(l?.bytes)+")":""))}).join(`
90
- `)}`),i.modules&&i.modules.length>0){const c=i.modules.filter(l=>l.id.includes("node_modules")).sort((l,d)=>(d.bytes||0)-(l.bytes||0)).map(l=>R(" 📦 "+n(l.id)+N(l.bytes?" ("+M(l.bytes)+")":""))).join(`
91
- `);a+=c.length>0?`
92
- inlined modules:
93
- `+c:""}if(t.options.declaration&&i.type==="entry"){let c=i.path.replace(/\.js$/,".d.ts"),l="commonjs";i.path.endsWith(".cjs")?c=i.path.replace(/\.cjs$/,".d.cts"):i.path.endsWith(".mjs")&&(l="module",c=i.path.replace(/\.mjs$/,".d.mts"));const d=t.buildEntries.find(p=>p.path.endsWith(c));if(d){let p;(t.options.declaration===!0||t.options.declaration==="compatible")&&!c.includes(".d.ts")&&(c=c.replace(l==="commonjs"?".d.c":".d.m",".d."),p=t.buildEntries.find(u=>u.path.endsWith(c))),a+=p&&l===o.type?`
94
- types:
95
- `+[d,p].map(u=>R(" └─ ")+N(n(u.path))+" (total size: "+y(M(u.bytes??0))+")").join(`
96
- `):`
97
- types: `+N(n(d.path))+" (total size: "+y(M(d.bytes??0))+")"}}r=!0,a+=`
98
-
99
- `,e.raw(i.chunk?R(a):a)}return r&&e.raw("Σ Total dist size (byte size):",y(M(t.buildEntries.reduce((i,s)=>i+(s.bytes??0),0))),`
100
- `),r},"showSizeInformation"),wi=j(async(e,t,o,n,r,i,s,a,c)=>{const l=un(s.preset??i.preset??"auto",t),d=bi(e,t,o,n,r,i,s,l,a,c);Ht(h(d.rootDir,d.outDir));const p={buildEntries:[],dependencyGraphMap:new Map,environment:n,hooks:Qt(),logger:e,mode:o,options:d,pkg:a,tsconfig:c,usedImports:new Set,warnings:new Set};l.hooks&&p.hooks.addHooks(l.hooks),i.hooks&&p.hooks.addHooks(i.hooks),s.hooks&&p.hooks.addHooks(s.hooks),await p.hooks.callHook("build:prepare",p),p.options.emitESM===void 0&&p.logger.info("Emitting of ESM bundles, is disabled."),p.options.emitCJS===void 0&&p.logger.info("Emitting of CJS bundles, is disabled.");const u=a.dependencies?.typescript!==void 0||a.devDependencies?.typescript!==void 0;if(p.options.declaration&&c===void 0&&u)throw new Error(" Cannot build declaration files without a tsconfig.json");return u||(p.options.declaration=!1,p.logger.info("Typescript is not installed. Declaration files will not be generated.")),p.options.declaration&&p.logger.info("Using typescript version: "+y(a.devDependencies?.typescript??a.dependencies?.typescript??"unknown")),p},"createContext"),ji=j(async e=>{const t=[];if(e.options.clean)for(const o of new Set(e.options.entries.map(n=>n.outDir).filter(Boolean).sort()))o===e.options.rootDir||o===e.options.sourceDir||e.options.rootDir.startsWith(o.endsWith("/")?o:`${o}/`)||t.some(n=>o.startsWith(n))||(t.push(o),e.logger.info(`Cleaning dist directory: \`./${S(e.options.rootDir,o)}\``),await qe(o))},"cleanDistributionDirectories"),ki=j((e,t)=>{const o=ti(e.options.entries,"environment","runtime"),n=[];for(const[r,i]of Object.entries(o))for(const[s,a]of Object.entries(i)){(r!=="undefined"||s!=="undefined")&&e.logger.info("Preparing build for "+(r==="undefined"?"":y(r)+" environment"+(s==="undefined"?"":" with "))+(s==="undefined"?"":y(s)+" runtime")),e.options.rollup.replace?(e.options.rollup.replace.values={...e.options.rollup.replace.values,[["process","env","NODE_ENV"].join(".")]:JSON.stringify(r)},s==="edge-light"&&(e.options.rollup.replace.values.EdgeRuntime=JSON.stringify("edge-runtime"))):e.logger.warn("'replace' plugin is disabled. You should enable it to replace 'process.env.*' environments.");const c=[],l=[],d=[],p=[];for(const u of a)u.cjs&&u.esm?c.push(u):u.cjs?d.push(u):u.esm?l.push(u):u.declaration&&p.push(u);if(c.length>0){const u={...e,options:{...e.options,emitCJS:!0,emitESM:!0,entries:c,minify:r!=="development"&&e.options.minify}};n.push(se(u,t));const f=u.options.entries.filter(b=>b.declaration);e.options.declaration&&f.length>0&&n.push(q({...u,options:{...u.options,entries:f}},t))}if(l.length>0){const u={...e,options:{...e.options,emitCJS:!1,emitESM:!0,entries:l,minify:r!=="development"&&e.options.minify}};n.push(se(u,t));const f=u.options.entries.filter(b=>b.declaration);e.options.declaration&&f.length>0&&n.push(q({...u,options:{...u.options,entries:f}},t))}if(d.length>0){const u={...e,options:{...e.options,emitCJS:!0,emitESM:!1,entries:d,minify:r!=="development"&&e.options.minify}};n.push(se(u,t));const f=u.options.entries.filter(b=>b.declaration);e.options.declaration&&f.length>0&&n.push(q({...u,options:{...u.options,entries:f}},t))}if(e.options.declaration&&p.length>0){const u={...e,options:{...e.options,emitCJS:!1,emitESM:!1,entries:p,minify:r!=="development"&&e.options.minify}};n.push(q(u,t))}}return n},"prepareRollupConfig"),xi=j(async(e,t,o)=>{await e.hooks.callHook("build:before",e),e.options.minify&&e.logger.info("Minification is enabled, the output will be minified"),e.options.declaration===!1&&e.logger.info("Generation of declaration files is disabled."),await Promise.all(ki(e,o)),e.logger.success(zt(e.options.name?"Build succeeded for "+e.options.name:"Build succeeded"));for await(const r of qt(h(e.options.rootDir,e.options.outDir))){let i=e.buildEntries.find(s=>h(e.options.rootDir,e.options.outDir,s.path)===r.path);if(i||(i={chunk:!0,path:r.path},e.buildEntries.push(i)),!i.bytes){const s=await Ve(g(e.options.rootDir,e.options.outDir,r.path));i.bytes=s.size}}const n=$i(e.logger,e,t);ui(e),hi(t,e),await e.hooks.callHook("build:done",e),Pt(e,n)},"build"),Ei=j(async(e,t,o,n,r={})=>{const{configPath:i,debug:s,tsconfigPath:a,...c}=r;n.wrapAll(),e=g(Tt(),e),n.debug("Root directory:",e);const l=h(e,"package.json");if(!$(l))throw new Error("package.json not found at "+l);const d=Ge(l);n.debug("Using package.json found at",l);let p;if(a){const u=h(e,a);if(!await Gt(u))throw new Error("tsconfig.json not found at "+u);p={config:Yt(u),path:u},n.info("Using tsconfig settings at",u)}else if(d.dependencies?.typescript||d.devDependencies?.typescript)try{p=await Xt(e),n.debug("Using tsconfig settings found at",p.path)}catch{n.info("No tsconfig.json or jsconfig.json found.")}try{let u=i??"";if(!u){const C=["packem.config.js","packem.config.mjs","packem.config.cjs","packem.config.ts","packem.config.cts","packem.config.mts"];for(const O of C)if($(h(e,O))){u="./"+O;break}}if(!/\.(?:js|mjs|cjs|ts|cts|mts)$/.test(u))throw new Error("Invalid packem config file extension. Only .js, .mjs, .cjs, .ts, .cts and .mts extensions are allowed.");let f=nt(u,e);typeof f=="function"&&(f=f(o,t)),n.debug("Using packem config found at",h(e,u));const b=Date.now(),D=j(()=>Kt(Math.floor(Date.now()-b)),"getDuration"),z=I(JSON.stringify({version:d.version,...d.dependencies,...d.devDependencies,...d.peerDependencies,...d.peerDependenciesMeta,browser:d.browser,eNode:d.engines?.node,exports:d.exports,main:d.main,module:d.module,type:d.type,types:d.types})),k=new Kr(e,z,n);k.cachePath&&!$(h(k.cachePath,z))&&$(k.cachePath)&&(n.info("Clearing file cache because the cache key has changed."),await qe(k.cachePath));const v=await wi(n,e,t,o,s??!1,c,f,d,p);if(k.isEnabled=v.options.fileCache,await ri(v,e),v.logger.info(y((t==="watch"?"Watching":t==="jit"?"Stubbing":"Building")+" "+v.options.name)),v.logger.debug(`${N("Root dir:")} ${v.options.rootDir}
101
- ${N("Entries:")}
102
- ${v.options.entries.map(C=>` ${ye(C)}`).join(`
103
- `)}`),await ji(v),v.options.stub){await Uo(v),await v.hooks.callHook("build:done",v);return}if(t==="watch"){if(v.options.rollup.watch===!1)throw new Error("Rollup watch is disabled. You should check your packem.config file.");await Hr(v,k),Pt(v,!1);return}await xi(v,d,k),n.raw(`
104
- ⚡️ Build run in `+D()),n.restoreAll()}catch(u){throw n.raw(`
105
- `),St(u),u}},"createBundler");var Oi=Object.defineProperty,ae=m((e,t)=>Oi(e,"name",{value:t,configurable:!0}),"a");const Si=ae(e=>{e.addCommand({description:"Demonstrate options required",execute:ae(async({logger:t,options:o})=>{let n="build";o.watch?n="watch":o.jit&&(n="jit");const r={};let i;if(K.NODE_ENV&&[T,E].includes(K.NODE_ENV)&&(i=K.NODE_ENV),o.env)for(const s of o.env)if(s.key==="NODE_ENV"){if(i)throw new Error("NODE_ENV was already set, this can't be overridden.");i=s.value}else r["process.env."+s.key]=JSON.stringify(s.value);i===void 0&&(o.production?i=E:o.development&&(i=T));try{await Ei(o.dir,n,i,t,{cjsInterop:o.cjsInterop,configPath:o.config??void 0,debug:o.debug,minify:o.minify===void 0?i===E:o.minify,replace:{...r},rollup:{esbuild:{target:o.target},license:{path:o.license},metafile:o.metafile,...o.analyze?{visualizer:{}}:{visualizer:!1}},sourcemap:o.sourcemap,tsconfigPath:o.tsconfig??void 0})}catch(s){t.error(s),Ft(1)}},"execute"),name:"build",options:[{defaultValue:".",description:"The directory to build",name:"dir",type:String},{alias:"t",description:"Environments to support. `target` in tsconfig.json is automatically added. Defaults to the current Node.js version.",name:"target"},{description:"Use a custom config file",name:"config",type:String},{description:"Path to the tsconfig.json file",name:"tsconfig",type:String},{description:"Minify the output",name:"minify",type:Boolean},{description:"Generate sourcemaps (experimental)",name:"sourcemap",type:Boolean},{conflicts:"jit",description:"Watch for changes",name:"watch",type:Boolean},{conflicts:"watch",description:"Stub the package for JIT compilation",name:"jit",type:Boolean},{description:"Compile-time environment variables (eg. --env.NODE_ENV=production)",multiple:!0,name:"env",type:ae(t=>{const[o,n]=t.split("=");return{key:o,value:n}},"type")},{defaultValue:!1,description:"Generate meta file (experimental)",name:"metafile",type:Boolean},{description:"Path to the license file",name:"license",type:String},{conflicts:"watch",description:"Visualize and analyze the bundle",name:"analyze",type:Boolean},{description:"CJS interop mode, can export default and named export, (experimental).",name:"cjsInterop",type:Boolean},{conflicts:"development",description:"Run code in production environment",name:"production",type:Boolean},{conflicts:"production",description:"Run code in development environment",name:"development",type:Boolean}]})},"createBuildCommand");var Di=Object.defineProperty,ze=m((e,t)=>Di(e,"name",{value:t,configurable:!0}),"m");const Ni=ze(e=>{e.addCommand({description:"Initialize packem configuration",execute:ze(async({logger:t,options:o})=>{if(jo("Welcome to packem setup"),$(h(o.dir,"packem.config.ts"))){t.info("Packem project already initialized, you can use `packem build` to build your project");return}if(ko(o.transformer)){xo("Operation cancelled");return}const n=h(o.dir,"package.json");if(!$(n))throw new Error("No package.json found in the directory");const r=Ge(n),i=[];if(r.dependencies&&i.push(...Object.keys(r.dependencies)),r.devDependencies&&i.push(...Object.keys(r.devDependencies)),o.transformer===void 0&&(o.transformer=await Eo({message:"Pick a transformer",options:[{label:"esbuild",value:"esbuild"},{label:"swc",value:"swc"},{label:"Sucrase",value:"sucrase"}]}),!i.includes(o.transformer)&&await Oo({message:"Do you want to install "+o.transformer+"?"}))){const s=oe();s.start("Installing "+o.transformer),await wo(o.transformer==="swc"?"@swc/core":o.transformer,{cwd:o.dir,dev:!0,silent:!0}),s.stop("")}if(i.includes("typescript")||r.type==="module"){const s=`import { defineConfig } from "@visulima/packem/config";
106
- import transformer from "@visulima/packem/transformer/${o.transformer}";
4
+ const z="@visulima/packem",I="1.0.0-alpha.76";var _=Object.defineProperty,u=p((r,i)=>_(r,"name",{value:i,configurable:!0}),"a");const T=u(r=>{r.addCommand({description:"Demonstrate options required",execute:u(async({logger:i,options:e})=>{let a="build";e.watch?a="watch":e.jit&&(a="jit");const n={};let o;if(l.NODE_ENV&&[y,d].includes(l.NODE_ENV)&&(o=l.NODE_ENV),e.env)for(const t of e.env)if(t.key==="NODE_ENV"){if(o)throw new Error("NODE_ENV was already set, this can't be overridden.");o=t.value}else n["process.env."+t.key]=JSON.stringify(t.value);o===void 0&&(e.production?o=d:e.development&&(o=y));try{await C(e.dir,a,o,i,{cjsInterop:e.cjsInterop,configPath:e.config??void 0,debug:e.debug,minify:e.minify===void 0?o===d:e.minify,replace:{...n},rollup:{esbuild:{target:e.target},license:{path:e.license},metafile:e.metafile,...e.analyze?{visualizer:{}}:{visualizer:!1}},sourcemap:e.sourcemap,tsconfigPath:e.tsconfig??void 0})}catch(t){i.error(t),j(1)}},"execute"),name:"build",options:[{defaultValue:".",description:"The directory to build",name:"dir",type:String},{alias:"t",description:"Environments to support. `target` in tsconfig.json is automatically added. Defaults to the current Node.js version.",name:"target"},{description:"Use a custom config file",name:"config",type:String},{description:"Path to the tsconfig.json file",name:"tsconfig",type:String},{description:"Minify the output",name:"minify",type:Boolean},{description:"Generate sourcemaps (experimental)",name:"sourcemap",type:Boolean},{conflicts:"jit",description:"Watch for changes",name:"watch",type:Boolean},{conflicts:"watch",description:"Stub the package for JIT compilation",name:"jit",type:Boolean},{description:"Compile-time environment variables (eg. --env.NODE_ENV=production)",multiple:!0,name:"env",type:u(i=>{const[e,a]=i.split("=");return{key:e,value:a}},"type")},{defaultValue:!1,description:"Generate meta file (experimental)",name:"metafile",type:Boolean},{description:"Path to the license file",name:"license",type:String},{conflicts:"watch",description:"Visualize and analyze the bundle",name:"analyze",type:Boolean},{description:"CJS interop mode, can export default and named export, (experimental).",name:"cjsInterop",type:Boolean},{conflicts:"development",description:"Run code in production environment",name:"production",type:Boolean},{conflicts:"production",description:"Run code in development environment",name:"development",type:Boolean}]})},"createBuildCommand");var J=Object.defineProperty,k=p((r,i)=>J(r,"name",{value:i,configurable:!0}),"m");const R=k(r=>{r.addCommand({description:"Initialize packem configuration",execute:k(async({logger:i,options:e})=>{if(V("Welcome to packem setup"),v(c(e.dir,"packem.config.ts"))){i.info("Packem project already initialized, you can use `packem build` to build your project");return}if(O(e.transformer)){P("Operation cancelled");return}const a=c(e.dir,"package.json");if(!v(a))throw new Error("No package.json found in the directory");const n=B(a),o=[];if(n.dependencies&&o.push(...Object.keys(n.dependencies)),n.devDependencies&&o.push(...Object.keys(n.devDependencies)),e.transformer===void 0&&(e.transformer=await x({message:"Pick a transformer",options:[{label:"esbuild",value:"esbuild"},{label:"swc",value:"swc"},{label:"Sucrase",value:"sucrase"}]}),!o.includes(e.transformer)&&await D({message:"Do you want to install "+e.transformer+"?"}))){const t=f();t.start("Installing "+e.transformer),await N(e.transformer==="swc"?"@swc/core":e.transformer,{cwd:e.dir,dev:!0,silent:!0}),t.stop("")}if(o.includes("typescript")||n.type==="module"){const t=`import { defineConfig } from "@visulima/packem/config";
5
+ import transformer from "@visulima/packem/transformer/${e.transformer}";
107
6
 
108
7
  export default defineConfig({
109
8
  transformer
110
9
  });
111
- `,a=oe(),c=r.type==="module"?"mjs":"ts";a.start("Creating packem.config."+c),Y(h(o.dir,"packem.config."+c),s),a.stop("Created packem.config."+c)}else{const s=`const { defineConfig } = require("@visulima/packem/config");
112
- const transformer = require("@visulima/packem/transformer/${o.transformer}");
10
+ `,s=f(),m=n.type==="module"?"mjs":"ts";s.start("Creating packem.config."+m),h(c(e.dir,"packem.config."+m),t),s.stop("Created packem.config."+m)}else{const t=`const { defineConfig } = require("@visulima/packem/config");
11
+ const transformer = require("@visulima/packem/transformer/${e.transformer}");
113
12
 
114
13
  module.exports = defineConfig({
115
14
  transformer
116
15
  });
117
- `,a=oe();a.start("Creating packem.config.js"),Y(h(o.dir,"packem.config.js"),s),a.stop("Created packem.config.js")}So("Now you can run `packem build` to build your project")},"execute"),name:"init",options:[{defaultValue:".",description:"The directory to initialize",name:"dir",type:String},{description:"Choose a transformer to use for packem",name:"transformer",type:String}]})},"createInitCommand"),we=new Mt("packem",{logger:{reporters:[new It({error:{hideErrorCauseCodeView:!0,hideErrorCodeView:!0,hideErrorErrorsCodeView:!0}})],scope:"packem"},packageName:Do,packageVersion:No});Ni(we);Si(we);we.run({shouldExitProcess:!1});
16
+ `,s=f();s.start("Creating packem.config.js"),h(c(e.dir,"packem.config.js"),t),s.stop("Created packem.config.js")}S("Now you can run `packem build` to build your project")},"execute"),name:"init",options:[{defaultValue:".",description:"The directory to initialize",name:"dir",type:String},{description:"Choose a transformer to use for packem",name:"transformer",type:String}]})},"createInitCommand"),g=new w("packem",{logger:{reporters:[new E({error:{hideErrorCauseCodeView:!0,hideErrorCodeView:!0,hideErrorErrorsCodeView:!0}})],scope:"packem"},packageName:z,packageVersion:I});R(g);T(g);g.run({shouldExitProcess:!1});