@trebired/bundler 3.0.0 → 3.1.1

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.
Files changed (334) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +94 -11
  3. package/dist/backend/utils/normalize.d.ts +2 -0
  4. package/dist/backend/utils/normalize.d.ts.map +1 -0
  5. package/dist/backend/utils/normalize.js +4 -0
  6. package/dist/backend/utils/normalize.js.map +1 -0
  7. package/dist/backend/utils/object.d.ts +3 -0
  8. package/dist/backend/utils/object.d.ts.map +1 -0
  9. package/dist/backend/utils/object.js +12 -0
  10. package/dist/backend/utils/object.js.map +1 -0
  11. package/dist/backend/utils/time.d.ts +3 -0
  12. package/dist/backend/utils/time.d.ts.map +1 -0
  13. package/dist/backend/utils/time.js +7 -0
  14. package/dist/backend/utils/time.js.map +1 -0
  15. package/dist/cli/run-cli.d.ts.map +1 -1
  16. package/dist/cli/run-cli.js +40 -36
  17. package/dist/cli/run-cli.js.map +1 -1
  18. package/dist/cli.d.ts.map +1 -1
  19. package/dist/cli.js.map +1 -1
  20. package/dist/config/index.d.ts +1 -1
  21. package/dist/config/index.d.ts.map +1 -1
  22. package/dist/config/index.js.map +1 -1
  23. package/dist/constants.d.ts.map +1 -1
  24. package/dist/constants.js.map +1 -1
  25. package/dist/core/asset-manifest.d.ts +1 -4
  26. package/dist/core/asset-manifest.d.ts.map +1 -1
  27. package/dist/core/asset-manifest.js +1 -254
  28. package/dist/core/asset-manifest.js.map +1 -1
  29. package/dist/core/asset_manifest/runtime.d.ts +5 -0
  30. package/dist/core/asset_manifest/runtime.d.ts.map +1 -0
  31. package/dist/core/asset_manifest/runtime.js +252 -0
  32. package/dist/core/asset_manifest/runtime.js.map +1 -0
  33. package/dist/core/build.d.ts +1 -1
  34. package/dist/core/build.d.ts.map +1 -1
  35. package/dist/core/build.js +2 -2
  36. package/dist/core/build.js.map +1 -1
  37. package/dist/core/derive-manifest.d.ts +2 -9
  38. package/dist/core/derive-manifest.d.ts.map +1 -1
  39. package/dist/core/derive-manifest.js +1 -153
  40. package/dist/core/derive-manifest.js.map +1 -1
  41. package/dist/core/derive_manifest/runtime.d.ts +10 -0
  42. package/dist/core/derive_manifest/runtime.d.ts.map +1 -0
  43. package/dist/core/derive_manifest/runtime.js +133 -0
  44. package/dist/core/derive_manifest/runtime.js.map +1 -0
  45. package/dist/core/discovery/aggregate.d.ts +32 -0
  46. package/dist/core/discovery/aggregate.d.ts.map +1 -0
  47. package/dist/core/discovery/aggregate.js +124 -0
  48. package/dist/core/discovery/aggregate.js.map +1 -0
  49. package/dist/core/discovery/emit.d.ts +22 -0
  50. package/dist/core/discovery/emit.d.ts.map +1 -0
  51. package/dist/core/discovery/emit.js +37 -0
  52. package/dist/core/discovery/emit.js.map +1 -0
  53. package/dist/core/discovery/normalize.d.ts +8 -0
  54. package/dist/core/discovery/normalize.d.ts.map +1 -0
  55. package/dist/core/discovery/normalize.js +130 -0
  56. package/dist/core/discovery/normalize.js.map +1 -0
  57. package/dist/core/discovery/public.d.ts +5 -0
  58. package/dist/core/discovery/public.d.ts.map +1 -0
  59. package/dist/core/discovery/public.js +25 -0
  60. package/dist/core/discovery/public.js.map +1 -0
  61. package/dist/core/discovery/resolve.d.ts +9 -0
  62. package/dist/core/discovery/resolve.d.ts.map +1 -0
  63. package/dist/core/discovery/resolve.js +235 -0
  64. package/dist/core/discovery/resolve.js.map +1 -0
  65. package/dist/core/discovery/scan.d.ts +29 -0
  66. package/dist/core/discovery/scan.d.ts.map +1 -0
  67. package/dist/core/discovery/scan.js +105 -0
  68. package/dist/core/discovery/scan.js.map +1 -0
  69. package/dist/core/discovery/shared.d.ts +100 -0
  70. package/dist/core/discovery/shared.d.ts.map +1 -0
  71. package/dist/core/discovery/shared.js +187 -0
  72. package/dist/core/discovery/shared.js.map +1 -0
  73. package/dist/core/discovery-watch.d.ts +1 -8
  74. package/dist/core/discovery-watch.d.ts.map +1 -1
  75. package/dist/core/discovery-watch.js +1 -100
  76. package/dist/core/discovery-watch.js.map +1 -1
  77. package/dist/core/discovery.d.ts +4 -31
  78. package/dist/core/discovery.d.ts.map +1 -1
  79. package/dist/core/discovery.js +3 -468
  80. package/dist/core/discovery.js.map +1 -1
  81. package/dist/core/discovery_watch/runtime.d.ts +9 -0
  82. package/dist/core/discovery_watch/runtime.d.ts.map +1 -0
  83. package/dist/core/discovery_watch/runtime.js +127 -0
  84. package/dist/core/discovery_watch/runtime.js.map +1 -0
  85. package/dist/core/esbuild-options.d.ts +1 -1
  86. package/dist/core/esbuild-options.d.ts.map +1 -1
  87. package/dist/core/esbuild-options.js +38 -38
  88. package/dist/core/esbuild-options.js.map +1 -1
  89. package/dist/core/import-graph.d.ts +1 -3
  90. package/dist/core/import-graph.d.ts.map +1 -1
  91. package/dist/core/import-graph.js +1 -409
  92. package/dist/core/import-graph.js.map +1 -1
  93. package/dist/core/import_graph/parse.d.ts +6 -0
  94. package/dist/core/import_graph/parse.d.ts.map +1 -0
  95. package/dist/core/import_graph/parse.js +134 -0
  96. package/dist/core/import_graph/parse.js.map +1 -0
  97. package/dist/core/import_graph/resolve.d.ts +4 -0
  98. package/dist/core/import_graph/resolve.d.ts.map +1 -0
  99. package/dist/core/import_graph/resolve.js +105 -0
  100. package/dist/core/import_graph/resolve.js.map +1 -0
  101. package/dist/core/import_graph/shared.d.ts +21 -0
  102. package/dist/core/import_graph/shared.d.ts.map +1 -0
  103. package/dist/core/import_graph/shared.js +27 -0
  104. package/dist/core/import_graph/shared.js.map +1 -0
  105. package/dist/core/import_graph/tsconfig.d.ts +7 -0
  106. package/dist/core/import_graph/tsconfig.d.ts.map +1 -0
  107. package/dist/core/import_graph/tsconfig.js +111 -0
  108. package/dist/core/import_graph/tsconfig.js.map +1 -0
  109. package/dist/core/manifest.d.ts +1 -1
  110. package/dist/core/manifest.d.ts.map +1 -1
  111. package/dist/core/manifest.js.map +1 -1
  112. package/dist/core/shared.d.ts +5 -4
  113. package/dist/core/shared.d.ts.map +1 -1
  114. package/dist/core/shared.js +12 -4
  115. package/dist/core/shared.js.map +1 -1
  116. package/dist/core/watch.d.ts +1 -1
  117. package/dist/core/watch.d.ts.map +1 -1
  118. package/dist/core/watch.js +143 -135
  119. package/dist/core/watch.js.map +1 -1
  120. package/dist/frontend/js/utils/text.d.ts +2 -0
  121. package/dist/frontend/js/utils/text.d.ts.map +1 -0
  122. package/dist/frontend/js/utils/text.js +4 -0
  123. package/dist/frontend/js/utils/text.js.map +1 -0
  124. package/dist/index.d.ts +1 -1
  125. package/dist/index.d.ts.map +1 -1
  126. package/dist/index.js.map +1 -1
  127. package/dist/logging.d.ts.map +1 -1
  128. package/dist/logging.js.map +1 -1
  129. package/dist/plugins/scss.d.ts +1 -1
  130. package/dist/plugins/scss.d.ts.map +1 -1
  131. package/dist/plugins/scss.js.map +1 -1
  132. package/dist/plugins/source-annotations.d.ts +1 -1
  133. package/dist/plugins/source-annotations.d.ts.map +1 -1
  134. package/dist/plugins/source-annotations.js.map +1 -1
  135. package/dist/plugins/virtual-entries.d.ts +1 -1
  136. package/dist/plugins/virtual-entries.d.ts.map +1 -1
  137. package/dist/plugins/virtual-entries.js +1 -1
  138. package/dist/plugins/virtual-entries.js.map +1 -1
  139. package/dist/src/backend/utils/normalize.d.ts +2 -0
  140. package/dist/src/backend/utils/normalize.d.ts.map +1 -0
  141. package/dist/src/backend/utils/normalize.js +4 -0
  142. package/dist/src/backend/utils/normalize.js.map +1 -0
  143. package/dist/src/backend/utils/object.d.ts +3 -0
  144. package/dist/src/backend/utils/object.d.ts.map +1 -0
  145. package/dist/src/backend/utils/object.js +12 -0
  146. package/dist/src/backend/utils/object.js.map +1 -0
  147. package/dist/src/backend/utils/time.d.ts +3 -0
  148. package/dist/src/backend/utils/time.d.ts.map +1 -0
  149. package/dist/src/backend/utils/time.js +7 -0
  150. package/dist/src/backend/utils/time.js.map +1 -0
  151. package/dist/src/cli/run-cli.d.ts +14 -0
  152. package/dist/src/cli/run-cli.d.ts.map +1 -0
  153. package/dist/src/cli/run-cli.js +108 -0
  154. package/dist/src/cli/run-cli.js.map +1 -0
  155. package/dist/src/cli.d.ts +5 -0
  156. package/dist/src/cli.d.ts.map +1 -0
  157. package/dist/src/cli.js +10 -0
  158. package/dist/src/cli.js.map +1 -0
  159. package/dist/src/config/index.d.ts +5 -0
  160. package/dist/src/config/index.d.ts.map +1 -0
  161. package/dist/src/config/index.js +32 -0
  162. package/dist/src/config/index.js.map +1 -0
  163. package/dist/src/constants.d.ts +4 -0
  164. package/dist/src/constants.d.ts.map +1 -0
  165. package/dist/src/constants.js +4 -0
  166. package/dist/src/constants.js.map +1 -0
  167. package/dist/src/core/asset-manifest.d.ts +2 -0
  168. package/dist/src/core/asset-manifest.d.ts.map +1 -0
  169. package/dist/src/core/asset-manifest.js +2 -0
  170. package/dist/src/core/asset-manifest.js.map +1 -0
  171. package/dist/src/core/asset_manifest/runtime.d.ts +5 -0
  172. package/dist/src/core/asset_manifest/runtime.d.ts.map +1 -0
  173. package/dist/src/core/asset_manifest/runtime.js +252 -0
  174. package/dist/src/core/asset_manifest/runtime.js.map +1 -0
  175. package/dist/src/core/build.d.ts +4 -0
  176. package/dist/src/core/build.d.ts.map +1 -0
  177. package/dist/src/core/build.js +49 -0
  178. package/dist/src/core/build.js.map +1 -0
  179. package/dist/src/core/derive-manifest.d.ts +3 -0
  180. package/dist/src/core/derive-manifest.d.ts.map +1 -0
  181. package/dist/src/core/derive-manifest.js +2 -0
  182. package/dist/src/core/derive-manifest.js.map +1 -0
  183. package/dist/src/core/derive_manifest/runtime.d.ts +10 -0
  184. package/dist/src/core/derive_manifest/runtime.d.ts.map +1 -0
  185. package/dist/src/core/derive_manifest/runtime.js +133 -0
  186. package/dist/src/core/derive_manifest/runtime.js.map +1 -0
  187. package/dist/src/core/discovery/aggregate.d.ts +32 -0
  188. package/dist/src/core/discovery/aggregate.d.ts.map +1 -0
  189. package/dist/src/core/discovery/aggregate.js +124 -0
  190. package/dist/src/core/discovery/aggregate.js.map +1 -0
  191. package/dist/src/core/discovery/emit.d.ts +22 -0
  192. package/dist/src/core/discovery/emit.d.ts.map +1 -0
  193. package/dist/src/core/discovery/emit.js +37 -0
  194. package/dist/src/core/discovery/emit.js.map +1 -0
  195. package/dist/src/core/discovery/normalize.d.ts +8 -0
  196. package/dist/src/core/discovery/normalize.d.ts.map +1 -0
  197. package/dist/src/core/discovery/normalize.js +130 -0
  198. package/dist/src/core/discovery/normalize.js.map +1 -0
  199. package/dist/src/core/discovery/public.d.ts +5 -0
  200. package/dist/src/core/discovery/public.d.ts.map +1 -0
  201. package/dist/src/core/discovery/public.js +25 -0
  202. package/dist/src/core/discovery/public.js.map +1 -0
  203. package/dist/src/core/discovery/resolve.d.ts +9 -0
  204. package/dist/src/core/discovery/resolve.d.ts.map +1 -0
  205. package/dist/src/core/discovery/resolve.js +235 -0
  206. package/dist/src/core/discovery/resolve.js.map +1 -0
  207. package/dist/src/core/discovery/scan.d.ts +29 -0
  208. package/dist/src/core/discovery/scan.d.ts.map +1 -0
  209. package/dist/src/core/discovery/scan.js +105 -0
  210. package/dist/src/core/discovery/scan.js.map +1 -0
  211. package/dist/src/core/discovery/shared.d.ts +100 -0
  212. package/dist/src/core/discovery/shared.d.ts.map +1 -0
  213. package/dist/src/core/discovery/shared.js +187 -0
  214. package/dist/src/core/discovery/shared.js.map +1 -0
  215. package/dist/src/core/discovery-watch.d.ts +2 -0
  216. package/dist/src/core/discovery-watch.d.ts.map +1 -0
  217. package/dist/src/core/discovery-watch.js +2 -0
  218. package/dist/src/core/discovery-watch.js.map +1 -0
  219. package/dist/src/core/discovery.d.ts +5 -0
  220. package/dist/src/core/discovery.d.ts.map +1 -0
  221. package/dist/src/core/discovery.js +4 -0
  222. package/dist/src/core/discovery.js.map +1 -0
  223. package/dist/src/core/discovery_watch/runtime.d.ts +9 -0
  224. package/dist/src/core/discovery_watch/runtime.d.ts.map +1 -0
  225. package/dist/src/core/discovery_watch/runtime.js +127 -0
  226. package/dist/src/core/discovery_watch/runtime.js.map +1 -0
  227. package/dist/src/core/esbuild-options.d.ts +30 -0
  228. package/dist/src/core/esbuild-options.d.ts.map +1 -0
  229. package/dist/src/core/esbuild-options.js +93 -0
  230. package/dist/src/core/esbuild-options.js.map +1 -0
  231. package/dist/src/core/import-graph.d.ts +2 -0
  232. package/dist/src/core/import-graph.d.ts.map +1 -0
  233. package/dist/src/core/import-graph.js +2 -0
  234. package/dist/src/core/import-graph.js.map +1 -0
  235. package/dist/src/core/import_graph/parse.d.ts +6 -0
  236. package/dist/src/core/import_graph/parse.d.ts.map +1 -0
  237. package/dist/src/core/import_graph/parse.js +134 -0
  238. package/dist/src/core/import_graph/parse.js.map +1 -0
  239. package/dist/src/core/import_graph/resolve.d.ts +4 -0
  240. package/dist/src/core/import_graph/resolve.d.ts.map +1 -0
  241. package/dist/src/core/import_graph/resolve.js +105 -0
  242. package/dist/src/core/import_graph/resolve.js.map +1 -0
  243. package/dist/src/core/import_graph/shared.d.ts +21 -0
  244. package/dist/src/core/import_graph/shared.d.ts.map +1 -0
  245. package/dist/src/core/import_graph/shared.js +27 -0
  246. package/dist/src/core/import_graph/shared.js.map +1 -0
  247. package/dist/src/core/import_graph/tsconfig.d.ts +7 -0
  248. package/dist/src/core/import_graph/tsconfig.d.ts.map +1 -0
  249. package/dist/src/core/import_graph/tsconfig.js +111 -0
  250. package/dist/src/core/import_graph/tsconfig.js.map +1 -0
  251. package/dist/src/core/manifest.d.ts +15 -0
  252. package/dist/src/core/manifest.d.ts.map +1 -0
  253. package/dist/src/core/manifest.js +29 -0
  254. package/dist/src/core/manifest.js.map +1 -0
  255. package/dist/src/core/shared.d.ts +17 -0
  256. package/dist/src/core/shared.d.ts.map +1 -0
  257. package/dist/src/core/shared.js +71 -0
  258. package/dist/src/core/shared.js.map +1 -0
  259. package/dist/src/core/watch.d.ts +4 -0
  260. package/dist/src/core/watch.d.ts.map +1 -0
  261. package/dist/src/core/watch.js +185 -0
  262. package/dist/src/core/watch.js.map +1 -0
  263. package/dist/src/frontend/js/utils/text.d.ts +2 -0
  264. package/dist/src/frontend/js/utils/text.d.ts.map +1 -0
  265. package/dist/src/frontend/js/utils/text.js +4 -0
  266. package/dist/src/frontend/js/utils/text.js.map +1 -0
  267. package/dist/src/index.d.ts +14 -0
  268. package/dist/src/index.d.ts.map +1 -0
  269. package/dist/src/index.js +13 -0
  270. package/dist/src/index.js.map +1 -0
  271. package/dist/src/logging.d.ts +5 -0
  272. package/dist/src/logging.d.ts.map +1 -0
  273. package/dist/src/logging.js +35 -0
  274. package/dist/src/logging.js.map +1 -0
  275. package/dist/src/plugins/scss.d.ts +11 -0
  276. package/dist/src/plugins/scss.d.ts.map +1 -0
  277. package/dist/src/plugins/scss.js +44 -0
  278. package/dist/src/plugins/scss.js.map +1 -0
  279. package/dist/src/plugins/source-annotations.d.ts +17 -0
  280. package/dist/src/plugins/source-annotations.d.ts.map +1 -0
  281. package/dist/src/plugins/source-annotations.js +78 -0
  282. package/dist/src/plugins/source-annotations.js.map +1 -0
  283. package/dist/src/plugins/virtual-entries.d.ts +11 -0
  284. package/dist/src/plugins/virtual-entries.d.ts.map +1 -0
  285. package/dist/src/plugins/virtual-entries.js +39 -0
  286. package/dist/src/plugins/virtual-entries.js.map +1 -0
  287. package/dist/src/types/discovery.d.ts +91 -0
  288. package/dist/src/types/discovery.d.ts.map +1 -0
  289. package/dist/src/types/discovery.js +2 -0
  290. package/dist/src/types/discovery.js.map +1 -0
  291. package/dist/src/types/import_graph.d.ts +29 -0
  292. package/dist/src/types/import_graph.d.ts.map +1 -0
  293. package/dist/src/types/import_graph.js +2 -0
  294. package/dist/src/types/import_graph.js.map +1 -0
  295. package/dist/src/types/logging.d.ts +9 -0
  296. package/dist/src/types/logging.d.ts.map +1 -0
  297. package/dist/src/types/logging.js +2 -0
  298. package/dist/src/types/logging.js.map +1 -0
  299. package/dist/src/types/manifest.d.ts +106 -0
  300. package/dist/src/types/manifest.d.ts.map +1 -0
  301. package/dist/src/types/manifest.js +2 -0
  302. package/dist/src/types/manifest.js.map +1 -0
  303. package/dist/src/types/runtime.d.ts +53 -0
  304. package/dist/src/types/runtime.d.ts.map +1 -0
  305. package/dist/src/types/runtime.js +2 -0
  306. package/dist/src/types/runtime.js.map +1 -0
  307. package/dist/src/types.d.ts +6 -0
  308. package/dist/src/types.d.ts.map +1 -0
  309. package/dist/src/types.js +2 -0
  310. package/dist/src/types.js.map +1 -0
  311. package/dist/types/discovery.d.ts +91 -0
  312. package/dist/types/discovery.d.ts.map +1 -0
  313. package/dist/types/discovery.js +2 -0
  314. package/dist/types/discovery.js.map +1 -0
  315. package/dist/types/import_graph.d.ts +29 -0
  316. package/dist/types/import_graph.d.ts.map +1 -0
  317. package/dist/types/import_graph.js +2 -0
  318. package/dist/types/import_graph.js.map +1 -0
  319. package/dist/types/logging.d.ts +9 -0
  320. package/dist/types/logging.d.ts.map +1 -0
  321. package/dist/types/logging.js +2 -0
  322. package/dist/types/logging.js.map +1 -0
  323. package/dist/types/manifest.d.ts +106 -0
  324. package/dist/types/manifest.d.ts.map +1 -0
  325. package/dist/types/manifest.js +2 -0
  326. package/dist/types/manifest.js.map +1 -0
  327. package/dist/types/runtime.d.ts +53 -0
  328. package/dist/types/runtime.d.ts.map +1 -0
  329. package/dist/types/runtime.js +2 -0
  330. package/dist/types/runtime.js.map +1 -0
  331. package/dist/types.d.ts +5 -216
  332. package/dist/types.d.ts.map +1 -1
  333. package/dist/types.js.map +1 -1
  334. package/package.json +119 -41
