@visulima/packem 2.0.0-alpha.51 → 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,43 @@
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
+
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)
25
+
26
+ ### Bug Fixes
27
+
28
+ * **packem:** fix integration test failures and update source ([64673f1](https://github.com/visulima/packem/commit/64673f1e7c631ed0e454c13579bb9f71d0f9b3b9))
29
+
30
+ ### Miscellaneous Chores
31
+
32
+ * remove empty optionalDependencies sections from package.json files ([a4aecaa](https://github.com/visulima/packem/commit/a4aecaaacb33d1ffcc8731cfc5247e5f7fa79cf0))
33
+
34
+
35
+ ### Dependencies
36
+
37
+ * **@visulima/packem-rollup:** upgraded to 1.0.0-alpha.39
38
+ * **@visulima/packem-share:** upgraded to 1.0.0-alpha.20
39
+ * **@visulima/rollup-plugin-css:** upgraded to 1.0.0-alpha.19
40
+
1
41
  ## @visulima/packem [2.0.0-alpha.51](https://github.com/visulima/packem/compare/@visulima/packem@2.0.0-alpha.50...@visulima/packem@2.0.0-alpha.51) (2025-12-31)
2
42
 
3
43
  ### Features
@@ -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 S,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,w as ge,j as ye}from"../packem_shared/index-BTAetuFi.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.50";const F={version:z};var ke=Object.defineProperty,Se=v((t,s)=>ke(t,"name",{value:s,configurable:!0}),"t");const W=Se(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(S(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 $e=Object.defineProperty,y=v((t,s)=>$e(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=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(S(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=S(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(S(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(S(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(S(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,$=v((t,s)=>is(t,"name",{value:s,configurable:!0}),"a");const rs=$(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=$(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=$(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=$((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=$(t=>{t.addCommand({description:"Migrate from other bundlers (tsup, unbuild, bunchee, etc.) to packem",execute:$(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-BTAetuFi.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};
@@ -0,0 +1,83 @@
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
+ const __filename = import.meta.filename; // -- packem CommonJS __filename shim --
3
+ const require = __cjs_mod__.createRequire(import.meta.url);
4
+ var ri=Object.defineProperty,ao=$((e,t)=>ri(e,"name",{value:t,configurable:!0}),"s$9");const Te=ao(e=>{if(e.endsWith(".mjs")||e.endsWith(".d.mts"))return"esm";if(e.endsWith(".cjs")||e.endsWith(".d.cts"))return"cjs"},"inferExportTypeFromFileName"),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
+ export { ${D} as ${JSON.stringify(g)} };`})].join(`
6
+ `)),e.options.declaration&&je(`${r}.${h}`,`export * from "${y}";
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
+ `)),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{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
+ Is the module installed? Note:
11
+ ↳ to inline a module into your bundle, install it to "devDependencies".
12
+ ↳ to depend on a module via import/require, install it to "dependencies".`);return e.code==="MODULE_LEVEL_DIRECTIVE"?!0:e.code==="MIXED_EXPORTS"&&t.options.cjsInterop===!0},"sharedOnWarn"),bo=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}=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
+ ⚡️ Build run in ${a.duration}ms
15
+
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
+ └─ ${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
+ `),e.logger.warn(`Build is done with some warnings:
19
+
20
+ ${Array.from(e.warnings,o=>`- ${o}`).join(`
21
+ `)}`),e.options.failOnWarn))throw new Error("Exiting with code (1). You can change this behavior by setting `failOnWarn: false`.")},"logBuildErrors");var 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
+ `),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
+ `))},"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.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
+ `),!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
+ `);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
+
28
+ ${Y.toString()}
29
+
30
+ ${C.join(`
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=>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
+ - ${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
+ `),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)}).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
+ `);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
+ exports: ${se(n.exports.join(", "))}`:"",n.chunks?.length&&(a+=`
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(`
39
+ `)}`),n.dynamicImports&&n.dynamicImports.length>0&&(a+=`
40
+ dynamic imports:`,a+=`
41
+ ${n.dynamicImports.map(c=>se(` └─ ${o(c)}`)).join(`
42
+ `)}`),n.modules&&n.modules.length>0){const c=n.modules.filter(p=>p.id.includes("node_modules")).toSorted((p,f)=>(f.bytes||0)-(p.bytes||0)).map(p=>se(` 📦 ${o(p.id)}${Q(p.bytes?` (${q(p.bytes,{decimals:2})})`:"")}`)).join(`
43
+ `);a+=c.length>0?`
44
+ inlined modules:
45
+ ${c}`:""}if(t.options.declaration){const c=ee(t,"cjs"),p=ee(t,"esm"),f=ne(t,"cjs"),u=ne(t,"esm");let h=n.path.replace(/\.js$/,".d.ts"),y="commonjs";n.path.endsWith(`.${c}`)?h=n.path.replace(new RegExp(String.raw`\.${c}$`),`.${f}`):n.path.endsWith(`.${p}`)&&(y="module",h=n.path.replace(new RegExp(String.raw`\.${p}$`),`.${u}`));const g=t.buildEntries.find(m=>m.path.endsWith(h));if(g){i.push(g.path);let m;h.includes(".d.ts")||(h=h.replace(/\.d\.[m|c]ts$/,".d.ts"),m=t.buildEntries.find(D=>D.path.endsWith(h))),m&&(i.push(m.path),y==="commonjs"?a+=`
46
+ types:
47
+ ${[g,m].map(D=>`${se(" └─ ")+Q(o(D.path))} (total size: ${K(q(D.size?.bytes??0,{decimals:2}))})`).join(`
48
+ `)}`:a+=`
49
+ types: ${Q(o(g.path))} (total size: ${K(q(g.size?.bytes??0,{decimals:2}))})`)}}s=!0,a+=`
50
+
51
+ `,e.raw(n.chunk?se(a):a)}}if(t.buildEntries.filter(n=>n.type==="asset").length>0){let n="Assets:";for(const l of t.buildEntries.filter(d=>d.type==="asset"&&!i.includes(d.path)))n+=`${se(`
52
+ └─ `)+Q(o(l.path))} (total size: ${K(q(l.size?.bytes??0,{decimals:2}))})`;n+=`
53
+
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?{...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
+
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}},dynamicVars:{errorWhenNoFilesFound:!0,exclude:ce,include:re},esbuild:{charset:"utf8",jsx:d,jsxDev:n?.config.compilerOptions?.jsx==="react-jsxdev",jsxFactory:n?.config.compilerOptions?.jsxFactory,jsxFragment:n?.config.compilerOptions?.jsxFragmentFactory,jsxImportSource:n?.config.compilerOptions?.jsxImportSource,jsxSideEffects:!0,keepNames:!0,sourcesContent:!1,target:n?.config.compilerOptions?.target,treeShaking:!0,tsconfigRaw:n?.config},experimental:{resolve:{aliasFields:[["browser"]],builtinModules:!1,conditionNames:["default","types","import","require","module-sync","node","node-addons","browser","esm2020","es2020","es2015"],extensionAlias:{".cjs":[".cts",".d.cts",".cjs"],".js":[".ts",".tsx",".d.ts",".js"],".jsx":[".tsx",".d.ts",".jsx"],".mjs":[".mts",".d.mts",".mjs"]},extensions:[".ts",".tsx",".d.ts",".js",".jsx",".json",".node"],mainFields:["types","typings","fesm2020","fesm2015","esm2020","es2020","main","module","browser","jsnext:main"]}},isolatedDeclarations:{exclude:ce,ignoreErrors:!1},json:{preferConst:!1},license:{dependenciesTemplate:Z((h,y,g)=>`
59
+ # Licenses of bundled dependencies
60
+ The published ${g} artifact additionally contains code with the following licenses:
61
+ ${h.length>0?`${h.join(", ")}
62
+
63
+ `:`
64
+ `}# Bundled dependencies:
65
+ ${y}`,"dependenciesTemplate"),dtsTemplate:Z((h,y,g)=>`
66
+ # Licenses of bundled types
67
+ The published ${g} artifact additionally contains code with the following licenses:
68
+ ${h.length>0?`${h.join(", ")}
69
+
70
+ `:`
71
+ `}# Bundled types:
72
+ ${y}`,"dtsTemplate")},nativeModules:{},node10Compatibility:!1,output:{importAttributesKey:Number(a[0])>=22?"with":"assert"},oxc:{jsx:d==="preserve"?"preserve":{development:o!=="production",pragma:n?.config.compilerOptions?.jsxFactory,pragmaFrag:n?.config.compilerOptions?.jsxFragmentFactory,pure:!0,runtime:d==="transform"||d==="automatic"?"automatic":"classic",useBuiltIns:!0,useSpread:!0}},patchTypes:{},polyfillNode:{},preserveDirectives:{include:re},preserveDynamicImports:!0,pure:{},raw:{exclude:ce,include:[/\.(md|txt|htm|html|data)$/]},replace:{objectGuards:!0,preventAssignment:!0},resolve:{allowExportsFolderMapping:!1,exportConditions:[o??"production","module-sync"],extensions:Ve,preferBuiltins:!1},resolveExternals:{builtins:!0,builtinsPrefix:"add",deps:!0,devDeps:!1,exclude:[],optDeps:!0,peerDeps:!0},shebang:{replace:!1,shebang:"#!/usr/bin/env node"},shim:{exclude:ce,include:re},sourcemap:{},sucrase:{disableESTransforms:!0,enableLegacyBabel5ModuleInterop:!1,enableLegacyTypeScriptModuleInterop:n?.config.compilerOptions?.esModuleInterop===!1,include:re,injectCreateRequireForImportRequire:!1,preserveDynamicImport:!0,production:o===$e,...n?.config.compilerOptions?.jsx&&["react","react-jsx","react-jsxdev"].includes(n.config.compilerOptions.jsx)?{jsxFragmentPragma:n.config.compilerOptions.jsxFragmentFactory,jsxImportSource:n.config.compilerOptions.jsxImportSource,jsxPragma:n.config.compilerOptions.jsxFactory,jsxRuntime:d,transforms:["typescript","jsx",...n.config.compilerOptions.esModuleInterop?["imports"]:[]]}:{transforms:["typescript",...n?.config.compilerOptions?.esModuleInterop?["imports"]:[]]}},swc:{include:re,inlineSourcesContent:!1,inputSourceMap:!1,isModule:!0,jsc:{experimental:{keepImportAttributes:!0},externalHelpers:!0,keepClassNames:!0,loose:!0,parser:{decorators:n?.config.compilerOptions?.experimentalDecorators,syntax:n?"typescript":"ecmascript",[n?"tsx":"jsx"]:!0},target:n?.config.compilerOptions?.target?.toLowerCase(),transform:{decoratorMetadata:n?.config.compilerOptions?.emitDecoratorMetadata,decoratorVersion:"2022-03",legacyDecorator:n?.config.compilerOptions?.experimentalDecorators,react:{development:o!==$e,pragma:n?.config.compilerOptions?.jsxFactory,pragmaFrag:n?.config.compilerOptions?.jsxFragmentFactory,runtime:d,throwIfNamespace:!0},treatConstEnumAsEnum:n?.config.compilerOptions?.preserveConstEnums,useDefineForClassFields:n?.config.compilerOptions?.useDefineForClassFields}},module:{ignoreDynamic:!0,importInterop:"none",preserveImportMeta:!0,strict:!1,strictMode:!1,type:"es6"}},treeshake:{moduleSideEffects:ss(t,r),preset:"recommended",propertyReadSideEffects:!0},tsconfigPaths:{resolveAbsolutePath:!1},url:{emitFiles:!0,fileName:"[hash][extname]",include:["**/*.svg","**/*.png","**/*.jp(e)?g","**/*.gif","**/*.webp"],limit:14*1024},visualizer:{},watch:{chokidar:{ignoreInitial:!0,ignorePermissionErrors:!0},clearScreen:!0,exclude:ce}},rootDir:t,sourceDir:"src",sourcemap:!1,transformerName:void 0,typedoc:{excludePrivate:!0,format:"inline",githubPages:!1,groupOrder:["Classes","Constructors","Accessors","Methods","Functions","Namespaces","Variables","Enumerations","Interfaces","Type Aliases","*"],kindSortOrder:["Project","Module","Class","Interface","Function","Namespace","Variable","Enum","EnumMember","TypeAlias","Reference","Constructor","Property","Accessor","Method","Parameter","TypeParameter","TypeLiteral","CallSignature","ConstructorSignature","IndexSignature","GetSignature","SetSignature"],marker:"TYPEDOC",name:r.name??"unknown",pretty:!0,readme:"none",showConfig:s,tsconfig:n?.path},validation:{dependencies:{hoisted:{exclude:[]},unused:{exclude:[]}},packageJson:{bin:!0,dependencies:!0,exports:!0,files:!0,main:!0,module:!0,name:!0,types:!0,typesVersions:!0}}});c.runtime===void 0&&(e.warn("No runtime specified, defaulting to 'node'. This will change in packem v2 to 'browser', please add 'runtime: node' to your packem config or command call"),c.runtime="node");const p=new Map([...Object.entries(r.dependencies??{}),...Object.entries(r.devDependencies??{})]);if(c.transformer?.NAME===void 0)throw new Error("Unknown transformer, check your transformer options or install one of the supported transformers: esbuild, swc, sucrase");c.transformerName=c.transformer.NAME;let f=c.transformerName;c.transformerName==="oxc"?f="oxc-transform":c.transformerName==="swc"&&(f="@swc/core");const u=p.get(f)??"0.0.0";if(e.info({message:`Using ${K("node ")}${l}`,prefix:"system"}),e.info({message:`Using ${K("rollup ")}${Go} with ${K(c.runtime)} build runtime`,prefix:"bundler"}),e.info({message:`Using ${K(c.transformerName)} ${u}`,prefix:"transformer"}),c.rollup.resolve&&(c.rollup.resolve.preferBuiltins=c.runtime==="node",c.rollup.resolve.preferBuiltins&&(c.rollup.polyfillNode=!1,e.debug("Disabling polyfillNode because preferBuiltins is set to true"))),c.runtime==="node"&&(c.browserTargets=[]),c.runtime==="browser"&&(c.rollup.resolve&&c.rollup.resolve.browser===void 0&&(c.rollup.resolve.browser=!0),c.browserTargets&&c.browserTargets.length>0&&e.debug(`Using browser targets: ${c.browserTargets.join(", ")}`)),Pt(c.alias),c.rollup.alias&&c.rollup.alias.entries&&Pt(c.rollup.alias.entries),c.outputExtensionMap){let h;for(const[y,g]of Object.entries(c.outputExtensionMap)){if(!["cjs","esm"].includes(y))throw new Error(`Invalid output extension map: ${y} must be "cjs" or "esm"`);if(typeof g!="string")throw new TypeError(`Invalid output extension map: ${y} must be a string`);if(g.startsWith("."))throw new Error(`Invalid output extension map: ${y} must not start with a dot. Example: "cjs": "c.js", "esm": "m.js"`);if(h===void 0)h=g;else if(h===g)throw new Error(`Invalid output extension map: ${y} must be different from the other key`)}}return n?.config.compilerOptions?.declarationMap===!0&&(c.sourcemap=!0,e.info("Enabling sourcemap because declarationMap is enabled in tsconfig.json")),c},"generateOptions"),Mr=Z(async(e,t,o,s,i,r,n,l,d)=>{const a=r.hooks,c=Pr(e,t,s,i,r,n,l,d);Ao(W(c.rootDir,c.outDir));const p={buildEntries:[],dependencyGraphMap:new Map,environment:s,hoistedDependencies:new Set,hooks:Ho(),implicitDependencies:new Set,jiti:qo(c.rootDir,c.jiti),logger:e,mode:o,options:c,pkg:n,tsconfig:l,usedDependencies:new Set,warnings:new Set};if(a){const u=p.hooks._hooks?.get?.("rollup:options"),h=u?u.size:0;fetch("http://127.0.0.1:7242/ingest/e5ffe05e-4121-4b48-a3e5-edf81dc8035e",{body:JSON.stringify({data:{hasRollupOptionsHook:!!a?.["rollup:options"],hooksCountBefore:h,hooksKeys:Object.keys(a||{})},hypothesisId:"B",location:"index.ts:677",message:"Before addHooks",runId:"run1",sessionId:"debug-session",timestamp:Date.now()}),headers:{"Content-Type":"application/json"},method:"POST"}).catch(()=>{}),p.hooks.addHooks(a);const y=p.hooks._hooks?.get?.("rollup:options"),g=y?y.size:0;fetch("http://127.0.0.1:7242/ingest/e5ffe05e-4121-4b48-a3e5-edf81dc8035e",{body:JSON.stringify({data:{hooksAdded:g-h,hooksCountAfter:g,hooksCountBefore:h},hypothesisId:"B",location:"index.ts:683",message:"After addHooks",runId:"run1",sessionId:"debug-session",timestamp:Date.now()}),headers:{"Content-Type":"application/json"},method:"POST"}).catch(()=>{})}await p.hooks.callHook("build:prepare",p),p.options.emitESM===void 0&&p.logger.info("Emitting of ESM bundles, is disabled."),p.options.emitCJS===void 0&&p.logger.info("Emitting of CJS bundles, is disabled."),p.options.minify&&p.logger.info("Minification is enabled, the output will be minified"),p.options.json&&p.options.minify&&p.options.json.preferConst===void 0&&(p.options.json={...p.options.json,preferConst:!1}),ws(p);const f=At(n,["typescript"]);if(p.options.declaration&&p.tsconfig===void 0&&f)throw new Error("Cannot build declaration files without a tsconfig.json");return f?p.options.declaration===!1&&p.logger.info({message:"Generation of declaration files are disabled.",prefix:"dts"}):(p.options.declaration=!1,p.logger.info({message:"Typescript is not installed. Generation of declaration files are disabled.",prefix:"dts"})),p.options.declaration&&p.logger.info(`Using typescript version: ${K(n.devDependencies?.typescript??n.dependencies?.typescript??"unknown")}`),p.options.declaration&&(n.dependencies?.typescript||n.devDependencies?.typescript)&&!p.tsconfig?.config.compilerOptions?.isolatedModules&&p.logger.warn(`'compilerOptions.isolatedModules' is not enabled in tsconfig.
73
+ Because none of the third-party transpiler, packem uses under the hood is type-aware, some techniques or features often used in TypeScript are not properly checked and can cause mis-compilation or even runtime errors.
74
+ To mitigate this, you should set the isolatedModules option to true in tsconfig and let your IDE warn you when such incompatible constructs are used.`),await Pi(p),p},"createContext"),Nr=Z(e=>{switch(e){case"build":return"Building";case"jit":return"Stubbing";case"watch":return"Watching";default:throw new Error(`Unknown mode: ${e}`)}},"getMode"),za=Z(async(e,t,o,s,i,r,n)=>{const l=be.version.slice(1);s.wrapAll(),e=P(be.cwd(),e),s.debug("Root directory:",e);const{packageJson:d,packageJsonPath:a}=Ge(e);s.debug("Using package.json found at",a);const c=await Di(e,d,s,n),p=No("@visulima/packem",{cwd:e});let f=!1,u,h;const y=rt(JSON.stringify({version:d.version,...d.dependencies,...d.devDependencies,...d.peerDependencies,...d.peerDependenciesMeta,browser:d.browser,eNode:d.engines?.node,exports:d.exports,main:d.main,module:d.module,nodeVersion:l,type:d.type,types:d.types}))+rt(JSON.stringify(r));p&&Hn(y,p,s);const g=new Jo(e,p,y,s);try{const m=await Mr(s,e,t,o,i,r,d,c,l);g.isEnabled=m.options.fileCache,m.logger.info(K(`${Nr(t)} ${m.options.name}`)),m.logger.debug({context:m.options.entries,message:`${Q("Root dir:")} ${m.options.rootDir}
75
+ ${Q("Entries:")}`});const D=Z(async b=>{for await(const[S,N]of Object.entries(m.options.builder??{})){m.logger.raw(`
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
+ ⚡️ ${S} run in ${E()}`),b&&m.logger.raw(`
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{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
+ `);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
+ ⚡️ Build run in ${J()}
82
+ `),await D(),await M(),be.on("SIGINT",async()=>{await w()}),be.on("SIGTERM",async()=>{await w()})}catch(m){throw s.raw(`
83
+ `),Rt(m),m}finally{s.restoreAll(),await ys(p,s,f)}},"packem");export{xi as $,os as c,za as j};
package/dist/types.d.ts CHANGED
@@ -72,6 +72,10 @@ export type BuildEntry = {
72
72
  cjs?: boolean;
73
73
  /** TypeScript declaration file generation mode */
74
74
  declaration?: boolean | "compatible" | "node16";
75
+ /** Whether to generate .d.cts declaration file without triggering CJS JS build */
76
+ declarationCjs?: boolean;
77
+ /** Whether to generate .d.mts declaration file without triggering ESM JS build */
78
+ declarationEsm?: boolean;
75
79
  /** Build environment for this entry */
76
80
  environment?: Environment;
77
81
  /** Whether to generate ESM output for this entry */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visulima/packem",
3
- "version": "2.0.0-alpha.51",
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": "0.11.0",
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.38",
195
- "@visulima/packem-share": "1.0.0-alpha.19",
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.18",
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,18 +205,18 @@
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.54.0",
210
- "semver": "7.7.3",
210
+ "rollup": "4.59.0",
211
+ "semver": "7.7.4",
211
212
  "tinyexec": "1.0.2",
212
213
  "tinyglobby": "0.2.15"
213
214
  },
214
215
  "peerDependencies": {
215
216
  "@arethetypeswrong/core": ">=0.18.2",
216
217
  "@swc/core": ">=1.11.29",
217
- "@tailwindcss/node": "4.1.18",
218
- "@tailwindcss/oxide": "4.1.18",
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",
@@ -1,83 +0,0 @@
1
- var Do=Object.defineProperty;var x=(e,t)=>Do(e,"name",{value:t,configurable:!0});import be,{versions as It}from"node:process";import{cyan as z,bold as G,gray as se,blue as Me,yellow as we,red as ve,green as Ft,dim as Oo,grey as Po}from"@visulima/colorize";import{findCacheDirSync as Mo}from"@visulima/find-cache-dir";import{isAccessibleSync as ce,collectSync as tt,isAccessible as me,readFileSync as No,writeFileSync as ke,emptyDir as Co,readJson as Rt,walk as To,writeJson as Io,ensureDirSync as Fo}from"@visulima/fs";import{parseBytes as ot,formatBytes as V,duration as nt}from"@visulima/humanizer";import{hasPackageJsonAnyDependency as At,ensurePackages as Ro}from"@visulima/package";import{memoizeByKey as Ao,arrayify as it,enhanceRollupError as Jt,FileCache as Jo}from"@visulima/packem-share";import{RUNTIME_EXPORT_CONVENTIONS as Wt,SPECIAL_EXPORT_CONVENTIONS as zt,PRODUCTION_ENV as $e,DEVELOPMENT_ENV as st,DEFAULT_EXTENSIONS as qe,ENDING_REGEX as He,EXCLUDE_REGEXP as de,ALLOWED_TRANSFORM_EXTENSIONS_REGEX as re,VALID_EXPORT_EXTENSIONS as Wo}from"@visulima/packem-share/constants";import{warn as j,getDtsExtension as te,getOutputExtension as Y,getPackageName as zo,sortUserPlugins as Bt,getChunkFilename as ge,getEntryFileNames as Bo,arrayify as rt,getHash as at}from"@visulima/packem-share/utils";import{extname as Ko,resolve as P,toNamespacedPath as _o,join as J,isAbsolute as Te,relative as oe,normalize as Uo,dirname as he}from"@visulima/path";import Lo from"browserslist";import{createHooks as Vo}from"hookable";import{createJiti as qo}from"jiti";import{watch as lt,rollup as Kt,VERSION as Ho}from"rollup";import{exec as Go}from"tinyexec";import Xo,{stat as _t,readdir as Yo,rm as Ut,mkdtemp as Qo,readFile as Zo}from"node:fs/promises";import pt from"node:path/posix";import{parsePackageJsonSync as Lt}from"@visulima/package/package-json";import{readTsConfig as en,findTsConfig as tn}from"@visulima/tsconfig";import{NotFoundError as on}from"@visulima/fs/error";import{isRelative as nn,resolveAlias as sn}from"@visulima/path/utils";import{isDynamicPattern as Ke,globSync as Vt}from"tinyglobby";import{getShebang as rn,makeExecutable as ct,removeShebangPlugin as an,shebangPlugin as ln}from"@visulima/packem-rollup/plugin/shebang";import{fileURLToPath as pn,resolveModuleExportNames as cn,pathToFileURL as un,resolvePath as ut,isNodeBuiltin as Ee,parseNodeModulePath as dt}from"mlly";import{nodeResolve as qt,cachingPlugin as _,alias as Ht,resolveFileUrlPlugin as Gt,replace as Xt,browserslistToEsbuild as Se,createSplitChunks as dn,polyfillNode as fn,chunkSplitter as mn,wasm as gn,fixDynamicImportExtension as hn,dynamicImportVars as yn,metafilePlugin as bn,visualizer as vn,purePlugin as wn,commonjs as $n}from"@visulima/packem-rollup";import{babelTransformPlugin as xn}from"@visulima/packem-rollup/babel";import{oxcResolvePlugin as Yt}from"@visulima/packem-rollup/oxc";import{cjsInteropPlugin as Qt}from"@visulima/packem-rollup/plugin/cjs-interop";import{copyPlugin as jn}from"@visulima/packem-rollup/plugin/copy";import{dataUriPlugin as kn}from"@visulima/packem-rollup/plugin/data-uri";import{debarrelPlugin as En}from"@visulima/packem-rollup/plugin/debarrel";import{esmShimCjsSyntaxPlugin as Sn}from"@visulima/packem-rollup/plugin/esm-shim-cjs-syntax";import{fixDtsDefaultCjsExportsPlugin as Dn}from"@visulima/packem-rollup/plugin/fix-dts-default-cjs-exports";import{isolatedDeclarationsPlugin as On}from"@visulima/packem-rollup/plugin/isolated-declarations";import{JsonPlugin as Zt}from"@visulima/packem-rollup/plugin/json";import{jsxRemoveAttributes as Pn}from"@visulima/packem-rollup/plugin/jsx-remove-attributes";import{licensePlugin as eo}from"@visulima/packem-rollup/plugin/license";import{minifyHTMLLiteralsPlugin as Mn}from"@visulima/packem-rollup/plugin/minify-html-literals";import{nativeModulesPlugin as Nn}from"@visulima/packem-rollup/plugin/native-modules";import{preserveDirectivesPlugin as Cn}from"@visulima/packem-rollup/plugin/preserve-directives";import{rawPlugin as Tn}from"@visulima/packem-rollup/plugin/raw";import{requireCJSTransformerPlugin as In}from"@visulima/packem-rollup/plugin/require-cjs-transformer";import{sourcemapsPlugin as Fn}from"@visulima/packem-rollup/plugin/source-maps";import{urlPlugin as Rn}from"@visulima/packem-rollup/plugin/url";import{resolveTypescriptMjsCtsPlugin as to,resolveTsconfigRootDirectoriesPlugin as oo,resolveTsconfigPathsPlugin as no,patchTypescriptTypesPlugin as An}from"@visulima/packem-rollup/typescript";import{cssModulesTypesPlugin as Jn,rollupCssPlugin as Wn}from"@visulima/rollup-plugin-css";import{minVersion as io,coerce as Ne,satisfies as so,validRange as zn,valid as Bn}from"semver";import Kn,{existsSync as _n,createReadStream as ro}from"node:fs";import Un from"magic-string";import{createDefu as Ln}from"defu";import{d as Vn}from"./create-or-update-key-storage-U4wgANkm.js";import{createFilter as qn}from"@rollup/pluginutils";import Hn from"child_process";import Gn from"node:child_process";import{tmpdir as Xn}from"node:os";import{promisify as Yn}from"node:util";import{createTable as Qn}from"@visulima/tabular";import{ROUNDED_BORDER as Zn}from"@visulima/tabular/style";import{distance as ei}from"fastest-levenshtein";import ti from"picomatch";import{createBrotliCompress as oi,constants as ni,createGzip as ii}from"node:zlib";import __cjs_mod__ from "node:module"; // -- packem CommonJS require shim --
2
- const __filename = import.meta.filename; // -- packem CommonJS __filename shim --
3
- const require = __cjs_mod__.createRequire(import.meta.url);
4
- var si=Object.defineProperty,ao=x((e,t)=>si(e,"name",{value:t,configurable:!0}),"s$9");const Ie=ao(e=>{if(e.endsWith(".mjs")||e.endsWith(".d.mts"))return"esm";if(e.endsWith(".cjs")||e.endsWith(".d.cts"))return"cjs"},"inferExportTypeFromFileName"),_e=ao((e,t,o,s)=>{if(e==="module-sync")return"esm";if(s){const n=Ie(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 _e(i,r,o,s)},"inferExportType");var ri=Object.defineProperty,ai=x((e,t)=>ri(e,"name",{value:t,configurable:!0}),"x$2");const li=new Set(["browser","bun","default","deno","electron","import","module-sync","node","node-addons","require","types","workerd",...Wt,...zt]),Ge=ai((e,t,o,s=[],i=[])=>{if(!e)return[];if(typeof e=="string"){const r=Ie(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("./",""),p=i.some(c=>a===c||a.startsWith(`${c}/`));if(typeof d=="string"){let c={};Number.isInteger(+l)?c={exportKey:"*"}:l.startsWith("./")?c={exportKey:l.replace("./","")}:c={exportKey:l==="."?".":"*",subKey:l},n.push({...c,file:d,key:"exports",type:_e(l,s,t,d),...p&&{ignored:!0}})}else if(typeof d=="object"&&d!==void 0)for(const[c,f]of Object.entries(d)){if(o===!1&&c==="types")continue;const u=Number.isInteger(+l)?c:l;if(typeof f=="string")n.push({exportKey:u.replace("./",""),file:f,key:"exports",...li.has(c)?{subKey:c}:{},type:_e(c,s,t,f),...p&&{ignored:!0}});else{const g=u.replace("./",""),y=p||i.some(m=>g===m||g.startsWith(`${m}/`)),h=Ge({[u]:f},t,o,[...s,c],i);y&&h.forEach(m=>{m.ignored=!0}),n=[...n,...h]}}}return n}return[]},"extractExportFilenames");var pi=Object.defineProperty,Q=x((e,t)=>pi(e,"name",{value:t,configurable:!0}),"C");const Ue=new Map,Le=/\.[^./]+$/,lo=Q((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 Ko(e)},"getFullExtension"),ci=Q(async e=>{try{return await Xo.readdir(e,{withFileTypes:!0})}catch(t){const{code:o}=t;if(o==="ENOENT")return[];throw t}},"safeReaddir"),po=Q(async(e,t)=>{const o=await ci(e);return(await Promise.all(o.map(async s=>{const i=pt.join(e,s.name);return s.isDirectory()?po(i,t):s.isFile()?pt.relative(t,i):[]}))).flat()},"getDirectoryFilesRecursive"),ui=Q(async e=>{let t=Ue.get(e);return t||(t=po(e,e),Ue.set(e,t)),t},"getDirectoryFiles"),ft=Q((e,t,o)=>{const s=e.replace(Le,"");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=Q((e,t)=>{let o=e;for(const s of t)o=o.replace("*",s);return o},"substituteWildcards"),di=Q((e,t)=>e.key==="exports"&&e.subKey===$e?$e:e.key==="exports"&&e.subKey===st?st:t,"getEnvironment"),fi=Q(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"),mi=Q((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 p=a.replace(s,"").replace(/^\//,"");return n.test(p)});if(l)return l;const d=`${s}/${i}`;return e.find(a=>{const p=a.replace(/\.[^./]+$/,"");return p===d||p.endsWith(`/${i}`)})||void 0},"tryFindPatternFile"),ye=Q((e,t,o,s,i,r,n,l)=>{const d=di(i,r.environment);let a=r.options.runtime;const p=i.subKey==="browser"||i.subKey?.includes("browser"),c=i.file.includes(".browser");if(p||c)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,""),g=r.options.outDir.replace(/^\.\//,""),y=u.replace(new RegExp(`^(./)?${g}/`),""),h=t.replace(/\.[^./]+$/,"").split("/").pop()||"",m=y.split("/").pop()||"",S=!t.includes(y)&&h!==m;let v=e.find(M=>M.input===t&&M.environment===d&&M.runtime===a&&M.fileAlias===(S?y:void 0));if(v===void 0?v=e[e.push({environment:d,exportKey:new Set([i.exportKey].filter(Boolean)),fileAlias:S?y:void 0,input:t,runtime:a})-1]:v.exportKey&&i.exportKey&&v.exportKey.add(i.exportKey),n&&(v.isGlob=!0),o&&(v.outDir=s),i.isExecutable)v.executable=!0,v.declaration=!1,i.type==="cjs"?v.cjs=!0:i.type==="esm"&&(v.esm=!0);else{const M=/\.d\.[mc]?ts$/.test(i.file),R=l.filter(b=>b.exportKey===i.exportKey),B=R.length>0&&R.every(b=>/\.d\.[mc]?ts$/.test(b.file));if(M&&r.options.declaration!==!1&&(v.declaration=r.options.declaration),M||B){B&&r.options.declaration!==!1&&(v.declaration=r.options.declaration);const b=R.some(I=>/\.d\.mts$/.test(I.file)),D=R.some(I=>/\.d\.cts$/.test(I.file));if(b&&D?((r.options.declaration===void 0||r.options.declaration==="node16")&&(r.options.declaration="compatible"),r.options.emitCJS=!0,r.options.emitESM=!0):D?(r.options.emitCJS=!0,(r.options.declaration===void 0||r.options.declaration==="node16")&&(r.options.declaration="compatible")):b&&(r.options.emitESM=!0,(r.options.declaration===void 0||r.options.declaration==="node16")&&(r.options.declaration="compatible")),B){const I=l.filter(O=>/\.d\.[mc]?ts$/.test(O.file)),w=I.some(O=>/\.d\.mts$/.test(O.file));I.some(O=>/\.d\.cts$/.test(O.file))&&(v.cjs=!0),w&&(v.esm=!0)}}else i.type==="cjs"?v.cjs=!0:i.type==="esm"&&(v.esm=!0)}S&&!v.fileAlias&&(v.fileAlias=y)},"createOrUpdateEntry");let mt=!1;const gt=Q(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"),gi=Q(async(e,t,o)=>{const s=e.types||e.typings;Ue.clear();const i=[];t.sort((u,g)=>u.split("/").length-g.split("/").length);const r=e.type==="module"?"esm":"cjs",n=o.options.declaration??"node16",l=Ge(e.exports,r,n,[],o.options.ignoreExportKeys??[]).filter(u=>!u.ignored),d=new Set;for(const u of l){const g=l.filter(y=>y.exportKey===u.exportKey);if(g.length>0&&g.every(y=>/\.d\.[mc]?ts$/.test(y.file))&&!d.has(u.exportKey)){d.add(u.exportKey),g.some(m=>m.file.endsWith(".d.ts"));const y=g.some(m=>m.file.endsWith(".d.mts")),h=g.some(m=>m.file.endsWith(".d.cts"));y&&h?((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitCJS=!0,o.options.emitESM=!0):h?((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitCJS=!0):y&&((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitESM=!0)}}o.options.declaration===void 0&&(o.options.declaration="node16");const a=l.some(u=>u.type==="esm"&&!/\.d\.mts$/.test(u.file)),p=l.some(u=>u.type==="cjs"&&!/\.d\.cts$/.test(u.file));a&&p?(o.options.emitESM=!0,o.options.emitCJS=!0):a?o.options.emitESM=!0:p?o.options.emitCJS=!0:r==="esm"?o.options.emitESM=!0:r==="cjs"&&(o.options.emitCJS=!0);const c=o.options.emitCJS&&o.options.emitESM;if(o.options.declaration==="node16"&&c&&(o.options.declaration="compatible"),e.bin){const u=(typeof e.bin=="string"?[e.bin]:Object.values(e.bin)).filter(Boolean);for(const g of u){const y=Ie(g);if(y&&y!==r)throw new Error(`Exported file "${g}" has an extension that does not match the package.json type "${e.type??"commonjs"}".`);l.push({file:g,isExecutable:!0,key:"bin",type:y??r})}}e.main&&l.push({file:e.main,key:"main",type:Ie(e.main)??r}),e.module&&l.push({file:e.module,key:"module",type:"esm"}),s&&(gt(o),(o.options.declaration===void 0||o.options.declaration==="node16")&&c&&(o.options.declaration="compatible"),l.push({file:e.types??e.typings,key:"types"}));const f=[];for await(const u of l){const g=/\.d\.[mc]?ts$/.test(u.file),y=lo(u.file,o.options.outputExtensionMap),h=[...qe];if(o.options.outputExtensionMap)for(const w of Object.values(o.options.outputExtensionMap)){const O=w.startsWith(".")?w:`.${w}`;h.includes(O)||h.push(O)}if(!g&&y!==""&&!h.includes(y)||!g&&/\.(tsx?|cts|mts)$/.test(u.file))continue;let m=u.type;if(!m&&g){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 w=l.some(K=>K.subKey==="import"&&K.file.endsWith(".d.mts")),O=l.some(K=>K.subKey==="require"&&K.file.endsWith(".d.cts"));w&&O?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 w=o.options.emitCJS&&o.options.emitESM;o.options.declaration=w?"compatible":"node16"}let S=u.file;if(o.options.outputExtensionMap)for(const w of Object.values(o.options.outputExtensionMap)){const O=w.startsWith(".")?w:`.${w}`;if(u.file.endsWith(O)){S=u.file.slice(0,-O.length);break}}S===u.file&&(S=u.file.replace(new RegExp(String.raw`(?:\*[^/\\]|\.d\.[mc]?ts|\.\w+)$`),""));const v=S.endsWith("/");if(v&&["./","/"].includes(S))continue;const M=S.replace(new RegExp(`(./)?${o.options.outDir}`),o.options.sourceDir).replace("./",""),R=v?"":String.raw`(\.d\.[cm]?ts|(\.[cm]?[tj]sx?))$`,B="(?:^|/)";if((u.file.includes("/*")||S.includes("*"))&&u.key==="exports"){mt||(o.logger.debug("Private subfolders are not supported, if you need this feature please open an issue on GitHub."),mt=!0);let w;u.exportKey?w=u.exportKey.startsWith("./")?u.exportKey.slice(2):u.exportKey:w=(u.file.startsWith("./")?u.file.slice(2):u.file).replace(/^dist\//,"");const O=u.file,K=O.match(/\.\w+$/),U=O.replace(/^\.\//,"").replace(/^dist\//,"").replace(/\.\w+$/,""),ae=w.replace(/^\.\//,"")===U;if(O.includes("*")&&!K&&!ae){const A=u.exportKey?`package.json#exports["${u.exportKey}"]`:"package.json#exports";i.push(`Wildcard pattern must include a file extension: ${O} at ${A}`)}const ne=o.options.sourceDir.replace(/^\.\//,""),q=P(o.options.rootDir,ne),L=[],je=await ui(q),F=(O.match(/\*/g)||[]).length,le=(w.match(/\*/g)||[]).length;for(const A of je){const k=ft(A,w,F);if(k){if(F>le&&F>1){if(k.length>=F){const C=k[0];if(k.every($=>$===C)){const $=pe(O,k.slice(0,F));$.includes("*")||L.push({input:P(q,A),output:$})}continue}const E=A.replace(Le,"").split("/").filter(Boolean);if(E.length>=F){const C=Math.floor(E.length/F),$=[];for(let T=0;T<F;T++){const ie=T*C,ue=T===F-1?E.length:(T+1)*C;$.push(E.slice(ie,ue).join("/"))}const W=$[0];if($.every(T=>T===W)){const T=pe(O,$);T.includes("*")||L.push({input:P(q,A),output:T})}}else if(E.length>0){const C=E[0];if(E.every($=>$===C)){const $=new Array(F).fill(C),W=pe(O,$);W.includes("*")||L.push({input:P(q,A),output:W})}}continue}if(k.length<F)continue;if(le>0&&le<F&&F>1&&k.length>1){const E=k[0];if(!k.every(C=>C===E))continue}const N=pe(O,k);if(N.includes("*"))continue;L.push({input:P(q,A),output:N})}}if(L.length===0&&O.includes("*")){let A=(u.file.startsWith("./")?u.file.slice(2):u.file).replace(/^dist\//,"");A=A.replace(/\.\w+$/,""),(A.match(/\*/g)||[]).length;for(const k of je){const N=ft(k,A,F);if(N){if(F>1&&le<F){if(N.length>=F){const C=N[0];if(N.every($=>$===C)){const $=pe(O,N);$.includes("*")||L.push({input:P(q,k),output:$})}continue}const E=k.replace(Le,"").split("/").filter(Boolean);if(E.length>=F){const C=Math.floor(E.length/F),$=[];for(let T=0;T<F;T++){const ie=T*C,ue=T===F-1?E.length:(T+1)*C;$.push(E.slice(ie,ue).join("/"))}const W=$[0];if($.every(T=>T===W)){const T=pe(O,$);T.includes("*")||L.push({input:P(q,k),output:T})}}else if(E.length>0){const C=E[0];if(E.every($=>$===C)){const $=new Array(F).fill(C),W=pe(O,$);W.includes("*")||L.push({input:P(q,k),output:W})}}continue}if(N.length>=F){if(le>0&&le<F&&F>1&&N.length>1){const C=N[0];if(!N.every($=>$===C))continue}const E=pe(O,N);E.includes("*")||L.push({input:P(q,k),output:E})}}}}if(L.length===0){l.length>1||i.push(`Could not find entrypoints matching pattern \`${w}\` for output \`${O}\``);continue}const ee=l.filter(A=>A.exportKey===u.exportKey);if(ee.length>0&&ee.every(A=>/\.d\.[mc]?ts$/.test(A.file))){const A=ee.some($=>$.file.endsWith(".d.ts")),k=ee.some($=>$.file.endsWith(".d.mts")),N=ee.some($=>$.file.endsWith(".d.cts"));k&&N?((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitCJS=!0,o.options.emitESM=!0):N?((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitCJS=!0):k&&((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitESM=!0);const E=ee.find($=>$.file.endsWith(".d.ts")),C=E||ee.find($=>$.file.endsWith(".d.mts"))||ee.find($=>$.file.endsWith(".d.cts"))||u;if(!(C===u||E&&u===E||!E&&C===u))continue;for(const{input:$,output:W}of L){let T=W;if(W.endsWith(".d.mts")||W.endsWith(".d.cts"))T=W.replace(/\.d\.[mc]ts$/,".d.ts");else if(!W.endsWith(".d.ts")){const ue=W.replace(/\.d\.[mc]ts$/,".d.ts");A&&(T=ue)}const ie={...C,file:T,subKey:"types",type:void 0};ye(f,$,v,S,ie,o,!0,l)}}else for(const{input:A,output:k}of L){const N=/\.d\.[mc]?ts$/.test(k);let E=u.type;N||(k.endsWith(".mjs")?E="esm":k.endsWith(".cjs")?E="cjs":k.endsWith(".js")&&!E&&(E=o.pkg?.type==="module"?"esm":"cjs"));const C={...u,file:k,...!N&&E&&{type:E}};ye(f,A,v,S,C,o,!0,l)}continue}const b=new RegExp(B+M.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)+R);let D=t.find(w=>b.test(w));if(D===void 0){const w=o.options.sourceDir.replace(/^\.\//,""),O=P(o.options.rootDir,w),K=fi(u.file);if(K){const U=mi(t,K.baseName,K.pattern,O);if(U)D=U;else{const ae=K.baseName,ne=new RegExp(B+ae.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)+R);D=t.find(q=>ne.test(q))}}else{const U=M.replace(/^(.+?)\.[^.]*$/,"$1").replace(/\/$/,"");if(zt.has(u.subKey)){const ae=new RegExp(B+U.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)+R);D=t.find(ne=>ae.test(ne))}}}if(D===void 0){ce(P(o.options.rootDir,u.file))||i.push(`Could not find entrypoint for \`${u.file}\``);continue}ce(D)&&/\.[cm]?tsx?$/.test(D)&&gt(o);const I=l.filter(w=>w.exportKey===u.exportKey);if(I.length>0&&I.every(w=>/\.d\.[mc]?ts$/.test(w.file))){I.some(U=>U.file.endsWith(".d.ts"));const w=I.some(U=>U.file.endsWith(".d.mts")),O=I.some(U=>U.file.endsWith(".d.cts"));w&&O?((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitCJS=!0,o.options.emitESM=!0):O?((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitCJS=!0):w&&((o.options.declaration===void 0||o.options.declaration==="node16")&&(o.options.declaration="compatible"),o.options.emitESM=!0);const K={...u,subKey:"types",type:void 0};ye(f,D,v,S,K,o,!1,l)}else{const w=_o(D.replace(He,""));ce(`${w}.cts`)&&ce(`${w}.mts`)?(ye(f,`${w}.cts`,v,S,{...u,type:"cjs"},o,!1,l),ye(f,`${w}.mts`,v,S,{...u,type:"esm"},o,!1,l)):ye(f,D,v,S,u,o,!1,l)}}return{entries:f,warnings:i}},"inferEntries");var hi=Object.defineProperty,yi=x((e,t)=>hi(e,"name",{value:t,configurable:!0}),"o$5");const bi=yi((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 vi=Object.defineProperty,wi=x((e,t)=>vi(e,"name",{value:t,configurable:!0}),"f$2");const $i={hooks:{"build:prepare":wi(async function(e){if(e.options.unbundle){e.options.entries.length=0;const i=J(e.options.rootDir,e.options.sourceDir);if(!ce(i))throw new Error("No 'src' directory found. Please provide entries manually.");const r=tt(i,{extensions:[],includeDirs:!1,includeSymlinks:!1,skip:[de,/.*\/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=J(e.options.rootDir,e.options.sourceDir);if(!ce(t))throw new Error("No 'src' directory found. Please provide entries manually.");const o=tt(t,{extensions:[],includeDirs:!1,includeSymlinks:!1,skip:[de,/.*\/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=bi(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 gi(s,o,e);for(const r of i.warnings)j(e,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:",z(e.options.entries.map(i=>i.fileAlias?`${G(i.fileAlias)} => ${G(i.input.replace(`${e.options.rootDir}/`,"").replace(/\/$/,"/*"))}`:G(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 xi=Object.defineProperty,ji=x((e,t)=>xi(e,"name",{value:t,configurable:!0}),"e$6");const Xe=ji(e=>{const t=J(e,"package.json");if(!ce(t))throw new Error(`package.json not found at ${t}`);const o=Lt(t,{resolveCatalogs:!0});return o.publishConfig&&Object.assign(o,o.publishConfig),{packageJson:o,packageJsonPath:t}},"loadPackageJson");var ki=Object.defineProperty,Ei=x((e,t)=>ki(e,"name",{value:t,configurable:!0}),"a$b");const Si=Ei(async(e,t,o,s)=>{let i;if(s){const r=J(e,s);if(!await me(r))throw new Error(`tsconfig.json not found at ${r}`);i={config:en(r),path:r},o.info("Using tsconfig settings at",r)}else if(At(t,["typescript"]))try{i=await tn(e),o.debug("Using tsconfig settings found at",i.path)}catch{o.info("No tsconfig.json or jsconfig.json found.")}return i},"loadTsconfig");var Di=Object.defineProperty,co=x((e,t)=>Di(e,"name",{value:t,configurable:!0}),"l$7");const ht=co(async(e,t)=>{if(typeof e.name!="string"){let o=Te(e.input)?oe(t.options.rootDir,e.input):Uo(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)}`);nn(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"),Oi=co(async e=>{e.options.entries=e.options.entries.map(t=>typeof t=="string"?{input:t,isGlob:Ke(t)}:{...t,exportKey:t.exportKey??new Set,isGlob:Ke(t.input)});for(const t of e.options.entries.filter(o=>o.isGlob)){const{isGlob:o,...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=Vt([s.input],{cwd:e.options.rootDir,dot:!1,ignore:i,onlyFiles:!0});if(r.length===0)throw new on(`No files found in the glob pattern: ${z(J(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 ht(t,e);for(const t of e.options.entries.filter(o=>o.fileAlias))await ht(t,e),t.fileAlias=void 0},"prepareEntries");var Pi=Object.defineProperty,Mi=x((e,t)=>Pi(e,"name",{value:t,configurable:!0}),"i$2");const Je=Mi((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 Ni=Object.defineProperty,Ci=x((e,t)=>Ni(e,"name",{value:t,configurable:!0}),"h$4");const Ti=/^[_$a-z\u00A0-\uFFFF][\w$\u00A0-\uFFFF]*$/iu,Ii=Ci(async e=>{const t=e.options.jiti.transformOptions?.babel?.plugins,o=[],s=JSON.stringify({...e.options.jiti,alias:{...Je(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=pn(e.jiti.esmResolve(i.input,{try:!0})??i.input),l=n.replace(He,""),d=No(n),a=rn(d);let p=[];try{p=await cn(n,{extensions:qe})}catch(u){j(e,`Cannot analyze ${n} for exports: ${u.toString()}`);return}const c=p.includes("default")||p.length===0,f=e.options.jiti.absoluteJitiPath?(...u)=>un(P(...u)):oe;if(e.options.emitESM){const u=f(he(r),await ut("jiti",{conditions:["node","import"],url:import.meta.url})),g=te(e,"esm"),y=`${l}.${g}`;ke(`${r}.${Y(e,"esm")}`,a+[`import { createJiti } from "${u}";`,...o.map((h,m)=>`import plugin${m} from "${h}";`),"",`const jiti = createJiti(import.meta.url, ${s});`,"",`/** @type {import("${y}")} */`,`const _module = await jiti.import("${n}");`,...c?["export default _module?.default ?? _module;"]:[],...p.filter(h=>h!=="default").map((h,m)=>{if(Ti.test(h))return`export const ${h} = _module.${h};`;const S=`__packem_export_${m}`,v=h.startsWith("'")&&h.endsWith("'")?`_module[${h}]`:`_module[${JSON.stringify(h)}]`;return`const ${S} = ${v};
5
- export { ${S} as ${JSON.stringify(h)} };`})].join(`
6
- `)),e.options.declaration&&ke(`${r}.${g}`,`export * from "${y}";
7
- ${c?`export { default } from "${y}";`:""}`)}if(e.options.emitCJS){const u=f(he(r),await ut("jiti",{conditions:["node","require"],url:import.meta.url})),g=te(e,"cjs"),y=`${l}.${g}`;ke(`${r}.${Y(e,"cjs")}`,a+[`const { createJiti } = require("${u}");`,...o.map((h,m)=>`const plugin${m} = require(${JSON.stringify(h)})`),"",`const jiti = createJiti(__filename, ${s});`,"",`/** @type {import("${y}")} */`,`module.exports = jiti("${n}")`].join(`
8
- `)),e.options.declaration&&ke(`${r}.${g}`,`export * from "${y}";
9
- ${c?`export { default } from "${y}";`:""}`)}a&&(await ct(`${r}.${Y(e,"cjs")}`),await ct(`${r}.${Y(e,"esm")}`))}await e.hooks.callHook("rollup:done",e)},"createStub");var Fi=Object.defineProperty,Ye=x((e,t)=>Fi(e,"name",{value:t,configurable:!0}),"s$6");const Ve=Ye(e=>{const t=e.indexOf("/");if(t===-1)return[e,void 0];if(e[0]==="@"){const o=e.indexOf("/",t+1);return o===-1?[e,void 0]:[e.slice(0,o),e.slice(o+1)]}return[e.slice(0,t),e.slice(t+1)]},"parseSpecifier"),uo=Ye(e=>{const t=e[0];return!(t==="."||t==="/"||t==="#"||Te(e))},"isBareSpecifier"),fo=Ye((e,t=process.cwd())=>oe(t,e).split("/").includes("node_modules"),"isFromNodeModules");var Ri=Object.defineProperty,Qe=x((e,t)=>Ri(e,"name",{value:t,configurable:!0}),"d$6");const Ze="@types/",yt=Qe(e=>{if(e.startsWith("@")){const[t,o]=e.split("/");return`${t}/types/${o}`}return`${Ze}${e}`},"getAtTypesPackageName"),Ai=Qe(e=>{if(e.startsWith("@")){const t=e.split("/");if(t[1]==="types")return`@${t[0]}/${t.slice(2).join("/")}`}return e.replace(Ze,"")},"getOriginalPackageName"),Ji=["peerDependencies","dependencies","optionalDependencies"],mo=Qe((e,t)=>{const o=Kn.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(Ze)?s.add(Ai(l)):s.add(l)}return{name:"externalize-dependencies",async resolveId(r,n,l){if(!uo(r))return null;const[d]=Ve(r);if(s.has(d)){if(t?.forTypes){const a=yt(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 p=`Could not resolve "${r}" even though it's declared in package.json. Try re-installing node_modules.`;throw console.error(p),new Error(p)}if(t?.forTypes){const p=yt(d);s.has(p)&&console.warn(`Recommendation: "${p}" is externalized but "${d}" is bundled (devDependencies). This may cause type mismatches for consumers. Consider moving "${d}" to dependencies or "${p}" 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 Wi=Object.defineProperty,fe=x((e,t)=>Wi(e,"name",{value:t,configurable:!0}),"d$5");const bt=fe((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"),vt=new Map,zi=fe((e,t)=>{vt.has(e)||t.info({message:`Inlined implicit external "${z(e)}". If this is incorrect, add it to the "externals" option.`,prefix:"plugin:packem:resolve-externals"}),vt.set(e,!0)},"logExternalMessage"),wt=new Set(["node:sqlite","node:test"]),go=fe(e=>{const t=new Map,o=e.options?.rollup?.resolveExternals??{},s=new Set(bt([...e.options?.externals??[]],"include",e.logger)),i=new Set(bt([...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[c,f]of Object.entries(e.pkg.peerDependenciesMeta))f&&typeof f=="object"&&"optional"in f&&f.optional&&s.add(new RegExp(`^${c}(?:/.+)?$`));const l=fe(c=>[...s].some(f=>f.test(c)),"isIncluded"),d=fe(c=>[...i].some(f=>f.test(c)),"isExcluded");let a=[];e.tsconfig&&(a=Object.entries(e.tsconfig.config.compilerOptions?.paths??{}).map(([c])=>c.endsWith("*")?new RegExp(`^${c.replace("*","(.*)")}$`):new RegExp(`^${c}$`)));const p=Je(e.pkg,e.options);return{name:"packem:resolve-externals",options:fe(c=>{c.external=(f,u)=>{if(t.has(f))return t.get(f);let g;Object.keys(p).length>0&&(g=sn(f,p),g===f&&(g=void 0));const y=g&&dt(g)?.name||dt(f)?.name||zo(f);y&&!y.startsWith(".")&&!Ee(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 h of[f,g].filter(Boolean)){if(/^(?:\0|\.{1,2}\/)/.test(h)||Te(h)||new RegExp(String.raw`${e.options?.sourceDir}[/.*|\.*]`).test(h)||e.pkg.name&&h.startsWith(e.pkg.name))return t.set(h,!1),!1;if(Ee(h)||wt.has(h)){let m=o.builtins;return m===void 0&&u&&(m=l(u)&&!d(u)),t.set(h,m),m}if(h[0]==="#"&&!h.startsWith("#/"))return t.set(h,!1),!1;if(a.length>0){for(const m of a)if(m.test(h))return t.set(h,!1),!1}if(l(h)&&!d(h))return t.set(h,!0),!0}return e.implicitDependencies.add(f),zi(f,e.logger),!1}},"options"),resolveId:{filter:{id:fe(c=>!(c.startsWith("\0")||c.startsWith("./")||c.startsWith("../")||Te(c)),"id")},async handler(c,f,{isEntry:u}){if(!u){if(c[0]==="#"&&!c.startsWith("#/")&&e.pkg.imports)return f&&!fo(f,e.options.rootDir)?{external:!0,id:c}:void 0;if(wt.has(c))return{external:!0,id:c,moduleSideEffects:!1};if(Ee(c)){const g=c.replace(/^node:/,"");let y=g;return(o.builtinsPrefix==="add"||!Ee(g))&&(y=`node:${g}`),{external:(o.builtins||l(c))&&!d(c),id:o.builtinsPrefix==="ignore"?c:y,moduleSideEffects:!1}}}},order:"pre"}}},"resolveExternalsPlugin");var Bi=Object.defineProperty,Fe=x((e,t)=>Bi(e,"name",{value:t,configurable:!0}),"l$6");const Ki=Fe(async e=>{try{const s=await _t(e);if(s.isFile())return e;if(s.isDirectory()){const i=J(e,"index.js");if(await me(i))return i;const r=J(e,"index.json");if(await me(r))return r}}catch{}const t=`${e}.js`;if(await me(t))return t;const o=`${e}.json`;if(await me(o))return o},"tryResolveImplicit"),_i=Fe(async(e,t)=>{let o=e;const s=P("/");for(;o!==s&&o!==he(o);){const i=J(o,"node_modules",t,"package.json");if(await me(i))return i;o=he(o)}},"findPackageJson"),ho=Fe(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=Fe(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[g,y]=Ve(u);if(y&&g&&i(g)){const h=a.index+a[0].indexOf(u);d.push({importId:u,quoteEnd:h+u.length,quoteStart:h})}}if(d.length===0)return;const p=he(n),c=(await Promise.all(d.map(async u=>{const[g,y]=Ve(u.importId);if(!y)return;const h=`${g}:${y}:${p}`,m=o.get(h);if(m!==void 0)return m?{...u,resolvedId:m}:void 0;const S=await _i(p,g);if(!S){o.set(h,void 0);return}let v=t.get(S);if(v===void 0)try{v=Lt(S,{resolveCatalogs:!0}),t.set(S,v)}catch{t.set(S,void 0),o.set(h,void 0);return}if(!v){o.set(h,void 0);return}if(v.exports){o.set(h,void 0);return}const M=he(S),R=J(M,y),B=await Ki(R);if(!B){o.set(h,void 0);return}const b=oe(M,B),D=`${g}/${b}`;return o.set(h,D),{...u,resolvedId:D}}))).filter(u=>u!==void 0);if(c.length===0)return;const f=new Un(r);for(const{quoteEnd:u,quoteStart:g,resolvedId:y}of c)f.overwrite(g,u,y),this.debug(`[resolve-implicit-externals] Rewriting ${r.slice(g,u)} -> ${y} in ${n}`);return{code:f.toString(),map:f.generateMap({hires:!0})}}}},"resolveImplicitExternalsPlugin");var Ui=Object.defineProperty,H=x((e,t)=>Ui(e,"name",{value:t,configurable:!0}),"n$2");const Re=H(e=>!!e?.endsWith(".d"),"isDeclarationOnlyName"),$t=H((e,t)=>t?o=>{if(!Re(o.name))return`${o.name}.${e()}`}:o=>{if(!Re(o.name))return ge(o,e())},"createChunkFileNames"),xt=H((e,t)=>t?o=>{const s=Array.isArray(o.names)&&o.names[0]?o.names[0]:o.name;if(!Re(s))return`${s??"[name]"}.${e()}`}:o=>{const s=Array.isArray(o.names)&&o.names[0]?o.names[0]:o.name;if(!Re(s))return Bo(o,e())},"createEntryFileNames"),Li=H((e,t)=>{let o=`node${It.node.split(".")[0]}`;if(t.pkg.engines?.node){const s=io(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=it(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([...Se(t.options.browserTargets??[]),...s])])}else t.options.rollup.esbuild.target=t.options.runtime==="node"?[o]:Se(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=it(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([...Se(t.options.browserTargets??[]),...s])])}else t.options.rollup.oxc.target=t.options.runtime==="node"?[o]:Se(t.options.browserTargets??[]);return t.options.rollup.oxc}throw new Error("A Unknown transformer was provided")},"getTransformerConfig"),yo=H((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 "${z(oe(P(),e.id))}"
10
- Is the module installed? Note:
11
- ↳ to inline a module into your bundle, install it to "devDependencies".
12
- ↳ to depend on a module via import/require, install it to "dependencies".`);return e.code==="MODULE_LEVEL_DIRECTIVE"?!0:e.code==="MIXED_EXPORTS"&&t.options.cjsInterop===!0},"sharedOnWarn"),bo=H((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:H((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=H(async(e,t)=>{const o=Je(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=Yt(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:dn(e.dependencyGraphMap,e.buildEntries),preserveModules:!1},[r,n,l]=Bt(e.options.rollup.plugins,"build"),d=e.tsconfig?.config.compilerOptions?.esModuleInterop;let a;return e.options.rollup.pure&&(a=wn({...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"),{...bo(e,"build"),output:[e.options.emitCJS&&{assetFileNames:"[name]-[hash][extname]",chunkFileNames:$t(()=>Y(e,"cjs"),e.options.unbundle||e.options.rollup.output?.preserveModules===!0),compact:e.options.minify,dir:P(e.options.rootDir,e.options.outDir),entryFileNames:xt(()=>Y(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:$t(()=>Y(e,"esm"),e.options.unbundle||e.options.rollup.output?.preserveModules===!0),compact:e.options.minify,dir:P(e.options.rootDir,e.options.outDir),entryFileNames:xt(()=>Y(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:[_(Gt(),t),mo(e.pkg),to(),e.tsconfig&&_(oo(e.options.rootDir,e.logger,e.tsconfig),t),e.tsconfig&&e.options.rollup.tsconfigPaths&&_(no(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&&Ht({customResolver:s,...e.options.rollup.alias,entries:o}),...r,s,e.options.rollup.nativeModules&&Nn(e.options.rollup.nativeModules),e.options.rollup.dataUri&&kn({...e.options.rollup.dataUri}),e.options.rollup.polyfillNode&&fn({sourceMap:e.options.sourcemap,...e.options.rollup.polyfillNode}),e.options.rollup.json&&Zt({...e.options.rollup.json}),e.options.rollup.debarrel&&En(e.options.rollup.debarrel,e.logger),mn(),e.options.rollup.wasm&&gn(e.options.rollup.wasm),e.options.rollup.url&&Rn(e.options.rollup.url),e.options.rollup.css&&e.options.rollup.css.loaders&&e.options.rollup.css.loaders.length>0&&_(await Wn({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&&Jn(e.options.rollup.css,e.options.rootDir),e.options.rollup.raw&&_(Tn(e.options.rollup.raw),t),e.options.sourcemap&&Fn(e.options.rollup.sourcemap),...n,e.options.rollup.minifyHTMLLiterals&&e.options.minify&&Mn({...e.options.rollup.minifyHTMLLiterals,logger:e.logger}),e.options.declaration&&e.options.rollup.isolatedDeclarations&&e.options.isolatedDeclarationTransformer&&_(On(J(e.options.rootDir,e.options.sourceDir),e),t),e.options.rollup.requireCJS&&e.options.emitESM&&_(In({...e.options.rollup.requireCJS,cwd:e.options.rootDir},e.logger),t),e.options.rollup.babel&&_(xn({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),a,_(e.options.transformer(Li(e.options.transformerName,e)),t),e.options.rollup.preserveDirectives&&Cn({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&&Qt({...e.options.rollup.cjsInterop,logger:e.logger}),e.options.rollup.dynamicVars&&hn(),e.options.rollup.dynamicVars&&yn(e.options.rollup.dynamicVars),e.options.rollup.commonjs&&_($n({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&&Sn(e.pkg,e.options.rollup.shim),e.options.rollup.jsxRemoveAttributes&&_(Pn({attributes:e.options.rollup.jsxRemoveAttributes.attributes,logger:e.logger}),t),...l,e.options.rollup.metafile&&bn(),e.options.rollup.copy&&jn(e.options.rollup.copy,e.logger),e.options.rollup.license&&e.options.rollup.license.path&&typeof e.options.rollup.license.dependenciesTemplate=="function"&&eo({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&&vn({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"),Vi=H(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=Ao(Vi),wo=H(async(e,t)=>{const o=Je(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=Yt(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]=Bt(e.options.rollup.plugins,"dts");return{...bo(e,"dts"),onwarn(a,p){yo(a,e)||a.code!=="EMPTY_BUNDLE"&&p(a)},output:[e.options.emitCJS&&{chunkFileNames:H(a=>ge(a,te(e,"cjs")),"chunkFileNames"),compact:e.options.minify,dir:P(e.options.rootDir,e.options.outDir),entryFileNames:`[name].${te(e,"cjs")}`,format:"cjs",sourcemap:e.options.sourcemap,...e.options.rollup.output},e.options.emitESM&&{chunkFileNames:H(a=>ge(a,te(e,"esm")),"chunkFileNames"),compact:e.options.minify,dir:P(e.options.rootDir,e.options.outDir),entryFileNames:`[name].${te(e,"esm")}`,format:"esm",sourcemap:e.options.sourcemap,...e.options.rollup.output},e.options.declaration==="compatible"&&{chunkFileNames:H(a=>ge(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:[_(Gt(),t),_(to(),t),mo(e.pkg,{forTypes:!0,skipUnlistedWarnings:!0}),e.options.rollup.json&&Zt({...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&&_(oo(e.options.rootDir,e.logger,e.tsconfig),t),e.tsconfig&&e.options.rollup.tsconfigPaths&&_(no(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&&Ht({customResolver:i,...e.options.rollup.alias,entries:o}),...n,i,...l,await qi(r)(e),e.options.emitCJS&&Dn(),e.options.cjsInterop&&e.options.emitCJS&&Qt({...e.options.rollup.cjsInterop,logger:e.logger}),e.options.rollup.patchTypes&&_(An(e.options.rollup.patchTypes,e.logger),t),an(),...d,e.options.rollup.license&&e.options.rollup.license.path&&typeof e.options.rollup.license.dtsTemplate=="function"&&eo({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 Hi=Object.defineProperty,$o=x((e,t)=>Hi(e,"name",{value:t,configurable:!0}),"d$4");const Ae="rollup-watch.json",jt=$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:p})=>{await t?.(),e.logger.info({message:`${z(oe(".",a))} was ${p}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
- ⚡️ Build run in ${a.duration}ms
15
-
16
- `),await i?.(!0);break}case"BUNDLE_START":{e.logger.info({message:z("build started..."),prefix:d});break}case"END":{e.logger.success({message:"Rebuild finished",prefix:d}),await r?.();break}case"ERROR":{Jt(a.error),e.logger.error({context:[a.error],message:`Rebuild failed: ${a.error.message}`,prefix:d});break}}})},"watchHandler"),Gi=$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=[J(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=lt(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 p of d)a+=se(`
17
- └─ ${oe(process.cwd(),p)}`);if(e.logger.info(a),jt({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 p=await wo(e,t);n&&(p.cache=t.get(`dts-${Ae}`)),await e.hooks.callHook("rollup:dts:options",e,p);const c=lt(p);await e.hooks.callHook("rollup:watch",e,c),jt({context:e,fileCache:t,mode:"types",useCache:n,watcher:c})}},"watch");var Xi=Object.defineProperty,Yi=x((e,t)=>Xi(e,"name",{value:t,configurable:!0}),"e$4");const Qi=Yi(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: \`./${oe(e.options.rootDir,o)}\``),await Co(o))}},"cleanDistributionDirectories");var Zi=Object.defineProperty,es=x((e,t)=>Zi(e,"name",{value:t,configurable:!0}),"o$4");const ts=es(()=>Ln((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 os=Object.defineProperty,De=x((e,t)=>os(e,"name",{value:t,configurable:!0}),"t$1");const ns=qn,is=De((e,t)=>{const{sideEffects:o}=t;let s;if(typeof o=="boolean")s=De(()=>o,"hasSideEffects");else if(Array.isArray(o))if(o.length<=0)s=De(()=>!1,"hasSideEffects");else{const i=o.map(r=>r.includes("/")?r:`**/${r}`);s=ns(i,void 0,{resolve:e})}else s=De(()=>{},"hasSideEffects");return s},"getPackageSideEffect");function ss(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}x(ss,"getDefaultExportFromCjs");var We,kt;function rs(){if(kt)return We;kt=1;var e=Object.defineProperty,t=x((d,a)=>e(d,"name",{value:a,configurable:!0}),"s"),o=Hn,s=o.spawn,i=o.exec;We=x(function(d,a,p){if(typeof a=="function"&&p===void 0&&(p=a,a=void 0),d=parseInt(d),Number.isNaN(d)){if(p)return p(new Error("pid must be a number"));throw new Error("pid must be a number")}var c={},f={};switch(c[d]=[],f[d]=1,process.platform){case"win32":i("taskkill /pid "+d+" /T /F",p);break;case"darwin":l(d,c,f,function(u){return s("pgrep",["-P",u])},function(){r(c,a,p)});break;default:l(d,c,f,function(u){return s("ps",["-o","pid","--no-headers","--ppid",u])},function(){r(c,a,p)});break}},"treeKill");function r(d,a,p){var c={};try{Object.keys(d).forEach(function(f){d[f].forEach(function(u){c[u]||(n(u,a),c[u]=1)}),c[f]||(n(f,a),c[f]=1)})}catch(f){if(p)return p(f);throw f}if(p)return p()}x(r,"killAll"),t(r,"killAll");function n(d,a){try{process.kill(parseInt(d,10),a)}catch(p){if(p.code!=="ESRCH")throw p}}x(n,"killPid"),t(n,"killPid");function l(d,a,p,c,f){var u=c(d),g="";u.stdout.on("data",function(m){var m=m.toString("ascii");g+=m});var y=t(function(h){if(delete p[d],h!=0){Object.keys(p).length==0&&f();return}g.match(/\d+/g).forEach(function(m){m=parseInt(m,10),a[d].push(m),a[m]=[],p[m]=1,l(m,a,p,c,f)})},"onClose");u.on("close",y)}return x(l,"buildProcessTree"),t(l,"buildProcessTree"),We}x(rs,"requireTreeKill");var as=rs();const ls=ss(as);var ps=Object.defineProperty,xo=x((e,t)=>ps(e,"name",{value:t,configurable:!0}),"l$4");const cs=xo(e=>process.platform==="win32"&&"cmd"in e&&"code"in e&&typeof e.cmd=="string"&&e.cmd.startsWith("taskkill")&&e.code===128,"isTaskKillCmdProcessNotFoundError"),us=xo(async({pid:e,signal:t})=>await new Promise((o,s)=>{if(!Number.isInteger(e)||e<=0){s(new Error("Invalid process ID"));return}ls(e,t,i=>{if(i&&!cs(i)){s(i);return}o()})}),"killProcess");var ds=Object.defineProperty,fs=x((e,t)=>ds(e,"name",{value:t,configurable:!0}),"r$1");const Et=fs((e,t)=>{if(e.warnings.size>0&&(t&&e.logger.raw(`
18
- `),e.logger.warn(`Build is done with some warnings:
19
-
20
- ${[...e.warnings].map(o=>`- ${o}`).join(`
21
- `)}`),e.options.failOnWarn))throw new Error("Exiting with code (1). You can change this behavior by setting `failOnWarn: false`.")},"logBuildErrors");var ms=Object.defineProperty,gs=x((e,t)=>ms(e,"name",{value:t,configurable:!0}),"n$1");const hs=gs(async(e,t,o)=>{if(e&&await me(J(e,"keystore.json"))){const s=await Rt(J(e,"keystore.json"));let i=await Yo(e,{withFileTypes:!0});i=i.filter(n=>n.isDirectory());let r=o;for(const n of i)if(!s[n.name]){try{await Ut(J(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
- `),t.info({message:`Removing ${n.name} file cache, the cache key is not used anymore.`,prefix:"file-cache"}),r=!1}}},"removeOldCacheFolders");var ys=Object.defineProperty,bs=x((e,t)=>ys(e,"name",{value:t,configurable:!0}),"a$6");const vs=bs(e=>{if(e.options.runtime!=="node"||e.options.emitCJS!==!0)return;const t=[],o=e.pkg.engines?.node,s=o?io(o):null;s&&t.push(s.version);const i=rt(e.options.rollup.esbuild?.target??[]);for(const n of i)if(typeof n=="string"&&n.startsWith("node")){const l=Ne(n.slice(4));l&&t.push(l.version)}const r=rt(e.options.rollup.oxc?.target??[]);for(const n of r)if(typeof n=="string"&&n.startsWith("node")){const l=Ne(n.slice(4));l&&t.push(l.version)}if(t.length===0){const n=Ne(It.node);n&&t.push(n.version)}t.some(n=>so(n,">=23.0.0 || >=22.12.0"))&&e.logger.warn(["We recommend using the ESM format instead of CommonJS.","The ESM format is compatible with modern platforms and runtimes, and most new libraries are now distributed only in ESM format.","Learn more at https://nodejs.org/en/learn/modules/publishing-a-package#how-did-we-get-here"].join(`
23
- `))},"warnLegacyCJS");var ws=Object.defineProperty,xe=x((e,t)=>ws(e,"name",{value:t,configurable:!0}),"w");const $s=Yn(Gn.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}}x(jo,"ye$1");xe(jo,"memo");const xs={bundler:"bundler",node10:"node10","node16-cjs":"node16 (from CJS)","node16-esm":"node16 (from ESM)"},js={"":"",1:"(CJS)",99:"(ESM)"},St={CJSOnlyExportsDefault:Me,CJSResolvesToESM:we,FallbackCondition:we,FalseCJS:ve,FalseESM:ve,FalseExportDefault:Me,InternalResolutionError:ve,MissingExportEquals:Me,NamedExports:we,NoResolution:ve,UnexpectedModuleSyntax:ve,UntypedResolution:we},ks={esmOnly:["node10","node16-cjs"],node16:["node10"],strict:[]},Es=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"),Ss=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"),Ds=xe(async(e,t)=>{if(!e.options?.validation)return;const o=e.options.validation;if(!o.attw)return;const{packageJson:s}=Xe(e.options.rootDir);if(e.logger.log(s),e.pkg=s,t&&e.logger.raw(`
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(v=>{e.logger.warn({message:v,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 Qo(J(Xn(),"packem-attw-"));let p;try{p=await import("@arethetypeswrong/core")}catch{e.logger.error({message:`ATTW check requires ${Me`@arethetypeswrong/core`} to be installed.`,prefix:"attw"});return}let c;switch(r){case"auto":{const{detect:v}=await import("package-manager-detector/detect"),M=await v({cwd:e.options.rootDir});if(M){if(M.name==="bun")throw new Error("Bun does not support --json on the pack command");c=M.name}break}case"bun":throw new Error("Bun does not support --json on the pack command");case"pnpm":{c="pnpm";break}case"yarn":{c="yarn";break}default:c="npm"}const{allResolutionKinds:f,getResolutionOption:u,groupProblemsByKind:g}=await import("@arethetypeswrong/core/utils"),{filterProblems:y,problemAffectsEntrypoint:h,problemAffectsResolutionKind:m,problemKindInfo:S}=await import("@arethetypeswrong/core/problems");try{let v=`--pack-destination ${a}`;c==="yarn"?v=`--out "${J(a,"package.tgz")}"`:c==="bun"&&(v=` --destination "${a}"`);let M=" --ignore-scripts";c==="yarn"?M="":c==="pnpm"&&(M=" --config.ignore-scripts=true");let{stdout:R}=await $s(`${c} pack --json ${v}${M}`,{cwd:e.options.rootDir,encoding:"utf8"});R=R.trim(),c==="pnpm"?R=Es(R):c==="yarn"&&(R=Ss(R));const B=JSON.parse(R);if(!B?.filename)throw new Error(`Invalid npm pack output format: ${R}`);const b=B.filename,D=await Zo(b),I=p.createPackageFromTarballData(new Uint8Array(D)),w=await p.checkPackage(I,l),O=ks[n];if(w.types!==!1&&w.problems.length>0){const K=f.filter(k=>!O.includes(k)),U=f.filter(k=>O.includes(k)),ae=[...K,...U],ne=Object.keys(w.entrypoints),q=ne.map(k=>`"${k==="."?w.packageName:`${w.packageName}/${k.slice(2)}`}"`),L=ne.map((k,N)=>{const E=w.problems.some(C=>h(C,k,w))?"redBright":"greenBright";return G[E](q[N])}),je=jo((k,N)=>{const E=O.includes(N)?"(ignored) ":"",C=g(y(w.problems,w,{entrypoint:k,resolutionKind:N})),$=w.entrypoints[k].resolutions[N],{resolution:W}=$,T=Object.keys(C);if(T.length>0)return T.map(et=>E+St[et](S[et].shortDescription)).join(`
26
- `);const ie="OK (JSON)",ue=$.isWildcard?"(wildcard)":`OK ${js[w.programInfo[u(N)].moduleKinds?.[W?.fileName??""]?.detectedKind||""]}`;return E+(W?.isJson?ie:ue)}),F=Qn({style:{border:Zn}});F.setHeaders(["",...ae.map(k=>xs[k])]),L.forEach((k,N)=>{const[E,C,$,W]=ae.map(T=>ne.map(ie=>je(ie,T)));F.addRow([k,E[N]??null,C[N]??null,$[N]??null,W[N]??null])});const le=g(w.problems),ee=Object.entries(le).map(([k,N])=>{const E=S[k],C=N.some(W=>K.some(T=>m(W,T,w))),$=`${`${E.description}${E.details?` Use \`-f json\` to see ${E.details}.`:""}`} ${E.docsUrl}`;return`${C?"":"(ignored per resolution) "}${St[k]($)}`}),A=`Are the types wrong problems found:
27
-
28
- ${F.toString()}
29
-
30
- ${ee.join(`
31
-
32
- `)}`;if(i==="error"){e.logger.error({message:A,prefix:"attw"}),be.exitCode=1;return}e.logger.warn({message:A,prefix:"attw"})}else e.logger.success({message:Ft(`No Are the types wrong problems found ${Oo`(${Math.round(performance.now()-d).toString()}ms)`}`),prefix:"attw"})}catch(v){e.logger.error({message:`ATTW check failed: ${v.toString()}`,prefix:"attw"}),e.logger.debug({message:"Found errors, setting exit code to 1",prefix:"attw"}),be.exitCode=1}finally{await Ut(a,{force:!0,recursive:!0}).catch(()=>{})}},"attw");var Os=Object.defineProperty,ko=x((e,t)=>Os(e,"name",{value:t,configurable:!0}),"n");const Dt=ko(e=>[...e].map(t=>we(t)).join(", "),"joinWarnings"),Ps=ko(e=>{if(e.hoistedDependencies.size>0){const o=`These dependencies are shamefully hoisted: ${Dt(e.hoistedDependencies)}`;j(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: ${Dt(t)}`;j(e,o)}},"validateDependencies");var Ms=Object.defineProperty,Ns=x((e,t)=>Ms(e,"name",{value:t,configurable:!0}),"o$2");const Ot=">=18.0.0",Cs=Ns(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){j(e,`The 'engines.node' field is missing in your package.json. Consider adding "engines": { "node": "${Ot}" } to specify Node.js version requirements.`);return}if(!zn(i)){j(e,`Invalid Node.js version range "${i}" in engines.node field. Please use a valid semver range like "${Ot}".`);return}if(!so(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 Ts=Object.defineProperty,Eo=x((e,t)=>Ts(e,"name",{value:t,configurable:!0}),"i$1");const Is=Eo((e,t)=>ei(e,t)<=e.length/3||t.includes(e),"isSimilar"),Fs=Eo((e,t)=>{const o=e.toLowerCase();return t.filter(s=>Is(s.toLowerCase(),o))},"findAlternatives");var Rs=Object.defineProperty,Pt=x((e,t)=>Rs(e,"name",{value:t,configurable:!0}),"o$1");const As=Pt(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?Ge(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("*")&&!_n(a)&&n.push(a.replace(`${t.rootDir}/`,""));const l=Pt(a=>oe(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 p of n){const c=Fs(p,d);a+=`
33
- - ${z(p)}${c.length>0?Po` (did you mean ${c.map(f=>`"${f}"`).join(", ")}?)`:""}`}j(e,a)}},"validatePackageEntries");var Js=Object.defineProperty,Ce=x((e,t)=>Js(e,"name",{value:t,configurable:!0}),"y$2");const Ws=Ce((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=Ce((a,p)=>{if(a!==null){if(typeof a=="string"){if(!a.startsWith("./")){j(e,`Invalid exports path "${a}" at ${p}. Export paths must start with "./"`);return}if(a.includes("../")){j(e,`Invalid exports path "${a}" at ${p}. Export paths should not contain "../" for security reasons`);return}const c=o.packageJson?.allowedExportExtensions||[],f=[...Wo,...c];if(Ke(a)){try{const u=a.startsWith("./")?P(e.options.rootDir,a.slice(2)):P(e.options.rootDir,a),g=Vt([u],{cwd:e.options.rootDir,dot:!1,ignore:["**/node_modules/**","**/.git/**","**/dist/**"]});if(g.length===0)return;const y=g.filter(h=>!f.some(m=>h.endsWith(m)));y.length>0&&j(e,`Export path "${a}" at ${p} matches files with invalid extensions: ${y.join(", ")}. Valid extensions are: ${f.join(", ")}`)}catch(u){j(e,`Could not validate glob pattern "${a}" at ${p}: ${u instanceof Error?u.message:"Unknown error"}`)}return}f.some(u=>a.endsWith(u))||j(e,`Export path "${a}" at ${p} should have a valid file extension (${f.join(", ")})`);return}if(Array.isArray(a)){if(a.length===0){j(e,`Empty fallback array at ${p}. Fallback arrays should contain at least one entry`);return}a.forEach((c,f)=>{d(c,`${p}[${f}]`)});return}if(typeof a=="object"&&a!==null){const c=Object.keys(a);if(c.length===0){j(e,`Empty conditions object at ${p}. Conditional exports should define at least one condition`);return}const f=c.filter(g=>!l.has(g));if(f.length>0){const g=r.length>0,y=[...s].join(", ");g?j(e,`Unknown export conditions [${f.join(", ")}] at ${p}. Consider using standard conditions (${y}) or add custom conditions to 'validation.packageJson.extraConditions' in your packem config.`):j(e,`Unknown export conditions [${f.join(", ")}] at ${p}. Consider using standard conditions (${y}) or add custom conditions using the 'extraConditions' option in your validation config.`)}const u=c.filter(g=>s.has(g));if(u.length>1){const g=["node-addons","node","import","require","module-sync","default"],y=u,h=g.filter(m=>y.includes(m));JSON.stringify(y)!==JSON.stringify(h)&&j(e,`Incorrect condition order at ${p}. Standard conditions should be ordered: ${h.join(" > ")}`)}c.includes("import")&&c.includes("require"),c.includes("development")&&c.includes("production")&&j(e,`Conflicting conditions "development" and "production" at ${p}. These conditions are mutually exclusive`),c.forEach(g=>{d(a[g],`${p}.${g}`)});return}j(e,`Invalid exports value type at ${p}. Expected string, array, object, or null`)}},"validateExportsValue");Ce(a=>{if(typeof a=="string"){d(a,"exports");return}if(Array.isArray(a)){a.forEach((p,c)=>{d(p,`exports[${c}]`)});return}if(typeof a=="object"&&a!==null){const p=Object.keys(a);if(p.length===0){j(e,"Empty exports object. Define at least one export entry");return}const c=p.filter(u=>u.startsWith(".")),f=p.filter(u=>!u.startsWith("."));if(c.length>0&&f.length>0){j(e,'Mixed subpaths and conditions in exports object. Use either subpaths (keys starting with ".") or conditions, not both');return}c.length>0?(p.includes(".")||j(e,'Missing main export ".". Subpaths exports should include a main export entry'),p.forEach(u=>{u.startsWith("./")||u==="."||u.startsWith(".")&&!u.startsWith("./")&&j(e,`Invalid subpath "${u}". Subpaths should start with "./" or be exactly "."`),u.includes("*")&&(u.match(/\*/g)||[]).length>1&&j(e,`Invalid subpath pattern "${u}". Only one "*" wildcard is allowed per subpath`),d(a[u],`exports["${u}"]`)})):d(a,"exports");return}j(e,"Invalid exports field type. Expected string, array, or object")},"validateExportsObject")(t)},"validateExports"),zs=Ce(e=>{const t=e.options.validation,{pkg:o}=e,s=Y(e,"cjs"),i=Y(e,"esm");o.name===void 0&&t.packageJson?.name!==!1&&j(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?j(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))||j(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&&j(e,"The 'main' field is missing in your package.json. This field should point to your main entry file."),o.main?.endsWith(`.${i}`)&&j(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&&j(e,"The 'module' field is missing in your package.json, but you are emitting ES modules."),o.module&&o.main&&o.module===o.main&&j(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}`)&&j(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&&j(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&&j(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&&j(e,"The 'module' field is missing in your package.json. This field is necessary when emitting ES modules."),o.module?.endsWith(`.${s}`)&&j(e,`The 'module' field should not use a '.${s}' extension for ES modules.`),o.module&&o.main&&o.module===o.main&&j(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&&j(e,"The 'exports' field is missing in your package.json. This field is required for defining explicit exports."))),o.exports!==void 0&&Ws(e,o.exports),t.packageJson?.bin!==!1){const l=r?i:s;if(s!==i){if(typeof o.bin=="string"&&o.bin.endsWith(`.${l}`))j(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}`)&&j(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&&j(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)&&j(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&&j(e,"The 'sideEffects' field is missing in your package.json. Consider adding this field to your package.json.")},"validatePackageFields");var Bs=Object.defineProperty,Ks=x((e,t)=>Bs(e,"name",{value:t,configurable:!0}),"o");const _s=Ks(e=>{const{packageJson:t}=Xe(e.options.rootDir);e.pkg=t,Ps(e),Cs(e),zs(e),As(e)},"validator");var Us=Object.defineProperty,Ls=x((e,t)=>Us(e,"name",{value:t,configurable:!0}),"a$2");const Vs=/^[^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"]),Mt=Ls(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(Vs.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(!ce(s))throw new Error(`Target path "${s}" for alias "${t}" does not exist.`)}},"validateAliasEntries");var Hs=Object.defineProperty,Gs=x((e,t)=>Hs(e,"name",{value:t,configurable:!0}),"p$2");const Xs=Gs((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"?ot(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(p=>{const c=n.replace(new RegExp(`^.?/?${e.options.outDir}/?`),"");return p.path.endsWith(c)||ti(n)(p.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 p=`File size exceeds the limit: ${J(e.options.outDir,a.path)} (${V(a.size.bytes)} / ${V(d,{decimals:2})})`;s?(t&&e.logger.raw(`
34
- `),e.logger.warn({message:p,prefix:"validation:file-size"})):j(e,p)}}if(i){const n=e.buildEntries.reduce((d,a)=>{const p=a.size?.bytes;return d+(typeof p=="number"?p:0)},0),l=typeof i=="string"?ot(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: ${V(n)} / ${V(l,{decimals:2})}`;s?(t&&Object.keys(r).length===0&&e.logger.raw(`
35
- `),e.logger.warn({message:d,prefix:"validation:file-size"})):j(e,d)}}},"validateBundleSize");var Ys=Object.defineProperty,Nt=x((e,t)=>Ys(e,"name",{value:t,configurable:!0}),"t");const Qs=Nt(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=Nt(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 Zs=Object.defineProperty,er=x((e,t)=>Zs(e,"name",{value:t,configurable:!0}),"c$2");const Ct="rollup-build.json",ze="dependencies-cache.json",tr=er(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(ze,o),r=!e.options.validation||e.options.validation.dependencies===!1||i;if(r&&(s.cache=t.get(Ct,o),i)){const d=t.get(ze,o);d&&(d.used?.forEach(a=>e.usedDependencies.add(a)),d.hoisted?.forEach(a=>e.hoistedDependencies.add(a)))}const n=await Kt(s);r&&t.set(Ct,n.cache,o),e.options.validation&&e.options.validation.dependencies!==!1&&t.set(ze,{hoisted:[...e.hoistedDependencies],used:[...e.usedDependencies]},o),await e.hooks.callHook("rollup:build",e,n);const l=new Map;for(const d of s.output){const{output:a}=await n.write(d),p=a.filter(f=>f.type==="chunk"&&f.isEntry);for(const f of p)e.buildEntries.push({chunks:f.imports.filter(u=>p.find(g=>g.fileName===u)),dynamicImports:f.dynamicImports,exports:f.exports,modules:Object.entries(f.modules).map(([u,g])=>({bytes:g.renderedLength,id:u})),path:f.fileName,size:{bytes:Buffer.byteLength(f.code,"utf8")},type:"entry"});const c=a.filter(f=>f.type==="asset");for(const f of c)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 or=Object.defineProperty,Oe=x((e,t)=>or(e,"name",{value:t,configurable:!0}),"e");const Tt="rollup-dts.json",nr=Oe(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(Tt,o);const i=await Kt(s);if(t.set(Tt,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=te(e,"cjs");await i.write({chunkFileNames:Oe(n=>ge(n,r),"chunkFileNames"),dir:P(e.options.rootDir,e.options.outDir),entryFileNames:`[name].${r}`})}if(e.options.emitESM){const r=te(e,"esm");await i.write({chunkFileNames:Oe(n=>ge(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:Oe(r=>ge(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 ir=Object.defineProperty,sr=x((e,t)=>ir(e,"name",{value:t,configurable:!0}),"a");const rr=sr(async e=>await new Promise((t,o)=>{let s=0;const i=ro(e).pipe(oi({params:{[ni.BROTLI_PARAM_QUALITY]:11}}));i.on("error",o),i.on("data",r=>{s+=r.length}),i.on("end",()=>{t(s)})}),"brotliSize");var ar=Object.defineProperty,lr=x((e,t)=>ar(e,"name",{value:t,configurable:!0}),"K");const pr=lr((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 cr=Object.defineProperty,ur=x((e,t)=>cr(e,"name",{value:t,configurable:!0}),"i");const dr=ur(async e=>await new Promise((t,o)=>{let s=0;const i=ro(e).pipe(ii({level:9}));i.on("error",o),i.on("data",r=>{s+=r.length}),i.on("end",()=>{t(s)})}),"gzipSize");var fr=Object.defineProperty,Z=x((e,t)=>fr(e,"name",{value:t,configurable:!0}),"h");const mr=2,gr=Z((e,t)=>{const o=Z(n=>oe(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
- `);for(const n of r){let l=n.size?.bytes??0,d=0;for(const p of n.chunks??[]){const c=t.buildEntries.find(f=>f.path.endsWith(p))?.size?.bytes??0;l+=c,d+=c}let a=` ${G(o(n.path))} (${[`total size: ${z(V(l,{decimals:2}))}`,n.size?.brotli&&`brotli size: ${z(V(n.size.brotli,{decimals:2}))}`,n.size?.gzip&&`gzip size: ${z(V(n.size.gzip,{decimals:2}))}`,d!==0&&`chunk size: ${z(V(d,{decimals:2}))}`].filter(Boolean).join(", ")})`;if(a+=n.exports?.length?`
37
- exports: ${se(n.exports.join(", "))}`:"",n.chunks?.length&&(a+=`
38
- ${n.chunks.map(p=>{const c=t.buildEntries.find(f=>f.path===p)??{};return se(` └─ ${o(p)}${G(c.bytes?` (${V(c?.bytes,{decimals:2})})`:"")}`)}).join(`
39
- `)}`),n.dynamicImports&&n.dynamicImports.length>0&&(a+=`
40
- dynamic imports:`,a+=`
41
- ${n.dynamicImports.map(p=>se(` └─ ${o(p)}`)).join(`
42
- `)}`),n.modules&&n.modules.length>0){const p=n.modules.filter(c=>c.id.includes("node_modules")).toSorted((c,f)=>(f.bytes||0)-(c.bytes||0)).map(c=>se(` 📦 ${o(c.id)}${G(c.bytes?` (${V(c.bytes,{decimals:2})})`:"")}`)).join(`
43
- `);a+=p.length>0?`
44
- inlined modules:
45
- ${p}`:""}if(t.options.declaration){const p=Y(t,"cjs"),c=Y(t,"esm"),f=te(t,"cjs"),u=te(t,"esm");let g=n.path.replace(/\.js$/,".d.ts"),y="commonjs";n.path.endsWith(`.${p}`)?g=n.path.replace(new RegExp(String.raw`\.${p}$`),`.${f}`):n.path.endsWith(`.${c}`)&&(y="module",g=n.path.replace(new RegExp(String.raw`\.${c}$`),`.${u}`));const h=t.buildEntries.find(m=>m.path.endsWith(g));if(h){i.push(h.path);let m;g.includes(".d.ts")||(g=g.replace(/\.d\.[m|c]ts$/,".d.ts"),m=t.buildEntries.find(S=>S.path.endsWith(g))),m&&(i.push(m.path),y==="commonjs"?a+=`
46
- types:
47
- ${[h,m].map(S=>`${se(" └─ ")+G(o(S.path))} (total size: ${z(V(S.size?.bytes??0,{decimals:2}))})`).join(`
48
- `)}`:a+=`
49
- types: ${G(o(h.path))} (total size: ${z(V(h.size?.bytes??0,{decimals:2}))})`)}}s=!0,a+=`
50
-
51
- `,e.raw(n.chunk?se(a):a)}}if(t.buildEntries.filter(n=>n.type==="asset").length>0){let n="Assets:";for(const l of t.buildEntries.filter(d=>d.type==="asset"&&!i.includes(d.path)))n+=`${se(`
52
- └─ `)+G(o(l.path))} (total size: ${z(V(l.size?.bytes??0,{decimals:2}))})`;n+=`
53
-
54
- `,e.raw(n)}return s&&e.raw("Σ Total dist size (byte size):",z(V(t.buildEntries.reduce((n,l)=>n+(l.size?.bytes??0),0),{decimals:2})),`
55
- `),s},"showSizeInformation"),hr=/\.d\.[mc]?ts$/,yr=Z(e=>!!e?.endsWith(".d"),"isDeclarationOnlyEntry"),Be=Z(e=>e.filter(t=>!hr.test(t.input)),"filterDtsEntries"),br=Z((e,t)=>{const o=[];return e!=="undefined"&&o.push(`${z(e)} environment`),t!=="undefined"&&o.push(`${z(t)} runtime`),o.length>0?`Preparing build for ${o.join(" with ")}`:""},"createBuildLogMessage"),vr=Z((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"),wr=Z((e,t)=>{const o=[];return e!=="undefined"&&o.push(e),t!=="undefined"&&o.push(t),o.length>0?`${o.join("/")}/`:""},"createSubDirectory"),Pe=Z((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"),$r=Z(async(e,t)=>{const o=Z(l=>{const d=l.name??l.fileAlias;if(!d)return"default";const a=[".browser",".server",".development",".node",".workerd"];for(const p of a)if(d.includes(p))return p.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=pr(s,"environment","runtime","type"),r=new Set,n=new Set;for(const[l,d]of Object.entries(i))for(const[a,p]of Object.entries(d))for(const[,c]of Object.entries(p)){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=br(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 g=f.options.rollup.replace?vr(l,a):{};if(f.options.rollup.replace){f.options.rollup.replace.values===void 0&&(f.options.rollup.replace.values={});const b={...f.options.rollup.replace.values};Object.assign(f.options.rollup.replace.values,g,b)}else e.logger.warn("'replace' plugin is disabled. You should enable it to replace 'process.env.*' environments.");const y=f.options.rollup.replace?.values||g,h=wr(l,a);let m=f.options.minify??!1;l==="development"?m=!1:l==="production"&&(m=!0);const S=c.map(b=>{const{environment:D,runtime:I,...w}=b;return{...w,environment:D==="undefined"?void 0:D,runtime:I==="undefined"?void 0:I}}),v=[],M=[],R=[],B=[];for(const b of S){if(yr(b.name)){b.declaration&&B.push(b);continue}b.cjs&&b.esm?v.push(b):b.cjs?R.push(b):b.esm?M.push(b):b.declaration&&B.push(b)}if(v.length>0){const b=Pe(f,!0,!0,Be(v),m,y);if(e.options.dtsOnly||r.add({context:b,fileCache:t,subDirectory:h}),e.options.declaration){const D=v.filter(I=>I.declaration);D.length>0&&n.add({context:{...b,options:{...b.options,entries:D}},fileCache:t,subDirectory:h})}}if(M.length>0){const b=Pe(f,!1,!0,Be(M),m,y);if(e.options.dtsOnly||r.add({context:b,fileCache:t,subDirectory:h}),e.options.declaration){const D=M.filter(I=>I.declaration);D.length>0&&n.add({context:{...b,options:{...b.options,entries:D}},fileCache:t,subDirectory:h})}}if(R.length>0){const b=Pe(f,!0,!1,Be(R),m,y);if(e.options.dtsOnly||r.add({context:b,fileCache:t,subDirectory:h}),e.options.declaration){const D=R.filter(I=>I.declaration);D.length>0&&n.add({context:{...b,options:{...b.options,entries:D}},fileCache:t,subDirectory:h})}}if(f.options.declaration&&B.length>0){const b=Pe(f,!1,!1,B,m,y);n.add({context:b,fileCache:t,subDirectory:h})}}return{builders:r,typeBuilders:n}},"prepareRollupConfig"),xr=Z(async(e,t)=>{await e.hooks.callHook("build:before",e);const{builders:o,typeBuilders:s}=await $r(e,t);o.size>0&&await Promise.all([...o].map(async({context:i,fileCache:r,subDirectory:n})=>await tr(i,r,n))),s.size>0&&await Qs([...s].map(({context:i,fileCache:r,subDirectory:n})=>()=>nr(i,r,n)),mr),e.logger.success(Ft(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 To(J(e.options.rootDir,e.options.outDir),{includeDirs:!1,includeFiles:!0})){const r=J(e.options.rootDir,e.options.outDir);let n=e.buildEntries.find(d=>J(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 _t(l);n.size.bytes=d.size}n.size.brotli||(n.size.brotli=await rr(l)),n.size.gzip||(n.size.gzip=await dr(l))}return await e.hooks.callHook("build:done",e),gr(e.logger,e)},"build");var jr=Object.defineProperty,So=x((e,t)=>jr(e,"name",{value:t,configurable:!0}),"c");const kr=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"),Er=So(async(e,t,o,s,i,r)=>{if(r!=="*"&&Bn(Ne(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 p of a.exportKey)p.includes("/*")?n[p]=[`./${J(o,he(a.name),"*.d.ts")}`]:n[p]=[...n[p]??[],`./${J(o,`${a.name}.d.ts`)}`];const l=J(s,"package.json"),d=await Rt(l);i==="file"&&Object.keys(n).length>0?(await Io(l,{...d,typesVersions:kr({...d.typesVersions,[r]:n})},{detectIndent:!0}),e.info({message:'Your package.json "typesVersions" field has been updated.',prefix:"plugin:packem:node10-compatibility"})):Object.keys(n).length>0&&e.info({message:`Please add the following field into your package.json to enable node 10 compatibility:
56
-
57
- ${JSON.stringify({typesVersions:{"*":n}},void 0,4)}
58
- `,prefix:"plugin:packem:node10-compatibility"})},"node10Compatibility");var Sr=Object.defineProperty,X=x((e,t)=>Sr(e,"name",{value:t,configurable:!0}),"l");const Dr=X(e=>{switch(e){case"preserve":case"react-native":return"preserve";case"react":return"transform";case"react-jsx":case"react-jsxdev":return"automatic";default:return}},"resolveTsconfigJsxToJsxRuntime"),Or=X((e,t,o,s,i,r,n,l)=>{const d=Dr(n?.config.compilerOptions?.jsx),a=l.split("."),p=ts()($i,i,{alias:{},browserTargets:Lo(),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:de,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:de,ignoreErrors:!1},json:{preferConst:!1},license:{dependenciesTemplate:X((g,y,h)=>`
59
- # Licenses of bundled dependencies
60
- The published ${h} artifact additionally contains code with the following licenses:
61
- ${g.length>0?`${g.join(", ")}
62
-
63
- `:`
64
- `}# Bundled dependencies:
65
- ${y}`,"dependenciesTemplate"),dtsTemplate:X((g,y,h)=>`
66
- # Licenses of bundled types
67
- The published ${h} artifact additionally contains code with the following licenses:
68
- ${g.length>0?`${g.join(", ")}
69
-
70
- `:`
71
- `}# Bundled types:
72
- ${y}`,"dtsTemplate")},nativeModules:{},node10Compatibility:!1,output:{importAttributesKey:Number(a[0])>=22?"with":"assert"},oxc:{jsx:d==="preserve"?"preserve":{development:o!=="production",pragma:n?.config.compilerOptions?.jsxFactory,pragmaFrag:n?.config.compilerOptions?.jsxFragmentFactory,pure:!0,runtime:d==="transform"||d==="automatic"?"automatic":"classic",useBuiltIns:!0,useSpread:!0}},patchTypes:{},polyfillNode:{},preserveDirectives:{include:re},preserveDynamicImports:!0,pure:{},raw:{exclude:de,include:[/\.(md|txt|htm|html|data)$/]},replace:{objectGuards:!0,preventAssignment:!0},resolve:{allowExportsFolderMapping:!1,exportConditions:[o??"production","module-sync"],extensions:qe,preferBuiltins:!1},resolveExternals:{builtins:!0,builtinsPrefix:"add",deps:!0,devDeps:!1,exclude:[],optDeps:!0,peerDeps:!0},shebang:{replace:!1,shebang:"#!/usr/bin/env node"},shim:{exclude:de,include:re},sourcemap:{},sucrase:{disableESTransforms:!0,enableLegacyBabel5ModuleInterop:!1,enableLegacyTypeScriptModuleInterop:n?.config.compilerOptions?.esModuleInterop===!1,include:re,injectCreateRequireForImportRequire:!1,preserveDynamicImport:!0,production:o===$e,...n?.config.compilerOptions?.jsx&&["react","react-jsx","react-jsxdev"].includes(n.config.compilerOptions.jsx)?{jsxFragmentPragma:n.config.compilerOptions.jsxFragmentFactory,jsxImportSource:n.config.compilerOptions.jsxImportSource,jsxPragma:n.config.compilerOptions.jsxFactory,jsxRuntime:d,transforms:["typescript","jsx",...n.config.compilerOptions.esModuleInterop?["imports"]:[]]}:{transforms:["typescript",...n?.config.compilerOptions?.esModuleInterop?["imports"]:[]]}},swc:{include:re,inlineSourcesContent:!1,inputSourceMap:!1,isModule:!0,jsc:{experimental:{keepImportAttributes:!0},externalHelpers:!0,keepClassNames:!0,loose:!0,parser:{decorators:n?.config.compilerOptions?.experimentalDecorators,syntax:n?"typescript":"ecmascript",[n?"tsx":"jsx"]:!0},target:n?.config.compilerOptions?.target?.toLowerCase(),transform:{decoratorMetadata:n?.config.compilerOptions?.emitDecoratorMetadata,decoratorVersion:"2022-03",legacyDecorator:n?.config.compilerOptions?.experimentalDecorators,react:{development:o!==$e,pragma:n?.config.compilerOptions?.jsxFactory,pragmaFrag:n?.config.compilerOptions?.jsxFragmentFactory,runtime:d,throwIfNamespace:!0},treatConstEnumAsEnum:n?.config.compilerOptions?.preserveConstEnums,useDefineForClassFields:n?.config.compilerOptions?.useDefineForClassFields}},module:{ignoreDynamic:!0,importInterop:"none",preserveImportMeta:!0,strict:!1,strictMode:!1,type:"es6"}},treeshake:{moduleSideEffects:is(t,r),preset:"recommended",propertyReadSideEffects:!0},tsconfigPaths:{resolveAbsolutePath:!1},url:{emitFiles:!0,fileName:"[hash][extname]",include:["**/*.svg","**/*.png","**/*.jp(e)?g","**/*.gif","**/*.webp"],limit:14*1024},visualizer:{},watch:{chokidar:{ignoreInitial:!0,ignorePermissionErrors:!0},clearScreen:!0,exclude:de}},rootDir:t,sourceDir:"src",sourcemap:!1,transformerName:void 0,typedoc:{excludePrivate:!0,format:"inline",githubPages:!1,groupOrder:["Classes","Constructors","Accessors","Methods","Functions","Namespaces","Variables","Enumerations","Interfaces","Type Aliases","*"],kindSortOrder:["Project","Module","Class","Interface","Function","Namespace","Variable","Enum","EnumMember","TypeAlias","Reference","Constructor","Property","Accessor","Method","Parameter","TypeParameter","TypeLiteral","CallSignature","ConstructorSignature","IndexSignature","GetSignature","SetSignature"],marker:"TYPEDOC",name:r.name??"unknown",pretty:!0,readme:"none",showConfig:s,tsconfig:n?.path},validation:{dependencies:{hoisted:{exclude:[]},unused:{exclude:[]}},packageJson:{bin:!0,dependencies:!0,exports:!0,files:!0,main:!0,module:!0,name:!0,types:!0,typesVersions:!0}}});p.runtime===void 0&&(e.warn("No runtime specified, defaulting to 'node'. This will change in packem v2 to 'browser', please add 'runtime: node' to your packem config or command call"),p.runtime="node");const c=new Map([...Object.entries(r.dependencies??{}),...Object.entries(r.devDependencies??{})]);if(p.transformer?.NAME===void 0)throw new Error("Unknown transformer, check your transformer options or install one of the supported transformers: esbuild, swc, sucrase");p.transformerName=p.transformer.NAME;let f=p.transformerName;p.transformerName==="oxc"?f="oxc-transform":p.transformerName==="swc"&&(f="@swc/core");const u=c.get(f)??"0.0.0";if(e.info({message:`Using ${z("node ")}${l}`,prefix:"system"}),e.info({message:`Using ${z("rollup ")}${Ho} with ${z(p.runtime)} build runtime`,prefix:"bundler"}),e.info({message:`Using ${z(p.transformerName)} ${u}`,prefix:"transformer"}),p.rollup.resolve&&(p.rollup.resolve.preferBuiltins=p.runtime==="node",p.rollup.resolve.preferBuiltins&&(p.rollup.polyfillNode=!1,e.debug("Disabling polyfillNode because preferBuiltins is set to true"))),p.runtime==="node"&&(p.browserTargets=[]),p.runtime==="browser"&&(p.rollup.resolve&&p.rollup.resolve.browser===void 0&&(p.rollup.resolve.browser=!0),p.browserTargets&&p.browserTargets.length>0&&e.debug(`Using browser targets: ${p.browserTargets.join(", ")}`)),Mt(p.alias),p.rollup.alias&&p.rollup.alias.entries&&Mt(p.rollup.alias.entries),p.outputExtensionMap){let g;for(const[y,h]of Object.entries(p.outputExtensionMap)){if(!["cjs","esm"].includes(y))throw new Error(`Invalid output extension map: ${y} must be "cjs" or "esm"`);if(typeof h!="string")throw new TypeError(`Invalid output extension map: ${y} must be a string`);if(h.startsWith("."))throw new Error(`Invalid output extension map: ${y} must not start with a dot. Example: "cjs": "c.js", "esm": "m.js"`);if(g===void 0)g=h;else if(g===h)throw new Error(`Invalid output extension map: ${y} must be different from the other key`)}}return n?.config.compilerOptions?.declarationMap===!0&&(p.sourcemap=!0,e.info("Enabling sourcemap because declarationMap is enabled in tsconfig.json")),p},"generateOptions"),Pr=X(async(e,t,o,s,i,r,n,l,d)=>{const a=r.hooks,p=Or(e,t,s,i,r,n,l,d);Fo(J(p.rootDir,p.outDir));const c={buildEntries:[],dependencyGraphMap:new Map,environment:s,hoistedDependencies:new Set,hooks:Vo(),implicitDependencies:new Set,jiti:qo(p.rootDir,p.jiti),logger:e,mode:o,options:p,pkg:n,tsconfig:l,usedDependencies:new Set,warnings:new Set};if(a){const u=c.hooks._hooks?.get?.("rollup:options"),g=u?u.size:0;fetch("http://127.0.0.1:7242/ingest/e5ffe05e-4121-4b48-a3e5-edf81dc8035e",{body:JSON.stringify({data:{hasRollupOptionsHook:!!a?.["rollup:options"],hooksCountBefore:g,hooksKeys:Object.keys(a||{})},hypothesisId:"B",location:"index.ts:677",message:"Before addHooks",runId:"run1",sessionId:"debug-session",timestamp:Date.now()}),headers:{"Content-Type":"application/json"},method:"POST"}).catch(()=>{}),c.hooks.addHooks(a);const y=c.hooks._hooks?.get?.("rollup:options"),h=y?y.size:0;fetch("http://127.0.0.1:7242/ingest/e5ffe05e-4121-4b48-a3e5-edf81dc8035e",{body:JSON.stringify({data:{hooksAdded:h-g,hooksCountAfter:h,hooksCountBefore:g},hypothesisId:"B",location:"index.ts:683",message:"After addHooks",runId:"run1",sessionId:"debug-session",timestamp:Date.now()}),headers:{"Content-Type":"application/json"},method:"POST"}).catch(()=>{})}await c.hooks.callHook("build:prepare",c),c.options.emitESM===void 0&&c.logger.info("Emitting of ESM bundles, is disabled."),c.options.emitCJS===void 0&&c.logger.info("Emitting of CJS bundles, is disabled."),c.options.minify&&c.logger.info("Minification is enabled, the output will be minified"),c.options.json&&c.options.minify&&c.options.json.preferConst===void 0&&(c.options.json={...c.options.json,preferConst:!1}),vs(c);const f=At(n,["typescript"]);if(c.options.declaration&&c.tsconfig===void 0&&f)throw new Error("Cannot build declaration files without a tsconfig.json");return f?c.options.declaration===!1&&c.logger.info({message:"Generation of declaration files are disabled.",prefix:"dts"}):(c.options.declaration=!1,c.logger.info({message:"Typescript is not installed. Generation of declaration files are disabled.",prefix:"dts"})),c.options.declaration&&c.logger.info(`Using typescript version: ${z(n.devDependencies?.typescript??n.dependencies?.typescript??"unknown")}`),c.options.declaration&&(n.dependencies?.typescript||n.devDependencies?.typescript)&&!c.tsconfig?.config.compilerOptions?.isolatedModules&&c.logger.warn(`'compilerOptions.isolatedModules' is not enabled in tsconfig.
73
- Because none of the third-party transpiler, packem uses under the hood is type-aware, some techniques or features often used in TypeScript are not properly checked and can cause mis-compilation or even runtime errors.
74
- To mitigate this, you should set the isolatedModules option to true in tsconfig and let your IDE warn you when such incompatible constructs are used.`),await Oi(c),c},"createContext"),Mr=X(e=>{switch(e){case"build":return"Building";case"jit":return"Stubbing";case"watch":return"Watching";default:throw new Error(`Unknown mode: ${e}`)}},"getMode"),Wa=X(async(e,t,o,s,i,r,n)=>{const l=be.version.slice(1);s.wrapAll(),e=P(be.cwd(),e),s.debug("Root directory:",e);const{packageJson:d,packageJsonPath:a}=Xe(e);s.debug("Using package.json found at",a);const p=await Si(e,d,s,n),c=Mo("@visulima/packem",{cwd:e});let f=!1,u,g;const y=at(JSON.stringify({version:d.version,...d.dependencies,...d.devDependencies,...d.peerDependencies,...d.peerDependenciesMeta,browser:d.browser,eNode:d.engines?.node,exports:d.exports,main:d.main,module:d.module,nodeVersion:l,type:d.type,types:d.types}))+at(JSON.stringify(r));c&&Vn(y,c,s);const h=new Jo(e,c,y,s);try{const m=await Pr(s,e,t,o,i,r,d,p,l);h.isEnabled=m.options.fileCache,m.logger.info(z(`${Mr(t)} ${m.options.name}`)),m.logger.debug({context:m.options.entries,message:`${G("Root dir:")} ${m.options.rootDir}
75
- ${G("Entries:")}`});const S=X(async b=>{for await(const[D,I]of Object.entries(m.options.builder??{})){m.logger.raw(`
76
- `),await m.hooks.callHook("builder:before",D,m);const w=Date.now(),O=X(()=>nt(Math.floor(Date.now()-w)),"getBuilderDuration");await I(m,c,h,f),await m.hooks.callHook("builder:done",D,m),m.logger.raw(`
77
- ⚡️ ${D} run in ${O()}`),b&&m.logger.raw(`
78
-
79
- `)}},"runBuilder"),v=X(async()=>{if(u!==void 0)await us({pid:u.pid,signal:r.killSignal??"SIGTERM"});else if(g!==void 0)try{await g()}catch(b){throw new Error(`onSuccess function cleanup failed: ${b.message}`,{cause:b})}u=void 0,g=void 0},"doOnSuccessCleanup"),M=X(async()=>{if(typeof m.options.onSuccess=="function")try{g=await m.options.onSuccess()}catch(b){throw new Error(`onSuccess function failed: ${b.message}`,{cause:b})}else if(typeof m.options.onSuccess=="string"){const b=m.options.onSuccessTimeout??3e4,D=u=Go(m.options.onSuccess,[],{nodeOptions:{shell:!0,stdio:"inherit",timeout:b}});await D;const{exitCode:I}=D;if(typeof I=="number"&&I!==0)throw new Error(`onSuccess script failed with exit code ${I}. Check the output above for details.`)}},"runOnsuccess"),R=Date.now(),B=X(()=>nt(Math.floor(Date.now()-R)),"getDuration");if(t==="watch"){if(m.options.rollup.watch===!1)throw new Error("Rollup watch is disabled. You should check your packem config.");await Gi(m,h,S,M,v),Et(m,!1);return}if(await Qi(m),t==="jit")await Ii(m),await m.hooks.callHook("build:done",m);else{if(f=await xr(m,h),m.options.emitCJS&&m.options.declaration==="compatible"){f&&m.logger.raw(`
80
- `);let b="console",D="*";m.options.node10Compatibility&&(b=m.options.node10Compatibility?.writeToPackageJson?"file":"console",D=m.options.node10Compatibility?.typeScriptVersion??"*"),await Er(m.logger,m.options.entries,m.options.outDir,m.options.rootDir,b,D)}await m.hooks.callHook("validate:before",m),typeof m.options.validation=="object"&&(m.options.validation.packageJson&&_s(m),m.options.validation.attw&&await Ds(m,f),m.options.validation.bundleLimit&&Xs(m,f)),await m.hooks.callHook("validate:done",m),Et(m,f)}m.logger.raw(`
81
- ⚡️ Build run in ${B()}
82
- `),await S(),await M(),be.on("SIGINT",async()=>{await v()}),be.on("SIGTERM",async()=>{await v()})}catch(m){throw s.raw(`
83
- `),Jt(m),m}finally{s.restoreAll(),await hs(c,s,f)}},"packem");export{ts as c,Wa as j,$i as w};