@visulima/packem 2.0.0-alpha.59 → 2.0.0-alpha.60

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,23 @@
1
+ ## @visulima/packem [2.0.0-alpha.60](https://github.com/visulima/packem/compare/@visulima/packem@2.0.0-alpha.59...@visulima/packem@2.0.0-alpha.60) (2026-03-24)
2
+
3
+ ### Features
4
+
5
+ * **packem, packem-rollup:** import attributes, TS resolution, build/watch improvements ([7fa91de](https://github.com/visulima/packem/commit/7fa91de8ea6b9fff47cd0a3fd5874d94592ae5ea))
6
+ * **packem:** add rollup-plugin-import-trace for build error diagnostics ([304cb0d](https://github.com/visulima/packem/commit/304cb0d54c19a95ca3df82b7cc52d4d289973d4e))
7
+
8
+ ### Miscellaneous Chores
9
+
10
+ * update test ([bad6c42](https://github.com/visulima/packem/commit/bad6c427f898f88aad4f66969fa18c3e6fc89208))
11
+ * updated test snap ([1887e4c](https://github.com/visulima/packem/commit/1887e4ca83efe950a27f8f60480af67e4ea03c4d))
12
+
13
+
14
+ ### Dependencies
15
+
16
+ * **@visulima/packem-rollup:** upgraded to 1.0.0-alpha.47
17
+ * **@visulima/packem-share:** upgraded to 1.0.0-alpha.28
18
+ * **@visulima/rollup-plugin-css:** upgraded to 1.0.0-alpha.27
19
+ * **@visulima/rollup-plugin-dts:** upgraded to 1.0.0-alpha.8
20
+
1
21
  ## @visulima/packem [2.0.0-alpha.59](https://github.com/visulima/packem/compare/@visulima/packem@2.0.0-alpha.58...@visulima/packem@2.0.0-alpha.59) (2026-03-24)
2
22
 
3
23
  ### Miscellaneous Chores
package/dist/cli/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
- var Z=Object.defineProperty;var v=(t,s)=>Z(t,"name",{value:s,configurable:!0});import{createCerebro as ee}from"@visulima/cerebro";import se from"@visulima/cerebro/logger/pail";import{SimpleReporter as te}from"@visulima/pail/reporter/simple";import C,{cwd as B,exit as ae}from"node:process";import{installPackage as D}from"@antfu/install-pkg";import{confirm as w,select as h,multiselect as U,spinner as N,cancel as G,intro as ie,log as A,outro as re}from"@clack/prompts";import{isAccessible as oe,readFile as ne,writeFile as ce,isAccessibleSync as L,writeJsonSync as le,writeFileSync as de}from"@visulima/fs";import{parsePackageJson as z}from"@visulima/package/package-json";import{join as $,resolve as I}from"@visulima/path";import pe from"magic-string";import{exec as ue}from"tinyexec";import{PRODUCTION_ENV as R,DEVELOPMENT_ENV as me}from"@visulima/packem-share/constants";import{createJiti as fe}from"jiti";import{c as ge,$ as ye,j as be}from"../packem_shared/index-B0WDRBIh.js";import{existsSync as V}from"node:fs";import{parseEnv as F}from"node:util";import{readFile as we,writeFile as ve}from"node:fs/promises";import{createInterface as he}from"node:readline/promises";import __cjs_mod__ from "node:module"; // -- packem CommonJS require shim --
2
+ var Z=Object.defineProperty;var v=(t,s)=>Z(t,"name",{value:s,configurable:!0});import{createCerebro as ee}from"@visulima/cerebro";import se from"@visulima/cerebro/logger/pail";import{SimpleReporter as te}from"@visulima/pail/reporter/simple";import j,{cwd as B,exit as ae}from"node:process";import{installPackage as D}from"@antfu/install-pkg";import{confirm as w,select as h,multiselect as U,spinner as N,cancel as G,intro as ie,log as A,outro as re}from"@clack/prompts";import{isAccessible as oe,readFile as ne,writeFile as ce,isAccessibleSync as L,writeJsonSync as le,writeFileSync as de}from"@visulima/fs";import{parsePackageJson as z}from"@visulima/package/package-json";import{join as $,resolve as I}from"@visulima/path";import pe from"magic-string";import{exec as ue}from"tinyexec";import{PRODUCTION_ENV as R,DEVELOPMENT_ENV as me}from"@visulima/packem-share/constants";import{createJiti as fe}from"jiti";import{c as ge,$ as ye,S as be}from"../packem_shared/index-Bm8Oe89l.js";import{existsSync as V}from"node:fs";import{parseEnv as F}from"node:util";import{readFile as we,writeFile as ve}from"node:fs/promises";import{createInterface as he}from"node:readline/promises";import __cjs_mod__ from "node:module"; // -- packem CommonJS require shim --
3
3
  const require = __cjs_mod__.createRequire(import.meta.url);
4
- var ke="@visulima/packem",W="2.0.0-alpha.58";const q={version:W};var Se=Object.defineProperty,$e=v((t,s)=>Se(t,"name",{value:s,configurable:!0}),"t");const _=$e(async(t,s="")=>{let a=s;if(!a){const e=["packem.config.js","packem.config.mjs","packem.config.cjs","packem.config.ts","packem.config.cts","packem.config.mts"];for(const r of e)if(await oe($(t,r))){a=`./${r}`;break}}if(!/\.(?:js|mjs|cjs|ts|cts|mts)$/.test(a))throw new Error("Invalid packem config file extension. Only .js, .mjs, .cjs, .ts, .cts and .mts extensions are allowed.");return a},"findPackemFile"),X={less:["less"],lightningcss:["lightningcss"],"node-sass":["node-sass"],postcss:["postcss","postcss-load-config","postcss-modules-extract-imports","postcss-modules-local-by-default","postcss-modules-scope","postcss-modules-values","postcss-value-parser","@csstools/css-parser-algorithms","@csstools/css-tokenizer","@csstools/postcss-slow-plugins","icss-utils","@visulima/css-style-inject"],sass:["sass"],"sass-embedded":["sass-embedded"],stylus:["stylus"],tailwindcss:["@tailwindcss/node","@tailwindcss/oxide","tailwindcss"]};var je=Object.defineProperty,b=v((t,s)=>je(t,"name",{value:s,configurable:!0}),"r$1");const Ce=["typedoc","typedoc-plugin-markdown","typedoc-plugin-rename-defaults"],Pe=["@babel/core","@babel/preset-react"],xe=["react","react-dom"],De=["@babel/core","babel-preset-solid"],Me=["solid-js"],Oe=["@babel/core","@babel/preset-react","babel-plugin-transform-hook-names"],Ee=["preact"],Te=["unplugin-vue"],Ie=["vue"],Le=["rollup-plugin-svelte"],Ne=["svelte"],M=b((t,s,a)=>t.includes(`preset: '${s}'`)||t.includes(`preset: "${s}"`)||t.includes(`preset: '${s}',`)||t.includes(`preset: "${s}",`)||t.includes(a)||t.includes(`@visulima/packem/config/preset/${s}`),"checkPresetExists"),O=b((t,s)=>{const{logger:a,magic:e,packemConfig:r}=t,o=r.match(/defineConfig\s*\(\s*\{/);if(o&&o.index!==void 0){const n=o.index+o[0].length;if(r.includes("preset:")){const i=r.match(/preset:\s*['"]([^'"]+)['"]/);if(i)e.replace(i[0],`preset: '${s}'`);else throw a.warn(`A preset already exists in the config. Please manually set it to '${s}'.`),new Error("Preset exists but is not a string")}else e.appendLeft(n,`
4
+ var ke="@visulima/packem",W="2.0.0-alpha.59";const q={version:W};var Se=Object.defineProperty,$e=v((t,s)=>Se(t,"name",{value:s,configurable:!0}),"t");const _=$e(async(t,s="")=>{let a=s;if(!a){const e=["packem.config.js","packem.config.mjs","packem.config.cjs","packem.config.ts","packem.config.cts","packem.config.mts"];for(const r of e)if(await oe($(t,r))){a=`./${r}`;break}}if(!/\.(?:js|mjs|cjs|ts|cts|mts)$/.test(a))throw new Error("Invalid packem config file extension. Only .js, .mjs, .cjs, .ts, .cts and .mts extensions are allowed.");return a},"findPackemFile"),X={less:["less"],lightningcss:["lightningcss"],"node-sass":["node-sass"],postcss:["postcss","postcss-load-config","postcss-modules-extract-imports","postcss-modules-local-by-default","postcss-modules-scope","postcss-modules-values","postcss-value-parser","@csstools/css-parser-algorithms","@csstools/css-tokenizer","@csstools/postcss-slow-plugins","icss-utils","@visulima/css-style-inject"],sass:["sass"],"sass-embedded":["sass-embedded"],stylus:["stylus"],tailwindcss:["@tailwindcss/node","@tailwindcss/oxide","tailwindcss"]};var Ce=Object.defineProperty,b=v((t,s)=>Ce(t,"name",{value:s,configurable:!0}),"r$1");const je=["typedoc","typedoc-plugin-markdown","typedoc-plugin-rename-defaults"],Pe=["@babel/core","@babel/preset-react"],xe=["react","react-dom"],De=["@babel/core","babel-preset-solid"],Me=["solid-js"],Oe=["@babel/core","@babel/preset-react","babel-plugin-transform-hook-names"],Ee=["preact"],Te=["unplugin-vue"],Ie=["vue"],Le=["rollup-plugin-svelte"],Ne=["svelte"],M=b((t,s,a)=>t.includes(`preset: '${s}'`)||t.includes(`preset: "${s}"`)||t.includes(`preset: '${s}',`)||t.includes(`preset: "${s}",`)||t.includes(a)||t.includes(`@visulima/packem/config/preset/${s}`),"checkPresetExists"),O=b((t,s)=>{const{logger:a,magic:e,packemConfig:r}=t,o=r.match(/defineConfig\s*\(\s*\{/);if(o&&o.index!==void 0){const n=o.index+o[0].length;if(r.includes("preset:")){const i=r.match(/preset:\s*['"]([^'"]+)['"]/);if(i)e.replace(i[0],`preset: '${s}'`);else throw a.warn(`A preset already exists in the config. Please manually set it to '${s}'.`),new Error("Preset exists but is not a string")}else e.appendLeft(n,`
5
5
  preset: '${s}',`)}else if(r.includes("transformer:"))e.replace("transformer:",`preset: '${s}',
6
6
  transformer:`);else{const n=r.indexOf("{");n!==-1&&e.appendLeft(n+1,`
7
7
  preset: '${s}',`)}},"insertPreset"),Be=b(async t=>{try{return((await ue("git",["status","--porcelain"],{nodeOptions:{cwd:t,stdio:["pipe","pipe","pipe"]}})).stdout?.trim().length??0)>0}catch{return!1}},"checkGitDirty"),H=b(async t=>{const s=$(t,"package.json"),a=await z(s,{resolveCatalogs:!0});return!!(a.devDependencies?.typescript??a.dependencies?.typescript)},"checkTypeScriptInstalled"),Ve=b(async t=>{const s=await H(t),a=[...xe],e=[...Pe];return s?e.push("@types/react","@types/react-dom"):await w({initialValue:!1,message:"Do you want to use TypeScript?"})&&e.push("typescript","@types/react","@types/react-dom"),{devPackages:e,packages:a}},"getReactTypeDependencies"),E=b(async(t,s,a)=>{const{rootDirectory:e,spinner:r}=t;r.start("Installing packages"),await D(a,{cwd:e,dev:!1,silent:!0}),await D(s,{cwd:e,dev:!0,silent:!0}),r.stop("Installed packages")},"installPackages"),Ae=b(async t=>{const{logger:s,magic:a,packemConfig:e,packemConfigFormat:r,rootDirectory:o,spinner:n,transformerReplaceKey:i,transformerSearchKey:l}=t;if(e.includes("typedoc: typedocBuilder")||e.includes("@visulima/packem/builder/typedoc")){s.warn("Typedoc has already been added to the packem config.");return}r==="cjs"?a.prepend(`const typedocBuilder = require("@visulima/packem/builder/typedoc");
@@ -11,7 +11,7 @@ var ke="@visulima/packem",W="2.0.0-alpha.58";const q={version:W};var Se=Object.d
11
11
  `):a.replace(l,`${i}
12
12
  builder: {
13
13
  typedoc: typedocBuilder,
14
- },`),s.info("Adding typedoc dependencies..."),n.start("Installing packages"),await D(Ce,{cwd:o,dev:!0,silent:!0}),n.stop("Installed packages"),s.success(`
14
+ },`),s.info("Adding typedoc dependencies..."),n.start("Installing packages"),await D(je,{cwd:o,dev:!0,silent:!0}),n.stop("Installed packages"),s.success(`
15
15
  Typedoc added!`)},"addTypedoc"),Re=b(async t=>{const{logger:s,packemConfig:a}=t;if(M(a,"react","createReactPreset")){s.warn("React preset has already been added to the packem config.");return}O(t,"react");const{devPackages:e,packages:r}=await Ve(t.rootDirectory);s.info("Adding React dependencies..."),await E(t,e,r),s.success(`
16
16
  React preset added!`)},"addReact"),Fe=b(async t=>{const{logger:s,packemConfig:a}=t;if(M(a,"solid","createSolidPreset")){s.warn("Solid preset has already been added to the packem config.");return}O(t,"solid"),s.info("Adding Solid dependencies..."),await E(t,De,Me),s.success(`
17
17
  Solid preset added!`)},"addSolid"),qe=b(async t=>{const s=await H(t),a=[...Ee],e=[...Oe];return s?e.push("@types/preact"):await w({initialValue:!1,message:"Do you want to use TypeScript?"})&&e.push("typescript","@types/preact"),{devPackages:e,packages:a}},"getPreactTypeDependencies"),Je=b(async t=>{const{logger:s,packemConfig:a}=t;if(M(a,"preact","createPreactPreset")){s.warn("Preact preset has already been added to the packem config.");return}O(t,"preact");const{devPackages:e,packages:r}=await qe(t.rootDirectory);s.info("Adding Preact dependencies..."),await E(t,e,r),s.success(`
@@ -61,8 +61,8 @@ module.exports = defineConfig({
61
61
  runtime: ${e.runtime},
62
62
  transformer${p}
63
63
  });
64
- `}const y=N(),k=l?"ts":"js";u.length>0&&(y.start("Installing packages"),await D(u,{cwd:r,dev:!0,silent:!0}),y.stop("Installed packages")),y.start(`Creating packem.config.${k}`),de($(r,`packem.config.${k}`),g),y.stop(`Created packem.config.${k}`),re("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",name:"transformer",type:x(s=>{if(typeof s=="string"&&["esbuild","sucrase","swc"].includes(s))return s;throw new Error("Invalid transformer, please choose one of 'swc', 'sucrase' or 'esbuild'")},"type")},{description:"Choose a isolated declaration transformer",name:"isolated-declaration-transformer",type:x(s=>{if(typeof s=="string"&&["none","oxc","swc","typescript"].includes(s))return s;throw new Error("Invalid isolated declaration isolated declaration, please choose one of 'none', 'oxc', 'swc' or 'typescript'")},"type")},{description:"Use CSS",name:"css",type:Boolean},{description:"Use CSS minifier",name:"css-minifier",type:Boolean},{Description:"Use TypeScript",name:"typescript",type:Boolean},{description:"Specify the build runtime (nodejs, browser).",name:"runtime",type:x(s=>{if(s==="node"||s==="browser")return s;throw new Error("Invalid runtime. Use 'node' or 'browser'.")},"type")}]})},"createInitCommand");var rs=Object.defineProperty,j=v((t,s)=>rs(t,"name",{value:s,configurable:!0}),"a");const os=j(async({cwd:t,dryRun:s,logger:a})=>{if(s)a.info("Dry run enabled. No changes will be made.");else{const r=he({input:C.stdin,output:C.stdout});a.warn(`
64
+ `}const y=N(),k=l?"ts":"js";u.length>0&&(y.start("Installing packages"),await D(u,{cwd:r,dev:!0,silent:!0}),y.stop("Installed packages")),y.start(`Creating packem.config.${k}`),de($(r,`packem.config.${k}`),g),y.stop(`Created packem.config.${k}`),re("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",name:"transformer",type:x(s=>{if(typeof s=="string"&&["esbuild","sucrase","swc"].includes(s))return s;throw new Error("Invalid transformer, please choose one of 'swc', 'sucrase' or 'esbuild'")},"type")},{description:"Choose a isolated declaration transformer",name:"isolated-declaration-transformer",type:x(s=>{if(typeof s=="string"&&["none","oxc","swc","typescript"].includes(s))return s;throw new Error("Invalid isolated declaration isolated declaration, please choose one of 'none', 'oxc', 'swc' or 'typescript'")},"type")},{description:"Use CSS",name:"css",type:Boolean},{description:"Use CSS minifier",name:"css-minifier",type:Boolean},{Description:"Use TypeScript",name:"typescript",type:Boolean},{description:"Specify the build runtime (nodejs, browser).",name:"runtime",type:x(s=>{if(s==="node"||s==="browser")return s;throw new Error("Invalid runtime. Use 'node' or 'browser'.")},"type")}]})},"createInitCommand");var rs=Object.defineProperty,C=v((t,s)=>rs(t,"name",{value:s,configurable:!0}),"a");const os=C(async({cwd:t,dryRun:s,logger:a})=>{if(s)a.info("Dry run enabled. No changes will be made.");else{const r=he({input:j.stdin,output:j.stdout});a.warn(`
65
65
 
66
66
  Before proceeding, review the migration guide at https://www.visulima.com/docs/package/packem, as this process will modify your files.
67
- Uncommitted changes will be lost. Use the --dry-run flag to preview changes without applying them.`);const o=await r.question("Continue? (Y/n) ");if(r.close(),!(o.toLowerCase()==="y"||o==="")){a.error("Migration cancelled."),C.exitCode=1;return}}t&&C.chdir(t);let e=!1;await cs(s,a)&&(e=!0),await ds(s,a)&&(e=!0),e?a.success("Migration completed. Remember to run install command with your package manager."):(a.error("No migration performed."),C.exitCode=1)},"migrate"),K={bunchee:"@visulima/packem",tsup:"@visulima/packem","tsup-node":"@visulima/packem",unbuild:"@visulima/packem"},ns={dependencies:`^${q.version}`,devDependencies:`^${q.version}`,peerDependencies:"*"},cs=j(async(t,s)=>{if(!V("package.json"))return s.error("No package.json found"),!1;const a=await we("package.json","utf8"),e=JSON.parse(a);let r=!1;for(const[i,l]of Object.entries(ns))for(const[u,f]of Object.entries(K))e[i]?.[u]&&(s.info(`Migrating \`${i}\` from ${u} to ${f}.`),r=!0,e[i]=ps(e[i],u,f,l));if(e.scripts)for(const i of Object.keys(e.scripts)){for(const[l,u]of Object.entries(K))e.scripts[i].includes(l)&&(s.info(`Migrating \`${i}\` script from ${l} to packem`),r=!0,e.scripts[i]=e.scripts[i].replaceAll(new RegExp(String.raw`\b${l}\b`,"g"),"packem").replaceAll(new RegExp(String.raw`\b${l}-node\b`,"g"),"packem"));e.scripts[i].includes("tsup")&&(s.info(`Migrating \`${i}\` script from tsup to packem`),r=!0,e.scripts[i]=e.scripts[i].replaceAll(/\btsup(?:-node)?/g,"packem build").replaceAll(/\bbuild\b/g,"build")),e.scripts[i].includes("unbuild")&&(s.info(`Migrating \`${i}\` script from unbuild to packem`),r=!0,e.scripts[i]=e.scripts[i].replaceAll(/\bunbuild\b/g,"packem build")),e.scripts[i].includes("bunchee")&&(s.info(`Migrating \`${i}\` script from bunchee to packem`),r=!0,e.scripts[i]=e.scripts[i].replaceAll(/\bbunchee\b/g,"packem build"))}const o=["tsup","unbuild","bunchee"];for(const i of o)e[i]&&s.info(`Found \`${i}\` config field in package.json. Consider moving to packem.config.ts`);if(!r)return s.warn("No migratable bundler dependencies found in package.json"),!1;const n=`${JSON.stringify(e,null,a.includes(" ")?" ":2)}
68
- `;return t?(s.info("[dry-run] package.json changes:"),s.info("Old content:"),console.info(a),s.info("New content:"),console.info(n)):(await ve("package.json",n),s.success("Migrated `package.json`")),!0},"migratePackageJson"),ls=["tsup.config.ts","tsup.config.cts","tsup.config.mts","tsup.config.js","tsup.config.cjs","tsup.config.mjs","tsup.config.json","build.config.ts","build.config.cts","build.config.mts","build.config.js","build.config.cjs","build.config.mjs","bunchee.config.ts","bunchee.config.cts","bunchee.config.mts","bunchee.config.js","bunchee.config.cjs","bunchee.config.mjs"],ds=j(async(t,s)=>{let a=!1;for(const e of ls)V(e)&&(s.info(`Found config file \`${e}\`. Consider creating packem.config.ts instead.`),s.warn("Manual migration required for config files. See https://www.visulima.com/docs/package/packem"),a=!0);return a||s.warn("No bundler config files found"),a},"migrateConfigFiles"),ps=j((t,s,a,e)=>{const r={};for(const o of Object.keys(t))o===s?r[a]=e||t[s]:r[o]=t[o];return r},"renameKey"),us=j(t=>{t.addCommand({description:"Migrate from other bundlers (tsup, unbuild, bunchee, etc.) to packem",execute:j(async({logger:s,options:a})=>{const e=a;await os({cwd:e.cwd,dryRun:e.dryRun,logger:s})},"execute"),name:"migrate",options:[{defaultValue:".",description:"The directory to migrate",name:"cwd",type:String},{description:"Preview changes without applying them",name:"dry-run",type:Boolean}]})},"createMigrateCommand");try{require("node:module")?.enableCompileCache?.()||require("v8-compile-cache")}catch{}const T=ee("packem",{logger:await se({reporters:[new te({error:{hideErrorCauseCodeView:!0,hideErrorCodeView:!0,hideErrorErrorsCodeView:!0}})],scope:"packem"}),packageName:ke,packageVersion:W});is(T);ts(T);ze(T);us(T);T.run({shouldExitProcess:!1});
67
+ Uncommitted changes will be lost. Use the --dry-run flag to preview changes without applying them.`);const o=await r.question("Continue? (Y/n) ");if(r.close(),!(o.toLowerCase()==="y"||o==="")){a.error("Migration cancelled."),j.exitCode=1;return}}t&&j.chdir(t);let e=!1;await cs(s,a)&&(e=!0),await ds(s,a)&&(e=!0),e?a.success("Migration completed. Remember to run install command with your package manager."):(a.error("No migration performed."),j.exitCode=1)},"migrate"),K={bunchee:"@visulima/packem",tsup:"@visulima/packem","tsup-node":"@visulima/packem",unbuild:"@visulima/packem"},ns={dependencies:`^${q.version}`,devDependencies:`^${q.version}`,peerDependencies:"*"},cs=C(async(t,s)=>{if(!V("package.json"))return s.error("No package.json found"),!1;const a=await we("package.json","utf8"),e=JSON.parse(a);let r=!1;for(const[i,l]of Object.entries(ns))for(const[u,f]of Object.entries(K))e[i]?.[u]&&(s.info(`Migrating \`${i}\` from ${u} to ${f}.`),r=!0,e[i]=ps(e[i],u,f,l));if(e.scripts)for(const i of Object.keys(e.scripts)){for(const[l,u]of Object.entries(K))e.scripts[i].includes(l)&&(s.info(`Migrating \`${i}\` script from ${l} to packem`),r=!0,e.scripts[i]=e.scripts[i].replaceAll(new RegExp(String.raw`\b${l}\b`,"g"),"packem").replaceAll(new RegExp(String.raw`\b${l}-node\b`,"g"),"packem"));e.scripts[i].includes("tsup")&&(s.info(`Migrating \`${i}\` script from tsup to packem`),r=!0,e.scripts[i]=e.scripts[i].replaceAll(/\btsup(?:-node)?/g,"packem build").replaceAll(/\bbuild\b/g,"build")),e.scripts[i].includes("unbuild")&&(s.info(`Migrating \`${i}\` script from unbuild to packem`),r=!0,e.scripts[i]=e.scripts[i].replaceAll(/\bunbuild\b/g,"packem build")),e.scripts[i].includes("bunchee")&&(s.info(`Migrating \`${i}\` script from bunchee to packem`),r=!0,e.scripts[i]=e.scripts[i].replaceAll(/\bbunchee\b/g,"packem build"))}const o=["tsup","unbuild","bunchee"];for(const i of o)e[i]&&s.info(`Found \`${i}\` config field in package.json. Consider moving to packem.config.ts`);if(!r)return s.warn("No migratable bundler dependencies found in package.json"),!1;const n=`${JSON.stringify(e,null,a.includes(" ")?" ":2)}
68
+ `;return t?(s.info("[dry-run] package.json changes:"),s.info("Old content:"),console.info(a),s.info("New content:"),console.info(n)):(await ve("package.json",n),s.success("Migrated `package.json`")),!0},"migratePackageJson"),ls=["tsup.config.ts","tsup.config.cts","tsup.config.mts","tsup.config.js","tsup.config.cjs","tsup.config.mjs","tsup.config.json","build.config.ts","build.config.cts","build.config.mts","build.config.js","build.config.cjs","build.config.mjs","bunchee.config.ts","bunchee.config.cts","bunchee.config.mts","bunchee.config.js","bunchee.config.cjs","bunchee.config.mjs"],ds=C(async(t,s)=>{let a=!1;for(const e of ls)V(e)&&(s.info(`Found config file \`${e}\`. Consider creating packem.config.ts instead.`),s.warn("Manual migration required for config files. See https://www.visulima.com/docs/package/packem"),a=!0);return a||s.warn("No bundler config files found"),a},"migrateConfigFiles"),ps=C((t,s,a,e)=>{const r={};for(const o of Object.keys(t))o===s?r[a]=e||t[s]:r[o]=t[o];return r},"renameKey"),us=C(t=>{t.addCommand({description:"Migrate from other bundlers (tsup, unbuild, bunchee, etc.) to packem",execute:C(async({logger:s,options:a})=>{const e=a;await os({cwd:e.cwd,dryRun:e.dryRun,logger:s})},"execute"),name:"migrate",options:[{defaultValue:".",description:"The directory to migrate",name:"cwd",type:String},{description:"Preview changes without applying them",name:"dry-run",type:Boolean}]})},"createMigrateCommand");try{require("node:module")?.enableCompileCache?.()||require("v8-compile-cache")}catch{}const T=ee("packem",{logger:await se({reporters:[new te({error:{hideErrorCauseCodeView:!0,hideErrorCodeView:!0,hideErrorErrorsCodeView:!0}})],scope:"packem"}),packageName:ke,packageVersion:W});is(T);ts(T);ze(T);us(T);T.run({shouldExitProcess:!1});
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- var c=Object.defineProperty;var o=(e,r)=>c(e,"name",{value:r,configurable:!0});import{createPail as s}from"@visulima/pail";import{SimpleReporter as u}from"@visulima/pail/reporter/simple";import{j as g}from"./packem_shared/index-B0WDRBIh.js";var f=Object.defineProperty,l=o((e,r)=>f(e,"name",{value:r,configurable:!0}),"r");const C=l(async(e,r={})=>{const{debug:t,environment:i,logger:a,mode:n,tsconfigPath:m,...d}={debug:!1,environment:"production",logger:{},mode:"build",tsconfigPath:void 0,...r},p=s({reporters:[new u({error:{hideErrorCauseCodeView:!0,hideErrorCodeView:!0,hideErrorErrorsCodeView:!0}})],scope:"packem",...a});await g(e,n,i,p,t,d,m)},"packem");export{C as packem};
1
+ var c=Object.defineProperty;var o=(e,r)=>c(e,"name",{value:r,configurable:!0});import{createPail as s}from"@visulima/pail";import{SimpleReporter as u}from"@visulima/pail/reporter/simple";import{S as g}from"./packem_shared/index-Bm8Oe89l.js";var f=Object.defineProperty,l=o((e,r)=>f(e,"name",{value:r,configurable:!0}),"r");const C=l(async(e,r={})=>{const{debug:t,environment:i,logger:a,mode:n,tsconfigPath:m,...d}={debug:!1,environment:"production",logger:{},mode:"build",tsconfigPath:void 0,...r},p=s({reporters:[new u({error:{hideErrorCauseCodeView:!0,hideErrorCodeView:!0,hideErrorErrorsCodeView:!0}})],scope:"packem",...a});await g(e,n,i,p,t,d,m)},"packem");export{C as packem};
@@ -0,0 +1,83 @@
1
+ var Co=Object.defineProperty;var w=(e,t)=>Co(e,"name",{value:t,configurable:!0});import be,{versions as Ft}from"node:process";import{cyan as K,bold as Q,gray as se,blue as Ne,yellow as xe,red as $e,green as It,dim as To,grey as Ro}from"@visulima/colorize";import{findCacheDirSync as Fo}from"@visulima/find-cache-dir";import{isAccessibleSync as le,collectSync as ot,isAccessible as de,readFileSync as Io,writeFileSync as Ee,emptyDir as Ao,readJson as At,walk as Wo,writeJson as Jo,ensureDirSync as zo}from"@visulima/fs";import{parseBytes as nt,formatBytes as q,duration as it}from"@visulima/humanizer";import{hasPackageJsonAnyDependency as Wt,ensurePackages as Bo}from"@visulima/package";import{arrayify as st,memoizeByKey as Ko,enhanceRollupError as Jt,FileCache as _o}from"@visulima/packem-share";import{RUNTIME_EXPORT_CONVENTIONS as zt,SPECIAL_EXPORT_CONVENTIONS as Bt,PRODUCTION_ENV as je,DEVELOPMENT_ENV as rt,DEFAULT_EXTENSIONS as Xe,ENDING_REGEX as Ye,EXCLUDE_REGEXP as ce,ALLOWED_TRANSFORM_EXTENSIONS_REGEX as re,VALID_EXPORT_EXTENSIONS as Uo}from"@visulima/packem-share/constants";import{warn as E,getDtsExtension as ne,getOutputExtension as ee,getPackageName as Lo,getChunkFilename as fe,getEntryFileNames as Vo,sortUserPlugins as Kt,arrayify as at,getHash as lt}from"@visulima/packem-share/utils";import{extname as Ho,resolve as P,toNamespacedPath as qo,join as I,isAbsolute as Re,relative as ie,normalize as Go,dirname as me}from"@visulima/path";import Xo from"browserslist";import{createHooks as Yo}from"hookable";import{createJiti as Qo}from"jiti";import{watch as pt,rollup as _t,VERSION as Zo}from"rollup";import{importTrace as Ut,patchErrorWithTrace as en}from"rollup-plugin-import-trace";import{exec as tn}from"tinyexec";import on,{stat as Lt,readdir as nn,rm as Vt,mkdtemp as sn,readFile as rn}from"node:fs/promises";import ct from"node:path/posix";import{parsePackageJsonSync as Ht}from"@visulima/package/package-json";import{readTsConfig as an,findTsConfig as ln}from"@visulima/tsconfig";import{NotFoundError as pn}from"@visulima/fs/error";import{isRelative as cn,resolveAlias as un}from"@visulima/path/utils";import{isDynamicPattern as Le,globSync as qt}from"tinyglobby";import{getShebang as dn,makeExecutable as ut,shebangPlugin as fn,removeShebangPlugin as mn}from"@visulima/packem-rollup/plugin/shebang";import{fileURLToPath as gn,resolveModuleExportNames as hn,resolvePath as dt,pathToFileURL as yn,isNodeBuiltin as Se,parseNodeModulePath as ft}from"mlly";import bn,{existsSync as Gt,watch as vn,createReadStream as Xt}from"node:fs";import{browserslistToEsbuild as De,nodeResolve as Yt,createSplitChunks as wn,purePlugin as $n,pureNewExpressionPlugin as xn,cachingPlugin as L,resolveFileUrlPlugin as Qt,replace as Zt,alias as eo,polyfillNode as jn,chunkSplitter as kn,wasm as En,fixDynamicImportExtension as Sn,dynamicImportVars as Dn,commonjs as On,metafilePlugin as Pn,visualizer as Mn}from"@visulima/packem-rollup";import{babelTransformPlugin as Nn}from"@visulima/packem-rollup/babel";import{oxcResolvePlugin as to}from"@visulima/packem-rollup/oxc";import{cjsInteropPlugin as oo}from"@visulima/packem-rollup/plugin/cjs-interop";import{copyPlugin as Cn}from"@visulima/packem-rollup/plugin/copy";import{dataUriPlugin as Tn}from"@visulima/packem-rollup/plugin/data-uri";import{debarrelPlugin as Rn}from"@visulima/packem-rollup/plugin/debarrel";import{importAttributesPlugin as Fn}from"@visulima/packem-rollup/plugin/import-attributes";import{esmShimCjsSyntaxPlugin as In}from"@visulima/packem-rollup/plugin/esm-shim-cjs-syntax";import{fixDtsDefaultCjsExportsPlugin as An}from"@visulima/packem-rollup/plugin/fix-dts-default-cjs-exports";import{isolatedDeclarationsPlugin as Wn}from"@visulima/packem-rollup/plugin/isolated-declarations";import{JsonPlugin as no}from"@visulima/packem-rollup/plugin/json";import{jsxRemoveAttributes as Jn}from"@visulima/packem-rollup/plugin/jsx-remove-attributes";import{licensePlugin as io}from"@visulima/packem-rollup/plugin/license";import{minifyHTMLLiteralsPlugin as zn}from"@visulima/packem-rollup/plugin/minify-html-literals";import{nativeModulesPlugin as Bn}from"@visulima/packem-rollup/plugin/native-modules";import{preserveDirectivesPlugin as Kn}from"@visulima/packem-rollup/plugin/preserve-directives";import{rawPlugin as _n}from"@visulima/packem-rollup/plugin/raw";import{requireCJSTransformerPlugin as Un}from"@visulima/packem-rollup/plugin/require-cjs-transformer";import{sourcemapsPlugin as Ln}from"@visulima/packem-rollup/plugin/source-maps";import{urlPlugin as Vn}from"@visulima/packem-rollup/plugin/url";import{resolveTypescriptMjsCtsPlugin as so,resolveTsconfigRootDirectoriesPlugin as ro,resolveTsconfigPathsPlugin as ao,patchTypescriptTypesPlugin as Hn}from"@visulima/packem-rollup/typescript";import{rollupCssPlugin as qn,cssModulesTypesPlugin as Gn}from"@visulima/rollup-plugin-css";import{minVersion as lo,coerce as Ce,satisfies as po,validRange as Xn,valid as Yn}from"semver";import Qn from"magic-string";import{createDefu as Zn}from"defu";import{d as ei}from"./create-or-update-key-storage-U4wgANkm.js";import{createFilter as ti}from"@rollup/pluginutils";import oi from"child_process";import ni from"node:child_process";import{tmpdir as ii}from"node:os";import{promisify as si}from"node:util";import{createTable as ri}from"@visulima/tabular";import{ROUNDED_BORDER as ai}from"@visulima/tabular/style";import{distance as li}from"fastest-levenshtein";import pi from"picomatch";import{createBrotliCompress as ci,constants as ui,createGzip as di}from"node:zlib";import __cjs_mod__ from "node:module"; // -- packem CommonJS require shim --
2
+ const __filename = import.meta.filename; // -- packem CommonJS __filename shim --
3
+ const require = __cjs_mod__.createRequire(import.meta.url);
4
+ var fi=Object.defineProperty,co=w((e,t)=>fi(e,"name",{value:t,configurable:!0}),"s$9");const Fe=co(e=>{if(e.endsWith(".mjs")||e.endsWith(".d.mts"))return"esm";if(e.endsWith(".cjs")||e.endsWith(".d.cts"))return"cjs"},"inferExportTypeFromFileName"),Ve=co((e,t,o,i)=>{if(e==="module-sync")return"esm";if(i){const n=Fe(i);if(n)return n}if(e==="module"||e==="import")return"esm";if(e==="require")return"cjs";if(t.length===0)return o;const[s,...r]=t;return Ve(s,r,o,i)},"inferExportType");var mi=Object.defineProperty,gi=w((e,t)=>mi(e,"name",{value:t,configurable:!0}),"x$1");const hi=new Set(["browser","bun","default","deno","electron","import","module-sync","node","node-addons","require","types","workerd",...zt,...Bt]),Qe=gi((e,t,o,i=[],s=[])=>{if(!e)return[];if(typeof e=="string"){const r=Fe(e);if(r&&r!==t)throw new Error(`Exported file "${e}" has an extension that does not match the package.json type "${t==="esm"?"module":"commonjs"}".`);return[{file:e,key:"exports",type:r??t}]}if(typeof e=="object"){const r=Object.entries(e).filter(([a])=>!a.endsWith(".json"));let n=[];for(const[a,d]of r){const l=a.replace("./",""),p=s.some(u=>l===u||l.startsWith(`${u}/`));if(typeof d=="string"){let u={};Number.isInteger(+a)?u={exportKey:"*"}:a.startsWith("./")?u={exportKey:a.replace("./","")}:u={exportKey:a==="."?".":"*",subKey:a},n.push({...u,file:d,key:"exports",type:Ve(a,i,t,d),...p&&{ignored:!0}})}else if(typeof d=="object"&&d!==void 0)for(const[u,f]of Object.entries(d)){if(o===!1&&u==="types")continue;const c=Number.isInteger(+a)?u:a;if(typeof f=="string")n.push({exportKey:c.replace("./",""),file:f,key:"exports",...hi.has(u)?{subKey:u}:{},type:Ve(u,i,t,f),...p&&{ignored:!0}});else{const g=c.replace("./",""),y=p||s.some(m=>g===m||g.startsWith(`${m}/`)),h=Qe({[c]:f},t,o,[...i,u],s);y&&h.forEach(m=>{m.ignored=!0}),n=[...n,...h]}}}return n}return[]},"extractExportFilenames");var yi=Object.defineProperty,te=w((e,t)=>yi(e,"name",{value:t,configurable:!0}),"R$2");const He=new Map,qe=/\.[^./]+$/,uo=te((e,t)=>{const o=e.match(/\.d\.[mc]?ts$/);if(o)return o[0];if(t)for(const i of Object.values(t)){const s=i.startsWith(".")?i:`.${i}`;if(e.endsWith(s))return s}return Ho(e)},"getFullExtension"),bi=te(async e=>{try{return await on.readdir(e,{withFileTypes:!0})}catch(t){const{code:o}=t;if(o==="ENOENT")return[];throw t}},"safeReaddir"),fo=te(async(e,t)=>{const o=await bi(e);return(await Promise.all(o.map(async i=>{const s=ct.join(e,i.name);return i.isDirectory()?fo(s,t):i.isFile()?ct.relative(t,s):[]}))).flat()},"getDirectoryFilesRecursive"),vi=te(async e=>{let t=He.get(e);return t||(t=fo(e,e),He.set(e,t)),t},"getDirectoryFiles"),mt=te((e,t,o)=>{const i=e.replace(qe,"");if(t==="*"){const a=i.split("/").filter(Boolean);return a.length===0?void 0:o&&o>1?a:[a[0]]}const s=t.replaceAll(/[.+?^${}()|[\]\\]/g,String.raw`\$&`).replaceAll("*","(.*)"),r=new RegExp(`^${s}$`),n=i.match(r);return n?n.slice(1):void 0},"matchWildcardPattern"),pe=te((e,t)=>{let o=e;for(const i of t)o=o.replace("*",i);return o},"substituteWildcards"),wi=te((e,t)=>e.key==="exports"&&e.subKey===je?je:e.key==="exports"&&e.subKey===rt?rt:t,"getEnvironment"),$i=te(e=>{const t=e.replace(/^\.\/dist\//,"").replace(/^dist\//,"").replace(/\.[^./]+$/,"").split("/"),o=t.at(-1)||"",i=[".browser",".server",".development",".production",".node",".workerd"];for(const r of i)if(o.includes(r)){const n=o.replace(r,""),a=t.length>1?t.slice(0,-1).join("/"):"";return{baseName:a?`${a}/${n}`:n,pattern:r}}const s=o.split(".");if(s.length>2){const r=s.slice(0,-2).join("."),n=`.${s[s.length-2]}`,a=t.length>1?t.slice(0,-1).join("/"):"";return{baseName:a?`${a}/${r}`:r,pattern:n}}},"detectFilePattern"),xi=te((e,t,o,i)=>{const s=`${t.replace(new RegExp(`^${i}/?`),"")}${o}`,r=s.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`),n=new RegExp(String.raw`${r}\.([cm]?[tj]sx?|ts|js)$`),a=e.find(l=>{const p=l.replace(i,"").replace(/^\//,"");return n.test(p)});if(a)return a;const d=`${i}/${s}`;return e.find(l=>{const p=l.replace(/\.[^./]+$/,"");return p===d||p.endsWith(`/${s}`)})||void 0},"tryFindPatternFile"),ye=te((e,t,o,i,s,r,n,a)=>{const d=wi(s,r.environment);let l=r.options.runtime;const p=s.subKey==="browser"||s.subKey?.includes("browser"),u=s.file.includes(".browser");if(p||u)l="browser";else{for(const M of zt)if(s.file.includes(`.${M}.`)||s.subKey===M){l=M;break}(s.subKey==="node"||s.subKey==="workerd"||s.file.includes(".node")||s.file.includes(".workerd")||s.file.includes(".server"))&&(l="node")}const f=uo(s.file,r.options.outputExtensionMap),c=s.file.replace(f,""),g=r.options.outDir.replace(/^\.\//,""),y=c.replace(new RegExp(`^(./)?${g}/`),""),h=t.replace(/\.[^./]+$/,"").split("/").pop()||"",m=y.split("/").pop()||"",j=!t.includes(y)&&h!==m;let $=e.find(M=>M.input===t&&M.environment===d&&M.runtime===l&&M.fileAlias===(j?y:void 0));if($===void 0?$=e[e.push({environment:d,exportKey:new Set([s.exportKey].filter(Boolean)),fileAlias:j?y:void 0,input:t,runtime:l})-1]:$.exportKey&&s.exportKey&&$.exportKey.add(s.exportKey),n&&($.isGlob=!0),o&&($.outDir=i),s.isExecutable)$.executable=!0,$.declaration=!1,s.type==="cjs"?$.cjs=!0:s.type==="esm"&&($.esm=!0);else{const M=/\.d\.[mc]?ts$/.test(s.file),R=a.filter(b=>b.exportKey===s.exportKey),J=R.length>0&&R.every(b=>/\.d\.[mc]?ts$/.test(b.file));if(M&&r.options.declaration!==!1&&($.declaration=r.options.declaration),M||J){J&&r.options.declaration!==!1&&($.declaration=r.options.declaration);const b=R.some(N=>/\.d\.mts$/.test(N.file)),D=R.some(N=>/\.d\.cts$/.test(N.file));if(b&&D?((r.options.declaration===void 0||r.options.declaration==="node16")&&(r.options.declaration="compatible"),r.options.emitCJS=!0,r.options.emitESM=!0):D?(r.options.emitCJS=!0,(r.options.declaration===void 0||r.options.declaration==="node16")&&(r.options.declaration="compatible")):b&&(r.options.emitESM=!0,(r.options.declaration===void 0||r.options.declaration==="node16")&&(r.options.declaration="compatible")),J){const N=a.filter(F=>/\.d\.[mc]?ts$/.test(F.file)),v=N.some(F=>/\.d\.mts$/.test(F.file)),S=N.some(F=>/\.d\.cts$/.test(F.file));R.every(F=>!F.subKey||F.subKey==="types")?(S&&($.cjs=!0),v&&($.esm=!0)):(S&&($.declarationCjs=!0),v&&($.declarationEsm=!0))}}else s.type==="cjs"?$.cjs=!0:s.type==="esm"&&($.esm=!0)}j&&!$.fileAlias&&($.fileAlias=y)},"createOrUpdateEntry");let gt=!1;const ht=te(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"),ji=te(async(e,t,o)=>{const i=e.types||e.typings;He.clear();const s=[];t.sort((c,g)=>c.split("/").length-g.split("/").length);const r=e.type==="module"?"esm":"cjs",n=o.options.declaration??"node16",a=Qe(e.exports,r,n,[],o.options.ignoreExportKeys??[]).filter(c=>!c.ignored),d=new Set;for(const c of a){const g=a.filter(y=>y.exportKey===c.exportKey);if(g.length>0&&g.every(y=>/\.d\.[mc]?ts$/.test(y.file))&&!d.has(c.exportKey)){d.add(c.exportKey),g.some(m=>m.file.endsWith(".d.ts"));const y=g.some(m=>m.file.endsWith(".d.mts")),h=g.some(m=>m.file.endsWith(".d.cts"));y&&h?((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitCJS=!0,o.options.emitESM=!0):h?((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitCJS=!0):y&&((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitESM=!0)}}o.options.declaration===void 0&&(o.options.declaration="node16");const l=a.some(c=>c.type==="esm"&&!/\.d\.mts$/.test(c.file)),p=a.some(c=>c.type==="cjs"&&!/\.d\.cts$/.test(c.file));l&&p?(o.options.emitESM=!0,o.options.emitCJS=!0):l?o.options.emitESM=!0:p?o.options.emitCJS=!0:r==="esm"?o.options.emitESM=!0:r==="cjs"&&(o.options.emitCJS=!0);const u=o.options.emitCJS&&o.options.emitESM;if(o.options.declaration==="node16"&&u&&(o.options.declaration="compatible"),e.bin){const c=(typeof e.bin=="string"?[e.bin]:Object.values(e.bin)).filter(Boolean);for(const g of c){const y=Fe(g);if(y&&y!==r)throw new Error(`Exported file "${g}" has an extension that does not match the package.json type "${e.type??"commonjs"}".`);a.push({file:g,isExecutable:!0,key:"bin",type:y??r})}}e.main&&a.push({file:e.main,key:"main",type:Fe(e.main)??r}),e.module&&a.push({file:e.module,key:"module",type:"esm"}),i&&(ht(o),(o.options.declaration===void 0||o.options.declaration==="node16")&&u&&(o.options.declaration="compatible"),a.push({file:e.types??e.typings,key:"types"}));const f=[];if(!o.options.outputExtensionMap){const c=a.some(h=>!h.isExecutable&&!/\.d\.[mc]?ts$/.test(h.file)&&h.file.endsWith(".mjs")),g=a.some(h=>!h.isExecutable&&!/\.d\.[mc]?ts$/.test(h.file)&&h.file.endsWith(".cjs")),y=a.some(h=>!h.isExecutable&&!/\.d\.[mc]?ts$/.test(h.file)&&h.file.endsWith(".js"));c&&!g&&!y?o.options.outputExtensionMap={esm:"mjs"}:g&&!c&&!y&&(o.options.outputExtensionMap={cjs:"cjs"})}for await(const c of a){const g=/\.d\.[mc]?ts$/.test(c.file),y=uo(c.file,o.options.outputExtensionMap),h=[...Xe];if(o.options.outputExtensionMap)for(const v of Object.values(o.options.outputExtensionMap)){const S=v.startsWith(".")?v:`.${v}`;h.includes(S)||h.push(S)}if(!g&&y!==""&&!h.includes(y)||!g&&/\.(tsx?|cts|mts)$/.test(c.file))continue;let m=c.type;if(!m&&g){if(c.file.endsWith(".d.mts"))m="esm";else if(c.file.endsWith(".d.cts"))m="cjs";else if(c.file.endsWith(".d.ts")){const v=a.some(F=>F.subKey==="import"&&F.file.endsWith(".d.mts")),S=a.some(F=>F.subKey==="require"&&F.file.endsWith(".d.cts"));v&&S?m=void 0:m=o.pkg?.type==="module"?"esm":"cjs"}}if(/\.d\.[mc]?ts$/.test(c.file)||(o.options.emitCJS===void 0&&(m==="cjs"||c.type==="cjs")&&(o.options.emitCJS=!0),o.options.emitESM===void 0&&(m==="esm"||c.type==="esm")&&(o.options.emitESM=!0)),o.options.declaration===void 0||o.options.declaration==="node16"){const v=o.options.emitCJS&&o.options.emitESM;o.options.declaration=v?"compatible":"node16"}let j=c.file;if(o.options.outputExtensionMap)for(const v of Object.values(o.options.outputExtensionMap)){const S=v.startsWith(".")?v:`.${v}`;if(c.file.endsWith(S)){j=c.file.slice(0,-S.length);break}}j===c.file&&(j=c.file.replace(new RegExp(String.raw`(?:\*[^/\\]|\.d\.[mc]?ts|\.\w+)$`),""));const $=j.endsWith("/");if($&&["./","/"].includes(j))continue;const M=j.replace(new RegExp(`(./)?${o.options.outDir}`),o.options.sourceDir).replace("./",""),R=$?"":String.raw`(\.d\.[cm]?ts|(\.[cm]?[tj]sx?))$`,J="(?:^|/)";if((c.file.includes("/*")||j.includes("*"))&&c.key==="exports"){gt||(o.logger.debug("Private subfolders are not supported, if you need this feature please open an issue on GitHub."),gt=!0);let v;c.exportKey?v=c.exportKey.startsWith("./")?c.exportKey.slice(2):c.exportKey:v=(c.file.startsWith("./")?c.file.slice(2):c.file).replace(/^dist\//,"");const S=c.file,F=S.match(/\.\w+$/);if(S.includes("*")&&!F&&c.exportKey&&!c.subKey){const A=S.replace(/\*.*$/,"").replace(/^\.\//,""),C=v.replace(/\*.*$/,"").replace(/^\.\//,"");if(A!==C){const W=`package.json#exports["${c.exportKey==="."?".":`./${c.exportKey}`}"]`;s.push(`Wildcard pattern must include a file extension: ${S} at ${W}`);continue}}const H=o.options.sourceDir.replace(/^\.\//,""),V=P(o.options.rootDir,H),_=[],ge=await vi(V),z=(S.match(/\*/g)||[]).length,ae=(v.match(/\*/g)||[]).length;for(const A of ge){const C=mt(A,v,z);if(C){if(z>ae&&z>1){if(C.length>=z){const O=C[0];if(C.every(x=>x===O)){const x=pe(S,C.slice(0,z));x.includes("*")||_.push({input:P(V,A),output:x})}continue}const k=A.replace(qe,"").split("/").filter(Boolean);if(k.length>=z){const O=Math.floor(k.length/z),x=[];for(let B=0;B<z;B++){const X=B*O,U=B===z-1?k.length:(B+1)*O;x.push(k.slice(X,U).join("/"))}const T=x[0];if(x.every(B=>B===T)){const B=pe(S,x);B.includes("*")||_.push({input:P(V,A),output:B})}}else if(k.length>0){const O=k[0];if(k.every(x=>x===O)){const x=new Array(z).fill(O),T=pe(S,x);T.includes("*")||_.push({input:P(V,A),output:T})}}continue}if(C.length<z)continue;if(ae>0&&ae<z&&z>1&&C.length>1){const k=C[0];if(!C.every(O=>O===k))continue}const W=pe(S,C);if(W.includes("*"))continue;_.push({input:P(V,A),output:W})}}if(_.length===0&&S.includes("*")){let A=(c.file.startsWith("./")?c.file.slice(2):c.file).replace(/^dist\//,"");A=A.replace(/\.\w+$/,""),(A.match(/\*/g)||[]).length;for(const C of ge){const W=mt(C,A,z);if(W){if(z>1&&ae<z){if(W.length>=z){const x=W[0];if(W.every(T=>T===x)){const T=pe(S,W);T.includes("*")||_.push({input:P(V,C),output:T});continue}}const k=C.replace(qe,""),O=A.split("*");if(O.length>=2){const x=O.map(U=>U.replaceAll(/[.+?^${}()|[\]\\]/g,String.raw`\$&`));let T=`${x[0]}(.+)`;for(let U=1;U<x.length;U++)T+=x[U],U<x.length-1&&(T+=String.raw`\1`);const B=new RegExp(`^${T}$`),X=k.match(B);if(X){const U=X[1],he=pe(S,new Array(z).fill(U));he.includes("*")||_.push({input:P(V,C),output:he})}}continue}if(W.length>=z){if(ae>0&&ae<z&&z>1&&W.length>1){const O=W[0];if(!W.every(x=>x===O))continue}const k=pe(S,W);k.includes("*")||_.push({input:P(V,C),output:k})}}}}if(_.length===0){a.length>1||s.push(`Could not find entrypoints matching pattern \`${v}\` for output \`${S}\``);continue}const Y=a.filter(A=>A.exportKey===c.exportKey);if(Y.length>0&&Y.every(A=>/\.d\.[mc]?ts$/.test(A.file))){const A=Y.some(x=>x.file.endsWith(".d.ts")),C=Y.some(x=>x.file.endsWith(".d.mts")),W=Y.some(x=>x.file.endsWith(".d.cts"));C&&W?((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitCJS=!0,o.options.emitESM=!0):W?((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitCJS=!0):C&&((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitESM=!0);const k=Y.find(x=>x.file.endsWith(".d.ts")),O=k||Y.find(x=>x.file.endsWith(".d.mts"))||Y.find(x=>x.file.endsWith(".d.cts"))||c;if(!(O===c||k&&c===k||!k&&O===c))continue;for(const{input:x,output:T}of _){let B=T;if(T.endsWith(".d.mts")||T.endsWith(".d.cts"))B=T.replace(/\.d\.[mc]ts$/,".d.ts");else if(!T.endsWith(".d.ts")){const U=T.replace(/\.d\.[mc]ts$/,".d.ts");A&&(B=U)}const X={...O,file:B,subKey:"types",type:void 0};ye(f,x,!1,j,X,o,!0,a)}}else for(const{input:A,output:C}of _){const W=/\.d\.[mc]?ts$/.test(C);let k=c.type;W||(C.endsWith(".mjs")?k="esm":C.endsWith(".cjs")?k="cjs":C.endsWith(".js")&&!k&&(k=o.pkg?.type==="module"?"esm":"cjs"));const O={...c,file:C,...!W&&k&&{type:k}};ye(f,A,!1,j,O,o,!0,a)}continue}const b=new RegExp(J+M.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)+R);let D=t.find(v=>b.test(v));if(D===void 0){const v=o.options.sourceDir.replace(/^\.\//,""),S=P(o.options.rootDir,v),F=$i(c.file);if(F){const H=xi(t,F.baseName,F.pattern,S);if(H)D=H;else{const V=F.baseName,_=new RegExp(J+V.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)+R);D=t.find(ge=>_.test(ge))}}else{const H=M.replace(/^(.+?)\.[^.]*$/,"$1").replace(/\/$/,"");if(Bt.has(c.subKey)){const V=new RegExp(J+H.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)+R);D=t.find(_=>V.test(_))}}}if(D===void 0){le(P(o.options.rootDir,c.file))||s.push(`Could not find entrypoint for \`${c.file}\``);continue}le(D)&&/\.[cm]?tsx?$/.test(D)&&ht(o);const N=a.filter(v=>v.exportKey===c.exportKey);if(N.length>0&&N.every(v=>/\.d\.[mc]?ts$/.test(v.file))){N.some(H=>H.file.endsWith(".d.ts"));const v=N.some(H=>H.file.endsWith(".d.mts")),S=N.some(H=>H.file.endsWith(".d.cts"));v&&S?((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitCJS=!0,o.options.emitESM=!0):S?((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitCJS=!0):v&&((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitESM=!0);const F={...c,subKey:"types",type:void 0};ye(f,D,$,j,F,o,!1,a)}else{const v=qo(D.replace(Ye,""));le(`${v}.cts`)&&le(`${v}.mts`)?(ye(f,`${v}.cts`,$,j,{...c,type:"cjs"},o,!1,a),ye(f,`${v}.mts`,$,j,{...c,type:"esm"},o,!1,a)):ye(f,D,$,j,c,o,!1,a)}}return{entries:f,warnings:s}},"inferEntries");var ki=Object.defineProperty,Ei=w((e,t)=>ki(e,"name",{value:t,configurable:!0}),"o$5");const Si=Ei((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 Di=Object.defineProperty,Oi=w((e,t)=>Di(e,"name",{value:t,configurable:!0}),"f$1");const Pi={hooks:{"build:prepare":Oi(async function(e){if(e.options.unbundle){e.options.entries.length=0;const s=I(e.options.rootDir,e.options.sourceDir);if(!le(s))throw new Error("No 'src' directory found. Please provide entries manually.");const r=ot(s,{extensions:[],includeDirs:!1,includeSymlinks:!1,skip:[ce,/.*\/dist\/.*/]}).filter(n=>re.test(n)&&!n.endsWith(".d.ts"));for(const n of r){const a=n.replace(`${s}/`,"").replace(re,"").replaceAll("/","/");e.options.entries.push({input:n,name:a})}return}if(e.options.entries.length>0)return;const t=I(e.options.rootDir,e.options.sourceDir);if(!le(t))throw new Error("No 'src' directory found. Please provide entries manually.");const o=ot(t,{extensions:[],includeDirs:!1,includeSymlinks:!1,skip:[ce,/.*\/dist\/.*/]});if(o.length===0)throw new Error("No source files found in 'src' directory. Please provide entries manually.");let i={...e.pkg};if(i.publishConfig&&(e.logger.info(`Using publishConfig found in package.json, to override the default key-value pairs of "${Object.keys(i.publishConfig).join(", ")}".`),e.logger.debug(i.publishConfig),i=Si(i,e.options.declaration)),e.options.unbundle){e.logger.info("Unbundle mode detected, creating entries for all source files");const s=o.filter(r=>re.test(r)&&!r.endsWith(".d.ts"));e.logger.info(`Found ${s.length} code files for unbundle mode`);for(const r of s){const n=r.replace(`${t}/`,"").replace(re,"").replaceAll("/","/");e.logger.info(`Adding entry: ${n} -> ${r}`),e.options.entries.push({input:r,name:n})}}else{const s=await ji(i,o,e);for(const r of s.warnings)e.logger.warn(r);e.options.entries.push(...s.entries)}if(e.options.entries.length===0)throw new Error("No entries detected. Please provide entries manually.");e.logger.info("Automatically detected entries:",K(e.options.entries.map(s=>s.fileAlias?`${Q(s.fileAlias)} => ${Q(s.input.replace(`${e.options.rootDir}/`,"").replace(/\/$/,"/*"))}`:Q(s.input.replace(`${e.options.rootDir}/`,"").replace(/\/$/,"/*"))).join(", ")),se([e.options.emitESM&&"esm",e.options.emitCJS&&"cjs",e.options.declaration&&"dts"].filter(Boolean).map(s=>`[${s}]`).join(" ")))},"build:prepare")}};var Mi=Object.defineProperty,Ni=w((e,t)=>Mi(e,"name",{value:t,configurable:!0}),"e$5");const ze=Ni(e=>{const t=I(e,"package.json");if(!le(t))throw new Error(`package.json not found at ${t}`);const o=Ht(t,{resolveCatalogs:!0});return o.publishConfig&&Object.assign(o,o.publishConfig),{packageJson:o,packageJsonPath:t}},"loadPackageJson");var Ci=Object.defineProperty,Ti=w((e,t)=>Ci(e,"name",{value:t,configurable:!0}),"a$c");const Ri=Ti(async(e,t,o,i)=>{let s;if(i){const r=I(e,i);if(!await de(r))throw new Error(`tsconfig.json not found at ${r}`);s={config:an(r),path:r},o.info("Using tsconfig settings at",r)}else if(Wt(t,["typescript"]))try{s=await ln(e),o.debug("Using tsconfig settings found at",s.path)}catch{o.info("No tsconfig.json or jsconfig.json found.")}return s},"loadTsconfig");var Fi=Object.defineProperty,mo=w((e,t)=>Fi(e,"name",{value:t,configurable:!0}),"l$a");const yt=mo(async(e,t)=>{if(typeof e.name!="string"){let o=Re(e.input)?ie(t.options.rootDir,e.input):Go(e.input);o.startsWith("./")&&(o=o.slice(2)),e.name=o.replace(new RegExp(`^${t.options.sourceDir}/`),"").replace(Ye,"")}if(!e.input)throw new Error(`Missing entry input: ${JSON.stringify(e)}`);cn(e.input)&&(e.input=P(t.options.rootDir,e.input)),t.options.declaration&&e.declaration===void 0&&(e.declaration=t.options.declaration),e.executable&&(e.cjs===void 0||e.esm===void 0)?t.pkg.type==="commonjs"&&e.cjs===void 0&&t.options.emitCJS!==void 0?(e.cjs=t.options.emitCJS,e.esm=!1):t.pkg.type==="module"&&e.esm===void 0&&t.options.emitESM!==void 0&&(e.esm=t.options.emitESM,e.cjs=!1):e.cjs===void 0&&e.esm===void 0&&(e.declaration&&e.cjs===void 0&&e.esm===void 0||(t.options.emitCJS!==void 0&&(e.cjs=t.options.emitCJS),t.options.emitESM!==void 0&&(e.esm=t.options.emitESM))),e.outDir=P(t.options.rootDir,e.outDir??t.options.outDir)},"extendEntry"),go=mo(async e=>{e.options.entries=e.options.entries.map(t=>typeof t=="string"?{input:t,isGlob:Le(t)}:{...t,exportKey:t.exportKey??new Set,isGlob:Le(t.input)});for(const t of e.options.entries.filter(o=>o.isGlob)){const{isGlob:o,...i}=t,s=["**/.git/**","**/node_modules/**","**/test-results/**"];if(e.options.rollup.watch){if(typeof e.options.rollup.watch.exclude=="string")s.push(e.options.rollup.watch.exclude);else if(Array.isArray(e.options.rollup.watch.exclude))for(const n of e.options.rollup.watch.exclude)typeof n=="string"&&s.push(n)}const r=qt([i.input],{cwd:e.options.rootDir,dot:!1,ignore:s,onlyFiles:!0});if(r.length===0)throw new pn(`No files found in the glob pattern: ${K(I(e.options.rootDir,i.input))}`);for(const n of r)e.options.entries.push({...i,input:P(e.options.rootDir,n)});e.options.entries.splice(e.options.entries.indexOf(t),1)}for(const t of e.options.entries){if(t.runtime)continue;const o=t.exportKey&&[...t.exportKey].some(s=>s.includes("browser")||s==="browser"),i=t.fileAlias?.includes(".browser")??!1;if(o||i)t.runtime="browser";else if(t.exportKey){for(const s of t.exportKey)if(s==="node"||s==="workerd"||s.includes("node")||s.includes("workerd")){t.runtime="node";break}}!t.runtime&&t.fileAlias&&(t.fileAlias.includes(".server")||t.fileAlias.includes(".node")||t.fileAlias.includes(".workerd"))&&(t.runtime="node")}for(const t of e.options.entries)if(t.fileAlias){let o=t.fileAlias;for(;o.startsWith("./")||o.startsWith("../");)o=o.replace(/^\.\.?\//,"");t.name=o}for(const t of e.options.entries.filter(o=>!o.fileAlias))await yt(t,e);for(const t of e.options.entries.filter(o=>o.fileAlias))await yt(t,e),t.fileAlias=void 0},"prepareEntries");var Ii=Object.defineProperty,Ai=w((e,t)=>Ii(e,"name",{value:t,configurable:!0}),"i$2");const Be=Ai((e,t)=>{let o={};return e.name&&(o[e.name]=t.rootDir),o={...o,...t.alias},t.rollup.alias&&t.rollup.alias.entries&&(Array.isArray(t.rollup.alias.entries)?Object.assign(o,Object.fromEntries(t.rollup.alias.entries.map(i=>[i.find,i.replacement]))):Object.assign(o,t.rollup.alias.entries)),o},"resolveAliases");var Wi=Object.defineProperty,Ji=w((e,t)=>Wi(e,"name",{value:t,configurable:!0}),"h$3");const zi=/^[_$a-z\u00A0-\uFFFF][\w$\u00A0-\uFFFF]*$/iu,Bi=Ji(async e=>{const t=e.options.jiti.transformOptions?.babel?.plugins,o=[],i=JSON.stringify({...e.options.jiti,alias:{...Be(e.pkg,e.options),...e.options.jiti.alias},transformOptions:{...e.options.jiti.transformOptions,babel:{...e.options.jiti.transformOptions?.babel,plugins:"__$BABEL_PLUGINS"}}},void 0,2).replace('"__$BABEL_PLUGINS"',Array.isArray(t)?`[${t.map((s,r)=>{if(Array.isArray(s)){const[n,...a]=s;return o.push(n),`[${[`plugin${r}`,...a.map(d=>JSON.stringify(d))].join(", ")}]`}return o.push(s),`plugin${r}`}).join(",")}]`:"[]");for(const s of e.options.entries){const r=P(e.options.rootDir,e.options.outDir,s.name),n=gn(e.jiti.esmResolve(s.input,{try:!0})??s.input),a=n.replace(Ye,""),d=Io(n),l=dn(d);let p=[];try{p=await hn(n,{extensions:Xe})}catch(c){E(e,`Cannot analyze ${n} for exports: ${c.toString()}`);return}const u=p.includes("default")||p.length===0,f=e.options.jiti.absoluteJitiPath?(...c)=>yn(P(...c)):ie;if(e.options.emitESM){const c=f(me(r),await dt("jiti",{conditions:["node","import"],url:import.meta.url})),g=ne(e,"esm"),y=`${a}.${g}`;Ee(`${r}.${ee(e,"esm")}`,l+[`import { createJiti } from "${c}";`,...o.map((h,m)=>`import plugin${m} from "${h}";`),"",`const jiti = createJiti(import.meta.url, ${i});`,"",`/** @type {import("${y}")} */`,`const _module = await jiti.import("${n}");`,...u?["export default _module?.default ?? _module;"]:[],...p.filter(h=>h!=="default").map((h,m)=>{if(zi.test(h))return`export const ${h} = _module.${h};`;const j=`__packem_export_${m}`,$=h.startsWith("'")&&h.endsWith("'")?`_module[${h}]`:`_module[${JSON.stringify(h)}]`;return`const ${j} = ${$};
5
+ export { ${j} as ${JSON.stringify(h)} };`})].join(`
6
+ `)),e.options.declaration&&Ee(`${r}.${g}`,`export * from "${y}";
7
+ ${u?`export { default } from "${y}";`:""}`)}if(e.options.emitCJS){const c=f(me(r),await dt("jiti",{conditions:["node","require"],url:import.meta.url})),g=ne(e,"cjs"),y=`${a}.${g}`;Ee(`${r}.${ee(e,"cjs")}`,l+[`const { createJiti } = require("${c}");`,...o.map((h,m)=>`const plugin${m} = require(${JSON.stringify(h)})`),"",`const jiti = createJiti(__filename, ${i});`,"",`/** @type {import("${y}")} */`,`module.exports = jiti("${n}")`].join(`
8
+ `)),e.options.declaration&&Ee(`${r}.${g}`,`export * from "${y}";
9
+ ${u?`export { default } from "${y}";`:""}`)}l&&(await ut(`${r}.${ee(e,"cjs")}`),await ut(`${r}.${ee(e,"esm")}`))}await e.hooks.callHook("rollup:done",e)},"createStub");var Ki=Object.defineProperty,Ze=w((e,t)=>Ki(e,"name",{value:t,configurable:!0}),"s$6");const Ge=Ze(e=>{const t=e.indexOf("/");if(t===-1)return[e,void 0];if(e[0]==="@"){const o=e.indexOf("/",t+1);return o===-1?[e,void 0]:[e.slice(0,o),e.slice(o+1)]}return[e.slice(0,t),e.slice(t+1)]},"parseSpecifier"),ho=Ze(e=>{const t=e[0];return!(t==="."||t==="/"||t==="#"||Re(e))},"isBareSpecifier"),yo=Ze((e,t=process.cwd())=>ie(t,e).split("/").includes("node_modules"),"isFromNodeModules");var _i=Object.defineProperty,Ie=w((e,t)=>_i(e,"name",{value:t,configurable:!0}),"d$4");const et="@types/",bt=Ie(e=>{if(e.startsWith("@")){const[t,o]=e.split("/");return`${t}/types/${o}`}return`${et}${e}`},"getAtTypesPackageName"),Ui=Ie(e=>{if(e.startsWith("@")){const t=e.split("/");if(t[1]==="types")return`@${t[0]}/${t.slice(2).join("/")}`}return e.replace(et,"")},"getOriginalPackageName"),Li=["peerDependencies","dependencies","optionalDependencies"],bo=Ie((e,t)=>{const o=bn.realpathSync.native(process.cwd()),i=new Set,s=new Set(Object.keys(e.devDependencies||{}));for(const n of Li){const a=e[n];if(a)for(const d of Object.keys(a))d.startsWith(et)?i.add(Ui(d)):i.add(d)}const r=Ie(n=>{const{dtsResolve:a}=t??{};return a?typeof a=="boolean"?a:a.some(d=>typeof d=="string"?n===d:d.test(n)):!1},"shouldResolveForDts");return{name:"externalize-dependencies",async resolveId(n,a,d){if(!ho(n))return null;const[l]=Ge(n);if(!(i.has(l)&&r(l))){if(i.has(l)){if(t?.forTypes){const p=bt(l);s.has(p)&&console.warn(`Recommendation: "${p}" is bundled (devDependencies) but "${l}" is externalized. Place "${p}" in dependencies/peerDependencies as well so users don't have missing types.`)}return{external:!0,id:n}}if(s.has(l)){const p=await this.resolve(n,a,{...d,skipSelf:!0});if(!p){const u=`Could not resolve "${n}" even though it's declared in package.json. Try re-installing node_modules.`;throw console.error(u),new Error(u)}if(t?.forTypes){const u=bt(l);i.has(u)&&console.warn(`Recommendation: "${u}" is externalized but "${l}" is bundled (devDependencies). This may cause type mismatches for consumers. Consider moving "${l}" to dependencies or "${u}" to devDependencies.`)}return p}a&&!yo(a,o)&&!t?.skipUnlistedWarnings&&console.warn(`"${l}" imported by "${a}" but not declared in package.json. Will be bundled to prevent failure at runtime.`)}}}},"externalizeDependencies");var Vi=Object.defineProperty,ue=w((e,t)=>Vi(e,"name",{value:t,configurable:!0}),"a$a");const vt=ue((e,t,o)=>e.reduce((i,s,r)=>(s instanceof RegExp?i.push(s):typeof s=="string"&&s.length>0?i.push(new RegExp(`^${s.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)}$`)):o.warn(`Ignoring wrong entry type #${r} in '${t}' option: ${JSON.stringify(s)}`),i),[]),"getRegExps"),wt=new Map,Hi=ue((e,t)=>{wt.has(e)||t.info({message:`Inlined implicit external "${K(e)}". If this is incorrect, add it to the "externals" option.`,prefix:"plugin:packem:resolve-externals"}),wt.set(e,!0)},"logExternalMessage"),$t=new Set(["node:sqlite","node:test"]),vo=ue((e,t)=>{const o=new Map,i=e.options?.rollup?.resolveExternals??{},s=new Set(vt([...e.options?.externals??[]],"include",e.logger)),r=new Set(vt([...i.exclude??[]],"exclude",e.logger));if(t?.dtsResolve)if(t.dtsResolve===!0)r.add(/.*/);else for(const f of t.dtsResolve)typeof f=="string"?r.add(new RegExp(`^${f.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)}(?:/.+)?$`)):r.add(f);const n={...i.deps?e.pkg.dependencies??{}:void 0,...i.devDeps?e.pkg.devDependencies??{}:void 0,...i.peerDeps?e.pkg.peerDependencies??{}:void 0,...i.optDeps?e.pkg.optionalDependencies??{}:void 0},a=Object.keys(n);if(a.length>0&&s.add(new RegExp(`^(?:${a.join("|")})(?:/.+)?$`)),e.pkg?.peerDependenciesMeta)for(const[f,c]of Object.entries(e.pkg.peerDependenciesMeta))c&&typeof c=="object"&&"optional"in c&&c.optional&&s.add(new RegExp(`^${f}(?:/.+)?$`));const d=ue(f=>[...s].some(c=>c.test(f)),"isIncluded"),l=ue(f=>[...r].some(c=>c.test(f)),"isExcluded");let p=[];e.tsconfig&&(p=Object.entries(e.tsconfig.config.compilerOptions?.paths??{}).map(([f])=>f.endsWith("*")?new RegExp(`^${f.replace("*","(.*)")}$`):new RegExp(`^${f}$`)));const u=Be(e.pkg,e.options);return{name:"packem:resolve-externals",options:ue(f=>{f.external=(c,g)=>{if(o.has(c))return o.get(c);let y;Object.keys(u).length>0&&(y=un(c,u),y===c&&(y=void 0));const h=y&&ft(y)?.name||ft(c)?.name||Lo(c);h&&!h.startsWith(".")&&!Se(h)&&(e.usedDependencies.add(h),(!g||!g.includes("/node_modules/"))&&!Object.keys(e.pkg.dependencies??{}).includes(h)&&!Object.keys(e.pkg.devDependencies??{}).includes(h)&&!Object.keys(e.pkg.peerDependencies??{}).includes(h)&&!Object.keys(e.pkg.optionalDependencies??{}).includes(h)&&e.options.validation&&e.options.validation.dependencies!==!1&&e.options.validation.dependencies.hoisted!==!1&&!e.options.validation.dependencies.hoisted?.exclude.includes(h)&&e.hoistedDependencies.add(h));for(const m of[c,y].filter(Boolean)){if(/^(?:\0|\.{1,2}\/)/.test(m)||Re(m)||new RegExp(String.raw`${e.options?.sourceDir}[/.*|\.*]`).test(m)||e.pkg.name&&m.startsWith(e.pkg.name))return o.set(m,!1),!1;if(Se(m)||$t.has(m)){let j=i.builtins;return j===void 0&&g&&(j=d(g)&&!l(g)),o.set(m,j),j}if(m[0]==="#"&&!m.startsWith("#/"))return o.set(m,!1),!1;if(p.length>0){for(const j of p)if(j.test(m))return o.set(m,!1),!1}if(d(m)&&!l(m))return o.set(m,!0),!0}return e.implicitDependencies.add(c),Hi(c,e.logger),!1}},"options"),resolveId:{filter:{id:ue(f=>!(f.startsWith("\0")||f.startsWith("./")||f.startsWith("../")||Re(f)),"id")},async handler(f,c,{isEntry:g}){if(!g){if(f[0]==="#"&&!f.startsWith("#/")&&e.pkg.imports)return c&&!yo(c,e.options.rootDir)?{external:!0,id:f}:void 0;if($t.has(f))return{external:!0,id:f,moduleSideEffects:!1};if(Se(f)){const y=f.replace(/^node:/,"");let h=y;return(i.builtinsPrefix==="add"||!Se(y))&&(h=`node:${y}`),{external:(i.builtins||d(f))&&!l(f),id:i.builtinsPrefix==="ignore"?f:h,moduleSideEffects:!1}}}},order:"pre"}}},"resolveExternalsPlugin");var qi=Object.defineProperty,Ae=w((e,t)=>qi(e,"name",{value:t,configurable:!0}),"l$8");const Gi=Ae(async e=>{try{const i=await Lt(e);if(i.isFile())return e;if(i.isDirectory()){const s=I(e,"index.js");if(await de(s))return s;const r=I(e,"index.json");if(await de(r))return r}}catch{}const t=`${e}.js`;if(await de(t))return t;const o=`${e}.json`;if(await de(o))return o},"tryResolveImplicit"),Xi=Ae(async(e,t)=>{let o=e;const i=P("/");for(;o!==i&&o!==me(o);){const s=I(o,"node_modules",t,"package.json");if(await de(s))return s;o=me(o)}},"findPackageJson"),wo=Ae(e=>{const t=new Map,o=new Map,i=new Set;e.pkg.dependencies&&Object.keys(e.pkg.dependencies).forEach(r=>i.add(r)),e.pkg.peerDependencies&&Object.keys(e.pkg.peerDependencies).forEach(r=>i.add(r)),e.pkg.optionalDependencies&&Object.keys(e.pkg.optionalDependencies).forEach(r=>i.add(r));const s=Ae(r=>i.has(r),"isExternalPackage");return{name:"packem:resolve-implicit-externals",async transform(r,n){if(n.includes("/node_modules/")||n.startsWith("\0"))return;const a=/\bfrom\s+['"`]([^'"`]+)['"`]/g,d=[];let l;for(;(l=a.exec(r))!==null;){const c=l[1];if(!c||!ho(c))continue;const[g,y]=Ge(c);if(y&&g&&s(g)){const h=l.index+l[0].indexOf(c);d.push({importId:c,quoteEnd:h+c.length,quoteStart:h})}}if(d.length===0)return;const p=me(n),u=(await Promise.all(d.map(async c=>{const[g,y]=Ge(c.importId);if(!y)return;const h=`${g}:${y}:${p}`,m=o.get(h);if(m!==void 0)return m?{...c,resolvedId:m}:void 0;const j=await Xi(p,g);if(!j){o.set(h,void 0);return}let $=t.get(j);if($===void 0)try{$=Ht(j,{resolveCatalogs:!0}),t.set(j,$)}catch{t.set(j,void 0),o.set(h,void 0);return}if(!$){o.set(h,void 0);return}if($.exports){o.set(h,void 0);return}const M=me(j),R=I(M,y),J=await Gi(R);if(!J){o.set(h,void 0);return}const b=ie(M,J),D=`${g}/${b}`;return o.set(h,D),{...c,resolvedId:D}}))).filter(c=>c!==void 0);if(u.length===0)return;const f=new Qn(r);for(const{quoteEnd:c,quoteStart:g,resolvedId:y}of u)f.overwrite(g,c,y),this.debug(`[resolve-implicit-externals] Rewriting ${r.slice(g,c)} -> ${y} in ${n}`);return{code:f.toString(),map:f.generateMap({hires:!0})}}}},"resolveImplicitExternalsPlugin");var Yi=Object.defineProperty,G=w((e,t)=>Yi(e,"name",{value:t,configurable:!0}),"n$2");const We=G(e=>!!e?.endsWith(".d"),"isDeclarationOnlyName"),xt=G((e,t)=>t?o=>{if(!We(o.name))return`${o.name}.${e()}`}:o=>{if(!We(o.name))return fe(o,e())},"createChunkFileNames"),jt=G((e,t)=>t?o=>{const{name:i}=o;if(!We(i))return`${i??"[name]"}.${e(o)}`}:o=>{const{name:i}=o;if(!We(i))return Vo(o,e(o))},"createEntryFileNames"),Qi=G((e,t)=>{let o=`node${Ft.node.split(".")[0]}`;if(t.pkg.engines?.node){const i=lo(t.pkg.engines.node);i&&(o=`node${i.major}`)}if(e==="esbuild"){if(!t.options.rollup.esbuild)throw new Error("No esbuild options found in your configuration.");if(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"),t.options.rollup.esbuild.target){const i=st(t.options.rollup.esbuild.target);t.options.runtime==="node"?t.options.rollup.esbuild.target=[...new Set([o,...i])]:t.options.runtime==="browser"&&(t.options.rollup.esbuild.target=[...new Set([...De(t.options.browserTargets??[]),...i])])}else t.options.rollup.esbuild.target=t.options.runtime==="node"?[o]:De(t.options.browserTargets??[]);return t.options.minify||(t.options.rollup.esbuild.keepNames=!1,t.logger.debug("Disabling keepNames because minify is disabled")),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,passes:2},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}if(e==="oxc"){if(!t.options.rollup.oxc)throw new Error("No oxc options found in your configuration.");if(t.options.rollup.oxc={...t.options.rollup.oxc,cwd:t.options.rootDir,jsx:typeof t.options.rollup.oxc.jsx=="string"?t.options.rollup.oxc.jsx:t.options.rollup.oxc.jsx?{...t.options.rollup.oxc.jsx,refresh:!1}:void 0,sourcemap:t.options.sourcemap,typescript:t.tsconfig?.config?{allowDeclareFields:!0,allowNamespaces:!0,declaration:void 0,jsxPragma:t.tsconfig.config.compilerOptions?.jsxFactory,jsxPragmaFrag:t.tsconfig.config.compilerOptions?.jsxFragmentFactory,onlyRemoveTypeImports:!0,rewriteImportExtensions:!1}:void 0},t.options.rollup.oxc.target){const i=st(t.options.rollup.oxc.target);t.options.runtime==="node"?t.options.rollup.oxc.target=[...new Set([o,...i])]:t.options.runtime==="browser"&&(t.options.rollup.oxc.target=[...new Set([...De(t.options.browserTargets??[]),...i])])}else t.options.rollup.oxc.target=t.options.runtime==="node"?[o]:De(t.options.browserTargets??[]);return t.options.rollup.oxc}throw new Error("A Unknown transformer was provided")},"getTransformerConfig"),$o=G((e,t)=>{if(e.code==="CIRCULAR_DEPENDENCY"&&/Circular dependency:[\s\S]*node_modules/.test(e.message))return!0;if(e.code==="UNRESOLVED_IMPORT"){const o=new Error(`Failed to resolve the module "${e.exporter}" imported by "${K(ie(P(),e.id))}"
10
+ Is the module installed? Note:
11
+ ↳ to inline a module into your bundle, install it to "devDependencies".
12
+ ↳ to depend on a module via import/require, install it to "dependencies".`);throw o.id=e.id,o}return e.code==="MODULE_LEVEL_DIRECTIVE"?!0:e.code==="MIXED_EXPORTS"&&t.options.cjsInterop===!0},"sharedOnWarn"),xo=G((e,t)=>({input:Object.fromEntries(e.options.entries.map(o=>[o.name,P(e.options.rootDir,o.input)])),logLevel:e.options.debug?"debug":"info",onLog:G((o,i)=>{let s=i.message;if(i.stack&&(s=`${s}
13
+ ${i.stack}`),o==="warn"&&i.plugin==="node-resolve"&&s.includes("Could not resolve import")&&(e.options.rollup.resolve&&typeof e.options.rollup.resolve=="object"?e.options.rollup.resolve.unresolvedImportBehavior??"error":"error")==="error"){const r=new Error(s);throw i.id&&(r.id=i.id),r}switch(o){case"info":{e.logger.info({message:s,prefix:t+(i.plugin?`:plugin:${i.plugin}`:"")});return}case"warn":{e.logger.warn({message:s,prefix:t+(i.plugin?`:plugin:${i.plugin}`:"")});return}case"debug":e.logger.debug({message:s,prefix:t+(i.plugin?`:plugin:${i.plugin}`:"")})}},"onLog"),onwarn(o,i){$o(o,e)||o.code||i(o)},preserveEntrySignatures:"strict",treeshake:{moduleSideEffects:!0,preset:"smallest"},watch:e.mode==="watch"?e.options.rollup.watch:!1}),"baseRollupOptions"),jo=G(async(e,t)=>{const o=Be(e.pkg,e.options);let i;e.options.rollup.resolve&&e.options.experimental?.oxcResolve!==!0?i=Yt({...e.options.rollup.resolve}):e.options.experimental?.oxcResolve&&e.options.rollup.experimental?.resolve&&(i=to(e.options.rollup.experimental.resolve,e.options.rootDir,e.logger,e.tsconfig?.path));const s=e.options.unbundle||e.options.rollup.output?.preserveModules?{preserveModules:!0,preserveModulesRoot:e.options.rollup.output?.preserveModulesRoot??e.options.sourceDir}:{manualChunks:wn(e.dependencyGraphMap,e.buildEntries),preserveModules:!1},[r,n,a]=Kt(e.options.rollup.plugins,"build"),d=e.tsconfig?.config.compilerOptions?.esModuleInterop;let l,p;return e.options.rollup.pure&&(l=$n({...e.options.rollup.pure,functions:["Object.defineProperty","Object.assign","Object.create","Object.freeze","Object.seal","Object.setPrototypeOf","Object.getOwnPropertyDescriptor","Object.getOwnPropertyDescriptors","Object.getPrototypeOf","Object.hasOwnProperty","Object.isExtensible","Object.isFrozen","Object.isSealed","Symbol","Symbol.for","Symbol.keyFor","Symbol.iterator","Symbol.asyncIterator","Symbol.hasInstance","Symbol.isConcatSpreadable","Symbol.species","Symbol.toPrimitive","Symbol.toStringTag","Proxy","Reflect.apply","Reflect.construct","Reflect.defineProperty","Reflect.deleteProperty","Reflect.get","Reflect.getOwnPropertyDescriptor","Reflect.getPrototypeOf","Reflect.has","Reflect.isExtensible","Reflect.ownKeys","Reflect.preventExtensions","Reflect.set","Reflect.setPrototypeOf","WeakMap","WeakSet","WeakRef","Array.from","Array.of","Array.isArray","Number.isFinite","Number.isInteger","Number.isNaN","Number.isSafeInteger","Number.parseFloat","Number.parseInt","String.fromCharCode","String.fromCodePoint","String.raw","Date.now","Date.parse","Date.UTC","Math.abs","Math.acos","Math.acosh","Math.asin","Math.asinh","Math.atan","Math.atan2","Math.atanh","Math.cbrt","Math.ceil","Math.clz32","Math.cos","Math.cosh","Math.exp","Math.expm1","Math.floor","Math.fround","Math.hypot","Math.imul","Math.log","Math.log10","Math.log1p","Math.log2","Math.max","Math.min","Math.pow","Math.random","Math.round","Math.sign","Math.sin","Math.sinh","Math.sqrt","Math.tan","Math.tanh","Math.trunc","JSON.parse","JSON.stringify","require.resolve","Buffer.from","Buffer.alloc","Buffer.allocUnsafe","Buffer.isBuffer",...e.options.rollup.pure?.functions??[]],sourcemap:e.options.sourcemap}),l.transform.order="pre",p=xn({constructors:["Proxy","WeakMap","WeakSet","WeakRef",...e.options.rollup.pure?.functions?.filter(u=>typeof u=="string"&&!u.includes("."))??[]],sourcemap:e.options.sourcemap})),{...xo(e,"build"),output:[e.options.emitCJS&&{assetFileNames:"[name]-[hash][extname]",chunkFileNames:xt(()=>ee(e,"cjs"),e.options.unbundle||e.options.rollup.output?.preserveModules===!0),compact:e.options.minify,dir:P(e.options.rootDir,e.options.outDir),entryFileNames:jt(u=>ee(e,"cjs"),e.options.unbundle||e.options.rollup.output?.preserveModules===!0),esModule:d??"if-default-prop",exports:"auto",extend:!0,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,...s},e.options.emitESM&&{assetFileNames:"[name]-[hash][extname]",chunkFileNames:xt(()=>ee(e,"esm"),e.options.unbundle||e.options.rollup.output?.preserveModules===!0),compact:e.options.minify,dir:P(e.options.rootDir,e.options.outDir),entryFileNames:jt(u=>{if(e.options.unbundle||e.options.rollup.output?.preserveModules===!0)return"js";if(u.facadeModuleId?.endsWith(".mts")){const f=u.facadeModuleId.replace(/\.mts$/,".cts");if(Gt(f))return"mjs"}return!e.options.emitCJS&&e.options.emitESM&&e.pkg.main?.endsWith(".cjs")?"mjs":ee(e,"esm")},e.options.unbundle||e.options.rollup.output?.preserveModules===!0),esModule:d??"if-default-prop",exports:"auto",extend:!0,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,...s}].filter(Boolean),plugins:[Ut(),Fn(),L(Qt(),t),bo(e.pkg),so(),e.tsconfig&&L(ro(e.options.rootDir,e.logger,e.tsconfig),t),e.tsconfig&&e.options.rollup.tsconfigPaths&&L(ao(e.options.rootDir,e.tsconfig,e.logger,e.options.rollup.tsconfigPaths),t),wo(e),vo(e),e.options.rollup.replace&&(()=>{const u={sourcemap:e.options.sourcemap,...e.options.rollup.replace,values:e.options.rollup.replace.values?{...e.options.rollup.replace.values}:{}};return Zt(u)})(),e.options.rollup.alias&&eo({customResolver:i,...e.options.rollup.alias,entries:o}),...r,i,e.options.rollup.nativeModules&&Bn(e.options.rollup.nativeModules),e.options.rollup.dataUri&&Tn({...e.options.rollup.dataUri}),e.options.rollup.polyfillNode&&jn({sourceMap:e.options.sourcemap,...e.options.rollup.polyfillNode}),e.options.rollup.json&&no({...e.options.rollup.json}),e.options.rollup.debarrel&&Rn(e.options.rollup.debarrel,e.logger),kn(),e.options.rollup.wasm&&En(e.options.rollup.wasm),e.options.rollup.url&&Vn(e.options.rollup.url),e.options.rollup.css&&e.options.rollup.css.loaders&&e.options.rollup.css.loaders.length>0&&L(await qn({dts:!!e.options.declaration||e.options.isolatedDeclarationTransformer!==void 0,sourceMap:e.options.sourcemap,...e.options.rollup.css},e.options.browserTargets,e.options.rootDir,e.options.sourceDir,e.environment,e.options.sourcemap,e.options.debug,e.options.minify??!1,o),t),e.options.rollup.css&&e.options.rollup.css.loaders&&e.options.rollup.css.loaders.length>0&&e.options.declaration&&Gn(e.options.rollup.css,e.options.rootDir),e.options.rollup.raw&&L(_n(e.options.rollup.raw),t),e.options.sourcemap&&Ln(e.options.rollup.sourcemap),...n,e.options.rollup.minifyHTMLLiterals&&e.options.minify&&zn({...e.options.rollup.minifyHTMLLiterals,logger:e.logger}),e.options.declaration&&e.options.rollup.isolatedDeclarations&&e.options.isolatedDeclarationTransformer&&L(Wn(I(e.options.rootDir,e.options.sourceDir),e),t),e.options.rollup.requireCJS&&e.options.emitESM&&L(Un({...e.options.rollup.requireCJS,cwd:e.options.rootDir},e.logger),t),e.options.rollup.babel&&L(Nn({include:e.options.rollup.babel.include??/\.(?:m|c)?(?:j|t)sx?$/,...e.options.rollup.babel,root:e.options.rootDir,sourceMaps:e.options.rollup.babel.sourceMaps??e.options.sourcemap??!1}),t),p,l,L(e.options.transformer(Qi(e.options.transformerName,e)),t),e.options.rollup.preserveDirectives&&Kn({directiveRegex:/^['|"](use (\w+))['|"]$/,...e.options.rollup.preserveDirectives,logger:e.logger}),e.options.rollup.shebang&&fn(e.options.entries.filter(u=>u.executable).map(u=>u.name).filter(Boolean),e.options.rollup.shebang),e.options.cjsInterop&&e.options.emitCJS&&oo({...e.options.rollup.cjsInterop,logger:e.logger}),e.options.rollup.dynamicVars&&Sn(),e.options.rollup.dynamicVars&&Dn(e.options.rollup.dynamicVars),e.options.rollup.commonjs&&L(On({sourceMap:e.options.sourcemap,...e.options.rollup.commonjs}),t),e.options.rollup.preserveDynamicImports&&{name:"packem:preserve-dynamic-imports",renderDynamicImport(){return{left:"import(",right:")"}}},e.options.cjsInterop&&e.options.rollup.shim&&In(e.pkg,e.options.rollup.shim),e.options.rollup.jsxRemoveAttributes&&L(Jn({attributes:e.options.rollup.jsxRemoveAttributes.attributes,logger:e.logger}),t),...a,e.options.rollup.metafile&&Pn(),e.options.rollup.copy&&Cn(e.options.rollup.copy,e.logger),e.options.rollup.license&&e.options.rollup.license.path&&typeof e.options.rollup.license.dependenciesTemplate=="function"&&io({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.analyze&&e.options.rollup.visualizer!==!1&&Mn({brotliSize:!0,gzipSize:!0,projectRoot:e.options.rootDir,sourcemap:e.options.sourcemap,...e.options.rollup.visualizer,filename:"packem-bundle-analyze.html",title:"Packem Visualizer"})].filter(Boolean),preserveEntrySignatures:"strict"}},"getRollupOptions"),Zi=G(e=>{const t=e.options.rollup.dts?.resolve;if(t===!1)return!1;if(t===!0)return!0;const o=[...Object.keys(e.pkg.optionalDependencies??{})],i=e.pkg.peerDependencies??{};if(e.pkg.peerDependenciesMeta)for(const[a,d]of Object.entries(e.pkg.peerDependenciesMeta))d&&typeof d=="object"&&"optional"in d&&d.optional&&a in i&&o.push(a);if(o.length===0&&!t)return!1;const s=[...o,...t??[]],r=new Set,n=[];for(const a of s)typeof a=="string"?r.has(a)||(r.add(a),n.push(a)):n.push(a);return n},"computeDtsResolve"),es=G(async(e,t)=>{const{dts:o}=await import("@visulima/rollup-plugin-dts"),i=e.options.rollup.dts??{};return o({...i,compilerOptions:{...i.compilerOptions,incremental:void 0,inlineSources:void 0,sourceMap:void 0,tsBuildInfoFile:void 0},emitDtsOnly:!0,resolve:t??!1,tsconfig:e.tsconfig?.path})},"createDtsPlugin"),ts=Ko(es),ko=G(async(e,t)=>{const o=Be(e.pkg,e.options),i=e.tsconfig?.config.compilerOptions,s=Zi(e);delete i?.lib;let r;e.options.rollup.resolve&&e.options.experimental?.oxcResolve!==!0?r=Yt({...e.options.rollup.resolve}):e.options.experimental?.oxcResolve&&e.options.rollup.experimental?.resolve&&(r=to(e.options.rollup.experimental.resolve,e.options.rootDir,e.logger,e.tsconfig?.path));const n=`dts-plugin:${process.pid}${e.tsconfig.path}`,[a,d,l]=Kt(e.options.rollup.plugins,"dts");return{...xo(e,"dts"),onwarn(p,u){$o(p,e)||p.code!=="EMPTY_BUNDLE"&&u(p)},output:[e.options.emitCJS&&{chunkFileNames:G(p=>fe(p,ne(e,"cjs")),"chunkFileNames"),compact:e.options.minify,dir:P(e.options.rootDir,e.options.outDir),entryFileNames:`[name].${ne(e,"cjs")}`,format:"cjs",sourcemap:e.options.sourcemap,...e.options.rollup.output},e.options.emitESM&&{chunkFileNames:G(p=>fe(p,ne(e,"esm")),"chunkFileNames"),compact:e.options.minify,dir:P(e.options.rootDir,e.options.outDir),entryFileNames:`[name].${ne(e,"esm")}`,format:"esm",sourcemap:e.options.sourcemap,...e.options.rollup.output},e.options.declaration==="compatible"&&{chunkFileNames:G(p=>fe(p,"d.mjs"),"chunkFileNames"),compact:e.options.minify,dir:P(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.ts",format:"cjs",sourcemap:e.options.sourcemap,...e.options.rollup.output}].filter(Boolean),plugins:[Ut(),L(Qt(),t),L(so(),t),bo(e.pkg,{dtsResolve:s,forTypes:!0,skipUnlistedWarnings:!0}),e.options.rollup.json&&no({...e.options.rollup.json}),{load(p){if(!/\.(?:js|cjs|mjs|jsx|ts|tsx|ctsx|mtsx|mts|json)$/.test(p))return""},name:"packem:ignore-files"},e.tsconfig&&L(ro(e.options.rootDir,e.logger,e.tsconfig),t),e.tsconfig&&e.options.rollup.tsconfigPaths&&L(ao(e.options.rootDir,e.tsconfig,e.logger,e.options.rollup.tsconfigPaths),t),wo(e),vo(e,{dtsResolve:s}),e.options.rollup.replace&&(()=>{const p={sourcemap:e.options.sourcemap,...e.options.rollup.replace,values:e.options.rollup.replace.values?{...e.options.rollup.replace.values}:{}};return Zt(p)})(),e.options.rollup.alias&&eo({customResolver:r,...e.options.rollup.alias,entries:o}),...a,r,...d,...await ts(n)(e,s),e.options.emitCJS&&An(),e.options.cjsInterop&&e.options.emitCJS&&oo({...e.options.rollup.cjsInterop,logger:e.logger}),e.options.rollup.patchTypes&&L(Hn(e.options.rollup.patchTypes,e.logger),t),mn(),...l,e.options.rollup.license&&e.options.rollup.license.path&&typeof e.options.rollup.license.dtsTemplate=="function"&&io({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 os=Object.defineProperty,ve=w((e,t)=>os(e,"name",{value:t,configurable:!0}),"l$7");const Je="rollup-watch.json",kt=ve(({context:e,doOnSuccessCleanup:t,fileCache:o,mode:i,runBuilder:s,runOnsuccess:r,useCache:n,watcher:a})=>{const d=`watcher:${i}`;a.on("change",async(l,{event:p})=>{await t?.(),e.logger.info({message:`${K(ie(".",l))} was ${p}d`,prefix:d})}),a.on("restart",()=>{e.logger.info({message:"Rebuilding ...",prefix:d})}),a.on("event",async l=>{switch(l.code){case"BUNDLE_END":{await l.result.close(),n&&o.set(i==="bundle"?Je:`dts-${Je}`,l.result.cache),e.logger.raw(`
14
+ ⚡️ Build run in ${l.duration}ms
15
+
16
+ `),await s?.(!0);break}case"BUNDLE_START":{e.logger.info({message:K("build started..."),prefix:d});break}case"END":{e.logger.success({message:"Rebuild finished",prefix:d}),await r?.();break}case"ERROR":{Jt(l.error),e.logger.error({context:[l.error],message:`Rebuild failed: ${l.error.message}`,prefix:d});break}}})},"watchHandler"),ns=ve((e,t)=>{const o=[];Array.isArray(t.input)?o.push(...t.input):typeof t.input=="string"?o.push(t.input):o.push(...Object.keys(t.input??{}));let i="Starting watcher for entries:";for(const s of o)i+=se(`
17
+ └─ ${ie(process.cwd(),s)}`);e.logger.info(i)},"logInputs"),is=ve((e,t)=>{e.options.rollup.watch&&typeof t.watch=="object"&&t.watch.include===void 0&&(t.watch={...t.watch,...e.options.rollup.watch},t.watch.include=[I(e.options.sourceDir,"**","*"),"package.json","packem.config.*","tsconfig.json","tsconfig.*.json"],Array.isArray(e.options.rollup.watch.include)?t.watch.include=[...t.watch.include,...e.options.rollup.watch.include]:e.options.rollup.watch.include&&t.watch.include.push(e.options.rollup.watch.include),t.watch.chokidar={cwd:e.options.rootDir,...t.watch.chokidar,ignored:["**/.git/**","**/node_modules/**","**/test-results/**",...t.watch.chokidar?.ignored??[]]})},"configureWatchOptions"),ss=ve(async(e,t,o,i,s)=>{let r=!0;(e.options.rollup.isolatedDeclarations||e.options.isolatedDeclarationTransformer||e.options.rollup.css)&&(r=!1);let n=[];const a=ve(async()=>{await Promise.all(n.map(u=>u.close())),n=[]},"closeWatchers"),d=ve(async()=>{const u=await jo(e,t);if(await e.hooks.callHook("rollup:options",e,u),Object.keys(u.input).length===0)return;r&&(u.cache=t.get(Je)),is(e,u);const f=pt(u);if(await e.hooks.callHook("rollup:watch",e,f),ns(e,u),kt({context:e,doOnSuccessCleanup:s,fileCache:t,mode:"bundle",runBuilder:o,runOnsuccess:i,useCache:r,watcher:f}),n.push(f),e.options.declaration&&e.options.rollup.isolatedDeclarations&&e.options.isolatedDeclarationTransformer)e.logger.info({message:"Using isolated declaration transformer to generate declaration files...",prefix:"dts"});else if(e.options.declaration){const c=await ko(e,t);r&&(c.cache=t.get(`dts-${Je}`)),await e.hooks.callHook("rollup:dts:options",e,c);const g=pt(c);await e.hooks.callHook("rollup:watch",e,g),kt({context:e,fileCache:t,mode:"types",useCache:r,watcher:g}),n.push(g)}},"startWatchers");await d();const l=I(e.options.rootDir,"package.json");let p;vn(l,()=>{clearTimeout(p),p=setTimeout(async()=>{e.logger.info("package.json changed, restarting watchers...");try{await a();const{packageJson:u}=ze(e.options.rootDir);e.pkg=u,e.options.entries.length=0,e.buildEntries.length=0,await e.hooks.callHook("build:prepare",e),await go(e),await d()}catch(u){e.logger.error({message:`Failed to restart watchers: ${u.message}`,prefix:"watcher"})}},100)})},"watch");var rs=Object.defineProperty,as=w((e,t)=>rs(e,"name",{value:t,configurable:!0}),"e$3");const ls=as(async e=>{if(e.options.clean){const t=[];for(const o of new Set(e.options.entries.map(i=>i.outDir).filter(Boolean).toSorted()))o===e.options.rootDir||o===e.options.sourceDir||e.options.rootDir.startsWith(o.endsWith("/")?o:`${o}/`)||t.some(i=>o.startsWith(i))||(t.push(o),e.logger.info(`Cleaning dist directory: \`./${ie(e.options.rootDir,o)}\``),await Ao(o))}},"cleanDistributionDirectories");var ps=Object.defineProperty,cs=w((e,t)=>ps(e,"name",{value:t,configurable:!0}),"o$4");const us=cs(()=>Zn((e,t,o)=>{if(t==="hooks"&&typeof o=="object"&&o!==null&&!Array.isArray(o)){const i=typeof e[t]=="object"&&e[t]!==null&&!Array.isArray(e[t])?e[t]:{};return e[t]={...i,...o},!0}return!1}),"createDefuWithHooksMerger");var ds=Object.defineProperty,Oe=w((e,t)=>ds(e,"name",{value:t,configurable:!0}),"t$2");const fs=ti,ms=Oe((e,t)=>{const{sideEffects:o}=t;let i;if(typeof o=="boolean")i=Oe(()=>o,"hasSideEffects");else if(Array.isArray(o))if(o.length<=0)i=Oe(()=>!1,"hasSideEffects");else{const s=o.map(r=>r.includes("/")?r:`**/${r}`);i=fs(s,void 0,{resolve:e})}else i=Oe(()=>{},"hasSideEffects");return i},"getPackageSideEffect");var gs=Object.defineProperty,we=w((e,t)=>gs(e,"name",{value:t,configurable:!0}),"t$1");function Eo(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}w(Eo,"getDefaultExportFromCjs");we(Eo,"getDefaultExportFromCjs");function hs(e){return e&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}w(hs,"getDefaultExportFromNamespaceIfPresent");we(hs,"getDefaultExportFromNamespaceIfPresent");function ys(e){return e&&Object.prototype.hasOwnProperty.call(e,"default")&&Object.keys(e).length===1?e.default:e}w(ys,"getDefaultExportFromNamespaceIfNotNamed");we(ys,"getDefaultExportFromNamespaceIfNotNamed");function bs(e){if(Object.prototype.hasOwnProperty.call(e,"__esModule"))return e;var t=e.default;if(typeof t=="function"){var o=we(w(function i(){var s=!1;try{s=this instanceof i}catch{}return s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)},"a"),"a");o.prototype=t.prototype}else o={};return Object.defineProperty(o,"__esModule",{value:!0}),Object.keys(e).forEach(function(i){var s=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(o,i,s.get?s:{enumerable:!0,get:we(function(){return e[i]},"get")})}),o}w(bs,"getAugmentedNamespace");we(bs,"getAugmentedNamespace");var Ke,Et;function vs(){if(Et)return Ke;Et=1;var e=Object.defineProperty,t=w((d,l)=>e(d,"name",{value:l,configurable:!0}),"s"),o=oi,i=o.spawn,s=o.exec;Ke=w(function(d,l,p){if(typeof l=="function"&&p===void 0&&(p=l,l=void 0),d=parseInt(d),Number.isNaN(d)){if(p)return p(new Error("pid must be a number"));throw new Error("pid must be a number")}var u={},f={};switch(u[d]=[],f[d]=1,process.platform){case"win32":s("taskkill /pid "+d+" /T /F",p);break;case"darwin":a(d,u,f,function(c){return i("pgrep",["-P",c])},function(){r(u,l,p)});break;default:a(d,u,f,function(c){return i("ps",["-o","pid","--no-headers","--ppid",c])},function(){r(u,l,p)});break}},"treeKill");function r(d,l,p){var u={};try{Object.keys(d).forEach(function(f){d[f].forEach(function(c){u[c]||(n(c,l),u[c]=1)}),u[f]||(n(f,l),u[f]=1)})}catch(f){if(p)return p(f);throw f}if(p)return p()}w(r,"killAll"),t(r,"killAll");function n(d,l){try{process.kill(parseInt(d,10),l)}catch(p){if(p.code!=="ESRCH")throw p}}w(n,"killPid"),t(n,"killPid");function a(d,l,p,u,f){var c=u(d),g="";c.stdout.on("data",function(m){var m=m.toString("ascii");g+=m});var y=t(function(h){if(delete p[d],h!=0){Object.keys(p).length==0&&f();return}g.match(/\d+/g).forEach(function(m){m=parseInt(m,10),l[d].push(m),l[m]=[],p[m]=1,a(m,l,p,u,f)})},"onClose");c.on("close",y)}return w(a,"buildProcessTree"),t(a,"buildProcessTree"),Ke}w(vs,"requireTreeKill");var ws=vs();const $s=Eo(ws);var xs=Object.defineProperty,So=w((e,t)=>xs(e,"name",{value:t,configurable:!0}),"l$5");const js=So(e=>process.platform==="win32"&&"cmd"in e&&"code"in e&&typeof e.cmd=="string"&&e.cmd.startsWith("taskkill")&&e.code===128,"isTaskKillCmdProcessNotFoundError"),ks=So(async({pid:e,signal:t})=>await new Promise((o,i)=>{if(!Number.isInteger(e)||e<=0){i(new Error("Invalid process ID"));return}$s(e,t,s=>{if(s&&!js(s)){i(s);return}o()})}),"killProcess");var Es=Object.defineProperty,Ss=w((e,t)=>Es(e,"name",{value:t,configurable:!0}),"r$1");const St=Ss((e,t)=>{if(e.warnings.size>0&&(t&&e.logger.raw(`
18
+ `),e.logger.warn(`Build is done with some warnings:
19
+
20
+ ${Array.from(e.warnings,o=>`- ${o}`).join(`
21
+ `)}`),e.options.failOnWarn))throw new Error("Exiting with code (1). You can change this behavior by setting `failOnWarn: false`.")},"logBuildErrors");var Ds=Object.defineProperty,Os=w((e,t)=>Ds(e,"name",{value:t,configurable:!0}),"n$1");const Ps=Os(async(e,t,o)=>{if(e&&await de(I(e,"keystore.json"))){const i=await At(I(e,"keystore.json"));let s=await nn(e,{withFileTypes:!0});s=s.filter(n=>n.isDirectory());let r=o;for(const n of s)if(!i[n.name]){try{await Vt(I(e,n.name),{force:!0,recursive:!0})}catch(a){t.error({message:`Failed to remove cache directory ${n.name}: ${a instanceof Error?a.message:String(a)}`,prefix:"file-cache"});continue}r&&t.raw(`
22
+ `),t.info({message:`Removing ${n.name} file cache, the cache key is not used anymore.`,prefix:"file-cache"}),r=!1}}},"removeOldCacheFolders");var Ms=Object.defineProperty,Ns=w((e,t)=>Ms(e,"name",{value:t,configurable:!0}),"a$6");const Cs=Ns(e=>{if(e.options.runtime!=="node"||e.options.emitCJS!==!0)return;const t=[],o=e.pkg.engines?.node,i=o?lo(o):null;i&&t.push(i.version);const s=at(e.options.rollup.esbuild?.target??[]);for(const n of s)if(typeof n=="string"&&n.startsWith("node")){const a=Ce(n.slice(4));a&&t.push(a.version)}const r=at(e.options.rollup.oxc?.target??[]);for(const n of r)if(typeof n=="string"&&n.startsWith("node")){const a=Ce(n.slice(4));a&&t.push(a.version)}if(t.length===0){const n=Ce(Ft.node);n&&t.push(n.version)}t.some(n=>po(n,">=23.0.0 || >=22.12.0"))&&e.logger.warn(["We recommend using the ESM format instead of CommonJS.","The ESM format is compatible with modern platforms and runtimes, and most new libraries are now distributed only in ESM format.","Learn more at https://nodejs.org/en/learn/modules/publishing-a-package#how-did-we-get-here"].join(`
23
+ `))},"warnLegacyCJS");var Ts=Object.defineProperty,ke=w((e,t)=>Ts(e,"name",{value:t,configurable:!0}),"w");const Rs=si(ni.exec);function Do(e){const t=new Map;return(...o)=>{const i=o.toString();if(t.has(i))return t.get(i);const s=e(...o);return t.set(i,s),s}}w(Do,"ye");ke(Do,"memo");const Fs={bundler:"bundler",node10:"node10","node16-cjs":"node16 (from CJS)","node16-esm":"node16 (from ESM)"},Is={"":"",1:"(CJS)",99:"(ESM)"},Dt={CJSOnlyExportsDefault:Ne,CJSResolvesToESM:xe,FallbackCondition:xe,FalseCJS:$e,FalseESM:$e,FalseExportDefault:Ne,InternalResolutionError:$e,MissingExportEquals:Ne,NamedExports:xe,NoResolution:$e,UnexpectedModuleSyntax:$e,UntypedResolution:xe},As={esmOnly:["node10","node16-cjs"],node16:["node10"],strict:[]},Ws=ke(e=>{if(e.startsWith("{"))return e;const t=/\{\s*"name"/.exec(e)?.index;if(t!=null)return e.slice(t);const o=e.indexOf("{");return o!==-1?e.slice(o):e},"fixPnpmStdout"),Js=ke(e=>{const t=e.split(`
24
+ `);let o="[";for(const i of t)i&&(o+=`${i},`);return o.at(-1)===","&&(o=o.slice(0,-1)),o+="]",o},"fixYarnStdout"),zs=ke(async(e,t)=>{if(!e.options?.validation)return;const o=e.options.validation;if(!o.attw)return;const{packageJson:i}=ze(e.options.rootDir);if(e.logger.log(i),e.pkg=i,t&&e.logger.raw(`
25
+ `),!e.pkg){e.logger.warn({message:"attw is enabled but package.json is not found",prefix:"attw"});return}await Bo(e.pkg,["@arethetypeswrong/core","package-manager-detector"],"devDependencies",{logger:{warn:ke($=>{e.logger.warn({message:$,prefix:"attw"})},"warn")}});let{level:s="warn",pm:r="auto",profile:n="strict",...a}=o.attw===!0?{}:o.attw;const d=performance.now();e.logger.debug({message:"Running attw check",prefix:"attw"});const l=await sn(I(ii(),"packem-attw-"));let p;try{p=await import("@arethetypeswrong/core")}catch{e.logger.error({message:`ATTW check requires ${Ne`@arethetypeswrong/core`} to be installed.`,prefix:"attw"});return}let u;switch(r){case"auto":{const{detect:$}=await import("package-manager-detector/detect"),M=await $({cwd:e.options.rootDir});if(M){if(M.name==="bun")throw new Error("Bun does not support --json on the pack command");u=M.name}break}case"bun":throw new Error("Bun does not support --json on the pack command");case"pnpm":{u="pnpm";break}case"yarn":{u="yarn";break}default:u="npm"}const{allResolutionKinds:f,getResolutionOption:c,groupProblemsByKind:g}=await import("@arethetypeswrong/core/utils"),{filterProblems:y,problemAffectsEntrypoint:h,problemAffectsResolutionKind:m,problemKindInfo:j}=await import("@arethetypeswrong/core/problems");try{let $=`--pack-destination ${l}`;u==="yarn"?$=`--out "${I(l,"package.tgz")}"`:u==="bun"&&($=` --destination "${l}"`);let M=" --ignore-scripts";u==="yarn"?M="":u==="pnpm"&&(M=" --config.ignore-scripts=true");let{stdout:R}=await Rs(`${u} pack --json ${$}${M}`,{cwd:e.options.rootDir,encoding:"utf8"});R=R.trim(),u==="pnpm"?R=Ws(R):u==="yarn"&&(R=Js(R));const J=JSON.parse(R);if(!J?.filename)throw new Error(`Invalid npm pack output format: ${R}`);const b=J.filename,D=await rn(b),N=p.createPackageFromTarballData(new Uint8Array(D)),v=await p.checkPackage(N,a),S=As[n];if(v.types!==!1&&v.problems.length>0){const F=f.filter(k=>!S.includes(k)),H=f.filter(k=>S.includes(k)),V=[...F,...H],_=Object.keys(v.entrypoints),ge=_.map(k=>`"${k==="."?v.packageName:`${v.packageName}/${k.slice(2)}`}"`),z=_.map((k,O)=>{const x=v.problems.some(T=>h(T,k,v))?"redBright":"greenBright";return Q[x](ge[O])}),ae=Do((k,O)=>{const x=S.includes(O)?"(ignored) ":"",T=g(y(v.problems,v,{entrypoint:k,resolutionKind:O})),B=v.entrypoints[k].resolutions[O],{resolution:X}=B,U=Object.keys(T);if(U.length>0)return U.map(tt=>x+Dt[tt](j[tt].shortDescription)).join(`
26
+ `);const he="OK (JSON)",No=B.isWildcard?"(wildcard)":`OK ${Is[v.programInfo[c(O)].moduleKinds?.[X?.fileName??""]?.detectedKind||""]}`;return x+(X?.isJson?he:No)}),Y=ri({style:{border:ai}});Y.setHeaders(["",...V.map(k=>Fs[k])]),z.forEach((k,O)=>{const[x,T,B,X]=V.map(U=>_.map(he=>ae(he,U)));Y.addRow([k,x[O]??null,T[O]??null,B[O]??null,X[O]??null])});const A=g(v.problems),C=Object.entries(A).map(([k,O])=>{const x=j[k],T=O.some(X=>F.some(U=>m(X,U,v))),B=`${`${x.description}${x.details?` Use \`-f json\` to see ${x.details}.`:""}`} ${x.docsUrl}`;return`${T?"":"(ignored per resolution) "}${Dt[k](B)}`}),W=`Are the types wrong problems found:
27
+
28
+ ${Y.toString()}
29
+
30
+ ${C.join(`
31
+
32
+ `)}`;if(s==="error"){e.logger.error({message:W,prefix:"attw"}),be.exitCode=1;return}e.logger.warn({message:W,prefix:"attw"})}else e.logger.success({message:It(`No Are the types wrong problems found ${To`(${Math.round(performance.now()-d).toString()}ms)`}`),prefix:"attw"})}catch($){e.logger.error({message:`ATTW check failed: ${$.toString()}`,prefix:"attw"}),e.logger.debug({message:"Found errors, setting exit code to 1",prefix:"attw"}),be.exitCode=1}finally{await Vt(l,{force:!0,recursive:!0}).catch(()=>{})}},"attw");var Bs=Object.defineProperty,Oo=w((e,t)=>Bs(e,"name",{value:t,configurable:!0}),"n");const Ot=Oo(e=>Array.from(e,t=>xe(t)).join(", "),"joinWarnings"),Ks=Oo(e=>{if(e.hoistedDependencies.size>0){const o=`These dependencies are shamefully hoisted: ${Ot(e.hoistedDependencies)}`;E(e,o)}let t=Object.keys(e.pkg.dependencies||{}).filter(o=>!e.usedDependencies.has(o));if(e.options?.validation&&e.options?.validation?.dependencies!==!1&&e.options?.validation?.dependencies?.unused!==!1&&(t=t.filter(o=>!e.options?.validation?.dependencies?.unused?.exclude.includes(o))),t.length>0){const o=`These dependencies are listed in package.json but not used: ${Ot(t)}`;E(e,o)}},"validateDependencies");var _s=Object.defineProperty,Us=w((e,t)=>_s(e,"name",{value:t,configurable:!0}),"o$2");const Pt=">=18.0.0",Ls=Us(e=>{const t=e.options.validation,{pkg:o}=e;if(t.packageJson?.engines===!1)return;const i=process.version,s=o.engines?.node;if(!s){E(e,`The 'engines.node' field is missing in your package.json. Consider adding "engines": { "node": "${Pt}" } to specify Node.js version requirements.`);return}if(!Xn(s)){E(e,`Invalid Node.js version range "${s}" in engines.node field. Please use a valid semver range like "${Pt}".`);return}if(!po(i,s))throw new Error(`Node.js version mismatch: Current version ${i} does not satisfy the required range "${s}" specified in package.json engines.node field.`)},"validateEngines");var Vs=Object.defineProperty,Po=w((e,t)=>Vs(e,"name",{value:t,configurable:!0}),"i$1");const Hs=Po((e,t)=>li(e,t)<=e.length/3||t.includes(e),"isSimilar"),qs=Po((e,t)=>{const o=e.toLowerCase();return t.filter(i=>Hs(i.toLowerCase(),o))},"findAlternatives");var Gs=Object.defineProperty,Mt=w((e,t)=>Gs(e,"name",{value:t,configurable:!0}),"o$1");const Xs=Mt(e=>{const{options:t}=e,o=t.validation;if(o.packageJson?.exports===!1)return;let i=[];t.dtsOnly||o.packageJson?.bin===!1?i=[""]:typeof e.pkg.bin=="string"?i=[e.pkg.bin]:typeof e.pkg.bin=="object"&&(i=Object.values(e.pkg.bin));const s=e.pkg.type==="module"?"esm":"cjs",r=new Set([t.declaration&&o.packageJson?.types?e.pkg.types:"",t.declaration&&o.packageJson?.types?e.pkg.typings:"",...i,t.dtsOnly&&o.packageJson?.main===!1?"":e.pkg.main,t.dtsOnly&&o.packageJson?.module===!1?"":e.pkg.module,...o.packageJson?.exports?Qe(e.pkg.exports,s,t.declaration,[],t.ignoreExportKeys).filter(l=>!l.ignored).map(l=>t.dtsOnly?l.subKey==="types"?l.file:void 0:l.file):[]].filter(Boolean).map(l=>l&&P(t.rootDir,l.replace(/\/[^*/]*\*[^\n\r/\u2028\u2029]*(?:[\n\r\u2028\u2029][^*/]*\*[^\n\r/\u2028\u2029]*)*(?:\/.*)?$/,"")))),n=[];for(const l of r)l&&!l.includes("*")&&!Gt(l)&&n.push(l.replace(`${t.rootDir}/`,""));const a=Mt(l=>ie(t.rootDir,P(t.outDir,l)),"rPath"),d=e.buildEntries.filter(l=>!l.chunk).map(l=>a(l.path));if(n.length>0){let l="Potential missing or wrong package.json files:";for(const p of n){const u=qs(p,d);l+=`
33
+ - ${K(p)}${u.length>0?Ro` (did you mean ${u.map(f=>`"${f}"`).join(", ")}?)`:""}`}E(e,l)}},"validatePackageEntries");var Ys=Object.defineProperty,Te=w((e,t)=>Ys(e,"name",{value:t,configurable:!0}),"y$2");const Qs=Te((e,t)=>{const o=e.options.validation;if(o.packageJson?.exports===!1)return;const i=new Set(["default","import","module-sync","node","node-addons","require"]),s=new Set(["browser","bun","deno","development","edge-light","electron","production","react-native","react-server","types","workerd"]),r=o.packageJson?.extraConditions||[],n=new Set(r),a=new Set([...s,...n,...i]),d=Te((l,p)=>{if(l!==null){if(typeof l=="string"){if(!l.startsWith("./")){E(e,`Invalid exports path "${l}" at ${p}. Export paths must start with "./"`);return}if(l.includes("../")){E(e,`Invalid exports path "${l}" at ${p}. Export paths should not contain "../" for security reasons`);return}const u=o.packageJson?.allowedExportExtensions||[],f=[...Uo,...u];if(Le(l)){try{const c=l.startsWith("./")?P(e.options.rootDir,l.slice(2)):P(e.options.rootDir,l),g=qt([c],{cwd:e.options.rootDir,dot:!1,ignore:["**/node_modules/**","**/.git/**","**/dist/**"]});if(g.length===0)return;const y=g.filter(h=>!f.some(m=>h.endsWith(m)));y.length>0&&E(e,`Export path "${l}" at ${p} matches files with invalid extensions: ${y.join(", ")}. Valid extensions are: ${f.join(", ")}`)}catch(c){E(e,`Could not validate glob pattern "${l}" at ${p}: ${c instanceof Error?c.message:"Unknown error"}`)}return}f.some(c=>l.endsWith(c))||E(e,`Export path "${l}" at ${p} should have a valid file extension (${f.join(", ")})`);return}if(Array.isArray(l)){if(l.length===0){E(e,`Empty fallback array at ${p}. Fallback arrays should contain at least one entry`);return}l.forEach((u,f)=>{d(u,`${p}[${f}]`)});return}if(typeof l=="object"&&l!==null){const u=Object.keys(l);if(u.length===0){E(e,`Empty conditions object at ${p}. Conditional exports should define at least one condition`);return}const f=u.filter(g=>!a.has(g));if(f.length>0){const g=r.length>0,y=[...i].join(", ");g?E(e,`Unknown export conditions [${f.join(", ")}] at ${p}. Consider using standard conditions (${y}) or add custom conditions to 'validation.packageJson.extraConditions' in your packem config.`):E(e,`Unknown export conditions [${f.join(", ")}] at ${p}. Consider using standard conditions (${y}) or add custom conditions using the 'extraConditions' option in your validation config.`)}const c=u.filter(g=>i.has(g));if(c.length>1){const g=["node-addons","node","import","require","module-sync","default"],y=c,h=g.filter(m=>y.includes(m));JSON.stringify(y)!==JSON.stringify(h)&&E(e,`Incorrect condition order at ${p}. Standard conditions should be ordered: ${h.join(" > ")}`)}u.includes("import")&&u.includes("require"),u.includes("development")&&u.includes("production")&&E(e,`Conflicting conditions "development" and "production" at ${p}. These conditions are mutually exclusive`),u.forEach(g=>{d(l[g],`${p}.${g}`)});return}E(e,`Invalid exports value type at ${p}. Expected string, array, object, or null`)}},"validateExportsValue");Te(l=>{if(typeof l=="string"){d(l,"exports");return}if(Array.isArray(l)){l.forEach((p,u)=>{d(p,`exports[${u}]`)});return}if(typeof l=="object"&&l!==null){const p=Object.keys(l);if(p.length===0){E(e,"Empty exports object. Define at least one export entry");return}const u=p.filter(c=>c.startsWith(".")),f=p.filter(c=>!c.startsWith("."));if(u.length>0&&f.length>0){E(e,'Mixed subpaths and conditions in exports object. Use either subpaths (keys starting with ".") or conditions, not both');return}u.length>0?(p.includes(".")||E(e,'Missing main export ".". Subpaths exports should include a main export entry'),p.forEach(c=>{c.startsWith("./")||c==="."||c.startsWith(".")&&!c.startsWith("./")&&E(e,`Invalid subpath "${c}". Subpaths should start with "./" or be exactly "."`),c.includes("*")&&(c.match(/\*/g)||[]).length>1&&E(e,`Invalid subpath pattern "${c}". Only one "*" wildcard is allowed per subpath`),d(l[c],`exports["${c}"]`)})):d(l,"exports");return}E(e,"Invalid exports field type. Expected string, array, or object")},"validateExportsObject")(t)},"validateExports"),Zs=Te(e=>{const t=e.options.validation,{pkg:o}=e,i=ee(e,"cjs"),s=ee(e,"esm");o.name===void 0&&t.packageJson?.name!==!1&&E(e,"The 'name' field is missing in your package.json. Please provide a valid package name."),t.packageJson?.files!==!1&&Array.isArray(o.files)&&!o.files.includes("*")&&(o.files.length===0?E(e,"The 'files' field in your package.json is empty. Please specify the files to be included in the package."):o.files.some(a=>a.includes(e.options.outDir))||E(e,`The 'files' field in your package.json is missing the '${e.options.outDir}' directory. Ensure the output directory is included.`));const r=o.type==="commonjs"||o.type===void 0,n=o.type==="module";if(r?(t.packageJson?.main!==!1&&(o.main===void 0&&E(e,"The 'main' field is missing in your package.json. This field should point to your main entry file."),o.main?.endsWith(`.${s}`)&&E(e,`The 'main' field in your package.json should not use a '.${s}' extension for CommonJS modules.`)),t.packageJson?.module!==!1&&(o.module===void 0&&e.options.emitESM&&E(e,"The 'module' field is missing in your package.json, but you are emitting ES modules."),o.module&&o.main&&o.module===o.main&&E(e,`Conflict detected: The 'module' and 'main' fields both point to '${o.module}'. Please ensure they refer to different module types.`),e.options.emitESM&&o.module?.endsWith(`.${i}`)&&E(e,`The 'module' field in your package.json should not use a '.${i}' extension for ES modules.`))):n&&(o.exports===void 0&&!e.options.emitCJS?t.packageJson?.exports!==!1&&E(e,"The 'exports' field is missing in your package.json. Define module exports explicitly."):e.options.emitCJS&&(t.packageJson?.main!==!1&&o.main===void 0&&E(e,"The 'main' field is missing in your package.json. This field is needed when emitting CommonJS modules."),t.packageJson?.module!==!1&&(o.module===void 0&&E(e,"The 'module' field is missing in your package.json. This field is necessary when emitting ES modules."),o.module?.endsWith(`.${i}`)&&E(e,`The 'module' field should not use a '.${i}' extension for ES modules.`),o.module&&o.main&&o.module===o.main&&E(e,`Conflict detected: The 'module' and 'main' fields both point to '${o.module}'. Please ensure they refer to different module types.`)),t.packageJson?.exports!==!1&&o.exports===void 0&&E(e,"The 'exports' field is missing in your package.json. This field is required for defining explicit exports."))),o.exports!==void 0&&Qs(e,o.exports),t.packageJson?.bin!==!1){const a=r?s:i;if(i!==s){if(typeof o.bin=="string"&&o.bin.endsWith(`.${a}`))E(e,`The 'bin' field in your package.json should not use a .${a} extension for ${r?"CommonJS":"ES modules"} binaries.`);else if(typeof o.bin=="object")for(const[d,l]of Object.entries(o.bin))l&&l.endsWith(`.${a}`)&&E(e,`The 'bin.${d}' field in your package.json should not use a .${a} extension for ${r?"CommonJS":"ES modules"} binaries.`)}}if(e.options.declaration){let a=!0;o.type==="module"&&(a=!!o.main?.endsWith(`.${i}`)),o.types===void 0&&o.typings===void 0&&a&&t.packageJson?.types!==!1&&E(e,"The 'types' field is missing in your package.json. This field should point to your type definitions file."),(e.options.declaration===!0||e.options.declaration==="compatible")&&a&&t.packageJson?.typesVersions!==!1&&(o.typesVersions===void 0||Object.keys(o.typesVersions).length===0)&&E(e,"No 'typesVersions' field found in your package.json. Consider adding this field, or change the declaration option to 'node16' or 'false'.")}t.packageJson?.sideEffects!==!1&&o.sideEffects===void 0&&E(e,"The 'sideEffects' field is missing in your package.json. Consider adding this field to your package.json.")},"validatePackageFields");var er=Object.defineProperty,tr=w((e,t)=>er(e,"name",{value:t,configurable:!0}),"o");const or=tr(e=>{const{packageJson:t}=ze(e.options.rootDir);e.pkg=t,Ks(e),Ls(e),Zs(e),Xs(e)},"validator");var nr=Object.defineProperty,ir=w((e,t)=>nr(e,"name",{value:t,configurable:!0}),"a$2");const sr=/^[^a-z_@#~]|[^\w/@#~-]|@\/|#\/|~\//i,rr=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","undefined","var","void","volatile","while","with","yield"]),Nt=ir(e=>{if(!Array.isArray(e)&&e!==void 0)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(sr.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(rr.has(t))throw new Error(`Alias name "${t}" is a reserved keyword and cannot be used.`);const i=P(o);if(!le(i))throw new Error(`Target path "${i}" for alias "${t}" does not exist.`)}},"validateAliasEntries");var ar=Object.defineProperty,lr=w((e,t)=>ar(e,"name",{value:t,configurable:!0}),"p$2");const pr=lr((e,t)=>{const o=e.options.validation,{allowFail:i=!1,limit:s,limits:r={}}=o.bundleLimit??{};for(const[n,a]of Object.entries(r)){const d=typeof a=="string"?nt(a):a;if(!Number.isFinite(d)||d<=0){e.logger.debug({message:`Invalid limit for ${n}: ${a}`,prefix:"Validation: File Size"});continue}const l=e.buildEntries.find(p=>{const u=n.replace(new RegExp(`^.?/?${e.options.outDir}/?`),"");return p.path.endsWith(u)||pi(n)(p.path)});if(!l?.size?.bytes){e.logger.debug({message:l?`Entry file has no size information: ${n}.`:`Entry file not found: ${n}, please check your configuration.`,prefix:"Validation: File Size"});continue}if(l.size.bytes>d){const p=`File size exceeds the limit: ${I(e.options.outDir,l.path)} (${q(l.size.bytes)} / ${q(d,{decimals:2})})`;i?(t&&e.logger.raw(`
34
+ `),e.logger.warn({message:p,prefix:"validation:file-size"})):E(e,p)}}if(s){const n=e.buildEntries.reduce((d,l)=>{const p=l.size?.bytes;return d+(typeof p=="number"?p:0)},0),a=typeof s=="string"?nt(s):s;if(!Number.isFinite(a)||a<=0){e.logger.debug({message:`Invalid total limit: ${s}`,prefix:"Validation: File Size"});return}if(n>a){const d=`Total file size exceeds the limit: ${q(n)} / ${q(a,{decimals:2})}`;i?(t&&Object.keys(r).length===0&&e.logger.raw(`
35
+ `),e.logger.warn({message:d,prefix:"validation:file-size"})):E(e,d)}}},"validateBundleSize");var cr=Object.defineProperty,Ct=w((e,t)=>cr(e,"name",{value:t,configurable:!0}),"t");const ur=Ct(async(e,t)=>{if(e.length===0)return[];const o=t<=0||!Number.isFinite(t)?1/0:t,i=Array.from({length:e.length});let s=0;const r=Ct(async()=>{for(;s<e.length;){const a=s;s+=1;const d=e[a];d&&(i[a]=await d())}},"runNext"),n=Array.from({length:Math.min(o,e.length)}).fill(r());return await Promise.all(n),i},"runWithConcurrency");var dr=Object.defineProperty,fr=w((e,t)=>dr(e,"name",{value:t,configurable:!0}),"m");const Tt="rollup-build.json",_e="dependencies-cache.json",mr=fr(async(e,t,o)=>{const i=await jo(e,t);if(await e.hooks.callHook("rollup:options",e,i),Object.keys(i.input).length===0)return;const s=e.options.validation&&e.options.validation.dependencies!==!1&&!!t.get(_e,o),r=!e.options.validation||e.options.validation.dependencies===!1||s;if(r&&(i.cache=t.get(Tt,o),s)){const a=t.get(_e,o);a&&(a.used?.forEach(d=>e.usedDependencies.add(d)),a.hoisted?.forEach(d=>e.hoistedDependencies.add(d)))}const n=await _t(i);try{r&&t.set(Tt,n.cache,o),e.options.validation&&e.options.validation.dependencies!==!1&&t.set(_e,{hoisted:[...e.hoistedDependencies],used:[...e.usedDependencies]},o),await e.hooks.callHook("rollup:build",e,n);const a=new Map;for(const d of i.output){const{output:l}=await n.write(d),p=l.filter(f=>f.type==="chunk"&&f.isEntry);for(const f of p)e.buildEntries.push({chunks:f.imports.filter(c=>p.find(g=>g.fileName===c)),dynamicImports:f.dynamicImports,exports:f.exports,modules:Object.entries(f.modules).map(([c,g])=>({bytes:g.renderedLength,id:c})),path:f.fileName,size:{bytes:Buffer.byteLength(f.code,"utf8")},type:"entry"});const u=l.filter(f=>f.type==="asset");for(const f of u)a.has(f.fileName)||a.set(f.fileName,{path:f.fileName,size:{bytes:Buffer.byteLength(f.source,"utf8")},type:"asset"})}e.buildEntries.push(...a.values())}finally{await n.close()}},"build");var gr=Object.defineProperty,Pe=w((e,t)=>gr(e,"name",{value:t,configurable:!0}),"r");const Rt="rollup-dts.json",hr=Pe(async(e,t,o)=>{if(e.options.declaration&&e.options.rollup.isolatedDeclarations&&e.options.isolatedDeclarationTransformer){e.logger.info({message:"Using isolated declaration transformer to generate declaration files...",prefix:"dts"});return}const i=await ko(e,t);if(await e.hooks.callHook("rollup:dts:options",e,i),Object.keys(i.input).length===0)return;i.cache=t.get(Rt,o);const s=await _t(i);try{if(t.set(Rt,s.cache,o),await e.hooks.callHook("rollup:dts:build",e,s),e.logger.info({message:"Building declaration files...",prefix:"dts"}),e.options.emitCJS){const r=ne(e,"cjs");await s.write({chunkFileNames:Pe(n=>fe(n,r),"chunkFileNames"),dir:P(e.options.rootDir,e.options.outDir),entryFileNames:`[name].${r}`})}if(e.options.emitESM){const r=ne(e,"esm");await s.write({chunkFileNames:Pe(n=>fe(n,r),"chunkFileNames"),dir:P(e.options.rootDir,e.options.outDir),entryFileNames:`[name].${r}`})}(e.options.declaration===!0||e.options.declaration==="compatible")&&await s.write({chunkFileNames:Pe(r=>fe(r,"d.ts"),"chunkFileNames"),dir:P(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.ts"}),await e.hooks.callHook("rollup:dts:done",e)}finally{await s.close()}},"buildTypes");var yr=Object.defineProperty,br=w((e,t)=>yr(e,"name",{value:t,configurable:!0}),"a");const vr=br(async e=>await new Promise((t,o)=>{let i=0;const s=Xt(e).pipe(ci({params:{[ui.BROTLI_PARAM_QUALITY]:11}}));s.on("error",o),s.on("data",r=>{i+=r.length}),s.on("end",()=>{t(i)})}),"brotliSize");var wr=Object.defineProperty,$r=w((e,t)=>wr(e,"name",{value:t,configurable:!0}),"K");const xr=$r((e,t,o,i)=>i!==void 0?e.reduce((s,r)=>{const n=String(r[t]??"undefined"),a=String(r[o]??"undefined"),d=String(r[i]??"undefined");return s[n]||(s[n]={}),s[n][a]||(s[n][a]={}),s[n][a][d]||(s[n][a][d]=[]),s[n][a][d].push(r),s},{}):e.reduce((s,r)=>{const n=String(r[t]??"undefined"),a=String(r[o]??"undefined");return s[n]||(s[n]={}),s[n][a]||(s[n][a]=[]),s[n][a].push(r),s},{}),"groupByKeys");var jr=Object.defineProperty,kr=w((e,t)=>jr(e,"name",{value:t,configurable:!0}),"i");const Er=kr(async e=>await new Promise((t,o)=>{let i=0;const s=Xt(e).pipe(di({level:9}));s.on("error",o),s.on("data",r=>{i+=r.length}),s.on("end",()=>{t(i)})}),"gzipSize");var Sr=Object.defineProperty,oe=w((e,t)=>Sr(e,"name",{value:t,configurable:!0}),"h");const Dr=2,Or=oe((e,t)=>{const o=oe(n=>ie(t.options.rootDir,P(t.options.outDir,n)),"rPath");let i=!1;const s=[],r=t.buildEntries.filter(n=>n.type==="entry");if(r.length>0){e.raw(`Entries:
36
+ `);for(const n of r){let a=n.size?.bytes??0,d=0;for(const p of n.chunks??[]){const u=t.buildEntries.find(f=>f.path.endsWith(p))?.size?.bytes??0;a+=u,d+=u}let l=` ${Q(o(n.path))} (${[`total size: ${K(q(a,{decimals:2}))}`,n.size?.brotli&&`brotli size: ${K(q(n.size.brotli,{decimals:2}))}`,n.size?.gzip&&`gzip size: ${K(q(n.size.gzip,{decimals:2}))}`,d!==0&&`chunk size: ${K(q(d,{decimals:2}))}`].filter(Boolean).join(", ")})`;if(l+=n.exports?.length?`
37
+ exports: ${se(n.exports.join(", "))}`:"",n.chunks?.length&&(l+=`
38
+ ${n.chunks.map(p=>{const u=t.buildEntries.find(f=>f.path===p)??{};return se(` └─ ${o(p)}${Q(u.bytes?` (${q(u?.bytes,{decimals:2})})`:"")}`)}).join(`
39
+ `)}`),n.dynamicImports&&n.dynamicImports.length>0&&(l+=`
40
+ dynamic imports:`,l+=`
41
+ ${n.dynamicImports.map(p=>se(` └─ ${o(p)}`)).join(`
42
+ `)}`),n.modules&&n.modules.length>0){const p=n.modules.filter(u=>u.id.includes("node_modules")).toSorted((u,f)=>(f.bytes||0)-(u.bytes||0)).map(u=>se(` 📦 ${o(u.id)}${Q(u.bytes?` (${q(u.bytes,{decimals:2})})`:"")}`)).join(`
43
+ `);l+=p.length>0?`
44
+ inlined modules:
45
+ ${p}`:""}if(t.options.declaration){const p=ee(t,"cjs"),u=ee(t,"esm"),f=ne(t,"cjs"),c=ne(t,"esm");let g=n.path.replace(/\.js$/,".d.ts"),y="commonjs";n.path.endsWith(`.${p}`)?g=n.path.replace(new RegExp(String.raw`\.${p}$`),`.${f}`):n.path.endsWith(`.${u}`)&&(y="module",g=n.path.replace(new RegExp(String.raw`\.${u}$`),`.${c}`));const h=t.buildEntries.find(m=>m.path.endsWith(g));if(h){s.push(h.path);let m;g.includes(".d.ts")||(g=g.replace(/\.d\.[m|c]ts$/,".d.ts"),m=t.buildEntries.find(j=>j.path.endsWith(g))),m&&(s.push(m.path),y==="commonjs"?l+=`
46
+ types:
47
+ ${[h,m].map(j=>`${se(" └─ ")+Q(o(j.path))} (total size: ${K(q(j.size?.bytes??0,{decimals:2}))})`).join(`
48
+ `)}`:l+=`
49
+ types: ${Q(o(h.path))} (total size: ${K(q(h.size?.bytes??0,{decimals:2}))})`)}}i=!0,l+=`
50
+
51
+ `,e.raw(n.chunk?se(l):l)}}if(t.buildEntries.filter(n=>n.type==="asset").length>0){let n="Assets:";for(const a of t.buildEntries.filter(d=>d.type==="asset"&&!s.includes(d.path)))n+=`${se(`
52
+ └─ `)+Q(o(a.path))} (total size: ${K(q(a.size?.bytes??0,{decimals:2}))})`;n+=`
53
+
54
+ `,e.raw(n)}return i&&e.raw("Σ Total dist size (byte size):",K(q(t.buildEntries.reduce((n,a)=>n+(a.size?.bytes??0),0),{decimals:2})),`
55
+ `),i},"showSizeInformation"),Pr=/\.d\.[mc]?ts$/,Mr=oe(e=>!!e?.endsWith(".d"),"isDeclarationOnlyEntry"),Ue=oe(e=>e.filter(t=>!Pr.test(t.input)),"filterDtsEntries"),Nr=oe((e,t)=>{const o=[];return e!=="undefined"&&o.push(`${K(e)} environment`),t!=="undefined"&&o.push(`${K(t)} runtime`),o.length>0?`Preparing build for ${o.join(" with ")}`:""},"createBuildLogMessage"),Cr=oe((e,t)=>{const o={};return e!=="undefined"&&(o[["process","env","NODE_ENV"].join(".")]=JSON.stringify(e)),o[["process","env","EdgeRuntime"].join(".")]=JSON.stringify(t==="edge-light"),Object.freeze(o)},"createReplaceValues"),Tr=oe((e,t)=>{const o=[];return e!=="undefined"&&o.push(e),t!=="undefined"&&o.push(t),o.length>0?`${o.join("/")}/`:""},"createSubDirectory"),Me=oe((e,t,o,i,s,r)=>({...e,options:{...e.options,emitCJS:t,emitESM:o,entries:i,minify:s,rollup:{...e.options.rollup,replace:e.options.rollup.replace?{...e.options.rollup.replace,values:e.options.rollup.replace.values?{...e.options.rollup.replace.values}:{...r}}:!1}}}),"createAdjustedContext"),Rr=oe(async(e,t)=>{const o=oe(a=>{const d=a.name??a.fileAlias;if(!d)return"default";const l=[".browser",".server",".development",".node",".workerd"];for(const p of l)if(d.includes(p))return p.slice(1);return"default"},"getEntryType"),i=e.options.entries.map(a=>({...a,environment:String(a.environment??"undefined"),runtime:String(a.runtime??"undefined"),type:o(a)})),s=xr(i,"environment","runtime","type"),r=new Set,n=new Set;for(const[a,d]of Object.entries(s))for(const[l,p]of Object.entries(d))for(const[,u]of Object.entries(p)){const f={...e,environment:a==="undefined"?void 0:a,options:{...e.options,rollup:{...e.options.rollup,replace:e.options.rollup.replace?{...e.options.rollup.replace,values:{}}:e.options.rollup.replace}}};if(!e.options.dtsOnly&&(a!=="undefined"||l!=="undefined")){const b=Nr(a,l);b&&e.logger.info(b)}const c=l==="undefined"?void 0:l;f.options.runtime=c;try{await e.hooks.callHook("rollup:options",f,{})}catch(b){throw e.logger.error(`Error calling rollup:options hook: ${b}`),b}const g=f.options.rollup.replace?Cr(a,l):{};if(f.options.rollup.replace){f.options.rollup.replace.values===void 0&&(f.options.rollup.replace.values={});const b=e.options.rollup.replace?{...e.options.rollup.replace.values}:{};Object.assign(f.options.rollup.replace.values,g,b)}else e.logger.warn("'replace' plugin is disabled. You should enable it to replace 'process.env.*' environments.");const y=f.options.rollup.replace&&f.options.rollup.replace.values||g,h=Tr(a,l);let m=f.options.minify??!1;a==="development"?m=!1:a==="production"&&(m=!0);const j=u.map(b=>{const{environment:D,runtime:N,...v}=b;return{...v,environment:D==="undefined"?void 0:D,runtime:N==="undefined"?void 0:N}}),$=[],M=[],R=[],J=[];for(const b of j){if(Mr(b.name)){b.declaration&&J.push(b);continue}b.cjs&&b.esm?$.push(b):b.cjs?R.push(b):b.esm?M.push(b):b.declaration&&J.push(b)}if($.length>0){const b=Me(f,!0,!0,Ue($),m,y);if(e.options.dtsOnly||r.add({context:b,fileCache:t,subDirectory:h}),e.options.declaration){const D=$.filter(N=>N.declaration);D.length>0&&n.add({context:{...b,options:{...b.options,entries:D}},fileCache:t,subDirectory:h})}}if(M.length>0){const b=Me(f,!1,!0,Ue(M),m,y);if(e.options.dtsOnly||r.add({context:b,fileCache:t,subDirectory:h}),e.options.declaration){const D=M.filter(N=>N.declaration);D.length>0&&n.add({context:{...b,options:{...b.options,entries:D}},fileCache:t,subDirectory:h})}}if(R.length>0){const b=Me(f,!0,!1,Ue(R),m,y);if(e.options.dtsOnly||r.add({context:b,fileCache:t,subDirectory:h}),e.options.declaration){const D=R.filter(N=>N.declaration);D.length>0&&n.add({context:{...b,options:{...b.options,entries:D}},fileCache:t,subDirectory:h})}}if(f.options.declaration&&J.length>0){const b=J.some(S=>S.declarationCjs),D=J.some(S=>S.declarationEsm),N=J.some(S=>S.declaration&&!S.declarationCjs&&!S.declarationEsm),v=Me(f,b||N,D,J,m,y);n.add({context:v,fileCache:t,subDirectory:h})}}return{builders:r,typeBuilders:n}},"prepareRollupConfig"),Fr=oe(async(e,t)=>{await e.hooks.callHook("build:before",e);const{builders:o,typeBuilders:i}=await Rr(e,t);o.size>0&&await Promise.all(Array.from(o,async({context:s,fileCache:r,subDirectory:n})=>await mr(s,r,n))),i.size>0&&await ur(Array.from(i,({context:s,fileCache:r,subDirectory:n})=>()=>hr(s,r,n)),Dr),e.logger.success(It(e.options.name?`Build succeeded for ${e.options.name}`:"Build succeeded")),e.buildEntries=e.buildEntries.filter((s,r,n)=>n.findIndex(a=>a.path===s.path)===r);for await(const s of Wo(I(e.options.rootDir,e.options.outDir),{includeDirs:!1,includeFiles:!0})){const r=I(e.options.rootDir,e.options.outDir);let n=e.buildEntries.find(d=>I(r,d.path)===s.path);n||(n={chunk:!0,path:s.path},e.buildEntries.push(n)),n.size===void 0&&(n.size={});const a=P(r,s.path);if(!n.size.bytes){const d=await Lt(a);n.size.bytes=d.size}n.size.brotli||(n.size.brotli=await vr(a)),n.size.gzip||(n.size.gzip=await Er(a))}return await e.hooks.callHook("build:done",e),Or(e.logger,e)},"build");var Ir=Object.defineProperty,Mo=w((e,t)=>Ir(e,"name",{value:t,configurable:!0}),"c");const Ar=Mo(e=>Object.fromEntries(Object.entries(e).map(([t,o])=>{if(!o)return[t,{}];const i=Object.fromEntries(Object.entries(o).map(([s,r])=>Array.isArray(r)?[s,[...new Set(r)]]:[s,[]]));return[t,i]})),"uniqueNestedValues"),Wr=Mo(async(e,t,o,i,s,r)=>{if(r!=="*"&&Yn(Ce(r))===void 0)throw new Error("Invalid typeScriptVersion option. It must be a valid semver range.");e.info({message:"Declaration node10 compatibility mode is enabled.",prefix:"plugin:packem:node10-compatibility"});const n={};for(const l of t)for(const p of l.exportKey)p.includes("/*")?n[p]=[`./${I(o,me(l.name),"*.d.ts")}`]:n[p]=[...n[p]??[],`./${I(o,`${l.name}.d.ts`)}`];const a=I(i,"package.json"),d=await At(a);s==="file"&&Object.keys(n).length>0?(await Jo(a,{...d,typesVersions:Ar({...d.typesVersions,[r]:n})},{detectIndent:!0}),e.info({message:'Your package.json "typesVersions" field has been updated.',prefix:"plugin:packem:node10-compatibility"})):Object.keys(n).length>0&&e.info({message:`Please add the following field into your package.json to enable node 10 compatibility:
56
+
57
+ ${JSON.stringify({typesVersions:{"*":n}},void 0,4)}
58
+ `,prefix:"plugin:packem:node10-compatibility"})},"node10Compatibility");var Jr=Object.defineProperty,Z=w((e,t)=>Jr(e,"name",{value:t,configurable:!0}),"l");const zr=Z(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"),Br=Z((e,t,o,i,s,r,n,a)=>{const d=zr(n?.config.compilerOptions?.jsx),l=a.split("."),p=us()(Pi,s,{alias:{},browserTargets:Xo(),cjsInterop:!1,clean:!0,debug:i,declaration:void 0,emitCJS:void 0,emitESM:void 0,entries:[],externals:[],failOnWarn:!0,fileCache:!0,jiti:{alias:{},debug:i,interopDefault:!0},minify:o===je,name:(r.name??"").split("/").pop()??"default",outDir:n?.config.compilerOptions?.outDir??"dist",rollup:{alias:{},cjsInterop:{addDefaultProperty:!1},commonjs:{extensions:[".mjs",".js",".json",".node",".cjs"],ignoreTryCatch:!0,preserveSymlinks:!0,transformMixedEsModules:!0},css:{autoModules:!0,extensions:[".css",".pcss",".postcss",".sss"],namedExports:!0},dataUri:{srcset:!0},debarrel:{},dts:{compilerOptions:{baseUrl:n?.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}},dynamicVars:{errorWhenNoFilesFound:!0,exclude:ce,include:re},esbuild:{charset:"utf8",supported:{"import-attributes":!0},jsx:d,jsxDev:n?.config.compilerOptions?.jsx==="react-jsxdev",jsxFactory:n?.config.compilerOptions?.jsxFactory,jsxFragment:n?.config.compilerOptions?.jsxFragmentFactory,jsxImportSource:n?.config.compilerOptions?.jsxImportSource,jsxSideEffects:!0,keepNames:!0,sourcesContent:!1,target:n?.config.compilerOptions?.target,treeShaking:!0,tsconfigRaw:n?.config},experimental:{resolve:{aliasFields:[["browser"]],builtinModules:!1,conditionNames:["default","types","import","require","module-sync","node","node-addons","browser","esm2020","es2020","es2015"],extensionAlias:{".cjs":[".cts",".d.cts",".cjs"],".js":[".ts",".tsx",".d.ts",".js"],".jsx":[".tsx",".d.ts",".jsx"],".mjs":[".mts",".d.mts",".mjs"]},extensions:[".ts",".tsx",".d.ts",".js",".jsx",".json",".node"],mainFields:["types","typings","fesm2020","fesm2015","esm2020","es2020","main","module","browser","jsnext:main"]}},isolatedDeclarations:{exclude:ce,ignoreErrors:!1},json:{preferConst:!1},license:{dependenciesTemplate:Z((g,y,h)=>`
59
+ # Licenses of bundled dependencies
60
+ The published ${h} artifact additionally contains code with the following licenses:
61
+ ${g.length>0?`${g.join(", ")}
62
+
63
+ `:`
64
+ `}# Bundled dependencies:
65
+ ${y}`,"dependenciesTemplate"),dtsTemplate:Z((g,y,h)=>`
66
+ # Licenses of bundled types
67
+ The published ${h} artifact additionally contains code with the following licenses:
68
+ ${g.length>0?`${g.join(", ")}
69
+
70
+ `:`
71
+ `}# Bundled types:
72
+ ${y}`,"dtsTemplate")},nativeModules:{},node10Compatibility:!1,output:{importAttributesKey:Number(l[0])>=22?"with":"assert"},oxc:{jsx:d==="preserve"?"preserve":{development:o!=="production",pragma:n?.config.compilerOptions?.jsxFactory,pragmaFrag:n?.config.compilerOptions?.jsxFragmentFactory,pure:!0,runtime:d==="transform"||d==="automatic"?"automatic":"classic",useBuiltIns:!0,useSpread:!0}},patchTypes:{},polyfillNode:{},preserveDirectives:{include:re},preserveDynamicImports:!0,pure:{},raw:{exclude:ce,include:[/\.(md|txt|htm|html|data)$/]},replace:{objectGuards:!0,preventAssignment:!0},resolve:{allowExportsFolderMapping:!1,exportConditions:[o??"production","module-sync"],extensions:Xe,preferBuiltins:!1},resolveExternals:{builtins:!0,builtinsPrefix:"add",deps:!0,devDeps:!1,exclude:[],optDeps:!0,peerDeps:!0},shebang:{replace:!1,shebang:"#!/usr/bin/env node"},shim:{exclude:ce,include:re},sourcemap:{},sucrase:{disableESTransforms:!0,enableLegacyBabel5ModuleInterop:!1,enableLegacyTypeScriptModuleInterop:n?.config.compilerOptions?.esModuleInterop===!1,include:re,injectCreateRequireForImportRequire:!1,preserveDynamicImport:!0,production:o===je,...n?.config.compilerOptions?.jsx&&["react","react-jsx","react-jsxdev"].includes(n.config.compilerOptions.jsx)?{jsxFragmentPragma:n.config.compilerOptions.jsxFragmentFactory,jsxImportSource:n.config.compilerOptions.jsxImportSource,jsxPragma:n.config.compilerOptions.jsxFactory,jsxRuntime:d,transforms:["typescript","jsx",...n.config.compilerOptions.esModuleInterop?["imports"]:[]]}:{transforms:["typescript",...n?.config.compilerOptions?.esModuleInterop?["imports"]:[]]}},swc:{include:re,inlineSourcesContent:!1,inputSourceMap:!1,isModule:!0,jsc:{experimental:{keepImportAttributes:!0},externalHelpers:!0,keepClassNames:!0,loose:!0,parser:{decorators:n?.config.compilerOptions?.experimentalDecorators,syntax:n?"typescript":"ecmascript",[n?"tsx":"jsx"]:!0},target:n?.config.compilerOptions?.target?.toLowerCase(),transform:{decoratorMetadata:n?.config.compilerOptions?.emitDecoratorMetadata,decoratorVersion:"2022-03",legacyDecorator:n?.config.compilerOptions?.experimentalDecorators,react:{development:o!==je,pragma:n?.config.compilerOptions?.jsxFactory,pragmaFrag:n?.config.compilerOptions?.jsxFragmentFactory,runtime:d,throwIfNamespace:!0},treatConstEnumAsEnum:n?.config.compilerOptions?.preserveConstEnums,useDefineForClassFields:n?.config.compilerOptions?.useDefineForClassFields}},module:{ignoreDynamic:!0,importInterop:"none",preserveImportMeta:!0,strict:!1,strictMode:!1,type:"es6"}},treeshake:{moduleSideEffects:ms(t,r),preset:"recommended",propertyReadSideEffects:!0},tsconfigPaths:{resolveAbsolutePath:!1},url:{emitFiles:!0,fileName:"[hash][extname]",include:["**/*.svg","**/*.png","**/*.jp(e)?g","**/*.gif","**/*.webp"],limit:14*1024},visualizer:{},watch:{chokidar:{ignoreInitial:!0,ignorePermissionErrors:!0},clearScreen:!0,exclude:ce}},rootDir:t,sourceDir:"src",sourcemap:!1,transformerName:void 0,typedoc:{excludePrivate:!0,format:"inline",githubPages:!1,groupOrder:["Classes","Constructors","Accessors","Methods","Functions","Namespaces","Variables","Enumerations","Interfaces","Type Aliases","*"],kindSortOrder:["Project","Module","Class","Interface","Function","Namespace","Variable","Enum","EnumMember","TypeAlias","Reference","Constructor","Property","Accessor","Method","Parameter","TypeParameter","TypeLiteral","CallSignature","ConstructorSignature","IndexSignature","GetSignature","SetSignature"],marker:"TYPEDOC",name:r.name??"unknown",pretty:!0,readme:"none",showConfig:i,tsconfig:n?.path},validation:{dependencies:{hoisted:{exclude:[]},unused:{exclude:[]}},packageJson:{bin:!0,dependencies:!0,exports:!0,files:!0,main:!0,module:!0,name:!0,types:!0,typesVersions:!0}}});p.runtime===void 0&&(e.warn("No runtime specified, defaulting to 'node'. This will change in packem v2 to 'browser', please add 'runtime: node' to your packem config or command call"),p.runtime="node");const u=new Map([...Object.entries(r.dependencies??{}),...Object.entries(r.devDependencies??{})]);if(p.transformer?.NAME===void 0)throw new Error("Unknown transformer, check your transformer options or install one of the supported transformers: esbuild, swc, sucrase");p.transformerName=p.transformer.NAME;let f=p.transformerName;p.transformerName==="oxc"?f="oxc-transform":p.transformerName==="swc"&&(f="@swc/core");const c=u.get(f)??"0.0.0";if(e.info({message:`Using ${K("node ")}${a}`,prefix:"system"}),e.info({message:`Using ${K("rollup ")}${Zo} with ${K(p.runtime)} build runtime`,prefix:"bundler"}),e.info({message:`Using ${K(p.transformerName)} ${c}`,prefix:"transformer"}),p.rollup.resolve&&(p.rollup.resolve.preferBuiltins=p.runtime==="node",p.rollup.resolve.preferBuiltins&&(p.rollup.polyfillNode=!1,e.debug("Disabling polyfillNode because preferBuiltins is set to true"))),p.runtime==="node"&&(p.browserTargets=[]),p.runtime==="browser"&&(p.rollup.resolve&&p.rollup.resolve.browser===void 0&&(p.rollup.resolve.browser=!0),p.browserTargets&&p.browserTargets.length>0&&e.debug(`Using browser targets: ${p.browserTargets.join(", ")}`)),Nt(p.alias),p.rollup.alias&&p.rollup.alias.entries&&Nt(p.rollup.alias.entries),p.outputExtensionMap){let g;for(const[y,h]of Object.entries(p.outputExtensionMap)){if(!["cjs","esm"].includes(y))throw new Error(`Invalid output extension map: ${y} must be "cjs" or "esm"`);if(typeof h!="string")throw new TypeError(`Invalid output extension map: ${y} must be a string`);if(h.startsWith("."))throw new Error(`Invalid output extension map: ${y} must not start with a dot. Example: "cjs": "c.js", "esm": "m.js"`);if(g===void 0)g=h;else if(g===h)throw new Error(`Invalid output extension map: ${y} must be different from the other key`)}}return n?.config.compilerOptions?.declarationMap===!0&&(p.sourcemap=!0,e.info("Enabling sourcemap because declarationMap is enabled in tsconfig.json")),p},"generateOptions"),Kr=Z(async(e,t,o,i,s,r,n,a,d)=>{const l=r.hooks,p=Br(e,t,i,s,r,n,a,d);zo(I(p.rootDir,p.outDir));const u={buildEntries:[],dependencyGraphMap:new Map,environment:i,hoistedDependencies:new Set,hooks:Yo(),implicitDependencies:new Set,jiti:Qo(p.rootDir,p.jiti),logger:e,mode:o,options:p,pkg:n,tsconfig:a,usedDependencies:new Set,warnings:new Set};if(l){const c=u.hooks._hooks?.get?.("rollup:options"),g=c?c.size:0;fetch("http://127.0.0.1:7242/ingest/e5ffe05e-4121-4b48-a3e5-edf81dc8035e",{body:JSON.stringify({data:{hasRollupOptionsHook:!!l?.["rollup:options"],hooksCountBefore:g,hooksKeys:Object.keys(l||{})},hypothesisId:"B",location:"index.ts:677",message:"Before addHooks",runId:"run1",sessionId:"debug-session",timestamp:Date.now()}),headers:{"Content-Type":"application/json"},method:"POST"}).catch(()=>{}),u.hooks.addHooks(l);const y=u.hooks._hooks?.get?.("rollup:options"),h=y?y.size:0;fetch("http://127.0.0.1:7242/ingest/e5ffe05e-4121-4b48-a3e5-edf81dc8035e",{body:JSON.stringify({data:{hooksAdded:h-g,hooksCountAfter:h,hooksCountBefore:g},hypothesisId:"B",location:"index.ts:683",message:"After addHooks",runId:"run1",sessionId:"debug-session",timestamp:Date.now()}),headers:{"Content-Type":"application/json"},method:"POST"}).catch(()=>{})}await u.hooks.callHook("build:prepare",u),u.options.emitESM===void 0&&u.logger.info("Emitting of ESM bundles, is disabled."),u.options.emitCJS===void 0&&u.logger.info("Emitting of CJS bundles, is disabled."),u.options.minify&&u.logger.info("Minification is enabled, the output will be minified"),u.options.json&&u.options.minify&&u.options.json.preferConst===void 0&&(u.options.json={...u.options.json,preferConst:!1}),Cs(u);const f=Wt(n,["typescript"]);if(u.options.declaration&&u.tsconfig===void 0&&f)throw new Error("Cannot build declaration files without a tsconfig.json");return f?u.options.declaration===!1&&u.logger.info({message:"Generation of declaration files are disabled.",prefix:"dts"}):(u.options.declaration=!1,u.logger.info({message:"Typescript is not installed. Generation of declaration files are disabled.",prefix:"dts"})),u.options.declaration&&u.logger.info(`Using typescript version: ${K(n.devDependencies?.typescript??n.dependencies?.typescript??"unknown")}`),u.options.declaration&&(n.dependencies?.typescript||n.devDependencies?.typescript)&&!u.tsconfig?.config.compilerOptions?.isolatedModules&&u.logger.warn(`'compilerOptions.isolatedModules' is not enabled in tsconfig.
73
+ 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.
74
+ 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.`),await go(u),u},"createContext"),_r=Z(e=>{switch(e){case"build":return"Building";case"jit":return"Stubbing";case"watch":return"Watching";default:throw new Error(`Unknown mode: ${e}`)}},"getMode"),el=Z(async(e,t,o,i,s,r,n)=>{const a=be.version.slice(1);i.wrapAll(),e=P(be.cwd(),e),i.debug("Root directory:",e);const{packageJson:d,packageJsonPath:l}=ze(e);i.debug("Using package.json found at",l);const p=await Ri(e,d,i,n),u=Fo("@visulima/packem",{cwd:e});let f=!1,c,g;const y=lt(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,nodeVersion:a,type:d.type,types:d.types}))+lt(JSON.stringify(r));u&&ei(y,u,i);const h=new _o(e,u,y,i);try{const m=await Kr(i,e,t,o,s,r,d,p,a);h.isEnabled=m.options.fileCache,m.logger.info(K(`${_r(t)} ${m.options.name}`)),m.logger.debug({context:m.options.entries,message:`${Q("Root dir:")} ${m.options.rootDir}
75
+ ${Q("Entries:")}`});const j=Z(async b=>{for await(const[D,N]of Object.entries(m.options.builder??{})){m.logger.raw(`
76
+ `),await m.hooks.callHook("builder:before",D,m);const v=Date.now(),S=Z(()=>it(Math.floor(Date.now()-v)),"getBuilderDuration");await N(m,u,h,f),await m.hooks.callHook("builder:done",D,m),m.logger.raw(`
77
+ ⚡️ ${D} run in ${S()}`),b&&m.logger.raw(`
78
+
79
+ `)}},"runBuilder"),$=Z(async()=>{if(c!==void 0)await ks({pid:c.pid,signal:r.killSignal??"SIGTERM"});else if(g!==void 0)try{typeof g=="function"&&await g()}catch(b){throw new Error(`onSuccess function cleanup failed: ${b.message}`,{cause:b})}c=void 0,g=void 0},"doOnSuccessCleanup"),M=Z(async()=>{if(typeof m.options.onSuccess=="function")try{g=await m.options.onSuccess()}catch(b){throw new Error(`onSuccess function failed: ${b.message}`,{cause:b})}else if(typeof m.options.onSuccess=="string"){const b=m.options.onSuccessTimeout??3e4,D=c=tn(m.options.onSuccess,[],{nodeOptions:{shell:!0,stdio:"inherit",timeout:b}});await D;const{exitCode:N}=D;if(typeof N=="number"&&N!==0)throw new Error(`onSuccess script failed with exit code ${N}. Check the output above for details.`)}},"runOnsuccess"),R=Date.now(),J=Z(()=>it(Math.floor(Date.now()-R)),"getDuration");if(t==="watch"){if(m.options.rollup.watch===!1)throw new Error("Rollup watch is disabled. You should check your packem config.");await ss(m,h,j,M,$),St(m,!1);return}if(await ls(m),t==="jit")await Bi(m),await m.hooks.callHook("build:done",m);else{if(f=await Fr(m,h),m.options.emitCJS&&m.options.declaration==="compatible"){f&&m.logger.raw(`
80
+ `);let b="console",D="*";m.options.node10Compatibility&&(b=m.options.node10Compatibility?.writeToPackageJson?"file":"console",D=m.options.node10Compatibility?.typeScriptVersion??"*"),await Wr(m.logger,m.options.entries,m.options.outDir,m.options.rootDir,b,D)}await m.hooks.callHook("validate:before",m),typeof m.options.validation=="object"&&(m.options.validation.packageJson&&or(m),m.options.validation.attw&&await zs(m,f),m.options.validation.bundleLimit&&pr(m,f)),await m.hooks.callHook("validate:done",m),St(m,f)}m.logger.raw(`
81
+ ⚡️ Build run in ${J()}
82
+ `),await j(),await M(),be.on("SIGINT",async()=>{await $()}),be.on("SIGTERM",async()=>{await $()})}catch(m){throw i.raw(`
83
+ `),en(m),Jt(m),m}finally{i.restoreAll(),await Ps(u,i,f)}},"packem");export{Pi as $,el as S,us as c};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visulima/packem",
3
- "version": "2.0.0-alpha.59",
3
+ "version": "2.0.0-alpha.60",
4
4
  "description": "A fast and modern bundler for Node.js and TypeScript.",
5
5
  "keywords": [
6
6
  "anolilab",
@@ -191,12 +191,12 @@
191
191
  "@visulima/fs": "4.1.0",
192
192
  "@visulima/humanizer": "2.0.5",
193
193
  "@visulima/package": "4.1.7",
194
- "@visulima/packem-rollup": "1.0.0-alpha.46",
195
- "@visulima/packem-share": "1.0.0-alpha.27",
194
+ "@visulima/packem-rollup": "1.0.0-alpha.47",
195
+ "@visulima/packem-share": "1.0.0-alpha.28",
196
196
  "@visulima/pail": "3.2.2",
197
197
  "@visulima/path": "2.0.5",
198
- "@visulima/rollup-plugin-css": "1.0.0-alpha.26",
199
- "@visulima/rollup-plugin-dts": "1.0.0-alpha.7",
198
+ "@visulima/rollup-plugin-css": "1.0.0-alpha.27",
199
+ "@visulima/rollup-plugin-dts": "1.0.0-alpha.8",
200
200
  "@visulima/tabular": "^3.1.3",
201
201
  "@visulima/tsconfig": "2.1.3",
202
202
  "browserslist": "4.28.1",
@@ -209,6 +209,7 @@
209
209
  "oxc-transform": "0.121.0",
210
210
  "picomatch": "4.0.4",
211
211
  "rollup": "4.60.0",
212
+ "rollup-plugin-import-trace": "1.0.1",
212
213
  "semver": "7.7.4",
213
214
  "tinyexec": "1.0.4",
214
215
  "tinyglobby": "0.2.15"
@@ -1,83 +0,0 @@
1
- var Oo=Object.defineProperty;var $=(e,t)=>Oo(e,"name",{value:t,configurable:!0});import be,{versions as Tt}from"node:process";import{cyan as K,bold as Q,gray as se,blue as Pe,yellow as we,red as ve,green as Rt,dim as Po,grey as Mo}from"@visulima/colorize";import{findCacheDirSync as No}from"@visulima/find-cache-dir";import{isAccessibleSync as le,collectSync as et,isAccessible as de,readFileSync as Co,writeFileSync as je,emptyDir as To,readJson as It,walk as Ro,writeJson as Io,ensureDirSync as Fo}from"@visulima/fs";import{parseBytes as tt,formatBytes as q,duration as ot}from"@visulima/humanizer";import{hasPackageJsonAnyDependency as Ft,ensurePackages as Ao}from"@visulima/package";import{arrayify as nt,memoizeByKey as Wo,enhanceRollupError as At,FileCache as Jo}from"@visulima/packem-share";import{RUNTIME_EXPORT_CONVENTIONS as Wt,SPECIAL_EXPORT_CONVENTIONS as Jt,PRODUCTION_ENV as $e,DEVELOPMENT_ENV as it,DEFAULT_EXTENSIONS as He,ENDING_REGEX as qe,EXCLUDE_REGEXP as ce,ALLOWED_TRANSFORM_EXTENSIONS_REGEX as re,VALID_EXPORT_EXTENSIONS as zo}from"@visulima/packem-share/constants";import{warn as E,getDtsExtension as ne,getOutputExtension as ee,getPackageName as Bo,getChunkFilename as fe,getEntryFileNames as Ko,sortUserPlugins as zt,arrayify as st,getHash as rt}from"@visulima/packem-share/utils";import{extname as _o,resolve as P,toNamespacedPath as Uo,join as W,isAbsolute as Ce,relative as ie,normalize as Lo,dirname as me}from"@visulima/path";import Vo from"browserslist";import{createHooks as Ho}from"hookable";import{createJiti as qo}from"jiti";import{watch as at,rollup as Bt,VERSION as Go}from"rollup";import{exec as Xo}from"tinyexec";import Yo,{stat as Kt,readdir as Qo,rm as _t,mkdtemp as Zo,readFile as en}from"node:fs/promises";import lt from"node:path/posix";import{parsePackageJsonSync as Ut}from"@visulima/package/package-json";import{readTsConfig as tn,findTsConfig as on}from"@visulima/tsconfig";import{NotFoundError as nn}from"@visulima/fs/error";import{isRelative as sn,resolveAlias as rn}from"@visulima/path/utils";import{isDynamicPattern as Ke,globSync as Lt}from"tinyglobby";import{getShebang as an,makeExecutable as pt,shebangPlugin as ln,removeShebangPlugin as pn}from"@visulima/packem-rollup/plugin/shebang";import{fileURLToPath as cn,resolveModuleExportNames as un,resolvePath as ct,pathToFileURL as dn,isNodeBuiltin as ke,parseNodeModulePath as ut}from"mlly";import fn,{existsSync as Vt,createReadStream as Ht}from"node:fs";import{browserslistToEsbuild as Ee,nodeResolve as qt,createSplitChunks as mn,purePlugin as gn,pureNewExpressionPlugin as hn,cachingPlugin as L,resolveFileUrlPlugin as Gt,replace as Xt,alias as Yt,polyfillNode as yn,chunkSplitter as bn,wasm as vn,fixDynamicImportExtension as wn,dynamicImportVars as $n,commonjs as xn,metafilePlugin as jn,visualizer as kn}from"@visulima/packem-rollup";import{babelTransformPlugin as En}from"@visulima/packem-rollup/babel";import{oxcResolvePlugin as Qt}from"@visulima/packem-rollup/oxc";import{cjsInteropPlugin as Zt}from"@visulima/packem-rollup/plugin/cjs-interop";import{copyPlugin as Sn}from"@visulima/packem-rollup/plugin/copy";import{dataUriPlugin as Dn}from"@visulima/packem-rollup/plugin/data-uri";import{debarrelPlugin as On}from"@visulima/packem-rollup/plugin/debarrel";import{esmShimCjsSyntaxPlugin as Pn}from"@visulima/packem-rollup/plugin/esm-shim-cjs-syntax";import{fixDtsDefaultCjsExportsPlugin as Mn}from"@visulima/packem-rollup/plugin/fix-dts-default-cjs-exports";import{isolatedDeclarationsPlugin as Nn}from"@visulima/packem-rollup/plugin/isolated-declarations";import{JsonPlugin as eo}from"@visulima/packem-rollup/plugin/json";import{jsxRemoveAttributes as Cn}from"@visulima/packem-rollup/plugin/jsx-remove-attributes";import{licensePlugin as to}from"@visulima/packem-rollup/plugin/license";import{minifyHTMLLiteralsPlugin as Tn}from"@visulima/packem-rollup/plugin/minify-html-literals";import{nativeModulesPlugin as Rn}from"@visulima/packem-rollup/plugin/native-modules";import{preserveDirectivesPlugin as In}from"@visulima/packem-rollup/plugin/preserve-directives";import{rawPlugin as Fn}from"@visulima/packem-rollup/plugin/raw";import{requireCJSTransformerPlugin as An}from"@visulima/packem-rollup/plugin/require-cjs-transformer";import{sourcemapsPlugin as Wn}from"@visulima/packem-rollup/plugin/source-maps";import{urlPlugin as Jn}from"@visulima/packem-rollup/plugin/url";import{resolveTypescriptMjsCtsPlugin as oo,resolveTsconfigRootDirectoriesPlugin as no,resolveTsconfigPathsPlugin as io,patchTypescriptTypesPlugin as zn}from"@visulima/packem-rollup/typescript";import{rollupCssPlugin as Bn,cssModulesTypesPlugin as Kn}from"@visulima/rollup-plugin-css";import{minVersion as so,coerce as Me,satisfies as ro,validRange as _n,valid as Un}from"semver";import Ln from"magic-string";import{createDefu as Vn}from"defu";import{d as Hn}from"./create-or-update-key-storage-U4wgANkm.js";import{createFilter as qn}from"@rollup/pluginutils";import Gn from"child_process";import Xn from"node:child_process";import{tmpdir as Yn}from"node:os";import{promisify as Qn}from"node:util";import{createTable as Zn}from"@visulima/tabular";import{ROUNDED_BORDER as ei}from"@visulima/tabular/style";import{distance as ti}from"fastest-levenshtein";import oi from"picomatch";import{createBrotliCompress as ni,constants as ii,createGzip as si}from"node:zlib";import __cjs_mod__ from "node:module"; // -- packem CommonJS require shim --
2
- const __filename = import.meta.filename; // -- packem CommonJS __filename shim --
3
- const require = __cjs_mod__.createRequire(import.meta.url);
4
- var ri=Object.defineProperty,ao=$((e,t)=>ri(e,"name",{value:t,configurable:!0}),"s$9");const Te=ao(e=>{if(e.endsWith(".mjs")||e.endsWith(".d.mts"))return"esm";if(e.endsWith(".cjs")||e.endsWith(".d.cts"))return"cjs"},"inferExportTypeFromFileName"),_e=ao((e,t,o,i)=>{if(e==="module-sync")return"esm";if(i){const n=Te(i);if(n)return n}if(e==="module"||e==="import")return"esm";if(e==="require")return"cjs";if(t.length===0)return o;const[s,...r]=t;return _e(s,r,o,i)},"inferExportType");var ai=Object.defineProperty,li=$((e,t)=>ai(e,"name",{value:t,configurable:!0}),"x$1");const pi=new Set(["browser","bun","default","deno","electron","import","module-sync","node","node-addons","require","types","workerd",...Wt,...Jt]),Ge=li((e,t,o,i=[],s=[])=>{if(!e)return[];if(typeof e=="string"){const r=Te(e);if(r&&r!==t)throw new Error(`Exported file "${e}" has an extension that does not match the package.json type "${t==="esm"?"module":"commonjs"}".`);return[{file:e,key:"exports",type:r??t}]}if(typeof e=="object"){const r=Object.entries(e).filter(([a])=>!a.endsWith(".json"));let n=[];for(const[a,d]of r){const l=a.replace("./",""),p=s.some(u=>l===u||l.startsWith(`${u}/`));if(typeof d=="string"){let u={};Number.isInteger(+a)?u={exportKey:"*"}:a.startsWith("./")?u={exportKey:a.replace("./","")}:u={exportKey:a==="."?".":"*",subKey:a},n.push({...u,file:d,key:"exports",type:_e(a,i,t,d),...p&&{ignored:!0}})}else if(typeof d=="object"&&d!==void 0)for(const[u,f]of Object.entries(d)){if(o===!1&&u==="types")continue;const c=Number.isInteger(+a)?u:a;if(typeof f=="string")n.push({exportKey:c.replace("./",""),file:f,key:"exports",...pi.has(u)?{subKey:u}:{},type:_e(u,i,t,f),...p&&{ignored:!0}});else{const h=c.replace("./",""),y=p||s.some(m=>h===m||h.startsWith(`${m}/`)),g=Ge({[c]:f},t,o,[...i,u],s);y&&g.forEach(m=>{m.ignored=!0}),n=[...n,...g]}}}return n}return[]},"extractExportFilenames");var ci=Object.defineProperty,te=$((e,t)=>ci(e,"name",{value:t,configurable:!0}),"R$2");const Ue=new Map,Le=/\.[^./]+$/,lo=te((e,t)=>{const o=e.match(/\.d\.[mc]?ts$/);if(o)return o[0];if(t)for(const i of Object.values(t)){const s=i.startsWith(".")?i:`.${i}`;if(e.endsWith(s))return s}return _o(e)},"getFullExtension"),ui=te(async e=>{try{return await Yo.readdir(e,{withFileTypes:!0})}catch(t){const{code:o}=t;if(o==="ENOENT")return[];throw t}},"safeReaddir"),po=te(async(e,t)=>{const o=await ui(e);return(await Promise.all(o.map(async i=>{const s=lt.join(e,i.name);return i.isDirectory()?po(s,t):i.isFile()?lt.relative(t,s):[]}))).flat()},"getDirectoryFilesRecursive"),di=te(async e=>{let t=Ue.get(e);return t||(t=po(e,e),Ue.set(e,t)),t},"getDirectoryFiles"),dt=te((e,t,o)=>{const i=e.replace(Le,"");if(t==="*"){const a=i.split("/").filter(Boolean);return a.length===0?void 0:o&&o>1?a:[a[0]]}const s=t.replaceAll(/[.+?^${}()|[\]\\]/g,String.raw`\$&`).replaceAll("*","(.*)"),r=new RegExp(`^${s}$`),n=i.match(r);return n?n.slice(1):void 0},"matchWildcardPattern"),pe=te((e,t)=>{let o=e;for(const i of t)o=o.replace("*",i);return o},"substituteWildcards"),fi=te((e,t)=>e.key==="exports"&&e.subKey===$e?$e:e.key==="exports"&&e.subKey===it?it:t,"getEnvironment"),mi=te(e=>{const t=e.replace(/^\.\/dist\//,"").replace(/^dist\//,"").replace(/\.[^./]+$/,"").split("/"),o=t.at(-1)||"",i=[".browser",".server",".development",".production",".node",".workerd"];for(const r of i)if(o.includes(r)){const n=o.replace(r,""),a=t.length>1?t.slice(0,-1).join("/"):"";return{baseName:a?`${a}/${n}`:n,pattern:r}}const s=o.split(".");if(s.length>2){const r=s.slice(0,-2).join("."),n=`.${s[s.length-2]}`,a=t.length>1?t.slice(0,-1).join("/"):"";return{baseName:a?`${a}/${r}`:r,pattern:n}}},"detectFilePattern"),gi=te((e,t,o,i)=>{const s=`${t.replace(new RegExp(`^${i}/?`),"")}${o}`,r=s.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`),n=new RegExp(String.raw`${r}\.([cm]?[tj]sx?|ts|js)$`),a=e.find(l=>{const p=l.replace(i,"").replace(/^\//,"");return n.test(p)});if(a)return a;const d=`${i}/${s}`;return e.find(l=>{const p=l.replace(/\.[^./]+$/,"");return p===d||p.endsWith(`/${s}`)})||void 0},"tryFindPatternFile"),ye=te((e,t,o,i,s,r,n,a)=>{const d=fi(s,r.environment);let l=r.options.runtime;const p=s.subKey==="browser"||s.subKey?.includes("browser"),u=s.file.includes(".browser");if(p||u)l="browser";else{for(const M of Wt)if(s.file.includes(`.${M}.`)||s.subKey===M){l=M;break}(s.subKey==="node"||s.subKey==="workerd"||s.file.includes(".node")||s.file.includes(".workerd")||s.file.includes(".server"))&&(l="node")}const f=lo(s.file,r.options.outputExtensionMap),c=s.file.replace(f,""),h=r.options.outDir.replace(/^\.\//,""),y=c.replace(new RegExp(`^(./)?${h}/`),""),g=t.replace(/\.[^./]+$/,"").split("/").pop()||"",m=y.split("/").pop()||"",j=!t.includes(y)&&g!==m;let w=e.find(M=>M.input===t&&M.environment===d&&M.runtime===l&&M.fileAlias===(j?y:void 0));if(w===void 0?w=e[e.push({environment:d,exportKey:new Set([s.exportKey].filter(Boolean)),fileAlias:j?y:void 0,input:t,runtime:l})-1]:w.exportKey&&s.exportKey&&w.exportKey.add(s.exportKey),n&&(w.isGlob=!0),o&&(w.outDir=i),s.isExecutable)w.executable=!0,w.declaration=!1,s.type==="cjs"?w.cjs=!0:s.type==="esm"&&(w.esm=!0);else{const M=/\.d\.[mc]?ts$/.test(s.file),R=a.filter(b=>b.exportKey===s.exportKey),J=R.length>0&&R.every(b=>/\.d\.[mc]?ts$/.test(b.file));if(M&&r.options.declaration!==!1&&(w.declaration=r.options.declaration),M||J){J&&r.options.declaration!==!1&&(w.declaration=r.options.declaration);const b=R.some(N=>/\.d\.mts$/.test(N.file)),D=R.some(N=>/\.d\.cts$/.test(N.file));if(b&&D?((r.options.declaration===void 0||r.options.declaration==="node16")&&(r.options.declaration="compatible"),r.options.emitCJS=!0,r.options.emitESM=!0):D?(r.options.emitCJS=!0,(r.options.declaration===void 0||r.options.declaration==="node16")&&(r.options.declaration="compatible")):b&&(r.options.emitESM=!0,(r.options.declaration===void 0||r.options.declaration==="node16")&&(r.options.declaration="compatible")),J){const N=a.filter(I=>/\.d\.[mc]?ts$/.test(I.file)),v=N.some(I=>/\.d\.mts$/.test(I.file)),S=N.some(I=>/\.d\.cts$/.test(I.file));R.every(I=>!I.subKey||I.subKey==="types")?(S&&(w.cjs=!0),v&&(w.esm=!0)):(S&&(w.declarationCjs=!0),v&&(w.declarationEsm=!0))}}else s.type==="cjs"?w.cjs=!0:s.type==="esm"&&(w.esm=!0)}j&&!w.fileAlias&&(w.fileAlias=y)},"createOrUpdateEntry");let ft=!1;const mt=te(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"),hi=te(async(e,t,o)=>{const i=e.types||e.typings;Ue.clear();const s=[];t.sort((c,h)=>c.split("/").length-h.split("/").length);const r=e.type==="module"?"esm":"cjs",n=o.options.declaration??"node16",a=Ge(e.exports,r,n,[],o.options.ignoreExportKeys??[]).filter(c=>!c.ignored),d=new Set;for(const c of a){const h=a.filter(y=>y.exportKey===c.exportKey);if(h.length>0&&h.every(y=>/\.d\.[mc]?ts$/.test(y.file))&&!d.has(c.exportKey)){d.add(c.exportKey),h.some(m=>m.file.endsWith(".d.ts"));const y=h.some(m=>m.file.endsWith(".d.mts")),g=h.some(m=>m.file.endsWith(".d.cts"));y&&g?((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitCJS=!0,o.options.emitESM=!0):g?((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitCJS=!0):y&&((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitESM=!0)}}o.options.declaration===void 0&&(o.options.declaration="node16");const l=a.some(c=>c.type==="esm"&&!/\.d\.mts$/.test(c.file)),p=a.some(c=>c.type==="cjs"&&!/\.d\.cts$/.test(c.file));l&&p?(o.options.emitESM=!0,o.options.emitCJS=!0):l?o.options.emitESM=!0:p?o.options.emitCJS=!0:r==="esm"?o.options.emitESM=!0:r==="cjs"&&(o.options.emitCJS=!0);const u=o.options.emitCJS&&o.options.emitESM;if(o.options.declaration==="node16"&&u&&(o.options.declaration="compatible"),e.bin){const c=(typeof e.bin=="string"?[e.bin]:Object.values(e.bin)).filter(Boolean);for(const h of c){const y=Te(h);if(y&&y!==r)throw new Error(`Exported file "${h}" has an extension that does not match the package.json type "${e.type??"commonjs"}".`);a.push({file:h,isExecutable:!0,key:"bin",type:y??r})}}e.main&&a.push({file:e.main,key:"main",type:Te(e.main)??r}),e.module&&a.push({file:e.module,key:"module",type:"esm"}),i&&(mt(o),(o.options.declaration===void 0||o.options.declaration==="node16")&&u&&(o.options.declaration="compatible"),a.push({file:e.types??e.typings,key:"types"}));const f=[];if(!o.options.outputExtensionMap){const c=a.some(g=>!g.isExecutable&&!/\.d\.[mc]?ts$/.test(g.file)&&g.file.endsWith(".mjs")),h=a.some(g=>!g.isExecutable&&!/\.d\.[mc]?ts$/.test(g.file)&&g.file.endsWith(".cjs")),y=a.some(g=>!g.isExecutable&&!/\.d\.[mc]?ts$/.test(g.file)&&g.file.endsWith(".js"));c&&!h&&!y?o.options.outputExtensionMap={esm:"mjs"}:h&&!c&&!y&&(o.options.outputExtensionMap={cjs:"cjs"})}for await(const c of a){const h=/\.d\.[mc]?ts$/.test(c.file),y=lo(c.file,o.options.outputExtensionMap),g=[...He];if(o.options.outputExtensionMap)for(const v of Object.values(o.options.outputExtensionMap)){const S=v.startsWith(".")?v:`.${v}`;g.includes(S)||g.push(S)}if(!h&&y!==""&&!g.includes(y)||!h&&/\.(tsx?|cts|mts)$/.test(c.file))continue;let m=c.type;if(!m&&h){if(c.file.endsWith(".d.mts"))m="esm";else if(c.file.endsWith(".d.cts"))m="cjs";else if(c.file.endsWith(".d.ts")){const v=a.some(I=>I.subKey==="import"&&I.file.endsWith(".d.mts")),S=a.some(I=>I.subKey==="require"&&I.file.endsWith(".d.cts"));v&&S?m=void 0:m=o.pkg?.type==="module"?"esm":"cjs"}}if(/\.d\.[mc]?ts$/.test(c.file)||(o.options.emitCJS===void 0&&(m==="cjs"||c.type==="cjs")&&(o.options.emitCJS=!0),o.options.emitESM===void 0&&(m==="esm"||c.type==="esm")&&(o.options.emitESM=!0)),o.options.declaration===void 0||o.options.declaration==="node16"){const v=o.options.emitCJS&&o.options.emitESM;o.options.declaration=v?"compatible":"node16"}let j=c.file;if(o.options.outputExtensionMap)for(const v of Object.values(o.options.outputExtensionMap)){const S=v.startsWith(".")?v:`.${v}`;if(c.file.endsWith(S)){j=c.file.slice(0,-S.length);break}}j===c.file&&(j=c.file.replace(new RegExp(String.raw`(?:\*[^/\\]|\.d\.[mc]?ts|\.\w+)$`),""));const w=j.endsWith("/");if(w&&["./","/"].includes(j))continue;const M=j.replace(new RegExp(`(./)?${o.options.outDir}`),o.options.sourceDir).replace("./",""),R=w?"":String.raw`(\.d\.[cm]?ts|(\.[cm]?[tj]sx?))$`,J="(?:^|/)";if((c.file.includes("/*")||j.includes("*"))&&c.key==="exports"){ft||(o.logger.debug("Private subfolders are not supported, if you need this feature please open an issue on GitHub."),ft=!0);let v;c.exportKey?v=c.exportKey.startsWith("./")?c.exportKey.slice(2):c.exportKey:v=(c.file.startsWith("./")?c.file.slice(2):c.file).replace(/^dist\//,"");const S=c.file,I=S.match(/\.\w+$/);if(S.includes("*")&&!I&&c.exportKey&&!c.subKey){const F=S.replace(/\*.*$/,"").replace(/^\.\//,""),C=v.replace(/\*.*$/,"").replace(/^\.\//,"");if(F!==C){const A=`package.json#exports["${c.exportKey==="."?".":`./${c.exportKey}`}"]`;s.push(`Wildcard pattern must include a file extension: ${S} at ${A}`);continue}}const H=o.options.sourceDir.replace(/^\.\//,""),V=P(o.options.rootDir,H),_=[],ge=await di(V),z=(S.match(/\*/g)||[]).length,ae=(v.match(/\*/g)||[]).length;for(const F of ge){const C=dt(F,v,z);if(C){if(z>ae&&z>1){if(C.length>=z){const O=C[0];if(C.every(x=>x===O)){const x=pe(S,C.slice(0,z));x.includes("*")||_.push({input:P(V,F),output:x})}continue}const k=F.replace(Le,"").split("/").filter(Boolean);if(k.length>=z){const O=Math.floor(k.length/z),x=[];for(let B=0;B<z;B++){const X=B*O,U=B===z-1?k.length:(B+1)*O;x.push(k.slice(X,U).join("/"))}const T=x[0];if(x.every(B=>B===T)){const B=pe(S,x);B.includes("*")||_.push({input:P(V,F),output:B})}}else if(k.length>0){const O=k[0];if(k.every(x=>x===O)){const x=new Array(z).fill(O),T=pe(S,x);T.includes("*")||_.push({input:P(V,F),output:T})}}continue}if(C.length<z)continue;if(ae>0&&ae<z&&z>1&&C.length>1){const k=C[0];if(!C.every(O=>O===k))continue}const A=pe(S,C);if(A.includes("*"))continue;_.push({input:P(V,F),output:A})}}if(_.length===0&&S.includes("*")){let F=(c.file.startsWith("./")?c.file.slice(2):c.file).replace(/^dist\//,"");F=F.replace(/\.\w+$/,""),(F.match(/\*/g)||[]).length;for(const C of ge){const A=dt(C,F,z);if(A){if(z>1&&ae<z){if(A.length>=z){const x=A[0];if(A.every(T=>T===x)){const T=pe(S,A);T.includes("*")||_.push({input:P(V,C),output:T});continue}}const k=C.replace(Le,""),O=F.split("*");if(O.length>=2){const x=O.map(U=>U.replaceAll(/[.+?^${}()|[\]\\]/g,String.raw`\$&`));let T=`${x[0]}(.+)`;for(let U=1;U<x.length;U++)T+=x[U],U<x.length-1&&(T+=String.raw`\1`);const B=new RegExp(`^${T}$`),X=k.match(B);if(X){const U=X[1],he=pe(S,new Array(z).fill(U));he.includes("*")||_.push({input:P(V,C),output:he})}}continue}if(A.length>=z){if(ae>0&&ae<z&&z>1&&A.length>1){const O=A[0];if(!A.every(x=>x===O))continue}const k=pe(S,A);k.includes("*")||_.push({input:P(V,C),output:k})}}}}if(_.length===0){a.length>1||s.push(`Could not find entrypoints matching pattern \`${v}\` for output \`${S}\``);continue}const Y=a.filter(F=>F.exportKey===c.exportKey);if(Y.length>0&&Y.every(F=>/\.d\.[mc]?ts$/.test(F.file))){const F=Y.some(x=>x.file.endsWith(".d.ts")),C=Y.some(x=>x.file.endsWith(".d.mts")),A=Y.some(x=>x.file.endsWith(".d.cts"));C&&A?((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitCJS=!0,o.options.emitESM=!0):A?((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitCJS=!0):C&&((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitESM=!0);const k=Y.find(x=>x.file.endsWith(".d.ts")),O=k||Y.find(x=>x.file.endsWith(".d.mts"))||Y.find(x=>x.file.endsWith(".d.cts"))||c;if(!(O===c||k&&c===k||!k&&O===c))continue;for(const{input:x,output:T}of _){let B=T;if(T.endsWith(".d.mts")||T.endsWith(".d.cts"))B=T.replace(/\.d\.[mc]ts$/,".d.ts");else if(!T.endsWith(".d.ts")){const U=T.replace(/\.d\.[mc]ts$/,".d.ts");F&&(B=U)}const X={...O,file:B,subKey:"types",type:void 0};ye(f,x,!1,j,X,o,!0,a)}}else for(const{input:F,output:C}of _){const A=/\.d\.[mc]?ts$/.test(C);let k=c.type;A||(C.endsWith(".mjs")?k="esm":C.endsWith(".cjs")?k="cjs":C.endsWith(".js")&&!k&&(k=o.pkg?.type==="module"?"esm":"cjs"));const O={...c,file:C,...!A&&k&&{type:k}};ye(f,F,!1,j,O,o,!0,a)}continue}const b=new RegExp(J+M.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)+R);let D=t.find(v=>b.test(v));if(D===void 0){const v=o.options.sourceDir.replace(/^\.\//,""),S=P(o.options.rootDir,v),I=mi(c.file);if(I){const H=gi(t,I.baseName,I.pattern,S);if(H)D=H;else{const V=I.baseName,_=new RegExp(J+V.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)+R);D=t.find(ge=>_.test(ge))}}else{const H=M.replace(/^(.+?)\.[^.]*$/,"$1").replace(/\/$/,"");if(Jt.has(c.subKey)){const V=new RegExp(J+H.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)+R);D=t.find(_=>V.test(_))}}}if(D===void 0){le(P(o.options.rootDir,c.file))||s.push(`Could not find entrypoint for \`${c.file}\``);continue}le(D)&&/\.[cm]?tsx?$/.test(D)&&mt(o);const N=a.filter(v=>v.exportKey===c.exportKey);if(N.length>0&&N.every(v=>/\.d\.[mc]?ts$/.test(v.file))){N.some(H=>H.file.endsWith(".d.ts"));const v=N.some(H=>H.file.endsWith(".d.mts")),S=N.some(H=>H.file.endsWith(".d.cts"));v&&S?((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitCJS=!0,o.options.emitESM=!0):S?((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitCJS=!0):v&&((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitESM=!0);const I={...c,subKey:"types",type:void 0};ye(f,D,w,j,I,o,!1,a)}else{const v=Uo(D.replace(qe,""));le(`${v}.cts`)&&le(`${v}.mts`)?(ye(f,`${v}.cts`,w,j,{...c,type:"cjs"},o,!1,a),ye(f,`${v}.mts`,w,j,{...c,type:"esm"},o,!1,a)):ye(f,D,w,j,c,o,!1,a)}}return{entries:f,warnings:s}},"inferEntries");var yi=Object.defineProperty,bi=$((e,t)=>yi(e,"name",{value:t,configurable:!0}),"o$5");const vi=bi((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 wi=Object.defineProperty,$i=$((e,t)=>wi(e,"name",{value:t,configurable:!0}),"f$2");const xi={hooks:{"build:prepare":$i(async function(e){if(e.options.unbundle){e.options.entries.length=0;const s=W(e.options.rootDir,e.options.sourceDir);if(!le(s))throw new Error("No 'src' directory found. Please provide entries manually.");const r=et(s,{extensions:[],includeDirs:!1,includeSymlinks:!1,skip:[ce,/.*\/dist\/.*/]}).filter(n=>re.test(n)&&!n.endsWith(".d.ts"));for(const n of r){const a=n.replace(`${s}/`,"").replace(re,"").replaceAll("/","/");e.options.entries.push({input:n,name:a})}return}if(e.options.entries.length>0)return;const t=W(e.options.rootDir,e.options.sourceDir);if(!le(t))throw new Error("No 'src' directory found. Please provide entries manually.");const o=et(t,{extensions:[],includeDirs:!1,includeSymlinks:!1,skip:[ce,/.*\/dist\/.*/]});if(o.length===0)throw new Error("No source files found in 'src' directory. Please provide entries manually.");let i={...e.pkg};if(i.publishConfig&&(e.logger.info(`Using publishConfig found in package.json, to override the default key-value pairs of "${Object.keys(i.publishConfig).join(", ")}".`),e.logger.debug(i.publishConfig),i=vi(i,e.options.declaration)),e.options.unbundle){e.logger.info("Unbundle mode detected, creating entries for all source files");const s=o.filter(r=>re.test(r)&&!r.endsWith(".d.ts"));e.logger.info(`Found ${s.length} code files for unbundle mode`);for(const r of s){const n=r.replace(`${t}/`,"").replace(re,"").replaceAll("/","/");e.logger.info(`Adding entry: ${n} -> ${r}`),e.options.entries.push({input:r,name:n})}}else{const s=await hi(i,o,e);for(const r of s.warnings)e.logger.warn(r);e.options.entries.push(...s.entries)}if(e.options.entries.length===0)throw new Error("No entries detected. Please provide entries manually.");e.logger.info("Automatically detected entries:",K(e.options.entries.map(s=>s.fileAlias?`${Q(s.fileAlias)} => ${Q(s.input.replace(`${e.options.rootDir}/`,"").replace(/\/$/,"/*"))}`:Q(s.input.replace(`${e.options.rootDir}/`,"").replace(/\/$/,"/*"))).join(", ")),se([e.options.emitESM&&"esm",e.options.emitCJS&&"cjs",e.options.declaration&&"dts"].filter(Boolean).map(s=>`[${s}]`).join(" ")))},"build:prepare")}};var ji=Object.defineProperty,ki=$((e,t)=>ji(e,"name",{value:t,configurable:!0}),"e$6");const Xe=ki(e=>{const t=W(e,"package.json");if(!le(t))throw new Error(`package.json not found at ${t}`);const o=Ut(t,{resolveCatalogs:!0});return o.publishConfig&&Object.assign(o,o.publishConfig),{packageJson:o,packageJsonPath:t}},"loadPackageJson");var Ei=Object.defineProperty,Si=$((e,t)=>Ei(e,"name",{value:t,configurable:!0}),"a$c");const Di=Si(async(e,t,o,i)=>{let s;if(i){const r=W(e,i);if(!await de(r))throw new Error(`tsconfig.json not found at ${r}`);s={config:tn(r),path:r},o.info("Using tsconfig settings at",r)}else if(Ft(t,["typescript"]))try{s=await on(e),o.debug("Using tsconfig settings found at",s.path)}catch{o.info("No tsconfig.json or jsconfig.json found.")}return s},"loadTsconfig");var Oi=Object.defineProperty,co=$((e,t)=>Oi(e,"name",{value:t,configurable:!0}),"l$8");const gt=co(async(e,t)=>{if(typeof e.name!="string"){let o=Ce(e.input)?ie(t.options.rootDir,e.input):Lo(e.input);o.startsWith("./")&&(o=o.slice(2)),e.name=o.replace(new RegExp(`^${t.options.sourceDir}/`),"").replace(qe,"")}if(!e.input)throw new Error(`Missing entry input: ${JSON.stringify(e)}`);sn(e.input)&&(e.input=P(t.options.rootDir,e.input)),t.options.declaration&&e.declaration===void 0&&(e.declaration=t.options.declaration),e.executable&&(e.cjs===void 0||e.esm===void 0)?t.pkg.type==="commonjs"&&e.cjs===void 0&&t.options.emitCJS!==void 0?(e.cjs=t.options.emitCJS,e.esm=!1):t.pkg.type==="module"&&e.esm===void 0&&t.options.emitESM!==void 0&&(e.esm=t.options.emitESM,e.cjs=!1):e.cjs===void 0&&e.esm===void 0&&(e.declaration&&e.cjs===void 0&&e.esm===void 0||(t.options.emitCJS!==void 0&&(e.cjs=t.options.emitCJS),t.options.emitESM!==void 0&&(e.esm=t.options.emitESM))),e.outDir=P(t.options.rootDir,e.outDir??t.options.outDir)},"extendEntry"),Pi=co(async e=>{e.options.entries=e.options.entries.map(t=>typeof t=="string"?{input:t,isGlob:Ke(t)}:{...t,exportKey:t.exportKey??new Set,isGlob:Ke(t.input)});for(const t of e.options.entries.filter(o=>o.isGlob)){const{isGlob:o,...i}=t,s=["**/.git/**","**/node_modules/**","**/test-results/**"];if(e.options.rollup.watch){if(typeof e.options.rollup.watch.exclude=="string")s.push(e.options.rollup.watch.exclude);else if(Array.isArray(e.options.rollup.watch.exclude))for(const n of e.options.rollup.watch.exclude)typeof n=="string"&&s.push(n)}const r=Lt([i.input],{cwd:e.options.rootDir,dot:!1,ignore:s,onlyFiles:!0});if(r.length===0)throw new nn(`No files found in the glob pattern: ${K(W(e.options.rootDir,i.input))}`);for(const n of r)e.options.entries.push({...i,input:P(e.options.rootDir,n)});e.options.entries.splice(e.options.entries.indexOf(t),1)}for(const t of e.options.entries){if(t.runtime)continue;const o=t.exportKey&&[...t.exportKey].some(s=>s.includes("browser")||s==="browser"),i=t.fileAlias?.includes(".browser")??!1;if(o||i)t.runtime="browser";else if(t.exportKey){for(const s of t.exportKey)if(s==="node"||s==="workerd"||s.includes("node")||s.includes("workerd")){t.runtime="node";break}}!t.runtime&&t.fileAlias&&(t.fileAlias.includes(".server")||t.fileAlias.includes(".node")||t.fileAlias.includes(".workerd"))&&(t.runtime="node")}for(const t of e.options.entries)if(t.fileAlias){let o=t.fileAlias;for(;o.startsWith("./")||o.startsWith("../");)o=o.replace(/^\.\.?\//,"");t.name=o}for(const t of e.options.entries.filter(o=>!o.fileAlias))await gt(t,e);for(const t of e.options.entries.filter(o=>o.fileAlias))await gt(t,e),t.fileAlias=void 0},"prepareEntries");var Mi=Object.defineProperty,Ni=$((e,t)=>Mi(e,"name",{value:t,configurable:!0}),"i$2");const We=Ni((e,t)=>{let o={};return e.name&&(o[e.name]=t.rootDir),o={...o,...t.alias},t.rollup.alias&&t.rollup.alias.entries&&(Array.isArray(t.rollup.alias.entries)?Object.assign(o,Object.fromEntries(t.rollup.alias.entries.map(i=>[i.find,i.replacement]))):Object.assign(o,t.rollup.alias.entries)),o},"resolveAliases");var Ci=Object.defineProperty,Ti=$((e,t)=>Ci(e,"name",{value:t,configurable:!0}),"h$4");const Ri=/^[_$a-z\u00A0-\uFFFF][\w$\u00A0-\uFFFF]*$/iu,Ii=Ti(async e=>{const t=e.options.jiti.transformOptions?.babel?.plugins,o=[],i=JSON.stringify({...e.options.jiti,alias:{...We(e.pkg,e.options),...e.options.jiti.alias},transformOptions:{...e.options.jiti.transformOptions,babel:{...e.options.jiti.transformOptions?.babel,plugins:"__$BABEL_PLUGINS"}}},void 0,2).replace('"__$BABEL_PLUGINS"',Array.isArray(t)?`[${t.map((s,r)=>{if(Array.isArray(s)){const[n,...a]=s;return o.push(n),`[${[`plugin${r}`,...a.map(d=>JSON.stringify(d))].join(", ")}]`}return o.push(s),`plugin${r}`}).join(",")}]`:"[]");for(const s of e.options.entries){const r=P(e.options.rootDir,e.options.outDir,s.name),n=cn(e.jiti.esmResolve(s.input,{try:!0})??s.input),a=n.replace(qe,""),d=Co(n),l=an(d);let p=[];try{p=await un(n,{extensions:He})}catch(c){E(e,`Cannot analyze ${n} for exports: ${c.toString()}`);return}const u=p.includes("default")||p.length===0,f=e.options.jiti.absoluteJitiPath?(...c)=>dn(P(...c)):ie;if(e.options.emitESM){const c=f(me(r),await ct("jiti",{conditions:["node","import"],url:import.meta.url})),h=ne(e,"esm"),y=`${a}.${h}`;je(`${r}.${ee(e,"esm")}`,l+[`import { createJiti } from "${c}";`,...o.map((g,m)=>`import plugin${m} from "${g}";`),"",`const jiti = createJiti(import.meta.url, ${i});`,"",`/** @type {import("${y}")} */`,`const _module = await jiti.import("${n}");`,...u?["export default _module?.default ?? _module;"]:[],...p.filter(g=>g!=="default").map((g,m)=>{if(Ri.test(g))return`export const ${g} = _module.${g};`;const j=`__packem_export_${m}`,w=g.startsWith("'")&&g.endsWith("'")?`_module[${g}]`:`_module[${JSON.stringify(g)}]`;return`const ${j} = ${w};
5
- export { ${j} as ${JSON.stringify(g)} };`})].join(`
6
- `)),e.options.declaration&&je(`${r}.${h}`,`export * from "${y}";
7
- ${u?`export { default } from "${y}";`:""}`)}if(e.options.emitCJS){const c=f(me(r),await ct("jiti",{conditions:["node","require"],url:import.meta.url})),h=ne(e,"cjs"),y=`${a}.${h}`;je(`${r}.${ee(e,"cjs")}`,l+[`const { createJiti } = require("${c}");`,...o.map((g,m)=>`const plugin${m} = require(${JSON.stringify(g)})`),"",`const jiti = createJiti(__filename, ${i});`,"",`/** @type {import("${y}")} */`,`module.exports = jiti("${n}")`].join(`
8
- `)),e.options.declaration&&je(`${r}.${h}`,`export * from "${y}";
9
- ${u?`export { default } from "${y}";`:""}`)}l&&(await pt(`${r}.${ee(e,"cjs")}`),await pt(`${r}.${ee(e,"esm")}`))}await e.hooks.callHook("rollup:done",e)},"createStub");var Fi=Object.defineProperty,Ye=$((e,t)=>Fi(e,"name",{value:t,configurable:!0}),"s$6");const Ve=Ye(e=>{const t=e.indexOf("/");if(t===-1)return[e,void 0];if(e[0]==="@"){const o=e.indexOf("/",t+1);return o===-1?[e,void 0]:[e.slice(0,o),e.slice(o+1)]}return[e.slice(0,t),e.slice(t+1)]},"parseSpecifier"),uo=Ye(e=>{const t=e[0];return!(t==="."||t==="/"||t==="#"||Ce(e))},"isBareSpecifier"),fo=Ye((e,t=process.cwd())=>ie(t,e).split("/").includes("node_modules"),"isFromNodeModules");var Ai=Object.defineProperty,Re=$((e,t)=>Ai(e,"name",{value:t,configurable:!0}),"d$5");const Qe="@types/",ht=Re(e=>{if(e.startsWith("@")){const[t,o]=e.split("/");return`${t}/types/${o}`}return`${Qe}${e}`},"getAtTypesPackageName"),Wi=Re(e=>{if(e.startsWith("@")){const t=e.split("/");if(t[1]==="types")return`@${t[0]}/${t.slice(2).join("/")}`}return e.replace(Qe,"")},"getOriginalPackageName"),Ji=["peerDependencies","dependencies","optionalDependencies"],mo=Re((e,t)=>{const o=fn.realpathSync.native(process.cwd()),i=new Set,s=new Set(Object.keys(e.devDependencies||{}));for(const n of Ji){const a=e[n];if(a)for(const d of Object.keys(a))d.startsWith(Qe)?i.add(Wi(d)):i.add(d)}const r=Re(n=>{const{dtsResolve:a}=t??{};return a?typeof a=="boolean"?a:a.some(d=>typeof d=="string"?n===d:d.test(n)):!1},"shouldResolveForDts");return{name:"externalize-dependencies",async resolveId(n,a,d){if(!uo(n))return null;const[l]=Ve(n);if(!(i.has(l)&&r(l))){if(i.has(l)){if(t?.forTypes){const p=ht(l);s.has(p)&&console.warn(`Recommendation: "${p}" is bundled (devDependencies) but "${l}" is externalized. Place "${p}" in dependencies/peerDependencies as well so users don't have missing types.`)}return{external:!0,id:n}}if(s.has(l)){const p=await this.resolve(n,a,{...d,skipSelf:!0});if(!p){const u=`Could not resolve "${n}" even though it's declared in package.json. Try re-installing node_modules.`;throw console.error(u),new Error(u)}if(t?.forTypes){const u=ht(l);i.has(u)&&console.warn(`Recommendation: "${u}" is externalized but "${l}" is bundled (devDependencies). This may cause type mismatches for consumers. Consider moving "${l}" to dependencies or "${u}" to devDependencies.`)}return p}a&&!fo(a,o)&&!t?.skipUnlistedWarnings&&console.warn(`"${l}" imported by "${a}" but not declared in package.json. Will be bundled to prevent failure at runtime.`)}}}},"externalizeDependencies");var zi=Object.defineProperty,ue=$((e,t)=>zi(e,"name",{value:t,configurable:!0}),"a$a");const yt=ue((e,t,o)=>e.reduce((i,s,r)=>(s instanceof RegExp?i.push(s):typeof s=="string"&&s.length>0?i.push(new RegExp(`^${s.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)}$`)):o.warn(`Ignoring wrong entry type #${r} in '${t}' option: ${JSON.stringify(s)}`),i),[]),"getRegExps"),bt=new Map,Bi=ue((e,t)=>{bt.has(e)||t.info({message:`Inlined implicit external "${K(e)}". If this is incorrect, add it to the "externals" option.`,prefix:"plugin:packem:resolve-externals"}),bt.set(e,!0)},"logExternalMessage"),vt=new Set(["node:sqlite","node:test"]),go=ue((e,t)=>{const o=new Map,i=e.options?.rollup?.resolveExternals??{},s=new Set(yt([...e.options?.externals??[]],"include",e.logger)),r=new Set(yt([...i.exclude??[]],"exclude",e.logger));if(t?.dtsResolve)if(t.dtsResolve===!0)r.add(/.*/);else for(const f of t.dtsResolve)typeof f=="string"?r.add(new RegExp(`^${f.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)}(?:/.+)?$`)):r.add(f);const n={...i.deps?e.pkg.dependencies??{}:void 0,...i.devDeps?e.pkg.devDependencies??{}:void 0,...i.peerDeps?e.pkg.peerDependencies??{}:void 0,...i.optDeps?e.pkg.optionalDependencies??{}:void 0},a=Object.keys(n);if(a.length>0&&s.add(new RegExp(`^(?:${a.join("|")})(?:/.+)?$`)),e.pkg?.peerDependenciesMeta)for(const[f,c]of Object.entries(e.pkg.peerDependenciesMeta))c&&typeof c=="object"&&"optional"in c&&c.optional&&s.add(new RegExp(`^${f}(?:/.+)?$`));const d=ue(f=>[...s].some(c=>c.test(f)),"isIncluded"),l=ue(f=>[...r].some(c=>c.test(f)),"isExcluded");let p=[];e.tsconfig&&(p=Object.entries(e.tsconfig.config.compilerOptions?.paths??{}).map(([f])=>f.endsWith("*")?new RegExp(`^${f.replace("*","(.*)")}$`):new RegExp(`^${f}$`)));const u=We(e.pkg,e.options);return{name:"packem:resolve-externals",options:ue(f=>{f.external=(c,h)=>{if(o.has(c))return o.get(c);let y;Object.keys(u).length>0&&(y=rn(c,u),y===c&&(y=void 0));const g=y&&ut(y)?.name||ut(c)?.name||Bo(c);g&&!g.startsWith(".")&&!ke(g)&&(e.usedDependencies.add(g),(!h||!h.includes("/node_modules/"))&&!Object.keys(e.pkg.dependencies??{}).includes(g)&&!Object.keys(e.pkg.devDependencies??{}).includes(g)&&!Object.keys(e.pkg.peerDependencies??{}).includes(g)&&!Object.keys(e.pkg.optionalDependencies??{}).includes(g)&&e.options.validation&&e.options.validation.dependencies!==!1&&e.options.validation.dependencies.hoisted!==!1&&!e.options.validation.dependencies.hoisted?.exclude.includes(g)&&e.hoistedDependencies.add(g));for(const m of[c,y].filter(Boolean)){if(/^(?:\0|\.{1,2}\/)/.test(m)||Ce(m)||new RegExp(String.raw`${e.options?.sourceDir}[/.*|\.*]`).test(m)||e.pkg.name&&m.startsWith(e.pkg.name))return o.set(m,!1),!1;if(ke(m)||vt.has(m)){let j=i.builtins;return j===void 0&&h&&(j=d(h)&&!l(h)),o.set(m,j),j}if(m[0]==="#"&&!m.startsWith("#/"))return o.set(m,!1),!1;if(p.length>0){for(const j of p)if(j.test(m))return o.set(m,!1),!1}if(d(m)&&!l(m))return o.set(m,!0),!0}return e.implicitDependencies.add(c),Bi(c,e.logger),!1}},"options"),resolveId:{filter:{id:ue(f=>!(f.startsWith("\0")||f.startsWith("./")||f.startsWith("../")||Ce(f)),"id")},async handler(f,c,{isEntry:h}){if(!h){if(f[0]==="#"&&!f.startsWith("#/")&&e.pkg.imports)return c&&!fo(c,e.options.rootDir)?{external:!0,id:f}:void 0;if(vt.has(f))return{external:!0,id:f,moduleSideEffects:!1};if(ke(f)){const y=f.replace(/^node:/,"");let g=y;return(i.builtinsPrefix==="add"||!ke(y))&&(g=`node:${y}`),{external:(i.builtins||d(f))&&!l(f),id:i.builtinsPrefix==="ignore"?f:g,moduleSideEffects:!1}}}},order:"pre"}}},"resolveExternalsPlugin");var Ki=Object.defineProperty,Ie=$((e,t)=>Ki(e,"name",{value:t,configurable:!0}),"l$6");const _i=Ie(async e=>{try{const i=await Kt(e);if(i.isFile())return e;if(i.isDirectory()){const s=W(e,"index.js");if(await de(s))return s;const r=W(e,"index.json");if(await de(r))return r}}catch{}const t=`${e}.js`;if(await de(t))return t;const o=`${e}.json`;if(await de(o))return o},"tryResolveImplicit"),Ui=Ie(async(e,t)=>{let o=e;const i=P("/");for(;o!==i&&o!==me(o);){const s=W(o,"node_modules",t,"package.json");if(await de(s))return s;o=me(o)}},"findPackageJson"),ho=Ie(e=>{const t=new Map,o=new Map,i=new Set;e.pkg.dependencies&&Object.keys(e.pkg.dependencies).forEach(r=>i.add(r)),e.pkg.peerDependencies&&Object.keys(e.pkg.peerDependencies).forEach(r=>i.add(r)),e.pkg.optionalDependencies&&Object.keys(e.pkg.optionalDependencies).forEach(r=>i.add(r));const s=Ie(r=>i.has(r),"isExternalPackage");return{name:"packem:resolve-implicit-externals",async transform(r,n){if(n.includes("/node_modules/")||n.startsWith("\0"))return;const a=/\bfrom\s+['"`]([^'"`]+)['"`]/g,d=[];let l;for(;(l=a.exec(r))!==null;){const c=l[1];if(!c||!uo(c))continue;const[h,y]=Ve(c);if(y&&h&&s(h)){const g=l.index+l[0].indexOf(c);d.push({importId:c,quoteEnd:g+c.length,quoteStart:g})}}if(d.length===0)return;const p=me(n),u=(await Promise.all(d.map(async c=>{const[h,y]=Ve(c.importId);if(!y)return;const g=`${h}:${y}:${p}`,m=o.get(g);if(m!==void 0)return m?{...c,resolvedId:m}:void 0;const j=await Ui(p,h);if(!j){o.set(g,void 0);return}let w=t.get(j);if(w===void 0)try{w=Ut(j,{resolveCatalogs:!0}),t.set(j,w)}catch{t.set(j,void 0),o.set(g,void 0);return}if(!w){o.set(g,void 0);return}if(w.exports){o.set(g,void 0);return}const M=me(j),R=W(M,y),J=await _i(R);if(!J){o.set(g,void 0);return}const b=ie(M,J),D=`${h}/${b}`;return o.set(g,D),{...c,resolvedId:D}}))).filter(c=>c!==void 0);if(u.length===0)return;const f=new Ln(r);for(const{quoteEnd:c,quoteStart:h,resolvedId:y}of u)f.overwrite(h,c,y),this.debug(`[resolve-implicit-externals] Rewriting ${r.slice(h,c)} -> ${y} in ${n}`);return{code:f.toString(),map:f.generateMap({hires:!0})}}}},"resolveImplicitExternalsPlugin");var Li=Object.defineProperty,G=$((e,t)=>Li(e,"name",{value:t,configurable:!0}),"n$2");const Fe=G(e=>!!e?.endsWith(".d"),"isDeclarationOnlyName"),wt=G((e,t)=>t?o=>{if(!Fe(o.name))return`${o.name}.${e()}`}:o=>{if(!Fe(o.name))return fe(o,e())},"createChunkFileNames"),$t=G((e,t)=>t?o=>{const{name:i}=o;if(!Fe(i))return`${i??"[name]"}.${e(o)}`}:o=>{const{name:i}=o;if(!Fe(i))return Ko(o,e(o))},"createEntryFileNames"),Vi=G((e,t)=>{let o=`node${Tt.node.split(".")[0]}`;if(t.pkg.engines?.node){const i=so(t.pkg.engines.node);i&&(o=`node${i.major}`)}if(e==="esbuild"){if(!t.options.rollup.esbuild)throw new Error("No esbuild options found in your configuration.");if(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"),t.options.rollup.esbuild.target){const i=nt(t.options.rollup.esbuild.target);t.options.runtime==="node"?t.options.rollup.esbuild.target=[...new Set([o,...i])]:t.options.runtime==="browser"&&(t.options.rollup.esbuild.target=[...new Set([...Ee(t.options.browserTargets??[]),...i])])}else t.options.rollup.esbuild.target=t.options.runtime==="node"?[o]:Ee(t.options.browserTargets??[]);return t.options.minify||(t.options.rollup.esbuild.keepNames=!1,t.logger.debug("Disabling keepNames because minify is disabled")),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,passes:2},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}if(e==="oxc"){if(!t.options.rollup.oxc)throw new Error("No oxc options found in your configuration.");if(t.options.rollup.oxc={...t.options.rollup.oxc,cwd:t.options.rootDir,jsx:typeof t.options.rollup.oxc.jsx=="string"?t.options.rollup.oxc.jsx:t.options.rollup.oxc.jsx?{...t.options.rollup.oxc.jsx,refresh:!1}:void 0,sourcemap:t.options.sourcemap,typescript:t.tsconfig?.config?{allowDeclareFields:!0,allowNamespaces:!0,declaration:void 0,jsxPragma:t.tsconfig.config.compilerOptions?.jsxFactory,jsxPragmaFrag:t.tsconfig.config.compilerOptions?.jsxFragmentFactory,onlyRemoveTypeImports:!0,rewriteImportExtensions:!1}:void 0},t.options.rollup.oxc.target){const i=nt(t.options.rollup.oxc.target);t.options.runtime==="node"?t.options.rollup.oxc.target=[...new Set([o,...i])]:t.options.runtime==="browser"&&(t.options.rollup.oxc.target=[...new Set([...Ee(t.options.browserTargets??[]),...i])])}else t.options.rollup.oxc.target=t.options.runtime==="node"?[o]:Ee(t.options.browserTargets??[]);return t.options.rollup.oxc}throw new Error("A Unknown transformer was provided")},"getTransformerConfig"),yo=G((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 "${K(ie(P(),e.id))}"
10
- Is the module installed? Note:
11
- ↳ to inline a module into your bundle, install it to "devDependencies".
12
- ↳ 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"),bo=G((e,t)=>({input:Object.fromEntries(e.options.entries.map(o=>[o.name,P(e.options.rootDir,o.input)])),logLevel:e.options.debug?"debug":"info",onLog:G((o,i)=>{let s=i.message;if(i.stack&&(s=`${s}
13
- ${i.stack}`),o==="warn"&&i.plugin==="node-resolve"&&s.includes("Could not resolve import")&&(e.options.rollup.resolve&&typeof e.options.rollup.resolve=="object"?e.options.rollup.resolve.unresolvedImportBehavior??"error":"error")==="error")throw new Error(s);switch(o){case"info":{e.logger.info({message:s,prefix:t+(i.plugin?`:plugin:${i.plugin}`:"")});return}case"warn":{e.logger.warn({message:s,prefix:t+(i.plugin?`:plugin:${i.plugin}`:"")});return}case"debug":e.logger.debug({message:s,prefix:t+(i.plugin?`:plugin:${i.plugin}`:"")})}},"onLog"),onwarn(o,i){yo(o,e)||o.code||i(o)},preserveEntrySignatures:"strict",treeshake:{moduleSideEffects:!0,preset:"smallest"},watch:e.mode==="watch"?e.options.rollup.watch:!1}),"baseRollupOptions"),vo=G(async(e,t)=>{const o=We(e.pkg,e.options);let i;e.options.rollup.resolve&&e.options.experimental?.oxcResolve!==!0?i=qt({...e.options.rollup.resolve}):e.options.experimental?.oxcResolve&&e.options.rollup.experimental?.resolve&&(i=Qt(e.options.rollup.experimental.resolve,e.options.rootDir,e.logger,e.tsconfig?.path));const s=e.options.unbundle||e.options.rollup.output?.preserveModules?{preserveModules:!0,preserveModulesRoot:e.options.rollup.output?.preserveModulesRoot??e.options.sourceDir}:{manualChunks:mn(e.dependencyGraphMap,e.buildEntries),preserveModules:!1},[r,n,a]=zt(e.options.rollup.plugins,"build"),d=e.tsconfig?.config.compilerOptions?.esModuleInterop;let l,p;return e.options.rollup.pure&&(l=gn({...e.options.rollup.pure,functions:["Object.defineProperty","Object.assign","Object.create","Object.freeze","Object.seal","Object.setPrototypeOf","Object.getOwnPropertyDescriptor","Object.getOwnPropertyDescriptors","Object.getPrototypeOf","Object.hasOwnProperty","Object.isExtensible","Object.isFrozen","Object.isSealed","Symbol","Symbol.for","Symbol.keyFor","Symbol.iterator","Symbol.asyncIterator","Symbol.hasInstance","Symbol.isConcatSpreadable","Symbol.species","Symbol.toPrimitive","Symbol.toStringTag","Proxy","Reflect.apply","Reflect.construct","Reflect.defineProperty","Reflect.deleteProperty","Reflect.get","Reflect.getOwnPropertyDescriptor","Reflect.getPrototypeOf","Reflect.has","Reflect.isExtensible","Reflect.ownKeys","Reflect.preventExtensions","Reflect.set","Reflect.setPrototypeOf","WeakMap","WeakSet","WeakRef","Array.from","Array.of","Array.isArray","Number.isFinite","Number.isInteger","Number.isNaN","Number.isSafeInteger","Number.parseFloat","Number.parseInt","String.fromCharCode","String.fromCodePoint","String.raw","Date.now","Date.parse","Date.UTC","Math.abs","Math.acos","Math.acosh","Math.asin","Math.asinh","Math.atan","Math.atan2","Math.atanh","Math.cbrt","Math.ceil","Math.clz32","Math.cos","Math.cosh","Math.exp","Math.expm1","Math.floor","Math.fround","Math.hypot","Math.imul","Math.log","Math.log10","Math.log1p","Math.log2","Math.max","Math.min","Math.pow","Math.random","Math.round","Math.sign","Math.sin","Math.sinh","Math.sqrt","Math.tan","Math.tanh","Math.trunc","JSON.parse","JSON.stringify","require.resolve","Buffer.from","Buffer.alloc","Buffer.allocUnsafe","Buffer.isBuffer",...e.options.rollup.pure?.functions??[]],sourcemap:e.options.sourcemap}),l.transform.order="pre",p=hn({constructors:["Proxy","WeakMap","WeakSet","WeakRef",...e.options.rollup.pure?.functions?.filter(u=>typeof u=="string"&&!u.includes("."))??[]],sourcemap:e.options.sourcemap})),{...bo(e,"build"),output:[e.options.emitCJS&&{assetFileNames:"[name]-[hash][extname]",chunkFileNames:wt(()=>ee(e,"cjs"),e.options.unbundle||e.options.rollup.output?.preserveModules===!0),compact:e.options.minify,dir:P(e.options.rootDir,e.options.outDir),entryFileNames:$t(u=>ee(e,"cjs"),e.options.unbundle||e.options.rollup.output?.preserveModules===!0),esModule:d??"if-default-prop",exports:"auto",extend:!0,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,...s},e.options.emitESM&&{assetFileNames:"[name]-[hash][extname]",chunkFileNames:wt(()=>ee(e,"esm"),e.options.unbundle||e.options.rollup.output?.preserveModules===!0),compact:e.options.minify,dir:P(e.options.rootDir,e.options.outDir),entryFileNames:$t(u=>{if(e.options.unbundle||e.options.rollup.output?.preserveModules===!0)return"js";if(u.facadeModuleId?.endsWith(".mts")){const f=u.facadeModuleId.replace(/\.mts$/,".cts");if(Vt(f))return"mjs"}return!e.options.emitCJS&&e.options.emitESM&&e.pkg.main?.endsWith(".cjs")?"mjs":ee(e,"esm")},e.options.unbundle||e.options.rollup.output?.preserveModules===!0),esModule:d??"if-default-prop",exports:"auto",extend:!0,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,...s}].filter(Boolean),plugins:[L(Gt(),t),mo(e.pkg),oo(),e.tsconfig&&L(no(e.options.rootDir,e.logger,e.tsconfig),t),e.tsconfig&&e.options.rollup.tsconfigPaths&&L(io(e.options.rootDir,e.tsconfig,e.logger,e.options.rollup.tsconfigPaths),t),ho(e),go(e),e.options.rollup.replace&&(()=>{const u={sourcemap:e.options.sourcemap,...e.options.rollup.replace,values:e.options.rollup.replace.values?{...e.options.rollup.replace.values}:{}};return Xt(u)})(),e.options.rollup.alias&&Yt({customResolver:i,...e.options.rollup.alias,entries:o}),...r,i,e.options.rollup.nativeModules&&Rn(e.options.rollup.nativeModules),e.options.rollup.dataUri&&Dn({...e.options.rollup.dataUri}),e.options.rollup.polyfillNode&&yn({sourceMap:e.options.sourcemap,...e.options.rollup.polyfillNode}),e.options.rollup.json&&eo({...e.options.rollup.json}),e.options.rollup.debarrel&&On(e.options.rollup.debarrel,e.logger),bn(),e.options.rollup.wasm&&vn(e.options.rollup.wasm),e.options.rollup.url&&Jn(e.options.rollup.url),e.options.rollup.css&&e.options.rollup.css.loaders&&e.options.rollup.css.loaders.length>0&&L(await Bn({dts:!!e.options.declaration||e.options.isolatedDeclarationTransformer!==void 0,sourceMap:e.options.sourcemap,...e.options.rollup.css},e.options.browserTargets,e.options.rootDir,e.options.sourceDir,e.environment,e.options.sourcemap,e.options.debug,e.options.minify??!1,o),t),e.options.rollup.css&&e.options.rollup.css.loaders&&e.options.rollup.css.loaders.length>0&&e.options.declaration&&Kn(e.options.rollup.css,e.options.rootDir),e.options.rollup.raw&&L(Fn(e.options.rollup.raw),t),e.options.sourcemap&&Wn(e.options.rollup.sourcemap),...n,e.options.rollup.minifyHTMLLiterals&&e.options.minify&&Tn({...e.options.rollup.minifyHTMLLiterals,logger:e.logger}),e.options.declaration&&e.options.rollup.isolatedDeclarations&&e.options.isolatedDeclarationTransformer&&L(Nn(W(e.options.rootDir,e.options.sourceDir),e),t),e.options.rollup.requireCJS&&e.options.emitESM&&L(An({...e.options.rollup.requireCJS,cwd:e.options.rootDir},e.logger),t),e.options.rollup.babel&&L(En({include:e.options.rollup.babel.include??/\.(?:m|c)?(?:j|t)sx?$/,...e.options.rollup.babel,root:e.options.rootDir,sourceMaps:e.options.rollup.babel.sourceMaps??e.options.sourcemap??!1}),t),p,l,L(e.options.transformer(Vi(e.options.transformerName,e)),t),e.options.rollup.preserveDirectives&&In({directiveRegex:/^['|"](use (\w+))['|"]$/,...e.options.rollup.preserveDirectives,logger:e.logger}),e.options.rollup.shebang&&ln(e.options.entries.filter(u=>u.executable).map(u=>u.name).filter(Boolean),e.options.rollup.shebang),e.options.cjsInterop&&e.options.emitCJS&&Zt({...e.options.rollup.cjsInterop,logger:e.logger}),e.options.rollup.dynamicVars&&wn(),e.options.rollup.dynamicVars&&$n(e.options.rollup.dynamicVars),e.options.rollup.commonjs&&L(xn({sourceMap:e.options.sourcemap,...e.options.rollup.commonjs}),t),e.options.rollup.preserveDynamicImports&&{name:"packem:preserve-dynamic-imports",renderDynamicImport(){return{left:"import(",right:")"}}},e.options.cjsInterop&&e.options.rollup.shim&&Pn(e.pkg,e.options.rollup.shim),e.options.rollup.jsxRemoveAttributes&&L(Cn({attributes:e.options.rollup.jsxRemoveAttributes.attributes,logger:e.logger}),t),...a,e.options.rollup.metafile&&jn(),e.options.rollup.copy&&Sn(e.options.rollup.copy,e.logger),e.options.rollup.license&&e.options.rollup.license.path&&typeof e.options.rollup.license.dependenciesTemplate=="function"&&to({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.analyze&&e.options.rollup.visualizer!==!1&&kn({brotliSize:!0,gzipSize:!0,projectRoot:e.options.rootDir,sourcemap:e.options.sourcemap,...e.options.rollup.visualizer,filename:"packem-bundle-analyze.html",title:"Packem Visualizer"})].filter(Boolean),preserveEntrySignatures:"strict"}},"getRollupOptions"),Hi=G(e=>{const t=e.options.rollup.dts?.resolve;if(t===!1)return!1;if(t===!0)return!0;const o=[...Object.keys(e.pkg.optionalDependencies??{})],i=e.pkg.peerDependencies??{};if(e.pkg.peerDependenciesMeta)for(const[a,d]of Object.entries(e.pkg.peerDependenciesMeta))d&&typeof d=="object"&&"optional"in d&&d.optional&&a in i&&o.push(a);if(o.length===0&&!t)return!1;const s=[...o,...t??[]],r=new Set,n=[];for(const a of s)typeof a=="string"?r.has(a)||(r.add(a),n.push(a)):n.push(a);return n},"computeDtsResolve"),qi=G(async(e,t)=>{const{dts:o}=await import("@visulima/rollup-plugin-dts"),i=e.options.rollup.dts??{};return o({...i,compilerOptions:{...i.compilerOptions,incremental:void 0,inlineSources:void 0,sourceMap:void 0,tsBuildInfoFile:void 0},emitDtsOnly:!0,resolve:t??!1,tsconfig:e.tsconfig?.path})},"createDtsPlugin"),Gi=Wo(qi),wo=G(async(e,t)=>{const o=We(e.pkg,e.options),i=e.tsconfig?.config.compilerOptions,s=Hi(e);delete i?.lib;let r;e.options.rollup.resolve&&e.options.experimental?.oxcResolve!==!0?r=qt({...e.options.rollup.resolve}):e.options.experimental?.oxcResolve&&e.options.rollup.experimental?.resolve&&(r=Qt(e.options.rollup.experimental.resolve,e.options.rootDir,e.logger,e.tsconfig?.path));const n=`dts-plugin:${process.pid}${e.tsconfig.path}`,[a,d,l]=zt(e.options.rollup.plugins,"dts");return{...bo(e,"dts"),onwarn(p,u){yo(p,e)||p.code!=="EMPTY_BUNDLE"&&u(p)},output:[e.options.emitCJS&&{chunkFileNames:G(p=>fe(p,ne(e,"cjs")),"chunkFileNames"),compact:e.options.minify,dir:P(e.options.rootDir,e.options.outDir),entryFileNames:`[name].${ne(e,"cjs")}`,format:"cjs",sourcemap:e.options.sourcemap,...e.options.rollup.output},e.options.emitESM&&{chunkFileNames:G(p=>fe(p,ne(e,"esm")),"chunkFileNames"),compact:e.options.minify,dir:P(e.options.rootDir,e.options.outDir),entryFileNames:`[name].${ne(e,"esm")}`,format:"esm",sourcemap:e.options.sourcemap,...e.options.rollup.output},e.options.declaration==="compatible"&&{chunkFileNames:G(p=>fe(p,"d.mjs"),"chunkFileNames"),compact:e.options.minify,dir:P(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.ts",format:"cjs",sourcemap:e.options.sourcemap,...e.options.rollup.output}].filter(Boolean),plugins:[L(Gt(),t),L(oo(),t),mo(e.pkg,{dtsResolve:s,forTypes:!0,skipUnlistedWarnings:!0}),e.options.rollup.json&&eo({...e.options.rollup.json}),{load(p){if(!/\.(?:js|cjs|mjs|jsx|ts|tsx|ctsx|mtsx|mts|json)$/.test(p))return""},name:"packem:ignore-files"},e.tsconfig&&L(no(e.options.rootDir,e.logger,e.tsconfig),t),e.tsconfig&&e.options.rollup.tsconfigPaths&&L(io(e.options.rootDir,e.tsconfig,e.logger,e.options.rollup.tsconfigPaths),t),ho(e),go(e,{dtsResolve:s}),e.options.rollup.replace&&(()=>{const p={sourcemap:e.options.sourcemap,...e.options.rollup.replace,values:e.options.rollup.replace.values?{...e.options.rollup.replace.values}:{}};return Xt(p)})(),e.options.rollup.alias&&Yt({customResolver:r,...e.options.rollup.alias,entries:o}),...a,r,...d,...await Gi(n)(e,s),e.options.emitCJS&&Mn(),e.options.cjsInterop&&e.options.emitCJS&&Zt({...e.options.rollup.cjsInterop,logger:e.logger}),e.options.rollup.patchTypes&&L(zn(e.options.rollup.patchTypes,e.logger),t),pn(),...l,e.options.rollup.license&&e.options.rollup.license.path&&typeof e.options.rollup.license.dtsTemplate=="function"&&to({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 Xi=Object.defineProperty,$o=$((e,t)=>Xi(e,"name",{value:t,configurable:!0}),"d$4");const Ae="rollup-watch.json",xt=$o(({context:e,doOnSuccessCleanup:t,fileCache:o,mode:i,runBuilder:s,runOnsuccess:r,useCache:n,watcher:a})=>{const d=`watcher:${i}`;a.on("change",async(l,{event:p})=>{await t?.(),e.logger.info({message:`${K(ie(".",l))} was ${p}d`,prefix:d})}),a.on("restart",()=>{e.logger.info({message:"Rebuilding ...",prefix:d})}),a.on("event",async l=>{switch(l.code){case"BUNDLE_END":{await l.result.close(),n&&o.set(i==="bundle"?Ae:`dts-${Ae}`,l.result.cache),e.logger.raw(`
14
- ⚡️ Build run in ${l.duration}ms
15
-
16
- `),await s?.(!0);break}case"BUNDLE_START":{e.logger.info({message:K("build started..."),prefix:d});break}case"END":{e.logger.success({message:"Rebuild finished",prefix:d}),await r?.();break}case"ERROR":{At(l.error),e.logger.error({context:[l.error],message:`Rebuild failed: ${l.error.message}`,prefix:d});break}}})},"watchHandler"),Yi=$o(async(e,t,o,i,s)=>{const r=await vo(e,t);if(await e.hooks.callHook("rollup:options",e,r),Object.keys(r.input).length===0)return;let n=!0;(e.options.rollup.isolatedDeclarations||e.options.isolatedDeclarationTransformer||e.options.rollup.css)&&(n=!1),n&&(r.cache=t.get(Ae)),e.options.rollup.watch&&typeof r.watch=="object"&&r.watch.include===void 0&&(r.watch={...r.watch,...e.options.rollup.watch},r.watch.include=[W(e.options.sourceDir,"**","*"),"package.json","packem.config.*","tsconfig.json","tsconfig.*.json"],Array.isArray(e.options.rollup.watch.include)?r.watch.include=[...r.watch.include,...e.options.rollup.watch.include]:e.options.rollup.watch.include&&r.watch.include.push(e.options.rollup.watch.include),r.watch.chokidar={cwd:e.options.rootDir,...r.watch.chokidar,ignored:["**/.git/**","**/node_modules/**","**/test-results/**",...r.watch.chokidar?.ignored??[]]});const a=at(r);await e.hooks.callHook("rollup:watch",e,a);const d=[];Array.isArray(r.input)?d.push(...r.input):typeof r.input=="string"?d.push(r.input):d.push(...Object.keys(r.input??{}));let l="Starting watcher for entries:";for(const p of d)l+=se(`
17
- └─ ${ie(process.cwd(),p)}`);if(e.logger.info(l),xt({context:e,doOnSuccessCleanup:s,fileCache:t,mode:"bundle",runBuilder:o,runOnsuccess:i,useCache:n,watcher:a}),e.options.declaration&&e.options.rollup.isolatedDeclarations&&e.options.isolatedDeclarationTransformer)e.logger.info({message:"Using isolated declaration transformer to generate declaration files...",prefix:"dts"});else if(e.options.declaration){const p=await wo(e,t);n&&(p.cache=t.get(`dts-${Ae}`)),await e.hooks.callHook("rollup:dts:options",e,p);const u=at(p);await e.hooks.callHook("rollup:watch",e,u),xt({context:e,fileCache:t,mode:"types",useCache:n,watcher:u})}},"watch");var Qi=Object.defineProperty,Zi=$((e,t)=>Qi(e,"name",{value:t,configurable:!0}),"e$4");const es=Zi(async e=>{if(e.options.clean){const t=[];for(const o of new Set(e.options.entries.map(i=>i.outDir).filter(Boolean).toSorted()))o===e.options.rootDir||o===e.options.sourceDir||e.options.rootDir.startsWith(o.endsWith("/")?o:`${o}/`)||t.some(i=>o.startsWith(i))||(t.push(o),e.logger.info(`Cleaning dist directory: \`./${ie(e.options.rootDir,o)}\``),await To(o))}},"cleanDistributionDirectories");var ts=Object.defineProperty,os=$((e,t)=>ts(e,"name",{value:t,configurable:!0}),"o$4");const ns=os(()=>Vn((e,t,o)=>{if(t==="hooks"&&typeof o=="object"&&o!==null&&!Array.isArray(o)){const i=typeof e[t]=="object"&&e[t]!==null&&!Array.isArray(e[t])?e[t]:{};return e[t]={...i,...o},!0}return!1}),"createDefuWithHooksMerger");var is=Object.defineProperty,Se=$((e,t)=>is(e,"name",{value:t,configurable:!0}),"t$1");const ss=qn,rs=Se((e,t)=>{const{sideEffects:o}=t;let i;if(typeof o=="boolean")i=Se(()=>o,"hasSideEffects");else if(Array.isArray(o))if(o.length<=0)i=Se(()=>!1,"hasSideEffects");else{const s=o.map(r=>r.includes("/")?r:`**/${r}`);i=ss(s,void 0,{resolve:e})}else i=Se(()=>{},"hasSideEffects");return i},"getPackageSideEffect");function as(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}$(as,"getDefaultExportFromCjs");var Je,jt;function ls(){if(jt)return Je;jt=1;var e=Object.defineProperty,t=$((d,l)=>e(d,"name",{value:l,configurable:!0}),"s"),o=Gn,i=o.spawn,s=o.exec;Je=$(function(d,l,p){if(typeof l=="function"&&p===void 0&&(p=l,l=void 0),d=parseInt(d),Number.isNaN(d)){if(p)return p(new Error("pid must be a number"));throw new Error("pid must be a number")}var u={},f={};switch(u[d]=[],f[d]=1,process.platform){case"win32":s("taskkill /pid "+d+" /T /F",p);break;case"darwin":a(d,u,f,function(c){return i("pgrep",["-P",c])},function(){r(u,l,p)});break;default:a(d,u,f,function(c){return i("ps",["-o","pid","--no-headers","--ppid",c])},function(){r(u,l,p)});break}},"treeKill");function r(d,l,p){var u={};try{Object.keys(d).forEach(function(f){d[f].forEach(function(c){u[c]||(n(c,l),u[c]=1)}),u[f]||(n(f,l),u[f]=1)})}catch(f){if(p)return p(f);throw f}if(p)return p()}$(r,"killAll"),t(r,"killAll");function n(d,l){try{process.kill(parseInt(d,10),l)}catch(p){if(p.code!=="ESRCH")throw p}}$(n,"killPid"),t(n,"killPid");function a(d,l,p,u,f){var c=u(d),h="";c.stdout.on("data",function(m){var m=m.toString("ascii");h+=m});var y=t(function(g){if(delete p[d],g!=0){Object.keys(p).length==0&&f();return}h.match(/\d+/g).forEach(function(m){m=parseInt(m,10),l[d].push(m),l[m]=[],p[m]=1,a(m,l,p,u,f)})},"onClose");c.on("close",y)}return $(a,"buildProcessTree"),t(a,"buildProcessTree"),Je}$(ls,"requireTreeKill");var ps=ls();const cs=as(ps);var us=Object.defineProperty,xo=$((e,t)=>us(e,"name",{value:t,configurable:!0}),"l$4");const ds=xo(e=>process.platform==="win32"&&"cmd"in e&&"code"in e&&typeof e.cmd=="string"&&e.cmd.startsWith("taskkill")&&e.code===128,"isTaskKillCmdProcessNotFoundError"),fs=xo(async({pid:e,signal:t})=>await new Promise((o,i)=>{if(!Number.isInteger(e)||e<=0){i(new Error("Invalid process ID"));return}cs(e,t,s=>{if(s&&!ds(s)){i(s);return}o()})}),"killProcess");var ms=Object.defineProperty,gs=$((e,t)=>ms(e,"name",{value:t,configurable:!0}),"r$1");const kt=gs((e,t)=>{if(e.warnings.size>0&&(t&&e.logger.raw(`
18
- `),e.logger.warn(`Build is done with some warnings:
19
-
20
- ${Array.from(e.warnings,o=>`- ${o}`).join(`
21
- `)}`),e.options.failOnWarn))throw new Error("Exiting with code (1). You can change this behavior by setting `failOnWarn: false`.")},"logBuildErrors");var hs=Object.defineProperty,ys=$((e,t)=>hs(e,"name",{value:t,configurable:!0}),"n$1");const bs=ys(async(e,t,o)=>{if(e&&await de(W(e,"keystore.json"))){const i=await It(W(e,"keystore.json"));let s=await Qo(e,{withFileTypes:!0});s=s.filter(n=>n.isDirectory());let r=o;for(const n of s)if(!i[n.name]){try{await _t(W(e,n.name),{force:!0,recursive:!0})}catch(a){t.error({message:`Failed to remove cache directory ${n.name}: ${a instanceof Error?a.message:String(a)}`,prefix:"file-cache"});continue}r&&t.raw(`
22
- `),t.info({message:`Removing ${n.name} file cache, the cache key is not used anymore.`,prefix:"file-cache"}),r=!1}}},"removeOldCacheFolders");var vs=Object.defineProperty,ws=$((e,t)=>vs(e,"name",{value:t,configurable:!0}),"a$6");const $s=ws(e=>{if(e.options.runtime!=="node"||e.options.emitCJS!==!0)return;const t=[],o=e.pkg.engines?.node,i=o?so(o):null;i&&t.push(i.version);const s=st(e.options.rollup.esbuild?.target??[]);for(const n of s)if(typeof n=="string"&&n.startsWith("node")){const a=Me(n.slice(4));a&&t.push(a.version)}const r=st(e.options.rollup.oxc?.target??[]);for(const n of r)if(typeof n=="string"&&n.startsWith("node")){const a=Me(n.slice(4));a&&t.push(a.version)}if(t.length===0){const n=Me(Tt.node);n&&t.push(n.version)}t.some(n=>ro(n,">=23.0.0 || >=22.12.0"))&&e.logger.warn(["We recommend using the ESM format instead of CommonJS.","The ESM format is compatible with modern platforms and runtimes, and most new libraries are now distributed only in ESM format.","Learn more at https://nodejs.org/en/learn/modules/publishing-a-package#how-did-we-get-here"].join(`
23
- `))},"warnLegacyCJS");var xs=Object.defineProperty,xe=$((e,t)=>xs(e,"name",{value:t,configurable:!0}),"w");const js=Qn(Xn.exec);function jo(e){const t=new Map;return(...o)=>{const i=o.toString();if(t.has(i))return t.get(i);const s=e(...o);return t.set(i,s),s}}$(jo,"ye$1");xe(jo,"memo");const ks={bundler:"bundler",node10:"node10","node16-cjs":"node16 (from CJS)","node16-esm":"node16 (from ESM)"},Es={"":"",1:"(CJS)",99:"(ESM)"},Et={CJSOnlyExportsDefault:Pe,CJSResolvesToESM:we,FallbackCondition:we,FalseCJS:ve,FalseESM:ve,FalseExportDefault:Pe,InternalResolutionError:ve,MissingExportEquals:Pe,NamedExports:we,NoResolution:ve,UnexpectedModuleSyntax:ve,UntypedResolution:we},Ss={esmOnly:["node10","node16-cjs"],node16:["node10"],strict:[]},Ds=xe(e=>{if(e.startsWith("{"))return e;const t=/\{\s*"name"/.exec(e)?.index;if(t!=null)return e.slice(t);const o=e.indexOf("{");return o!==-1?e.slice(o):e},"fixPnpmStdout"),Os=xe(e=>{const t=e.split(`
24
- `);let o="[";for(const i of t)i&&(o+=`${i},`);return o.at(-1)===","&&(o=o.slice(0,-1)),o+="]",o},"fixYarnStdout"),Ps=xe(async(e,t)=>{if(!e.options?.validation)return;const o=e.options.validation;if(!o.attw)return;const{packageJson:i}=Xe(e.options.rootDir);if(e.logger.log(i),e.pkg=i,t&&e.logger.raw(`
25
- `),!e.pkg){e.logger.warn({message:"attw is enabled but package.json is not found",prefix:"attw"});return}await Ao(e.pkg,["@arethetypeswrong/core","package-manager-detector"],"devDependencies",{logger:{warn:xe(w=>{e.logger.warn({message:w,prefix:"attw"})},"warn")}});let{level:s="warn",pm:r="auto",profile:n="strict",...a}=o.attw===!0?{}:o.attw;const d=performance.now();e.logger.debug({message:"Running attw check",prefix:"attw"});const l=await Zo(W(Yn(),"packem-attw-"));let p;try{p=await import("@arethetypeswrong/core")}catch{e.logger.error({message:`ATTW check requires ${Pe`@arethetypeswrong/core`} to be installed.`,prefix:"attw"});return}let u;switch(r){case"auto":{const{detect:w}=await import("package-manager-detector/detect"),M=await w({cwd:e.options.rootDir});if(M){if(M.name==="bun")throw new Error("Bun does not support --json on the pack command");u=M.name}break}case"bun":throw new Error("Bun does not support --json on the pack command");case"pnpm":{u="pnpm";break}case"yarn":{u="yarn";break}default:u="npm"}const{allResolutionKinds:f,getResolutionOption:c,groupProblemsByKind:h}=await import("@arethetypeswrong/core/utils"),{filterProblems:y,problemAffectsEntrypoint:g,problemAffectsResolutionKind:m,problemKindInfo:j}=await import("@arethetypeswrong/core/problems");try{let w=`--pack-destination ${l}`;u==="yarn"?w=`--out "${W(l,"package.tgz")}"`:u==="bun"&&(w=` --destination "${l}"`);let M=" --ignore-scripts";u==="yarn"?M="":u==="pnpm"&&(M=" --config.ignore-scripts=true");let{stdout:R}=await js(`${u} pack --json ${w}${M}`,{cwd:e.options.rootDir,encoding:"utf8"});R=R.trim(),u==="pnpm"?R=Ds(R):u==="yarn"&&(R=Os(R));const J=JSON.parse(R);if(!J?.filename)throw new Error(`Invalid npm pack output format: ${R}`);const b=J.filename,D=await en(b),N=p.createPackageFromTarballData(new Uint8Array(D)),v=await p.checkPackage(N,a),S=Ss[n];if(v.types!==!1&&v.problems.length>0){const I=f.filter(k=>!S.includes(k)),H=f.filter(k=>S.includes(k)),V=[...I,...H],_=Object.keys(v.entrypoints),ge=_.map(k=>`"${k==="."?v.packageName:`${v.packageName}/${k.slice(2)}`}"`),z=_.map((k,O)=>{const x=v.problems.some(T=>g(T,k,v))?"redBright":"greenBright";return Q[x](ge[O])}),ae=jo((k,O)=>{const x=S.includes(O)?"(ignored) ":"",T=h(y(v.problems,v,{entrypoint:k,resolutionKind:O})),B=v.entrypoints[k].resolutions[O],{resolution:X}=B,U=Object.keys(T);if(U.length>0)return U.map(Ze=>x+Et[Ze](j[Ze].shortDescription)).join(`
26
- `);const he="OK (JSON)",Do=B.isWildcard?"(wildcard)":`OK ${Es[v.programInfo[c(O)].moduleKinds?.[X?.fileName??""]?.detectedKind||""]}`;return x+(X?.isJson?he:Do)}),Y=Zn({style:{border:ei}});Y.setHeaders(["",...V.map(k=>ks[k])]),z.forEach((k,O)=>{const[x,T,B,X]=V.map(U=>_.map(he=>ae(he,U)));Y.addRow([k,x[O]??null,T[O]??null,B[O]??null,X[O]??null])});const F=h(v.problems),C=Object.entries(F).map(([k,O])=>{const x=j[k],T=O.some(X=>I.some(U=>m(X,U,v))),B=`${`${x.description}${x.details?` Use \`-f json\` to see ${x.details}.`:""}`} ${x.docsUrl}`;return`${T?"":"(ignored per resolution) "}${Et[k](B)}`}),A=`Are the types wrong problems found:
27
-
28
- ${Y.toString()}
29
-
30
- ${C.join(`
31
-
32
- `)}`;if(s==="error"){e.logger.error({message:A,prefix:"attw"}),be.exitCode=1;return}e.logger.warn({message:A,prefix:"attw"})}else e.logger.success({message:Rt(`No Are the types wrong problems found ${Po`(${Math.round(performance.now()-d).toString()}ms)`}`),prefix:"attw"})}catch(w){e.logger.error({message:`ATTW check failed: ${w.toString()}`,prefix:"attw"}),e.logger.debug({message:"Found errors, setting exit code to 1",prefix:"attw"}),be.exitCode=1}finally{await _t(l,{force:!0,recursive:!0}).catch(()=>{})}},"attw");var Ms=Object.defineProperty,ko=$((e,t)=>Ms(e,"name",{value:t,configurable:!0}),"n");const St=ko(e=>Array.from(e,t=>we(t)).join(", "),"joinWarnings"),Ns=ko(e=>{if(e.hoistedDependencies.size>0){const o=`These dependencies are shamefully hoisted: ${St(e.hoistedDependencies)}`;E(e,o)}let t=Object.keys(e.pkg.dependencies||{}).filter(o=>!e.usedDependencies.has(o));if(e.options?.validation&&e.options?.validation?.dependencies!==!1&&e.options?.validation?.dependencies?.unused!==!1&&(t=t.filter(o=>!e.options?.validation?.dependencies?.unused?.exclude.includes(o))),t.length>0){const o=`These dependencies are listed in package.json but not used: ${St(t)}`;E(e,o)}},"validateDependencies");var Cs=Object.defineProperty,Ts=$((e,t)=>Cs(e,"name",{value:t,configurable:!0}),"o$2");const Dt=">=18.0.0",Rs=Ts(e=>{const t=e.options.validation,{pkg:o}=e;if(t.packageJson?.engines===!1)return;const i=process.version,s=o.engines?.node;if(!s){E(e,`The 'engines.node' field is missing in your package.json. Consider adding "engines": { "node": "${Dt}" } to specify Node.js version requirements.`);return}if(!_n(s)){E(e,`Invalid Node.js version range "${s}" in engines.node field. Please use a valid semver range like "${Dt}".`);return}if(!ro(i,s))throw new Error(`Node.js version mismatch: Current version ${i} does not satisfy the required range "${s}" specified in package.json engines.node field.`)},"validateEngines");var Is=Object.defineProperty,Eo=$((e,t)=>Is(e,"name",{value:t,configurable:!0}),"i$1");const Fs=Eo((e,t)=>ti(e,t)<=e.length/3||t.includes(e),"isSimilar"),As=Eo((e,t)=>{const o=e.toLowerCase();return t.filter(i=>Fs(i.toLowerCase(),o))},"findAlternatives");var Ws=Object.defineProperty,Ot=$((e,t)=>Ws(e,"name",{value:t,configurable:!0}),"o$1");const Js=Ot(e=>{const{options:t}=e,o=t.validation;if(o.packageJson?.exports===!1)return;let i=[];t.dtsOnly||o.packageJson?.bin===!1?i=[""]:typeof e.pkg.bin=="string"?i=[e.pkg.bin]:typeof e.pkg.bin=="object"&&(i=Object.values(e.pkg.bin));const s=e.pkg.type==="module"?"esm":"cjs",r=new Set([t.declaration&&o.packageJson?.types?e.pkg.types:"",t.declaration&&o.packageJson?.types?e.pkg.typings:"",...i,t.dtsOnly&&o.packageJson?.main===!1?"":e.pkg.main,t.dtsOnly&&o.packageJson?.module===!1?"":e.pkg.module,...o.packageJson?.exports?Ge(e.pkg.exports,s,t.declaration,[],t.ignoreExportKeys).filter(l=>!l.ignored).map(l=>t.dtsOnly?l.subKey==="types"?l.file:void 0:l.file):[]].filter(Boolean).map(l=>l&&P(t.rootDir,l.replace(/\/[^*/]*\*[^\n\r/\u2028\u2029]*(?:[\n\r\u2028\u2029][^*/]*\*[^\n\r/\u2028\u2029]*)*(?:\/.*)?$/,"")))),n=[];for(const l of r)l&&!l.includes("*")&&!Vt(l)&&n.push(l.replace(`${t.rootDir}/`,""));const a=Ot(l=>ie(t.rootDir,P(t.outDir,l)),"rPath"),d=e.buildEntries.filter(l=>!l.chunk).map(l=>a(l.path));if(n.length>0){let l="Potential missing or wrong package.json files:";for(const p of n){const u=As(p,d);l+=`
33
- - ${K(p)}${u.length>0?Mo` (did you mean ${u.map(f=>`"${f}"`).join(", ")}?)`:""}`}E(e,l)}},"validatePackageEntries");var zs=Object.defineProperty,Ne=$((e,t)=>zs(e,"name",{value:t,configurable:!0}),"y$2");const Bs=Ne((e,t)=>{const o=e.options.validation;if(o.packageJson?.exports===!1)return;const i=new Set(["default","import","module-sync","node","node-addons","require"]),s=new Set(["browser","bun","deno","development","edge-light","electron","production","react-native","react-server","types","workerd"]),r=o.packageJson?.extraConditions||[],n=new Set(r),a=new Set([...s,...n,...i]),d=Ne((l,p)=>{if(l!==null){if(typeof l=="string"){if(!l.startsWith("./")){E(e,`Invalid exports path "${l}" at ${p}. Export paths must start with "./"`);return}if(l.includes("../")){E(e,`Invalid exports path "${l}" at ${p}. Export paths should not contain "../" for security reasons`);return}const u=o.packageJson?.allowedExportExtensions||[],f=[...zo,...u];if(Ke(l)){try{const c=l.startsWith("./")?P(e.options.rootDir,l.slice(2)):P(e.options.rootDir,l),h=Lt([c],{cwd:e.options.rootDir,dot:!1,ignore:["**/node_modules/**","**/.git/**","**/dist/**"]});if(h.length===0)return;const y=h.filter(g=>!f.some(m=>g.endsWith(m)));y.length>0&&E(e,`Export path "${l}" at ${p} matches files with invalid extensions: ${y.join(", ")}. Valid extensions are: ${f.join(", ")}`)}catch(c){E(e,`Could not validate glob pattern "${l}" at ${p}: ${c instanceof Error?c.message:"Unknown error"}`)}return}f.some(c=>l.endsWith(c))||E(e,`Export path "${l}" at ${p} should have a valid file extension (${f.join(", ")})`);return}if(Array.isArray(l)){if(l.length===0){E(e,`Empty fallback array at ${p}. Fallback arrays should contain at least one entry`);return}l.forEach((u,f)=>{d(u,`${p}[${f}]`)});return}if(typeof l=="object"&&l!==null){const u=Object.keys(l);if(u.length===0){E(e,`Empty conditions object at ${p}. Conditional exports should define at least one condition`);return}const f=u.filter(h=>!a.has(h));if(f.length>0){const h=r.length>0,y=[...i].join(", ");h?E(e,`Unknown export conditions [${f.join(", ")}] at ${p}. Consider using standard conditions (${y}) or add custom conditions to 'validation.packageJson.extraConditions' in your packem config.`):E(e,`Unknown export conditions [${f.join(", ")}] at ${p}. Consider using standard conditions (${y}) or add custom conditions using the 'extraConditions' option in your validation config.`)}const c=u.filter(h=>i.has(h));if(c.length>1){const h=["node-addons","node","import","require","module-sync","default"],y=c,g=h.filter(m=>y.includes(m));JSON.stringify(y)!==JSON.stringify(g)&&E(e,`Incorrect condition order at ${p}. Standard conditions should be ordered: ${g.join(" > ")}`)}u.includes("import")&&u.includes("require"),u.includes("development")&&u.includes("production")&&E(e,`Conflicting conditions "development" and "production" at ${p}. These conditions are mutually exclusive`),u.forEach(h=>{d(l[h],`${p}.${h}`)});return}E(e,`Invalid exports value type at ${p}. Expected string, array, object, or null`)}},"validateExportsValue");Ne(l=>{if(typeof l=="string"){d(l,"exports");return}if(Array.isArray(l)){l.forEach((p,u)=>{d(p,`exports[${u}]`)});return}if(typeof l=="object"&&l!==null){const p=Object.keys(l);if(p.length===0){E(e,"Empty exports object. Define at least one export entry");return}const u=p.filter(c=>c.startsWith(".")),f=p.filter(c=>!c.startsWith("."));if(u.length>0&&f.length>0){E(e,'Mixed subpaths and conditions in exports object. Use either subpaths (keys starting with ".") or conditions, not both');return}u.length>0?(p.includes(".")||E(e,'Missing main export ".". Subpaths exports should include a main export entry'),p.forEach(c=>{c.startsWith("./")||c==="."||c.startsWith(".")&&!c.startsWith("./")&&E(e,`Invalid subpath "${c}". Subpaths should start with "./" or be exactly "."`),c.includes("*")&&(c.match(/\*/g)||[]).length>1&&E(e,`Invalid subpath pattern "${c}". Only one "*" wildcard is allowed per subpath`),d(l[c],`exports["${c}"]`)})):d(l,"exports");return}E(e,"Invalid exports field type. Expected string, array, or object")},"validateExportsObject")(t)},"validateExports"),Ks=Ne(e=>{const t=e.options.validation,{pkg:o}=e,i=ee(e,"cjs"),s=ee(e,"esm");o.name===void 0&&t.packageJson?.name!==!1&&E(e,"The 'name' field is missing in your package.json. Please provide a valid package name."),t.packageJson?.files!==!1&&Array.isArray(o.files)&&!o.files.includes("*")&&(o.files.length===0?E(e,"The 'files' field in your package.json is empty. Please specify the files to be included in the package."):o.files.some(a=>a.includes(e.options.outDir))||E(e,`The 'files' field in your package.json is missing the '${e.options.outDir}' directory. Ensure the output directory is included.`));const r=o.type==="commonjs"||o.type===void 0,n=o.type==="module";if(r?(t.packageJson?.main!==!1&&(o.main===void 0&&E(e,"The 'main' field is missing in your package.json. This field should point to your main entry file."),o.main?.endsWith(`.${s}`)&&E(e,`The 'main' field in your package.json should not use a '.${s}' extension for CommonJS modules.`)),t.packageJson?.module!==!1&&(o.module===void 0&&e.options.emitESM&&E(e,"The 'module' field is missing in your package.json, but you are emitting ES modules."),o.module&&o.main&&o.module===o.main&&E(e,`Conflict detected: The 'module' and 'main' fields both point to '${o.module}'. Please ensure they refer to different module types.`),e.options.emitESM&&o.module?.endsWith(`.${i}`)&&E(e,`The 'module' field in your package.json should not use a '.${i}' extension for ES modules.`))):n&&(o.exports===void 0&&!e.options.emitCJS?t.packageJson?.exports!==!1&&E(e,"The 'exports' field is missing in your package.json. Define module exports explicitly."):e.options.emitCJS&&(t.packageJson?.main!==!1&&o.main===void 0&&E(e,"The 'main' field is missing in your package.json. This field is needed when emitting CommonJS modules."),t.packageJson?.module!==!1&&(o.module===void 0&&E(e,"The 'module' field is missing in your package.json. This field is necessary when emitting ES modules."),o.module?.endsWith(`.${i}`)&&E(e,`The 'module' field should not use a '.${i}' extension for ES modules.`),o.module&&o.main&&o.module===o.main&&E(e,`Conflict detected: The 'module' and 'main' fields both point to '${o.module}'. Please ensure they refer to different module types.`)),t.packageJson?.exports!==!1&&o.exports===void 0&&E(e,"The 'exports' field is missing in your package.json. This field is required for defining explicit exports."))),o.exports!==void 0&&Bs(e,o.exports),t.packageJson?.bin!==!1){const a=r?s:i;if(i!==s){if(typeof o.bin=="string"&&o.bin.endsWith(`.${a}`))E(e,`The 'bin' field in your package.json should not use a .${a} extension for ${r?"CommonJS":"ES modules"} binaries.`);else if(typeof o.bin=="object")for(const[d,l]of Object.entries(o.bin))l&&l.endsWith(`.${a}`)&&E(e,`The 'bin.${d}' field in your package.json should not use a .${a} extension for ${r?"CommonJS":"ES modules"} binaries.`)}}if(e.options.declaration){let a=!0;o.type==="module"&&(a=!!o.main?.endsWith(`.${i}`)),o.types===void 0&&o.typings===void 0&&a&&t.packageJson?.types!==!1&&E(e,"The 'types' field is missing in your package.json. This field should point to your type definitions file."),(e.options.declaration===!0||e.options.declaration==="compatible")&&a&&t.packageJson?.typesVersions!==!1&&(o.typesVersions===void 0||Object.keys(o.typesVersions).length===0)&&E(e,"No 'typesVersions' field found in your package.json. Consider adding this field, or change the declaration option to 'node16' or 'false'.")}t.packageJson?.sideEffects!==!1&&o.sideEffects===void 0&&E(e,"The 'sideEffects' field is missing in your package.json. Consider adding this field to your package.json.")},"validatePackageFields");var _s=Object.defineProperty,Us=$((e,t)=>_s(e,"name",{value:t,configurable:!0}),"o");const Ls=Us(e=>{const{packageJson:t}=Xe(e.options.rootDir);e.pkg=t,Ns(e),Rs(e),Ks(e),Js(e)},"validator");var Vs=Object.defineProperty,Hs=$((e,t)=>Vs(e,"name",{value:t,configurable:!0}),"a$2");const qs=/^[^a-z_@#~]|[^\w/@#~-]|@\/|#\/|~\//i,Gs=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","undefined","var","void","volatile","while","with","yield"]),Pt=Hs(e=>{if(!Array.isArray(e)&&e!==void 0)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(qs.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(Gs.has(t))throw new Error(`Alias name "${t}" is a reserved keyword and cannot be used.`);const i=P(o);if(!le(i))throw new Error(`Target path "${i}" for alias "${t}" does not exist.`)}},"validateAliasEntries");var Xs=Object.defineProperty,Ys=$((e,t)=>Xs(e,"name",{value:t,configurable:!0}),"p$2");const Qs=Ys((e,t)=>{const o=e.options.validation,{allowFail:i=!1,limit:s,limits:r={}}=o.bundleLimit??{};for(const[n,a]of Object.entries(r)){const d=typeof a=="string"?tt(a):a;if(!Number.isFinite(d)||d<=0){e.logger.debug({message:`Invalid limit for ${n}: ${a}`,prefix:"Validation: File Size"});continue}const l=e.buildEntries.find(p=>{const u=n.replace(new RegExp(`^.?/?${e.options.outDir}/?`),"");return p.path.endsWith(u)||oi(n)(p.path)});if(!l?.size?.bytes){e.logger.debug({message:l?`Entry file has no size information: ${n}.`:`Entry file not found: ${n}, please check your configuration.`,prefix:"Validation: File Size"});continue}if(l.size.bytes>d){const p=`File size exceeds the limit: ${W(e.options.outDir,l.path)} (${q(l.size.bytes)} / ${q(d,{decimals:2})})`;i?(t&&e.logger.raw(`
34
- `),e.logger.warn({message:p,prefix:"validation:file-size"})):E(e,p)}}if(s){const n=e.buildEntries.reduce((d,l)=>{const p=l.size?.bytes;return d+(typeof p=="number"?p:0)},0),a=typeof s=="string"?tt(s):s;if(!Number.isFinite(a)||a<=0){e.logger.debug({message:`Invalid total limit: ${s}`,prefix:"Validation: File Size"});return}if(n>a){const d=`Total file size exceeds the limit: ${q(n)} / ${q(a,{decimals:2})}`;i?(t&&Object.keys(r).length===0&&e.logger.raw(`
35
- `),e.logger.warn({message:d,prefix:"validation:file-size"})):E(e,d)}}},"validateBundleSize");var Zs=Object.defineProperty,Mt=$((e,t)=>Zs(e,"name",{value:t,configurable:!0}),"t");const er=Mt(async(e,t)=>{if(e.length===0)return[];const o=t<=0||!Number.isFinite(t)?1/0:t,i=Array.from({length:e.length});let s=0;const r=Mt(async()=>{for(;s<e.length;){const a=s;s+=1;const d=e[a];d&&(i[a]=await d())}},"runNext"),n=Array.from({length:Math.min(o,e.length)}).fill(r());return await Promise.all(n),i},"runWithConcurrency");var tr=Object.defineProperty,or=$((e,t)=>tr(e,"name",{value:t,configurable:!0}),"c$2");const Nt="rollup-build.json",ze="dependencies-cache.json",nr=or(async(e,t,o)=>{const i=await vo(e,t);if(await e.hooks.callHook("rollup:options",e,i),Object.keys(i.input).length===0)return;const s=e.options.validation&&e.options.validation.dependencies!==!1&&!!t.get(ze,o),r=!e.options.validation||e.options.validation.dependencies===!1||s;if(r&&(i.cache=t.get(Nt,o),s)){const d=t.get(ze,o);d&&(d.used?.forEach(l=>e.usedDependencies.add(l)),d.hoisted?.forEach(l=>e.hoistedDependencies.add(l)))}const n=await Bt(i);r&&t.set(Nt,n.cache,o),e.options.validation&&e.options.validation.dependencies!==!1&&t.set(ze,{hoisted:[...e.hoistedDependencies],used:[...e.usedDependencies]},o),await e.hooks.callHook("rollup:build",e,n);const a=new Map;for(const d of i.output){const{output:l}=await n.write(d),p=l.filter(f=>f.type==="chunk"&&f.isEntry);for(const f of p)e.buildEntries.push({chunks:f.imports.filter(c=>p.find(h=>h.fileName===c)),dynamicImports:f.dynamicImports,exports:f.exports,modules:Object.entries(f.modules).map(([c,h])=>({bytes:h.renderedLength,id:c})),path:f.fileName,size:{bytes:Buffer.byteLength(f.code,"utf8")},type:"entry"});const u=l.filter(f=>f.type==="asset");for(const f of u)a.has(f.fileName)||a.set(f.fileName,{path:f.fileName,size:{bytes:Buffer.byteLength(f.source,"utf8")},type:"asset"})}e.buildEntries.push(...a.values())},"build");var ir=Object.defineProperty,De=$((e,t)=>ir(e,"name",{value:t,configurable:!0}),"e");const Ct="rollup-dts.json",sr=De(async(e,t,o)=>{if(e.options.declaration&&e.options.rollup.isolatedDeclarations&&e.options.isolatedDeclarationTransformer){e.logger.info({message:"Using isolated declaration transformer to generate declaration files...",prefix:"dts"});return}const i=await wo(e,t);if(await e.hooks.callHook("rollup:dts:options",e,i),Object.keys(i.input).length===0)return;i.cache=t.get(Ct,o);const s=await Bt(i);if(t.set(Ct,s.cache,o),await e.hooks.callHook("rollup:dts:build",e,s),e.logger.info({message:"Building declaration files...",prefix:"dts"}),e.options.emitCJS){const r=ne(e,"cjs");await s.write({chunkFileNames:De(n=>fe(n,r),"chunkFileNames"),dir:P(e.options.rootDir,e.options.outDir),entryFileNames:`[name].${r}`})}if(e.options.emitESM){const r=ne(e,"esm");await s.write({chunkFileNames:De(n=>fe(n,r),"chunkFileNames"),dir:P(e.options.rootDir,e.options.outDir),entryFileNames:`[name].${r}`})}(e.options.declaration===!0||e.options.declaration==="compatible")&&await s.write({chunkFileNames:De(r=>fe(r,"d.ts"),"chunkFileNames"),dir:P(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.ts"}),await e.hooks.callHook("rollup:dts:done",e)},"buildTypes");var rr=Object.defineProperty,ar=$((e,t)=>rr(e,"name",{value:t,configurable:!0}),"a");const lr=ar(async e=>await new Promise((t,o)=>{let i=0;const s=Ht(e).pipe(ni({params:{[ii.BROTLI_PARAM_QUALITY]:11}}));s.on("error",o),s.on("data",r=>{i+=r.length}),s.on("end",()=>{t(i)})}),"brotliSize");var pr=Object.defineProperty,cr=$((e,t)=>pr(e,"name",{value:t,configurable:!0}),"K");const ur=cr((e,t,o,i)=>i!==void 0?e.reduce((s,r)=>{const n=String(r[t]??"undefined"),a=String(r[o]??"undefined"),d=String(r[i]??"undefined");return s[n]||(s[n]={}),s[n][a]||(s[n][a]={}),s[n][a][d]||(s[n][a][d]=[]),s[n][a][d].push(r),s},{}):e.reduce((s,r)=>{const n=String(r[t]??"undefined"),a=String(r[o]??"undefined");return s[n]||(s[n]={}),s[n][a]||(s[n][a]=[]),s[n][a].push(r),s},{}),"groupByKeys");var dr=Object.defineProperty,fr=$((e,t)=>dr(e,"name",{value:t,configurable:!0}),"i");const mr=fr(async e=>await new Promise((t,o)=>{let i=0;const s=Ht(e).pipe(si({level:9}));s.on("error",o),s.on("data",r=>{i+=r.length}),s.on("end",()=>{t(i)})}),"gzipSize");var gr=Object.defineProperty,oe=$((e,t)=>gr(e,"name",{value:t,configurable:!0}),"h");const hr=2,yr=oe((e,t)=>{const o=oe(n=>ie(t.options.rootDir,P(t.options.outDir,n)),"rPath");let i=!1;const s=[],r=t.buildEntries.filter(n=>n.type==="entry");if(r.length>0){e.raw(`Entries:
36
- `);for(const n of r){let a=n.size?.bytes??0,d=0;for(const p of n.chunks??[]){const u=t.buildEntries.find(f=>f.path.endsWith(p))?.size?.bytes??0;a+=u,d+=u}let l=` ${Q(o(n.path))} (${[`total size: ${K(q(a,{decimals:2}))}`,n.size?.brotli&&`brotli size: ${K(q(n.size.brotli,{decimals:2}))}`,n.size?.gzip&&`gzip size: ${K(q(n.size.gzip,{decimals:2}))}`,d!==0&&`chunk size: ${K(q(d,{decimals:2}))}`].filter(Boolean).join(", ")})`;if(l+=n.exports?.length?`
37
- exports: ${se(n.exports.join(", "))}`:"",n.chunks?.length&&(l+=`
38
- ${n.chunks.map(p=>{const u=t.buildEntries.find(f=>f.path===p)??{};return se(` └─ ${o(p)}${Q(u.bytes?` (${q(u?.bytes,{decimals:2})})`:"")}`)}).join(`
39
- `)}`),n.dynamicImports&&n.dynamicImports.length>0&&(l+=`
40
- dynamic imports:`,l+=`
41
- ${n.dynamicImports.map(p=>se(` └─ ${o(p)}`)).join(`
42
- `)}`),n.modules&&n.modules.length>0){const p=n.modules.filter(u=>u.id.includes("node_modules")).toSorted((u,f)=>(f.bytes||0)-(u.bytes||0)).map(u=>se(` 📦 ${o(u.id)}${Q(u.bytes?` (${q(u.bytes,{decimals:2})})`:"")}`)).join(`
43
- `);l+=p.length>0?`
44
- inlined modules:
45
- ${p}`:""}if(t.options.declaration){const p=ee(t,"cjs"),u=ee(t,"esm"),f=ne(t,"cjs"),c=ne(t,"esm");let h=n.path.replace(/\.js$/,".d.ts"),y="commonjs";n.path.endsWith(`.${p}`)?h=n.path.replace(new RegExp(String.raw`\.${p}$`),`.${f}`):n.path.endsWith(`.${u}`)&&(y="module",h=n.path.replace(new RegExp(String.raw`\.${u}$`),`.${c}`));const g=t.buildEntries.find(m=>m.path.endsWith(h));if(g){s.push(g.path);let m;h.includes(".d.ts")||(h=h.replace(/\.d\.[m|c]ts$/,".d.ts"),m=t.buildEntries.find(j=>j.path.endsWith(h))),m&&(s.push(m.path),y==="commonjs"?l+=`
46
- types:
47
- ${[g,m].map(j=>`${se(" └─ ")+Q(o(j.path))} (total size: ${K(q(j.size?.bytes??0,{decimals:2}))})`).join(`
48
- `)}`:l+=`
49
- types: ${Q(o(g.path))} (total size: ${K(q(g.size?.bytes??0,{decimals:2}))})`)}}i=!0,l+=`
50
-
51
- `,e.raw(n.chunk?se(l):l)}}if(t.buildEntries.filter(n=>n.type==="asset").length>0){let n="Assets:";for(const a of t.buildEntries.filter(d=>d.type==="asset"&&!s.includes(d.path)))n+=`${se(`
52
- └─ `)+Q(o(a.path))} (total size: ${K(q(a.size?.bytes??0,{decimals:2}))})`;n+=`
53
-
54
- `,e.raw(n)}return i&&e.raw("Σ Total dist size (byte size):",K(q(t.buildEntries.reduce((n,a)=>n+(a.size?.bytes??0),0),{decimals:2})),`
55
- `),i},"showSizeInformation"),br=/\.d\.[mc]?ts$/,vr=oe(e=>!!e?.endsWith(".d"),"isDeclarationOnlyEntry"),Be=oe(e=>e.filter(t=>!br.test(t.input)),"filterDtsEntries"),wr=oe((e,t)=>{const o=[];return e!=="undefined"&&o.push(`${K(e)} environment`),t!=="undefined"&&o.push(`${K(t)} runtime`),o.length>0?`Preparing build for ${o.join(" with ")}`:""},"createBuildLogMessage"),$r=oe((e,t)=>{const o={};return e!=="undefined"&&(o[["process","env","NODE_ENV"].join(".")]=JSON.stringify(e)),o[["process","env","EdgeRuntime"].join(".")]=JSON.stringify(t==="edge-light"),Object.freeze(o)},"createReplaceValues"),xr=oe((e,t)=>{const o=[];return e!=="undefined"&&o.push(e),t!=="undefined"&&o.push(t),o.length>0?`${o.join("/")}/`:""},"createSubDirectory"),Oe=oe((e,t,o,i,s,r)=>({...e,options:{...e.options,emitCJS:t,emitESM:o,entries:i,minify:s,rollup:{...e.options.rollup,replace:e.options.rollup.replace?{...e.options.rollup.replace,values:e.options.rollup.replace.values?{...e.options.rollup.replace.values}:{...r}}:!1}}}),"createAdjustedContext"),jr=oe(async(e,t)=>{const o=oe(a=>{const d=a.name??a.fileAlias;if(!d)return"default";const l=[".browser",".server",".development",".node",".workerd"];for(const p of l)if(d.includes(p))return p.slice(1);return"default"},"getEntryType"),i=e.options.entries.map(a=>({...a,environment:String(a.environment??"undefined"),runtime:String(a.runtime??"undefined"),type:o(a)})),s=ur(i,"environment","runtime","type"),r=new Set,n=new Set;for(const[a,d]of Object.entries(s))for(const[l,p]of Object.entries(d))for(const[,u]of Object.entries(p)){const f={...e,environment:a==="undefined"?void 0:a,options:{...e.options,rollup:{...e.options.rollup,replace:e.options.rollup.replace?{...e.options.rollup.replace,values:{}}:e.options.rollup.replace}}};if(!e.options.dtsOnly&&(a!=="undefined"||l!=="undefined")){const b=wr(a,l);b&&e.logger.info(b)}const c=l==="undefined"?void 0:l;f.options.runtime=c;try{await e.hooks.callHook("rollup:options",f,{})}catch(b){throw e.logger.error(`Error calling rollup:options hook: ${b}`),b}const h=f.options.rollup.replace?$r(a,l):{};if(f.options.rollup.replace){f.options.rollup.replace.values===void 0&&(f.options.rollup.replace.values={});const b=e.options.rollup.replace?{...e.options.rollup.replace.values}:{};Object.assign(f.options.rollup.replace.values,h,b)}else e.logger.warn("'replace' plugin is disabled. You should enable it to replace 'process.env.*' environments.");const y=f.options.rollup.replace&&f.options.rollup.replace.values||h,g=xr(a,l);let m=f.options.minify??!1;a==="development"?m=!1:a==="production"&&(m=!0);const j=u.map(b=>{const{environment:D,runtime:N,...v}=b;return{...v,environment:D==="undefined"?void 0:D,runtime:N==="undefined"?void 0:N}}),w=[],M=[],R=[],J=[];for(const b of j){if(vr(b.name)){b.declaration&&J.push(b);continue}b.cjs&&b.esm?w.push(b):b.cjs?R.push(b):b.esm?M.push(b):b.declaration&&J.push(b)}if(w.length>0){const b=Oe(f,!0,!0,Be(w),m,y);if(e.options.dtsOnly||r.add({context:b,fileCache:t,subDirectory:g}),e.options.declaration){const D=w.filter(N=>N.declaration);D.length>0&&n.add({context:{...b,options:{...b.options,entries:D}},fileCache:t,subDirectory:g})}}if(M.length>0){const b=Oe(f,!1,!0,Be(M),m,y);if(e.options.dtsOnly||r.add({context:b,fileCache:t,subDirectory:g}),e.options.declaration){const D=M.filter(N=>N.declaration);D.length>0&&n.add({context:{...b,options:{...b.options,entries:D}},fileCache:t,subDirectory:g})}}if(R.length>0){const b=Oe(f,!0,!1,Be(R),m,y);if(e.options.dtsOnly||r.add({context:b,fileCache:t,subDirectory:g}),e.options.declaration){const D=R.filter(N=>N.declaration);D.length>0&&n.add({context:{...b,options:{...b.options,entries:D}},fileCache:t,subDirectory:g})}}if(f.options.declaration&&J.length>0){const b=J.some(S=>S.declarationCjs),D=J.some(S=>S.declarationEsm),N=J.some(S=>S.declaration&&!S.declarationCjs&&!S.declarationEsm),v=Oe(f,b||N,D,J,m,y);n.add({context:v,fileCache:t,subDirectory:g})}}return{builders:r,typeBuilders:n}},"prepareRollupConfig"),kr=oe(async(e,t)=>{await e.hooks.callHook("build:before",e);const{builders:o,typeBuilders:i}=await jr(e,t);o.size>0&&await Promise.all(Array.from(o,async({context:s,fileCache:r,subDirectory:n})=>await nr(s,r,n))),i.size>0&&await er(Array.from(i,({context:s,fileCache:r,subDirectory:n})=>()=>sr(s,r,n)),hr),e.logger.success(Rt(e.options.name?`Build succeeded for ${e.options.name}`:"Build succeeded")),e.buildEntries=e.buildEntries.filter((s,r,n)=>n.findIndex(a=>a.path===s.path)===r);for await(const s of Ro(W(e.options.rootDir,e.options.outDir),{includeDirs:!1,includeFiles:!0})){const r=W(e.options.rootDir,e.options.outDir);let n=e.buildEntries.find(d=>W(r,d.path)===s.path);n||(n={chunk:!0,path:s.path},e.buildEntries.push(n)),n.size===void 0&&(n.size={});const a=P(r,s.path);if(!n.size.bytes){const d=await Kt(a);n.size.bytes=d.size}n.size.brotli||(n.size.brotli=await lr(a)),n.size.gzip||(n.size.gzip=await mr(a))}return await e.hooks.callHook("build:done",e),yr(e.logger,e)},"build");var Er=Object.defineProperty,So=$((e,t)=>Er(e,"name",{value:t,configurable:!0}),"c");const Sr=So(e=>Object.fromEntries(Object.entries(e).map(([t,o])=>{if(!o)return[t,{}];const i=Object.fromEntries(Object.entries(o).map(([s,r])=>Array.isArray(r)?[s,[...new Set(r)]]:[s,[]]));return[t,i]})),"uniqueNestedValues"),Dr=So(async(e,t,o,i,s,r)=>{if(r!=="*"&&Un(Me(r))===void 0)throw new Error("Invalid typeScriptVersion option. It must be a valid semver range.");e.info({message:"Declaration node10 compatibility mode is enabled.",prefix:"plugin:packem:node10-compatibility"});const n={};for(const l of t)for(const p of l.exportKey)p.includes("/*")?n[p]=[`./${W(o,me(l.name),"*.d.ts")}`]:n[p]=[...n[p]??[],`./${W(o,`${l.name}.d.ts`)}`];const a=W(i,"package.json"),d=await It(a);s==="file"&&Object.keys(n).length>0?(await Io(a,{...d,typesVersions:Sr({...d.typesVersions,[r]:n})},{detectIndent:!0}),e.info({message:'Your package.json "typesVersions" field has been updated.',prefix:"plugin:packem:node10-compatibility"})):Object.keys(n).length>0&&e.info({message:`Please add the following field into your package.json to enable node 10 compatibility:
56
-
57
- ${JSON.stringify({typesVersions:{"*":n}},void 0,4)}
58
- `,prefix:"plugin:packem:node10-compatibility"})},"node10Compatibility");var Or=Object.defineProperty,Z=$((e,t)=>Or(e,"name",{value:t,configurable:!0}),"l");const Pr=Z(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"),Mr=Z((e,t,o,i,s,r,n,a)=>{const d=Pr(n?.config.compilerOptions?.jsx),l=a.split("."),p=ns()(xi,s,{alias:{},browserTargets:Vo(),cjsInterop:!1,clean:!0,debug:i,declaration:void 0,emitCJS:void 0,emitESM:void 0,entries:[],externals:[],failOnWarn:!0,fileCache:!0,jiti:{alias:{},debug:i,interopDefault:!0},minify:o===$e,name:(r.name??"").split("/").pop()??"default",outDir:n?.config.compilerOptions?.outDir??"dist",rollup:{alias:{},cjsInterop:{addDefaultProperty:!1},commonjs:{extensions:[".mjs",".js",".json",".node",".cjs"],ignoreTryCatch:!0,preserveSymlinks:!0,transformMixedEsModules:!0},css:{autoModules:!0,extensions:[".css",".pcss",".postcss",".sss"],namedExports:!0},dataUri:{srcset:!0},debarrel:{},dts:{compilerOptions:{baseUrl:n?.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}},dynamicVars:{errorWhenNoFilesFound:!0,exclude:ce,include:re},esbuild:{charset:"utf8",jsx:d,jsxDev:n?.config.compilerOptions?.jsx==="react-jsxdev",jsxFactory:n?.config.compilerOptions?.jsxFactory,jsxFragment:n?.config.compilerOptions?.jsxFragmentFactory,jsxImportSource:n?.config.compilerOptions?.jsxImportSource,jsxSideEffects:!0,keepNames:!0,sourcesContent:!1,target:n?.config.compilerOptions?.target,treeShaking:!0,tsconfigRaw:n?.config},experimental:{resolve:{aliasFields:[["browser"]],builtinModules:!1,conditionNames:["default","types","import","require","module-sync","node","node-addons","browser","esm2020","es2020","es2015"],extensionAlias:{".cjs":[".cts",".d.cts",".cjs"],".js":[".ts",".tsx",".d.ts",".js"],".jsx":[".tsx",".d.ts",".jsx"],".mjs":[".mts",".d.mts",".mjs"]},extensions:[".ts",".tsx",".d.ts",".js",".jsx",".json",".node"],mainFields:["types","typings","fesm2020","fesm2015","esm2020","es2020","main","module","browser","jsnext:main"]}},isolatedDeclarations:{exclude:ce,ignoreErrors:!1},json:{preferConst:!1},license:{dependenciesTemplate:Z((h,y,g)=>`
59
- # Licenses of bundled dependencies
60
- The published ${g} artifact additionally contains code with the following licenses:
61
- ${h.length>0?`${h.join(", ")}
62
-
63
- `:`
64
- `}# Bundled dependencies:
65
- ${y}`,"dependenciesTemplate"),dtsTemplate:Z((h,y,g)=>`
66
- # Licenses of bundled types
67
- The published ${g} artifact additionally contains code with the following licenses:
68
- ${h.length>0?`${h.join(", ")}
69
-
70
- `:`
71
- `}# Bundled types:
72
- ${y}`,"dtsTemplate")},nativeModules:{},node10Compatibility:!1,output:{importAttributesKey:Number(l[0])>=22?"with":"assert"},oxc:{jsx:d==="preserve"?"preserve":{development:o!=="production",pragma:n?.config.compilerOptions?.jsxFactory,pragmaFrag:n?.config.compilerOptions?.jsxFragmentFactory,pure:!0,runtime:d==="transform"||d==="automatic"?"automatic":"classic",useBuiltIns:!0,useSpread:!0}},patchTypes:{},polyfillNode:{},preserveDirectives:{include:re},preserveDynamicImports:!0,pure:{},raw:{exclude:ce,include:[/\.(md|txt|htm|html|data)$/]},replace:{objectGuards:!0,preventAssignment:!0},resolve:{allowExportsFolderMapping:!1,exportConditions:[o??"production","module-sync"],extensions:He,preferBuiltins:!1},resolveExternals:{builtins:!0,builtinsPrefix:"add",deps:!0,devDeps:!1,exclude:[],optDeps:!0,peerDeps:!0},shebang:{replace:!1,shebang:"#!/usr/bin/env node"},shim:{exclude:ce,include:re},sourcemap:{},sucrase:{disableESTransforms:!0,enableLegacyBabel5ModuleInterop:!1,enableLegacyTypeScriptModuleInterop:n?.config.compilerOptions?.esModuleInterop===!1,include:re,injectCreateRequireForImportRequire:!1,preserveDynamicImport:!0,production:o===$e,...n?.config.compilerOptions?.jsx&&["react","react-jsx","react-jsxdev"].includes(n.config.compilerOptions.jsx)?{jsxFragmentPragma:n.config.compilerOptions.jsxFragmentFactory,jsxImportSource:n.config.compilerOptions.jsxImportSource,jsxPragma:n.config.compilerOptions.jsxFactory,jsxRuntime:d,transforms:["typescript","jsx",...n.config.compilerOptions.esModuleInterop?["imports"]:[]]}:{transforms:["typescript",...n?.config.compilerOptions?.esModuleInterop?["imports"]:[]]}},swc:{include:re,inlineSourcesContent:!1,inputSourceMap:!1,isModule:!0,jsc:{experimental:{keepImportAttributes:!0},externalHelpers:!0,keepClassNames:!0,loose:!0,parser:{decorators:n?.config.compilerOptions?.experimentalDecorators,syntax:n?"typescript":"ecmascript",[n?"tsx":"jsx"]:!0},target:n?.config.compilerOptions?.target?.toLowerCase(),transform:{decoratorMetadata:n?.config.compilerOptions?.emitDecoratorMetadata,decoratorVersion:"2022-03",legacyDecorator:n?.config.compilerOptions?.experimentalDecorators,react:{development:o!==$e,pragma:n?.config.compilerOptions?.jsxFactory,pragmaFrag:n?.config.compilerOptions?.jsxFragmentFactory,runtime:d,throwIfNamespace:!0},treatConstEnumAsEnum:n?.config.compilerOptions?.preserveConstEnums,useDefineForClassFields:n?.config.compilerOptions?.useDefineForClassFields}},module:{ignoreDynamic:!0,importInterop:"none",preserveImportMeta:!0,strict:!1,strictMode:!1,type:"es6"}},treeshake:{moduleSideEffects:rs(t,r),preset:"recommended",propertyReadSideEffects:!0},tsconfigPaths:{resolveAbsolutePath:!1},url:{emitFiles:!0,fileName:"[hash][extname]",include:["**/*.svg","**/*.png","**/*.jp(e)?g","**/*.gif","**/*.webp"],limit:14*1024},visualizer:{},watch:{chokidar:{ignoreInitial:!0,ignorePermissionErrors:!0},clearScreen:!0,exclude:ce}},rootDir:t,sourceDir:"src",sourcemap:!1,transformerName:void 0,typedoc:{excludePrivate:!0,format:"inline",githubPages:!1,groupOrder:["Classes","Constructors","Accessors","Methods","Functions","Namespaces","Variables","Enumerations","Interfaces","Type Aliases","*"],kindSortOrder:["Project","Module","Class","Interface","Function","Namespace","Variable","Enum","EnumMember","TypeAlias","Reference","Constructor","Property","Accessor","Method","Parameter","TypeParameter","TypeLiteral","CallSignature","ConstructorSignature","IndexSignature","GetSignature","SetSignature"],marker:"TYPEDOC",name:r.name??"unknown",pretty:!0,readme:"none",showConfig:i,tsconfig:n?.path},validation:{dependencies:{hoisted:{exclude:[]},unused:{exclude:[]}},packageJson:{bin:!0,dependencies:!0,exports:!0,files:!0,main:!0,module:!0,name:!0,types:!0,typesVersions:!0}}});p.runtime===void 0&&(e.warn("No runtime specified, defaulting to 'node'. This will change in packem v2 to 'browser', please add 'runtime: node' to your packem config or command call"),p.runtime="node");const u=new Map([...Object.entries(r.dependencies??{}),...Object.entries(r.devDependencies??{})]);if(p.transformer?.NAME===void 0)throw new Error("Unknown transformer, check your transformer options or install one of the supported transformers: esbuild, swc, sucrase");p.transformerName=p.transformer.NAME;let f=p.transformerName;p.transformerName==="oxc"?f="oxc-transform":p.transformerName==="swc"&&(f="@swc/core");const c=u.get(f)??"0.0.0";if(e.info({message:`Using ${K("node ")}${a}`,prefix:"system"}),e.info({message:`Using ${K("rollup ")}${Go} with ${K(p.runtime)} build runtime`,prefix:"bundler"}),e.info({message:`Using ${K(p.transformerName)} ${c}`,prefix:"transformer"}),p.rollup.resolve&&(p.rollup.resolve.preferBuiltins=p.runtime==="node",p.rollup.resolve.preferBuiltins&&(p.rollup.polyfillNode=!1,e.debug("Disabling polyfillNode because preferBuiltins is set to true"))),p.runtime==="node"&&(p.browserTargets=[]),p.runtime==="browser"&&(p.rollup.resolve&&p.rollup.resolve.browser===void 0&&(p.rollup.resolve.browser=!0),p.browserTargets&&p.browserTargets.length>0&&e.debug(`Using browser targets: ${p.browserTargets.join(", ")}`)),Pt(p.alias),p.rollup.alias&&p.rollup.alias.entries&&Pt(p.rollup.alias.entries),p.outputExtensionMap){let h;for(const[y,g]of Object.entries(p.outputExtensionMap)){if(!["cjs","esm"].includes(y))throw new Error(`Invalid output extension map: ${y} must be "cjs" or "esm"`);if(typeof g!="string")throw new TypeError(`Invalid output extension map: ${y} must be a string`);if(g.startsWith("."))throw new Error(`Invalid output extension map: ${y} must not start with a dot. Example: "cjs": "c.js", "esm": "m.js"`);if(h===void 0)h=g;else if(h===g)throw new Error(`Invalid output extension map: ${y} must be different from the other key`)}}return n?.config.compilerOptions?.declarationMap===!0&&(p.sourcemap=!0,e.info("Enabling sourcemap because declarationMap is enabled in tsconfig.json")),p},"generateOptions"),Nr=Z(async(e,t,o,i,s,r,n,a,d)=>{const l=r.hooks,p=Mr(e,t,i,s,r,n,a,d);Fo(W(p.rootDir,p.outDir));const u={buildEntries:[],dependencyGraphMap:new Map,environment:i,hoistedDependencies:new Set,hooks:Ho(),implicitDependencies:new Set,jiti:qo(p.rootDir,p.jiti),logger:e,mode:o,options:p,pkg:n,tsconfig:a,usedDependencies:new Set,warnings:new Set};if(l){const c=u.hooks._hooks?.get?.("rollup:options"),h=c?c.size:0;fetch("http://127.0.0.1:7242/ingest/e5ffe05e-4121-4b48-a3e5-edf81dc8035e",{body:JSON.stringify({data:{hasRollupOptionsHook:!!l?.["rollup:options"],hooksCountBefore:h,hooksKeys:Object.keys(l||{})},hypothesisId:"B",location:"index.ts:677",message:"Before addHooks",runId:"run1",sessionId:"debug-session",timestamp:Date.now()}),headers:{"Content-Type":"application/json"},method:"POST"}).catch(()=>{}),u.hooks.addHooks(l);const y=u.hooks._hooks?.get?.("rollup:options"),g=y?y.size:0;fetch("http://127.0.0.1:7242/ingest/e5ffe05e-4121-4b48-a3e5-edf81dc8035e",{body:JSON.stringify({data:{hooksAdded:g-h,hooksCountAfter:g,hooksCountBefore:h},hypothesisId:"B",location:"index.ts:683",message:"After addHooks",runId:"run1",sessionId:"debug-session",timestamp:Date.now()}),headers:{"Content-Type":"application/json"},method:"POST"}).catch(()=>{})}await u.hooks.callHook("build:prepare",u),u.options.emitESM===void 0&&u.logger.info("Emitting of ESM bundles, is disabled."),u.options.emitCJS===void 0&&u.logger.info("Emitting of CJS bundles, is disabled."),u.options.minify&&u.logger.info("Minification is enabled, the output will be minified"),u.options.json&&u.options.minify&&u.options.json.preferConst===void 0&&(u.options.json={...u.options.json,preferConst:!1}),$s(u);const f=Ft(n,["typescript"]);if(u.options.declaration&&u.tsconfig===void 0&&f)throw new Error("Cannot build declaration files without a tsconfig.json");return f?u.options.declaration===!1&&u.logger.info({message:"Generation of declaration files are disabled.",prefix:"dts"}):(u.options.declaration=!1,u.logger.info({message:"Typescript is not installed. Generation of declaration files are disabled.",prefix:"dts"})),u.options.declaration&&u.logger.info(`Using typescript version: ${K(n.devDependencies?.typescript??n.dependencies?.typescript??"unknown")}`),u.options.declaration&&(n.dependencies?.typescript||n.devDependencies?.typescript)&&!u.tsconfig?.config.compilerOptions?.isolatedModules&&u.logger.warn(`'compilerOptions.isolatedModules' is not enabled in tsconfig.
73
- 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.
74
- 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.`),await Pi(u),u},"createContext"),Cr=Z(e=>{switch(e){case"build":return"Building";case"jit":return"Stubbing";case"watch":return"Watching";default:throw new Error(`Unknown mode: ${e}`)}},"getMode"),Ba=Z(async(e,t,o,i,s,r,n)=>{const a=be.version.slice(1);i.wrapAll(),e=P(be.cwd(),e),i.debug("Root directory:",e);const{packageJson:d,packageJsonPath:l}=Xe(e);i.debug("Using package.json found at",l);const p=await Di(e,d,i,n),u=No("@visulima/packem",{cwd:e});let f=!1,c,h;const y=rt(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,nodeVersion:a,type:d.type,types:d.types}))+rt(JSON.stringify(r));u&&Hn(y,u,i);const g=new Jo(e,u,y,i);try{const m=await Nr(i,e,t,o,s,r,d,p,a);g.isEnabled=m.options.fileCache,m.logger.info(K(`${Cr(t)} ${m.options.name}`)),m.logger.debug({context:m.options.entries,message:`${Q("Root dir:")} ${m.options.rootDir}
75
- ${Q("Entries:")}`});const j=Z(async b=>{for await(const[D,N]of Object.entries(m.options.builder??{})){m.logger.raw(`
76
- `),await m.hooks.callHook("builder:before",D,m);const v=Date.now(),S=Z(()=>ot(Math.floor(Date.now()-v)),"getBuilderDuration");await N(m,u,g,f),await m.hooks.callHook("builder:done",D,m),m.logger.raw(`
77
- ⚡️ ${D} run in ${S()}`),b&&m.logger.raw(`
78
-
79
- `)}},"runBuilder"),w=Z(async()=>{if(c!==void 0)await fs({pid:c.pid,signal:r.killSignal??"SIGTERM"});else if(h!==void 0)try{typeof h=="function"&&await h()}catch(b){throw new Error(`onSuccess function cleanup failed: ${b.message}`,{cause:b})}c=void 0,h=void 0},"doOnSuccessCleanup"),M=Z(async()=>{if(typeof m.options.onSuccess=="function")try{h=await m.options.onSuccess()}catch(b){throw new Error(`onSuccess function failed: ${b.message}`,{cause:b})}else if(typeof m.options.onSuccess=="string"){const b=m.options.onSuccessTimeout??3e4,D=c=Xo(m.options.onSuccess,[],{nodeOptions:{shell:!0,stdio:"inherit",timeout:b}});await D;const{exitCode:N}=D;if(typeof N=="number"&&N!==0)throw new Error(`onSuccess script failed with exit code ${N}. Check the output above for details.`)}},"runOnsuccess"),R=Date.now(),J=Z(()=>ot(Math.floor(Date.now()-R)),"getDuration");if(t==="watch"){if(m.options.rollup.watch===!1)throw new Error("Rollup watch is disabled. You should check your packem config.");await Yi(m,g,j,M,w),kt(m,!1);return}if(await es(m),t==="jit")await Ii(m),await m.hooks.callHook("build:done",m);else{if(f=await kr(m,g),m.options.emitCJS&&m.options.declaration==="compatible"){f&&m.logger.raw(`
80
- `);let b="console",D="*";m.options.node10Compatibility&&(b=m.options.node10Compatibility?.writeToPackageJson?"file":"console",D=m.options.node10Compatibility?.typeScriptVersion??"*"),await Dr(m.logger,m.options.entries,m.options.outDir,m.options.rootDir,b,D)}await m.hooks.callHook("validate:before",m),typeof m.options.validation=="object"&&(m.options.validation.packageJson&&Ls(m),m.options.validation.attw&&await Ps(m,f),m.options.validation.bundleLimit&&Qs(m,f)),await m.hooks.callHook("validate:done",m),kt(m,f)}m.logger.raw(`
81
- ⚡️ Build run in ${J()}
82
- `),await j(),await M(),be.on("SIGINT",async()=>{await w()}),be.on("SIGTERM",async()=>{await w()})}catch(m){throw i.raw(`
83
- `),At(m),m}finally{i.restoreAll(),await bs(u,i,f)}},"packem");export{xi as $,ns as c,Ba as j};