@@ -1,469 +1,4 @@
1
- import fs from "node:fs";
2
- import fsp from "node:fs/promises";
3
- import path from "node:path";
4
- import { walkImportGraph } from "./import-graph.js";
5
- const DEFAULT_DISCOVERY_BUNDLE_MAX_SIZE = 50 * 1024 * 1024;
6
- const DEFAULT_IGNORE_DIRS = [".git", "coverage", "dist", "node_modules"];
7
- const VIRTUAL_ENTRY_PREFIX = "trebired-virtual:";
8
- function toPosixPath(value) {
9
- return value.replace(/\\/g, "/");
10
- }
11
- function normalizePathValue(value) {
12
- return toPosixPath(String(value || "").trim()).replace(/^\.\/+/, "").replace(/^\/+|\/+$/g, "");
13
- }
14
- function globToRegExp(pattern) {
15
- const normalized = normalizePathValue(pattern);
16
- let source = "";
17
- for (let index = 0; index < normalized.length; index += 1) {
18
- const char = normalized[index];
19
- const next = normalized[index + 1];
20
- const afterNext = normalized[index + 2];
21
- if (char === "*" && next === "*" && afterNext === "/") {
22
- source += "(?:.*/)?";
23
- index += 2;
24
- continue;
25
- }
26
- if (char === "*" && next === "*") {
27
- source += ".*";
28
- index += 1;
29
- continue;
30
- }
31
- if (char === "*") {
32
- source += "[^/]*";
33
- continue;
34
- }
35
- if (char === "?") {
36
- source += ".";
37
- continue;
38
- }
39
- if (/[|\\{}()[\]^$+?.]/.test(char)) {
40
- source += `\\${char}`;
41
- continue;
42
- }
43
- source += char;
44
- }
45
- return new RegExp(`^${source}$`);
46
- }
47
- function matchesAnyPattern(value, patterns) {
48
- if (!patterns.length)
49
- return false;
50
- const normalized = normalizePathValue(value);
51
- const base = path.basename(normalized);
52
- return patterns.some((pattern) => {
53
- const normalizedPattern = normalizePathValue(pattern);
54
- if (!normalizedPattern)
55
- return false;
56
- if (normalizedPattern === normalized || normalizedPattern === base)
57
- return true;
58
- return globToRegExp(normalizedPattern).test(normalized);
59
- });
60
- }
61
- function parseBundleMaxSize(value) {
62
- if (typeof value === "number") {
63
- if (!Number.isFinite(value) || value <= 0) {
64
- throw new Error("bundler-discover-bundle-invalid-max-size");
65
- }
66
- return Math.floor(value);
67
- }
68
- const raw = String(value || "").trim();
69
- if (!raw)
70
- return DEFAULT_DISCOVERY_BUNDLE_MAX_SIZE;
71
- const match = raw.match(/^(\d+(?:\.\d+)?)\s*(b|kb|mb|gb)?$/i);
72
- if (!match) {
73
- throw new Error("bundler-discover-bundle-invalid-max-size");
74
- }
75
- const amount = Number(match[1]);
76
- const unit = (match[2] || "b").toLowerCase();
77
- const multiplier = unit === "gb"
78
- ? 1024 * 1024 * 1024
79
- : unit === "mb"
80
- ? 1024 * 1024
81
- : unit === "kb"
82
- ? 1024
83
- : 1;
84
- const resolved = Math.floor(amount * multiplier);
85
- if (!Number.isFinite(resolved) || resolved <= 0) {
86
- throw new Error("bundler-discover-bundle-invalid-max-size");
87
- }
88
- return resolved;
89
- }
90
- function normalizeStringList(values) {
91
- return (values || []).map(normalizePathValue).filter(Boolean);
92
- }
93
- function normalizeDiscoverRule(rule) {
94
- const key = normalizePathValue(rule.key);
95
- const include = normalizeStringList(rule.include);
96
- const exclude = normalizeStringList(rule.exclude);
97
- if (!key) {
98
- throw new Error("bundler-discover-rule-missing-key");
99
- }
100
- if (include.length === 0) {
101
- throw new Error(`bundler-discover-rule-missing-include :: ${key}`);
102
- }
103
- if (rule.strategy !== "bundle" && rule.maxBundleSize != null) {
104
- throw new Error(`bundler-discover-rule-invalid-max-size-strategy :: ${key}`);
105
- }
106
- return {
107
- exclude,
108
- include,
109
- key,
110
- maxBundleSize: rule.strategy === "bundle" ? parseBundleMaxSize(rule.maxBundleSize) : undefined,
111
- strategy: rule.strategy,
112
- };
113
- }
114
- function normalizeDiscoverOptions(rootDir, discover) {
115
- const list = Array.isArray(discover) ? discover : discover ? [discover] : [];
116
- if (list.length === 0) {
117
- throw new Error("bundler-missing-discover");
118
- }
119
- const normalized = list
120
- .map((item) => item && typeof item === "object" ? item : null)
121
- .filter(Boolean)
122
- .map((item) => {
123
- const dir = normalizePathValue(item.dir);
124
- if (!dir) {
125
- throw new Error("bundler-discover-missing-dir");
126
- }
127
- const rules = (item.rules || []).map(normalizeDiscoverRule);
128
- if (rules.length === 0) {
129
- throw new Error(`bundler-discover-missing-rules :: ${dir}`);
130
- }
131
- return {
132
- dir,
133
- dirAbs: path.resolve(rootDir, dir),
134
- ignoreDirs: new Set([
135
- ...DEFAULT_IGNORE_DIRS,
136
- ...normalizeStringList(item.ignoreDirs),
137
- ].map((value) => path.basename(value))),
138
- rules,
139
- };
140
- });
141
- const seenRuleKeys = new Set();
142
- for (const config of normalized) {
143
- for (const rule of config.rules) {
144
- if (seenRuleKeys.has(rule.key)) {
145
- throw new Error(`bundler-discover-duplicate-rule-key :: ${rule.key}`);
146
- }
147
- seenRuleKeys.add(rule.key);
148
- }
149
- }
150
- return normalized;
151
- }
152
- function createStableBundleId(value) {
153
- let hash = 2166136261;
154
- for (let index = 0; index < value.length; index += 1) {
155
- hash ^= value.charCodeAt(index);
156
- hash = Math.imul(hash, 16777619);
157
- }
158
- return (hash >>> 0).toString(36);
159
- }
160
- function toRootImportSpecifier(rootDir, absPath) {
161
- const rel = normalizePathValue(path.relative(rootDir, absPath));
162
- return rel.startsWith(".") ? rel : `./${rel}`;
163
- }
164
- function buildBundleContents(args) {
165
- if (args.loader === "css") {
166
- return args.files
167
- .map((file) => `@import ${JSON.stringify(toRootImportSpecifier(args.rootDir, file.absPath))};`)
168
- .join("\n");
169
- }
170
- return args.files
171
- .map((file) => `import ${JSON.stringify(toRootImportSpecifier(args.rootDir, file.absPath))};`)
172
- .join("\n");
173
- }
174
- function buildEntryKey(args) {
175
- const ext = path.extname(args.rootRel);
176
- const withoutExt = ext ? args.rootRel.slice(0, -ext.length) : args.rootRel;
177
- return `entry:${args.ruleKey}:${normalizePathValue(withoutExt)}`;
178
- }
179
- function buildBundleEntryKey(ruleKey, part) {
180
- return `bundle:${ruleKey}:${part}`;
181
- }
182
- function resolveBundleLoader(filePath) {
183
- if (/\.(?:css|scss)$/i.test(filePath))
184
- return "css";
185
- if (/\.(?:[mc]?[jt]sx?)$/i.test(filePath))
186
- return "ts";
187
- return undefined;
188
- }
189
- async function scanDiscoveredFiles(config, rootDir) {
190
- if (!fs.existsSync(config.dirAbs))
191
- return [];
192
- const files = [];
193
- const visit = async (currentAbs) => {
194
- const entries = await fsp.readdir(currentAbs, { withFileTypes: true });
195
- for (const entry of entries) {
196
- const abs = path.join(currentAbs, entry.name);
197
- const discoverRel = normalizePathValue(path.relative(config.dirAbs, abs));
198
- if (!discoverRel)
199
- continue;
200
- if (entry.isDirectory()) {
201
- if (config.ignoreDirs.has(entry.name))
202
- continue;
203
- await visit(abs);
204
- continue;
205
- }
206
- if (!entry.isFile())
207
- continue;
208
- files.push({
209
- absPath: abs,
210
- discoverRel,
211
- rootRel: normalizePathValue(path.relative(rootDir, abs)),
212
- });
213
- }
214
- };
215
- await visit(config.dirAbs);
216
- return files.sort((a, b) => a.rootRel.localeCompare(b.rootRel));
217
- }
218
- function classifyFile(args) {
219
- return args.config.rules.find((rule) => {
220
- if (!matchesAnyPattern(args.file.discoverRel, rule.include))
221
- return false;
222
- if (matchesAnyPattern(args.file.discoverRel, rule.exclude))
223
- return false;
224
- return true;
225
- });
226
- }
227
- function splitByMaxSize(args) {
228
- const chunks = [];
229
- let current = [];
230
- let currentSize = 0;
231
- for (const file of args.files) {
232
- const nextSize = currentSize + file.bytes;
233
- if (current.length > 0 && nextSize > args.maxBundleSize) {
234
- chunks.push(current);
235
- current = [];
236
- currentSize = 0;
237
- }
238
- current.push(file);
239
- currentSize += file.bytes;
240
- }
241
- if (current.length > 0) {
242
- chunks.push(current);
243
- }
244
- return chunks;
245
- }
246
- async function validateGroupedBootImports(args) {
247
- const groupedScriptSources = new Set(args.entries
248
- .filter((entry) => entry.strategy === "bundle" && entry.virtualLoader === "ts")
249
- .flatMap((entry) => entry.ownedSources));
250
- if (groupedScriptSources.size === 0)
251
- return;
252
- const bootEntries = args.entries.filter((entry) => {
253
- if (entry.strategy !== "entry" || !entry.entrySource)
254
- return false;
255
- return /\.(?:client\.tsx?|defer\.ts)$/i.test(entry.entrySource);
256
- });
257
- for (const bootEntry of bootEntries) {
258
- const graph = await walkImportGraph({
259
- entries: bootEntry.entrySource,
260
- rootDir: args.rootDir,
261
- });
262
- const groupedDependency = Object.keys(graph.files)
263
- .sort()
264
- .find((sourcePath) => sourcePath !== bootEntry.entrySource && groupedScriptSources.has(sourcePath));
265
- if (groupedDependency) {
266
- throw new Error(`bundler-discover-entry-imports-grouped-source :: ${bootEntry.entrySource} -> ${groupedDependency}`);
267
- }
268
- }
269
- }
270
- async function resolveBundlerEntries(options, rootDir, settings = {}) {
271
- const configs = normalizeDiscoverOptions(rootDir, options.discover);
272
- const resolvedEntries = [];
273
- const rules = new Map();
274
- const sourceOwners = new Map();
275
- const emittedNames = new Set();
276
- const emittedKeys = new Set();
277
- for (const config of configs) {
278
- const files = await scanDiscoveredFiles(config, rootDir);
279
- const matchedByRule = new Map();
280
- for (const rule of config.rules) {
281
- rules.set(rule.key, {
282
- entryKeys: [],
283
- ignoredSources: [],
284
- ruleKey: rule.key,
285
- strategy: rule.strategy,
286
- });
287
- matchedByRule.set(rule.key, []);
288
- }
289
- for (const file of files) {
290
- const matchedRule = classifyFile({
291
- config,
292
- file,
293
- });
294
- if (!matchedRule) {
295
- throw new Error(`bundler-discover-unmatched-file :: ${file.rootRel}`);
296
- }
297
- matchedByRule.get(matchedRule.key).push(file);
298
- }
299
- for (const rule of config.rules) {
300
- const matchedFiles = (matchedByRule.get(rule.key) || []).sort((a, b) => a.rootRel.localeCompare(b.rootRel));
301
- const ruleRecord = rules.get(rule.key);
302
- if (rule.strategy === "ignore") {
303
- ruleRecord.ignoredSources = matchedFiles.map((file) => file.rootRel);
304
- continue;
305
- }
306
- if (rule.strategy === "entry") {
307
- for (const file of matchedFiles) {
308
- const ext = path.extname(file.rootRel);
309
- const withoutExt = ext ? file.rootRel.slice(0, -ext.length) : file.rootRel;
310
- const record = {
311
- entrySource: file.rootRel,
312
- key: buildEntryKey({
313
- rootRel: file.rootRel,
314
- ruleKey: rule.key,
315
- }),
316
- kind: "entry",
317
- name: normalizePathValue(withoutExt),
318
- ownedSources: [file.rootRel],
319
- path: file.absPath,
320
- ruleKey: rule.key,
321
- source: "discover",
322
- strategy: "entry",
323
- };
324
- if (emittedKeys.has(record.key)) {
325
- throw new Error(`bundler-discover-entry-key-conflict :: ${record.key}`);
326
- }
327
- if (emittedNames.has(record.name)) {
328
- throw new Error(`bundler-discover-output-name-conflict :: ${record.name}`);
329
- }
330
- emittedKeys.add(record.key);
331
- emittedNames.add(record.name);
332
- resolvedEntries.push(record);
333
- ruleRecord.entryKeys.push(record.key);
334
- sourceOwners.set(file.rootRel, record.key);
335
- }
336
- continue;
337
- }
338
- const filesWithStats = await Promise.all(matchedFiles.map(async (file) => {
339
- const stats = await fsp.stat(file.absPath);
340
- const bytes = Math.max(stats.size, 1);
341
- if (bytes > rule.maxBundleSize) {
342
- throw new Error(`bundler-discover-bundle-file-too-large :: ${file.rootRel}`);
343
- }
344
- return {
345
- ...file,
346
- bytes,
347
- };
348
- }));
349
- if (filesWithStats.length === 0) {
350
- continue;
351
- }
352
- const loaders = new Set(filesWithStats.map((file) => resolveBundleLoader(file.rootRel)).filter(Boolean));
353
- if (loaders.size !== 1) {
354
- throw new Error(`bundler-discover-rule-mixed-loaders :: ${rule.key}`);
355
- }
356
- const loader = Array.from(loaders)[0];
357
- const stableId = createStableBundleId(JSON.stringify({
358
- dir: config.dir,
359
- ruleKey: rule.key,
360
- sources: filesWithStats.map((file) => file.rootRel),
361
- }));
362
- const chunks = splitByMaxSize({
363
- files: filesWithStats.sort((a, b) => a.rootRel.localeCompare(b.rootRel)),
364
- maxBundleSize: rule.maxBundleSize,
365
- });
366
- chunks.forEach((chunk, index) => {
367
- const part = index + 1;
368
- const name = chunks.length === 1 ? `bundle-${stableId}` : `bundle-${stableId}-${part}`;
369
- const key = buildBundleEntryKey(rule.key, part);
370
- const ownedSources = chunk.map((file) => file.rootRel);
371
- if (emittedKeys.has(key)) {
372
- throw new Error(`bundler-discover-entry-key-conflict :: ${key}`);
373
- }
374
- if (emittedNames.has(name)) {
375
- throw new Error(`bundler-discover-output-name-conflict :: ${name}`);
376
- }
377
- emittedKeys.add(key);
378
- emittedNames.add(name);
379
- resolvedEntries.push({
380
- contents: buildBundleContents({
381
- files: chunk,
382
- loader,
383
- rootDir,
384
- }),
385
- key,
386
- kind: "bundle",
387
- name,
388
- ownedSources,
389
- path: `${VIRTUAL_ENTRY_PREFIX}${name}`,
390
- ruleKey: rule.key,
391
- source: "internal",
392
- strategy: "bundle",
393
- virtualLoader: loader,
394
- });
395
- ruleRecord.entryKeys.push(key);
396
- for (const sourcePath of ownedSources) {
397
- sourceOwners.set(sourcePath, key);
398
- }
399
- });
400
- }
401
- }
402
- await validateGroupedBootImports({
403
- entries: resolvedEntries,
404
- rootDir,
405
- });
406
- if (resolvedEntries.length === 0 && !settings.allowEmpty) {
407
- throw new Error("bundler-missing-entries");
408
- }
409
- const discovery = {
410
- entries: resolvedEntries.sort((a, b) => a.key.localeCompare(b.key)),
411
- rules: Object.fromEntries(Array.from(rules.entries()).sort(([a], [b]) => a.localeCompare(b))),
412
- sourceOwners: Object.fromEntries(Array.from(sourceOwners.entries()).sort(([a], [b]) => a.localeCompare(b))),
413
- };
414
- return {
415
- ...discovery,
416
- signature: JSON.stringify({
417
- entries: discovery.entries.map((entry) => ({
418
- entrySource: entry.entrySource,
419
- key: entry.key,
420
- kind: entry.kind,
421
- name: entry.name,
422
- ownedSources: entry.ownedSources,
423
- path: entry.source === "internal" ? `virtual:${entry.name}` : entry.path,
424
- ruleKey: entry.ruleKey,
425
- strategy: entry.strategy,
426
- })),
427
- rules: discovery.rules,
428
- sourceOwners: discovery.sourceOwners,
429
- }),
430
- };
431
- }
432
- function toEntryPointMap(records, rootDir) {
433
- return Object.fromEntries(records.map((record) => [
434
- record.name,
435
- record.source === "internal"
436
- ? record.path
437
- : normalizePathValue(path.relative(rootDir, record.path)),
438
- ]));
439
- }
440
- function normalizeManifestOptions(manifest) {
441
- if (!manifest) {
442
- return { enabled: false };
443
- }
444
- if (manifest === true) {
445
- return {
446
- enabled: true,
447
- file: "bundler-manifest.json",
448
- };
449
- }
450
- return {
451
- enabled: true,
452
- file: normalizePathValue(manifest.file || "bundler-manifest.json"),
453
- };
454
- }
455
- function normalizeDiscoverRoots(rootDir, discover) {
456
- const roots = normalizeDiscoverOptions(rootDir, discover).map((item) => {
457
- let current = item.dirAbs;
458
- while (!fs.existsSync(current)) {
459
- const parent = path.dirname(current);
460
- if (parent === current)
461
- return rootDir;
462
- current = parent;
463
- }
464
- return current;
465
- });
466
- return Array.from(new Set(roots));
467
- }
468
- export { normalizeDiscoverRoots, normalizeManifestOptions, resolveBundlerEntries, toEntryPointMap, toPosixPath, VIRTUAL_ENTRY_PREFIX, };
1
+ export { normalizeDiscoverRoots, toEntryPointMap, } from "./discovery/public.js";
2
+ export { normalizeManifestOptions, resolveBundlerEntries, } from "./discovery/resolve.js";
3
+ export { toPosixPath, VIRTUAL_ENTRY_PREFIX, } from "./discovery/shared.js";
469
4
  //# sourceMappingURL=discovery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/core/discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../src/core/discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,WAAW,EACX,oBAAoB,GACrB,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,9 @@
