@visulima/packem 1.0.0-alpha.3 → 1.0.0-alpha.30

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,223 @@
1
+ ## @visulima/packem [1.0.0-alpha.30](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.29...@visulima/packem@1.0.0-alpha.30) (2024-05-31)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * fixed issue with cache dir, added auto update of lock file ([a49df8a](https://github.com/visulima/packem/commit/a49df8a093578b3c781e466b2e3d4478a9a8d01a))
7
+
8
+ ## @visulima/packem [1.0.0-alpha.29](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.28...@visulima/packem@1.0.0-alpha.29) (2024-05-31)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * added missing variable to watch ([174124b](https://github.com/visulima/packem/commit/174124b68063da42afb51ca008c542480f32c436))
14
+
15
+ ## @visulima/packem [1.0.0-alpha.28](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.27...@visulima/packem@1.0.0-alpha.28) (2024-05-30)
16
+
17
+
18
+ ### Features
19
+
20
+ * optimized file names for the cache ([e8abc95](https://github.com/visulima/packem/commit/e8abc9569a7ed6cfca2d531a6dfb4a3e26999af8))
21
+
22
+ ## @visulima/packem [1.0.0-alpha.27](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.26...@visulima/packem@1.0.0-alpha.27) (2024-05-30)
23
+
24
+
25
+ ### Features
26
+
27
+ * added plugin cache ([e77052f](https://github.com/visulima/packem/commit/e77052fe960470f55a4a5ee33efa11eed5ecd191))
28
+
29
+ ## @visulima/packem [1.0.0-alpha.26](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.25...@visulima/packem@1.0.0-alpha.26) (2024-05-30)
30
+
31
+
32
+ ### Features
33
+
34
+ * added NODE_ENV ([9c04a6f](https://github.com/visulima/packem/commit/9c04a6f0a27427d25141e03cc27679cd42b2a847))
35
+
36
+ ## @visulima/packem [1.0.0-alpha.25](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.24...@visulima/packem@1.0.0-alpha.25) (2024-05-29)
37
+
38
+
39
+ ### Bug Fixes
40
+
41
+ * cs fixes ([66e0149](https://github.com/visulima/packem/commit/66e014993490253f8d5a4f92c017aecddbcd8284))
42
+
43
+ ## @visulima/packem [1.0.0-alpha.24](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.23...@visulima/packem@1.0.0-alpha.24) (2024-05-29)
44
+
45
+
46
+ ### Features
47
+
48
+ * added file cache to rollup, added support of es5 ([c6734ac](https://github.com/visulima/packem/commit/c6734ac079db193d1c88e473cf01361a728c9bdd))
49
+ * added option to disable cache ([9ee5cac](https://github.com/visulima/packem/commit/9ee5cacb3db1f1e59419f5a00f0f245a5be43d3a))
50
+
51
+ ## @visulima/packem [1.0.0-alpha.23](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.22...@visulima/packem@1.0.0-alpha.23) (2024-05-29)
52
+
53
+
54
+ ### Bug Fixes
55
+
56
+ * removed packem from package.json. fixed test runs ([05b346a](https://github.com/visulima/packem/commit/05b346a57749147fb7f5cbd810112eaf01ec2a56))
57
+
58
+ ## @visulima/packem [1.0.0-alpha.22](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.21...@visulima/packem@1.0.0-alpha.22) (2024-05-29)
59
+
60
+
61
+ ### Bug Fixes
62
+
63
+ * fixing tests for check all functions ([786fb37](https://github.com/visulima/packem/commit/786fb378b7cbab3dbb48cdf43561485cdf5436a0))
64
+
65
+ ## @visulima/packem [1.0.0-alpha.21](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.20...@visulima/packem@1.0.0-alpha.21) (2024-05-28)
66
+
67
+
68
+ ### Bug Fixes
69
+
70
+ * optimized logs ([63d9d45](https://github.com/visulima/packem/commit/63d9d4557d1ae3e7eb8c85d43df9a645c2e3af57))
71
+
72
+ ## @visulima/packem [1.0.0-alpha.20](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.19...@visulima/packem@1.0.0-alpha.20) (2024-05-28)
73
+
74
+
75
+ ### Bug Fixes
76
+
77
+ * extended logs ([984a1ea](https://github.com/visulima/packem/commit/984a1eac339f12b6683b5284325bf97d0b606334))
78
+
79
+ ## @visulima/packem [1.0.0-alpha.19](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.18...@visulima/packem@1.0.0-alpha.19) (2024-05-28)
80
+
81
+
82
+ ### Bug Fixes
83
+
84
+ * fixed error handling of promises ([be3b055](https://github.com/visulima/packem/commit/be3b055d68f2544c4271d1da9899e6ea40ebdb04))
85
+
86
+ ## @visulima/packem [1.0.0-alpha.18](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.17...@visulima/packem@1.0.0-alpha.18) (2024-05-28)
87
+
88
+
89
+ ### Bug Fixes
90
+
91
+ * new debug message ([ef7db6f](https://github.com/visulima/packem/commit/ef7db6ff4af9a91372ae57241dc38a38093e5d6b))
92
+
93
+ ## @visulima/packem [1.0.0-alpha.17](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.16...@visulima/packem@1.0.0-alpha.17) (2024-05-28)
94
+
95
+
96
+ ### Bug Fixes
97
+
98
+ * working on better tests ([a6a569e](https://github.com/visulima/packem/commit/a6a569e88496ac30bfebebc05c0b0f967d8810b8))
99
+
100
+ ## @visulima/packem [1.0.0-alpha.16](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.15...@visulima/packem@1.0.0-alpha.16) (2024-05-28)
101
+
102
+
103
+ ### Bug Fixes
104
+
105
+ * working on better tests ([a612717](https://github.com/visulima/packem/commit/a6127174c0368a8d5dd5c94dde0777d0a7305a90))
106
+
107
+
108
+ ### Miscellaneous Chores
109
+
110
+ * updated readme ([637d0a8](https://github.com/visulima/packem/commit/637d0a8e63ac51071da0fc98c6f8458d0402a7ea))
111
+
112
+ ## @visulima/packem [1.0.0-alpha.15](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.14...@visulima/packem@1.0.0-alpha.15) (2024-05-27)
113
+
114
+
115
+ ### Features
116
+
117
+ * added a first version of the init command ([ab3b009](https://github.com/visulima/packem/commit/ab3b0091cb30d7632be3e6818cb76a03ecd13a4f))
118
+
119
+ ## @visulima/packem [1.0.0-alpha.14](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.13...@visulima/packem@1.0.0-alpha.14) (2024-05-27)
120
+
121
+
122
+ ### Bug Fixes
123
+
124
+ * optimized the code a bit ([c644e8a](https://github.com/visulima/packem/commit/c644e8a3b1926b55c3c4038943100260bb9de811))
125
+
126
+ ## @visulima/packem [1.0.0-alpha.13](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.12...@visulima/packem@1.0.0-alpha.13) (2024-05-27)
127
+
128
+
129
+ ### Bug Fixes
130
+
131
+ * optimized the code with memo calls ([fe27249](https://github.com/visulima/packem/commit/fe27249d25fabcf5f2f9a8717a0fe750667475d8))
132
+
133
+
134
+ ### Styles
135
+
136
+ * cs fixes ([44f813e](https://github.com/visulima/packem/commit/44f813e6a0f3bc787490c480eeb338530cd37ede))
137
+
138
+ ## @visulima/packem [1.0.0-alpha.12](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.11...@visulima/packem@1.0.0-alpha.12) (2024-05-27)
139
+
140
+
141
+ ### Bug Fixes
142
+
143
+ * fixed types validation ([f0f572e](https://github.com/visulima/packem/commit/f0f572ea04a001bd566371d67f3f0df2da35d09d))
144
+
145
+ ## @visulima/packem [1.0.0-alpha.11](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.10...@visulima/packem@1.0.0-alpha.11) (2024-05-27)
146
+
147
+
148
+ ### Bug Fixes
149
+
150
+ * optimize config loading of types, cjs and esm ([ed4368f](https://github.com/visulima/packem/commit/ed4368f833c2e577ae78bb7a89f18075d8fde6d9))
151
+
152
+ ## @visulima/packem [1.0.0-alpha.10](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.9...@visulima/packem@1.0.0-alpha.10) (2024-05-27)
153
+
154
+
155
+ ### Bug Fixes
156
+
157
+ * optimize the code a bit ([90fa3e4](https://github.com/visulima/packem/commit/90fa3e4e468a75fe9c764614473119ca6671661c))
158
+
159
+
160
+ ### Styles
161
+
162
+ * cs fix ([6a77847](https://github.com/visulima/packem/commit/6a778475666bd236eb9dee56797ba969989b99fa))
163
+
164
+
165
+ ### Code Refactoring
166
+
167
+ * optimize the code a bit ([0960712](https://github.com/visulima/packem/commit/0960712bac282a691bbf7b88c0492cf101d3e812))
168
+
169
+ ## @visulima/packem [1.0.0-alpha.9](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.8...@visulima/packem@1.0.0-alpha.9) (2024-05-25)
170
+
171
+
172
+ ### Features
173
+
174
+ * added build time ([5ad7b27](https://github.com/visulima/packem/commit/5ad7b27eedd056dc1ce127ad76bcc03a52fe5d31))
175
+
176
+
177
+ ### Miscellaneous Chores
178
+
179
+ * clean up of started node native plugin ([6b67ca9](https://github.com/visulima/packem/commit/6b67ca93299d876893028d80816defa5da27c5f0))
180
+
181
+ ## @visulima/packem [1.0.0-alpha.8](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.7...@visulima/packem@1.0.0-alpha.8) (2024-05-25)
182
+
183
+
184
+ ### Bug Fixes
185
+
186
+ * removed vue examples, removed jsx preserve error ([55f5571](https://github.com/visulima/packem/commit/55f55712e021a3a4a1aa24c2026a508597a28d14))
187
+
188
+ ## @visulima/packem [1.0.0-alpha.7](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.6...@visulima/packem@1.0.0-alpha.7) (2024-05-25)
189
+
190
+
191
+ ### Bug Fixes
192
+
193
+ * adjusted target on swc and esbuild ([5ee4937](https://github.com/visulima/packem/commit/5ee493757e5fc51945228df0ff97db77c35eac3e))
194
+
195
+ ## @visulima/packem [1.0.0-alpha.6](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.5...@visulima/packem@1.0.0-alpha.6) (2024-05-25)
196
+
197
+
198
+ ### Bug Fixes
199
+
200
+ * added target options to esbuild and swc ([5d3100b](https://github.com/visulima/packem/commit/5d3100b6bce15819a90b97f537b5626498bb6b18))
201
+
202
+
203
+ ### Styles
204
+
205
+ * cs fix ([78752e4](https://github.com/visulima/packem/commit/78752e434e62c20c5efb800015d321899770030f))
206
+
207
+ ## @visulima/packem [1.0.0-alpha.5](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.4...@visulima/packem@1.0.0-alpha.5) (2024-05-25)
208
+
209
+
210
+ ### Bug Fixes
211
+
212
+ * added better dx for invalid entries ([55fc8ed](https://github.com/visulima/packem/commit/55fc8ed9040dc40d751028e2143a85962aa6b54e))
213
+
214
+ ## @visulima/packem [1.0.0-alpha.4](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.3...@visulima/packem@1.0.0-alpha.4) (2024-05-25)
215
+
216
+
217
+ ### Features
218
+
219
+ * moved minify to the core config ([219782f](https://github.com/visulima/packem/commit/219782f2e5ea2275fd63fbac07b180bf05497bf1))
220
+
1
221
  ## @visulima/packem [1.0.0-alpha.3](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.2...@visulima/packem@1.0.0-alpha.3) (2024-05-25)
2
222
 
3
223
 
package/README.md CHANGED
@@ -39,12 +39,24 @@ yarn add @visulima/packem
39
39
  pnpm add @visulima/packem
40
40
  ```
41
41
 
42
+ ### Choose you transformer
43
+
44
+ You choose which one of the three supported transformer to use.
45
+
46
+ - [esbuild](https://github.com/evanw/esbuild)
47
+ - [@swc/core](https://github.com/swc-project/swc)
48
+ - [sucrase](https://github.com/alangpierce/sucrase)
49
+
42
50
  ## Usage
43
51
 
44
52
  ```typescript
45
53
 
46
54
  ```
47
55
 
56
+ Links:
57
+
58
+ - https://github.com/frehner/modern-guide-to-packaging-js-library#set-the-main-field
59
+
48
60
  ## Related
49
61
 
50
62
  - [bunchee](https://github.com/huozhi/bunchee) - Zero config bundler for ECMAScript and TypeScript packages
@@ -74,7 +86,7 @@ The visulima pack is open-sourced software licensed under the [MIT][license-url]
74
86
 
75
87
  [typescript-image]: https://img.shields.io/badge/Typescript-294E80.svg?style=for-the-badge&logo=typescript
76
88
  [typescript-url]: "typescript"
77
- [license-image]: https://img.shields.io/npm/l/@visulima/pack?color=blueviolet&style=for-the-badge
89
+ [license-image]: https://img.shields.io/npm/l/@visulima/packem?color=blueviolet&style=for-the-badge
78
90
  [license-url]: LICENSE.md "license"
79
- [npm-image]: https://img.shields.io/npm/v/@visulima/pack/latest.svg?style=for-the-badge&logo=npm
80
- [npm-url]: https://www.npmjs.com/package/@visulima/pack/v/latest "npm"
91
+ [npm-image]: https://img.shields.io/npm/v/@visulima/packem/latest.svg?style=for-the-badge&logo=npm
92
+ [npm-url]: https://www.npmjs.com/package/@visulima/packem/v/latest "npm"
package/dist/cli.cjs CHANGED
@@ -1,2 +1,8 @@
1
1
  #!/usr/bin/env node
2
- "use strict";var s=Object.defineProperty;var a=(t,e)=>s(t,"name",{value:e,configurable:!0});const l=require("node:process"),p=require("@visulima/cerebro"),u=require("./create-bundler.cjs");function m(t){return t&&typeof t=="object"&&"default"in t?t.default:t}a(m,"_interopDefaultCompat");const d=m(p),f="@visulima/packem",y="1.0.0-alpha.2";var g=Object.defineProperty,o=a((t,e)=>g(t,"name",{value:e,configurable:!0}),"n");const h=o(t=>{t.addCommand({description:"Demonstrate options required",execute:o(async({options:e})=>{let n="build";e.watch?n="watch":e.jit&&(n="jit");const i={};if(e.env)for(const c of e.env)i[c.key]=c.value;await u(e.dir,n,{cjsInterop:e.cjsInterop,configPath:e.config??void 0,debug:e.debug,replace:{...i},rollup:{esbuild:{minify:e.minify,target:e.target},license:{path:e.license},metafile:e.metafile,...e.analyze?{visualizer:{}}:{visualizer:!1}},sourcemap:e.sourcemap,tsconfigPath:e.tsconfig??void 0})},"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},{description:"Watch for changes",name:"watch",type:Boolean},{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:o(e=>{const[n,i]=e.split("=");return{key:n,value:i}},"type")},{defaultValue:!1,description:"Generate meta file (experimental)",name:"metafile",type:Boolean},{description:"Path to the license file",name:"license",type:String},{conflicts:"watch",description:"Visualize and analyze the bundle",name:"analyze",type:Boolean},{description:"CJS interop mode, can export default and named export, (experimental).",name:"cjsInterop",type:Boolean}]})},"createBuildCommand"),r=new d("packem",{packageName:f,packageVersion:y});h(r),r.setDefaultCommand("build"),r.run().catch(t=>{console.error(t.message),l.exit(1)});
2
+ "use strict";var b=Object.defineProperty;var r=(n,e)=>b(n,"name",{value:e,configurable:!0});const k=require("@visulima/cerebro"),m=require("./shared/packem.DLTIqnbY.cjs"),s=require("node:process"),j=require("@antfu/install-pkg"),i=require("@clack/prompts"),c=require("@visulima/fs"),h=require("@visulima/package/package-json"),l=require("@visulima/path"),w=r(n=>n&&typeof n=="object"&&"default"in n?n.default:n,"_interopDefaultCompat"),x=w(k);var C=Object.defineProperty,p=r((n,e)=>C(n,"name",{value:e,configurable:!0}),"n");const P=p(n=>{n.addCommand({description:"Demonstrate options required",execute:p(async({options:e})=>{let t="build";e.watch?t="watch":e.jit&&(t="jit");const o={};if(e.env)for(const a of e.env)o[a.key]=a.value;await m.Oe(e.dir,t,{cjsInterop:e.cjsInterop,configPath:e.config??void 0,debug:e.debug,minify:e.minify,replace:{...o},rollup:{esbuild:{target:e.target},license:{path:e.license},metafile:e.metafile,...e.analyze?{visualizer:{}}:{visualizer:!1}},sourcemap:e.sourcemap,tsconfigPath:e.tsconfig??void 0})},"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},{description:"Watch for changes",name:"watch",type:Boolean},{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(e=>{const[t,o]=e.split("=");return{key:t,value:o}},"type")},{defaultValue:!1,description:"Generate meta file (experimental)",name:"metafile",type:Boolean},{description:"Path to the license file",name:"license",type:String},{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}]})},"createBuildCommand");var S=Object.defineProperty,y=r((n,e)=>S(n,"name",{value:e,configurable:!0}),"i");const q=y(n=>{n.addCommand({description:"Initialize packem configuration",execute:y(async({logger:e,options:t})=>{if(i.intro("Welcome to packem setup"),c.isAccessibleSync(l.join(t.dir,"packem.config.ts")))return e.info("Packem project already initialized, you can use `packem build` to build your project"),s.exit(0);if(i.isCancel(t.transformer))return i.cancel("Operation cancelled"),s.exit(0);if(t.transformer===void 0){const d=l.join(t.dir,"package.json");if(!c.isAccessibleSync(d))return e.error("No package.json found in the directory"),s.exit(1);const f=h.parsePackageJson(d),v=[...Object.keys(f.dependencies??{}),...Object.keys(f.devDependencies??{})];if(t.transformer=await i.select({message:"Pick a transformer",options:[{label:"esbuild",value:"esbuild"},{label:"swc",value:"swc"},{label:"Sucrase",value:"sucrase"}]}),!v.includes(t.transformer)&&await i.confirm({message:"Do you want to install "+t.transformer+"?"})){const g=i.spinner();g.start("Installing "+t.transformer),await j.installPackage(t.transformer==="swc"?"@swc/core":t.transformer,{cwd:t.dir,dev:!0,silent:!0}),g.stop("")}}const o=`import { defineConfig } from "@visulima/packem/config";
3
+ import transformer from "@visulima/packem/transformer/${t.transformer}";
4
+
5
+ export default defineConfig({
6
+ transformer
7
+ });
8
+ `,a=i.spinner();return a.start("Creating packem.config.ts"),c.writeFileSync(l.join(t.dir,"packem.config.ts"),o),a.stop("Created packem.config.ts"),i.outro("Now you can run `packem build` to build your project"),s.exit(0)},"execute"),name:"init",options:[{defaultValue:".",description:"The directory to initialize",name:"dir",type:String},{description:"Choose a transformer to use for packem",name:"transformer",type:String}]})},"createInitCommand"),u=new x("packem",{packageName:m.name,packageVersion:m.version});q(u);P(u);u.run();
package/dist/cli.mjs CHANGED
@@ -1,2 +1,16 @@
1
1
  #!/usr/bin/env node
2
- var s=Object.defineProperty;var c=(t,e)=>s(t,"name",{value:e,configurable:!0});import{exit as p}from"node:process";import l from"@visulima/cerebro";import m from"./create-bundler.mjs";const d="@visulima/packem",u="1.0.0-alpha.2";var f=Object.defineProperty,a=c((t,e)=>f(t,"name",{value:e,configurable:!0}),"n");const y=a(t=>{t.addCommand({description:"Demonstrate options required",execute:a(async({options:e})=>{let i="build";e.watch?i="watch":e.jit&&(i="jit");const n={};if(e.env)for(const r of e.env)n[r.key]=r.value;await m(e.dir,i,{cjsInterop:e.cjsInterop,configPath:e.config??void 0,debug:e.debug,replace:{...n},rollup:{esbuild:{minify:e.minify,target:e.target},license:{path:e.license},metafile:e.metafile,...e.analyze?{visualizer:{}}:{visualizer:!1}},sourcemap:e.sourcemap,tsconfigPath:e.tsconfig??void 0})},"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},{description:"Watch for changes",name:"watch",type:Boolean},{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:a(e=>{const[i,n]=e.split("=");return{key:i,value:n}},"type")},{defaultValue:!1,description:"Generate meta file (experimental)",name:"metafile",type:Boolean},{description:"Path to the license file",name:"license",type:String},{conflicts:"watch",description:"Visualize and analyze the bundle",name:"analyze",type:Boolean},{description:"CJS interop mode, can export default and named export, (experimental).",name:"cjsInterop",type:Boolean}]})},"createBuildCommand"),o=new l("packem",{packageName:d,packageVersion:u});y(o),o.setDefaultCommand("build"),o.run().catch(t=>{console.error(t.message),p(1)});
2
+ var v=Object.defineProperty;var r=(i,e)=>v(i,"name",{value:e,configurable:!0});import b from"@visulima/cerebro";import{O as k,n as h,v as j}from"./shared/packem.6D80t8pb.mjs";import{exit as a}from"node:process";import{installPackage as w}from"@antfu/install-pkg";import{intro as C,isCancel as x,cancel as P,select as S,confirm as z,spinner as f,outro as B}from"@clack/prompts";import{isAccessibleSync as u,writeFileSync as O}from"@visulima/fs";import{parsePackageJson as I}from"@visulima/package/package-json";import{join as s}from"@visulima/path";
3
+ // -- pack CommonJS Shims --
4
+ import __cjs_url__ from "node:url";
5
+ import __cjs_path__ from "node:path";
6
+ import __cjs_mod__ from "node:module";
7
+ const __filename = __cjs_url__.fileURLToPath(import.meta.url);
8
+ const __dirname = __cjs_path__.dirname(__filename);
9
+ const require = __cjs_mod__.createRequire(import.meta.url);
10
+ var N=Object.defineProperty,c=r((i,e)=>N(i,"name",{value:e,configurable:!0}),"n");const V=c(i=>{i.addCommand({description:"Demonstrate options required",execute:c(async({options:e})=>{let t="build";e.watch?t="watch":e.jit&&(t="jit");const n={};if(e.env)for(const o of e.env)n[o.key]=o.value;await k(e.dir,t,{cjsInterop:e.cjsInterop,configPath:e.config??void 0,debug:e.debug,minify:e.minify,replace:{...n},rollup:{esbuild:{target:e.target},license:{path:e.license},metafile:e.metafile,...e.analyze?{visualizer:{}}:{visualizer:!1}},sourcemap:e.sourcemap,tsconfigPath:e.tsconfig??void 0})},"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},{description:"Watch for changes",name:"watch",type:Boolean},{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(e=>{const[t,n]=e.split("=");return{key:t,value:n}},"type")},{defaultValue:!1,description:"Generate meta file (experimental)",name:"metafile",type:Boolean},{description:"Path to the license file",name:"license",type:String},{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}]})},"createBuildCommand");var D=Object.defineProperty,g=r((i,e)=>D(i,"name",{value:e,configurable:!0}),"i");const E=g(i=>{i.addCommand({description:"Initialize packem configuration",execute:g(async({logger:e,options:t})=>{if(C("Welcome to packem setup"),u(s(t.dir,"packem.config.ts")))return e.info("Packem project already initialized, you can use `packem build` to build your project"),a(0);if(x(t.transformer))return P("Operation cancelled"),a(0);if(t.transformer===void 0){const p=s(t.dir,"package.json");if(!u(p))return e.error("No package.json found in the directory"),a(1);const l=I(p),y=[...Object.keys(l.dependencies??{}),...Object.keys(l.devDependencies??{})];if(t.transformer=await S({message:"Pick a transformer",options:[{label:"esbuild",value:"esbuild"},{label:"swc",value:"swc"},{label:"Sucrase",value:"sucrase"}]}),!y.includes(t.transformer)&&await z({message:"Do you want to install "+t.transformer+"?"})){const d=f();d.start("Installing "+t.transformer),await w(t.transformer==="swc"?"@swc/core":t.transformer,{cwd:t.dir,dev:!0,silent:!0}),d.stop("")}}const n=`import { defineConfig } from "@visulima/packem/config";
11
+ import transformer from "@visulima/packem/transformer/${t.transformer}";
12
+
13
+ export default defineConfig({
14
+ transformer
15
+ });
16
+ `,o=f();return o.start("Creating packem.config.ts"),O(s(t.dir,"packem.config.ts"),n),o.stop("Created packem.config.ts"),B("Now you can run `packem build` to build your project"),a(0)},"execute"),name:"init",options:[{defaultValue:".",description:"The directory to initialize",name:"dir",type:String},{description:"Choose a transformer to use for packem",name:"transformer",type:String}]})},"createInitCommand"),m=new b("packem",{packageName:h,packageVersion:j});E(m);V(m);m.run();
package/dist/config.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var f=Object.defineProperty;var r=(e,i)=>f(e,"name",{value:i,configurable:!0});var t=Object.defineProperty,n=r((e,i)=>t(e,"name",{value:i,configurable:!0}),"i");const a=n(e=>(Array.isArray(e)?e:[e]).filter(Boolean),"defineConfig"),o=n(e=>e,"definePreset");exports.defineConfig=a,exports.definePreset=o;
1
+ "use strict";var f=Object.defineProperty;var i=(e,r)=>f(e,"name",{value:r,configurable:!0});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var t=Object.defineProperty,n=i((e,r)=>t(e,"name",{value:r,configurable:!0}),"i");const o=n(e=>(Array.isArray(e)?e:[e]).filter(Boolean),"defineConfig"),a=n(e=>e,"definePreset");exports.defineConfig=o;exports.definePreset=a;
package/dist/config.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { B as BuildConfig, a as BuildPreset } from './shared/packem.BTXS2BEO.cjs';
2
- export { b as BuildHooks } from './shared/packem.BTXS2BEO.cjs';
1
+ import { B as BuildConfig, a as BuildPreset } from './shared/packem.CnhGR3os.cjs';
2
+ export { b as BuildHooks } from './shared/packem.CnhGR3os.cjs';
3
3
  import '@rollup/plugin-alias';
4
4
  import '@rollup/plugin-commonjs';
5
5
  import '@rollup/plugin-json';
package/dist/config.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { B as BuildConfig, a as BuildPreset } from './shared/packem.B0cQlmdV.mjs';
2
- export { b as BuildHooks } from './shared/packem.B0cQlmdV.mjs';
1
+ import { B as BuildConfig, a as BuildPreset } from './shared/packem.DDrQsBAR.mjs';
2
+ export { b as BuildHooks } from './shared/packem.DDrQsBAR.mjs';
3
3
  import '@rollup/plugin-alias';
4
4
  import '@rollup/plugin-commonjs';
5
5
  import '@rollup/plugin-json';
package/dist/config.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { B as BuildConfig, a as BuildPreset } from './shared/packem.DKw6b-sX.js';
2
- export { b as BuildHooks } from './shared/packem.DKw6b-sX.js';
1
+ import { B as BuildConfig, a as BuildPreset } from './shared/packem.BzWrDnY8.js';
2
+ export { b as BuildHooks } from './shared/packem.BzWrDnY8.js';
3
3
  import '@rollup/plugin-alias';
4
4
  import '@rollup/plugin-commonjs';
5
5
  import '@rollup/plugin-json';
package/dist/config.mjs CHANGED
@@ -1 +1,9 @@
1
- var f=Object.defineProperty;var i=(e,r)=>f(e,"name",{value:r,configurable:!0});var a=Object.defineProperty,n=i((e,r)=>a(e,"name",{value:r,configurable:!0}),"i");const o=n(e=>(Array.isArray(e)?e:[e]).filter(Boolean),"defineConfig"),t=n(e=>e,"definePreset");export{o as defineConfig,t as definePreset};
1
+
2
+ // -- pack CommonJS Shims --
3
+ import __cjs_url__ from "node:url";
4
+ import __cjs_path__ from "node:path";
5
+ import __cjs_mod__ from "node:module";
6
+ const __filename = __cjs_url__.fileURLToPath(import.meta.url);
7
+ const __dirname = __cjs_path__.dirname(__filename);
8
+ const require = __cjs_mod__.createRequire(import.meta.url);
9
+ var f=Object.defineProperty;var i=(e,r)=>f(e,"name",{value:r,configurable:!0});var a=Object.defineProperty,n=i((e,r)=>a(e,"name",{value:r,configurable:!0}),"i");const t=n(e=>(Array.isArray(e)?e:[e]).filter(Boolean),"defineConfig"),d=n(e=>e,"definePreset");export{t as defineConfig,d as definePreset};
@@ -1,91 +1 @@
1
- "use strict";var Ge=Object.defineProperty;var f=(e,t)=>Ge(e,"name",{value:t,configurable:!0});const z=require("node:fs/promises"),Ye=require("node:module"),x=require("node:process"),y=require("@visulima/colorize"),k=require("@visulima/fs"),M=require("@visulima/humanizer"),H=require("@visulima/package"),Ze=require("@visulima/pail"),V=require("@visulima/pail/processor"),g=require("@visulima/path"),Ke=require("defu"),Qe=require("hookable"),se=require("semver"),D=require("./shared/packem.uvB0cQX0.cjs"),ie=require("node:url"),B=require("mlly"),et=require("magic-string"),tt=require("jiti"),L=require("rollup"),ot=require("@rollup/plugin-alias"),rt=require("@rollup/plugin-commonjs"),nt=require("@rollup/plugin-dynamic-import-vars"),W=require("@rollup/plugin-node-resolve"),st=require("@rollup/plugin-replace"),it=require("@rollup/plugin-wasm"),at=require("rollup-plugin-dts"),lt=require("rollup-plugin-polyfill-node"),ct=require("rollup-plugin-visualizer"),pt=require("glob"),ut=require("glob-parent"),dt=require("@rollup/plugin-json"),T=require("@rollup/pluginutils"),mt=require("rollup-plugin-license"),ft=require("@babel/parser"),X=require("node:fs"),gt=require("fastest-levenshtein");var ae=typeof document<"u"?document.currentScript:null;function O(e){return e&&typeof e=="object"&&"default"in e?e.default:e}f(O,"_interopDefaultCompat");const le=O(Ye),S=O(et),ce=O(tt),pe=O(ot),ht=O(rt),yt=O(nt),ue=O(st),vt=O(lt),bt=O(ut),$t=O(dt),jt=O(mt);var wt=Object.defineProperty,J=f((e,t)=>wt(e,"name",{value:t,configurable:!0}),"i$9");const G=/^#![^\n]*/,Y=J(async e=>{await z.chmod(e,493).catch(()=>{})},"makeExecutable"),kt=J((e,t=`#!/usr/bin/env node
2
- `)=>({name:"packem:shebang",renderChunk:{handler(r,n,o){if(!n.isEntry||!n.facadeModuleId||r.startsWith("#")&&r[1]==="!")return null;if(e.includes(n.name)){const i=new S(r);return i.prepend(t),{code:i.toString(),map:o.sourcemap?i.generateMap({hires:!0}):void 0}}return null},order:"post"},async writeBundle(r,n){for(const[o,i]of Object.entries(n))if(i.type==="chunk"&&G.test(i.code)&&r.dir){const s=g.resolve(r.dir,o);await Y(s)}}}),"shebangPlugin"),xt=J(()=>({name:"packem:remove-shebang",renderChunk(e){return e.replace(G,"")}}),"removeShebangPlugin"),Et=J((e,t=`
3
- `)=>{const r=G.exec(e);return r?r+t:""},"getShebang");var _t=Object.defineProperty,Ot=f((e,t)=>_t(e,"name",{value:t,configurable:!0}),"p$2");const Z=Ot((e,t)=>{let r={};if(e.pkg.name&&(r[e.pkg.name]=e.options.rootDir),e.pkg.imports){const{imports:n}=e.pkg;for(const o in n){if(o.startsWith("#"))continue;const i=n[o];typeof i=="string"&&(r[o]=g.join(e.rootDir,i))}}return r={...r,...e.options.alias},e.options.rollup.alias&&(Array.isArray(e.options.rollup.alias.entries)?Object.assign(r,Object.fromEntries(e.options.rollup.alias.entries.map(n=>[n.find,n.replacement]))):Object.assign(r,e.options.rollup.alias.entries||e.options.rollup.alias)),e.logger.debug({message:"Resolved aliases: "+JSON.stringify(r),prefix:t}),r},"resolveAliases");var Dt=Object.defineProperty,Nt=f((e,t)=>Dt(e,"name",{value:t,configurable:!0}),"o$4");const St=Nt((e,t)=>{const r=ce(t,{esmResolve:!0,interopDefault:!0});try{return r.resolve(e)}catch(n){if(n.code!=="MODULE_NOT_FOUND")throw new Error(`Error trying import ${e} from ${t}`,{cause:n});return e}},"tryResolve");var Pt=Object.defineProperty,Mt=f((e,t)=>Pt(e,"name",{value:t,configurable:!0}),"r$6");const A=Mt((e,t)=>{e.warnings.has(t)||e.warnings.add(t)},"warn");var Ft=Object.defineProperty,It=f((e,t)=>Ft(e,"name",{value:t,configurable:!0}),"u$8");const Rt=It(async e=>{const t=await B.resolvePath("jiti",{url:typeof document>"u"?require("url").pathToFileURL(__filename).href:ae&&ae.src||new URL("create-bundler.cjs",document.baseURI).href}),r=JSON.stringify({...e.options.stubOptions.jiti,alias:{...Z(e,"jit"),...e.options.stubOptions.jiti.alias}},null,2);for(const n of e.options.entries){const o=g.resolve(e.options.rootDir,e.options.outDir,n.name),i=g.normalize(St(n.input,e.options.rootDir)||n.input),s=i.slice(0,Math.max(0,i.length-g.extname(i).length)),p=await k.readFile(i),u=Et(p);e.options.emitCJS&&await k.writeFile(`${o}.cjs`,u+[`const jiti = require(${JSON.stringify(t)})`,"",`const _jiti = jiti(null, ${r})`,"",`/** @type {import(${JSON.stringify(s)})} */`,`module.exports = _jiti(${JSON.stringify(i)})`].join(`
4
- `));let c=[];try{c=await B.resolveModuleExportNames(i,{extensions:D.DEFAULT_EXTENSIONS})}catch(a){A(e,`Cannot analyze ${i} for exports:${a}`);return}const l=c.includes("default")||c.length===0;await k.writeFile(`${o}.mjs`,u+[`import jiti from ${JSON.stringify(ie.pathToFileURL(t).href)};`,"",`const _jiti = jiti(null, ${r})`,"",`/** @type {import(${JSON.stringify(i)})} */`,`const _module = await _jiti.import(${JSON.stringify(i)});`,l?`
5
- export default _module;`:"",...c.filter(a=>a!=="default").map(a=>`export const ${a} = _module.${a};`)].join(`
6
- `)),await k.writeFile(`${o}.d.cts`,[`export * from ${JSON.stringify(s)};`,l?`export { default } from ${JSON.stringify(s)};`:""].join(`
7
- `)),await k.writeFile(`${o}.d.mts`,[`export * from ${JSON.stringify(i)};`,l?`export { default } from ${JSON.stringify(i)};`:""].join(`
8
- `)),u&&(await Y(`${o}.cjs`),await Y(`${o}.mjs`))}await e.hooks.callHook("rollup:done",e)},"createStub");var Ct=Object.defineProperty,Tt=f((e,t)=>Ct(e,"name",{value:t,configurable:!0}),"a$a");const K=Tt((e,t)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),"arrayIncludes");var At=Object.defineProperty,qt=f((e,t)=>At(e,"name",{value:t,configurable:!0}),"e$1");const Q=qt((e="")=>{const t=e.split("/");return t[0][0]==="@"?`${t[0]}/${t[1]}`:t[0]},"getPackageName");var Bt=Object.defineProperty,Lt=f((e,t)=>Bt(e,"name",{value:t,configurable:!0}),"m$4");const de=Lt(({addDefaultProperty:e=!1,logger:t,type:r})=>({name:"packem:cjs-interop",renderChunk(n,o,i){if(o.type!=="chunk"||!o.isEntry)return null;if(i.format==="cjs"&&i.exports==="auto"){const s=/(exports(?:\['default'\]|\.default)) = (.*);/i.exec(n);if(s===null||s.length<3)return null;const p=new S(n);p.replace("Object.defineProperty(exports, '__esModule', { value: true });",""),p.replaceAll(/exports\.(.*) = (.*);/g,"module.exports.$1 = $2;"),e&&p.append(`
9
- module.exports.default = `+s[2]+";");let u=p.toString();return u=u.replace(/(?:module\.)?exports(?:\['default'\]|\.default)/i,"module.exports"),t.debug({message:"Applied CommonJS interop to entry chunk "+o.fileName+".",prefix:"cjs-interop"}),{code:u,map:p.generateMap({hires:!0})}}if(i.format==="es"&&/\.d\.(?:ts|cts)$/.test(o.fileName)){if(r!=="commonjs"&&o.fileName.endsWith(".d.ts"))return null;const s=/export\s\{\s(.*)\s\}/i.exec(n);if(s===null||s.length<2)return null;const p=s[1].split(", "),u=[];let c;for(const a of p)if(!a.includes("type"))if(a.includes("as")){const[m,j]=a.split(" as ");if(j==="default"&&(c=m,!e))continue;u.push(j+": typeof "+m+";")}else u.push(a+": typeof "+a+";");const l=new S(n);return l.replace(" "+c+" as default,",""),l.append(`
10
-
11
- declare const defaultExport: {
12
- `+(u.length>0?" ":"")+u.join(`
13
- `)+`
14
- } & typeof `+c+`;
15
-
16
- export default defaultExport;`),t.debug({message:"Applied CommonJS interop to entry chunk "+o.fileName+".",prefix:"cjs-interop"}),{code:l.toString(),map:l.generateMap({hires:!0})}}return null}}),"cjsInterop");var Wt=Object.defineProperty,Jt=f((e,t)=>Wt(e,"name",{value:t,configurable:!0}),"u$7");const Ut=Jt((e,t)=>{const r=new Map,n={copyOnce:!0,exactFileNames:!0,flatten:!1,...e};let{targets:o}=n;return Array.isArray(o)?o=o.map(i=>{if(typeof i=="string")return{src:i};if(typeof i=="object"&&"src"in i)return i}).filter(Boolean):typeof o=="string"&&(o=[{src:o}]),{async buildStart(){const i=await Promise.all(o.flatMap(s=>Array.isArray(s.src)?s.src.map(p=>({...s,src:p})):s).map(async s=>await pt.glob(s.src,{ignore:s.exclude}).then(p=>({dest:s.dest??"",parent:bt(s.src),src:p}))));for(const s of i)for(const p of s.src){let u;r.has(p)?u=r.get(p):(u={copied:[],dest:[],timestamp:0},r.set(p,u));const c=n.flatten?g.normalize(s.dest):g.join(s.dest,g.relative(s.parent,g.dirname(p)));u.dest.includes(c)||u.dest.push(c),this.addWatchFile(p)}t.info({message:"Copying files...",prefix:"copy"}),await Promise.all([...r].map(async([s,p])=>{let u;try{const c=await z.stat(s);if(!c.isFile())return;const l=c.mtime.getTime();l>p.timestamp&&(p.timestamp=l,p.copied=[]),u=await k.readFile(s,{buffer:!0})}catch(c){t.error({context:[c],message:`error reading file ${s}`,prefix:"copy"});return}for(const c of p.dest){if(n.copyOnce&&p.copied.includes(c))continue;const l=g.basename(s),a=g.join(c,l);try{this.emitFile({[n.exactFileNames?"fileName":"name"]:a,source:u,type:"asset"}),t.debug({message:`copied ${s} → ${a}`,prefix:"copy"}),p.copied.push(c)}catch(m){t.error({context:[m],message:`error copying file ${s} → ${a}`,prefix:"copy"})}}}))},name:"packem:copy"}},"copyPlugin");var zt=Object.defineProperty,Ht=f((e,t)=>zt(e,"name",{value:t,configurable:!0}),"n$8");const me="export default ",fe=Ht(e=>{const t=$t(e);return{...t,name:"packem:json",transform(r,n){const o=t.transform?.call(this,r,n);return o&&typeof o!="string"&&"code"in o&&o.code?.startsWith(me)&&(o.code=o.code.replace(me,"module.exports = ")),o}}},"JSONPlugin");class Vt{static{f(this,"WalkerBase")}constructor(){this.should_skip=!1,this.should_remove=!1,this.replacement=null,this.context={skip:f(()=>this.should_skip=!0,"skip"),remove:f(()=>this.should_remove=!0,"remove"),replace:f(t=>this.replacement=t,"replace")}}replace(t,r,n,o){t&&r&&(n!=null?t[r][n]=o:t[r]=o)}remove(t,r,n){t&&r&&(n!=null?t[r].splice(n,1):delete t[r])}}class Xt extends Vt{static{f(this,"SyncWalker")}constructor(t,r){super(),this.should_skip=!1,this.should_remove=!1,this.replacement=null,this.context={skip:f(()=>this.should_skip=!0,"skip"),remove:f(()=>this.should_remove=!0,"remove"),replace:f(n=>this.replacement=n,"replace")},this.enter=t,this.leave=r}visit(t,r,n,o){if(t){if(this.enter){const s=this.should_skip,p=this.should_remove,u=this.replacement;this.should_skip=!1,this.should_remove=!1,this.replacement=null,this.enter.call(this.context,t,r,n,o),this.replacement&&(t=this.replacement,this.replace(r,n,o,t)),this.should_remove&&this.remove(r,n,o);const c=this.should_skip,l=this.should_remove;if(this.should_skip=s,this.should_remove=p,this.replacement=u,c)return t;if(l)return null}let i;for(i in t){const s=t[i];if(s&&typeof s=="object")if(Array.isArray(s)){const p=s;for(let u=0;u<p.length;u+=1){const c=p[u];ge(c)&&(this.visit(c,t,i,u)||u--)}}else ge(s)&&this.visit(s,t,i,null)}if(this.leave){const s=this.replacement,p=this.should_remove;this.replacement=null,this.should_remove=!1,this.leave.call(this.context,t,r,n,o),this.replacement&&(t=this.replacement,this.replace(r,n,o,t)),this.should_remove&&this.remove(r,n,o);const u=this.should_remove;if(this.replacement=s,this.should_remove=p,u)return null}}return t}}function ge(e){return e!==null&&typeof e=="object"&&"type"in e&&typeof e.type=="string"}f(ge,"isNode");function he(e,{enter:t,leave:r}){return new Xt(t,r).visit(e,null)}f(he,"walk");var Gt=Object.defineProperty,Yt=f((e,t)=>Gt(e,"name",{value:t,configurable:!0}),"u$6");const Zt=Yt(({attributes:e,logger:t})=>{const r=T.createFilter([/\.[tj]sx$/],/node_modules/);if(!Array.isArray(e)||e.length===0)throw new Error("[packem:jsx-remove-attributes]: attributes must be a non-empty array of strings.");return{name:"packem:jsx-remove-attributes",transform(n,o){if(!r(o))return null;let i=null;try{i=this.parse(n,{allowReturnOutsideFunction:!0})}catch(u){return this.warn({code:"PARSE_ERROR",message:`[packem:jsx-remove-attributes]: failed to parse "${o}" and remove the jsx attribute.`}),t.warn(u),null}let s=!1;const p=new S(n);return he(i,{enter(u){if(u.type==="CallExpression"&&u.callee.type==="Identifier"&&u.callee.name==="jsx"){const c=u.arguments.filter(l=>l.type==="ObjectExpression"&&Array.isArray(l.properties));for(const l of c)for(const a of l.properties)a.type==="Property"&&a.key.type==="Literal"&&a.value.type==="Literal"&&e.includes(a.key.value)&&(p.overwrite(a.start-2,a.end,""),s=!0)}}}),s?{code:p.toString(),map:p.generateMap({hires:!0})}:null}}},"jsxRemoveAttributes");var Kt=Object.defineProperty,ee=f((e,t)=>Kt(e,"name",{value:t,configurable:!0}),"p$1");const Qt=ee(e=>{const t=[],r=[];return e.forEach(n=>{n.startsWith("(")?t.push(n):r.push(n)}),[...r.sort(),...t.sort()]},"sortLicenses"),eo=ee((e,t,r)=>{const n=new RegExp(`(<!-- ${t} -->)[\\s\\S]*?(<!-- ${t} -->)`,"g");if(n.test(e))return e.replace(n,`$1
17
- ${r}
18
- $2`)},"replaceContentWithin"),ye=ee(({licenseFilePath:e,licenseTemplate:t,logger:r,marker:n,mode:o,packageName:i})=>jt({thirdParty(s){const p=new Set,u=s.sort(({name:l},{name:a})=>l>a?1:a>l?-1:0).map(({author:l,contributors:a,license:m,licenseText:j,maintainers:w,name:_,repository:d})=>{let h=`## ${_}
19
- `;m&&(h+=`License: ${m}
20
- `);const v=new Set;for(const b of[l,...w,...a]){const $=typeof b=="string"?b:b?.name;$&&v.add($)}return v.size>0&&(h+=`By: ${[...v].join(", ")}
21
- `),d&&(h+=`Repository: ${typeof d=="string"?d:d.url}
22
- `),j&&(h+=`
23
- `+j.trim().replaceAll(/(\r\n|\r)/g,`
24
- `).split(`
25
- `).map(b=>`> ${b}`).join(`
26
- `)+`
27
- `),m&&p.add(m),h}).join(`
28
- ---------------------------------------
29
-
30
- `),c=t(Qt(p),u,i);try{const l=k.readFileSync(e),a=eo(l,n,c);if(!a){r.error(`Could not find the license marker: <!-- ${n} --> in ${e}`);return}l!==a&&(k.writeFileSync(e,a),r.info({message:`${e} updated.`,prefix:`license:${o}`}))}catch(l){r.error(l)}}}),"license");var to=Object.defineProperty,oo=f((e,t)=>to(e,"name",{value:t,configurable:!0}),"i$6");const ro=oo(e=>({async buildEnd(){const t=[];for(const n of this.getModuleIds()){const o=this.getModuleInfo(n);if(o!=null&&!o.isExternal)for(const i of o.importedIds)t.push({source:n,target:i})}if(Array.isArray(t)&&t.length===0)return;const r=g.resolve(e.outDir,"graph.json");k.writeJsonSync(r,t)},name:"packem:metafile"}),"metafilePlugin");var no=Object.defineProperty,so=f((e,t)=>no(e,"name",{value:t,configurable:!0}),"c$4");const io=/\.(?:m|c)?(?:j|t)sx?$/,ao=/^use \w+$/,lo=so(e=>{const t={},r={};return{name:"packem:preserve-directives",onLog(n,o){return o.code==="MODULE_LEVEL_DIRECTIVE"&&n==="warn"?!1:null},renderChunk:{handler(n,o,{sourcemap:i}){const s=o.moduleIds.map(c=>t[c]?t[c]:null).reduce((c,l)=>(l&&l.forEach(a=>{c.add(a)}),c),new Set),p=new S(n);s.size>0&&(e.debug({message:`directives for chunk "${o.fileName}" are preserved.`,prefix:"preserve-directives"}),p.prepend(`${[...s].map(c=>`'${c}';`).join(`
31
- `)}
32
- `));let u=null;return o.facadeModuleId&&typeof r[o.facadeModuleId]=="string"&&(u=r[o.facadeModuleId]),u&&(e.debug({message:`shebang for chunk "${o.fileName}" is preserved.`,prefix:"preserve-directives"}),p.prepend(`${u}
33
- `)),s.size===0&&u===null?null:{code:p.toString(),map:i?p.generateMap({hires:!0}):null}},order:"post"},transform:{handler(n,o){const i=g.extname(o);if(!io.test(i))return null;let s=!1;const p=new S(n);if(n.startsWith("#")&&n[1]==="!"){let c=0;for(let l=2,a=n.length;l<a;l++){const m=n.codePointAt(l);if(m===10||m===13||m===8232||m===8233){c=l;break}}c&&(r[o]=n.slice(0,c),p.remove(0,c+1),s=!0,e.debug({message:`shebang for module "${o}" is preserved.`,prefix:"preserve-directives"}))}let u=null;try{u=this.parse(p.toString(),{allowReturnOutsideFunction:!0})}catch(c){return this.warn({code:"PARSE_ERROR",message:`[packem:preserve-directives]: failed to parse "${o}" and extract the directives.`}),e.warn(c),null}if(u.type!=="Program")return null;for(const c of u.body.filter(Boolean)){if(c.type!=="ExpressionStatement")break;let l=null;"directive"in c?l=c.directive:c.expression.type==="Literal"&&typeof c.expression.value=="string"&&ao.test(c.expression.value)&&(l=c.expression.value),l!=="use strict"&&l&&(t[o]||=new Set,t[o].add(l),"start"in c&&typeof c.start=="number"&&"end"in c&&typeof c.end=="number"&&(p.remove(c.start,c.end),s=!0),e.debug({message:`directive "${l}" for module "${o}" is preserved.`,prefix:"preserve-directives"}))}return s?{code:p.toString(),map:p.generateMap({hires:!0}),meta:{preserveDirectives:{directives:[...t[o]??[]],shebang:r[o]??null}}}:null},order:"post"}}},"preserveDirectives");var co=Object.defineProperty,po=f((e,t)=>co(e,"name",{value:t,configurable:!0}),"r$4");const uo={exclude:[],include:[/\.(md|txt|css|htm|html)$/]},mo=po((e={})=>{e={...e,...uo};const t=T.createFilter(e.include,e.exclude);return{name:"packem:raw",transform(r,n){return t(n)?{code:`export default ${JSON.stringify(r)}`,map:null}:null}}},"rawPlugin");var fo=Object.defineProperty,go=f((e,t)=>fo(e,"name",{value:t,configurable:!0}),"l$3");const te="\0__file_url__",ve=go(()=>({async load(e){if(e.startsWith(te)){const t=ie.fileURLToPath(e.slice(te.length));return await k.readFile(t)}},name:"packem:resolve-file-url",resolveId(e){if(e.startsWith("file://"))return`${te}${e}`}}),"resolveFileUrl");var ho=Object.defineProperty,be=f((e,t)=>ho(e,"name",{value:t,configurable:!0}),"m$2");const yo=/__filename|__dirname|require\(|require\.resolve\(/,$e=`
34
- // -- pack CommonJS Shims --
35
- import __cjs_url__ from "node:url";
36
- import __cjs_path__ from "node:path";
37
- import __cjs_mod__ from "node:module";
38
- const __filename = __cjs_url__.fileURLToPath(import.meta.url);
39
- const __dirname = __cjs_path__.dirname(__filename);
40
- const require = __cjs_mod__.createRequire(import.meta.url);
41
- `,je=`
42
- // -- pack CommonJS Shims Node 20.11 --
43
- import __cjs_mod__ from "node:module";
44
- const __filename = import.meta.filename;
45
- const __dirname = import.meta.dirname;
46
- const require = __cjs_mod__.createRequire(import.meta.url);
47
- `,vo=be((e,t)=>{if(e.includes($e)||e.includes(je)||!yo.test(e))return null;const r=B.findStaticImports(e).pop(),n=r?r.end:0,o=new S(e);return o.appendRight(n,t),{code:o.toString(),map:o.generateMap()}},"CJSToESM"),bo=be(e=>({name:"packem:cjs",renderChunk(t,r,n){if(n.format==="es"){let o=$e;if(e.engines?.node){const i=se.minVersion(e.engines.node);i&&i.major>=20&&i.minor>=11&&(o=je)}return vo(t,o)}return null}}),"cjsPlugin");var $o=Object.defineProperty,F=f((e,t)=>$o(e,"name",{value:t,configurable:!0}),"s$a");const jo=/\/\*[^*]*\*+(?:[^/*][^*]*\*+)*\//g,wo=/MIT License|MIT license|BSD license/,ko=/\n{2,}/g,xo=/\b(\w+)\$\d+\b/g,Eo=/[-/\\^$*+?.()|[\]{}]/g,_o=F(e=>e.replaceAll(Eo,"\\$&"),"escapeRegex"),Oo=F(e=>[...new Set(e)],"unique"),Do=F(e=>e.replaceAll(jo,t=>wo.test(t)?"":t).replaceAll(ko,`
48
-
49
- `),"cleanUnnecessaryComments"),we=new Map;function ke(e,t,{identifierReplacements:r},n){const o=B.findStaticImports(e);for(const s in r){const p=o.find(c=>c.specifier===s&&c.imports.includes("{"));if(!p){this.warn(`${t.fileName} does not import "${s}" for replacement`),process.exitCode=1;continue}const u=r[s];for(const c in u){p.imports.includes(c)||(this.warn(`${t.fileName} does not import "${c}" from "${s}" for replacement`),x.exit(1));const l=u[c],a=_o(c);l.includes(".")&&(e=e.replace(new RegExp(`\\b\\w+\\b as ${a},?\\s?`),"")),e=e.replaceAll(new RegExp(`\\b${a}\\b`,"g"),l)}}const i=Oo(Array.from(e.matchAll(xo),s=>s[0]));if(i.length>0){const s=i.map(u=>`
50
- - ${u}`).join(""),p=t.fileName.replace(/\.[^/.]+$/,"");we.has(p)||n.warn({message:`${t.fileName} contains confusing identifier names${s}
51
-
52
- To replace these, add them to the "patchTypes -> identifierReplacements" option in your packem config.`,prefix:"patch-types"}),we.set(p,!0)}return e}f(ke,"v$2"),F(ke,"replaceConfusingTypeNames");function xe(e,t){if(t.leadingComments?.some(r=>r.type==="CommentBlock"&&r.value.includes("@internal"))){const r=e.original[t.end]===","?t.end+1:t.end;return e.remove(t.leadingComments[0].start,r),!0}return!1}f(xe,"N$1"),F(xe,"removeInternal");function Ee(e,t){if(e.includes("@internal")){const r=new S(e),n=ft.parse(e,{plugins:["typescript"],sourceType:"module"});he(n,{enter(o){xe(r,o)&&this.skip()}}),e=r.toString(),e.includes("@internal")&&(this.warn(`${t.fileName} has unhandled @internal declarations`),x.exit(1))}return e}f(Ee,"S"),F(Ee,"stripInternalTypes");const No=F((e,t)=>({name:"packem:patch-types",renderChunk(r,n){return r=ke.call(this,r,n,e,t),r=Ee.call(this,r,n),r=Do(r),r},resolveId(r){return r.startsWith("types/")?{external:!0,id:"../../"+(r.endsWith(".js")?r:r+".js")}:null}}),"patchTypescriptTypes");var So=Object.defineProperty,_e=f((e,t)=>So(e,"name",{value:t,configurable:!0}),"u$3");const Oe=_e((e,t=!0)=>{if(!e)return null;const{config:r,path:n}=e;if(!r.compilerOptions)return null;const{baseUrl:o,paths:i}=r.compilerOptions;if(!o)return null;const s=g.resolve(g.dirname(n),o),p=[];if(i)for(const[u,c]of Object.entries(i)){const l=new RegExp(`^${[...u].map(m=>m==="*"?"(.+)":m.replace(/[\\^$*+?.()|[\]{}]/,"\\$&")).join("")}$`);let a=0;for(const m of c){const j=[...T.normalizePath(g.resolve(s,m))].map(w=>w==="*"?`$${++a}`:w==="$"?"$$":w).join("");p.push({find:l,replacement:j})}}return t&&p.push({find:/^(?!\.*\/|\.*$|\w:)(.+)$/,replacement:`${[...T.normalizePath(s)].map(u=>u==="$"?"$$":u).join("")}/$1`}),p},"getConfigAlias"),De=_e((e,t)=>{const r=Oe(e);return{name:"packem:resolve-tsconfig-paths",async resolveId(n,o,i){if(!r||n.includes("\0"))return null;for(const{find:s,replacement:p}of r)if(s.test(n)){const u=n.replace(s,p),c=await this.resolve(u,o,{skipSelf:!0,...i});if(c)return t.debug({message:`Resolved ${n} to ${c.id} using paths from tsconfig.json.`,prefix:"resolve-tsconfig-paths"}),c.id}return null}}},"resolveTsconfigPaths");var Po=Object.defineProperty,Ne=f((e,t)=>Po(e,"name",{value:t,configurable:!0}),"u$2");const Mo=Ne((e,t)=>{if(!t)return null;const{config:r,path:n}=t;if(!r.compilerOptions)return null;const{rootDirs:o}=r.compilerOptions;if(!o)return null;const i=[];for(const s of o){if(s.startsWith("."))throw new Error(`Invalid rootDir value '.' in ${n}.`);if(s.startsWith(".."))throw new Error(`Invalid rootDir value '..' in ${n}.`);i.push(g.resolve(e,s))}return i},"getRootDirectories"),Se=Ne((e,t,r)=>{const n=Mo(e,r);return{name:"packem:resolve-tsconfig-root-dirs",async resolveId(o,i,s){if(n===null||n.length===0)return null;if(o.startsWith("."))for(const p of n){const u=g.join(p,o),c=await this.resolve(u,i,{skipSelf:!0,...s});if(c)return t.debug({message:`Resolved ${o} to ${c.id} using rootDirs from tsconfig.json.`,prefix:"resolve-tsconfig-root-dirs"}),c.id}return null}}},"resolveTsconfigRootDirectories");var Fo=Object.defineProperty,Io=f((e,t)=>Fo(e,"name",{value:t,configurable:!0}),"r$3");const Pe=Io(()=>{const e=/\.(?:[mc]?js|jsx)$/;return{name:"packem:resolve-typescript-mjs-cjs",async resolveId(t,r,n){return e.test(t)&&r?await this.resolve(t.replace(/js(x?)$/,"ts$1"),r,n):null}}},"resolveTypescriptMjsCts");var Ro=Object.defineProperty,Co=f((e,t)=>Ro(e,"name",{value:t,configurable:!0}),"s$9");const To=Co(e=>{const t=g.basename(e).split(".");if(t.length>=2){const[r,n]=t.slice(-2),o=t[0],i=/^(\w+)-runtime$/.exec(r)?.[1];if(D.DEFAULT_EXTENSIONS.includes(n)&&i&&i.length>0)return o+"-"+i}},"getCustomModuleLayer");var Ao=Object.defineProperty,qo=f((e,t)=>Ao(e,"name",{value:t,configurable:!0}),"i$3");const oe=qo(e=>(e.preserveDirectives||{directives:[]}).directives.map(t=>t.replace(/^use /,"")).find(t=>t!=="strict"),"getModuleLayer");var Bo=Object.defineProperty,Me=f((e,t)=>Bo(e,"name",{value:t,configurable:!0}),"c$2");const Fe=Me((e,t)=>{const r=new Map;return Me(function(n,o){const i=o.getModuleInfo(n);if(!i)return;const{isEntry:s}=i,p=i.meta,u=oe(p);if(!s){const c=r.get(n);if(c)return c;const l=To(n);if(l)return r.set(n,l),l}if(s){const c=o.getModuleIds();for(const l of c)o.getModuleInfo(l)&&oe(p)===u&&(e.has(l)||e.set(l,new Set),e.get(l).add([n,u]))}if(u&&!s&&e.has(n)){const c=[...e.get(n)];if(c.some(([a])=>{if(console.log(a),t.some(m=>m.path===a)){const m=o.getModuleInfo(a);return oe(m?m.meta:{})===u}return!1}))return;if(c.every(([,a])=>a===u))return r.has(n)?r.get(n):void 0;const l=`${g.basename(n,g.extname(n))}-${u}`;return r.set(n,l),l}},"splitChunks")},"createSplitChunks");var Lo=Object.defineProperty,Wo=f((e,t)=>Lo(e,"name",{value:t,configurable:!0}),"n$6");const P=Wo((e,t,r)=>t.isDynamicEntry?`chunks/[name].${r}`:`shared/${e.options.name}.[hash].${r}`,"getChunkFilename");var Jo=Object.defineProperty,Uo=f((e,t)=>Jo(e,"name",{value:t,configurable:!0}),"s$7");const zo=process.platform==="win32",Ie=Uo((e,t)=>{const r=zo?"\\":"/";return e.name?.includes("node_modules"+r+".pnpm")?(e.name.replace("node_modules"+r+".pnpm","external")+"."+t).replace("node_modules"+r,""):e.name?.includes("node_modules")?e.name.replace("node_modules","external")+"."+t:"[name]."+t},"getEntryFileNames");var Ho=Object.defineProperty,E=f((e,t)=>Ho(e,"name",{value:t,configurable:!0}),"i$2");const Vo=E((e,t)=>{if(e==="esbuild"){if(!t.options.rollup.esbuild)throw new Error("No esbuild options found in your configuration.");return{sourceMap:t.options.sourcemap,...t.options.rollup.esbuild,logger:t.logger}}if(e==="swc"){if(!t.options.rollup.swc)throw new Error("No swc options found in your configuration.");return{...t.options.rollup.swc,jsc:{...x.env.NODE_ENV==="production"?{minify:{compress:{directives:!1},format:{comments:"some"},mangle:{toplevel:!0},sourceMap:t.options.sourcemap}}:{},...t.options.rollup.swc.jsc},sourceMaps:t.options.sourcemap}}if(e==="sucrase"){if(!t.options.rollup.sucrase)throw new Error("No sucrase options found in your configuration.");return t.options.rollup.sucrase}throw new Error("A Unknown transformer was provided")},"getTransformerConfig"),Re=E((e,t)=>e.code==="CIRCULAR_DEPENDENCY"&&/Circular dependency:[\s\S]*node_modules/.test(e.message)?!0:e.code==="UNRESOLVED_IMPORT"?(t.logger.error(`Failed to resolve the module "${e.exporter}" imported by "${y.cyan(g.relative(g.resolve(),e.id))}"
53
- Is the module installed? Note:
54
- ↳ to inline a module into your bundle, install it to "devDependencies".
55
- ↳ to depend on a module via import/require, install it to "dependencies".`),process.exitCode=1,!0):e.code==="MIXED_EXPORTS"&&t.options.cjsInterop===!0,"sharedOnWarn"),Ce=new Map,Te=E((e,t)=>{const r=E(o=>{for(const[i,s]of Object.entries(t))if(o.startsWith(i))return o.replace(i,s)},"findAlias"),n=Oe(e.tsconfig,!1);return{external(o){const i=r(o);i&&(o=i);const s=Q(o),p=K(e.options.externals,s)||K(e.options.externals,o);if(p)return!0;if(o.startsWith(".")||g.isAbsolute(o)||/src[/\\]/.test(o)||e.pkg.name&&o.startsWith(e.pkg.name))return!1;if(n){for(const{find:u}of n)if(u.test(o))return e.logger.debug(`Resolved alias ${o} to ${u.source}`),!1}return!p&&Ce.has(o)&&e.logger.info('Inlined implicit external "'+y.cyan(o)+'". If this is incorrect, add it to the "externals" option.'),Ce.set(o,!0),p},input:Object.fromEntries(e.options.entries.map(o=>[o.name,g.resolve(e.options.rootDir,o.input)])),onwarn(o,i){Re(o,e)||o.code||i(o)},watch:e.mode==="watch"?e.options.rollup.watch:!1}},"baseRollupOptions"),Ae=E(async e=>{const t=Z(e,"build");return{...Te(e,t),output:[e.options.emitCJS&&{chunkFileNames:E(r=>P(e,r,"cjs"),"chunkFileNames"),dir:g.resolve(e.options.rootDir,e.options.outDir),entryFileNames:E(r=>Ie(r,"cjs"),"entryFileNames"),exports:"auto",externalLiveBindings:!1,format:"cjs",freeze:!1,generatedCode:{constBindings:!0},hoistTransitiveImports:!1,interop:"compat",sourcemap:e.options.sourcemap,...e.options.rollup.output,...e.options.rollup.output?.preserveModules?{preserveModules:!0,preserveModulesRoot:e.options.rollup.output.preserveModulesRoot??"src"}:{manualChunks:Fe(e.dependencyGraphMap,e.buildEntries),preserveModules:!1}},e.options.emitESM&&{chunkFileNames:E(r=>P(e,r,"mjs"),"chunkFileNames"),dir:g.resolve(e.options.rootDir,e.options.outDir),entryFileNames:E(r=>Ie(r,"mjs"),"entryFileNames"),exports:"auto",externalLiveBindings:!1,format:"esm",freeze:!1,generatedCode:{constBindings:!0},hoistTransitiveImports:!1,sourcemap:e.options.sourcemap,...e.options.rollup.output,...e.options.rollup.output?.preserveModules?{preserveModules:!0,preserveModulesRoot:e.options.rollup.output.preserveModulesRoot??"src"}:{manualChunks:Fe(e.dependencyGraphMap,e.buildEntries),preserveModules:!1}}].filter(Boolean),plugins:[ve(),Pe(),e.tsconfig&&Se(e.options.rootDir,e.logger,e.tsconfig),e.tsconfig&&De(e.tsconfig,e.logger),e.options.rollup.replace&&ue({...e.options.rollup.replace,values:{...e.options.replace,...e.options.rollup.replace.values}}),e.options.rollup.alias&&pe({customResolver:W.nodeResolve({extensions:D.DEFAULT_EXTENSIONS,...e.options.rollup.resolve}),...e.options.rollup.alias,entries:t}),e.options.rollup.resolve&&W.nodeResolve({extensions:D.DEFAULT_EXTENSIONS,...e.options.rollup.resolve}),e.options.rollup.polyfillNode&&vt({sourceMap:e.options.sourcemap,...e.options.rollup.polyfillNode}),e.options.rollup.json&&fe({...e.options.rollup.json}),lo(e.logger),kt(e.options.entries.filter(r=>r.isExecutable).map(r=>r.name).filter(Boolean)),e.options.rollup.wsam&&it.wasm(e.options.rollup.wsam),e.options.transformer?.(Vo(e.options.transformerName,e)),e.options.cjsInterop&&e.options.emitCJS&&de({...e.options.rollup.cjsInterop,logger:e.logger,type:e.pkg.type??"commonjs"}),e.options.rollup.dynamicVars&&yt(),e.options.rollup.commonjs&&ht({extensions:D.DEFAULT_EXTENSIONS,sourceMap:e.options.sourcemap,...e.options.rollup.commonjs}),e.options.rollup.preserveDynamicImports&&{renderDynamicImport(){return{left:"import(",right:")"}}},e.options.rollup.shim&&bo(e.pkg),e.options.rollup.raw&&mo(e.options.rollup.raw),e.options.rollup.jsxRemoveAttributes&&Zt({attributes:e.options.rollup.jsxRemoveAttributes.attributes,logger:e.logger}),e.options.rollup.metafile&&ro({outDir:g.resolve(e.options.rootDir,e.options.outDir),rootDir:e.options.rootDir}),e.options.rollup.copy&&Ut(e.options.rollup.copy,e.logger),e.options.rollup.license&&e.options.rollup.license.path&&typeof e.options.rollup.license.template=="function"&&ye({licenseFilePath:e.options.rollup.license.path,licenseTemplate:e.options.rollup.license.template,logger:e.logger,marker:e.options.rollup.license.marker??"DEPENDENCIES",mode:"dependencies",packageName:e.pkg.name}),e.options.rollup.visualizer&&ct.visualizer({brotliSize:!0,filename:"packem-bundle-analyze.html",gzipSize:!0,projectRoot:e.options.rootDir,sourcemap:e.options.sourcemap,title:"Packem Visualizer",...e.options.rollup.visualizer})].filter(Boolean)}},"getRollupOptions"),qe=E(e=>{const t=Z(e,"types"),r={load(o){return/\.(?:js|cjs|mjs|jsx|ts|tsx|mts|json)$/.test(o)?null:""},name:"packem:ignore-files"},n=e.tsconfig?.config.compilerOptions;return delete n?.lib,{...Te(e,t),onwarn(o,i){Re(o,e)||o.code!=="EMPTY_BUNDLE"&&i(o)},output:[e.options.emitCJS&&{chunkFileNames:E(o=>P(e,o,"d.cts"),"chunkFileNames"),dir:g.resolve(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.cts",format:"cjs",sourcemap:e.options.sourcemap,...e.options.rollup.output},{chunkFileNames:E(o=>P(e,o,"d.mts"),"chunkFileNames"),dir:g.resolve(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.mts",format:"esm",sourcemap:e.options.sourcemap,...e.options.rollup.output},(e.options.declaration===!0||e.options.declaration==="compatible")&&{chunkFileNames:E(o=>P(e,o,"d.ts"),"chunkFileNames"),dir:g.resolve(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.ts",format:"cjs",sourcemap:e.options.sourcemap,...e.options.rollup.output}].filter(Boolean),plugins:[ve(),Pe(),e.options.rollup.json&&fe({...e.options.rollup.json}),r,e.tsconfig&&Se(e.options.rootDir,e.logger,e.tsconfig),e.tsconfig&&De(e.tsconfig,e.logger),e.options.rollup.replace&&ue({...e.options.rollup.replace,values:{...e.options.replace,...e.options.rollup.replace.values}}),e.options.rollup.alias&&pe({customResolver:W.nodeResolve({extensions:D.DEFAULT_EXTENSIONS,...e.options.rollup.resolve}),...e.options.rollup.alias,entries:t}),e.options.rollup.resolve&&W.nodeResolve({extensions:D.DEFAULT_EXTENSIONS,...e.options.rollup.resolve}),at.dts({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}),e.options.cjsInterop&&e.options.emitCJS&&de({...e.options.rollup.cjsInterop,logger:e.logger,type:e.pkg.type??"commonjs"}),e.options.rollup.patchTypes&&No(e.options.rollup.patchTypes,e.logger),xt(),e.options.rollup.license&&e.options.rollup.license.path&&typeof e.options.rollup.license.dtsTemplate=="function"&&ye({licenseFilePath:e.options.rollup.license.path,licenseTemplate:e.options.rollup.license.dtsTemplate,logger:e.logger,marker:e.options.rollup.license.marker??"TYPE_DEPENDENCIES",mode:"types",packageName:e.pkg.name})].filter(Boolean)}},"getRollupDtsOptions");var Xo=Object.defineProperty,R=f((e,t)=>Xo(e,"name",{value:t,configurable:!0}),"p");const Be=R((e,t,r)=>{const n="watcher:"+t;e.on("change",(o,{event:i})=>{r.info({message:`${y.cyan(g.relative(".",o))} was ${i}d`,prefix:n})}),e.on("restart",()=>{r.info({message:"Rebuilding "+t+"...",prefix:n})}),e.on("event",o=>{o.code==="END"&&r.success({message:"Rebuild "+t+" finished",prefix:n}),o.code==="ERROR"&&r.error({context:[o.error],message:"Rebuild "+t+" failed: "+o.error.message,prefix:n})})},"watchHandler"),Go=R(async e=>{const t=await Ae(e);if(await e.hooks.callHook("rollup:options",e,t),Object.keys(t.input).length===0)return;const r=L.watch(t);await e.hooks.callHook("rollup:watch",e,r);const n=[...Array.isArray(t.input)?t.input:typeof t.input=="string"?[t.input]:Object.keys(t.input??{})];let o="Starting watchers for entries:";for(const i of n)o+=y.gray(`
56
- └─ ${g.relative(process.cwd(),i)}`);if(e.logger.info(o),Be(r,"bundle",e.logger),e.options.declaration){const i=qe(e);await e.hooks.callHook("rollup:dts:options",e,i);const s=L.watch(i);await e.hooks.callHook("rollup:watch",e,s),Be(s,"types",e.logger)}},"watch"),Yo=R(async e=>{const t=await Ae(e);if(await e.hooks.callHook("rollup:options",e,t),Object.keys(t.input).length===0)return;const r=await L.rollup(t);await e.hooks.callHook("rollup:build",e,r);const n=t.output,o=new Map;for(const i of n){const{output:s}=await r.write(i),p=new Set,u=s.filter(l=>l.type==="chunk");for(const l of u){p.add(l.fileName);for(const a of l.imports)e.usedImports.add(a);l.isEntry&&e.buildEntries.push({bytes:Buffer.byteLength(l.code,"utf8"),chunks:l.imports.filter(a=>u.find(m=>m.fileName===a)),exports:l.exports,modules:Object.entries(l.modules).map(([a,m])=>({bytes:m.renderedLength,id:a})),path:l.fileName,type:"entry"})}const c=s.filter(l=>l.type==="asset");for(const l of c)o.has(l.fileName)||o.set(l.fileName,{bytes:Buffer.byteLength(l.source,"utf8"),path:l.fileName,type:"asset"});for(const l of p)e.usedImports.delete(l)}if(e.buildEntries.push(...o.values()),e.options.declaration){const i=qe(e);if(await e.hooks.callHook("rollup:dts:options",e,i),Object.keys(i.input).length===0)return;const s=await L.rollup(i);await e.hooks.callHook("rollup:dts:build",e,s),e.logger.info({message:"Building declaration files...",prefix:"dts"}),e.options.emitCJS&&await s.write({chunkFileNames:R(p=>P(e,p,"d.cts"),"chunkFileNames"),dir:g.resolve(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.cts"}),e.options.emitESM&&await s.write({chunkFileNames:R(p=>P(e,p,"d.mts"),"chunkFileNames"),dir:g.resolve(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.mts"}),e.options.declaration===!0&&await s.write({chunkFileNames:R(p=>P(e,p,"d.ts"),"chunkFileNames"),dir:g.resolve(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.ts"})}await e.hooks.callHook("rollup:dts:done",e)},"build");var Zo=Object.defineProperty,Ko=f((e,t)=>Zo(e,"name",{value:t,configurable:!0}),"a$3");const Qo=Ko(e=>e===void 0?[]:Array.isArray(e)?e:[e],"arrayify");var er=Object.defineProperty,tr=f((e,t)=>er(e,"name",{value:t,configurable:!0}),"i$1");const Le=tr(e=>`{ ${Object.keys(e).map(t=>`${t}: ${JSON.stringify(e[t])}`).join(", ")} }`,"dumpObject");var or=Object.defineProperty,U=f((e,t)=>or(e,"name",{value:t,configurable:!0}),"l$2");const rr=T.createFilter,nr=U((e,t)=>{const{sideEffects:r}=t;let n;if(typeof r=="boolean")n=U(()=>r,"hasSideEffects");else if(Array.isArray(r))if(r.length<=0)n=U(()=>!1,"hasSideEffects");else{const o=r.map(i=>i.includes("/")?i:`**/${i}`);n=rr(o,null,{resolve:e})}else n=U(()=>null,"hasSideEffects");return n},"getPackageSideEffect");var sr=Object.defineProperty,ir=f((e,t)=>sr(e,"name",{value:t,configurable:!0}),"t$3");const ar=ir(e=>e.replace(/\.(js|mjs|cjs|ts|mts|cts|json|jsx|tsx)$/,""),"removeExtension");var lr=Object.defineProperty,We=f((e,t)=>lr(e,"name",{value:t,configurable:!0}),"t$2");const re=We(e=>{if(e.endsWith(".d.ts")||e.endsWith(".mjs"))return"esm";if(e.endsWith(".cjs"))return"cjs"},"inferExportTypeFromFileName"),Je=We((e,t,r,n)=>{if(r){const s=re(r);if(s)return s}if(e==="module"||e==="import")return"esm";if(e==="require")return"cjs";if(t.length===0)return n==="commonjs"?"cjs":"esm";const[o,...i]=t;return Je(o,i,r,n)},"inferExportType");var cr=Object.defineProperty,pr=f((e,t)=>cr(e,"name",{value:t,configurable:!0}),"s$4");const ne=pr((e,t,r=[])=>{if(!e)return[];if(typeof e=="string"){const n=re(e),o=t==="module"?"esm":"cjs";if(n&&n!==o)throw new Error(`Exported file "${e}" has an extension that does not match the package.json type "${t}".`);return[{file:e,type:n??o}]}return Object.entries(e).filter(([n])=>!n.endsWith(".json")).flatMap(([n,o])=>typeof o=="string"?{file:o,type:Je(n,r,o,t)}:ne(o,t,[...r,n]))},"extractExportFilenames");var ur=Object.defineProperty,dr=f((e,t)=>ur(e,"name",{value:t,configurable:!0}),"e");const mr=dr(e=>{const t=g.normalize(e).split("/");return t.map((r,n)=>t.slice(n).join("/")).filter(Boolean)},"getEntrypointPaths");var fr=Object.defineProperty,gr=f((e,t)=>fr(e,"name",{value:t,configurable:!0}),"E");const hr=gr((e,t,r=".")=>{const n=[];t.sort((l,a)=>l.split("/").length-a.split("/").length);const o=ne(e.exports,e.type||"commonjs");if(e.bin){const l=typeof e.bin=="string"?[e.bin]:Object.values(e.bin);for(const a of l)o.push({file:a,isExecutable:!0})}e.main&&o.push({file:e.main,type:re(e.main)??(e.type==="module"?"esm":"cjs")}),e.module&&o.push({file:e.module,type:"esm"}),(e.types||e.typings)&&o.push({file:e.types||e.typings});const i=e.type==="module";for(const l of o.filter(a=>!a.type)){const a=l.file.endsWith(".js");i&&a||l.file.endsWith(".mjs")?l.type="esm":(!i&&a||l.file.endsWith(".cjs"))&&(l.type="cjs")}let s=!1,p=!1,u=!1;const c=[];for(const l of o){const a=l.file.replace(/(?:\*[^/\\]*|\.d\.(?:m|c)?ts|\.\w+)$/,""),m=a.endsWith("/");if(m&&["./","/"].includes(a))continue;const j=mr(a).reduce((_,d)=>{if(_)return _;const h=new RegExp(`(?<=/|$)${d}${m?"":"\\.\\w+"}$`);return t.find(v=>h.test(v))?.replace(/(?:\.d\.(?:m|c)?ts|\.\w+)$/,"")},void 0);if(!j){X.existsSync(g.resolve(r,l.file))||n.push(`Could not find entrypoint for \`${l.file}\``);continue}l.type==="cjs"&&(s=!0),l.type==="esm"&&(p=!0);const w=c.find(_=>_.input===j)??c[c.push({input:j})-1];/\.d\.(?:m|c)?ts$/.test(l.file)&&(u=!0),m&&(w.outDir=a),l.isExecutable&&(w.isExecutable=!0)}return{cjs:s,dts:u,entries:c,esm:p,warnings:n}},"inferEntries");var yr=Object.defineProperty,vr=f((e,t)=>yr(e,"name",{value:t,configurable:!0}),"o$1");const br=vr(e=>{const{publishConfig:t}=e;return t&&(t.bin&&(typeof t.bin=="object"||typeof t.bin=="string")&&(e.bin=t.bin),t.type&&typeof t.type=="string"&&t.type!==""&&(e.type=t.type),t.main&&typeof t.main=="string"&&t.main!==""&&(e.main=t.main),t.module&&typeof t.module=="string"&&t.module!==""&&(e.module=t.module),t.types&&typeof t.types=="string"&&t.types!==""?e.types=t.types:t.typings&&typeof t.typings=="string"&&t.typings!==""&&(e.typings=t.typings),t.exports&&typeof t.exports=="object"&&(e.exports=t.exports)),e},"overwriteWithPublishConfig");var $r=Object.defineProperty,jr=f((e,t)=>$r(e,"name",{value:t,configurable:!0}),"n$3");const wr={hooks:{"build:prepare":jr(function(e){if(!e.pkg||e.options.entries.length>0)return;const t=g.join(e.options.rootDir,"src");if(!X.existsSync(t))throw new Error("No 'src' directory found. Please provide entries manually.");const r=k.collectSync(t,{extensions:[],includeDirs:!1,includeSymlinks:!1});if(r.length===0)throw new Error("No source files found in 'src' directory. Please provide entries manually.");let n={...e.pkg};n.publishConfig&&(n=br(n));const o=hr(n,r,e.options.rootDir);for(const i of o.warnings)A(e,i);if(e.options.entries.push(...o.entries),o.cjs&&(e.options.emitCJS=!0),o.esm&&(e.options.emitESM=!0),o.dts&&(e.options.declaration=o.dts),e.options.entries.length===0)throw new Error("No entries detected. Please provide entries manually.");e.logger.info("Automatically detected entries:",y.cyan(e.options.entries.map(i=>y.bold(i.input.replace(`${e.options.rootDir}/`,"").replace(/\/$/,"/*"))).join(", ")),y.gray([o.esm&&"esm",o.cjs&&"cjs",o.dts&&"dts"].filter(Boolean).map(i=>`[${i}]`).join(" ")))},"build:prepare")}};var kr=Object.defineProperty,xr=f((e,t)=>kr(e,"name",{value:t,configurable:!0}),"n$2");const Ue=xr((e,t,r)=>{const n=ce(t,{esmResolve:!0,interopDefault:!0});try{return n(e)}catch(o){if(o.code!=="MODULE_NOT_FOUND")throw new Error(`Error trying import ${e} from ${t}`,{cause:o});return r}},"tryRequire");var Er=Object.defineProperty,_r=f((e,t)=>Er(e,"name",{value:t,configurable:!0}),"t");const Or=_r((e,t)=>(e==="auto"?e=wr:typeof e=="string"&&(e=Ue(e,t,{})),typeof e=="function"&&(e=e()),e),"resolvePreset");var Dr=Object.defineProperty,Nr=f((e,t)=>Dr(e,"name",{value:t,configurable:!0}),"o");const Sr=Nr(e=>{const t=new Set,r=new Set(Object.keys(e.pkg.dependencies||{})),n=new Set;for(const o of e.usedImports)r.delete(o),t.add(o);if(Array.isArray(e.options.dependencies))for(const o of e.options.dependencies)r.delete(o);for(const o of t)!K(e.options.externals,o)&&!o.startsWith("chunks/")&&!e.options.dependencies.includes(Q(o))&&!e.options.peerDependencies.includes(Q(o))&&n.add(o);r.size>0&&A(e,`Potential unused dependencies found: ${[...r].map(o=>y.cyan(o)).join(", ")}`),n.size>0&&A(e,`Potential implicit dependencies found: ${[...n].map(o=>y.cyan(o)).join(", ")}`)},"validateDependencies");var Pr=Object.defineProperty,ze=f((e,t)=>Pr(e,"name",{value:t,configurable:!0}),"i");const Mr=ze((e,t)=>gt.distance(e,t)<=e.length/3||t.includes(e),"isSimilar"),Fr=ze((e,t)=>{const r=e.toLowerCase();return t.filter(n=>Mr(n.toLowerCase(),r))},"findAlternatives");var Ir=Object.defineProperty,He=f((e,t)=>Ir(e,"name",{value:t,configurable:!0}),"n");const Rr=He((e,t)=>{if(!e)return;const r=new Set([...typeof e.bin=="string"?[e.bin]:Object.values(e.bin||{}),e.main,e.module,e.types,e.typings,...ne(e.exports,e.type??"commonjs").map(o=>o.file)].map(o=>o&&g.resolve(t.rootDir,o.replace(/\/[^*/]*\*[^\n\r/\u2028\u2029]*(?:[\n\r\u2028\u2029][^*/]*\*[^\n\r/\u2028\u2029]*)*(?:\/.*)?$/,"")))),n=[];for(const o of r)o&&!o.includes("*")&&!X.existsSync(o)&&n.push(o.replace(`${t.rootDir}/`,""));if(n.length>0){const o=He(p=>g.relative(t.rootDir,g.resolve(t.options.outDir,p)),"rPath"),i=t.buildEntries.filter(p=>!p.chunk).map(p=>o(p.path));let s="Potential missing or wrong package.json files:";for(const p of n){const u=Fr(p,i);s+=`
57
- - `+y.cyan(p)+(u.length>0?y.grey` (did you mean ${u.map(c=>`"${c}"`).join(", ")}?)`:"")}A(t,s)}},"validatePackage");var Cr=Object.defineProperty,I=f((e,t)=>Cr(e,"name",{value:t,configurable:!0}),"g");const Ve=I((e,t)=>{e.warnings.size>0&&(t&&e.logger.raw(`
58
- `),e.logger.warn(`Build is done with some warnings:
59
-
60
- ${[...e.warnings].map(r=>`- ${r}`).join(`
61
- `)}`),e.options.failOnWarn&&(e.logger.error("Exiting with code (1). You can change this behavior by setting `failOnWarn: false`."),x.exit(1)))},"logErrors"),Tr=I(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"),Xe=I(async(e,t,r,n,o,i,s,p)=>{const u=Or(o.preset??i.packem?.preset??n.preset??"auto",t);let c=`node${x.versions.node.split(".")[0]}`;if(i.engines?.node){const d=se.minVersion(i.engines.node);d&&(c=`node${d.major}`)}const l=Tr(s?.config.compilerOptions?.jsx),a=Ke.defu(o,i.packem,n,u,{alias:{},clean:!0,declaration:!1,dependencies:[],devDependencies:[],entries:[],externals:[...le.builtinModules,...le.builtinModules.map(d=>`node:${d}`)],failOnWarn:!0,name:(i.name??"").split("/").pop()??"default",optionalDependencies:[],outDir:"dist",peerDependencies:[],replace:{},rollup:{alias:{},cjsInterop:{addDefaultProperty:!1},commonjs:{ignoreTryCatch:!0,preserveSymlinks:!0,transformMixedEsModules:!1},dts:{compilerOptions:{baseUrl:s?.config.compilerOptions?.baseUrl??".",checkJs:!1,composite:!1,declaration:!0,declarationMap:!1,emitDeclarationOnly:!0,incremental:!1,noEmit:!1,noEmitOnError:!0,preserveSymlinks:!1,skipLibCheck:!0,target:99},respectExternal:!0},dynamicVars:{errorWhenNoFilesFound:!0,include:/\bimport\s*[(/]/},emitCJS:!1,emitESM:!0,esbuild:{charset:"utf8",include:/\.[jt]sx?$/,jsx:l,jsxDev:s?.config.compilerOptions?.jsx==="react-jsxdev",jsxFactory:s?.config.compilerOptions?.jsxFactory,jsxFragment:s?.config.compilerOptions?.jsxFragmentFactory,jsxImportSource:s?.config.compilerOptions?.jsxImportSource,jsxSideEffects:!0,keepNames:!0,minify:x.env.NODE_ENV==="production",minifyWhitespace:x.env.NODE_ENV==="production",sourcesContent:!1,target:s?.config.compilerOptions?.target,tsconfigRaw:s?.config},json:{preferConst:!0},license:{dtsTemplate:I((d,h,v)=>`
62
- # Licenses of bundled types
63
- The published ${v} artifact additionally contains code with the following licenses:
64
- ${d.join(", ")}
65
-
66
- # Bundled types:
67
- `+h,"dtsTemplate"),template:I((d,h,v)=>`
68
- # Licenses of bundled dependencies
69
- The published ${v} artifact additionally contains code with the following licenses:
70
- ${d.join(", ")}
71
-
72
- # Bundled dependencies:
73
- `+h,"template")},patchTypes:{},polyfillNode:{},preserveDynamicImports:!0,raw:{exclude:D.EXCLUDE_REGEXP,include:["**/*.data","**/*.txt"]},replace:{objectGuards:!0,preventAssignment:!0},resolve:{allowExportsFolderMapping:!1,preferBuiltins:!1},shim:!0,sucrase:{disableESTransforms:!0,enableLegacyBabel5ModuleInterop:!1,enableLegacyTypeScriptModuleInterop:s?.config.compilerOptions?.esModuleInterop===!1,include:/\.[jt]sx?$/,injectCreateRequireForImportRequire:!1,preserveDynamicImport:!0,production:x.env.NODE_ENV==="production",...s?.config.compilerOptions?.jsx&&["react","react-jsx","react-jsxdev"].includes(s.config.compilerOptions.jsx)?{jsxFragmentPragma:s.config.compilerOptions.jsxFragmentFactory,jsxImportSource:s.config.compilerOptions.jsxImportSource,jsxPragma:s.config.compilerOptions.jsxFactory,jsxRuntime:l,transforms:["typescript","jsx",...s.config.compilerOptions.esModuleInterop?["imports"]:[]]}:{transforms:["typescript",...s?.config.compilerOptions?.esModuleInterop?["imports"]:[]]}},swc:{include:/\.[jt]sx?$/,inlineSourcesContent:!1,inputSourceMap:!1,isModule:!0,jsc:{experimental:{keepImportAttributes:!0},externalHelpers:!1,keepClassNames:!0,loose:!0,parser:{decorators:s?.config.compilerOptions?.experimentalDecorators,dynamicImport:!0,syntax:s?"typescript":"ecmascript",[s?"tsx":"jsx"]:!0},target:s?.config.compilerOptions?.target?.toLowerCase(),transform:{decoratorMetadata:s?.config.compilerOptions?.emitDecoratorMetadata,legacyDecorator:!0,react:{development:x.env.NODE_ENV!=="production",pragma:s?.config.compilerOptions?.jsxFactory,pragmaFrag:s?.config.compilerOptions?.jsxFragmentFactory,runtime:l,throwIfNamespace:!0,useBuiltins:!0}}},module:{ignoreDynamic:!0,importInterop:"none",preserveImportMeta:!0,strict:!1,strictMode:!1,type:"es6"}},treeshake:{moduleSideEffects:nr(t,i),preset:"recommended"},watch:{clearScreen:!0,exclude:D.EXCLUDE_REGEXP}},rootDir:t,sourcemap:!1,stub:r==="jit",stubOptions:{jiti:{alias:{},esmResolve:!0,interopDefault:!0}},target:c,transformerName:void 0});if(!a.transformerName){const d=new Set([...Object.keys(i.dependencies??{}),...Object.keys(i.devDependencies??{})]);if(d.has("esbuild"))a.transformerName="esbuild";else if(d.has("@swc/core"))a.transformerName="swc";else if(d.has("sucrase"))a.transformerName="sucrase";else throw new Error("Unknown transformer, check your transformer options or install one of the supported transformers: esbuild, swc, sucrase");e.info('Using "'+y.cyan(a.transformerName)+'" as transformer.')}if(a.emitESM===!1&&a.emitCJS===!1)throw new Error("Both emitESM and emitCJS are disabled. At least one of them must be enabled.");if(a.outDir=g.resolve(a.rootDir,a.outDir),k.ensureDirSync(a.outDir),a.transformerName==="esbuild"&&a.rollup.esbuild){if(s?.config.compilerOptions?.target?.toLowerCase()==="es3"&&(e.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(" ")),s.config.compilerOptions.target="es5",a.rollup.esbuild.target="es5"),a.rollup.esbuild.jsx==="preserve"){let d="Packem does not support 'preserve' jsx option. Please use 'transform' or 'automatic' instead.";throw s?.config.compilerOptions?.jsx&&(d="Packem does not support '"+s.config.compilerOptions.jsx+"' jsx option. Please change it to 'react' or 'react-jsx' or 'react-jsxdev' instead."),new Error(d)}if(a.rollup.esbuild.target){const d=Qo(a.rollup.esbuild.target);d.some(h=>h.startsWith("node"))||(a.rollup.esbuild.target=[a.target,...d])}else a.rollup.esbuild.target=[a.target];s?.config.compilerOptions?.target==="es5"&&(a.rollup.esbuild.keepNames=!1,e.debug("Disabling keepNames because target is set to es5"))}a.rollup.resolve&&a.rollup.resolve.preferBuiltins===!0&&(a.rollup.polyfillNode=!1,e.debug("Disabling polyfillNode because preferBuiltins is set to true")),s?.config.compilerOptions?.isolatedModules||e.warn(`'compilerOptions.isolatedModules' is not enabled in tsconfig.
74
- Because none of the third-party transpilers, packem uses under the hood is type-aware, some techniques or features often used in TypeScript are not properly checked and can cause mis-compilation or even runtime errors.
75
- 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.`);const m={buildEntries:[],dependencyGraphMap:new Map,hooks:Qe.createHooks(),logger:e,mode:r,options:a,pkg:i,rootDir:t,tsconfig:s,usedImports:new Set,warnings:new Set};if(u.hooks&&m.hooks.addHooks(u.hooks),n.hooks&&m.hooks.addHooks(n.hooks),o.hooks&&m.hooks.addHooks(o.hooks),await m.hooks.callHook("build:prepare",m),m.options.entries=m.options.entries.map(d=>typeof d=="string"?{input:d}:d),a.declaration&&s===void 0)throw new Error("Cannot build declaration files without a tsconfig.json");for(const d of m.options.entries){if(typeof d.name!="string"){let h=g.isAbsolute(d.input)?g.relative(t,d.input):g.normalize(d.input);h.startsWith("./")&&(h=h.slice(2)),d.name=ar(h.replace(/^src\//,""))}if(!d.input)throw new Error(`Missing entry input: ${Le(d)}`);a.declaration!==void 0&&d.declaration===void 0&&(d.declaration=a.declaration),d.input=g.resolve(a.rootDir,d.input),d.outDir=g.resolve(a.rootDir,d.outDir??a.outDir)}a.dependencies=Object.keys(i.dependencies??{}),a.peerDependencies=Object.keys(i.peerDependencies??{}),a.devDependencies=Object.keys(i.devDependencies??{}),a.optionalDependencies=Object.keys(i.optionalDependencies??{}),a.externals.push(...a.dependencies,...a.peerDependencies,...a.optionalDependencies),await m.hooks.callHook("build:before",m);let j="Building";if(r==="watch"?j="Watching":r==="jit"&&(j="Stubbing"),e.info(y.cyan(`${j} ${a.name}`)),e.debug(`${y.bold("Root dir:")} ${a.rootDir}
76
- ${y.bold("Entries:")}
77
- ${m.options.entries.map(d=>` ${Le(d)}`).join(`
78
- `)}`),a.clean)for(const d of new Set(m.options.entries.map(h=>h.outDir).filter(Boolean).sort()))d!==a.rootDir&&(p.push(d),e.info(`Cleaning dist directory: \`./${g.relative(a.rootDir,d)}\``),await k.emptyDir(d));if(a.stub){await Rt(m),await m.hooks.callHook("build:done",m);return}if(r==="watch"){await Go(m),Ve(m,!1);return}await Yo(m),e.success(y.green(`Build succeeded for ${a.name}`));for await(const d of k.walk(a.outDir)){let h=m.buildEntries.find(v=>g.join(m.options.outDir,v.path)===d.path);if(h||(h={chunk:!0,path:d.path},m.buildEntries.push(h)),!h.bytes){const v=await z.stat(g.resolve(a.outDir,d.path));h.bytes=v.size}}const w=I(d=>g.relative(m.rootDir,g.resolve(a.outDir,d)),"rPath");let _=!1;for(const d of m.buildEntries.filter(h=>!h.chunk)){let h=d.bytes??0;for(const b of d.chunks??[])h+=m.buildEntries.find($=>$.path===b)?.bytes??0;let v=` ${y.bold(w(d.path))} (${["total size: "+y.cyan(M.formatBytes(h)),d.type!=="asset"&&d.bytes&&"chunk size: "+y.cyan(M.formatBytes(d.bytes))].filter(Boolean).join(", ")})`;if(v+=d.exports?.length?`
79
- exports: `+y.gray(d.exports.join(", ")):"",d.chunks?.length&&(v+=`
80
- ${d.chunks.map(b=>{const $=m.buildEntries.find(N=>N.path===b)??{};return y.gray(" └─ "+w(b)+y.bold($.bytes?" ("+M.formatBytes($?.bytes)+")":""))}).join(`
81
- `)}`),d.modules&&d.modules.length>0){const b=d.modules.filter($=>$.id.includes("node_modules")).sort(($,N)=>(N.bytes||0)-($.bytes||0)).map($=>y.gray(" 📦 "+w($.id)+y.bold($.bytes?" ("+M.formatBytes($.bytes)+")":""))).join(`
82
- `);v+=b.length>0?`
83
- inlined modules:
84
- `+b:""}if(m.options.declaration&&d.type==="entry"){let b=d.path.replace(/\.js$/,".d.ts"),$="commonjs";d.path.endsWith(".cjs")?b=d.path.replace(/\.cjs$/,".d.cts"):d.path.endsWith(".mjs")&&($="module",b=d.path.replace(/\.mjs$/,".d.mts"));const N=m.buildEntries.find(C=>C.path.endsWith(b));if(N){let C;(m.options.declaration===!0||m.options.declaration==="compatible")&&!b.includes(".d.ts")&&(b=b.replace($==="commonjs"?".d.c":".d.m",".d."),C=m.buildEntries.find(q=>q.path.endsWith(b))),v+=C&&$===i.type?`
85
- types:
86
- `+[N,C].map(q=>y.gray(" └─ ")+y.bold(w(q.path))+" (total size: "+y.cyan(M.formatBytes(q.bytes??0))+")").join(`
87
- `):`
88
- types: `+y.bold(w(N.path))+" (total size: "+y.cyan(M.formatBytes(N.bytes??0))+")"}}_=!0,v+=`
89
-
90
- `,e.raw(d.chunk?y.gray(v):v)}_&&e.raw("Σ Total dist size (byte size):",y.cyan(M.formatBytes(m.buildEntries.reduce((d,h)=>d+(h.bytes??0),0))),`
91
- `),Sr(m),Rr(i,m),await m.hooks.callHook("build:done",m),Ve(m,_)},"build"),Ar=I(async(e,t,r={})=>{const{configPath:n,debug:o,tsconfigPath:i,...s}=r,p=[new V.MessageFormatterProcessor,new V.ErrorProcessor];o&&p.push(new V.CallerProcessor);const u=Ze.createPail({logLevel:o?"debug":"informational",processors:p,scope:"packem"});e=g.resolve(x.cwd(),e);let c;if(i)await k.isAccessible(i)||(u.error("tsconfig.json not found at",i),x.exit(1)),c={config:H.readTsConfig(i),path:i},u.debug("Using tsconfig.json found at",i);else try{c=await H.findTSConfig(e),u.debug("Using "+g.basename(c.path)+" found at",c.path)}catch{u.info("No tsconfig.json or jsconfig.json found.")}try{const{packageJson:l,path:a}=await H.findPackageJson(e);u.debug("Using package.json found at",a);const m=Ue(n??"./packem.config",e,[]),j=(Array.isArray(m)?m:[m]).filter(Boolean);if(j.length===0)await Xe(u,e,t,s,{},l,c,[]);else{const w=[];for(const _ of j)await Xe(u,e,t,s,_,l,c,w)}u.restoreAll(),x.exit(0)}catch(l){u.error("An error occurred while building",l),x.exit(1)}},"createBundler");module.exports=Ar;
1
+ "use strict";require("node:fs/promises");require("node:module");require("node:process");require("@visulima/colorize");require("@visulima/fs");require("@visulima/fs/error");require("@visulima/humanizer");require("@visulima/package");require("@visulima/package/package-json");require("@visulima/pail");require("@visulima/pail/processor");require("@visulima/path");require("defu");require("hookable");const e=require("./shared/packem.DLTIqnbY.cjs");require("./shared/packem.CKW9adaV.cjs");module.exports=e.Oe;
@@ -1,4 +1,4 @@
1
- import { M as Mode, B as BuildConfig } from './shared/packem.BTXS2BEO.cjs';
1
+ import { M as Mode, B as BuildConfig } from './shared/packem.CnhGR3os.cjs';
2
2
  import '@rollup/plugin-alias';
3
3
  import '@rollup/plugin-commonjs';
4
4
  import '@rollup/plugin-json';
@@ -1,4 +1,4 @@
1
- import { M as Mode, B as BuildConfig } from './shared/packem.B0cQlmdV.mjs';
1
+ import { M as Mode, B as BuildConfig } from './shared/packem.DDrQsBAR.mjs';
2
2
  import '@rollup/plugin-alias';
3
3
  import '@rollup/plugin-commonjs';
4
4
  import '@rollup/plugin-json';
@@ -1,4 +1,4 @@
1
- import { M as Mode, B as BuildConfig } from './shared/packem.DKw6b-sX.js';
1
+ import { M as Mode, B as BuildConfig } from './shared/packem.BzWrDnY8.js';
2
2
  import '@rollup/plugin-alias';
3
3
  import '@rollup/plugin-commonjs';
4
4
  import '@rollup/plugin-json';