@visulima/packem 2.0.0-alpha.52 → 2.0.0-alpha.53

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,26 @@
1
+ ## @visulima/packem [2.0.0-alpha.53](https://github.com/visulima/packem/compare/@visulima/packem@2.0.0-alpha.52...@visulima/packem@2.0.0-alpha.53) (2026-03-05)
2
+
3
+ ### Features
4
+
5
+ * **packem:** update source, tests and configuration ([1d6e310](https://github.com/visulima/packem/commit/1d6e310c988e0a14414ea769b0560dc025fd0d16))
6
+
7
+ ### Bug Fixes
8
+
9
+ * resolve test failures in packem-rollup and ecosystem tests ([2a43db8](https://github.com/visulima/packem/commit/2a43db81e52ec956e78e3c1ce70038fb40e28345))
10
+
11
+ ### Miscellaneous Chores
12
+
13
+ * update dependencies, fix linting and improve code formatting ([d78b132](https://github.com/visulima/packem/commit/d78b1325ce79dbd14deeb6311a74d81f7172a81e))
14
+ * update examples, root config and lockfile ([a10440d](https://github.com/visulima/packem/commit/a10440d06e9d0e283cee4b9ef3b06a43166e513e))
15
+
16
+
17
+ ### Dependencies
18
+
19
+ * **@visulima/packem-rollup:** upgraded to 1.0.0-alpha.40
20
+ * **@visulima/packem-share:** upgraded to 1.0.0-alpha.21
21
+ * **@visulima/rollup-plugin-css:** upgraded to 1.0.0-alpha.20
22
+ * **@visulima/rollup-plugin-dts:** upgraded to 1.0.0-alpha.1
23
+
1
24
  ## @visulima/packem [2.0.0-alpha.52](https://github.com/visulima/packem/compare/@visulima/packem@2.0.0-alpha.51...@visulima/packem@2.0.0-alpha.52) (2026-02-21)
2
25
 
3
26
  ### Bug Fixes
@@ -17,5 +17,5 @@ import type { Cli } from "@visulima/cerebro";
17
17
  * ```
18
18
  * @internal
19
19
  */
20
- declare const createBuildCommand: (cli: Cli) => void;
20
+ declare const createBuildCommand: (cli: Cli<Console>) => void;
21
21
  export default createBuildCommand;
@@ -1,3 +1,3 @@
1
1
  import type { Cli } from "@visulima/cerebro";
2
- declare const createInitCommand: (cli: Cli) => void;
2
+ declare const createInitCommand: (cli: Cli<Console>) => void;
3
3
  export default createInitCommand;
@@ -17,5 +17,5 @@ import type { Cli } from "@visulima/cerebro";
17
17
  * ```
18
18
  * @internal
19
19
  */
20
- declare const createMigrateCommand: (cli: Cli) => void;
20
+ declare const createMigrateCommand: (cli: Cli<Console>) => void;
21
21
  export default createMigrateCommand;
package/dist/cli/index.js CHANGED
@@ -1,68 +1,68 @@
1
1
  #!/usr/bin/env node
2
- var Q=Object.defineProperty;var v=(t,s)=>Q(t,"name",{value:s,configurable:!0});import{createCerebro as Z}from"@visulima/cerebro";import ee from"@visulima/cerebro/logger/pail";import{SimpleReporter as se}from"@visulima/pail/reporter/simple";import j,{cwd as N,exit as te}from"node:process";import{installPackage as x}from"@antfu/install-pkg";import{confirm as b,select as h,multiselect as K,spinner as L,cancel as U,intro as ae,log as V,outro as ie}from"@clack/prompts";import{isAccessible as re,readFile as ne,writeFile as oe,isAccessibleSync as I,writeJsonSync as ce,writeFileSync as le}from"@visulima/fs";import{parsePackageJson as G}from"@visulima/package/package-json";import{join as $,resolve as T}from"@visulima/path";import de from"magic-string";import{exec as pe}from"tinyexec";import{PRODUCTION_ENV as A,DEVELOPMENT_ENV as ue}from"@visulima/packem-share/constants";import{createJiti as me}from"jiti";import{c as fe,$ as ge,j as ye}from"../packem_shared/index-HqWbLo9v.js";import{existsSync as B}from"node:fs";import{parseEnv as R}from"node:util";import{readFile as be,writeFile as we}from"node:fs/promises";import{createInterface as ve}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 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-CIcDqRps.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 he="@visulima/packem",z="2.0.0-alpha.51";const F={version:z};var ke=Object.defineProperty,$e=v((t,s)=>ke(t,"name",{value:s,configurable:!0}),"t");const W=$e(async(t,s="")=>{let e=s;if(!e){const a=["packem.config.js","packem.config.mjs","packem.config.cjs","packem.config.ts","packem.config.cts","packem.config.mts"];for(const r of a)if(await re($(t,r))){e=`./${r}`;break}}if(!/\.(?:js|mjs|cjs|ts|cts|mts)$/.test(e))throw new Error("Invalid packem config file extension. Only .js, .mjs, .cjs, .ts, .cts and .mts extensions are allowed.");return e},"findPackemFile"),_={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 Se=Object.defineProperty,y=v((t,s)=>Se(t,"name",{value:s,configurable:!0}),"r$1");const je=["typedoc","typedoc-plugin-markdown","typedoc-plugin-rename-defaults"],Ce=["@babel/core","@babel/preset-react"],Pe=["react","react-dom"],xe=["@babel/core","babel-preset-solid"],De=["solid-js"],Oe=["@babel/core","@babel/preset-react","babel-plugin-transform-hook-names"],Me=["preact"],Ee=["unplugin-vue"],Te=["vue"],Ie=["rollup-plugin-svelte"],Le=["svelte"],D=y((t,s,e)=>t.includes(`preset: '${s}'`)||t.includes(`preset: "${s}"`)||t.includes(`preset: '${s}',`)||t.includes(`preset: "${s}",`)||t.includes(e)||t.includes(`@visulima/packem/config/preset/${s}`),"checkPresetExists"),O=y((t,s)=>{const{logger:e,magic:a,packemConfig:r}=t,n=r.match(/defineConfig\s*\(\s*\{/);if(n&&n.index!==void 0){const o=n.index+n[0].length;if(r.includes("preset:")){const i=r.match(/preset:\s*['"]([^'"]+)['"]/);if(i)a.replace(i[0],`preset: '${s}'`);else throw e.warn(`A preset already exists in the config. Please manually set it to '${s}'.`),new Error("Preset exists but is not a string")}else a.appendLeft(o,`
5
- preset: '${s}',`)}else if(r.includes("transformer:"))a.replace("transformer:",`preset: '${s}',
6
- transformer:`);else{const o=r.indexOf("{");o!==-1&&a.appendLeft(o+1,`
7
- preset: '${s}',`)}},"insertPreset"),Ne=y(async t=>{try{return((await pe("git",["status","--porcelain"],{nodeOptions:{cwd:t,stdio:["pipe","pipe","pipe"]}})).stdout?.trim().length??0)>0}catch{return!1}},"checkGitDirty"),X=y(async t=>{const s=$(t,"package.json"),e=await G(s,{resolveCatalogs:!0});return!!(e.devDependencies?.typescript??e.dependencies?.typescript)},"checkTypeScriptInstalled"),Be=y(async t=>{const s=await X(t),e=[...Pe],a=[...Ce];return s?a.push("@types/react","@types/react-dom"):await b({initialValue:!1,message:"Do you want to use TypeScript?"})&&a.push("typescript","@types/react","@types/react-dom"),{devPackages:a,packages:e}},"getReactTypeDependencies"),M=y(async(t,s,e)=>{const{rootDirectory:a,spinner:r}=t;r.start("Installing packages"),await x(e,{cwd:a,dev:!1,silent:!0}),await x(s,{cwd:a,dev:!0,silent:!0}),r.stop("Installed packages")},"installPackages"),Ve=y(async t=>{const{logger:s,magic:e,packemConfig:a,packemConfigFormat:r,rootDirectory:n,spinner:o,transformerReplaceKey:i,transformerSearchKey:l}=t;if(a.includes("typedoc: typedocBuilder")||a.includes("@visulima/packem/builder/typedoc")){s.warn("Typedoc has already been added to the packem config.");return}r==="cjs"?e.prepend(`const typedocBuilder = require("@visulima/packem/builder/typedoc");
8
- `):e.prepend(`import typedocBuilder from "@visulima/packem/builder/typedoc";
9
- `),a.includes("builder: {")?e.replace("builder: {",`builder: {
4
+ var ke="@visulima/packem",W="2.0.0-alpha.52";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,`
5
+ preset: '${s}',`)}else if(r.includes("transformer:"))e.replace("transformer:",`preset: '${s}',
6
+ transformer:`);else{const n=r.indexOf("{");n!==-1&&e.appendLeft(n+1,`
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");
8
+ `):a.prepend(`import typedocBuilder from "@visulima/packem/builder/typedoc";
9
+ `),e.includes("builder: {")?a.replace("builder: {",`builder: {
10
10
  typedoc: typedocBuilder,
11
- `):e.replace(l,`${i}
11
+ `):a.replace(l,`${i}
12
12
  builder: {
13
13
  typedoc: typedocBuilder,
14
- },`),s.info("Adding typedoc dependencies..."),o.start("Installing packages"),await x(je,{cwd:n,dev:!0,silent:!0}),o.stop("Installed packages"),s.success(`
15
- Typedoc added!`)},"addTypedoc"),Ae=y(async t=>{const{logger:s,packemConfig:e}=t;if(D(e,"react","createReactPreset")){s.warn("React preset has already been added to the packem config.");return}O(t,"react");const{devPackages:a,packages:r}=await Be(t.rootDirectory);s.info("Adding React dependencies..."),await M(t,a,r),s.success(`
16
- React preset added!`)},"addReact"),Re=y(async t=>{const{logger:s,packemConfig:e}=t;if(D(e,"solid","createSolidPreset")){s.warn("Solid preset has already been added to the packem config.");return}O(t,"solid"),s.info("Adding Solid dependencies..."),await M(t,xe,De),s.success(`
17
- Solid preset added!`)},"addSolid"),Fe=y(async t=>{const s=await X(t),e=[...Me],a=[...Oe];return s?a.push("@types/preact"):await b({initialValue:!1,message:"Do you want to use TypeScript?"})&&a.push("typescript","@types/preact"),{devPackages:a,packages:e}},"getPreactTypeDependencies"),qe=y(async t=>{const{logger:s,packemConfig:e}=t;if(D(e,"preact","createPreactPreset")){s.warn("Preact preset has already been added to the packem config.");return}O(t,"preact");const{devPackages:a,packages:r}=await Fe(t.rootDirectory);s.info("Adding Preact dependencies..."),await M(t,a,r),s.success(`
18
- Preact preset added!`)},"addPreact"),Je=y(async t=>{const{logger:s,packemConfig:e}=t;if(D(e,"vue","createVuePreset")){s.warn("Vue preset has already been added to the packem config.");return}O(t,"vue"),s.info("Adding Vue dependencies..."),await M(t,Ee,Te),s.success(`
19
- Vue preset added!`)},"addVue"),Ke=y(async t=>{const{logger:s,packemConfig:e}=t;if(D(e,"svelte","createSveltePreset")){s.warn("Svelte preset has already been added to the packem config.");return}O(t,"svelte"),s.info("Adding Svelte dependencies..."),await M(t,Ie,Le),s.success(`
20
- Svelte preset added!`)},"addSvelte"),Ue=y(async t=>{const{logger:s,magic:e,packemConfig:a,packemConfigFormat:r,transformerReplaceKey:n,transformerSearchKey:o}=t;if(a.includes("css: {")||a.includes("@visulima/packem/css")){s.warn("Css loaders have already been added to the packem config.");return}const i=[],l=await h({message:"Pick a css loader",options:[{label:"PostCSS",value:"postcss"},{hint:"experimental",label:"Lightning CSS",value:"lightningcss"},{hint:"Tailwind Css Oxide",label:"Tailwind CSS",value:"tailwindcss"}]});if(i.push(l),l!=="tailwindcss"){let p=await K({message:"Pick extra loaders",options:[{label:"Sass",value:"sass"},{label:"Stylus",value:"stylus"},{label:"Less",value:"less"}],required:!1});if(p.includes("sass")){const w=await h({message:"Pick a sass loader",options:[{hint:"recommended",label:"Sass embedded",value:"sass-embedded"},{label:"Sass",value:"sass"},{hint:"legacy",label:"Node Sass",value:"node-sass"}]});w!=="sass"&&(p=p.filter(c=>c!=="sass"),p.push(w))}i.push(...p)}const d=[];for(const p of i)d.push(..._[p]);l!=="tailwindcss"&&i.push("sourceMap");for(const p of i){const w=p==="sass-embedded"||p==="node-sass"?"sass":p;r==="cjs"?e.prepend(`const ${w}Loader = require("@visulima/packem/css/loader/${w.toLowerCase()}");
21
- `):e.prepend(`import ${w}Loader from "@visulima/packem/css/loader/${w.toLowerCase()}";
22
- `)}const m=await b({initialValue:!1,message:"Do you want to minify your css?"});let g;m&&(g=await h({message:"Pick a css minifier",options:[{label:"CSSNano",value:"cssnano"},{label:"Lightning CSS",value:"lightningcss"}]}),i.includes("lightningcss")||d.push(g),r==="cjs"?e.prepend(`const ${g}Minifier = require("@visulima/packem/css/minifier/${g.toLowerCase()}");
23
- `):e.prepend(`import ${g}Minifier from "@visulima/packem/css/minifier/${g.toLowerCase()}";
24
- `));const f=i.map(p=>p==="sass-embedded"||p==="node-sass"?"sass":`${p}Loader`).join(", ");a.includes("rollup: {")?e.replace("rollup: {",`rollup: {
25
- css: {${g?`
26
- minifier: ${g}Minifier,`:""}
27
- loaders: [${f}],
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(`
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
+ 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
+ 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(`
18
+ Preact preset added!`)},"addPreact"),Ke=b(async t=>{const{logger:s,packemConfig:a}=t;if(M(a,"vue","createVuePreset")){s.warn("Vue preset has already been added to the packem config.");return}O(t,"vue"),s.info("Adding Vue dependencies..."),await E(t,Te,Ie),s.success(`
19
+ Vue preset added!`)},"addVue"),Ue=b(async t=>{const{logger:s,packemConfig:a}=t;if(M(a,"svelte","createSveltePreset")){s.warn("Svelte preset has already been added to the packem config.");return}O(t,"svelte"),s.info("Adding Svelte dependencies..."),await E(t,Le,Ne),s.success(`
20
+ Svelte preset added!`)},"addSvelte"),Ge=b(async t=>{const{logger:s,magic:a,packemConfig:e,packemConfigFormat:r,transformerReplaceKey:o,transformerSearchKey:n}=t;if(e.includes("css: {")||e.includes("@visulima/packem/css")){s.warn("Css loaders have already been added to the packem config.");return}const i=[],l=await h({message:"Pick a css loader",options:[{label:"PostCSS",value:"postcss"},{hint:"experimental",label:"Lightning CSS",value:"lightningcss"},{hint:"Tailwind Css Oxide",label:"Tailwind CSS",value:"tailwindcss"}]});if(i.push(l),l!=="tailwindcss"){let p=await U({message:"Pick extra loaders",options:[{label:"Sass",value:"sass"},{label:"Stylus",value:"stylus"},{label:"Less",value:"less"}],required:!1});if(p.includes("sass")){const y=await h({message:"Pick a sass loader",options:[{hint:"recommended",label:"Sass embedded",value:"sass-embedded"},{label:"Sass",value:"sass"},{hint:"legacy",label:"Node Sass",value:"node-sass"}]});y!=="sass"&&(p=p.filter(k=>k!=="sass"),p.push(y))}i.push(...p)}const u=[];for(const p of i)u.push(...X[p]);l!=="tailwindcss"&&i.push("sourceMap");for(const p of i){const y=p==="sass-embedded"||p==="node-sass"?"sass":p;r==="cjs"?a.prepend(`const ${y}Loader = require("@visulima/packem/css/loader/${y.toLowerCase()}");
21
+ `):a.prepend(`import ${y}Loader from "@visulima/packem/css/loader/${y.toLowerCase()}";
22
+ `)}const f=await w({initialValue:!1,message:"Do you want to minify your css?"});let d;f&&(d=await h({message:"Pick a css minifier",options:[{label:"CSSNano",value:"cssnano"},{label:"Lightning CSS",value:"lightningcss"}]}),i.includes("lightningcss")||u.push(d),r==="cjs"?a.prepend(`const ${d}Minifier = require("@visulima/packem/css/minifier/${d.toLowerCase()}");
23
+ `):a.prepend(`import ${d}Minifier from "@visulima/packem/css/minifier/${d.toLowerCase()}";
24
+ `));const g=i.map(p=>p==="sass-embedded"||p==="node-sass"?"sass":`${p}Loader`).join(", ");e.includes("rollup: {")?a.replace("rollup: {",`rollup: {
25
+ css: {${d?`
26
+ minifier: ${d}Minifier,`:""}
27
+ loaders: [${g}],
28
28
  },
29
- `):e.replace(o,`${n}
29
+ `):a.replace(n,`${o}
30
30
  rollup: {
31
- css: {${g?`
32
- minifier: ${g}Minifier,`:""}
33
- loaders: [${f}],
31
+ css: {${d?`
32
+ minifier: ${d}Minifier,`:""}
33
+ loaders: [${g}],
34
34
  },
35
- },`),t.spinner.start("Installing packages"),await x(d,{cwd:t.rootDirectory,dev:!0,silent:!0}),t.spinner.stop("Installed packages"),s.success(`
36
- CSS loaders added!`)},"addCss"),Ge=y(t=>{t.addCommand({argument:{description:"Add a packem feature to your project",name:"feature",required:!0},description:"Add a optional packem feature to your project",execute:y(async({argument:s,logger:e,options:a})=>{const r=L(),n=T(N(),a.dir??".");let o;try{o=await W(n,a.config)}catch{e.error("Could not find a packem config file, please run `packem init` first.");return}if(await Ne(n)&&!await b({initialValue:!1,message:"Git repository has uncommitted changes. Do you want to proceed?"})){U("Operation cancelled.");return}const i=await ne(o,{buffer:!1}),l=i.includes("import")?"esm":"cjs",d=new de(i),m=" transformer,",g=i.includes(" transformer,")?" transformer,":" transformer",f={logger:e,magic:d,packemConfig:i,packemConfigFilePath:o,packemConfigFormat:l,rootDirectory:n,spinner:r,transformerReplaceKey:m,transformerSearchKey:g};s.includes("typedoc")&&await Ve(f),s.includes("react")&&await Ae(f),s.includes("solid")&&await Re(f),s.includes("preact")&&await qe(f),s.includes("vue")&&await Je(f),s.includes("svelte")&&await Ke(f),s.includes("css")&&await Ue(f),await oe(o,d.toString(),{overwrite:!0})},"execute"),name:"add",options:[{defaultValue:".",description:"The directory to build",name:"dir",type:String},{description:"Use a custom config file",name:"config",type:String}]})},"createAddCommand");var ze=Object.defineProperty,H=v((t,s)=>ze(t,"name",{value:s,configurable:!0}),"a$2");const We=H(async(t,s,e="PACKEM_")=>{const a=T(s,t);if(!B(a))return{};const{readFile:r}=await import("node:fs/promises"),n=await r(a,"utf-8"),o={};if(typeof R=="function")try{const i=R(n);for(const[l,d]of Object.entries(i))(!e||l.startsWith(e))&&(o[`process.env.${l}`]=JSON.stringify(d))}catch{return q(n,e)}else return q(n,e);return o},"loadEnvFile"),q=H((t,s="PACKEM_")=>{const e={};for(const a of t.split(`
37
- `)){const r=a.trim();if(!r||r.startsWith("#"))continue;const n=r.match(/^([^=:#]+)=(.*)$/);if(n&&n[1]&&n[2]!==void 0){const o=n[1].trim();let i=n[2].trim();(i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'"))&&(i=i.slice(1,-1)),(!s||o.startsWith(s))&&(e[`process.env.${o}`]=JSON.stringify(i))}}return e},"loadEnvFileManually");var _e=Object.defineProperty,Xe=v((t,s)=>_e(t,"name",{value:s,configurable:!0}),"e$2");const He=Xe(async(t,s,e,a,r)=>{const n=await W(s,r);let o=await t.import(n,{default:!0,try:!0})||{};return typeof o=="function"&&(o=await o(e,a)),{config:o,path:n}},"loadPackemConfig");var Ye=Object.defineProperty,Qe=v((t,s)=>Ye(t,"name",{value:s,configurable:!0}),"e$1");const Ze=Qe(async(t,s)=>{switch(t){case"none":return{};case"preact":{const{createPreactPreset:e}=await import("../config/preset/preact.js");t=e();break}case"react":{const{createReactPreset:e}=await import("../config/preset/react.js");t=e();break}case"solid":{const{createSolidPreset:e}=await import("../config/preset/solid.js");t=e();break}case"svelte":{const{createSveltePreset:e}=await import("../config/preset/svelte.js");t=e();break}case"vue":{const{createVuePreset:e}=await import("../config/preset/vue.js");t=e();break}default:typeof t=="string"&&(t=await s.import(t)||{})}return typeof t=="function"&&(t=t()),t},"loadPreset");var es=Object.defineProperty,C=v((t,s)=>es(t,"name",{value:s,configurable:!0}),"a$1");const ss=C(t=>{t.addCommand({description:"Demonstrate options required",execute:C(async({logger:s,options:e})=>{let a="build";e.watch?a="watch":e.jit&&(a="jit");let r;const n={};if(e.env)for(const c of e.env)c.key==="NODE_ENV"?r=c.value:n[`process.env.${c.key}`]=JSON.stringify(c.value);r===void 0&&(e.production?r=A:e.development&&(r=ue));const o=[];if(e.external)for(const c of e.external)o.push(c.split(","));const i=T(N(),e.dir??"."),l=me(i,{debug:e.debug}),{config:d,path:m}=await He(l,i,r,a,e.config??void 0);s.debug("Using packem config found at",m);const g=e.envFile??d.envFile,f=e.envPrefix??d.envPrefix??"PACKEM_",p={};if(g){const c=await We(g,i,f);Object.assign(p,c)}Object.assign(p,n);const w=await Ze(d.preset??"none",l);e.minify&&e.sourcemap===void 0&&(e.sourcemap=!0);try{const c=fe()(d,ge,w,{analyze:e.analyze,cjsInterop:e.cjsInterop,clean:e.clean,dtsOnly:e.dtsOnly,externals:o,killSignal:e.killSignal,minify:e.minify===void 0?r===A:e.minify,onSuccess:e.onSuccess,rollup:{esbuild:{target:e.target},license:{path:e.license},metafile:e.metafile,...Object.keys(p).length>0||Object.keys(n).length>0?{replace:{values:p}}:{},resolveExternals:e.noExternal?{builtins:!1,deps:!1,devDeps:!1,optDeps:!1,peerDeps:!1}:{}},runtime:e.runtime,sourcemap:e.metafile||e.analyze||e.sourcemap,unbundle:e.unbundle,validation:e.validation===!1?!1:{},...e.typedoc?{typedoc:{format:"html"}}:{}});await ye(i,a,r,s,e.debug,c,e.tsconfig??void 0)}catch(c){s.error(c),te(1)}},"execute"),name:"build",options:[{defaultValue:".",description:"The directory to build",name:"dir",type:String},{alias:"t",description:"Environments to support. `target` in tsconfig.json is automatically added. Defaults to the current Node.js version.",name:"target"},{description:"Use a custom config file",name:"config",type:String},{description:"Path to the tsconfig.json file",name:"tsconfig",type:String},{description:"Minify the output",name:"minify",type:Boolean},{description:"Generate sourcemaps (experimental)",name:"sourcemap",type:Boolean},{conflicts:"jit",description:"Watch for changes",name:"watch",type:Boolean},{conflicts:"watch",description:"Stub the package for JIT compilation",name:"jit",type:Boolean},{description:"Compile-time environment variables (eg. --env.NODE_ENV=production)",multiple:!0,name:"env",type:C(s=>{const[e,a]=s.split("=");return{key:e,value:a}},"type")},{description:"Path to the .env file to load environment variables from",name:"env-file",type:String},{description:"Prefix for environment variables to load from .env file (default: PACKEM_)",name:"env-prefix",type:String},{defaultValue:!1,description:"Generate meta file (experimental)",name:"metafile",type:Boolean},{description:"Path to the license file",name:"license",type:String},{conflicts:"watch",description:"Visualize and analyze the bundle",name:"analyze",type:Boolean},{description:"CJS interop mode, can export default and named export, (experimental).",name:"cjsInterop",type:Boolean},{conflicts:"development",description:"Run code in production environment",name:"production",type:Boolean},{conflicts:"production",description:"Run code in development environment",name:"development",type:Boolean},{description:"Do not clean the dist directory before building",name:"no-clean",type:Boolean},{description:"Only generate .d.ts files",name:"dts-only",type:Boolean},{description:"Disable the output validation",name:"no-validation",type:Boolean},{description:"Disable the cache",name:"no-cache",type:Boolean},{description:"Generate type documentation",name:"typedoc",type:Boolean},{description:"Execute command after successful build, specially useful for watch mode",name:"onSuccess",type:String},{description:'Signal to kill child process, "SIGTERM" or "SIGKILL"',name:"killSignal",type:C(s=>{if(s==="SIGTERM"||s==="SIGKILL")return s;throw new Error("Invalid kill signal. Use 'SIGTERM' or 'SIGKILL'.")},"type")},{description:"Specify an external dependency, separate by comma (eg. --external lodash,react,react-dom)",multiple:!0,name:"external",typeLabel:"string[]"},{description:"do not bundle external dependencies",name:"no-external",type:Boolean},{description:"Specify the build runtime (nodejs, browser).",name:"runtime",type:C(s=>{if(s==="node"||s==="browser")return s;throw new Error("Invalid runtime. Use 'node' or 'browser'.")},"type")},{description:"Enable unbundle mode to preserve source file structure instead of bundling into a single file",name:"unbundle",type:Boolean}]})},"createBuildCommand");var ts=Object.defineProperty,P=v((t,s)=>ts(t,"name",{value:s,configurable:!0}),"f");const as=P(t=>{t.addCommand({description:"Initialize packem configuration",execute:P(async({logger:s,options:e})=>{if(ae("Welcome to packem setup"),I($(e.dir,"packem.config.mjs"))){s.info("Packem project already initialized, you can use `packem build` to build your project");return}const a=T(N(),e.dir??"."),r=$(a,"package.json");if(!I(r))throw new Error("No package.json found in the directory");const n=await G(r,{resolveCatalogs:!0}),o=[];n.dependencies&&o.push(...Object.keys(n.dependencies)),n.devDependencies&&o.push(...Object.keys(n.devDependencies));const i=!!(n.devDependencies?.typescript??n.dependencies?.typescript),l=[];if(e.typescript===void 0&&!i?(e.typescript=await b({message:"Do you want to install TypeScript?"}),e.typescript&&l.push("typescript@latest")):V.message(`TypeScript version ${n.devDependencies?.typescript??n.dependencies?.typescript} is already installed`),!I($(a,"tsconfig.json"))){const c=await b({message:"Do you want to use generate a tsconfig.json?"}),u=await b({message:"Do you want to run your code in the DOM?"});if(c){const k=L();k.start("Generating tsconfig.json"),ce($(a,"tsconfig.json"),{compilerOptions:{esModuleInterop:!0,skipLibCheck:!0,target:"es2022",allowJs:!0,resolveJsonModule:!0,moduleDetection:"force",isolatedModules:!0,verbatimModuleSyntax:!0,strict:!0,noUncheckedIndexedAccess:!0,noImplicitOverride:!0,module:"NodeNext",outDir:"dist",sourceMap:!0,declaration:!0,lib:u?["es2022","dom","dom.iterable"]:["es2022"]}}),k.stop("")}}if(e.runtime===void 0&&(e.runtime=await h({message:"Pick a build runtime",options:[{label:"Node",value:"node"},{label:"Browser",value:"browser"}]})),o.includes("esbuild")?e.transformer="esbuild":o.includes("@swc/core")?e.transformer="swc":o.includes("sucrase")&&(e.transformer="sucrase"),e.transformer===void 0?(e.transformer=await h({message:"Pick a transformer",options:[{label:"esbuild",value:"esbuild"},{label:"swc",value:"swc"},{label:"Sucrase",value:"sucrase"},{label:"OXC",value:"oxc"}]}),e.transformer&&e.transformer!=="oxc"&&!o.includes(e.transformer)&&await b({message:`Do you want to install ${e.transformer}?`})&&l.push(e.transformer==="swc"?"@swc/core":e.transformer)):V.message(`Transformer ${e.transformer} is already installed.`),e.isolatedDeclarationTransformer===void 0&&(e.isolatedDeclarationTransformer=await b({message:"Do you want to use an isolated declaration types?",initialValue:!1})),e.isolatedDeclarationTransformer===void 0&&(e.isolatedDeclarationTransformer=await h({message:"Pick a isolated declaration transformer",options:[{label:"Typescript",value:"typescript"},{label:"swc",value:"swc"},{label:"OXC",value:"oxc"},{label:"None",value:void 0}]}),e.isolatedDeclarationTransformer!==void 0)){let c;switch(e.isolatedDeclarationTransformer){case"oxc":{c="oxc-transform";break}case"swc":{c="@swc/core";break}case"typescript":{c="typescript";break}default:U("Invalid isolated declaration transformer")}c!==void 0&&!o.includes(c)&&await b({message:`Do you want to install ${c}?`})&&l.push(c)}e.css===void 0&&(e.css=await b({message:"Do you want to use css in your project?",initialValue:!1}));const d=[];if(e.css){const c=await h({message:"Pick a css loader",options:[{label:"PostCSS",value:"postcss"},{hint:"experimental",label:"Lightning CSS",value:"lightningcss"}]});d.push(c);let u=await K({message:"Pick your loaders",options:[{label:"Sass",value:"sass"},{label:"Stylus",value:"stylus"},{label:"Less",value:"less"}],required:!1});if(u.includes("sass")){const k=await h({message:"Pick a sass loader",options:[{label:"Sass embedded",value:"sass-embedded",hint:"recommended"},{label:"Sass",value:"sass"},{label:"Node Sass",value:"node-sass",hint:"legacy"}]});k!=="sass"&&(u=u.filter(Y=>Y!=="sass"),u.push(k))}if(d.push(...u),await b({message:`Do you want to install "${d.join('", "')}"?`}))for(const k of d)l.push(..._[k]);d.push("sourceMap")}e.cssMinifier===void 0&&(e.cssMinifier=await b({message:"Do you want to minify your css?",initialValue:!1}));let m;e.cssMinifier&&(m=await h({message:"Pick a css minifier",options:[{label:"CSSNano",value:"cssnano"},{label:"Lightning CSS",value:"lightningcss"}]}),d.includes("lightningcss")||await b({message:`Do you want to install "${m}"?`})&&l.push(m));let g="",f="";if(e.isolatedDeclarationTransformer&&(f+=`,
38
- isolatedDeclarationTransformer`),(e.css||e.cssMinifier)&&(f+=`,
35
+ },`),t.spinner.start("Installing packages"),await D(u,{cwd:t.rootDirectory,dev:!0,silent:!0}),t.spinner.stop("Installed packages"),s.success(`
36
+ CSS loaders added!`)},"addCss"),ze=b(t=>{t.addCommand({argument:{description:"Add a packem feature to your project",name:"feature",required:!0},description:"Add a optional packem feature to your project",execute:b(async({argument:s,logger:a,options:e})=>{const r=N(),o=I(B(),e.dir??".");let n;try{n=await _(o,e.config)}catch{a.error("Could not find a packem config file, please run `packem init` first.");return}if(await Be(o)&&!await w({initialValue:!1,message:"Git repository has uncommitted changes. Do you want to proceed?"})){G("Operation cancelled.");return}const i=await ne(n,{buffer:!1}),l=i.includes("import")?"esm":"cjs",u=new pe(i),f=" transformer,",d=i.includes(" transformer,")?" transformer,":" transformer",g={logger:a,magic:u,packemConfig:i,packemConfigFilePath:n,packemConfigFormat:l,rootDirectory:o,spinner:r,transformerReplaceKey:f,transformerSearchKey:d};s.includes("typedoc")&&await Ae(g),s.includes("react")&&await Re(g),s.includes("solid")&&await Fe(g),s.includes("preact")&&await Je(g),s.includes("vue")&&await Ke(g),s.includes("svelte")&&await Ue(g),s.includes("css")&&await Ge(g),await ce(n,u.toString(),{overwrite:!0})},"execute"),name:"add",options:[{defaultValue:".",description:"The directory to build",name:"dir",type:String},{description:"Use a custom config file",name:"config",type:String}]})},"createAddCommand");var We=Object.defineProperty,Y=v((t,s)=>We(t,"name",{value:s,configurable:!0}),"a$1");const _e=Y(async(t,s,a="PACKEM_")=>{const e=I(s,t);if(!V(e))return{};const{readFile:r}=await import("node:fs/promises"),o=await r(e,"utf-8"),n={};if(typeof F=="function")try{const i=F(o);for(const[l,u]of Object.entries(i))(!a||l.startsWith(a))&&(n[`process.env.${l}`]=JSON.stringify(u))}catch{return J(o,a)}else return J(o,a);return n},"loadEnvFile"),J=Y((t,s="PACKEM_")=>{const a={};for(const e of t.split(`
37
+ `)){const r=e.trim();if(!r||r.startsWith("#"))continue;const o=r.match(/^([^=:#]+)=(.*)$/);if(o&&o[1]&&o[2]!==void 0){const n=o[1].trim();let i=o[2].trim();(i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'"))&&(i=i.slice(1,-1)),(!s||n.startsWith(s))&&(a[`process.env.${n}`]=JSON.stringify(i))}}return a},"loadEnvFileManually");var Xe=Object.defineProperty,He=v((t,s)=>Xe(t,"name",{value:s,configurable:!0}),"e$2");const Ye=He(async(t,s,a,e,r)=>{const o=await _(s,r);let n=await t.import(o,{default:!0,try:!0})||{};return typeof n=="function"&&(n=await n(a,e)),{config:n,path:o}},"loadPackemConfig");var Qe=Object.defineProperty,Ze=v((t,s)=>Qe(t,"name",{value:s,configurable:!0}),"e$1");const es=Ze(async(t,s)=>{switch(t){case"none":return{};case"preact":{const{createPreactPreset:a}=await import("../config/preset/preact.js");t=a();break}case"react":{const{createReactPreset:a}=await import("../config/preset/react.js");t=a();break}case"solid":{const{createSolidPreset:a}=await import("../config/preset/solid.js");t=a();break}case"svelte":{const{createSveltePreset:a}=await import("../config/preset/svelte.js");t=a();break}case"vue":{const{createVuePreset:a}=await import("../config/preset/vue.js");t=a();break}default:typeof t=="string"&&(t=await s.import(t)||{})}return typeof t=="function"&&(t=t()),t},"loadPreset");var ss=Object.defineProperty,P=v((t,s)=>ss(t,"name",{value:s,configurable:!0}),"o");const ts=P(t=>{t.addCommand({description:"Demonstrate options required",execute:P(async({logger:s,options:a})=>{const e=a;let r="build";e.watch?r="watch":e.jit&&(r="jit");let o;const n={};if(e.env)for(const c of e.env)c.key==="NODE_ENV"?o=c.value:n[`process.env.${c.key}`]=JSON.stringify(c.value);o===void 0&&(e.production?o=R:e.development&&(o=me));const i=[];if(e.external)for(const c of e.external)i.push(c.split(","));const l=I(B(),e.dir??"."),u=fe(l,{debug:e.debug}),{config:f,path:d}=await Ye(u,l,o,r,e.config??void 0);s.debug("Using packem config found at",d);const g=e.envFile??f.envFile,p=e.envPrefix??f.envPrefix??"PACKEM_",y={};if(g){const c=await _e(g,l,p);Object.assign(y,c)}Object.assign(y,n);const k=await es(f.preset??"none",u);e.minify&&e.sourcemap===void 0&&(e.sourcemap=!0);try{const c=ge()(f,ye,k,{analyze:e.analyze,cjsInterop:e.cjsInterop,clean:e.clean,dtsOnly:e.dtsOnly,externals:i,killSignal:e.killSignal,minify:e.minify===void 0?o===R:e.minify,onSuccess:e.onSuccess,rollup:{esbuild:{target:e.target},license:{path:e.license},metafile:e.metafile,...Object.keys(y).length>0||Object.keys(n).length>0?{replace:{values:y}}:{},resolveExternals:e.noExternal?{builtins:!1,deps:!1,devDeps:!1,optDeps:!1,peerDeps:!1}:{}},runtime:e.runtime,sourcemap:e.metafile||e.analyze||e.sourcemap,unbundle:e.unbundle,validation:e.validation===!1?!1:{},...e.typedoc?{typedoc:{format:"html"}}:{}});e.validation===!1&&!f.validation&&(c.validation=!1),await be(l,r,o,s,e.debug,c,e.tsconfig??void 0)}catch(c){s.error(c),ae(1)}},"execute"),name:"build",options:[{defaultValue:".",description:"The directory to build",name:"dir",type:String},{alias:"t",description:"Environments to support. `target` in tsconfig.json is automatically added. Defaults to the current Node.js version.",name:"target"},{description:"Use a custom config file",name:"config",type:String},{description:"Path to the tsconfig.json file",name:"tsconfig",type:String},{description:"Minify the output",name:"minify",type:Boolean},{description:"Generate sourcemaps (experimental)",name:"sourcemap",type:Boolean},{conflicts:"jit",description:"Watch for changes",name:"watch",type:Boolean},{conflicts:"watch",description:"Stub the package for JIT compilation",name:"jit",type:Boolean},{description:"Compile-time environment variables (eg. --env.NODE_ENV=production)",multiple:!0,name:"env",type:P(s=>{const[a,e]=s.split("=");return{key:a,value:e}},"type")},{description:"Path to the .env file to load environment variables from",name:"env-file",type:String},{description:"Prefix for environment variables to load from .env file (default: PACKEM_)",name:"env-prefix",type:String},{defaultValue:!1,description:"Generate meta file (experimental)",name:"metafile",type:Boolean},{description:"Path to the license file",name:"license",type:String},{conflicts:"watch",description:"Visualize and analyze the bundle",name:"analyze",type:Boolean},{description:"CJS interop mode, can export default and named export, (experimental).",name:"cjsInterop",type:Boolean},{conflicts:"development",description:"Run code in production environment",name:"production",type:Boolean},{conflicts:"production",description:"Run code in development environment",name:"development",type:Boolean},{description:"Do not clean the dist directory before building",name:"no-clean",type:Boolean},{description:"Only generate .d.ts files",name:"dts-only",type:Boolean},{description:"Disable the output validation",name:"no-validation",type:Boolean},{description:"Disable the cache",name:"no-cache",type:Boolean},{description:"Generate type documentation",name:"typedoc",type:Boolean},{description:"Execute command after successful build, specially useful for watch mode",name:"onSuccess",type:String},{description:'Signal to kill child process, "SIGTERM" or "SIGKILL"',name:"killSignal",type:P(s=>{if(s==="SIGTERM"||s==="SIGKILL")return s;throw new Error("Invalid kill signal. Use 'SIGTERM' or 'SIGKILL'.")},"type")},{description:"Specify an external dependency, separate by comma (eg. --external lodash,react,react-dom)",multiple:!0,name:"external",typeLabel:"string[]"},{description:"do not bundle external dependencies",name:"no-external",type:Boolean},{description:"Specify the build runtime (nodejs, browser).",name:"runtime",type:P(s=>{if(s==="node"||s==="browser")return s;throw new Error("Invalid runtime. Use 'node' or 'browser'.")},"type")},{description:"Enable unbundle mode to preserve source file structure instead of bundling into a single file",name:"unbundle",type:Boolean}]})},"createBuildCommand");var as=Object.defineProperty,x=v((t,s)=>as(t,"name",{value:s,configurable:!0}),"f");const is=x(t=>{t.addCommand({description:"Initialize packem configuration",execute:x(async({logger:s,options:a})=>{const e=a;if(ie("Welcome to packem setup"),L($(e.dir,"packem.config.mjs"))){s.info("Packem project already initialized, you can use `packem build` to build your project");return}const r=I(B(),e.dir??"."),o=$(r,"package.json");if(!L(o))throw new Error("No package.json found in the directory");const n=await z(o,{resolveCatalogs:!0}),i=[];n.dependencies&&i.push(...Object.keys(n.dependencies)),n.devDependencies&&i.push(...Object.keys(n.devDependencies));const l=!!(n.devDependencies?.typescript??n.dependencies?.typescript),u=[];if(e.typescript===void 0&&!l?(e.typescript=await w({message:"Do you want to install TypeScript?"}),e.typescript&&u.push("typescript@latest")):A.message(`TypeScript version ${n.devDependencies?.typescript??n.dependencies?.typescript} is already installed`),!L($(r,"tsconfig.json"))){const c=await w({message:"Do you want to use generate a tsconfig.json?"}),m=await w({message:"Do you want to run your code in the DOM?"});if(c){const S=N();S.start("Generating tsconfig.json"),le($(r,"tsconfig.json"),{compilerOptions:{esModuleInterop:!0,skipLibCheck:!0,target:"es2022",allowJs:!0,resolveJsonModule:!0,moduleDetection:"force",isolatedModules:!0,verbatimModuleSyntax:!0,strict:!0,noUncheckedIndexedAccess:!0,noImplicitOverride:!0,module:"NodeNext",outDir:"dist",sourceMap:!0,declaration:!0,lib:m?["es2022","dom","dom.iterable"]:["es2022"]}}),S.stop("")}}if(e.runtime===void 0&&(e.runtime=await h({message:"Pick a build runtime",options:[{label:"Node",value:"node"},{label:"Browser",value:"browser"}]})),i.includes("esbuild")?e.transformer="esbuild":i.includes("@swc/core")?e.transformer="swc":i.includes("sucrase")&&(e.transformer="sucrase"),e.transformer===void 0?(e.transformer=await h({message:"Pick a transformer",options:[{label:"esbuild",value:"esbuild"},{label:"swc",value:"swc"},{label:"Sucrase",value:"sucrase"},{label:"OXC",value:"oxc"}]}),e.transformer&&e.transformer!=="oxc"&&!i.includes(e.transformer)&&await w({message:`Do you want to install ${e.transformer}?`})&&u.push(e.transformer==="swc"?"@swc/core":e.transformer)):A.message(`Transformer ${e.transformer} is already installed.`),e.isolatedDeclarationTransformer===void 0&&(e.isolatedDeclarationTransformer=await w({message:"Do you want to use an isolated declaration types?",initialValue:!1})),e.isolatedDeclarationTransformer===void 0&&(e.isolatedDeclarationTransformer=await h({message:"Pick a isolated declaration transformer",options:[{label:"Typescript",value:"typescript"},{label:"swc",value:"swc"},{label:"OXC",value:"oxc"},{label:"None",value:void 0}]}),e.isolatedDeclarationTransformer!==void 0)){let c;switch(e.isolatedDeclarationTransformer){case"oxc":{c="oxc-transform";break}case"swc":{c="@swc/core";break}case"typescript":{c="typescript";break}default:G("Invalid isolated declaration transformer")}c!==void 0&&!i.includes(c)&&await w({message:`Do you want to install ${c}?`})&&u.push(c)}e.css===void 0&&(e.css=await w({message:"Do you want to use css in your project?",initialValue:!1}));const f=[];if(e.css){const c=await h({message:"Pick a css loader",options:[{label:"PostCSS",value:"postcss"},{hint:"experimental",label:"Lightning CSS",value:"lightningcss"}]});f.push(c);let m=await U({message:"Pick your loaders",options:[{label:"Sass",value:"sass"},{label:"Stylus",value:"stylus"},{label:"Less",value:"less"}],required:!1});if(m.includes("sass")){const S=await h({message:"Pick a sass loader",options:[{label:"Sass embedded",value:"sass-embedded",hint:"recommended"},{label:"Sass",value:"sass"},{label:"Node Sass",value:"node-sass",hint:"legacy"}]});S!=="sass"&&(m=m.filter(Q=>Q!=="sass"),m.push(S))}if(f.push(...m),await w({message:`Do you want to install "${f.join('", "')}"?`}))for(const S of f)u.push(...X[S]);f.push("sourceMap")}e.cssMinifier===void 0&&(e.cssMinifier=await w({message:"Do you want to minify your css?",initialValue:!1}));let d;e.cssMinifier&&(d=await h({message:"Pick a css minifier",options:[{label:"CSSNano",value:"cssnano"},{label:"Lightning CSS",value:"lightningcss"}]}),f.includes("lightningcss")||await w({message:`Do you want to install "${d}"?`})&&u.push(d));let g="",p="";if(e.isolatedDeclarationTransformer&&(p+=`,
38
+ isolatedDeclarationTransformer`),(e.css||e.cssMinifier)&&(p+=`,
39
39
  rollup: {
40
- css: {`),e.css){const c=d.map(u=>((u==="sass-embedded"||u==="node-sass")&&(u="sass"),`${u}Loader`)).join(", ");f+=`
41
- loaders: [${c}],`}if(e.cssMinifier&&m&&(f+=`
42
- minifier: ${m}Minifier,`),(e.css||e.cssMinifier)&&(f+=`
40
+ css: {`),e.css){const c=f.map(m=>((m==="sass-embedded"||m==="node-sass")&&(m="sass"),`${m}Loader`)).join(", ");p+=`
41
+ loaders: [${c}],`}if(e.cssMinifier&&d&&(p+=`
42
+ minifier: ${d}Minifier,`),(e.css||e.cssMinifier)&&(p+=`
43
43
  }
44
- }`),i||n.type==="module"){let c="";if(e.isolatedDeclarationTransformer&&(c+=`import isolatedDeclarationTransformer from "@visulima/packem/dts/isolated/transformer/${e.isolatedDeclarationTransformer}";
45
- `),e.css)for(let u of d)(u==="sass-embedded"||u==="node-sass")&&(u="sass"),c+=`import ${u}Loader from "@visulima/packem/css/loader/${u.toLowerCase()}";
46
- `;e.cssMinifier&&m&&(c+=`import ${m}Minifier from "@visulima/packem/css/minifier/${m.toLowerCase()}";
44
+ }`),l||n.type==="module"){let c="";if(e.isolatedDeclarationTransformer&&(c+=`import isolatedDeclarationTransformer from "@visulima/packem/dts/isolated/transformer/${e.isolatedDeclarationTransformer}";
45
+ `),e.css)for(let m of f)(m==="sass-embedded"||m==="node-sass")&&(m="sass"),c+=`import ${m}Loader from "@visulima/packem/css/loader/${m.toLowerCase()}";
46
+ `;e.cssMinifier&&d&&(c+=`import ${d}Minifier from "@visulima/packem/css/minifier/${d.toLowerCase()}";
47
47
  `),g=`import { defineConfig } from "@visulima/packem/config";
48
48
  import transformer from "@visulima/packem/transformer/${e.transformer}";
49
49
  ${c}
50
50
  export default defineConfig({
51
51
  runtime: "${e.runtime}",
52
- transformer${f}
52
+ transformer${p}
53
53
  });
54
54
  `}else{let c="";if(e.isolatedDeclarationTransformer&&(c+=`const isolatedDeclarationTransformer = require("@visulima/packem/dts/isolated/transformer/${e.isolatedDeclarationTransformer}");
55
- `),e.css)for(let u of d)(u==="sass-embedded"||u==="node-sass")&&(u="sass"),c+=`const ${u}Loader = require("@visulima/packem/css/loader/${u.toLowerCase()}");
56
- `;e.cssMinifier&&m&&(c+=`const ${m}Minifier = require("@visulima/packem/css/minifier/${m.toLowerCase()}");
55
+ `),e.css)for(let m of f)(m==="sass-embedded"||m==="node-sass")&&(m="sass"),c+=`const ${m}Loader = require("@visulima/packem/css/loader/${m.toLowerCase()}");
56
+ `;e.cssMinifier&&d&&(c+=`const ${d}Minifier = require("@visulima/packem/css/minifier/${d.toLowerCase()}");
57
57
  `),g=`const { defineConfig } = require("@visulima/packem/config");
58
58
  const transformer = require("@visulima/packem/transformer/${e.transformer}");
59
59
  ${c}
60
60
  module.exports = defineConfig({
61
61
  runtime: ${e.runtime},
62
- transformer${f}
62
+ transformer${p}
63
63
  });
64
- `}const p=L(),w=i?"ts":"js";l.length>0&&(p.start("Installing packages"),await x(l,{cwd:a,dev:!0,silent:!0}),p.stop("Installed packages")),p.start(`Creating packem.config.${w}`),le($(a,`packem.config.${w}`),g),p.stop(`Created packem.config.${w}`),ie("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:P(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:P(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:P(s=>{if(s==="node"||s==="browser")return s;throw new Error("Invalid runtime. Use 'node' or 'browser'.")},"type")}]})},"createInitCommand");var is=Object.defineProperty,S=v((t,s)=>is(t,"name",{value:s,configurable:!0}),"a");const rs=S(async({cwd:t,dryRun:s,logger:e})=>{if(s)e.info("Dry run enabled. No changes will be made.");else{const r=ve({input:j.stdin,output:j.stdout});e.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,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(`
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 n=await r.question("Continue? (Y/n) ");if(r.close(),!(n.toLowerCase()==="y"||n==="")){e.error("Migration cancelled."),j.exitCode=1;return}}t&&j.chdir(t);let a=!1;await os(s,e)&&(a=!0),await ls(s,e)&&(a=!0),a?e.success("Migration completed. Remember to run install command with your package manager."):(e.error("No migration performed."),j.exitCode=1)},"migrate"),J={bunchee:"@visulima/packem",tsup:"@visulima/packem","tsup-node":"@visulima/packem",unbuild:"@visulima/packem"},ns={dependencies:`^${F.version}`,devDependencies:`^${F.version}`,peerDependencies:"*"},os=S(async(t,s)=>{if(!B("package.json"))return s.error("No package.json found"),!1;const e=await be("package.json","utf8"),a=JSON.parse(e);let r=!1;for(const[i,l]of Object.entries(ns))for(const[d,m]of Object.entries(J))a[i]?.[d]&&(s.info(`Migrating \`${i}\` from ${d} to ${m}.`),r=!0,a[i]=ds(a[i],d,m,l));if(a.scripts)for(const i of Object.keys(a.scripts)){for(const[l,d]of Object.entries(J))a.scripts[i].includes(l)&&(s.info(`Migrating \`${i}\` script from ${l} to packem`),r=!0,a.scripts[i]=a.scripts[i].replaceAll(new RegExp(String.raw`\b${l}\b`,"g"),"packem").replaceAll(new RegExp(String.raw`\b${l}-node\b`,"g"),"packem"));a.scripts[i].includes("tsup")&&(s.info(`Migrating \`${i}\` script from tsup to packem`),r=!0,a.scripts[i]=a.scripts[i].replaceAll(/\btsup(?:-node)?/g,"packem build").replaceAll(/\bbuild\b/g,"build")),a.scripts[i].includes("unbuild")&&(s.info(`Migrating \`${i}\` script from unbuild to packem`),r=!0,a.scripts[i]=a.scripts[i].replaceAll(/\bunbuild\b/g,"packem build")),a.scripts[i].includes("bunchee")&&(s.info(`Migrating \`${i}\` script from bunchee to packem`),r=!0,a.scripts[i]=a.scripts[i].replaceAll(/\bbunchee\b/g,"packem build"))}const n=["tsup","unbuild","bunchee"];for(const i of n)a[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 o=`${JSON.stringify(a,null,e.includes(" ")?" ":2)}
68
- `;return t?(s.info("[dry-run] package.json changes:"),s.info("Old content:"),console.info(e),s.info("New content:"),console.info(o)):(await we("package.json",o),s.success("Migrated `package.json`")),!0},"migratePackageJson"),cs=["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"],ls=S(async(t,s)=>{let e=!1;for(const a of cs)B(a)&&(s.info(`Found config file \`${a}\`. Consider creating packem.config.ts instead.`),s.warn("Manual migration required for config files. See https://www.visulima.com/docs/package/packem"),e=!0);return e||s.warn("No bundler config files found"),e},"migrateConfigFiles"),ds=S((t,s,e,a)=>{const r={};for(const n of Object.keys(t))n===s?r[e]=a||t[s]:r[n]=t[n];return r},"renameKey"),ps=S(t=>{t.addCommand({description:"Migrate from other bundlers (tsup, unbuild, bunchee, etc.) to packem",execute:S(async({logger:s,options:e})=>{await rs({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 E=Z("packem",{logger:await ee({reporters:[new se({error:{hideErrorCauseCodeView:!0,hideErrorCodeView:!0,hideErrorErrorsCodeView:!0}})],scope:"packem"}),packageName:he,packageVersion:z});as(E);ss(E);Ge(E);ps(E);E.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."),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});
@@ -1 +1 @@
1
- var s=Object.defineProperty;var t=(r,e)=>s(r,"name",{value:e,configurable:!0});import{DEFAULT_EXTENSIONS as n}from"@visulima/packem-share/constants";import o from"rollup-plugin-svelte";var l=Object.defineProperty,i=t((r,e)=>l(r,"name",{value:e,configurable:!0}),"n");const d=i((r={})=>{const{pluginOptions:e={}}=r;return{rollup:{plugins:[{enforce:"pre",plugin:o({compilerOptions:{generate:"client",runes:!0,...e.compilerOptions},emitCss:!1,exclude:e.exclude,extensions:[".svelte"],include:e.include??[/\.svelte$/],preprocess:e.preprocess})}],resolve:{browser:!0,exportConditions:["svelte"],extensions:[...n,".svelte"]}},validation:{dependencies:{hoisted:{exclude:[]},unused:{exclude:["svelte"]}}}}},"createSveltePreset");export{d as createSveltePreset};
1
+ var s=Object.defineProperty;var t=(r,e)=>s(r,"name",{value:e,configurable:!0});import{DEFAULT_EXTENSIONS as n}from"@visulima/packem-share/constants";import o from"rollup-plugin-svelte";var l=Object.defineProperty,i=t((r,e)=>l(r,"name",{value:e,configurable:!0}),"t");const d=i((r={})=>{const{pluginOptions:e={}}=r;return{rollup:{plugins:[{enforce:"pre",plugin:o({compilerOptions:{generate:"client",runes:!0,...e.compilerOptions},emitCss:!1,exclude:e.exclude,extensions:[".svelte"],include:e.include??[/\.svelte$/],preprocess:e.preprocess})}],resolve:{browser:!0,exportConditions:["svelte"],extensions:[...n,".svelte"]}},validation:{dependencies:{hoisted:{exclude:[]},unused:{exclude:["svelte"]}}}}},"createSveltePreset");export{d as createSveltePreset};
@@ -1 +1 @@
1
- var l=Object.defineProperty;var u=(t,e)=>l(t,"name",{value:e,configurable:!0});import n from"unplugin-vue/rollup";var r=Object.defineProperty,o=u((t,e)=>r(t,"name",{value:e,configurable:!0}),"n");const a=o((t={})=>{const{pluginOptions:e={}}=t;return{rollup:{plugins:[{enforce:"pre",plugin:n({customElement:e.customElement??!1,exclude:e.exclude,exportMode:"default",include:e.include??[/\.vue$/],template:e.template})}]},validation:{dependencies:{hoisted:{exclude:[]},unused:{exclude:["vue"]}}}}},"createVuePreset");export{a as createVuePreset};
1
+ var n=Object.defineProperty;var u=(t,e)=>n(t,"name",{value:e,configurable:!0});import l from"unplugin-vue/rollup";var r=Object.defineProperty,c=u((t,e)=>r(t,"name",{value:e,configurable:!0}),"n");const a=c((t={})=>{const{pluginOptions:e={}}=t;return{rollup:{plugins:[{enforce:"pre",plugin:l({customElement:e.customElement??!1,exclude:e.exclude,include:e.include??[/\.vue$/],template:e.template})}]},validation:{dependencies:{hoisted:{exclude:[]},unused:{exclude:["vue"]}}}}},"createVuePreset");export{a as createVuePreset};
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";import{j as g}from"./packem_shared/index-HqWbLo9v.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{j as g}from"./packem_shared/index-CIcDqRps.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,27 +1,27 @@
1
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 It,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 Ft,walk as Io,writeJson as Fo,ensureDirSync as Ao}from"@visulima/fs";import{parseBytes as tt,formatBytes as q,duration as ot}from"@visulima/humanizer";import{hasPackageJsonAnyDependency as At,ensurePackages as Ro}from"@visulima/package";import{arrayify as nt,memoizeByKey as Wo,enhanceRollupError as Rt,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 Ve,ENDING_REGEX as He,EXCLUDE_REGEXP as ce,ALLOWED_TRANSFORM_EXTENSIONS_REGEX as re,VALID_EXPORT_EXTENSIONS as zo}from"@visulima/packem-share/constants";import{warn as k,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 Be,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 In}from"@visulima/packem-rollup/plugin/native-modules";import{preserveDirectivesPlugin as Fn}from"@visulima/packem-rollup/plugin/preserve-directives";import{rawPlugin as An}from"@visulima/packem-rollup/plugin/raw";import{requireCJSTransformerPlugin as Rn}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
2
  const __filename = import.meta.filename; // -- packem CommonJS __filename shim --
3
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"),Ke=ao((e,t,o,s)=>{if(e==="module-sync")return"esm";if(s){const n=Te(s);if(n)return n}if(e==="module"||e==="import")return"esm";if(e==="require")return"cjs";if(t.length===0)return o;const[i,...r]=t;return Ke(i,r,o,s)},"inferExportType");var ai=Object.defineProperty,li=$((e,t)=>ai(e,"name",{value:t,configurable:!0}),"x$2");const pi=new Set(["browser","bun","default","deno","electron","import","module-sync","node","node-addons","require","types","workerd",...Wt,...Jt]),qe=li((e,t,o,s=[],i=[])=>{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(([l])=>!l.endsWith(".json"));let n=[];for(const[l,d]of r){const a=l.replace("./",""),c=i.some(p=>a===p||a.startsWith(`${p}/`));if(typeof d=="string"){let p={};Number.isInteger(+l)?p={exportKey:"*"}:l.startsWith("./")?p={exportKey:l.replace("./","")}:p={exportKey:l==="."?".":"*",subKey:l},n.push({...p,file:d,key:"exports",type:Ke(l,s,t,d),...c&&{ignored:!0}})}else if(typeof d=="object"&&d!==void 0)for(const[p,f]of Object.entries(d)){if(o===!1&&p==="types")continue;const u=Number.isInteger(+l)?p:l;if(typeof f=="string")n.push({exportKey:u.replace("./",""),file:f,key:"exports",...pi.has(p)?{subKey:p}:{},type:Ke(p,s,t,f),...c&&{ignored:!0}});else{const h=u.replace("./",""),y=c||i.some(m=>h===m||h.startsWith(`${m}/`)),g=qe({[u]:f},t,o,[...s,p],i);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 _e=new Map,Ue=/\.[^./]+$/,lo=te((e,t)=>{const o=e.match(/\.d\.[mc]?ts$/);if(o)return o[0];if(t)for(const s of Object.values(t)){const i=s.startsWith(".")?s:`.${s}`;if(e.endsWith(i))return i}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 s=>{const i=lt.join(e,s.name);return s.isDirectory()?po(i,t):s.isFile()?lt.relative(t,i):[]}))).flat()},"getDirectoryFilesRecursive"),di=te(async e=>{let t=_e.get(e);return t||(t=po(e,e),_e.set(e,t)),t},"getDirectoryFiles"),dt=te((e,t,o)=>{const s=e.replace(Ue,"");if(t==="*"){const l=s.split("/").filter(Boolean);return l.length===0?void 0:o&&o>1?l:[l[0]]}const i=t.replaceAll(/[.+?^${}()|[\]\\]/g,String.raw`\$&`).replaceAll("*","(.*)"),r=new RegExp(`^${i}$`),n=s.match(r);return n?n.slice(1):void 0},"matchWildcardPattern"),pe=te((e,t)=>{let o=e;for(const s of t)o=o.replace("*",s);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[t.length-1]||"",s=[".browser",".server",".development",".production",".node",".workerd"];for(const r of s)if(o.includes(r)){const n=o.replace(r,""),l=t.length>1?t.slice(0,-1).join("/"):"";return{baseName:l?`${l}/${n}`:n,pattern:r}}const i=o.split(".");if(i.length>2){const r=i.slice(0,-2).join("."),n=`.${i[i.length-2]}`,l=t.length>1?t.slice(0,-1).join("/"):"";return{baseName:l?`${l}/${r}`:r,pattern:n}}},"detectFilePattern"),gi=te((e,t,o,s)=>{const i=`${t.replace(new RegExp(`^${s}/?`),"")}${o}`,r=i.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`),n=new RegExp(String.raw`${r}\.([cm]?[tj]sx?|ts|js)$`),l=e.find(a=>{const c=a.replace(s,"").replace(/^\//,"");return n.test(c)});if(l)return l;const d=`${s}/${i}`;return e.find(a=>{const c=a.replace(/\.[^./]+$/,"");return c===d||c.endsWith(`/${i}`)})||void 0},"tryFindPatternFile"),ye=te((e,t,o,s,i,r,n,l)=>{const d=fi(i,r.environment);let a=r.options.runtime;const c=i.subKey==="browser"||i.subKey?.includes("browser"),p=i.file.includes(".browser");if(c||p)a="browser";else{for(const M of Wt)if(i.file.includes(`.${M}.`)||i.subKey===M){a=M;break}(i.subKey==="node"||i.subKey==="workerd"||i.file.includes(".node")||i.file.includes(".workerd")||i.file.includes(".server"))&&(a="node")}const f=lo(i.file,r.options.outputExtensionMap),u=i.file.replace(f,""),h=r.options.outDir.replace(/^\.\//,""),y=u.replace(new RegExp(`^(./)?${h}/`),""),g=t.replace(/\.[^./]+$/,"").split("/").pop()||"",m=y.split("/").pop()||"",D=!t.includes(y)&&g!==m;let w=e.find(M=>M.input===t&&M.environment===d&&M.runtime===a&&M.fileAlias===(D?y:void 0));if(w===void 0?w=e[e.push({environment:d,exportKey:new Set([i.exportKey].filter(Boolean)),fileAlias:D?y:void 0,input:t,runtime:a})-1]:w.exportKey&&i.exportKey&&w.exportKey.add(i.exportKey),n&&(w.isGlob=!0),o&&(w.outDir=s),i.isExecutable)w.executable=!0,w.declaration=!1,i.type==="cjs"?w.cjs=!0:i.type==="esm"&&(w.esm=!0);else{const M=/\.d\.[mc]?ts$/.test(i.file),I=l.filter(b=>b.exportKey===i.exportKey),J=I.length>0&&I.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=I.some(N=>/\.d\.mts$/.test(N.file)),S=I.some(N=>/\.d\.cts$/.test(N.file));if(b&&S?((r.options.declaration===void 0||r.options.declaration==="node16")&&(r.options.declaration="compatible"),r.options.emitCJS=!0,r.options.emitESM=!0):S?(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=l.filter(F=>/\.d\.[mc]?ts$/.test(F.file)),v=N.some(F=>/\.d\.mts$/.test(F.file)),E=N.some(F=>/\.d\.cts$/.test(F.file));I.every(F=>!F.subKey||F.subKey==="types")?(E&&(w.cjs=!0),v&&(w.esm=!0)):(E&&(w.declarationCjs=!0),v&&(w.declarationEsm=!0))}}else i.type==="cjs"?w.cjs=!0:i.type==="esm"&&(w.esm=!0)}D&&!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 s=e.types||e.typings;_e.clear();const i=[];t.sort((u,h)=>u.split("/").length-h.split("/").length);const r=e.type==="module"?"esm":"cjs",n=o.options.declaration??"node16",l=qe(e.exports,r,n,[],o.options.ignoreExportKeys??[]).filter(u=>!u.ignored),d=new Set;for(const u of l){const h=l.filter(y=>y.exportKey===u.exportKey);if(h.length>0&&h.every(y=>/\.d\.[mc]?ts$/.test(y.file))&&!d.has(u.exportKey)){d.add(u.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 a=l.some(u=>u.type==="esm"&&!/\.d\.mts$/.test(u.file)),c=l.some(u=>u.type==="cjs"&&!/\.d\.cts$/.test(u.file));a&&c?(o.options.emitESM=!0,o.options.emitCJS=!0):a?o.options.emitESM=!0:c?o.options.emitCJS=!0:r==="esm"?o.options.emitESM=!0:r==="cjs"&&(o.options.emitCJS=!0);const p=o.options.emitCJS&&o.options.emitESM;if(o.options.declaration==="node16"&&p&&(o.options.declaration="compatible"),e.bin){const u=(typeof e.bin=="string"?[e.bin]:Object.values(e.bin)).filter(Boolean);for(const h of u){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"}".`);l.push({file:h,isExecutable:!0,key:"bin",type:y??r})}}e.main&&l.push({file:e.main,key:"main",type:Te(e.main)??r}),e.module&&l.push({file:e.module,key:"module",type:"esm"}),s&&(mt(o),(o.options.declaration===void 0||o.options.declaration==="node16")&&p&&(o.options.declaration="compatible"),l.push({file:e.types??e.typings,key:"types"}));const f=[];if(!o.options.outputExtensionMap){const u=l.some(g=>!g.isExecutable&&!/\.d\.[mc]?ts$/.test(g.file)&&g.file.endsWith(".mjs")),h=l.some(g=>!g.isExecutable&&!/\.d\.[mc]?ts$/.test(g.file)&&g.file.endsWith(".cjs")),y=l.some(g=>!g.isExecutable&&!/\.d\.[mc]?ts$/.test(g.file)&&g.file.endsWith(".js"));u&&!h&&!y?o.options.outputExtensionMap={esm:"mjs"}:h&&!u&&!y&&(o.options.outputExtensionMap={cjs:"cjs"})}for await(const u of l){const h=/\.d\.[mc]?ts$/.test(u.file),y=lo(u.file,o.options.outputExtensionMap),g=[...Ve];if(o.options.outputExtensionMap)for(const v of Object.values(o.options.outputExtensionMap)){const E=v.startsWith(".")?v:`.${v}`;g.includes(E)||g.push(E)}if(!h&&y!==""&&!g.includes(y)||!h&&/\.(tsx?|cts|mts)$/.test(u.file))continue;let m=u.type;if(!m&&h){if(u.file.endsWith(".d.mts"))m="esm";else if(u.file.endsWith(".d.cts"))m="cjs";else if(u.file.endsWith(".d.ts")){const v=l.some(F=>F.subKey==="import"&&F.file.endsWith(".d.mts")),E=l.some(F=>F.subKey==="require"&&F.file.endsWith(".d.cts"));v&&E?m=void 0:m=o.pkg?.type==="module"?"esm":"cjs"}}if(/\.d\.[mc]?ts$/.test(u.file)||(o.options.emitCJS===void 0&&(m==="cjs"||u.type==="cjs")&&(o.options.emitCJS=!0),o.options.emitESM===void 0&&(m==="esm"||u.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 D=u.file;if(o.options.outputExtensionMap)for(const v of Object.values(o.options.outputExtensionMap)){const E=v.startsWith(".")?v:`.${v}`;if(u.file.endsWith(E)){D=u.file.slice(0,-E.length);break}}D===u.file&&(D=u.file.replace(new RegExp(String.raw`(?:\*[^/\\]|\.d\.[mc]?ts|\.\w+)$`),""));const w=D.endsWith("/");if(w&&["./","/"].includes(D))continue;const M=D.replace(new RegExp(`(./)?${o.options.outDir}`),o.options.sourceDir).replace("./",""),I=w?"":String.raw`(\.d\.[cm]?ts|(\.[cm]?[tj]sx?))$`,J="(?:^|/)";if((u.file.includes("/*")||D.includes("*"))&&u.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;u.exportKey?v=u.exportKey.startsWith("./")?u.exportKey.slice(2):u.exportKey:v=(u.file.startsWith("./")?u.file.slice(2):u.file).replace(/^dist\//,"");const E=u.file,F=E.match(/\.\w+$/);if(E.includes("*")&&!F&&u.exportKey&&!u.subKey){const A=E.replace(/\*.*$/,"").replace(/^\.\//,""),C=v.replace(/\*.*$/,"").replace(/^\.\//,"");if(A!==C){const R=`package.json#exports["${u.exportKey==="."?".":`./${u.exportKey}`}"]`;i.push(`Wildcard pattern must include a file extension: ${E} at ${R}`);continue}}const H=o.options.sourceDir.replace(/^\.\//,""),V=P(o.options.rootDir,H),_=[],ge=await di(V),z=(E.match(/\*/g)||[]).length,ae=(v.match(/\*/g)||[]).length;for(const A of ge){const C=dt(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(E,C.slice(0,z));x.includes("*")||_.push({input:P(V,A),output:x})}continue}const j=A.replace(Ue,"").split("/").filter(Boolean);if(j.length>=z){const O=Math.floor(j.length/z),x=[];for(let B=0;B<z;B++){const G=B*O,U=B===z-1?j.length:(B+1)*O;x.push(j.slice(G,U).join("/"))}const T=x[0];if(x.every(B=>B===T)){const B=pe(E,x);B.includes("*")||_.push({input:P(V,A),output:B})}}else if(j.length>0){const O=j[0];if(j.every(x=>x===O)){const x=new Array(z).fill(O),T=pe(E,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 j=C[0];if(!C.every(O=>O===j))continue}const R=pe(E,C);if(R.includes("*"))continue;_.push({input:P(V,A),output:R})}}if(_.length===0&&E.includes("*")){let A=(u.file.startsWith("./")?u.file.slice(2):u.file).replace(/^dist\//,"");A=A.replace(/\.\w+$/,""),(A.match(/\*/g)||[]).length;for(const C of ge){const R=dt(C,A,z);if(R){if(z>1&&ae<z){if(R.length>=z){const x=R[0];if(R.every(T=>T===x)){const T=pe(E,R);T.includes("*")||_.push({input:P(V,C),output:T});continue}}const j=C.replace(Ue,""),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}$`),G=j.match(B);if(G){const U=G[1],he=pe(E,new Array(z).fill(U));he.includes("*")||_.push({input:P(V,C),output:he})}}continue}if(R.length>=z){if(ae>0&&ae<z&&z>1&&R.length>1){const O=R[0];if(!R.every(x=>x===O))continue}const j=pe(E,R);j.includes("*")||_.push({input:P(V,C),output:j})}}}}if(_.length===0){l.length>1||i.push(`Could not find entrypoints matching pattern \`${v}\` for output \`${E}\``);continue}const Y=l.filter(A=>A.exportKey===u.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")),R=Y.some(x=>x.file.endsWith(".d.cts"));C&&R?((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitCJS=!0,o.options.emitESM=!0):R?((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 j=Y.find(x=>x.file.endsWith(".d.ts")),O=j||Y.find(x=>x.file.endsWith(".d.mts"))||Y.find(x=>x.file.endsWith(".d.cts"))||u;if(!(O===u||j&&u===j||!j&&O===u))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 G={...O,file:B,subKey:"types",type:void 0};ye(f,x,!1,D,G,o,!0,l)}}else for(const{input:A,output:C}of _){const R=/\.d\.[mc]?ts$/.test(C);let j=u.type;R||(C.endsWith(".mjs")?j="esm":C.endsWith(".cjs")?j="cjs":C.endsWith(".js")&&!j&&(j=o.pkg?.type==="module"?"esm":"cjs"));const O={...u,file:C,...!R&&j&&{type:j}};ye(f,A,!1,D,O,o,!0,l)}continue}const b=new RegExp(J+M.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)+I);let S=t.find(v=>b.test(v));if(S===void 0){const v=o.options.sourceDir.replace(/^\.\//,""),E=P(o.options.rootDir,v),F=mi(u.file);if(F){const H=gi(t,F.baseName,F.pattern,E);if(H)S=H;else{const V=F.baseName,_=new RegExp(J+V.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)+I);S=t.find(ge=>_.test(ge))}}else{const H=M.replace(/^(.+?)\.[^.]*$/,"$1").replace(/\/$/,"");if(Jt.has(u.subKey)){const V=new RegExp(J+H.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)+I);S=t.find(_=>V.test(_))}}}if(S===void 0){le(P(o.options.rootDir,u.file))||i.push(`Could not find entrypoint for \`${u.file}\``);continue}le(S)&&/\.[cm]?tsx?$/.test(S)&&mt(o);const N=l.filter(v=>v.exportKey===u.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")),E=N.some(H=>H.file.endsWith(".d.cts"));v&&E?((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitCJS=!0,o.options.emitESM=!0):E?((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={...u,subKey:"types",type:void 0};ye(f,S,w,D,F,o,!1,l)}else{const v=Uo(S.replace(He,""));le(`${v}.cts`)&&le(`${v}.mts`)?(ye(f,`${v}.cts`,w,D,{...u,type:"cjs"},o,!1,l),ye(f,`${v}.mts`,w,D,{...u,type:"esm"},o,!1,l)):ye(f,S,w,D,u,o,!1,l)}}return{entries:f,warnings:i}},"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 i=W(e.options.rootDir,e.options.sourceDir);if(!le(i))throw new Error("No 'src' directory found. Please provide entries manually.");const r=et(i,{extensions:[],includeDirs:!1,includeSymlinks:!1,skip:[ce,/.*\/dist\/.*/]}).filter(n=>re.test(n)&&!n.endsWith(".d.ts"));for(const n of r){const l=n.replace(`${i}/`,"").replace(re,"").replaceAll("/","/");e.options.entries.push({input:n,name:l})}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 s={...e.pkg};if(s.publishConfig&&(e.logger.info(`Using publishConfig found in package.json, to override the default key-value pairs of "${Object.keys(s.publishConfig).join(", ")}".`),e.logger.debug(s.publishConfig),s=vi(s,e.options.declaration)),e.options.unbundle){e.logger.info("Unbundle mode detected, creating entries for all source files");const i=o.filter(r=>re.test(r)&&!r.endsWith(".d.ts"));e.logger.info(`Found ${i.length} code files for unbundle mode`);for(const r of i){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 i=await hi(s,o,e);for(const r of i.warnings)e.logger.warn(r);e.options.entries.push(...i.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(i=>i.fileAlias?`${Q(i.fileAlias)} => ${Q(i.input.replace(`${e.options.rootDir}/`,"").replace(/\/$/,"/*"))}`:Q(i.input.replace(`${e.options.rootDir}/`,"").replace(/\/$/,"/*"))).join(", ")),se([e.options.emitESM&&"esm",e.options.emitCJS&&"cjs",e.options.declaration&&"dts"].filter(Boolean).map(i=>`[${i}]`).join(" ")))},"build:prepare")}};var ji=Object.defineProperty,ki=$((e,t)=>ji(e,"name",{value:t,configurable:!0}),"e$6");const Ge=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$b");const Di=Si(async(e,t,o,s)=>{let i;if(s){const r=W(e,s);if(!await de(r))throw new Error(`tsconfig.json not found at ${r}`);i={config:tn(r),path:r},o.info("Using tsconfig settings at",r)}else if(At(t,["typescript"]))try{i=await on(e),o.debug("Using tsconfig settings found at",i.path)}catch{o.info("No tsconfig.json or jsconfig.json found.")}return i},"loadTsconfig");var Oi=Object.defineProperty,co=$((e,t)=>Oi(e,"name",{value:t,configurable:!0}),"l$7");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(He,"")}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:Be(t)}:{...t,exportKey:t.exportKey??new Set,isGlob:Be(t.input)});for(const t of e.options.entries.filter(o=>o.isGlob)){const{isGlob:o,...s}=t,i=["**/.git/**","**/node_modules/**","**/test-results/**"];if(e.options.rollup.watch){if(typeof e.options.rollup.watch.exclude=="string")i.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"&&i.push(n)}const r=Lt([s.input],{cwd:e.options.rootDir,dot:!1,ignore:i,onlyFiles:!0});if(r.length===0)throw new nn(`No files found in the glob pattern: ${K(W(e.options.rootDir,s.input))}`);for(const n of r)e.options.entries.push({...s,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(i=>i.includes("browser")||i==="browser"),s=t.fileAlias?.includes(".browser")??!1;if(o||s)t.runtime="browser";else if(t.exportKey){for(const i of t.exportKey)if(i==="node"||i==="workerd"||i.includes("node")||i.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 Re=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(s=>[s.find,s.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 Ii=/^[_$a-z\u00A0-\uFFFF][\w$\u00A0-\uFFFF]*$/iu,Fi=Ti(async e=>{const t=e.options.jiti.transformOptions?.babel?.plugins,o=[],s=JSON.stringify({...e.options.jiti,alias:{...Re(e.pkg,e.options),...e.options.jiti.alias},transformOptions:{...e.options.jiti.transformOptions,babel:{...e.options.jiti.transformOptions?.babel,plugins:"__$BABEL_PLUGINS"}}},void 0,2).replace('"__$BABEL_PLUGINS"',Array.isArray(t)?`[${t.map((i,r)=>{if(Array.isArray(i)){const[n,...l]=i;return o.push(n),`[${[`plugin${r}`,...l.map(d=>JSON.stringify(d))].join(", ")}]`}return o.push(i),`plugin${r}`}).join(",")}]`:"[]");for(const i of e.options.entries){const r=P(e.options.rootDir,e.options.outDir,i.name),n=cn(e.jiti.esmResolve(i.input,{try:!0})??i.input),l=n.replace(He,""),d=Co(n),a=an(d);let c=[];try{c=await un(n,{extensions:Ve})}catch(u){k(e,`Cannot analyze ${n} for exports: ${u.toString()}`);return}const p=c.includes("default")||c.length===0,f=e.options.jiti.absoluteJitiPath?(...u)=>dn(P(...u)):ie;if(e.options.emitESM){const u=f(me(r),await ct("jiti",{conditions:["node","import"],url:import.meta.url})),h=ne(e,"esm"),y=`${l}.${h}`;je(`${r}.${ee(e,"esm")}`,a+[`import { createJiti } from "${u}";`,...o.map((g,m)=>`import plugin${m} from "${g}";`),"",`const jiti = createJiti(import.meta.url, ${s});`,"",`/** @type {import("${y}")} */`,`const _module = await jiti.import("${n}");`,...p?["export default _module?.default ?? _module;"]:[],...c.filter(g=>g!=="default").map((g,m)=>{if(Ii.test(g))return`export const ${g} = _module.${g};`;const D=`__packem_export_${m}`,w=g.startsWith("'")&&g.endsWith("'")?`_module[${g}]`:`_module[${JSON.stringify(g)}]`;return`const ${D} = ${w};
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"),Ke=ao((e,t,o,s)=>{if(e==="module-sync")return"esm";if(s){const n=Te(s);if(n)return n}if(e==="module"||e==="import")return"esm";if(e==="require")return"cjs";if(t.length===0)return o;const[i,...r]=t;return Ke(i,r,o,s)},"inferExportType");var ai=Object.defineProperty,li=$((e,t)=>ai(e,"name",{value:t,configurable:!0}),"x$2");const pi=new Set(["browser","bun","default","deno","electron","import","module-sync","node","node-addons","require","types","workerd",...Wt,...Jt]),qe=li((e,t,o,s=[],i=[])=>{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(([l])=>!l.endsWith(".json"));let n=[];for(const[l,d]of r){const a=l.replace("./",""),c=i.some(p=>a===p||a.startsWith(`${p}/`));if(typeof d=="string"){let p={};Number.isInteger(+l)?p={exportKey:"*"}:l.startsWith("./")?p={exportKey:l.replace("./","")}:p={exportKey:l==="."?".":"*",subKey:l},n.push({...p,file:d,key:"exports",type:Ke(l,s,t,d),...c&&{ignored:!0}})}else if(typeof d=="object"&&d!==void 0)for(const[p,f]of Object.entries(d)){if(o===!1&&p==="types")continue;const u=Number.isInteger(+l)?p:l;if(typeof f=="string")n.push({exportKey:u.replace("./",""),file:f,key:"exports",...pi.has(p)?{subKey:p}:{},type:Ke(p,s,t,f),...c&&{ignored:!0}});else{const h=u.replace("./",""),y=c||i.some(m=>h===m||h.startsWith(`${m}/`)),g=qe({[u]:f},t,o,[...s,p],i);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 _e=new Map,Ue=/\.[^./]+$/,lo=te((e,t)=>{const o=e.match(/\.d\.[mc]?ts$/);if(o)return o[0];if(t)for(const s of Object.values(t)){const i=s.startsWith(".")?s:`.${s}`;if(e.endsWith(i))return i}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 s=>{const i=lt.join(e,s.name);return s.isDirectory()?po(i,t):s.isFile()?lt.relative(t,i):[]}))).flat()},"getDirectoryFilesRecursive"),di=te(async e=>{let t=_e.get(e);return t||(t=po(e,e),_e.set(e,t)),t},"getDirectoryFiles"),dt=te((e,t,o)=>{const s=e.replace(Ue,"");if(t==="*"){const l=s.split("/").filter(Boolean);return l.length===0?void 0:o&&o>1?l:[l[0]]}const i=t.replaceAll(/[.+?^${}()|[\]\\]/g,String.raw`\$&`).replaceAll("*","(.*)"),r=new RegExp(`^${i}$`),n=s.match(r);return n?n.slice(1):void 0},"matchWildcardPattern"),pe=te((e,t)=>{let o=e;for(const s of t)o=o.replace("*",s);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)||"",s=[".browser",".server",".development",".production",".node",".workerd"];for(const r of s)if(o.includes(r)){const n=o.replace(r,""),l=t.length>1?t.slice(0,-1).join("/"):"";return{baseName:l?`${l}/${n}`:n,pattern:r}}const i=o.split(".");if(i.length>2){const r=i.slice(0,-2).join("."),n=`.${i[i.length-2]}`,l=t.length>1?t.slice(0,-1).join("/"):"";return{baseName:l?`${l}/${r}`:r,pattern:n}}},"detectFilePattern"),gi=te((e,t,o,s)=>{const i=`${t.replace(new RegExp(`^${s}/?`),"")}${o}`,r=i.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`),n=new RegExp(String.raw`${r}\.([cm]?[tj]sx?|ts|js)$`),l=e.find(a=>{const c=a.replace(s,"").replace(/^\//,"");return n.test(c)});if(l)return l;const d=`${s}/${i}`;return e.find(a=>{const c=a.replace(/\.[^./]+$/,"");return c===d||c.endsWith(`/${i}`)})||void 0},"tryFindPatternFile"),ye=te((e,t,o,s,i,r,n,l)=>{const d=fi(i,r.environment);let a=r.options.runtime;const c=i.subKey==="browser"||i.subKey?.includes("browser"),p=i.file.includes(".browser");if(c||p)a="browser";else{for(const M of Wt)if(i.file.includes(`.${M}.`)||i.subKey===M){a=M;break}(i.subKey==="node"||i.subKey==="workerd"||i.file.includes(".node")||i.file.includes(".workerd")||i.file.includes(".server"))&&(a="node")}const f=lo(i.file,r.options.outputExtensionMap),u=i.file.replace(f,""),h=r.options.outDir.replace(/^\.\//,""),y=u.replace(new RegExp(`^(./)?${h}/`),""),g=t.replace(/\.[^./]+$/,"").split("/").pop()||"",m=y.split("/").pop()||"",D=!t.includes(y)&&g!==m;let w=e.find(M=>M.input===t&&M.environment===d&&M.runtime===a&&M.fileAlias===(D?y:void 0));if(w===void 0?w=e[e.push({environment:d,exportKey:new Set([i.exportKey].filter(Boolean)),fileAlias:D?y:void 0,input:t,runtime:a})-1]:w.exportKey&&i.exportKey&&w.exportKey.add(i.exportKey),n&&(w.isGlob=!0),o&&(w.outDir=s),i.isExecutable)w.executable=!0,w.declaration=!1,i.type==="cjs"?w.cjs=!0:i.type==="esm"&&(w.esm=!0);else{const M=/\.d\.[mc]?ts$/.test(i.file),I=l.filter(b=>b.exportKey===i.exportKey),J=I.length>0&&I.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=I.some(N=>/\.d\.mts$/.test(N.file)),S=I.some(N=>/\.d\.cts$/.test(N.file));if(b&&S?((r.options.declaration===void 0||r.options.declaration==="node16")&&(r.options.declaration="compatible"),r.options.emitCJS=!0,r.options.emitESM=!0):S?(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=l.filter(F=>/\.d\.[mc]?ts$/.test(F.file)),v=N.some(F=>/\.d\.mts$/.test(F.file)),E=N.some(F=>/\.d\.cts$/.test(F.file));I.every(F=>!F.subKey||F.subKey==="types")?(E&&(w.cjs=!0),v&&(w.esm=!0)):(E&&(w.declarationCjs=!0),v&&(w.declarationEsm=!0))}}else i.type==="cjs"?w.cjs=!0:i.type==="esm"&&(w.esm=!0)}D&&!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 s=e.types||e.typings;_e.clear();const i=[];t.sort((u,h)=>u.split("/").length-h.split("/").length);const r=e.type==="module"?"esm":"cjs",n=o.options.declaration??"node16",l=qe(e.exports,r,n,[],o.options.ignoreExportKeys??[]).filter(u=>!u.ignored),d=new Set;for(const u of l){const h=l.filter(y=>y.exportKey===u.exportKey);if(h.length>0&&h.every(y=>/\.d\.[mc]?ts$/.test(y.file))&&!d.has(u.exportKey)){d.add(u.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 a=l.some(u=>u.type==="esm"&&!/\.d\.mts$/.test(u.file)),c=l.some(u=>u.type==="cjs"&&!/\.d\.cts$/.test(u.file));a&&c?(o.options.emitESM=!0,o.options.emitCJS=!0):a?o.options.emitESM=!0:c?o.options.emitCJS=!0:r==="esm"?o.options.emitESM=!0:r==="cjs"&&(o.options.emitCJS=!0);const p=o.options.emitCJS&&o.options.emitESM;if(o.options.declaration==="node16"&&p&&(o.options.declaration="compatible"),e.bin){const u=(typeof e.bin=="string"?[e.bin]:Object.values(e.bin)).filter(Boolean);for(const h of u){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"}".`);l.push({file:h,isExecutable:!0,key:"bin",type:y??r})}}e.main&&l.push({file:e.main,key:"main",type:Te(e.main)??r}),e.module&&l.push({file:e.module,key:"module",type:"esm"}),s&&(mt(o),(o.options.declaration===void 0||o.options.declaration==="node16")&&p&&(o.options.declaration="compatible"),l.push({file:e.types??e.typings,key:"types"}));const f=[];if(!o.options.outputExtensionMap){const u=l.some(g=>!g.isExecutable&&!/\.d\.[mc]?ts$/.test(g.file)&&g.file.endsWith(".mjs")),h=l.some(g=>!g.isExecutable&&!/\.d\.[mc]?ts$/.test(g.file)&&g.file.endsWith(".cjs")),y=l.some(g=>!g.isExecutable&&!/\.d\.[mc]?ts$/.test(g.file)&&g.file.endsWith(".js"));u&&!h&&!y?o.options.outputExtensionMap={esm:"mjs"}:h&&!u&&!y&&(o.options.outputExtensionMap={cjs:"cjs"})}for await(const u of l){const h=/\.d\.[mc]?ts$/.test(u.file),y=lo(u.file,o.options.outputExtensionMap),g=[...Ve];if(o.options.outputExtensionMap)for(const v of Object.values(o.options.outputExtensionMap)){const E=v.startsWith(".")?v:`.${v}`;g.includes(E)||g.push(E)}if(!h&&y!==""&&!g.includes(y)||!h&&/\.(tsx?|cts|mts)$/.test(u.file))continue;let m=u.type;if(!m&&h){if(u.file.endsWith(".d.mts"))m="esm";else if(u.file.endsWith(".d.cts"))m="cjs";else if(u.file.endsWith(".d.ts")){const v=l.some(F=>F.subKey==="import"&&F.file.endsWith(".d.mts")),E=l.some(F=>F.subKey==="require"&&F.file.endsWith(".d.cts"));v&&E?m=void 0:m=o.pkg?.type==="module"?"esm":"cjs"}}if(/\.d\.[mc]?ts$/.test(u.file)||(o.options.emitCJS===void 0&&(m==="cjs"||u.type==="cjs")&&(o.options.emitCJS=!0),o.options.emitESM===void 0&&(m==="esm"||u.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 D=u.file;if(o.options.outputExtensionMap)for(const v of Object.values(o.options.outputExtensionMap)){const E=v.startsWith(".")?v:`.${v}`;if(u.file.endsWith(E)){D=u.file.slice(0,-E.length);break}}D===u.file&&(D=u.file.replace(new RegExp(String.raw`(?:\*[^/\\]|\.d\.[mc]?ts|\.\w+)$`),""));const w=D.endsWith("/");if(w&&["./","/"].includes(D))continue;const M=D.replace(new RegExp(`(./)?${o.options.outDir}`),o.options.sourceDir).replace("./",""),I=w?"":String.raw`(\.d\.[cm]?ts|(\.[cm]?[tj]sx?))$`,J="(?:^|/)";if((u.file.includes("/*")||D.includes("*"))&&u.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;u.exportKey?v=u.exportKey.startsWith("./")?u.exportKey.slice(2):u.exportKey:v=(u.file.startsWith("./")?u.file.slice(2):u.file).replace(/^dist\//,"");const E=u.file,F=E.match(/\.\w+$/);if(E.includes("*")&&!F&&u.exportKey&&!u.subKey){const A=E.replace(/\*.*$/,"").replace(/^\.\//,""),C=v.replace(/\*.*$/,"").replace(/^\.\//,"");if(A!==C){const R=`package.json#exports["${u.exportKey==="."?".":`./${u.exportKey}`}"]`;i.push(`Wildcard pattern must include a file extension: ${E} at ${R}`);continue}}const H=o.options.sourceDir.replace(/^\.\//,""),V=P(o.options.rootDir,H),_=[],ge=await di(V),z=(E.match(/\*/g)||[]).length,ae=(v.match(/\*/g)||[]).length;for(const A of ge){const C=dt(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(E,C.slice(0,z));x.includes("*")||_.push({input:P(V,A),output:x})}continue}const j=A.replace(Ue,"").split("/").filter(Boolean);if(j.length>=z){const O=Math.floor(j.length/z),x=[];for(let B=0;B<z;B++){const G=B*O,U=B===z-1?j.length:(B+1)*O;x.push(j.slice(G,U).join("/"))}const T=x[0];if(x.every(B=>B===T)){const B=pe(E,x);B.includes("*")||_.push({input:P(V,A),output:B})}}else if(j.length>0){const O=j[0];if(j.every(x=>x===O)){const x=new Array(z).fill(O),T=pe(E,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 j=C[0];if(!C.every(O=>O===j))continue}const R=pe(E,C);if(R.includes("*"))continue;_.push({input:P(V,A),output:R})}}if(_.length===0&&E.includes("*")){let A=(u.file.startsWith("./")?u.file.slice(2):u.file).replace(/^dist\//,"");A=A.replace(/\.\w+$/,""),(A.match(/\*/g)||[]).length;for(const C of ge){const R=dt(C,A,z);if(R){if(z>1&&ae<z){if(R.length>=z){const x=R[0];if(R.every(T=>T===x)){const T=pe(E,R);T.includes("*")||_.push({input:P(V,C),output:T});continue}}const j=C.replace(Ue,""),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}$`),G=j.match(B);if(G){const U=G[1],he=pe(E,new Array(z).fill(U));he.includes("*")||_.push({input:P(V,C),output:he})}}continue}if(R.length>=z){if(ae>0&&ae<z&&z>1&&R.length>1){const O=R[0];if(!R.every(x=>x===O))continue}const j=pe(E,R);j.includes("*")||_.push({input:P(V,C),output:j})}}}}if(_.length===0){l.length>1||i.push(`Could not find entrypoints matching pattern \`${v}\` for output \`${E}\``);continue}const Y=l.filter(A=>A.exportKey===u.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")),R=Y.some(x=>x.file.endsWith(".d.cts"));C&&R?((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitCJS=!0,o.options.emitESM=!0):R?((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 j=Y.find(x=>x.file.endsWith(".d.ts")),O=j||Y.find(x=>x.file.endsWith(".d.mts"))||Y.find(x=>x.file.endsWith(".d.cts"))||u;if(!(O===u||j&&u===j||!j&&O===u))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 G={...O,file:B,subKey:"types",type:void 0};ye(f,x,!1,D,G,o,!0,l)}}else for(const{input:A,output:C}of _){const R=/\.d\.[mc]?ts$/.test(C);let j=u.type;R||(C.endsWith(".mjs")?j="esm":C.endsWith(".cjs")?j="cjs":C.endsWith(".js")&&!j&&(j=o.pkg?.type==="module"?"esm":"cjs"));const O={...u,file:C,...!R&&j&&{type:j}};ye(f,A,!1,D,O,o,!0,l)}continue}const b=new RegExp(J+M.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)+I);let S=t.find(v=>b.test(v));if(S===void 0){const v=o.options.sourceDir.replace(/^\.\//,""),E=P(o.options.rootDir,v),F=mi(u.file);if(F){const H=gi(t,F.baseName,F.pattern,E);if(H)S=H;else{const V=F.baseName,_=new RegExp(J+V.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)+I);S=t.find(ge=>_.test(ge))}}else{const H=M.replace(/^(.+?)\.[^.]*$/,"$1").replace(/\/$/,"");if(Jt.has(u.subKey)){const V=new RegExp(J+H.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)+I);S=t.find(_=>V.test(_))}}}if(S===void 0){le(P(o.options.rootDir,u.file))||i.push(`Could not find entrypoint for \`${u.file}\``);continue}le(S)&&/\.[cm]?tsx?$/.test(S)&&mt(o);const N=l.filter(v=>v.exportKey===u.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")),E=N.some(H=>H.file.endsWith(".d.cts"));v&&E?((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitCJS=!0,o.options.emitESM=!0):E?((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={...u,subKey:"types",type:void 0};ye(f,S,w,D,F,o,!1,l)}else{const v=Uo(S.replace(He,""));le(`${v}.cts`)&&le(`${v}.mts`)?(ye(f,`${v}.cts`,w,D,{...u,type:"cjs"},o,!1,l),ye(f,`${v}.mts`,w,D,{...u,type:"esm"},o,!1,l)):ye(f,S,w,D,u,o,!1,l)}}return{entries:f,warnings:i}},"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 i=W(e.options.rootDir,e.options.sourceDir);if(!le(i))throw new Error("No 'src' directory found. Please provide entries manually.");const r=et(i,{extensions:[],includeDirs:!1,includeSymlinks:!1,skip:[ce,/.*\/dist\/.*/]}).filter(n=>re.test(n)&&!n.endsWith(".d.ts"));for(const n of r){const l=n.replace(`${i}/`,"").replace(re,"").replaceAll("/","/");e.options.entries.push({input:n,name:l})}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 s={...e.pkg};if(s.publishConfig&&(e.logger.info(`Using publishConfig found in package.json, to override the default key-value pairs of "${Object.keys(s.publishConfig).join(", ")}".`),e.logger.debug(s.publishConfig),s=vi(s,e.options.declaration)),e.options.unbundle){e.logger.info("Unbundle mode detected, creating entries for all source files");const i=o.filter(r=>re.test(r)&&!r.endsWith(".d.ts"));e.logger.info(`Found ${i.length} code files for unbundle mode`);for(const r of i){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 i=await hi(s,o,e);for(const r of i.warnings)e.logger.warn(r);e.options.entries.push(...i.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(i=>i.fileAlias?`${Q(i.fileAlias)} => ${Q(i.input.replace(`${e.options.rootDir}/`,"").replace(/\/$/,"/*"))}`:Q(i.input.replace(`${e.options.rootDir}/`,"").replace(/\/$/,"/*"))).join(", ")),se([e.options.emitESM&&"esm",e.options.emitCJS&&"cjs",e.options.declaration&&"dts"].filter(Boolean).map(i=>`[${i}]`).join(" ")))},"build:prepare")}};var ji=Object.defineProperty,ki=$((e,t)=>ji(e,"name",{value:t,configurable:!0}),"e$6");const Ge=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$b");const Di=Si(async(e,t,o,s)=>{let i;if(s){const r=W(e,s);if(!await de(r))throw new Error(`tsconfig.json not found at ${r}`);i={config:tn(r),path:r},o.info("Using tsconfig settings at",r)}else if(At(t,["typescript"]))try{i=await on(e),o.debug("Using tsconfig settings found at",i.path)}catch{o.info("No tsconfig.json or jsconfig.json found.")}return i},"loadTsconfig");var Oi=Object.defineProperty,co=$((e,t)=>Oi(e,"name",{value:t,configurable:!0}),"l$7");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(He,"")}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:Be(t)}:{...t,exportKey:t.exportKey??new Set,isGlob:Be(t.input)});for(const t of e.options.entries.filter(o=>o.isGlob)){const{isGlob:o,...s}=t,i=["**/.git/**","**/node_modules/**","**/test-results/**"];if(e.options.rollup.watch){if(typeof e.options.rollup.watch.exclude=="string")i.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"&&i.push(n)}const r=Lt([s.input],{cwd:e.options.rootDir,dot:!1,ignore:i,onlyFiles:!0});if(r.length===0)throw new nn(`No files found in the glob pattern: ${K(W(e.options.rootDir,s.input))}`);for(const n of r)e.options.entries.push({...s,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(i=>i.includes("browser")||i==="browser"),s=t.fileAlias?.includes(".browser")??!1;if(o||s)t.runtime="browser";else if(t.exportKey){for(const i of t.exportKey)if(i==="node"||i==="workerd"||i.includes("node")||i.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 Re=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(s=>[s.find,s.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 Ii=/^[_$a-z\u00A0-\uFFFF][\w$\u00A0-\uFFFF]*$/iu,Fi=Ti(async e=>{const t=e.options.jiti.transformOptions?.babel?.plugins,o=[],s=JSON.stringify({...e.options.jiti,alias:{...Re(e.pkg,e.options),...e.options.jiti.alias},transformOptions:{...e.options.jiti.transformOptions,babel:{...e.options.jiti.transformOptions?.babel,plugins:"__$BABEL_PLUGINS"}}},void 0,2).replace('"__$BABEL_PLUGINS"',Array.isArray(t)?`[${t.map((i,r)=>{if(Array.isArray(i)){const[n,...l]=i;return o.push(n),`[${[`plugin${r}`,...l.map(d=>JSON.stringify(d))].join(", ")}]`}return o.push(i),`plugin${r}`}).join(",")}]`:"[]");for(const i of e.options.entries){const r=P(e.options.rootDir,e.options.outDir,i.name),n=cn(e.jiti.esmResolve(i.input,{try:!0})??i.input),l=n.replace(He,""),d=Co(n),a=an(d);let c=[];try{c=await un(n,{extensions:Ve})}catch(u){k(e,`Cannot analyze ${n} for exports: ${u.toString()}`);return}const p=c.includes("default")||c.length===0,f=e.options.jiti.absoluteJitiPath?(...u)=>dn(P(...u)):ie;if(e.options.emitESM){const u=f(me(r),await ct("jiti",{conditions:["node","import"],url:import.meta.url})),h=ne(e,"esm"),y=`${l}.${h}`;je(`${r}.${ee(e,"esm")}`,a+[`import { createJiti } from "${u}";`,...o.map((g,m)=>`import plugin${m} from "${g}";`),"",`const jiti = createJiti(import.meta.url, ${s});`,"",`/** @type {import("${y}")} */`,`const _module = await jiti.import("${n}");`,...p?["export default _module?.default ?? _module;"]:[],...c.filter(g=>g!=="default").map((g,m)=>{if(Ii.test(g))return`export const ${g} = _module.${g};`;const D=`__packem_export_${m}`,w=g.startsWith("'")&&g.endsWith("'")?`_module[${g}]`:`_module[${JSON.stringify(g)}]`;return`const ${D} = ${w};
5
5
  export { ${D} as ${JSON.stringify(g)} };`})].join(`
6
6
  `)),e.options.declaration&&je(`${r}.${h}`,`export * from "${y}";
7
7
  ${p?`export { default } from "${y}";`:""}`)}if(e.options.emitCJS){const u=f(me(r),await ct("jiti",{conditions:["node","require"],url:import.meta.url})),h=ne(e,"cjs"),y=`${l}.${h}`;je(`${r}.${ee(e,"cjs")}`,a+[`const { createJiti } = require("${u}");`,...o.map((g,m)=>`const plugin${m} = require(${JSON.stringify(g)})`),"",`const jiti = createJiti(__filename, ${s});`,"",`/** @type {import("${y}")} */`,`module.exports = jiti("${n}")`].join(`
8
8
  `)),e.options.declaration&&je(`${r}.${h}`,`export * from "${y}";
9
- ${p?`export { default } from "${y}";`:""}`)}a&&(await pt(`${r}.${ee(e,"cjs")}`),await pt(`${r}.${ee(e,"esm")}`))}await e.hooks.callHook("rollup:done",e)},"createStub");var Ai=Object.defineProperty,Xe=$((e,t)=>Ai(e,"name",{value:t,configurable:!0}),"s$6");const Le=Xe(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=Xe(e=>{const t=e[0];return!(t==="."||t==="/"||t==="#"||Ce(e))},"isBareSpecifier"),fo=Xe((e,t=process.cwd())=>ie(t,e).split("/").includes("node_modules"),"isFromNodeModules");var Ri=Object.defineProperty,Ye=$((e,t)=>Ri(e,"name",{value:t,configurable:!0}),"d$6");const Qe="@types/",ht=Ye(e=>{if(e.startsWith("@")){const[t,o]=e.split("/");return`${t}/types/${o}`}return`${Qe}${e}`},"getAtTypesPackageName"),Wi=Ye(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=Ye((e,t)=>{const o=fn.realpathSync.native(process.cwd()),s=new Set,i=new Set(Object.keys(e.devDependencies||{}));for(const r of Ji){const n=e[r];if(n)for(const l of Object.keys(n))l.startsWith(Qe)?s.add(Wi(l)):s.add(l)}return{name:"externalize-dependencies",async resolveId(r,n,l){if(!uo(r))return null;const[d]=Le(r);if(s.has(d)){if(t?.forTypes){const a=ht(d);i.has(a)&&console.warn(`Recommendation: "${a}" is bundled (devDependencies) but "${d}" is externalized. Place "${a}" in dependencies/peerDependencies as well so users don't have missing types.`)}return{external:!0,id:r}}if(i.has(d)){const a=await this.resolve(r,n,{...l,skipSelf:!0});if(!a){const c=`Could not resolve "${r}" even though it's declared in package.json. Try re-installing node_modules.`;throw console.error(c),new Error(c)}if(t?.forTypes){const c=ht(d);s.has(c)&&console.warn(`Recommendation: "${c}" is externalized but "${d}" is bundled (devDependencies). This may cause type mismatches for consumers. Consider moving "${d}" to dependencies or "${c}" to devDependencies.`)}return a}n&&!fo(n,o)&&!t?.skipUnlistedWarnings&&console.warn(`"${d}" imported by "${n}" 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}),"d$5");const yt=ue((e,t,o)=>e.reduce((s,i,r)=>(i instanceof RegExp?s.push(i):typeof i=="string"&&i.length>0?s.push(new RegExp(`^${i.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)}$`)):o.warn(`Ignoring wrong entry type #${r} in '${t}' option: ${JSON.stringify(i)}`),s),[]),"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=>{const t=new Map,o=e.options?.rollup?.resolveExternals??{},s=new Set(yt([...e.options?.externals??[]],"include",e.logger)),i=new Set(yt([...o.exclude??[]],"exclude",e.logger)),r={...o.deps?e.pkg.dependencies??{}:void 0,...o.devDeps?e.pkg.devDependencies??{}:void 0,...o.peerDeps?e.pkg.peerDependencies??{}:void 0,...o.optDeps?e.pkg.optionalDependencies??{}:void 0},n=Object.keys(r);if(n.length>0&&s.add(new RegExp(`^(?:${n.join("|")})(?:/.+)?$`)),e.pkg?.peerDependenciesMeta)for(const[p,f]of Object.entries(e.pkg.peerDependenciesMeta))f&&typeof f=="object"&&"optional"in f&&f.optional&&s.add(new RegExp(`^${p}(?:/.+)?$`));const l=ue(p=>[...s].some(f=>f.test(p)),"isIncluded"),d=ue(p=>[...i].some(f=>f.test(p)),"isExcluded");let a=[];e.tsconfig&&(a=Object.entries(e.tsconfig.config.compilerOptions?.paths??{}).map(([p])=>p.endsWith("*")?new RegExp(`^${p.replace("*","(.*)")}$`):new RegExp(`^${p}$`)));const c=Re(e.pkg,e.options);return{name:"packem:resolve-externals",options:ue(p=>{p.external=(f,u)=>{if(t.has(f))return t.get(f);let h;Object.keys(c).length>0&&(h=rn(f,c),h===f&&(h=void 0));const y=h&&ut(h)?.name||ut(f)?.name||Bo(f);y&&!y.startsWith(".")&&!ke(y)&&(e.usedDependencies.add(y),(!u||!u.includes("/node_modules/"))&&!Object.keys(e.pkg.dependencies??{}).includes(y)&&!Object.keys(e.pkg.devDependencies??{}).includes(y)&&!Object.keys(e.pkg.peerDependencies??{}).includes(y)&&!Object.keys(e.pkg.optionalDependencies??{}).includes(y)&&e.options.validation&&e.options.validation.dependencies!==!1&&e.options.validation.dependencies.hoisted!==!1&&!e.options.validation.dependencies.hoisted?.exclude.includes(y)&&e.hoistedDependencies.add(y));for(const g of[f,h].filter(Boolean)){if(/^(?:\0|\.{1,2}\/)/.test(g)||Ce(g)||new RegExp(String.raw`${e.options?.sourceDir}[/.*|\.*]`).test(g)||e.pkg.name&&g.startsWith(e.pkg.name))return t.set(g,!1),!1;if(ke(g)||vt.has(g)){let m=o.builtins;return m===void 0&&u&&(m=l(u)&&!d(u)),t.set(g,m),m}if(g[0]==="#"&&!g.startsWith("#/"))return t.set(g,!1),!1;if(a.length>0){for(const m of a)if(m.test(g))return t.set(g,!1),!1}if(l(g)&&!d(g))return t.set(g,!0),!0}return e.implicitDependencies.add(f),Bi(f,e.logger),!1}},"options"),resolveId:{filter:{id:ue(p=>!(p.startsWith("\0")||p.startsWith("./")||p.startsWith("../")||Ce(p)),"id")},async handler(p,f,{isEntry:u}){if(!u){if(p[0]==="#"&&!p.startsWith("#/")&&e.pkg.imports)return f&&!fo(f,e.options.rootDir)?{external:!0,id:p}:void 0;if(vt.has(p))return{external:!0,id:p,moduleSideEffects:!1};if(ke(p)){const h=p.replace(/^node:/,"");let y=h;return(o.builtinsPrefix==="add"||!ke(h))&&(y=`node:${h}`),{external:(o.builtins||l(p))&&!d(p),id:o.builtinsPrefix==="ignore"?p:y,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 s=await Kt(e);if(s.isFile())return e;if(s.isDirectory()){const i=W(e,"index.js");if(await de(i))return i;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 s=P("/");for(;o!==s&&o!==me(o);){const i=W(o,"node_modules",t,"package.json");if(await de(i))return i;o=me(o)}},"findPackageJson"),ho=Ie(e=>{const t=new Map,o=new Map,s=new Set;e.pkg.dependencies&&Object.keys(e.pkg.dependencies).forEach(r=>s.add(r)),e.pkg.peerDependencies&&Object.keys(e.pkg.peerDependencies).forEach(r=>s.add(r)),e.pkg.optionalDependencies&&Object.keys(e.pkg.optionalDependencies).forEach(r=>s.add(r));const i=Ie(r=>s.has(r),"isExternalPackage");return{name:"packem:resolve-implicit-externals",async transform(r,n){if(n.includes("/node_modules/")||n.startsWith("\0"))return;const l=/\bfrom\s+['"`]([^'"`]+)['"`]/g,d=[];let a;for(;(a=l.exec(r))!==null;){const u=a[1];if(!u||!uo(u))continue;const[h,y]=Le(u);if(y&&h&&i(h)){const g=a.index+a[0].indexOf(u);d.push({importId:u,quoteEnd:g+u.length,quoteStart:g})}}if(d.length===0)return;const c=me(n),p=(await Promise.all(d.map(async u=>{const[h,y]=Le(u.importId);if(!y)return;const g=`${h}:${y}:${c}`,m=o.get(g);if(m!==void 0)return m?{...u,resolvedId:m}:void 0;const D=await Ui(c,h);if(!D){o.set(g,void 0);return}let w=t.get(D);if(w===void 0)try{w=Ut(D,{resolveCatalogs:!0}),t.set(D,w)}catch{t.set(D,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(D),I=W(M,y),J=await _i(I);if(!J){o.set(g,void 0);return}const b=ie(M,J),S=`${h}/${b}`;return o.set(g,S),{...u,resolvedId:S}}))).filter(u=>u!==void 0);if(p.length===0)return;const f=new Ln(r);for(const{quoteEnd:u,quoteStart:h,resolvedId:y}of p)f.overwrite(h,u,y),this.debug(`[resolve-implicit-externals] Rewriting ${r.slice(h,u)} -> ${y} in ${n}`);return{code:f.toString(),map:f.generateMap({hires:!0})}}}},"resolveImplicitExternalsPlugin");var Li=Object.defineProperty,X=$((e,t)=>Li(e,"name",{value:t,configurable:!0}),"n$2");const Fe=X(e=>!!e?.endsWith(".d"),"isDeclarationOnlyName"),wt=X((e,t)=>t?o=>{if(!Fe(o.name))return`${o.name}.${e()}`}:o=>{if(!Fe(o.name))return fe(o,e())},"createChunkFileNames"),$t=X((e,t)=>t?o=>{const s=Array.isArray(o.names)&&o.names[0]?o.names[0]:o.name;if(!Fe(s))return`${s??"[name]"}.${e(o)}`}:o=>{const s=Array.isArray(o.names)&&o.names[0]?o.names[0]:o.name;if(!Fe(s))return Ko(o,e(o))},"createEntryFileNames"),Vi=X((e,t)=>{let o=`node${Tt.node.split(".")[0]}`;if(t.pkg.engines?.node){const s=so(t.pkg.engines.node);s&&(o=`node${s.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 s=nt(t.options.rollup.esbuild.target);t.options.runtime==="node"?t.options.rollup.esbuild.target=[...new Set([o,...s])]:t.options.runtime==="browser"&&(t.options.rollup.esbuild.target=[...new Set([...Ee(t.options.browserTargets??[]),...s])])}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 s=nt(t.options.rollup.oxc.target);t.options.runtime==="node"?t.options.rollup.oxc.target=[...new Set([o,...s])]:t.options.runtime==="browser"&&(t.options.rollup.oxc.target=[...new Set([...Ee(t.options.browserTargets??[]),...s])])}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=X((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))}"
9
+ ${p?`export { default } from "${y}";`:""}`)}a&&(await pt(`${r}.${ee(e,"cjs")}`),await pt(`${r}.${ee(e,"esm")}`))}await e.hooks.callHook("rollup:done",e)},"createStub");var Ai=Object.defineProperty,Xe=$((e,t)=>Ai(e,"name",{value:t,configurable:!0}),"s$6");const Le=Xe(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=Xe(e=>{const t=e[0];return!(t==="."||t==="/"||t==="#"||Ce(e))},"isBareSpecifier"),fo=Xe((e,t=process.cwd())=>ie(t,e).split("/").includes("node_modules"),"isFromNodeModules");var Ri=Object.defineProperty,Ye=$((e,t)=>Ri(e,"name",{value:t,configurable:!0}),"d$6");const Qe="@types/",ht=Ye(e=>{if(e.startsWith("@")){const[t,o]=e.split("/");return`${t}/types/${o}`}return`${Qe}${e}`},"getAtTypesPackageName"),Wi=Ye(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=Ye((e,t)=>{const o=fn.realpathSync.native(process.cwd()),s=new Set,i=new Set(Object.keys(e.devDependencies||{}));for(const r of Ji){const n=e[r];if(n)for(const l of Object.keys(n))l.startsWith(Qe)?s.add(Wi(l)):s.add(l)}return{name:"externalize-dependencies",async resolveId(r,n,l){if(!uo(r))return null;const[d]=Le(r);if(s.has(d)){if(t?.forTypes){const a=ht(d);i.has(a)&&console.warn(`Recommendation: "${a}" is bundled (devDependencies) but "${d}" is externalized. Place "${a}" in dependencies/peerDependencies as well so users don't have missing types.`)}return{external:!0,id:r}}if(i.has(d)){const a=await this.resolve(r,n,{...l,skipSelf:!0});if(!a){const c=`Could not resolve "${r}" even though it's declared in package.json. Try re-installing node_modules.`;throw console.error(c),new Error(c)}if(t?.forTypes){const c=ht(d);s.has(c)&&console.warn(`Recommendation: "${c}" is externalized but "${d}" is bundled (devDependencies). This may cause type mismatches for consumers. Consider moving "${d}" to dependencies or "${c}" to devDependencies.`)}return a}n&&!fo(n,o)&&!t?.skipUnlistedWarnings&&console.warn(`"${d}" imported by "${n}" 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}),"d$5");const yt=ue((e,t,o)=>e.reduce((s,i,r)=>(i instanceof RegExp?s.push(i):typeof i=="string"&&i.length>0?s.push(new RegExp(`^${i.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)}$`)):o.warn(`Ignoring wrong entry type #${r} in '${t}' option: ${JSON.stringify(i)}`),s),[]),"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=>{const t=new Map,o=e.options?.rollup?.resolveExternals??{},s=new Set(yt([...e.options?.externals??[]],"include",e.logger)),i=new Set(yt([...o.exclude??[]],"exclude",e.logger)),r={...o.deps?e.pkg.dependencies??{}:void 0,...o.devDeps?e.pkg.devDependencies??{}:void 0,...o.peerDeps?e.pkg.peerDependencies??{}:void 0,...o.optDeps?e.pkg.optionalDependencies??{}:void 0},n=Object.keys(r);if(n.length>0&&s.add(new RegExp(`^(?:${n.join("|")})(?:/.+)?$`)),e.pkg?.peerDependenciesMeta)for(const[p,f]of Object.entries(e.pkg.peerDependenciesMeta))f&&typeof f=="object"&&"optional"in f&&f.optional&&s.add(new RegExp(`^${p}(?:/.+)?$`));const l=ue(p=>[...s].some(f=>f.test(p)),"isIncluded"),d=ue(p=>[...i].some(f=>f.test(p)),"isExcluded");let a=[];e.tsconfig&&(a=Object.entries(e.tsconfig.config.compilerOptions?.paths??{}).map(([p])=>p.endsWith("*")?new RegExp(`^${p.replace("*","(.*)")}$`):new RegExp(`^${p}$`)));const c=Re(e.pkg,e.options);return{name:"packem:resolve-externals",options:ue(p=>{p.external=(f,u)=>{if(t.has(f))return t.get(f);let h;Object.keys(c).length>0&&(h=rn(f,c),h===f&&(h=void 0));const y=h&&ut(h)?.name||ut(f)?.name||Bo(f);y&&!y.startsWith(".")&&!ke(y)&&(e.usedDependencies.add(y),(!u||!u.includes("/node_modules/"))&&!Object.keys(e.pkg.dependencies??{}).includes(y)&&!Object.keys(e.pkg.devDependencies??{}).includes(y)&&!Object.keys(e.pkg.peerDependencies??{}).includes(y)&&!Object.keys(e.pkg.optionalDependencies??{}).includes(y)&&e.options.validation&&e.options.validation.dependencies!==!1&&e.options.validation.dependencies.hoisted!==!1&&!e.options.validation.dependencies.hoisted?.exclude.includes(y)&&e.hoistedDependencies.add(y));for(const g of[f,h].filter(Boolean)){if(/^(?:\0|\.{1,2}\/)/.test(g)||Ce(g)||new RegExp(String.raw`${e.options?.sourceDir}[/.*|\.*]`).test(g)||e.pkg.name&&g.startsWith(e.pkg.name))return t.set(g,!1),!1;if(ke(g)||vt.has(g)){let m=o.builtins;return m===void 0&&u&&(m=l(u)&&!d(u)),t.set(g,m),m}if(g[0]==="#"&&!g.startsWith("#/"))return t.set(g,!1),!1;if(a.length>0){for(const m of a)if(m.test(g))return t.set(g,!1),!1}if(l(g)&&!d(g))return t.set(g,!0),!0}return e.implicitDependencies.add(f),Bi(f,e.logger),!1}},"options"),resolveId:{filter:{id:ue(p=>!(p.startsWith("\0")||p.startsWith("./")||p.startsWith("../")||Ce(p)),"id")},async handler(p,f,{isEntry:u}){if(!u){if(p[0]==="#"&&!p.startsWith("#/")&&e.pkg.imports)return f&&!fo(f,e.options.rootDir)?{external:!0,id:p}:void 0;if(vt.has(p))return{external:!0,id:p,moduleSideEffects:!1};if(ke(p)){const h=p.replace(/^node:/,"");let y=h;return(o.builtinsPrefix==="add"||!ke(h))&&(y=`node:${h}`),{external:(o.builtins||l(p))&&!d(p),id:o.builtinsPrefix==="ignore"?p:y,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 s=await Kt(e);if(s.isFile())return e;if(s.isDirectory()){const i=W(e,"index.js");if(await de(i))return i;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 s=P("/");for(;o!==s&&o!==me(o);){const i=W(o,"node_modules",t,"package.json");if(await de(i))return i;o=me(o)}},"findPackageJson"),ho=Ie(e=>{const t=new Map,o=new Map,s=new Set;e.pkg.dependencies&&Object.keys(e.pkg.dependencies).forEach(r=>s.add(r)),e.pkg.peerDependencies&&Object.keys(e.pkg.peerDependencies).forEach(r=>s.add(r)),e.pkg.optionalDependencies&&Object.keys(e.pkg.optionalDependencies).forEach(r=>s.add(r));const i=Ie(r=>s.has(r),"isExternalPackage");return{name:"packem:resolve-implicit-externals",async transform(r,n){if(n.includes("/node_modules/")||n.startsWith("\0"))return;const l=/\bfrom\s+['"`]([^'"`]+)['"`]/g,d=[];let a;for(;(a=l.exec(r))!==null;){const u=a[1];if(!u||!uo(u))continue;const[h,y]=Le(u);if(y&&h&&i(h)){const g=a.index+a[0].indexOf(u);d.push({importId:u,quoteEnd:g+u.length,quoteStart:g})}}if(d.length===0)return;const c=me(n),p=(await Promise.all(d.map(async u=>{const[h,y]=Le(u.importId);if(!y)return;const g=`${h}:${y}:${c}`,m=o.get(g);if(m!==void 0)return m?{...u,resolvedId:m}:void 0;const D=await Ui(c,h);if(!D){o.set(g,void 0);return}let w=t.get(D);if(w===void 0)try{w=Ut(D,{resolveCatalogs:!0}),t.set(D,w)}catch{t.set(D,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(D),I=W(M,y),J=await _i(I);if(!J){o.set(g,void 0);return}const b=ie(M,J),S=`${h}/${b}`;return o.set(g,S),{...u,resolvedId:S}}))).filter(u=>u!==void 0);if(p.length===0)return;const f=new Ln(r);for(const{quoteEnd:u,quoteStart:h,resolvedId:y}of p)f.overwrite(h,u,y),this.debug(`[resolve-implicit-externals] Rewriting ${r.slice(h,u)} -> ${y} in ${n}`);return{code:f.toString(),map:f.generateMap({hires:!0})}}}},"resolveImplicitExternalsPlugin");var Li=Object.defineProperty,X=$((e,t)=>Li(e,"name",{value:t,configurable:!0}),"n$2");const Fe=X(e=>!!e?.endsWith(".d"),"isDeclarationOnlyName"),wt=X((e,t)=>t?o=>{if(!Fe(o.name))return`${o.name}.${e()}`}:o=>{if(!Fe(o.name))return fe(o,e())},"createChunkFileNames"),$t=X((e,t)=>t?o=>{const{name:s}=o;if(!Fe(s))return`${s??"[name]"}.${e(o)}`}:o=>{const{name:s}=o;if(!Fe(s))return Ko(o,e(o))},"createEntryFileNames"),Vi=X((e,t)=>{let o=`node${Tt.node.split(".")[0]}`;if(t.pkg.engines?.node){const s=so(t.pkg.engines.node);s&&(o=`node${s.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 s=nt(t.options.rollup.esbuild.target);t.options.runtime==="node"?t.options.rollup.esbuild.target=[...new Set([o,...s])]:t.options.runtime==="browser"&&(t.options.rollup.esbuild.target=[...new Set([...Ee(t.options.browserTargets??[]),...s])])}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 s=nt(t.options.rollup.oxc.target);t.options.runtime==="node"?t.options.rollup.oxc.target=[...new Set([o,...s])]:t.options.runtime==="browser"&&(t.options.rollup.oxc.target=[...new Set([...Ee(t.options.browserTargets??[]),...s])])}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=X((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
10
  Is the module installed? Note:
11
11
  ↳ to inline a module into your bundle, install it to "devDependencies".
12
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=X((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:X((o,s)=>{let i=s.message;if(s.stack&&(i=`${i}
13
- ${s.stack}`),o==="warn"&&s.plugin==="node-resolve"&&i.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(i);switch(o){case"info":{e.logger.info({message:i,prefix:t+(s.plugin?`:plugin:${s.plugin}`:"")});return}case"warn":{e.logger.warn({message:i,prefix:t+(s.plugin?`:plugin:${s.plugin}`:"")});return}case"debug":e.logger.debug({message:i,prefix:t+(s.plugin?`:plugin:${s.plugin}`:"")})}},"onLog"),onwarn(o,s){yo(o,e)||o.code||s(o)},preserveEntrySignatures:"strict",treeshake:{moduleSideEffects:!0,preset:"smallest"},watch:e.mode==="watch"?e.options.rollup.watch:!1}),"baseRollupOptions"),vo=X(async(e,t)=>{const o=Re(e.pkg,e.options);let s;e.options.rollup.resolve&&e.options.experimental?.oxcResolve!==!0?s=qt({...e.options.rollup.resolve}):e.options.experimental?.oxcResolve&&e.options.rollup.experimental?.resolve&&(s=Qt(e.options.rollup.experimental.resolve,e.options.rootDir,e.logger,e.tsconfig?.path));const i=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,l]=zt(e.options.rollup.plugins,"build"),d=e.tsconfig?.config.compilerOptions?.esModuleInterop;let a,c;return e.options.rollup.pure&&(a=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}),a.transform.order="pre",c=hn({constructors:["Proxy","WeakMap","WeakSet","WeakRef",...e.options.rollup.pure?.functions?.filter(p=>typeof p=="string"&&!p.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(p=>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,...i},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(p=>{if(e.options.unbundle||e.options.rollup.output?.preserveModules===!0)return"js";if(p.facadeModuleId?.endsWith(".mts")){const f=p.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,...i}].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 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:s,...e.options.rollup.alias,entries:o}),...r,s,e.options.rollup.nativeModules&&In(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(An(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(Rn({...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),c,a,L(e.options.transformer(Vi(e.options.transformerName,e)),t),e.options.rollup.preserveDirectives&&Fn({directiveRegex:/^['|"](use (\w+))['|"]$/,...e.options.rollup.preserveDirectives,logger:e.logger}),e.options.rollup.shebang&&ln(e.options.entries.filter(p=>p.executable).map(p=>p.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),...l,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=X(async e=>{const{dts:t}=require("rollup-plugin-dts");return t({compilerOptions:{...e.options.rollup.dts.compilerOptions,incremental:void 0,inlineSources:void 0,sourceMap:void 0,tsBuildInfoFile:void 0},respectExternal:e.options.rollup.dts.respectExternal,tsconfig:e.tsconfig?.path})},"createDtsPlugin"),qi=Wo(Hi),wo=X(async(e,t)=>{const o=Re(e.pkg,e.options),s=e.tsconfig?.config.compilerOptions;delete s?.lib;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 r=`dts-plugin:${process.pid}${e.tsconfig.path}`,[n,l,d]=zt(e.options.rollup.plugins,"dts");return{...bo(e,"dts"),onwarn(a,c){yo(a,e)||a.code!=="EMPTY_BUNDLE"&&c(a)},output:[e.options.emitCJS&&{chunkFileNames:X(a=>fe(a,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:X(a=>fe(a,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:X(a=>fe(a,"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,{forTypes:!0,skipUnlistedWarnings:!0}),e.options.rollup.json&&eo({...e.options.rollup.json}),{load(a){if(!/\.(?:js|cjs|mjs|jsx|ts|tsx|ctsx|mtsx|mts|json)$/.test(a))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),e.options.rollup.replace&&(()=>{const a={sourcemap:e.options.sourcemap,...e.options.rollup.replace,values:e.options.rollup.replace.values?{...e.options.rollup.replace.values}:{}};return Xt(a)})(),e.options.rollup.alias&&Yt({customResolver:i,...e.options.rollup.alias,entries:o}),...n,i,...l,await qi(r)(e),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(),...d,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 Gi=Object.defineProperty,$o=$((e,t)=>Gi(e,"name",{value:t,configurable:!0}),"d$4");const Ae="rollup-watch.json",xt=$o(({context:e,doOnSuccessCleanup:t,fileCache:o,mode:s,runBuilder:i,runOnsuccess:r,useCache:n,watcher:l})=>{const d=`watcher:${s}`;l.on("change",async(a,{event:c})=>{await t?.(),e.logger.info({message:`${K(ie(".",a))} was ${c}d`,prefix:d})}),l.on("restart",()=>{e.logger.info({message:"Rebuilding ...",prefix:d})}),l.on("event",async a=>{switch(a.code){case"BUNDLE_END":{await a.result.close(),n&&o.set(s==="bundle"?Ae:`dts-${Ae}`,a.result.cache),e.logger.raw(`
13
+ ${s.stack}`),o==="warn"&&s.plugin==="node-resolve"&&i.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(i);switch(o){case"info":{e.logger.info({message:i,prefix:t+(s.plugin?`:plugin:${s.plugin}`:"")});return}case"warn":{e.logger.warn({message:i,prefix:t+(s.plugin?`:plugin:${s.plugin}`:"")});return}case"debug":e.logger.debug({message:i,prefix:t+(s.plugin?`:plugin:${s.plugin}`:"")})}},"onLog"),onwarn(o,s){yo(o,e)||o.code||s(o)},preserveEntrySignatures:"strict",treeshake:{moduleSideEffects:!0,preset:"smallest"},watch:e.mode==="watch"?e.options.rollup.watch:!1}),"baseRollupOptions"),vo=X(async(e,t)=>{const o=Re(e.pkg,e.options);let s;e.options.rollup.resolve&&e.options.experimental?.oxcResolve!==!0?s=qt({...e.options.rollup.resolve}):e.options.experimental?.oxcResolve&&e.options.rollup.experimental?.resolve&&(s=Qt(e.options.rollup.experimental.resolve,e.options.rootDir,e.logger,e.tsconfig?.path));const i=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,l]=zt(e.options.rollup.plugins,"build"),d=e.tsconfig?.config.compilerOptions?.esModuleInterop;let a,c;return e.options.rollup.pure&&(a=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}),a.transform.order="pre",c=hn({constructors:["Proxy","WeakMap","WeakSet","WeakRef",...e.options.rollup.pure?.functions?.filter(p=>typeof p=="string"&&!p.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(p=>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,...i},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(p=>{if(e.options.unbundle||e.options.rollup.output?.preserveModules===!0)return"js";if(p.facadeModuleId?.endsWith(".mts")){const f=p.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,...i}].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 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:s,...e.options.rollup.alias,entries:o}),...r,s,e.options.rollup.nativeModules&&In(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(An(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(Rn({...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),c,a,L(e.options.transformer(Vi(e.options.transformerName,e)),t),e.options.rollup.preserveDirectives&&Fn({directiveRegex:/^['|"](use (\w+))['|"]$/,...e.options.rollup.preserveDirectives,logger:e.logger}),e.options.rollup.shebang&&ln(e.options.entries.filter(p=>p.executable).map(p=>p.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),...l,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=X(async e=>{const{dts:t}=await import("@visulima/rollup-plugin-dts");return t({compilerOptions:{...e.options.rollup.dts?.compilerOptions,incremental:void 0,inlineSources:void 0,sourceMap:void 0,tsBuildInfoFile:void 0},emitDtsOnly:!0,tsconfig:e.tsconfig?.path})},"createDtsPlugin"),qi=Wo(Hi),wo=X(async(e,t)=>{const o=Re(e.pkg,e.options),s=e.tsconfig?.config.compilerOptions;delete s?.lib;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 r=`dts-plugin:${process.pid}${e.tsconfig.path}`,[n,l,d]=zt(e.options.rollup.plugins,"dts");return{...bo(e,"dts"),onwarn(a,c){yo(a,e)||a.code!=="EMPTY_BUNDLE"&&c(a)},output:[e.options.emitCJS&&{chunkFileNames:X(a=>fe(a,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:X(a=>fe(a,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:X(a=>fe(a,"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,{forTypes:!0,skipUnlistedWarnings:!0}),e.options.rollup.json&&eo({...e.options.rollup.json}),{load(a){if(!/\.(?:js|cjs|mjs|jsx|ts|tsx|ctsx|mtsx|mts|json)$/.test(a))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),e.options.rollup.replace&&(()=>{const a={sourcemap:e.options.sourcemap,...e.options.rollup.replace,values:e.options.rollup.replace.values?{...e.options.rollup.replace.values}:{}};return Xt(a)})(),e.options.rollup.alias&&Yt({customResolver:i,...e.options.rollup.alias,entries:o}),...n,i,...l,...await qi(r)(e),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(),...d,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 Gi=Object.defineProperty,$o=$((e,t)=>Gi(e,"name",{value:t,configurable:!0}),"d$4");const Ae="rollup-watch.json",xt=$o(({context:e,doOnSuccessCleanup:t,fileCache:o,mode:s,runBuilder:i,runOnsuccess:r,useCache:n,watcher:l})=>{const d=`watcher:${s}`;l.on("change",async(a,{event:c})=>{await t?.(),e.logger.info({message:`${K(ie(".",a))} was ${c}d`,prefix:d})}),l.on("restart",()=>{e.logger.info({message:"Rebuilding ...",prefix:d})}),l.on("event",async a=>{switch(a.code){case"BUNDLE_END":{await a.result.close(),n&&o.set(s==="bundle"?Ae:`dts-${Ae}`,a.result.cache),e.logger.raw(`
14
14
  ⚡️ Build run in ${a.duration}ms
15
15
 
16
16
  `),await i?.(!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":{Rt(a.error),e.logger.error({context:[a.error],message:`Rebuild failed: ${a.error.message}`,prefix:d});break}}})},"watchHandler"),Xi=$o(async(e,t,o,s,i)=>{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 l=at(r);await e.hooks.callHook("rollup:watch",e,l);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 a="Starting watcher for entries:";for(const c of d)a+=se(`
17
17
  └─ ${ie(process.cwd(),c)}`);if(e.logger.info(a),xt({context:e,doOnSuccessCleanup:i,fileCache:t,mode:"bundle",runBuilder:o,runOnsuccess:s,useCache:n,watcher:l}),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 wo(e,t);n&&(c.cache=t.get(`dts-${Ae}`)),await e.hooks.callHook("rollup:dts:options",e,c);const p=at(c);await e.hooks.callHook("rollup:watch",e,p),xt({context:e,fileCache:t,mode:"types",useCache:n,watcher:p})}},"watch");var Yi=Object.defineProperty,Qi=$((e,t)=>Yi(e,"name",{value:t,configurable:!0}),"e$4");const Zi=Qi(async e=>{if(e.options.clean){const t=[];for(const o of new Set(e.options.entries.map(s=>s.outDir).filter(Boolean).toSorted()))o===e.options.rootDir||o===e.options.sourceDir||e.options.rootDir.startsWith(o.endsWith("/")?o:`${o}/`)||t.some(s=>o.startsWith(s))||(t.push(o),e.logger.info(`Cleaning dist directory: \`./${ie(e.options.rootDir,o)}\``),await To(o))}},"cleanDistributionDirectories");var es=Object.defineProperty,ts=$((e,t)=>es(e,"name",{value:t,configurable:!0}),"o$4");const os=ts(()=>Vn((e,t,o)=>{if(t==="hooks"&&typeof o=="object"&&o!==null&&!Array.isArray(o)){const s=typeof e[t]=="object"&&e[t]!==null&&!Array.isArray(e[t])?e[t]:{};return e[t]={...s,...o},!0}return!1}),"createDefuWithHooksMerger");var ns=Object.defineProperty,Se=$((e,t)=>ns(e,"name",{value:t,configurable:!0}),"t$1");const is=qn,ss=Se((e,t)=>{const{sideEffects:o}=t;let s;if(typeof o=="boolean")s=Se(()=>o,"hasSideEffects");else if(Array.isArray(o))if(o.length<=0)s=Se(()=>!1,"hasSideEffects");else{const i=o.map(r=>r.includes("/")?r:`**/${r}`);s=is(i,void 0,{resolve:e})}else s=Se(()=>{},"hasSideEffects");return s},"getPackageSideEffect");function rs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}$(rs,"getDefaultExportFromCjs");var We,jt;function as(){if(jt)return We;jt=1;var e=Object.defineProperty,t=$((d,a)=>e(d,"name",{value:a,configurable:!0}),"s"),o=Gn,s=o.spawn,i=o.exec;We=$(function(d,a,c){if(typeof a=="function"&&c===void 0&&(c=a,a=void 0),d=parseInt(d),Number.isNaN(d)){if(c)return c(new Error("pid must be a number"));throw new Error("pid must be a number")}var p={},f={};switch(p[d]=[],f[d]=1,process.platform){case"win32":i("taskkill /pid "+d+" /T /F",c);break;case"darwin":l(d,p,f,function(u){return s("pgrep",["-P",u])},function(){r(p,a,c)});break;default:l(d,p,f,function(u){return s("ps",["-o","pid","--no-headers","--ppid",u])},function(){r(p,a,c)});break}},"treeKill");function r(d,a,c){var p={};try{Object.keys(d).forEach(function(f){d[f].forEach(function(u){p[u]||(n(u,a),p[u]=1)}),p[f]||(n(f,a),p[f]=1)})}catch(f){if(c)return c(f);throw f}if(c)return c()}$(r,"killAll"),t(r,"killAll");function n(d,a){try{process.kill(parseInt(d,10),a)}catch(c){if(c.code!=="ESRCH")throw c}}$(n,"killPid"),t(n,"killPid");function l(d,a,c,p,f){var u=p(d),h="";u.stdout.on("data",function(m){var m=m.toString("ascii");h+=m});var y=t(function(g){if(delete c[d],g!=0){Object.keys(c).length==0&&f();return}h.match(/\d+/g).forEach(function(m){m=parseInt(m,10),a[d].push(m),a[m]=[],c[m]=1,l(m,a,c,p,f)})},"onClose");u.on("close",y)}return $(l,"buildProcessTree"),t(l,"buildProcessTree"),We}$(as,"requireTreeKill");var ls=as();const ps=rs(ls);var cs=Object.defineProperty,xo=$((e,t)=>cs(e,"name",{value:t,configurable:!0}),"l$4");const us=xo(e=>process.platform==="win32"&&"cmd"in e&&"code"in e&&typeof e.cmd=="string"&&e.cmd.startsWith("taskkill")&&e.code===128,"isTaskKillCmdProcessNotFoundError"),ds=xo(async({pid:e,signal:t})=>await new Promise((o,s)=>{if(!Number.isInteger(e)||e<=0){s(new Error("Invalid process ID"));return}ps(e,t,i=>{if(i&&!us(i)){s(i);return}o()})}),"killProcess");var fs=Object.defineProperty,ms=$((e,t)=>fs(e,"name",{value:t,configurable:!0}),"r$1");const kt=ms((e,t)=>{if(e.warnings.size>0&&(t&&e.logger.raw(`
18
18
  `),e.logger.warn(`Build is done with some warnings:
19
19
 
20
- ${[...e.warnings].map(o=>`- ${o}`).join(`
20
+ ${Array.from(e.warnings,o=>`- ${o}`).join(`
21
21
  `)}`),e.options.failOnWarn))throw new Error("Exiting with code (1). You can change this behavior by setting `failOnWarn: false`.")},"logBuildErrors");var gs=Object.defineProperty,hs=$((e,t)=>gs(e,"name",{value:t,configurable:!0}),"n$1");const ys=hs(async(e,t,o)=>{if(e&&await de(W(e,"keystore.json"))){const s=await Ft(W(e,"keystore.json"));let i=await Qo(e,{withFileTypes:!0});i=i.filter(n=>n.isDirectory());let r=o;for(const n of i)if(!s[n.name]){try{await _t(W(e,n.name),{force:!0,recursive:!0})}catch(l){t.error({message:`Failed to remove cache directory ${n.name}: ${l instanceof Error?l.message:String(l)}`,prefix:"file-cache"});continue}r&&t.raw(`
22
22
  `),t.info({message:`Removing ${n.name} file cache, the cache key is not used anymore.`,prefix:"file-cache"}),r=!1}}},"removeOldCacheFolders");var bs=Object.defineProperty,vs=$((e,t)=>bs(e,"name",{value:t,configurable:!0}),"a$6");const ws=vs(e=>{if(e.options.runtime!=="node"||e.options.emitCJS!==!0)return;const t=[],o=e.pkg.engines?.node,s=o?so(o):null;s&&t.push(s.version);const i=st(e.options.rollup.esbuild?.target??[]);for(const n of i)if(typeof n=="string"&&n.startsWith("node")){const l=Me(n.slice(4));l&&t.push(l.version)}const r=st(e.options.rollup.oxc?.target??[]);for(const n of r)if(typeof n=="string"&&n.startsWith("node")){const l=Me(n.slice(4));l&&t.push(l.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
23
  `))},"warnLegacyCJS");var $s=Object.defineProperty,xe=$((e,t)=>$s(e,"name",{value:t,configurable:!0}),"w");const xs=Qn(Xn.exec);function jo(e){const t=new Map;return(...o)=>{const s=o.toString();if(t.has(s))return t.get(s);const i=e(...o);return t.set(s,i),i}}$(jo,"ye$1");xe(jo,"memo");const js={bundler:"bundler",node10:"node10","node16-cjs":"node16 (from CJS)","node16-esm":"node16 (from ESM)"},ks={"":"",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},Es={esmOnly:["node10","node16-cjs"],node16:["node10"],strict:[]},Ss=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"),Ds=xe(e=>{const t=e.split(`
24
- `);let o="[";for(const s of t)s&&(o+=`${s},`);return o[o.length-1]===","&&(o=o.slice(0,-1)),o+="]",o},"fixYarnStdout"),Os=xe(async(e,t)=>{if(!e.options?.validation)return;const o=e.options.validation;if(!o.attw)return;const{packageJson:s}=Ge(e.options.rootDir);if(e.logger.log(s),e.pkg=s,t&&e.logger.raw(`
24
+ `);let o="[";for(const s of t)s&&(o+=`${s},`);return o.at(-1)===","&&(o=o.slice(0,-1)),o+="]",o},"fixYarnStdout"),Os=xe(async(e,t)=>{if(!e.options?.validation)return;const o=e.options.validation;if(!o.attw)return;const{packageJson:s}=Ge(e.options.rootDir);if(e.logger.log(s),e.pkg=s,t&&e.logger.raw(`
25
25
  `),!e.pkg){e.logger.warn({message:"attw is enabled but package.json is not found",prefix:"attw"});return}await Ro(e.pkg,["@arethetypeswrong/core","package-manager-detector"],"devDependencies",{logger:{warn:xe(w=>{e.logger.warn({message:w,prefix:"attw"})},"warn")}});let{level:i="warn",pm:r="auto",profile:n="strict",...l}=o.attw===!0?{}:o.attw;const d=performance.now();e.logger.debug({message:"Running attw check",prefix:"attw"});const a=await Zo(W(Yn(),"packem-attw-"));let c;try{c=await import("@arethetypeswrong/core")}catch{e.logger.error({message:`ATTW check requires ${Pe`@arethetypeswrong/core`} to be installed.`,prefix:"attw"});return}let p;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");p=M.name}break}case"bun":throw new Error("Bun does not support --json on the pack command");case"pnpm":{p="pnpm";break}case"yarn":{p="yarn";break}default:p="npm"}const{allResolutionKinds:f,getResolutionOption:u,groupProblemsByKind:h}=await import("@arethetypeswrong/core/utils"),{filterProblems:y,problemAffectsEntrypoint:g,problemAffectsResolutionKind:m,problemKindInfo:D}=await import("@arethetypeswrong/core/problems");try{let w=`--pack-destination ${a}`;p==="yarn"?w=`--out "${W(a,"package.tgz")}"`:p==="bun"&&(w=` --destination "${a}"`);let M=" --ignore-scripts";p==="yarn"?M="":p==="pnpm"&&(M=" --config.ignore-scripts=true");let{stdout:I}=await xs(`${p} pack --json ${w}${M}`,{cwd:e.options.rootDir,encoding:"utf8"});I=I.trim(),p==="pnpm"?I=Ss(I):p==="yarn"&&(I=Ds(I));const J=JSON.parse(I);if(!J?.filename)throw new Error(`Invalid npm pack output format: ${I}`);const b=J.filename,S=await en(b),N=c.createPackageFromTarballData(new Uint8Array(S)),v=await c.checkPackage(N,l),E=Es[n];if(v.types!==!1&&v.problems.length>0){const F=f.filter(j=>!E.includes(j)),H=f.filter(j=>E.includes(j)),V=[...F,...H],_=Object.keys(v.entrypoints),ge=_.map(j=>`"${j==="."?v.packageName:`${v.packageName}/${j.slice(2)}`}"`),z=_.map((j,O)=>{const x=v.problems.some(T=>g(T,j,v))?"redBright":"greenBright";return Q[x](ge[O])}),ae=jo((j,O)=>{const x=E.includes(O)?"(ignored) ":"",T=h(y(v.problems,v,{entrypoint:j,resolutionKind:O})),B=v.entrypoints[j].resolutions[O],{resolution:G}=B,U=Object.keys(T);if(U.length>0)return U.map(Ze=>x+Et[Ze](D[Ze].shortDescription)).join(`
26
26
  `);const he="OK (JSON)",Do=B.isWildcard?"(wildcard)":`OK ${ks[v.programInfo[u(O)].moduleKinds?.[G?.fileName??""]?.detectedKind||""]}`;return x+(G?.isJson?he:Do)}),Y=Zn({style:{border:ei}});Y.setHeaders(["",...V.map(j=>js[j])]),z.forEach((j,O)=>{const[x,T,B,G]=V.map(U=>_.map(he=>ae(he,U)));Y.addRow([j,x[O]??null,T[O]??null,B[O]??null,G[O]??null])});const A=h(v.problems),C=Object.entries(A).map(([j,O])=>{const x=D[j],T=O.some(G=>F.some(U=>m(G,U,v))),B=`${`${x.description}${x.details?` Use \`-f json\` to see ${x.details}.`:""}`} ${x.docsUrl}`;return`${T?"":"(ignored per resolution) "}${Et[j](B)}`}),R=`Are the types wrong problems found:
27
27
 
@@ -29,10 +29,10 @@ ${Y.toString()}
29
29
 
30
30
  ${C.join(`
31
31
 
32
- `)}`;if(i==="error"){e.logger.error({message:R,prefix:"attw"}),be.exitCode=1;return}e.logger.warn({message:R,prefix:"attw"})}else e.logger.success({message:It(`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(a,{force:!0,recursive:!0}).catch(()=>{})}},"attw");var Ps=Object.defineProperty,ko=$((e,t)=>Ps(e,"name",{value:t,configurable:!0}),"n");const St=ko(e=>[...e].map(t=>we(t)).join(", "),"joinWarnings"),Ms=ko(e=>{if(e.hoistedDependencies.size>0){const o=`These dependencies are shamefully hoisted: ${St(e.hoistedDependencies)}`;k(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)}`;k(e,o)}},"validateDependencies");var Ns=Object.defineProperty,Cs=$((e,t)=>Ns(e,"name",{value:t,configurable:!0}),"o$2");const Dt=">=18.0.0",Ts=Cs(e=>{const t=e.options.validation,{pkg:o}=e;if(t.packageJson?.engines===!1)return;const s=process.version,i=o.engines?.node;if(!i){k(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(i)){k(e,`Invalid Node.js version range "${i}" in engines.node field. Please use a valid semver range like "${Dt}".`);return}if(!ro(s,i))throw new Error(`Node.js version mismatch: Current version ${s} does not satisfy the required range "${i}" 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(s=>Fs(s.toLowerCase(),o))},"findAlternatives");var Rs=Object.defineProperty,Ot=$((e,t)=>Rs(e,"name",{value:t,configurable:!0}),"o$1");const Ws=Ot(e=>{const{options:t}=e,o=t.validation;if(o.packageJson?.exports===!1)return;let s=[];t.dtsOnly||o.packageJson?.bin===!1?s=[""]:typeof e.pkg.bin=="string"?s=[e.pkg.bin]:typeof e.pkg.bin=="object"&&(s=Object.values(e.pkg.bin));const i=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:"",...s,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,i,t.declaration,[],t.ignoreExportKeys).filter(a=>!a.ignored).map(a=>t.dtsOnly?a.subKey==="types"?a.file:void 0:a.file):[]].filter(Boolean).map(a=>a&&P(t.rootDir,a.replace(/\/[^*/]*\*[^\n\r/\u2028\u2029]*(?:[\n\r\u2028\u2029][^*/]*\*[^\n\r/\u2028\u2029]*)*(?:\/.*)?$/,"")))),n=[];for(const a of r)a&&!a.includes("*")&&!Vt(a)&&n.push(a.replace(`${t.rootDir}/`,""));const l=Ot(a=>ie(t.rootDir,P(t.outDir,a)),"rPath"),d=e.buildEntries.filter(a=>!a.chunk).map(a=>l(a.path));if(n.length>0){let a="Potential missing or wrong package.json files:";for(const c of n){const p=As(c,d);a+=`
32
+ `)}`;if(i==="error"){e.logger.error({message:R,prefix:"attw"}),be.exitCode=1;return}e.logger.warn({message:R,prefix:"attw"})}else e.logger.success({message:It(`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(a,{force:!0,recursive:!0}).catch(()=>{})}},"attw");var Ps=Object.defineProperty,ko=$((e,t)=>Ps(e,"name",{value:t,configurable:!0}),"n");const St=ko(e=>Array.from(e,t=>we(t)).join(", "),"joinWarnings"),Ms=ko(e=>{if(e.hoistedDependencies.size>0){const o=`These dependencies are shamefully hoisted: ${St(e.hoistedDependencies)}`;k(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)}`;k(e,o)}},"validateDependencies");var Ns=Object.defineProperty,Cs=$((e,t)=>Ns(e,"name",{value:t,configurable:!0}),"o$2");const Dt=">=18.0.0",Ts=Cs(e=>{const t=e.options.validation,{pkg:o}=e;if(t.packageJson?.engines===!1)return;const s=process.version,i=o.engines?.node;if(!i){k(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(i)){k(e,`Invalid Node.js version range "${i}" in engines.node field. Please use a valid semver range like "${Dt}".`);return}if(!ro(s,i))throw new Error(`Node.js version mismatch: Current version ${s} does not satisfy the required range "${i}" 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(s=>Fs(s.toLowerCase(),o))},"findAlternatives");var Rs=Object.defineProperty,Ot=$((e,t)=>Rs(e,"name",{value:t,configurable:!0}),"o$1");const Ws=Ot(e=>{const{options:t}=e,o=t.validation;if(o.packageJson?.exports===!1)return;let s=[];t.dtsOnly||o.packageJson?.bin===!1?s=[""]:typeof e.pkg.bin=="string"?s=[e.pkg.bin]:typeof e.pkg.bin=="object"&&(s=Object.values(e.pkg.bin));const i=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:"",...s,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,i,t.declaration,[],t.ignoreExportKeys).filter(a=>!a.ignored).map(a=>t.dtsOnly?a.subKey==="types"?a.file:void 0:a.file):[]].filter(Boolean).map(a=>a&&P(t.rootDir,a.replace(/\/[^*/]*\*[^\n\r/\u2028\u2029]*(?:[\n\r\u2028\u2029][^*/]*\*[^\n\r/\u2028\u2029]*)*(?:\/.*)?$/,"")))),n=[];for(const a of r)a&&!a.includes("*")&&!Vt(a)&&n.push(a.replace(`${t.rootDir}/`,""));const l=Ot(a=>ie(t.rootDir,P(t.outDir,a)),"rPath"),d=e.buildEntries.filter(a=>!a.chunk).map(a=>l(a.path));if(n.length>0){let a="Potential missing or wrong package.json files:";for(const c of n){const p=As(c,d);a+=`
33
33
  - ${K(c)}${p.length>0?Mo` (did you mean ${p.map(f=>`"${f}"`).join(", ")}?)`:""}`}k(e,a)}},"validatePackageEntries");var Js=Object.defineProperty,Ne=$((e,t)=>Js(e,"name",{value:t,configurable:!0}),"y$2");const zs=Ne((e,t)=>{const o=e.options.validation;if(o.packageJson?.exports===!1)return;const s=new Set(["default","import","module-sync","node","node-addons","require"]),i=new Set(["browser","bun","deno","development","edge-light","electron","production","react-native","react-server","types","workerd"]),r=o.packageJson?.extraConditions||[],n=new Set(r),l=new Set([...i,...n,...s]),d=Ne((a,c)=>{if(a!==null){if(typeof a=="string"){if(!a.startsWith("./")){k(e,`Invalid exports path "${a}" at ${c}. Export paths must start with "./"`);return}if(a.includes("../")){k(e,`Invalid exports path "${a}" at ${c}. Export paths should not contain "../" for security reasons`);return}const p=o.packageJson?.allowedExportExtensions||[],f=[...zo,...p];if(Be(a)){try{const u=a.startsWith("./")?P(e.options.rootDir,a.slice(2)):P(e.options.rootDir,a),h=Lt([u],{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&&k(e,`Export path "${a}" at ${c} matches files with invalid extensions: ${y.join(", ")}. Valid extensions are: ${f.join(", ")}`)}catch(u){k(e,`Could not validate glob pattern "${a}" at ${c}: ${u instanceof Error?u.message:"Unknown error"}`)}return}f.some(u=>a.endsWith(u))||k(e,`Export path "${a}" at ${c} should have a valid file extension (${f.join(", ")})`);return}if(Array.isArray(a)){if(a.length===0){k(e,`Empty fallback array at ${c}. Fallback arrays should contain at least one entry`);return}a.forEach((p,f)=>{d(p,`${c}[${f}]`)});return}if(typeof a=="object"&&a!==null){const p=Object.keys(a);if(p.length===0){k(e,`Empty conditions object at ${c}. Conditional exports should define at least one condition`);return}const f=p.filter(h=>!l.has(h));if(f.length>0){const h=r.length>0,y=[...s].join(", ");h?k(e,`Unknown export conditions [${f.join(", ")}] at ${c}. Consider using standard conditions (${y}) or add custom conditions to 'validation.packageJson.extraConditions' in your packem config.`):k(e,`Unknown export conditions [${f.join(", ")}] at ${c}. Consider using standard conditions (${y}) or add custom conditions using the 'extraConditions' option in your validation config.`)}const u=p.filter(h=>s.has(h));if(u.length>1){const h=["node-addons","node","import","require","module-sync","default"],y=u,g=h.filter(m=>y.includes(m));JSON.stringify(y)!==JSON.stringify(g)&&k(e,`Incorrect condition order at ${c}. Standard conditions should be ordered: ${g.join(" > ")}`)}p.includes("import")&&p.includes("require"),p.includes("development")&&p.includes("production")&&k(e,`Conflicting conditions "development" and "production" at ${c}. These conditions are mutually exclusive`),p.forEach(h=>{d(a[h],`${c}.${h}`)});return}k(e,`Invalid exports value type at ${c}. Expected string, array, object, or null`)}},"validateExportsValue");Ne(a=>{if(typeof a=="string"){d(a,"exports");return}if(Array.isArray(a)){a.forEach((c,p)=>{d(c,`exports[${p}]`)});return}if(typeof a=="object"&&a!==null){const c=Object.keys(a);if(c.length===0){k(e,"Empty exports object. Define at least one export entry");return}const p=c.filter(u=>u.startsWith(".")),f=c.filter(u=>!u.startsWith("."));if(p.length>0&&f.length>0){k(e,'Mixed subpaths and conditions in exports object. Use either subpaths (keys starting with ".") or conditions, not both');return}p.length>0?(c.includes(".")||k(e,'Missing main export ".". Subpaths exports should include a main export entry'),c.forEach(u=>{u.startsWith("./")||u==="."||u.startsWith(".")&&!u.startsWith("./")&&k(e,`Invalid subpath "${u}". Subpaths should start with "./" or be exactly "."`),u.includes("*")&&(u.match(/\*/g)||[]).length>1&&k(e,`Invalid subpath pattern "${u}". Only one "*" wildcard is allowed per subpath`),d(a[u],`exports["${u}"]`)})):d(a,"exports");return}k(e,"Invalid exports field type. Expected string, array, or object")},"validateExportsObject")(t)},"validateExports"),Bs=Ne(e=>{const t=e.options.validation,{pkg:o}=e,s=ee(e,"cjs"),i=ee(e,"esm");o.name===void 0&&t.packageJson?.name!==!1&&k(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?k(e,"The 'files' field in your package.json is empty. Please specify the files to be included in the package."):o.files.some(l=>l.includes(e.options.outDir))||k(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&&k(e,"The 'main' field is missing in your package.json. This field should point to your main entry file."),o.main?.endsWith(`.${i}`)&&k(e,`The 'main' field in your package.json should not use a '.${i}' extension for CommonJS modules.`)),t.packageJson?.module!==!1&&(o.module===void 0&&e.options.emitESM&&k(e,"The 'module' field is missing in your package.json, but you are emitting ES modules."),o.module&&o.main&&o.module===o.main&&k(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(`.${s}`)&&k(e,`The 'module' field in your package.json should not use a '.${s}' extension for ES modules.`))):n&&(o.exports===void 0&&!e.options.emitCJS?t.packageJson?.exports!==!1&&k(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&&k(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&&k(e,"The 'module' field is missing in your package.json. This field is necessary when emitting ES modules."),o.module?.endsWith(`.${s}`)&&k(e,`The 'module' field should not use a '.${s}' extension for ES modules.`),o.module&&o.main&&o.module===o.main&&k(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&&k(e,"The 'exports' field is missing in your package.json. This field is required for defining explicit exports."))),o.exports!==void 0&&zs(e,o.exports),t.packageJson?.bin!==!1){const l=r?i:s;if(s!==i){if(typeof o.bin=="string"&&o.bin.endsWith(`.${l}`))k(e,`The 'bin' field in your package.json should not use a .${l} extension for ${r?"CommonJS":"ES modules"} binaries.`);else if(typeof o.bin=="object")for(const[d,a]of Object.entries(o.bin))a&&a.endsWith(`.${l}`)&&k(e,`The 'bin.${d}' field in your package.json should not use a .${l} extension for ${r?"CommonJS":"ES modules"} binaries.`)}}if(e.options.declaration){let l=!0;o.type==="module"&&(l=!!o.main?.endsWith(`.${s}`)),o.types===void 0&&o.typings===void 0&&l&&t.packageJson?.types!==!1&&k(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")&&l&&t.packageJson?.typesVersions!==!1&&(o.typesVersions===void 0||Object.keys(o.typesVersions).length===0)&&k(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&&k(e,"The 'sideEffects' field is missing in your package.json. Consider adding this field to your package.json.")},"validatePackageFields");var Ks=Object.defineProperty,_s=$((e,t)=>Ks(e,"name",{value:t,configurable:!0}),"o");const Us=_s(e=>{const{packageJson:t}=Ge(e.options.rootDir);e.pkg=t,Ms(e),Ts(e),Bs(e),Ws(e)},"validator");var Ls=Object.defineProperty,Vs=$((e,t)=>Ls(e,"name",{value:t,configurable:!0}),"a$2");const Hs=/^[^a-z_@#~]|[^\w/@#~-]|@\/|#\/|~\//i,qs=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=Vs(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(Hs.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(qs.has(t))throw new Error(`Alias name "${t}" is a reserved keyword and cannot be used.`);const s=P(o);if(!le(s))throw new Error(`Target path "${s}" for alias "${t}" does not exist.`)}},"validateAliasEntries");var Gs=Object.defineProperty,Xs=$((e,t)=>Gs(e,"name",{value:t,configurable:!0}),"p$2");const Ys=Xs((e,t)=>{const o=e.options.validation,{allowFail:s=!1,limit:i,limits:r={}}=o.bundleLimit??{};for(const[n,l]of Object.entries(r)){const d=typeof l=="string"?tt(l):l;if(!Number.isFinite(d)||d<=0){e.logger.debug({message:`Invalid limit for ${n}: ${l}`,prefix:"Validation: File Size"});continue}const a=e.buildEntries.find(c=>{const p=n.replace(new RegExp(`^.?/?${e.options.outDir}/?`),"");return c.path.endsWith(p)||oi(n)(c.path)});if(!a?.size?.bytes){e.logger.debug({message:a?`Entry file has no size information: ${n}.`:`Entry file not found: ${n}, please check your configuration.`,prefix:"Validation: File Size"});continue}if(a.size.bytes>d){const c=`File size exceeds the limit: ${W(e.options.outDir,a.path)} (${q(a.size.bytes)} / ${q(d,{decimals:2})})`;s?(t&&e.logger.raw(`
34
34
  `),e.logger.warn({message:c,prefix:"validation:file-size"})):k(e,c)}}if(i){const n=e.buildEntries.reduce((d,a)=>{const c=a.size?.bytes;return d+(typeof c=="number"?c:0)},0),l=typeof i=="string"?tt(i):i;if(!Number.isFinite(l)||l<=0){e.logger.debug({message:`Invalid total limit: ${i}`,prefix:"Validation: File Size"});return}if(n>l){const d=`Total file size exceeds the limit: ${q(n)} / ${q(l,{decimals:2})}`;s?(t&&Object.keys(r).length===0&&e.logger.raw(`
35
- `),e.logger.warn({message:d,prefix:"validation:file-size"})):k(e,d)}}},"validateBundleSize");var Qs=Object.defineProperty,Mt=$((e,t)=>Qs(e,"name",{value:t,configurable:!0}),"t");const Zs=Mt(async(e,t)=>{if(e.length===0)return[];const o=t<=0||!Number.isFinite(t)?1/0:t,s=Array.from({length:e.length});let i=0;const r=Mt(async()=>{for(;i<e.length;){const l=i;i+=1;const d=e[l];d&&(s[l]=await d())}},"runNext"),n=Array.from({length:Math.min(o,e.length)},()=>r());return await Promise.all(n),s},"runWithConcurrency");var er=Object.defineProperty,tr=$((e,t)=>er(e,"name",{value:t,configurable:!0}),"c$2");const Nt="rollup-build.json",Je="dependencies-cache.json",or=tr(async(e,t,o)=>{const s=await vo(e,t);if(await e.hooks.callHook("rollup:options",e,s),Object.keys(s.input).length===0)return;const i=e.options.validation&&e.options.validation.dependencies!==!1&&!!t.get(Je,o),r=!e.options.validation||e.options.validation.dependencies===!1||i;if(r&&(s.cache=t.get(Nt,o),i)){const d=t.get(Je,o);d&&(d.used?.forEach(a=>e.usedDependencies.add(a)),d.hoisted?.forEach(a=>e.hoistedDependencies.add(a)))}const n=await Bt(s);r&&t.set(Nt,n.cache,o),e.options.validation&&e.options.validation.dependencies!==!1&&t.set(Je,{hoisted:[...e.hoistedDependencies],used:[...e.usedDependencies]},o),await e.hooks.callHook("rollup:build",e,n);const l=new Map;for(const d of s.output){const{output:a}=await n.write(d),c=a.filter(f=>f.type==="chunk"&&f.isEntry);for(const f of c)e.buildEntries.push({chunks:f.imports.filter(u=>c.find(h=>h.fileName===u)),dynamicImports:f.dynamicImports,exports:f.exports,modules:Object.entries(f.modules).map(([u,h])=>({bytes:h.renderedLength,id:u})),path:f.fileName,size:{bytes:Buffer.byteLength(f.code,"utf8")},type:"entry"});const p=a.filter(f=>f.type==="asset");for(const f of p)l.has(f.fileName)||l.set(f.fileName,{path:f.fileName,size:{bytes:Buffer.byteLength(f.source,"utf8")},type:"asset"})}e.buildEntries.push(...l.values())},"build");var nr=Object.defineProperty,De=$((e,t)=>nr(e,"name",{value:t,configurable:!0}),"e");const Ct="rollup-dts.json",ir=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 s=await wo(e,t);if(await e.hooks.callHook("rollup:dts:options",e,s),Object.keys(s.input).length===0)return;s.cache=t.get(Ct,o);const i=await Bt(s);if(t.set(Ct,i.cache,o),await e.hooks.callHook("rollup:dts:build",e,i),e.logger.info({message:"Building declaration files...",prefix:"dts"}),e.options.emitCJS){const r=ne(e,"cjs");await i.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 i.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 i.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 sr=Object.defineProperty,rr=$((e,t)=>sr(e,"name",{value:t,configurable:!0}),"a");const ar=rr(async e=>await new Promise((t,o)=>{let s=0;const i=Ht(e).pipe(ni({params:{[ii.BROTLI_PARAM_QUALITY]:11}}));i.on("error",o),i.on("data",r=>{s+=r.length}),i.on("end",()=>{t(s)})}),"brotliSize");var lr=Object.defineProperty,pr=$((e,t)=>lr(e,"name",{value:t,configurable:!0}),"K");const cr=pr((e,t,o,s)=>s!==void 0?e.reduce((i,r)=>{const n=String(r[t]??"undefined"),l=String(r[o]??"undefined"),d=String(r[s]??"undefined");return i[n]||(i[n]={}),i[n][l]||(i[n][l]={}),i[n][l][d]||(i[n][l][d]=[]),i[n][l][d].push(r),i},{}):e.reduce((i,r)=>{const n=String(r[t]??"undefined"),l=String(r[o]??"undefined");return i[n]||(i[n]={}),i[n][l]||(i[n][l]=[]),i[n][l].push(r),i},{}),"groupByKeys");var ur=Object.defineProperty,dr=$((e,t)=>ur(e,"name",{value:t,configurable:!0}),"i");const fr=dr(async e=>await new Promise((t,o)=>{let s=0;const i=Ht(e).pipe(si({level:9}));i.on("error",o),i.on("data",r=>{s+=r.length}),i.on("end",()=>{t(s)})}),"gzipSize");var mr=Object.defineProperty,oe=$((e,t)=>mr(e,"name",{value:t,configurable:!0}),"h");const gr=2,hr=oe((e,t)=>{const o=oe(n=>ie(t.options.rootDir,P(t.options.outDir,n)),"rPath");let s=!1;const i=[],r=t.buildEntries.filter(n=>n.type==="entry");if(r.length>0){e.raw(`Entries:
35
+ `),e.logger.warn({message:d,prefix:"validation:file-size"})):k(e,d)}}},"validateBundleSize");var Qs=Object.defineProperty,Mt=$((e,t)=>Qs(e,"name",{value:t,configurable:!0}),"t");const Zs=Mt(async(e,t)=>{if(e.length===0)return[];const o=t<=0||!Number.isFinite(t)?1/0:t,s=Array.from({length:e.length});let i=0;const r=Mt(async()=>{for(;i<e.length;){const l=i;i+=1;const d=e[l];d&&(s[l]=await d())}},"runNext"),n=Array.from({length:Math.min(o,e.length)}).fill(r());return await Promise.all(n),s},"runWithConcurrency");var er=Object.defineProperty,tr=$((e,t)=>er(e,"name",{value:t,configurable:!0}),"c$2");const Nt="rollup-build.json",Je="dependencies-cache.json",or=tr(async(e,t,o)=>{const s=await vo(e,t);if(await e.hooks.callHook("rollup:options",e,s),Object.keys(s.input).length===0)return;const i=e.options.validation&&e.options.validation.dependencies!==!1&&!!t.get(Je,o),r=!e.options.validation||e.options.validation.dependencies===!1||i;if(r&&(s.cache=t.get(Nt,o),i)){const d=t.get(Je,o);d&&(d.used?.forEach(a=>e.usedDependencies.add(a)),d.hoisted?.forEach(a=>e.hoistedDependencies.add(a)))}const n=await Bt(s);r&&t.set(Nt,n.cache,o),e.options.validation&&e.options.validation.dependencies!==!1&&t.set(Je,{hoisted:[...e.hoistedDependencies],used:[...e.usedDependencies]},o),await e.hooks.callHook("rollup:build",e,n);const l=new Map;for(const d of s.output){const{output:a}=await n.write(d),c=a.filter(f=>f.type==="chunk"&&f.isEntry);for(const f of c)e.buildEntries.push({chunks:f.imports.filter(u=>c.find(h=>h.fileName===u)),dynamicImports:f.dynamicImports,exports:f.exports,modules:Object.entries(f.modules).map(([u,h])=>({bytes:h.renderedLength,id:u})),path:f.fileName,size:{bytes:Buffer.byteLength(f.code,"utf8")},type:"entry"});const p=a.filter(f=>f.type==="asset");for(const f of p)l.has(f.fileName)||l.set(f.fileName,{path:f.fileName,size:{bytes:Buffer.byteLength(f.source,"utf8")},type:"asset"})}e.buildEntries.push(...l.values())},"build");var nr=Object.defineProperty,De=$((e,t)=>nr(e,"name",{value:t,configurable:!0}),"e");const Ct="rollup-dts.json",ir=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 s=await wo(e,t);if(await e.hooks.callHook("rollup:dts:options",e,s),Object.keys(s.input).length===0)return;s.cache=t.get(Ct,o);const i=await Bt(s);if(t.set(Ct,i.cache,o),await e.hooks.callHook("rollup:dts:build",e,i),e.logger.info({message:"Building declaration files...",prefix:"dts"}),e.options.emitCJS){const r=ne(e,"cjs");await i.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 i.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 i.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 sr=Object.defineProperty,rr=$((e,t)=>sr(e,"name",{value:t,configurable:!0}),"a");const ar=rr(async e=>await new Promise((t,o)=>{let s=0;const i=Ht(e).pipe(ni({params:{[ii.BROTLI_PARAM_QUALITY]:11}}));i.on("error",o),i.on("data",r=>{s+=r.length}),i.on("end",()=>{t(s)})}),"brotliSize");var lr=Object.defineProperty,pr=$((e,t)=>lr(e,"name",{value:t,configurable:!0}),"K");const cr=pr((e,t,o,s)=>s!==void 0?e.reduce((i,r)=>{const n=String(r[t]??"undefined"),l=String(r[o]??"undefined"),d=String(r[s]??"undefined");return i[n]||(i[n]={}),i[n][l]||(i[n][l]={}),i[n][l][d]||(i[n][l][d]=[]),i[n][l][d].push(r),i},{}):e.reduce((i,r)=>{const n=String(r[t]??"undefined"),l=String(r[o]??"undefined");return i[n]||(i[n]={}),i[n][l]||(i[n][l]=[]),i[n][l].push(r),i},{}),"groupByKeys");var ur=Object.defineProperty,dr=$((e,t)=>ur(e,"name",{value:t,configurable:!0}),"i");const fr=dr(async e=>await new Promise((t,o)=>{let s=0;const i=Ht(e).pipe(si({level:9}));i.on("error",o),i.on("data",r=>{s+=r.length}),i.on("end",()=>{t(s)})}),"gzipSize");var mr=Object.defineProperty,oe=$((e,t)=>mr(e,"name",{value:t,configurable:!0}),"h");const gr=2,hr=oe((e,t)=>{const o=oe(n=>ie(t.options.rootDir,P(t.options.outDir,n)),"rPath");let s=!1;const i=[],r=t.buildEntries.filter(n=>n.type==="entry");if(r.length>0){e.raw(`Entries:
36
36
  `);for(const n of r){let l=n.size?.bytes??0,d=0;for(const c of n.chunks??[]){const p=t.buildEntries.find(f=>f.path.endsWith(c))?.size?.bytes??0;l+=p,d+=p}let a=` ${Q(o(n.path))} (${[`total size: ${K(q(l,{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(a+=n.exports?.length?`
37
37
  exports: ${se(n.exports.join(", "))}`:"",n.chunks?.length&&(a+=`
38
38
  ${n.chunks.map(c=>{const p=t.buildEntries.find(f=>f.path===c)??{};return se(` └─ ${o(c)}${Q(p.bytes?` (${q(p?.bytes,{decimals:2})})`:"")}`)}).join(`
@@ -52,10 +52,10 @@ ${[g,m].map(D=>`${se(" └─ ")+Q(o(D.path))} (total size: ${K(q(D.size?.bytes
52
52
  └─ `)+Q(o(l.path))} (total size: ${K(q(l.size?.bytes??0,{decimals:2}))})`;n+=`
53
53
 
54
54
  `,e.raw(n)}return s&&e.raw("Σ Total dist size (byte size):",K(q(t.buildEntries.reduce((n,l)=>n+(l.size?.bytes??0),0),{decimals:2})),`
55
- `),s},"showSizeInformation"),yr=/\.d\.[mc]?ts$/,br=oe(e=>!!e?.endsWith(".d"),"isDeclarationOnlyEntry"),ze=oe(e=>e.filter(t=>!yr.test(t.input)),"filterDtsEntries"),vr=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"),wr=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"),$r=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,s,i,r)=>({...e,options:{...e.options,emitCJS:t,emitESM:o,entries:s,minify:i,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"),xr=oe(async(e,t)=>{const o=oe(l=>{const d=l.name??l.fileAlias;if(!d)return"default";const a=[".browser",".server",".development",".node",".workerd"];for(const c of a)if(d.includes(c))return c.slice(1);return"default"},"getEntryType"),s=e.options.entries.map(l=>({...l,environment:String(l.environment??"undefined"),runtime:String(l.runtime??"undefined"),type:o(l)})),i=cr(s,"environment","runtime","type"),r=new Set,n=new Set;for(const[l,d]of Object.entries(i))for(const[a,c]of Object.entries(d))for(const[,p]of Object.entries(c)){const f={...e,environment:l==="undefined"?void 0:l,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&&(l!=="undefined"||a!=="undefined")){const b=vr(l,a);b&&e.logger.info(b)}const u=a==="undefined"?void 0:a;f.options.runtime=u;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?wr(l,a):{};if(f.options.rollup.replace){f.options.rollup.replace.values===void 0&&(f.options.rollup.replace.values={});const b={...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?.values||h,g=$r(l,a);let m=f.options.minify??!1;l==="development"?m=!1:l==="production"&&(m=!0);const D=p.map(b=>{const{environment:S,runtime:N,...v}=b;return{...v,environment:S==="undefined"?void 0:S,runtime:N==="undefined"?void 0:N}}),w=[],M=[],I=[],J=[];for(const b of D){if(br(b.name)){b.declaration&&J.push(b);continue}b.cjs&&b.esm?w.push(b):b.cjs?I.push(b):b.esm?M.push(b):b.declaration&&J.push(b)}if(w.length>0){const b=Oe(f,!0,!0,ze(w),m,y);if(e.options.dtsOnly||r.add({context:b,fileCache:t,subDirectory:g}),e.options.declaration){const S=w.filter(N=>N.declaration);S.length>0&&n.add({context:{...b,options:{...b.options,entries:S}},fileCache:t,subDirectory:g})}}if(M.length>0){const b=Oe(f,!1,!0,ze(M),m,y);if(e.options.dtsOnly||r.add({context:b,fileCache:t,subDirectory:g}),e.options.declaration){const S=M.filter(N=>N.declaration);S.length>0&&n.add({context:{...b,options:{...b.options,entries:S}},fileCache:t,subDirectory:g})}}if(I.length>0){const b=Oe(f,!0,!1,ze(I),m,y);if(e.options.dtsOnly||r.add({context:b,fileCache:t,subDirectory:g}),e.options.declaration){const S=I.filter(N=>N.declaration);S.length>0&&n.add({context:{...b,options:{...b.options,entries:S}},fileCache:t,subDirectory:g})}}if(f.options.declaration&&J.length>0){const b=J.some(E=>E.declarationCjs),S=J.some(E=>E.declarationEsm),N=J.some(E=>E.declaration&&!E.declarationCjs&&!E.declarationEsm),v=Oe(f,b||N,S,J,m,y);n.add({context:v,fileCache:t,subDirectory:g})}}return{builders:r,typeBuilders:n}},"prepareRollupConfig"),jr=oe(async(e,t)=>{await e.hooks.callHook("build:before",e);const{builders:o,typeBuilders:s}=await xr(e,t);o.size>0&&await Promise.all([...o].map(async({context:i,fileCache:r,subDirectory:n})=>await or(i,r,n))),s.size>0&&await Zs([...s].map(({context:i,fileCache:r,subDirectory:n})=>()=>ir(i,r,n)),gr),e.logger.success(It(e.options.name?`Build succeeded for ${e.options.name}`:"Build succeeded")),e.buildEntries=e.buildEntries.filter((i,r,n)=>n.findIndex(l=>l.path===i.path)===r);for await(const i of Io(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)===i.path);n||(n={chunk:!0,path:i.path},e.buildEntries.push(n)),n.size===void 0&&(n.size={});const l=P(r,i.path);if(!n.size.bytes){const d=await Kt(l);n.size.bytes=d.size}n.size.brotli||(n.size.brotli=await ar(l)),n.size.gzip||(n.size.gzip=await fr(l))}return await e.hooks.callHook("build:done",e),hr(e.logger,e)},"build");var kr=Object.defineProperty,So=$((e,t)=>kr(e,"name",{value:t,configurable:!0}),"c");const Er=So(e=>Object.fromEntries(Object.entries(e).map(([t,o])=>{if(!o)return[t,{}];const s=Object.fromEntries(Object.entries(o).map(([i,r])=>Array.isArray(r)?[i,[...new Set(r)]]:[i,[]]));return[t,s]})),"uniqueNestedValues"),Sr=So(async(e,t,o,s,i,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 a of t)for(const c of a.exportKey)c.includes("/*")?n[c]=[`./${W(o,me(a.name),"*.d.ts")}`]:n[c]=[...n[c]??[],`./${W(o,`${a.name}.d.ts`)}`];const l=W(s,"package.json"),d=await Ft(l);i==="file"&&Object.keys(n).length>0?(await Fo(l,{...d,typesVersions:Er({...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:
55
+ `),s},"showSizeInformation"),yr=/\.d\.[mc]?ts$/,br=oe(e=>!!e?.endsWith(".d"),"isDeclarationOnlyEntry"),ze=oe(e=>e.filter(t=>!yr.test(t.input)),"filterDtsEntries"),vr=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"),wr=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"),$r=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,s,i,r)=>({...e,options:{...e.options,emitCJS:t,emitESM:o,entries:s,minify:i,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"),xr=oe(async(e,t)=>{const o=oe(l=>{const d=l.name??l.fileAlias;if(!d)return"default";const a=[".browser",".server",".development",".node",".workerd"];for(const c of a)if(d.includes(c))return c.slice(1);return"default"},"getEntryType"),s=e.options.entries.map(l=>({...l,environment:String(l.environment??"undefined"),runtime:String(l.runtime??"undefined"),type:o(l)})),i=cr(s,"environment","runtime","type"),r=new Set,n=new Set;for(const[l,d]of Object.entries(i))for(const[a,c]of Object.entries(d))for(const[,p]of Object.entries(c)){const f={...e,environment:l==="undefined"?void 0:l,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&&(l!=="undefined"||a!=="undefined")){const b=vr(l,a);b&&e.logger.info(b)}const u=a==="undefined"?void 0:a;f.options.runtime=u;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?wr(l,a):{};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=$r(l,a);let m=f.options.minify??!1;l==="development"?m=!1:l==="production"&&(m=!0);const D=p.map(b=>{const{environment:S,runtime:N,...v}=b;return{...v,environment:S==="undefined"?void 0:S,runtime:N==="undefined"?void 0:N}}),w=[],M=[],I=[],J=[];for(const b of D){if(br(b.name)){b.declaration&&J.push(b);continue}b.cjs&&b.esm?w.push(b):b.cjs?I.push(b):b.esm?M.push(b):b.declaration&&J.push(b)}if(w.length>0){const b=Oe(f,!0,!0,ze(w),m,y);if(e.options.dtsOnly||r.add({context:b,fileCache:t,subDirectory:g}),e.options.declaration){const S=w.filter(N=>N.declaration);S.length>0&&n.add({context:{...b,options:{...b.options,entries:S}},fileCache:t,subDirectory:g})}}if(M.length>0){const b=Oe(f,!1,!0,ze(M),m,y);if(e.options.dtsOnly||r.add({context:b,fileCache:t,subDirectory:g}),e.options.declaration){const S=M.filter(N=>N.declaration);S.length>0&&n.add({context:{...b,options:{...b.options,entries:S}},fileCache:t,subDirectory:g})}}if(I.length>0){const b=Oe(f,!0,!1,ze(I),m,y);if(e.options.dtsOnly||r.add({context:b,fileCache:t,subDirectory:g}),e.options.declaration){const S=I.filter(N=>N.declaration);S.length>0&&n.add({context:{...b,options:{...b.options,entries:S}},fileCache:t,subDirectory:g})}}if(f.options.declaration&&J.length>0){const b=J.some(E=>E.declarationCjs),S=J.some(E=>E.declarationEsm),N=J.some(E=>E.declaration&&!E.declarationCjs&&!E.declarationEsm),v=Oe(f,b||N,S,J,m,y);n.add({context:v,fileCache:t,subDirectory:g})}}return{builders:r,typeBuilders:n}},"prepareRollupConfig"),jr=oe(async(e,t)=>{await e.hooks.callHook("build:before",e);const{builders:o,typeBuilders:s}=await xr(e,t);o.size>0&&await Promise.all(Array.from(o,async({context:i,fileCache:r,subDirectory:n})=>await or(i,r,n))),s.size>0&&await Zs(Array.from(s,({context:i,fileCache:r,subDirectory:n})=>()=>ir(i,r,n)),gr),e.logger.success(It(e.options.name?`Build succeeded for ${e.options.name}`:"Build succeeded")),e.buildEntries=e.buildEntries.filter((i,r,n)=>n.findIndex(l=>l.path===i.path)===r);for await(const i of Io(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)===i.path);n||(n={chunk:!0,path:i.path},e.buildEntries.push(n)),n.size===void 0&&(n.size={});const l=P(r,i.path);if(!n.size.bytes){const d=await Kt(l);n.size.bytes=d.size}n.size.brotli||(n.size.brotli=await ar(l)),n.size.gzip||(n.size.gzip=await fr(l))}return await e.hooks.callHook("build:done",e),hr(e.logger,e)},"build");var kr=Object.defineProperty,So=$((e,t)=>kr(e,"name",{value:t,configurable:!0}),"c");const Er=So(e=>Object.fromEntries(Object.entries(e).map(([t,o])=>{if(!o)return[t,{}];const s=Object.fromEntries(Object.entries(o).map(([i,r])=>Array.isArray(r)?[i,[...new Set(r)]]:[i,[]]));return[t,s]})),"uniqueNestedValues"),Sr=So(async(e,t,o,s,i,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 a of t)for(const c of a.exportKey)c.includes("/*")?n[c]=[`./${W(o,me(a.name),"*.d.ts")}`]:n[c]=[...n[c]??[],`./${W(o,`${a.name}.d.ts`)}`];const l=W(s,"package.json"),d=await Ft(l);i==="file"&&Object.keys(n).length>0?(await Fo(l,{...d,typesVersions:Er({...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
56
 
57
57
  ${JSON.stringify({typesVersions:{"*":n}},void 0,4)}
58
- `,prefix:"plugin:packem:node10-compatibility"})},"node10Compatibility");var Dr=Object.defineProperty,Z=$((e,t)=>Dr(e,"name",{value:t,configurable:!0}),"l");const Or=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"),Pr=Z((e,t,o,s,i,r,n,l)=>{const d=Or(n?.config.compilerOptions?.jsx),a=l.split("."),c=os()(xi,i,{alias:{},browserTargets:Vo(),cjsInterop:!1,clean:!0,debug:s,declaration:void 0,emitCJS:void 0,emitESM:void 0,entries:[],externals:[],failOnWarn:!0,fileCache:!0,jiti:{alias:{},debug:s,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},respectExternal:!0},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)=>`
58
+ `,prefix:"plugin:packem:node10-compatibility"})},"node10Compatibility");var Dr=Object.defineProperty,Z=$((e,t)=>Dr(e,"name",{value:t,configurable:!0}),"l");const Or=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"),Pr=Z((e,t,o,s,i,r,n,l)=>{const d=Or(n?.config.compilerOptions?.jsx),a=l.split("."),c=os()(xi,i,{alias:{},browserTargets:Vo(),cjsInterop:!1,clean:!0,debug:s,declaration:void 0,emitCJS:void 0,emitESM:void 0,entries:[],externals:[],failOnWarn:!0,fileCache:!0,jiti:{alias:{},debug:s,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
59
  # Licenses of bundled dependencies
60
60
  The published ${g} artifact additionally contains code with the following licenses:
61
61
  ${h.length>0?`${h.join(", ")}
@@ -76,7 +76,7 @@ To mitigate this, you should set the isolatedModules option to true in tsconfig
76
76
  `),await m.hooks.callHook("builder:before",S,m);const v=Date.now(),E=Z(()=>ot(Math.floor(Date.now()-v)),"getBuilderDuration");await N(m,p,g,f),await m.hooks.callHook("builder:done",S,m),m.logger.raw(`
77
77
  ⚡️ ${S} run in ${E()}`),b&&m.logger.raw(`
78
78
 
79
- `)}},"runBuilder"),w=Z(async()=>{if(u!==void 0)await ds({pid:u.pid,signal:r.killSignal??"SIGTERM"});else if(h!==void 0)try{await h()}catch(b){throw new Error(`onSuccess function cleanup failed: ${b.message}`,{cause:b})}u=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,S=u=Xo(m.options.onSuccess,[],{nodeOptions:{shell:!0,stdio:"inherit",timeout:b}});await S;const{exitCode:N}=S;if(typeof N=="number"&&N!==0)throw new Error(`onSuccess script failed with exit code ${N}. Check the output above for details.`)}},"runOnsuccess"),I=Date.now(),J=Z(()=>ot(Math.floor(Date.now()-I)),"getDuration");if(t==="watch"){if(m.options.rollup.watch===!1)throw new Error("Rollup watch is disabled. You should check your packem config.");await Xi(m,g,D,M,w),kt(m,!1);return}if(await Zi(m),t==="jit")await Fi(m),await m.hooks.callHook("build:done",m);else{if(f=await jr(m,g),m.options.emitCJS&&m.options.declaration==="compatible"){f&&m.logger.raw(`
79
+ `)}},"runBuilder"),w=Z(async()=>{if(u!==void 0)await ds({pid:u.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})}u=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,S=u=Xo(m.options.onSuccess,[],{nodeOptions:{shell:!0,stdio:"inherit",timeout:b}});await S;const{exitCode:N}=S;if(typeof N=="number"&&N!==0)throw new Error(`onSuccess script failed with exit code ${N}. Check the output above for details.`)}},"runOnsuccess"),I=Date.now(),J=Z(()=>ot(Math.floor(Date.now()-I)),"getDuration");if(t==="watch"){if(m.options.rollup.watch===!1)throw new Error("Rollup watch is disabled. You should check your packem config.");await Xi(m,g,D,M,w),kt(m,!1);return}if(await Zi(m),t==="jit")await Fi(m),await m.hooks.callHook("build:done",m);else{if(f=await jr(m,g),m.options.emitCJS&&m.options.declaration==="compatible"){f&&m.logger.raw(`
80
80
  `);let b="console",S="*";m.options.node10Compatibility&&(b=m.options.node10Compatibility?.writeToPackageJson?"file":"console",S=m.options.node10Compatibility?.typeScriptVersion??"*"),await Sr(m.logger,m.options.entries,m.options.outDir,m.options.rootDir,b,S)}await m.hooks.callHook("validate:before",m),typeof m.options.validation=="object"&&(m.options.validation.packageJson&&Us(m),m.options.validation.attw&&await Os(m,f),m.options.validation.bundleLimit&&Ys(m,f)),await m.hooks.callHook("validate:done",m),kt(m,f)}m.logger.raw(`
81
81
  ⚡️ Build run in ${J()}
82
82
  `),await D(),await M(),be.on("SIGINT",async()=>{await w()}),be.on("SIGTERM",async()=>{await w()})}catch(m){throw s.raw(`
@@ -1,3 +1,3 @@
1
1
  import type { PackageJson } from "@visulima/package";
2
- declare const getPackageSideEffect: (cwd: string, packageJson: PackageJson) => ((id: string) => boolean | undefined);
2
+ declare const getPackageSideEffect: (cwd: string, packageJson: PackageJson) => (id: string) => boolean | undefined;
3
3
  export default getPackageSideEffect;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visulima/packem",
3
- "version": "2.0.0-alpha.52",
3
+ "version": "2.0.0-alpha.53",
4
4
  "description": "A fast and modern bundler for Node.js and TypeScript.",
5
5
  "keywords": [
6
6
  "anolilab",
@@ -183,7 +183,7 @@
183
183
  ],
184
184
  "dependencies": {
185
185
  "@antfu/install-pkg": "1.1.0",
186
- "@clack/prompts": "1.0.1",
186
+ "@clack/prompts": "1.1.0",
187
187
  "@rollup/pluginutils": "5.3.0",
188
188
  "@visulima/cerebro": "2.1.5",
189
189
  "@visulima/colorize": "1.4.29",
@@ -191,11 +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.39",
195
- "@visulima/packem-share": "1.0.0-alpha.20",
194
+ "@visulima/packem-rollup": "1.0.0-alpha.40",
195
+ "@visulima/packem-share": "1.0.0-alpha.21",
196
196
  "@visulima/pail": "3.2.2",
197
197
  "@visulima/path": "2.0.5",
198
- "@visulima/rollup-plugin-css": "1.0.0-alpha.19",
198
+ "@visulima/rollup-plugin-css": "1.0.0-alpha.20",
199
+ "@visulima/rollup-plugin-dts": "1.0.0-alpha.1",
199
200
  "@visulima/tabular": "^3.1.3",
200
201
  "@visulima/tsconfig": "2.1.3",
201
202
  "browserslist": "4.28.1",
@@ -204,9 +205,9 @@
204
205
  "hookable": "6.0.1",
205
206
  "jiti": "2.6.1",
206
207
  "magic-string": "0.30.21",
207
- "mlly": "1.8.0",
208
+ "mlly": "1.8.1",
208
209
  "picomatch": "4.0.3",
209
- "rollup": "4.57.1",
210
+ "rollup": "4.59.0",
210
211
  "semver": "7.7.4",
211
212
  "tinyexec": "1.0.2",
212
213
  "tinyglobby": "0.2.15"
@@ -214,8 +215,8 @@
214
215
  "peerDependencies": {
215
216
  "@arethetypeswrong/core": ">=0.18.2",
216
217
  "@swc/core": ">=1.11.29",
217
- "@tailwindcss/node": "4.2.0",
218
- "@tailwindcss/oxide": "4.2.0",
218
+ "@tailwindcss/node": "4.2.1",
219
+ "@tailwindcss/oxide": "4.2.1",
219
220
  "cssnano": ">=7.0.6",
220
221
  "esbuild": ">=0.20.2",
221
222
  "icss-utils": ">=5.1.0",