1
+ type DiscoveryWatcher = {
2
+ close(): void;
3
+ };
4
+ declare function createDiscoveryWatcher(args: {
5
+ dirs: string[];
6
+ onChange: () => void;
7
+ }): DiscoveryWatcher;
8
+ export { createDiscoveryWatcher, };
9
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/core/discovery_watch/runtime.ts"],"names":[],"mappings":"AAGA,KAAK,gBAAgB,GAAG;IACtB,KAAK,IAAI,IAAI,CAAC;CACf,CAAC;AAEF,iBAAS,sBAAsB,CAAC,IAAI,EAAE;IACpC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,GAAG,gBAAgB,CAQnB;AAwHD,OAAO,EACL,sBAAsB,GACvB,CAAC"}
@@ -0,0 +1,127 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ function createDiscoveryWatcher(args) {
4
+ const state = createWatcherState(args);
5
+ state.refreshAll();
6
+ return {
7
+ close() {
8
+ closeWatcherState(state);
9
+ },
10
+ };
11
+ }
12
+ function createWatcherState(args) {
13
+ const watchers = new Map();
14
+ const state = buildWatcherState(args, watchers);
15
+ state.interval = startWatcherRefreshInterval(state);
16
+ return state;
17
+ }
18
+ function buildWatcherState(args, watchers) {
19
+ const state = {
20
+ args,
21
+ closed: false,
22
+ interval: null,
23
+ timer: null,
24
+ watchers,
25
+ emitChange() {
26
+ emitWatcherChange(state);
27
+ },
28
+ ensureWatch(dir) {
29
+ return ensureWatcher(state, dir);
30
+ },
31
+ refreshAll() {
32
+ return refreshWatcherState(state);
33
+ },
34
+ };
35
+ return state;
36
+ }
37
+ function startWatcherRefreshInterval(state) {
38
+ return setInterval(() => {
39
+ if (state.refreshAll())
40
+ state.emitChange();
41
+ }, 250);
42
+ }
43
+ function emitWatcherChange(state) {
44
+ if (state.closed)
45
+ return;
46
+ if (state.timer)
47
+ clearTimeout(state.timer);
48
+ state.timer = setTimeout(() => {
49
+ state.timer = null;
50
+ state.args.onChange();
51
+ }, 80);
52
+ }
53
+ function ensureWatcher(state, dir) {
54
+ if (state.closed || state.watchers.has(dir) || !fs.existsSync(dir))
55
+ return false;
56
+ try {
57
+ if (!fs.statSync(dir).isDirectory())
58
+ return false;
59
+ }
60
+ catch {
61
+ return false;
62
+ }
63
+ const watcher = fs.watch(dir, () => {
64
+ state.refreshAll();
65
+ state.emitChange();
66
+ });
67
+ watcher.on("error", () => {
68
+ state.watchers.delete(dir);
69
+ });
70
+ state.watchers.set(dir, watcher);
71
+ return true;
72
+ }
73
+ function refreshWatcherState(state) {
74
+ let changed = false;
75
+ const found = collectWatchedDirs(state.args.dirs, state.closed);
76
+ for (const dir of found) {
77
+ if (state.ensureWatch(dir))
78
+ changed = true;
79
+ }
80
+ for (const [dir, watcher] of state.watchers.entries()) {
81
+ if (found.has(dir))
82
+ continue;
83
+ watcher.close();
84
+ state.watchers.delete(dir);
85
+ changed = true;
86
+ }
87
+ return changed;
88
+ }
89
+ function collectWatchedDirs(dirs, closed) {
90
+ const found = new Set();
91
+ for (const dir of dirs) {
92
+ collectDirTree(dir, found, closed);
93
+ }
94
+ return found;
95
+ }
96
+ function collectDirTree(startDir, found, closed) {
97
+ if (closed || !fs.existsSync(startDir))
98
+ return;
99
+ const stack = [startDir];
100
+ while (stack.length) {
101
+ const current = stack.pop();
102
+ if (!fs.existsSync(current))
103
+ continue;
104
+ found.add(current);
105
+ try {
106
+ for (const entry of fs.readdirSync(current, { withFileTypes: true })) {
107
+ if (entry.isDirectory())
108
+ stack.push(path.join(current, entry.name));
109
+ }
110
+ }
111
+ catch {
112
+ continue;
113
+ }
114
+ }
115
+ }
116
+ function closeWatcherState(state) {
117
+ state.closed = true;
118
+ if (state.interval)
119
+ clearInterval(state.interval);
120
+ if (state.timer)
121
+ clearTimeout(state.timer);
122
+ for (const watcher of state.watchers.values())
123
+ watcher.close();
124
+ state.watchers.clear();
125
+ }
126
+ export { createDiscoveryWatcher, };
127
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../src/core/discovery_watch/runtime.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { BuildOptions } from "esbuild";
2
- import type { BundlerEntryRecord, BundlerOptions, NormalizedBundlerLogger } from "../types.js";
2
+ import type { BundlerEntryRecord, BundlerOptions, NormalizedBundlerLogger } from "../src/types.d.ts";
3
3
  import { normalizeManifestOptions } from "./discovery.js";
4
4
  type NormalizedBundlerOptions = {
5
5
  annotateSources: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"esbuild-options.d.ts","sourceRoot":"","sources":["../../src/core/esbuild-options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAK5C,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,uBAAuB,EACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,wBAAwB,EAAmB,MAAM,gBAAgB,CAAC;AAE3E,KAAK,wBAAwB,GAAG;IAC9B,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,WAAW,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IAC5C,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAClC,aAAa,CAAC,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;IAChD,QAAQ,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;IACtD,MAAM,EAAE,OAAO,CAAC;IAChB,iBAAiB,CAAC,EAAE,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACxD,SAAS,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,iBAAS,uBAAuB,CAAC,OAAO,EAAE,cAAc,GAAG,wBAAwB,CA8BlF;AAED,iBAAS,oBAAoB,CAC3B,OAAO,EAAE,wBAAwB,EACjC,MAAM,EAAE,uBAAuB,GAC9B,YAAY,CA8Dd;AAED,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,CAAC;AACzD,YAAY,EAAE,wBAAwB,EAAE,CAAC"}
1
+ {"version":3,"file":"esbuild-options.d.ts","sourceRoot":"","sources":["../../../src/core/esbuild-options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAK5C,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,uBAAuB,EACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,wBAAwB,EAAmB,MAAM,gBAAgB,CAAC;AAE3E,KAAK,wBAAwB,GAAG;IAC9B,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,WAAW,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IAC5C,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAClC,aAAa,CAAC,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;IAChD,QAAQ,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;IACtD,MAAM,EAAE,OAAO,CAAC;IAChB,iBAAiB,CAAC,EAAE,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACxD,SAAS,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,iBAAS,uBAAuB,CAAC,OAAO,EAAE,cAAc,GAAG,wBAAwB,CA8BlF;AAED,iBAAS,oBAAoB,CAC3B,OAAO,EAAE,wBAAwB,EACjC,MAAM,EAAE,uBAAuB,GAC9B,YAAY,CAyBd;AAqCD,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,CAAC;AACzD,YAAY,EAAE,wBAAwB,EAAE,CAAC"}