@hyperfrontend/builder 0.1.0

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 (561) hide show
  1. package/CHANGELOG.md +63 -0
  2. package/FUNDING.md +141 -0
  3. package/LICENSE.md +21 -0
  4. package/README.md +162 -0
  5. package/SECURITY.md +82 -0
  6. package/THIRD_PARTY_LICENSES.md +13 -0
  7. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/array/index.cjs.js +7 -0
  8. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/array/index.esm.js +5 -0
  9. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/console/index.cjs.js +13 -0
  10. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/console/index.esm.js +8 -0
  11. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/date/index.cjs.js +5 -0
  12. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/date/index.esm.js +4 -0
  13. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/encoding/index.cjs.js +1 -0
  14. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/encoding/index.esm.js +1 -0
  15. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/error/index.cjs.js +6 -0
  16. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/error/index.esm.js +5 -0
  17. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/function/index.cjs.js +1 -0
  18. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/function/index.esm.js +1 -0
  19. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/json/index.cjs.js +7 -0
  20. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/json/index.esm.js +5 -0
  21. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/map/index.cjs.js +6 -0
  22. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/map/index.esm.js +5 -0
  23. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/math/index.cjs.js +7 -0
  24. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/math/index.esm.js +5 -0
  25. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/messaging/index.cjs.js +1 -0
  26. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/messaging/index.esm.js +1 -0
  27. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/number/index.cjs.js +1 -0
  28. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/number/index.esm.js +1 -0
  29. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/object/index.cjs.js +13 -0
  30. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/object/index.esm.js +8 -0
  31. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/promise/index.cjs.js +6 -0
  32. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/promise/index.esm.js +5 -0
  33. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/reflect/index.cjs.js +1 -0
  34. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/reflect/index.esm.js +1 -0
  35. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/regexp/index.cjs.js +6 -0
  36. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/regexp/index.esm.js +5 -0
  37. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/set/index.cjs.js +6 -0
  38. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/set/index.esm.js +5 -0
  39. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/string/index.cjs.js +1 -0
  40. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/string/index.esm.js +1 -0
  41. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/symbol/index.cjs.js +1 -0
  42. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/symbol/index.esm.js +1 -0
  43. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/timers/index.cjs.js +13 -0
  44. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/timers/index.esm.js +10 -0
  45. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/typed-arrays/index.cjs.js +1 -0
  46. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/typed-arrays/index.esm.js +1 -0
  47. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/url/index.cjs.js +6 -0
  48. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/url/index.esm.js +5 -0
  49. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/weak-map/index.cjs.js +1 -0
  50. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/weak-map/index.esm.js +1 -0
  51. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/weak-set/index.cjs.js +1 -0
  52. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/weak-set/index.esm.js +1 -0
  53. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/websocket/index.cjs.js +1 -0
  54. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/websocket/index.esm.js +1 -0
  55. package/_dependencies/@hyperfrontend/immutable-api-utils/index.cjs.js +1 -0
  56. package/_dependencies/@hyperfrontend/immutable-api-utils/index.esm.js +1 -0
  57. package/_dependencies/@hyperfrontend/immutable-api-utils/locked/index.cjs.js +1 -0
  58. package/_dependencies/@hyperfrontend/immutable-api-utils/locked/index.esm.js +1 -0
  59. package/_dependencies/@hyperfrontend/immutable-api-utils/locked-prop-descriptors/index.cjs.js +1 -0
  60. package/_dependencies/@hyperfrontend/immutable-api-utils/locked-prop-descriptors/index.esm.js +1 -0
  61. package/_dependencies/@hyperfrontend/immutable-api-utils/locked-props/index.cjs.js +1 -0
  62. package/_dependencies/@hyperfrontend/immutable-api-utils/locked-props/index.esm.js +1 -0
  63. package/_dependencies/@hyperfrontend/logging/index.cjs.js +191 -0
  64. package/_dependencies/@hyperfrontend/logging/index.esm.js +186 -0
  65. package/_dependencies/@hyperfrontend/project-scope/cli/index.cjs.js +196 -0
  66. package/_dependencies/@hyperfrontend/project-scope/cli/index.esm.js +196 -0
  67. package/_dependencies/@hyperfrontend/project-scope/core/encoding/index.cjs.js +82 -0
  68. package/_dependencies/@hyperfrontend/project-scope/core/encoding/index.esm.js +82 -0
  69. package/_dependencies/@hyperfrontend/project-scope/core/fs/index.cjs.js +154 -0
  70. package/_dependencies/@hyperfrontend/project-scope/core/fs/index.esm.js +149 -0
  71. package/_dependencies/@hyperfrontend/project-scope/core/index.cjs.js +459 -0
  72. package/_dependencies/@hyperfrontend/project-scope/core/index.esm.js +440 -0
  73. package/_dependencies/@hyperfrontend/project-scope/core/logger/index.cjs.js +84 -0
  74. package/_dependencies/@hyperfrontend/project-scope/core/logger/index.esm.js +80 -0
  75. package/_dependencies/@hyperfrontend/project-scope/core/path/index.cjs.js +26 -0
  76. package/_dependencies/@hyperfrontend/project-scope/core/path/index.esm.js +22 -0
  77. package/_dependencies/@hyperfrontend/project-scope/core/platform/index.cjs.js +1 -0
  78. package/_dependencies/@hyperfrontend/project-scope/core/platform/index.esm.js +1 -0
  79. package/_dependencies/@hyperfrontend/project-scope/heuristics/dependencies/index.cjs.js +90 -0
  80. package/_dependencies/@hyperfrontend/project-scope/heuristics/dependencies/index.esm.js +90 -0
  81. package/_dependencies/@hyperfrontend/project-scope/heuristics/entry-points/index.cjs.js +174 -0
  82. package/_dependencies/@hyperfrontend/project-scope/heuristics/entry-points/index.esm.js +174 -0
  83. package/_dependencies/@hyperfrontend/project-scope/heuristics/framework/index.cjs.js +174 -0
  84. package/_dependencies/@hyperfrontend/project-scope/heuristics/framework/index.esm.js +172 -0
  85. package/_dependencies/@hyperfrontend/project-scope/heuristics/index.cjs.js +184 -0
  86. package/_dependencies/@hyperfrontend/project-scope/heuristics/index.esm.js +184 -0
  87. package/_dependencies/@hyperfrontend/project-scope/heuristics/project-type/index.cjs.js +172 -0
  88. package/_dependencies/@hyperfrontend/project-scope/heuristics/project-type/index.esm.js +172 -0
  89. package/_dependencies/@hyperfrontend/project-scope/index.cjs.js +222 -0
  90. package/_dependencies/@hyperfrontend/project-scope/index.esm.js +219 -0
  91. package/_dependencies/@hyperfrontend/project-scope/models/index.cjs.js +2 -0
  92. package/_dependencies/@hyperfrontend/project-scope/models/index.esm.js +1 -0
  93. package/_dependencies/@hyperfrontend/project-scope/nx/index.cjs.js +94 -0
  94. package/_dependencies/@hyperfrontend/project-scope/nx/index.esm.js +94 -0
  95. package/_dependencies/@hyperfrontend/project-scope/project/config/index.cjs.js +172 -0
  96. package/_dependencies/@hyperfrontend/project-scope/project/config/index.esm.js +172 -0
  97. package/_dependencies/@hyperfrontend/project-scope/project/index.cjs.js +176 -0
  98. package/_dependencies/@hyperfrontend/project-scope/project/index.esm.js +176 -0
  99. package/_dependencies/@hyperfrontend/project-scope/project/package/index.cjs.js +88 -0
  100. package/_dependencies/@hyperfrontend/project-scope/project/package/index.esm.js +88 -0
  101. package/_dependencies/@hyperfrontend/project-scope/project/root/index.cjs.js +154 -0
  102. package/_dependencies/@hyperfrontend/project-scope/project/root/index.esm.js +153 -0
  103. package/_dependencies/@hyperfrontend/project-scope/project/traversal/index.cjs.js +91 -0
  104. package/_dependencies/@hyperfrontend/project-scope/project/traversal/index.esm.js +89 -0
  105. package/_dependencies/@hyperfrontend/project-scope/tech/backend/index.cjs.js +88 -0
  106. package/_dependencies/@hyperfrontend/project-scope/tech/backend/index.esm.js +88 -0
  107. package/_dependencies/@hyperfrontend/project-scope/tech/build/index.cjs.js +88 -0
  108. package/_dependencies/@hyperfrontend/project-scope/tech/build/index.esm.js +88 -0
  109. package/_dependencies/@hyperfrontend/project-scope/tech/frontend/index.cjs.js +88 -0
  110. package/_dependencies/@hyperfrontend/project-scope/tech/frontend/index.esm.js +88 -0
  111. package/_dependencies/@hyperfrontend/project-scope/tech/index.cjs.js +171 -0
  112. package/_dependencies/@hyperfrontend/project-scope/tech/index.esm.js +169 -0
  113. package/_dependencies/@hyperfrontend/project-scope/tech/legacy/index.cjs.js +88 -0
  114. package/_dependencies/@hyperfrontend/project-scope/tech/legacy/index.esm.js +88 -0
  115. package/_dependencies/@hyperfrontend/project-scope/tech/linting/index.cjs.js +88 -0
  116. package/_dependencies/@hyperfrontend/project-scope/tech/linting/index.esm.js +88 -0
  117. package/_dependencies/@hyperfrontend/project-scope/tech/monorepo/index.cjs.js +88 -0
  118. package/_dependencies/@hyperfrontend/project-scope/tech/monorepo/index.esm.js +88 -0
  119. package/_dependencies/@hyperfrontend/project-scope/tech/testing/index.cjs.js +88 -0
  120. package/_dependencies/@hyperfrontend/project-scope/tech/testing/index.esm.js +88 -0
  121. package/_dependencies/@hyperfrontend/project-scope/tech/types/index.cjs.js +88 -0
  122. package/_dependencies/@hyperfrontend/project-scope/tech/types/index.esm.js +88 -0
  123. package/_dependencies/@hyperfrontend/project-scope/vfs/index.cjs.js +102 -0
  124. package/_dependencies/@hyperfrontend/project-scope/vfs/index.esm.js +102 -0
  125. package/_dependencies/@hyperfrontend/versioning/changelog/compare/index.cjs.js +1 -0
  126. package/_dependencies/@hyperfrontend/versioning/changelog/compare/index.esm.js +1 -0
  127. package/_dependencies/@hyperfrontend/versioning/changelog/index.cjs.js +1 -0
  128. package/_dependencies/@hyperfrontend/versioning/changelog/index.esm.js +1 -0
  129. package/_dependencies/@hyperfrontend/versioning/changelog/models/index.cjs.js +1 -0
  130. package/_dependencies/@hyperfrontend/versioning/changelog/models/index.esm.js +1 -0
  131. package/_dependencies/@hyperfrontend/versioning/changelog/operations/index.cjs.js +1 -0
  132. package/_dependencies/@hyperfrontend/versioning/changelog/operations/index.esm.js +1 -0
  133. package/_dependencies/@hyperfrontend/versioning/changelog/parse/index.cjs.js +1 -0
  134. package/_dependencies/@hyperfrontend/versioning/changelog/parse/index.esm.js +1 -0
  135. package/_dependencies/@hyperfrontend/versioning/changelog/serialize/index.cjs.js +1 -0
  136. package/_dependencies/@hyperfrontend/versioning/changelog/serialize/index.esm.js +1 -0
  137. package/_dependencies/@hyperfrontend/versioning/commits/author/index.cjs.js +2403 -0
  138. package/_dependencies/@hyperfrontend/versioning/commits/author/index.esm.js +2381 -0
  139. package/_dependencies/@hyperfrontend/versioning/commits/classify/index.cjs.js +38 -0
  140. package/_dependencies/@hyperfrontend/versioning/commits/classify/index.esm.js +30 -0
  141. package/_dependencies/@hyperfrontend/versioning/commits/format/index.cjs.js +1 -0
  142. package/_dependencies/@hyperfrontend/versioning/commits/format/index.esm.js +1 -0
  143. package/_dependencies/@hyperfrontend/versioning/commits/index.cjs.js +2457 -0
  144. package/_dependencies/@hyperfrontend/versioning/commits/index.esm.js +2407 -0
  145. package/_dependencies/@hyperfrontend/versioning/commits/models/index.cjs.js +1 -0
  146. package/_dependencies/@hyperfrontend/versioning/commits/models/index.esm.js +1 -0
  147. package/_dependencies/@hyperfrontend/versioning/commits/parse/index.cjs.js +1 -0
  148. package/_dependencies/@hyperfrontend/versioning/commits/parse/index.esm.js +1 -0
  149. package/_dependencies/@hyperfrontend/versioning/commits/validate/index.cjs.js +27 -0
  150. package/_dependencies/@hyperfrontend/versioning/commits/validate/index.esm.js +25 -0
  151. package/_dependencies/@hyperfrontend/versioning/flow/executor/index.cjs.js +36 -0
  152. package/_dependencies/@hyperfrontend/versioning/flow/executor/index.esm.js +36 -0
  153. package/_dependencies/@hyperfrontend/versioning/flow/index.cjs.js +51 -0
  154. package/_dependencies/@hyperfrontend/versioning/flow/index.esm.js +51 -0
  155. package/_dependencies/@hyperfrontend/versioning/flow/models/index.cjs.js +30 -0
  156. package/_dependencies/@hyperfrontend/versioning/flow/models/index.esm.js +28 -0
  157. package/_dependencies/@hyperfrontend/versioning/flow/presets/index.cjs.js +47 -0
  158. package/_dependencies/@hyperfrontend/versioning/flow/presets/index.esm.js +45 -0
  159. package/_dependencies/@hyperfrontend/versioning/flow/steps/index.cjs.js +47 -0
  160. package/_dependencies/@hyperfrontend/versioning/flow/steps/index.esm.js +45 -0
  161. package/_dependencies/@hyperfrontend/versioning/git/index.cjs.js +8 -0
  162. package/_dependencies/@hyperfrontend/versioning/git/index.esm.js +9 -0
  163. package/_dependencies/@hyperfrontend/versioning/git/models/index.cjs.js +1 -0
  164. package/_dependencies/@hyperfrontend/versioning/git/models/index.esm.js +1 -0
  165. package/_dependencies/@hyperfrontend/versioning/git/operations/index.cjs.js +3 -0
  166. package/_dependencies/@hyperfrontend/versioning/git/operations/index.esm.js +3 -0
  167. package/_dependencies/@hyperfrontend/versioning/index.cjs.js +2481 -0
  168. package/_dependencies/@hyperfrontend/versioning/index.esm.js +2423 -0
  169. package/_dependencies/@hyperfrontend/versioning/registry/index.cjs.js +1 -0
  170. package/_dependencies/@hyperfrontend/versioning/registry/index.esm.js +1 -0
  171. package/_dependencies/@hyperfrontend/versioning/registry/models/index.cjs.js +1 -0
  172. package/_dependencies/@hyperfrontend/versioning/registry/models/index.esm.js +1 -0
  173. package/_dependencies/@hyperfrontend/versioning/registry/npm/index.cjs.js +1 -0
  174. package/_dependencies/@hyperfrontend/versioning/registry/npm/index.esm.js +1 -0
  175. package/_dependencies/@hyperfrontend/versioning/repository/index.cjs.js +18 -0
  176. package/_dependencies/@hyperfrontend/versioning/repository/index.esm.js +17 -0
  177. package/_dependencies/@hyperfrontend/versioning/repository/models/index.cjs.js +11 -0
  178. package/_dependencies/@hyperfrontend/versioning/repository/models/index.esm.js +10 -0
  179. package/_dependencies/@hyperfrontend/versioning/repository/parse/index.cjs.js +184 -0
  180. package/_dependencies/@hyperfrontend/versioning/repository/parse/index.esm.js +185 -0
  181. package/_dependencies/@hyperfrontend/versioning/repository/url/index.cjs.js +10 -0
  182. package/_dependencies/@hyperfrontend/versioning/repository/url/index.esm.js +8 -0
  183. package/_dependencies/@hyperfrontend/versioning/semver/compare/index.cjs.js +1 -0
  184. package/_dependencies/@hyperfrontend/versioning/semver/compare/index.esm.js +1 -0
  185. package/_dependencies/@hyperfrontend/versioning/semver/format/index.cjs.js +1 -0
  186. package/_dependencies/@hyperfrontend/versioning/semver/format/index.esm.js +1 -0
  187. package/_dependencies/@hyperfrontend/versioning/semver/increment/index.cjs.js +1 -0
  188. package/_dependencies/@hyperfrontend/versioning/semver/increment/index.esm.js +1 -0
  189. package/_dependencies/@hyperfrontend/versioning/semver/index.cjs.js +1 -0
  190. package/_dependencies/@hyperfrontend/versioning/semver/index.esm.js +1 -0
  191. package/_dependencies/@hyperfrontend/versioning/semver/models/index.cjs.js +1 -0
  192. package/_dependencies/@hyperfrontend/versioning/semver/models/index.esm.js +1 -0
  193. package/_dependencies/@hyperfrontend/versioning/semver/parse/index.cjs.js +1 -0
  194. package/_dependencies/@hyperfrontend/versioning/semver/parse/index.esm.js +1 -0
  195. package/_dependencies/@hyperfrontend/versioning/workspace/discovery/index.cjs.js +29 -0
  196. package/_dependencies/@hyperfrontend/versioning/workspace/discovery/index.esm.js +29 -0
  197. package/_dependencies/@hyperfrontend/versioning/workspace/index.cjs.js +29 -0
  198. package/_dependencies/@hyperfrontend/versioning/workspace/index.esm.js +29 -0
  199. package/_dependencies/@hyperfrontend/versioning/workspace/models/index.cjs.js +1 -0
  200. package/_dependencies/@hyperfrontend/versioning/workspace/models/index.esm.js +1 -0
  201. package/_dependencies/@hyperfrontend/versioning/workspace/operations/index.cjs.js +2 -0
  202. package/_dependencies/@hyperfrontend/versioning/workspace/operations/index.esm.js +2 -0
  203. package/_dependencies/@rollup/plugin-commonjs/index.cjs.js +6629 -0
  204. package/_dependencies/@rollup/plugin-commonjs/index.esm.js +6608 -0
  205. package/_dependencies/@rollup/plugin-json/index.cjs.js +2324 -0
  206. package/_dependencies/@rollup/plugin-json/index.esm.js +2322 -0
  207. package/_dependencies/@rollup/plugin-node-resolve/index.cjs.js +5430 -0
  208. package/_dependencies/@rollup/plugin-node-resolve/index.esm.js +5424 -0
  209. package/_dependencies/@rollup/plugin-terser/index.cjs.js +33220 -0
  210. package/_dependencies/@rollup/plugin-terser/index.esm.js +33217 -0
  211. package/_dependencies/@rollup/plugin-typescript/index.cjs.js +4840 -0
  212. package/_dependencies/@rollup/plugin-typescript/index.esm.js +4819 -0
  213. package/_dependencies/postject/index.cjs.js +5140 -0
  214. package/_dependencies/postject/index.esm.js +5131 -0
  215. package/_dependencies/rollup/index.cjs.js +24668 -0
  216. package/_dependencies/rollup/index.d.ts +1921 -0
  217. package/_dependencies/rollup/index.esm.js +24652 -0
  218. package/_dependencies/rollup-plugin-dts/index.cjs.js +6547 -0
  219. package/_dependencies/rollup-plugin-dts/index.esm.js +6537 -0
  220. package/_shared/bin/format/index.cjs.js +7 -0
  221. package/_shared/bin/format/index.esm.js +5 -0
  222. package/_shared/bin/native/codesign/index.cjs.js +30 -0
  223. package/_shared/bin/native/codesign/index.esm.js +26 -0
  224. package/_shared/bin/native/host-binary/index.cjs.js +13 -0
  225. package/_shared/bin/native/host-binary/index.esm.js +11 -0
  226. package/_shared/bin/native/inject/index.cjs.js +25 -0
  227. package/_shared/bin/native/inject/index.esm.js +18 -0
  228. package/_shared/bin/native/platform-check/index.cjs.js +13 -0
  229. package/_shared/bin/native/platform-check/index.esm.js +10 -0
  230. package/_shared/bin/native/sea-blob/index.cjs.js +21 -0
  231. package/_shared/bin/native/sea-blob/index.esm.js +19 -0
  232. package/_shared/bin/native/sea-config/index.cjs.js +9 -0
  233. package/_shared/bin/native/sea-config/index.esm.js +7 -0
  234. package/_shared/bin/script/bootstrap-footer/index.cjs.js +22 -0
  235. package/_shared/bin/script/bootstrap-footer/index.esm.js +19 -0
  236. package/_shared/bundle/declarations/flatten-paths/index.cjs.js +34 -0
  237. package/_shared/bundle/declarations/flatten-paths/index.esm.js +29 -0
  238. package/_shared/bundle/dependencies/collect-workspace-deps/index.cjs.js +24 -0
  239. package/_shared/bundle/dependencies/collect-workspace-deps/index.esm.js +21 -0
  240. package/_shared/bundle/dependencies/externalize-plugin/index.cjs.js +93 -0
  241. package/_shared/bundle/dependencies/externalize-plugin/index.esm.js +86 -0
  242. package/_shared/bundle/dependencies/prune/ast-utils/index.esm.js +31 -0
  243. package/_shared/bundle/dependencies/prune/namespace-usage/index.esm.js +208 -0
  244. package/_shared/bundle/dependencies/prune/specifiers/index.cjs.js +62 -0
  245. package/_shared/bundle/dependencies/prune/specifiers/index.esm.js +53 -0
  246. package/_shared/bundle/entries/discover-entries/index.cjs.js +87 -0
  247. package/_shared/bundle/entries/discover-entries/index.esm.js +80 -0
  248. package/_shared/bundle/entries/resolve-entries/index.cjs.js +38 -0
  249. package/_shared/bundle/entries/resolve-entries/index.esm.js +34 -0
  250. package/_shared/bundle/externals/validate-globals/index.cjs.js +14 -0
  251. package/_shared/bundle/externals/validate-globals/index.esm.js +12 -0
  252. package/_shared/bundle/fs/deps-root/index.cjs.js +7 -0
  253. package/_shared/bundle/fs/deps-root/index.esm.js +5 -0
  254. package/_shared/bundle/fs/empty-dirs/index.cjs.js +23 -0
  255. package/_shared/bundle/fs/empty-dirs/index.esm.js +21 -0
  256. package/_shared/bundle/fs/entry-dir/index.cjs.js +7 -0
  257. package/_shared/bundle/fs/entry-dir/index.esm.js +5 -0
  258. package/_shared/bundle/fs/posix-path/index.cjs.js +9 -0
  259. package/_shared/bundle/fs/posix-path/index.esm.js +4 -0
  260. package/_shared/bundle/fs/under-dir/index.cjs.js +5 -0
  261. package/_shared/bundle/fs/under-dir/index.esm.js +3 -0
  262. package/_shared/memory/recover/index.cjs.js +15 -0
  263. package/_shared/memory/recover/index.esm.js +14 -0
  264. package/_shared/package/finalize-files/index.cjs.js +16 -0
  265. package/_shared/package/finalize-files/index.esm.js +15 -0
  266. package/_shared/package/json/cdn-paths/index.cjs.js +13 -0
  267. package/_shared/package/json/cdn-paths/index.esm.js +11 -0
  268. package/_shared/package/json/filter-deps/index.cjs.js +37 -0
  269. package/_shared/package/json/filter-deps/index.esm.js +34 -0
  270. package/_shared/package/json/generate-exports/index.cjs.js +56 -0
  271. package/_shared/package/json/generate-exports/index.esm.js +52 -0
  272. package/_shared/package/json/inherit-fields/index.cjs.js +19 -0
  273. package/_shared/package/json/inherit-fields/index.esm.js +17 -0
  274. package/_shared/package/json/read-package-json/index.cjs.js +7 -0
  275. package/_shared/package/json/read-package-json/index.esm.js +6 -0
  276. package/_shared/package/json/reflect-files-allowlist/index.cjs.js +39 -0
  277. package/_shared/package/json/reflect-files-allowlist/index.esm.js +33 -0
  278. package/_shared/package/json/synthesize/index.cjs.js +72 -0
  279. package/_shared/package/json/synthesize/index.esm.js +68 -0
  280. package/_shared/package/json/write/index.cjs.js +9 -0
  281. package/_shared/package/json/write/index.esm.js +8 -0
  282. package/_shared/package/licenses/generate-content/index.cjs.js +17 -0
  283. package/_shared/package/licenses/generate-content/index.esm.js +17 -0
  284. package/_shared/package/licenses/license-url/index.esm.js +29 -0
  285. package/_shared/package/licenses/write/index.cjs.js +9 -0
  286. package/_shared/package/licenses/write/index.esm.js +8 -0
  287. package/_shared/presets/by-names/index.cjs.js +10 -0
  288. package/_shared/presets/by-names/index.esm.js +8 -0
  289. package/_shared/presets/by-prefix/index.cjs.js +7 -0
  290. package/_shared/presets/by-prefix/index.esm.js +5 -0
  291. package/bin/format.d.ts +18 -0
  292. package/bin/format.d.ts.map +1 -0
  293. package/bin/hf-build.d.ts +81 -0
  294. package/bin/hf-build.d.ts.map +1 -0
  295. package/bin/hf-build.js +208533 -0
  296. package/bin/hf-build.linux-x64 +0 -0
  297. package/bin/index.cjs.js +548 -0
  298. package/bin/index.d.ts +26 -0
  299. package/bin/index.d.ts.map +1 -0
  300. package/bin/index.esm.js +546 -0
  301. package/bin/native/build-native.d.ts +44 -0
  302. package/bin/native/build-native.d.ts.map +1 -0
  303. package/bin/native/codesign.d.ts +65 -0
  304. package/bin/native/codesign.d.ts.map +1 -0
  305. package/bin/native/dispatch.d.ts +75 -0
  306. package/bin/native/dispatch.d.ts.map +1 -0
  307. package/bin/native/host-binary.d.ts +36 -0
  308. package/bin/native/host-binary.d.ts.map +1 -0
  309. package/bin/native/index.cjs.js +264 -0
  310. package/bin/native/index.d.ts +407 -0
  311. package/bin/native/index.d.ts.map +1 -0
  312. package/bin/native/index.esm.js +249 -0
  313. package/bin/native/inject.d.ts +61 -0
  314. package/bin/native/inject.d.ts.map +1 -0
  315. package/bin/native/platform-check.d.ts +39 -0
  316. package/bin/native/platform-check.d.ts.map +1 -0
  317. package/bin/native/sea-blob.d.ts +40 -0
  318. package/bin/native/sea-blob.d.ts.map +1 -0
  319. package/bin/native/sea-config.d.ts +45 -0
  320. package/bin/native/sea-config.d.ts.map +1 -0
  321. package/bin/native/worker/index.cjs.js +88 -0
  322. package/bin/native/worker/index.d.ts +68 -0
  323. package/bin/native/worker/index.d.ts.map +1 -0
  324. package/bin/native/worker/index.esm.js +86 -0
  325. package/bin/native/worker/job-runner.d.ts +29 -0
  326. package/bin/native/worker/job-runner.d.ts.map +1 -0
  327. package/bin/native/worker/types.d.ts +38 -0
  328. package/bin/native/worker/types.d.ts.map +1 -0
  329. package/bin/run-bin-phase.d.ts +24 -0
  330. package/bin/run-bin-phase.d.ts.map +1 -0
  331. package/bin/script/bootstrap-footer.d.ts +41 -0
  332. package/bin/script/bootstrap-footer.d.ts.map +1 -0
  333. package/bin/script/build-bin.d.ts +36 -0
  334. package/bin/script/build-bin.d.ts.map +1 -0
  335. package/bin/script/index.cjs.js +265 -0
  336. package/bin/script/index.d.ts +79 -0
  337. package/bin/script/index.d.ts.map +1 -0
  338. package/bin/script/index.esm.js +262 -0
  339. package/build.d.ts +56 -0
  340. package/build.d.ts.map +1 -0
  341. package/bundle/declarations/dts-per-entry.d.ts +27 -0
  342. package/bundle/declarations/dts-per-entry.d.ts.map +1 -0
  343. package/bundle/declarations/dts-pre-pass.d.ts +18 -0
  344. package/bundle/declarations/dts-pre-pass.d.ts.map +1 -0
  345. package/bundle/declarations/flatten-paths.d.ts +28 -0
  346. package/bundle/declarations/flatten-paths.d.ts.map +1 -0
  347. package/bundle/declarations/generate-declarations.d.ts +33 -0
  348. package/bundle/declarations/generate-declarations.d.ts.map +1 -0
  349. package/bundle/declarations/index.cjs.js +868 -0
  350. package/bundle/declarations/index.d.ts +262 -0
  351. package/bundle/declarations/index.d.ts.map +1 -0
  352. package/bundle/declarations/index.esm.js +857 -0
  353. package/bundle/declarations/prune-orphan-dts.d.ts +33 -0
  354. package/bundle/declarations/prune-orphan-dts.d.ts.map +1 -0
  355. package/bundle/declarations/sibling-resolver.d.ts +125 -0
  356. package/bundle/declarations/sibling-resolver.d.ts.map +1 -0
  357. package/bundle/dedupe/attribute-modules.d.ts +178 -0
  358. package/bundle/dedupe/attribute-modules.d.ts.map +1 -0
  359. package/bundle/dedupe/extract-chunk.d.ts +103 -0
  360. package/bundle/dedupe/extract-chunk.d.ts.map +1 -0
  361. package/bundle/dedupe/hoist-shared.d.ts +37 -0
  362. package/bundle/dedupe/hoist-shared.d.ts.map +1 -0
  363. package/bundle/dedupe/index.cjs.js +818 -0
  364. package/bundle/dedupe/index.d.ts +400 -0
  365. package/bundle/dedupe/index.d.ts.map +1 -0
  366. package/bundle/dedupe/index.esm.js +766 -0
  367. package/bundle/dedupe/plan-hoists.d.ts +46 -0
  368. package/bundle/dedupe/plan-hoists.d.ts.map +1 -0
  369. package/bundle/dedupe/rewrite-entry.d.ts +39 -0
  370. package/bundle/dedupe/rewrite-entry.d.ts.map +1 -0
  371. package/bundle/dependencies/collect-workspace-deps.d.ts +34 -0
  372. package/bundle/dependencies/collect-workspace-deps.d.ts.map +1 -0
  373. package/bundle/dependencies/externalize-plugin.d.ts +100 -0
  374. package/bundle/dependencies/externalize-plugin.d.ts.map +1 -0
  375. package/bundle/dependencies/index.cjs.js +964 -0
  376. package/bundle/dependencies/index.d.ts +388 -0
  377. package/bundle/dependencies/index.d.ts.map +1 -0
  378. package/bundle/dependencies/index.esm.js +947 -0
  379. package/bundle/dependencies/pre-pass.d.ts +154 -0
  380. package/bundle/dependencies/pre-pass.d.ts.map +1 -0
  381. package/bundle/dependencies/prune/ast-utils.d.ts +121 -0
  382. package/bundle/dependencies/prune/ast-utils.d.ts.map +1 -0
  383. package/bundle/dependencies/prune/chunk-graph.d.ts +175 -0
  384. package/bundle/dependencies/prune/chunk-graph.d.ts.map +1 -0
  385. package/bundle/dependencies/prune/dead-export-pass.d.ts +32 -0
  386. package/bundle/dependencies/prune/dead-export-pass.d.ts.map +1 -0
  387. package/bundle/dependencies/prune/dead-exports.d.ts +36 -0
  388. package/bundle/dependencies/prune/dead-exports.d.ts.map +1 -0
  389. package/bundle/dependencies/prune/destructure-requires-pass.d.ts +31 -0
  390. package/bundle/dependencies/prune/destructure-requires-pass.d.ts.map +1 -0
  391. package/bundle/dependencies/prune/destructure-requires.d.ts +42 -0
  392. package/bundle/dependencies/prune/destructure-requires.d.ts.map +1 -0
  393. package/bundle/dependencies/prune/edits.d.ts +30 -0
  394. package/bundle/dependencies/prune/edits.d.ts.map +1 -0
  395. package/bundle/dependencies/prune/namespace-usage.d.ts +104 -0
  396. package/bundle/dependencies/prune/namespace-usage.d.ts.map +1 -0
  397. package/bundle/dependencies/prune/orphan-chunks.d.ts +69 -0
  398. package/bundle/dependencies/prune/orphan-chunks.d.ts.map +1 -0
  399. package/bundle/dependencies/prune/property-strip-pass.d.ts +38 -0
  400. package/bundle/dependencies/prune/property-strip-pass.d.ts.map +1 -0
  401. package/bundle/dependencies/prune/property-strip.d.ts +69 -0
  402. package/bundle/dependencies/prune/property-strip.d.ts.map +1 -0
  403. package/bundle/dependencies/prune/prune-dependencies.d.ts +52 -0
  404. package/bundle/dependencies/prune/prune-dependencies.d.ts.map +1 -0
  405. package/bundle/dependencies/prune/reachability.d.ts +36 -0
  406. package/bundle/dependencies/prune/reachability.d.ts.map +1 -0
  407. package/bundle/dependencies/prune/specifiers.d.ts +39 -0
  408. package/bundle/dependencies/prune/specifiers.d.ts.map +1 -0
  409. package/bundle/dependencies/prune/strip-comments.d.ts +47 -0
  410. package/bundle/dependencies/prune/strip-comments.d.ts.map +1 -0
  411. package/bundle/dependencies/prune/used-exports.d.ts +32 -0
  412. package/bundle/dependencies/prune/used-exports.d.ts.map +1 -0
  413. package/bundle/dependencies/resolve-bundled-deps.d.ts +37 -0
  414. package/bundle/dependencies/resolve-bundled-deps.d.ts.map +1 -0
  415. package/bundle/dependencies/resolve-dep-entry.d.ts +38 -0
  416. package/bundle/dependencies/resolve-dep-entry.d.ts.map +1 -0
  417. package/bundle/dependencies/resolve-workspace-bundled-deps.d.ts +96 -0
  418. package/bundle/dependencies/resolve-workspace-bundled-deps.d.ts.map +1 -0
  419. package/bundle/dependencies/worker/index.cjs.js +524 -0
  420. package/bundle/dependencies/worker/index.d.ts +102 -0
  421. package/bundle/dependencies/worker/index.d.ts.map +1 -0
  422. package/bundle/dependencies/worker/index.esm.js +515 -0
  423. package/bundle/dependencies/worker/job-runner.d.ts +115 -0
  424. package/bundle/dependencies/worker/job-runner.d.ts.map +1 -0
  425. package/bundle/entries/by-platform.d.ts +27 -0
  426. package/bundle/entries/by-platform.d.ts.map +1 -0
  427. package/bundle/entries/discover-entries.d.ts +24 -0
  428. package/bundle/entries/discover-entries.d.ts.map +1 -0
  429. package/bundle/entries/index.cjs.js +38 -0
  430. package/bundle/entries/index.d.ts +70 -0
  431. package/bundle/entries/index.d.ts.map +1 -0
  432. package/bundle/entries/index.esm.js +33 -0
  433. package/bundle/entries/resolve-entries.d.ts +19 -0
  434. package/bundle/entries/resolve-entries.d.ts.map +1 -0
  435. package/bundle/externals/index.cjs.js +54 -0
  436. package/bundle/externals/index.d.ts +74 -0
  437. package/bundle/externals/index.d.ts.map +1 -0
  438. package/bundle/externals/index.esm.js +51 -0
  439. package/bundle/externals/resolve-externals.d.ts +52 -0
  440. package/bundle/externals/resolve-externals.d.ts.map +1 -0
  441. package/bundle/externals/validate-globals.d.ts +19 -0
  442. package/bundle/externals/validate-globals.d.ts.map +1 -0
  443. package/bundle/fs/deps-root.d.ts +17 -0
  444. package/bundle/fs/deps-root.d.ts.map +1 -0
  445. package/bundle/fs/empty-dirs.d.ts +18 -0
  446. package/bundle/fs/empty-dirs.d.ts.map +1 -0
  447. package/bundle/fs/entry-dir.d.ts +21 -0
  448. package/bundle/fs/entry-dir.d.ts.map +1 -0
  449. package/bundle/fs/posix-path.d.ts +30 -0
  450. package/bundle/fs/posix-path.d.ts.map +1 -0
  451. package/bundle/fs/under-dir.d.ts +19 -0
  452. package/bundle/fs/under-dir.d.ts.map +1 -0
  453. package/bundle/index.cjs.js +4046 -0
  454. package/bundle/index.d.ts +25 -0
  455. package/bundle/index.d.ts.map +1 -0
  456. package/bundle/index.esm.js +3689 -0
  457. package/bundle/rollup/descriptor.d.ts +99 -0
  458. package/bundle/rollup/descriptor.d.ts.map +1 -0
  459. package/bundle/rollup/dispatch.d.ts +72 -0
  460. package/bundle/rollup/dispatch.d.ts.map +1 -0
  461. package/bundle/rollup/index.cjs.js +715 -0
  462. package/bundle/rollup/index.d.ts +174 -0
  463. package/bundle/rollup/index.d.ts.map +1 -0
  464. package/bundle/rollup/index.esm.js +698 -0
  465. package/bundle/rollup/worker/index.cjs.js +290 -0
  466. package/bundle/rollup/worker/index.d.ts +131 -0
  467. package/bundle/rollup/worker/index.d.ts.map +1 -0
  468. package/bundle/rollup/worker/index.esm.js +280 -0
  469. package/bundle/rollup/worker/job-runner.d.ts +18 -0
  470. package/bundle/rollup/worker/job-runner.d.ts.map +1 -0
  471. package/bundle/rollup/worker/types.d.ts +111 -0
  472. package/bundle/rollup/worker/types.d.ts.map +1 -0
  473. package/bundle/run-bundle-phase.d.ts +23 -0
  474. package/bundle/run-bundle-phase.d.ts.map +1 -0
  475. package/clean-output.d.ts +26 -0
  476. package/clean-output.d.ts.map +1 -0
  477. package/index.cjs.js +5317 -0
  478. package/index.d.ts +64 -0
  479. package/index.d.ts.map +1 -0
  480. package/index.esm.js +4910 -0
  481. package/memory/index.cjs.js +101 -0
  482. package/memory/index.d.ts +81 -0
  483. package/memory/index.d.ts.map +1 -0
  484. package/memory/index.esm.js +98 -0
  485. package/memory/monitor.d.ts +59 -0
  486. package/memory/monitor.d.ts.map +1 -0
  487. package/memory/recover.d.ts +19 -0
  488. package/memory/recover.d.ts.map +1 -0
  489. package/models/build-config.d.ts +266 -0
  490. package/models/build-config.d.ts.map +1 -0
  491. package/models/build-context.d.ts +68 -0
  492. package/models/build-context.d.ts.map +1 -0
  493. package/models/build-result.d.ts +43 -0
  494. package/models/build-result.d.ts.map +1 -0
  495. package/models/entry-point.d.ts +45 -0
  496. package/models/entry-point.d.ts.map +1 -0
  497. package/models/format-output.d.ts +34 -0
  498. package/models/format-output.d.ts.map +1 -0
  499. package/models/index.cjs.js +2 -0
  500. package/models/index.d.ts +581 -0
  501. package/models/index.d.ts.map +1 -0
  502. package/models/index.esm.js +1 -0
  503. package/models/package-json.d.ts +130 -0
  504. package/models/package-json.d.ts.map +1 -0
  505. package/package/assets/copy-assets.d.ts +31 -0
  506. package/package/assets/copy-assets.d.ts.map +1 -0
  507. package/package/assets/index.cjs.js +84 -0
  508. package/package/assets/index.d.ts +33 -0
  509. package/package/assets/index.d.ts.map +1 -0
  510. package/package/assets/index.esm.js +82 -0
  511. package/package/finalize-files.d.ts +25 -0
  512. package/package/finalize-files.d.ts.map +1 -0
  513. package/package/index.cjs.js +276 -0
  514. package/package/index.d.ts +56 -0
  515. package/package/index.d.ts.map +1 -0
  516. package/package/index.esm.js +231 -0
  517. package/package/json/cdn-paths.d.ts +41 -0
  518. package/package/json/cdn-paths.d.ts.map +1 -0
  519. package/package/json/filter-deps.d.ts +39 -0
  520. package/package/json/filter-deps.d.ts.map +1 -0
  521. package/package/json/generate-exports.d.ts +29 -0
  522. package/package/json/generate-exports.d.ts.map +1 -0
  523. package/package/json/index.cjs.js +24 -0
  524. package/package/json/index.d.ts +252 -0
  525. package/package/json/index.d.ts.map +1 -0
  526. package/package/json/index.esm.js +14 -0
  527. package/package/json/inherit-fields.d.ts +25 -0
  528. package/package/json/inherit-fields.d.ts.map +1 -0
  529. package/package/json/read-package-json.d.ts +18 -0
  530. package/package/json/read-package-json.d.ts.map +1 -0
  531. package/package/json/reflect-files-allowlist.d.ts +32 -0
  532. package/package/json/reflect-files-allowlist.d.ts.map +1 -0
  533. package/package/json/synthesize.d.ts +53 -0
  534. package/package/json/synthesize.d.ts.map +1 -0
  535. package/package/json/write.d.ts +18 -0
  536. package/package/json/write.d.ts.map +1 -0
  537. package/package/licenses/collect.d.ts +25 -0
  538. package/package/licenses/collect.d.ts.map +1 -0
  539. package/package/licenses/generate-content.d.ts +20 -0
  540. package/package/licenses/generate-content.d.ts.map +1 -0
  541. package/package/licenses/index.cjs.js +135 -0
  542. package/package/licenses/index.d.ts +73 -0
  543. package/package/licenses/index.d.ts.map +1 -0
  544. package/package/licenses/index.esm.js +89 -0
  545. package/package/licenses/license-url.d.ts +20 -0
  546. package/package/licenses/license-url.d.ts.map +1 -0
  547. package/package/licenses/types.d.ts +12 -0
  548. package/package/licenses/types.d.ts.map +1 -0
  549. package/package/licenses/write.d.ts +16 -0
  550. package/package/licenses/write.d.ts.map +1 -0
  551. package/package/run-package-phase.d.ts +30 -0
  552. package/package/run-package-phase.d.ts.map +1 -0
  553. package/package.json +347 -0
  554. package/presets/by-names.d.ts +20 -0
  555. package/presets/by-names.d.ts.map +1 -0
  556. package/presets/by-prefix.d.ts +22 -0
  557. package/presets/by-prefix.d.ts.map +1 -0
  558. package/presets/index.cjs.js +8 -0
  559. package/presets/index.d.ts +43 -0
  560. package/presets/index.d.ts.map +1 -0
  561. package/presets/index.esm.js +5 -0
@@ -0,0 +1,857 @@
1
+ import { createError } from '../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/error/index.esm.js';
2
+ import { logger } from '../../_dependencies/@hyperfrontend/logging/index.esm.js';
3
+ import { join as join$2, exists, relativePath, removeDirectory, readFileContent, getDirname, readDirectory } from '../../_dependencies/@hyperfrontend/project-scope/core/index.esm.js';
4
+ import { from } from '../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/array/index.esm.js';
5
+ import { createSet } from '../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/set/index.esm.js';
6
+ import { createRequire } from 'node:module';
7
+ import { join as join$1, isAbsolute, resolve, dirname } from 'node:path';
8
+ import { spawn } from 'node:child_process';
9
+ import { existsSync, rmSync, mkdtempSync, readFileSync, cpSync, statSync, unlinkSync } from 'node:fs';
10
+ import { tmpdir } from 'node:os';
11
+ import { stringify, parse } from '../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/json/index.esm.js';
12
+ import { createPromise } from '../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/promise/index.esm.js';
13
+ import { readJsonFileIfExists, exists as exists$1 } from '../../_dependencies/@hyperfrontend/project-scope/core/fs/index.esm.js';
14
+ import { join as join$3, normalizeToForwardSlashes as normalizeToForwardSlashes$1 } from '../../_dependencies/@hyperfrontend/project-scope/core/path/index.esm.js';
15
+ import { dateNow } from '../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/date/index.esm.js';
16
+ import { clearInterval, setInterval } from '../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/timers/index.esm.js';
17
+ import { normalizeToForwardSlashes, join } from '../../_shared/bundle/fs/posix-path/index.esm.js';
18
+ import { buildWorkspaceRoutes } from '../../_shared/bundle/dependencies/externalize-plugin/index.esm.js';
19
+ import { depsRootOf } from '../../_shared/bundle/fs/deps-root/index.esm.js';
20
+ import { collectWorkspacePrefixDeps, collectWorkspaceExactSpecifiers } from '../../_shared/bundle/dependencies/collect-workspace-deps/index.esm.js';
21
+ import { flattenDeclarationPaths } from '../../_shared/bundle/declarations/flatten-paths/index.esm.js';
22
+ import { collectChunkSpecifiers, hasDynamicSpecifier } from '../../_shared/bundle/dependencies/prune/specifiers/index.esm.js';
23
+ import { entryDirOf } from '../../_shared/bundle/fs/entry-dir/index.esm.js';
24
+ import { isUnderDir } from '../../_shared/bundle/fs/under-dir/index.esm.js';
25
+
26
+ const log$4 = logger.channel('builder:bundle:dependencies:pre-pass');
27
+ const REPORT_DIR_PREFIX = 'hf-builder-prepass-';
28
+ const createReportDir = () => mkdtempSync(join$2(tmpdir(), REPORT_DIR_PREFIX));
29
+ const reportPathFor = (reportDir, job, index) => join$2(reportDir, `${index}-${job.dep.replace(/\//g, '__')}-${job.kind}-${job.format}.json`);
30
+ const runOne = (job, reportPath, options) => createPromise((resolve, reject) => {
31
+ const execPath = options.execPath ?? process.execPath;
32
+ const argv = [...(options.execArgv ?? []), options.workerPath, stringify({ ...job, reportPath })];
33
+ const child = spawn(execPath, argv, { stdio: ['ignore', 'pipe', 'pipe'] });
34
+ let capturedStderr = '';
35
+ child.stdout?.on('data', (chunk) => {
36
+ process.stdout.write(chunk);
37
+ });
38
+ child.stderr?.on('data', (chunk) => {
39
+ const text = typeof chunk === 'string' ? chunk : chunk.toString();
40
+ capturedStderr += text;
41
+ process.stderr.write(text);
42
+ });
43
+ child.on('error', (error) => {
44
+ reject(createError(`pre-pass worker for ${job.dep} (${job.kind}/${job.format}) failed to spawn: ${error.message}`));
45
+ });
46
+ child.on('exit', (code) => {
47
+ if (code !== 0) {
48
+ const tail = capturedStderr.trim().split('\n').slice(-10).join('\n');
49
+ reject(createError(`pre-pass worker for ${job.dep} (${job.kind}/${job.format}) exited with code ${code}\n${tail}`));
50
+ return;
51
+ }
52
+ resolve();
53
+ });
54
+ });
55
+ const readReport = (reportPath, job) => {
56
+ if (!existsSync(reportPath)) {
57
+ throw createError(`pre-pass worker for ${job.dep} (${job.kind}/${job.format}) did not write a report at ${reportPath}`);
58
+ }
59
+ const data = parse(readFileSync(reportPath, 'utf8'));
60
+ return { job, outputSize: data.outputSize, endHeapMB: data.endHeapMB, endRssMB: data.endRssMB, durationMs: data.durationMs };
61
+ };
62
+ const SWC_NODE_REGISTER = '@swc-node/register';
63
+ const swcNodeAvailable = (workspaceRoot) => existsSync(join$2(workspaceRoot, 'node_modules', '@swc-node', 'register', 'index.js'));
64
+ /**
65
+ * Default worker-path resolution: prefers the built-and-published artifact, falls
66
+ * back to the workspace dist path, and finally to the in-source TypeScript file
67
+ * via `@swc-node/register` (bootstrap case where builder is building itself for
68
+ * the first time and the dist worker doesn't exist yet).
69
+ *
70
+ * Looks at, in order:
71
+ * 1. `<workspaceRoot>/dist/libs/builder/bundle/dependencies/worker/index.cjs.js`
72
+ * 2. `<workspaceRoot>/node_modules/@hyperfrontend/builder/bundle/dependencies/worker/index.cjs.js`
73
+ * 3. `<workspaceRoot>/libs/builder/src/bundle/dependencies/worker/index.ts` (with `--require \@swc-node/register`)
74
+ *
75
+ * @param workspaceRoot - Absolute workspace root.
76
+ * @returns Worker invocation descriptor, or `undefined` if no candidate exists.
77
+ *
78
+ * @example Locating the worker for an in-workspace consumer
79
+ * ```typescript
80
+ * const invocation = resolveDefaultWorkerPath('/abs/repo')
81
+ * if (!invocation) throw new Error('builder worker artifact not found')
82
+ * ```
83
+ */
84
+ const resolveDefaultWorkerPath = (workspaceRoot) => {
85
+ const distCandidates = [
86
+ join$2(workspaceRoot, 'dist', 'libs', 'builder', 'bundle', 'dependencies', 'worker', 'index.cjs.js'),
87
+ join$2(workspaceRoot, 'node_modules', '@hyperfrontend', 'builder', 'bundle', 'dependencies', 'worker', 'index.cjs.js'),
88
+ ];
89
+ for (const path of distCandidates) {
90
+ if (existsSync(path))
91
+ return { path, execArgv: [] };
92
+ }
93
+ const sourcePath = join$2(workspaceRoot, 'libs', 'builder', 'src', 'bundle', 'dependencies', 'worker', 'index.ts');
94
+ if (existsSync(sourcePath) && swcNodeAvailable(workspaceRoot)) {
95
+ return { path: sourcePath, execArgv: ['--require', SWC_NODE_REGISTER] };
96
+ }
97
+ return undefined;
98
+ };
99
+ /**
100
+ * Sequentially runs the supplied pre-pass jobs by forking a fresh Node child
101
+ * per invocation. Strict sequential execution is mandatory — concurrent
102
+ * children would simultaneously pressure RAM and OOM the container.
103
+ *
104
+ * Each child writes a JSON report to a parent-supplied path; this function
105
+ * reads the report after the child exits and accumulates per-job statistics.
106
+ * If any worker exits non-zero or fails to produce a report, the function
107
+ * throws with the failed job's context.
108
+ *
109
+ * The report directory is created in the OS temp dir and removed before
110
+ * returning, regardless of success or failure.
111
+ *
112
+ * @param jobs - Pre-pass jobs to run.
113
+ * @param options - Worker path + optional memory monitor.
114
+ * @returns One result per supplied job, in the order the jobs were given.
115
+ *
116
+ * @example Pre-passing rollup and one of its plugins
117
+ * ```typescript
118
+ * const results = await runPrePass(jobs, { workerPath: '/abs/dist/libs/builder/bundle/dependencies/worker.cjs.js' })
119
+ * ```
120
+ */
121
+ const runPrePass = async (jobs, options) => {
122
+ if (jobs.length === 0)
123
+ return [];
124
+ const reportDir = createReportDir();
125
+ const results = [];
126
+ try {
127
+ for (const [index, job] of jobs.entries()) {
128
+ const reportPath = reportPathFor(reportDir, job, index);
129
+ log$4.info(`pre-pass ${index + 1}/${jobs.length}: ${job.dep} (${job.kind}/${job.format})`);
130
+ options.monitor?.check(`bundle:dependencies:prepass:${index + 1}/${jobs.length}:${job.dep}:${job.kind}:${job.format}:start`);
131
+ await runOne(job, reportPath, options);
132
+ const result = readReport(reportPath, job);
133
+ log$4.debug(`pre-pass ${index + 1}/${jobs.length} done: ${job.dep} size=${result.outputSize}B heap=${result.endHeapMB.toFixed(1)}MB rss=${result.endRssMB.toFixed(1)}MB t=${result.durationMs}ms`);
134
+ options.monitor?.check(`bundle:dependencies:prepass:${index + 1}/${jobs.length}:${job.dep}:${job.kind}:${job.format}:end`);
135
+ results.push(result);
136
+ }
137
+ return results;
138
+ }
139
+ finally {
140
+ rmSync(reportDir, { recursive: true, force: true });
141
+ }
142
+ };
143
+
144
+ const stripTrailingIndexDts = (filePath) => {
145
+ const normalized = normalizeToForwardSlashes(filePath);
146
+ const trimmed = normalized.replace(/\/index\.d\.ts$/, '');
147
+ return trimmed === normalized ? normalized.replace(/\.d\.ts$/, '') : trimmed;
148
+ };
149
+ const stripTrailingSlash = (value) => (value.endsWith('/') ? value.slice(0, -1) : value);
150
+ const dirnameOf = (filePath) => {
151
+ const normalized = normalizeToForwardSlashes(filePath);
152
+ const idx = normalized.lastIndexOf('/');
153
+ return idx <= 0 ? normalized : normalized.slice(0, idx);
154
+ };
155
+ /**
156
+ * Computes the directory (without trailing slash) that owns a sibling's
157
+ * `index.d.ts`. Used to test whether an absolute resolved id falls inside the
158
+ * sibling's directory tree.
159
+ *
160
+ * @param sibling - Sibling-entry record.
161
+ * @returns Sibling's directory with no trailing slash.
162
+ */
163
+ const siblingDir = (sibling) => stripTrailingSlash(dirnameOf(sibling.indexDtsPath));
164
+ const startsWithDir = (resolved, dir) => {
165
+ const normalizedResolved = normalizeToForwardSlashes(resolved);
166
+ if (normalizedResolved === dir)
167
+ return true;
168
+ return normalizedResolved.startsWith(`${dir}/`);
169
+ };
170
+ /**
171
+ * Returns the sibling entry whose directory contains `absolutePath`, or `undefined`
172
+ * when no sibling owns the path.
173
+ *
174
+ * @param absolutePath - Resolved absolute path of an import.
175
+ * @param siblings - Sibling-entry records.
176
+ * @returns Owning sibling entry, or `undefined`.
177
+ *
178
+ * @example Identifying a sibling for a resolved type import
179
+ * ```typescript
180
+ * const owner = findOwningSibling('/abs/dist/libs/foo/models/index.d.ts', siblings)
181
+ * ```
182
+ */
183
+ const findOwningSibling = (absolutePath, siblings) => {
184
+ const normalized = normalizeToForwardSlashes(absolutePath);
185
+ let best;
186
+ let bestDirLength = -1;
187
+ for (const sibling of siblings) {
188
+ const dir = siblingDir(sibling);
189
+ if (!startsWithDir(normalized, dir))
190
+ continue;
191
+ if (dir.length > bestDirLength) {
192
+ best = sibling;
193
+ bestDirLength = dir.length;
194
+ }
195
+ }
196
+ return best;
197
+ };
198
+ /**
199
+ * Computes the bare-specifier form of a sibling import as emitted in the
200
+ * rewritten `.d.ts` (e.g., `../models`, `../../models`, `./bundle/declarations`).
201
+ *
202
+ * Always omits the trailing `index.d.ts` so both `moduleResolution: 'bundler'`
203
+ * and `node` accept it.
204
+ *
205
+ * @param selfDtsPath - Absolute path to the current entry's `index.d.ts`.
206
+ * @param sibling - The sibling entry being targeted.
207
+ * @returns POSIX-style relative specifier ready for `id` in a rollup external resolution.
208
+ *
209
+ * @example Computing a sibling import from `bundle/index.d.ts` to `models/`
210
+ * ```typescript
211
+ * computeSiblingSpecifier(
212
+ * '/abs/dist/libs/foo/bundle/index.d.ts',
213
+ * { srcPath: 'models', indexDtsPath: '/abs/dist/libs/foo/models/index.d.ts' }
214
+ * ) // => '../models'
215
+ * ```
216
+ */
217
+ const computeSiblingSpecifier = (selfDtsPath, sibling) => {
218
+ const fromDir = dirnameOf(selfDtsPath);
219
+ const toDir = siblingDir(sibling);
220
+ const fromSegments = fromDir.split('/').filter((s) => s.length > 0);
221
+ const toSegments = toDir.split('/').filter((s) => s.length > 0);
222
+ let common = 0;
223
+ while (common < fromSegments.length && common < toSegments.length && fromSegments[common] === toSegments[common]) {
224
+ common += 1;
225
+ }
226
+ const upSegments = fromSegments.length - common;
227
+ const downSegments = toSegments.slice(common);
228
+ if (upSegments === 0 && downSegments.length === 0)
229
+ return '.';
230
+ const ups = '../'.repeat(upSegments);
231
+ const downs = downSegments.join('/');
232
+ if (upSegments === 0)
233
+ return `./${downs}`;
234
+ return downs.length > 0 ? `${ups}${downs}` : ups.replace(/\/$/, '');
235
+ };
236
+ /**
237
+ * Resolves a relative or absolute `source` against `importer` (or `selfDtsPath`
238
+ * when no importer is given) and returns the absolute filesystem candidate
239
+ * suitable for matching against sibling entries.
240
+ *
241
+ * Mirrors TypeScript's lookup rules at the level we need: when the candidate
242
+ * exists as `<candidate>/index.d.ts` we treat that as the resolved file,
243
+ * otherwise the candidate path itself.
244
+ *
245
+ * @param source - The import specifier as it appears in source.
246
+ * @param importer - Absolute path of the importing module, when known.
247
+ * @param selfDtsPath - Absolute path to the entry currently being rewritten (fallback importer).
248
+ * @returns Absolute candidate path for sibling matching.
249
+ */
250
+ const resolveCandidate = (source, importer, selfDtsPath) => {
251
+ if (isAbsolute(source))
252
+ return normalizeToForwardSlashes(source);
253
+ if (source.startsWith('.')) {
254
+ const fromDir = dirnameOf(importer ?? selfDtsPath);
255
+ return normalizeToForwardSlashes(resolve(fromDir, source));
256
+ }
257
+ return source;
258
+ };
259
+ /**
260
+ * Returns a rollup plugin that externalizes any import resolving inside a
261
+ * sibling entry's directory tree, rewriting the emitted specifier to a POSIX
262
+ * relative path stripped of `/index` and `.d.ts` suffixes.
263
+ *
264
+ * The plugin's `resolveId` hook returns `null` for everything that does not
265
+ * resolve into a sibling — that lets the rest of the rollup-plugin-dts chain
266
+ * inline third-party type imports as before.
267
+ *
268
+ * Self-ownership is enforced by adding the current entry into the ownership
269
+ * pool: when the deepest-matching entry directory is the entry being rewritten
270
+ * (and not a sibling), the resolver returns `null` so rollup keeps the path
271
+ * internal. This matters for the package root entry whose directory prefix-
272
+ * matches every other entry's path — without including self, root would
273
+ * spuriously claim its own subtree's files.
274
+ *
275
+ * @param input - Self + sibling entry descriptors.
276
+ * @returns Rollup plugin.
277
+ *
278
+ * @example Plugin instance for the bundle entry pass
279
+ * ```typescript
280
+ * const plugin = createSiblingExternalizePlugin({
281
+ * selfSrcPath: 'bundle',
282
+ * selfDtsPath: '/abs/dist/libs/foo/bundle/index.d.ts',
283
+ * siblings: [{ srcPath: 'models', indexDtsPath: '/abs/dist/libs/foo/models/index.d.ts' }],
284
+ * })
285
+ * ```
286
+ */
287
+ const createSiblingExternalizePlugin = (input) => {
288
+ const { selfSrcPath, selfDtsPath, siblings } = input;
289
+ const selfEntry = { srcPath: selfSrcPath, indexDtsPath: selfDtsPath };
290
+ const ownershipPool = [selfEntry, ...siblings];
291
+ const selfDtsResolved = normalizeToForwardSlashes(selfDtsPath);
292
+ return {
293
+ name: 'externalize-sibling-subpaths',
294
+ resolveId(source, importer) {
295
+ if (siblings.length === 0)
296
+ return null;
297
+ const candidate = resolveCandidate(source, importer, selfDtsPath);
298
+ const indexCandidate = candidate.endsWith('.d.ts') ? candidate : `${stripTrailingIndexDts(candidate)}/index.d.ts`;
299
+ const owner = findOwningSibling(candidate, ownershipPool) ?? findOwningSibling(indexCandidate, ownershipPool);
300
+ if (!owner)
301
+ return null;
302
+ if (normalizeToForwardSlashes(owner.indexDtsPath) === selfDtsResolved)
303
+ return null;
304
+ return { id: computeSiblingSpecifier(selfDtsPath, owner), external: true };
305
+ },
306
+ };
307
+ };
308
+ /**
309
+ * Convenience: filters an entry list to siblings of the supplied `srcPath`.
310
+ *
311
+ * @param srcPath - The entry's `srcPath` to exclude.
312
+ * @param entries - All discovered entries.
313
+ * @returns Entries whose `srcPath` differs from the supplied one.
314
+ *
315
+ * @example Building the sibling list for `bundle/`
316
+ * ```typescript
317
+ * const siblings = filterSiblings('bundle', allEntries)
318
+ * ```
319
+ */
320
+ const filterSiblings = (srcPath, entries) => entries.filter((entry) => entry.srcPath !== srcPath);
321
+ /**
322
+ * Joins an output base directory with an entry's `srcPath` to produce the
323
+ * absolute path of the entry's bundled `index.d.ts`.
324
+ *
325
+ * @param outputPath - Absolute output directory.
326
+ * @param srcPath - Entry's `srcPath`. `''` for root.
327
+ * @returns Absolute path to `<outputPath>/<srcPath>/index.d.ts`.
328
+ *
329
+ * @example Computing the d.ts path for a sub-entry
330
+ * ```typescript
331
+ * dtsPathFor('/abs/dist/libs/foo', 'models') // => '/abs/dist/libs/foo/models/index.d.ts'
332
+ * ```
333
+ */
334
+ const dtsPathFor = (outputPath, srcPath) => srcPath ? join(outputPath, srcPath, 'index.d.ts') : join(outputPath, 'index.d.ts');
335
+
336
+ const log$3 = logger.channel('builder:bundle:declarations:dts-per-entry');
337
+ const buildSiblingDescriptors = (entries, context, currentSrcPath) => {
338
+ const descriptors = [];
339
+ for (const entry of entries) {
340
+ if (entry.srcPath === currentSrcPath)
341
+ continue;
342
+ const indexDtsPath = dtsPathFor(context.outputPath, entry.srcPath);
343
+ if (!exists(indexDtsPath))
344
+ continue;
345
+ descriptors.push({ srcPath: entry.srcPath, indexDtsPath });
346
+ }
347
+ return descriptors;
348
+ };
349
+ const buildJobs$1 = (entries, context) => {
350
+ const jobs = [];
351
+ const workspacePrefixDeps = collectWorkspacePrefixDeps(context);
352
+ const workspaceExactSpecifiers = collectWorkspaceExactSpecifiers(context);
353
+ const workspaceRoutes = buildWorkspaceRoutes(context.workspaceBundledDeps);
354
+ const depsRoot = depsRootOf(context);
355
+ for (const entry of entries) {
356
+ const inputPath = dtsPathFor(context.outputPath, entry.srcPath);
357
+ if (!exists(inputPath))
358
+ continue;
359
+ const siblingEntries = buildSiblingDescriptors(entries, context, entry.srcPath);
360
+ jobs.push({
361
+ kind: 'dts',
362
+ dep: entry.exportPath,
363
+ inputPath,
364
+ format: 'esm',
365
+ outputPath: inputPath,
366
+ otherDeps: [...context.bundledDeps, ...workspacePrefixDeps],
367
+ otherWorkspaceSpecifiers: workspaceExactSpecifiers,
368
+ siblingEntries,
369
+ selfDtsPath: inputPath,
370
+ selfSrcPath: entry.srcPath,
371
+ npmDeps: context.bundledDeps,
372
+ workspaceRoutes,
373
+ depsRoot,
374
+ });
375
+ }
376
+ return jobs;
377
+ };
378
+ /**
379
+ * Runs the per-entry d.ts inlining pass: re-runs `rollup-plugin-dts` over every
380
+ * tsc-emitted entry `.d.ts` so (a) local per-source sibling re-exports
381
+ * (`export … from './create-logger'`) are flattened into the entry's
382
+ * `index.d.ts`, and (b) bundled-dep type imports are routed through
383
+ * `_dependencies/<dep>/index.d.ts` rather than left as bare specifiers. This
384
+ * self-containment is what lets `pruneOrphanDeclarations` delete the orphaned
385
+ * per-source `.d.ts` afterwards without orphaning a still-referenced sibling.
386
+ *
387
+ * Runs whenever the build bundles any dep — npm (`bundledDeps`) **or** workspace
388
+ * (`workspaceBundledDeps`); a package whose deps are all `@hyperfrontend/*` still
389
+ * needs the flatten. Entries whose tsc output is missing are skipped silently —
390
+ * the bundle phase may have skipped them deliberately (e.g., empty bundles).
391
+ *
392
+ * @param context - Resolved build context.
393
+ * @param monitor - Optional memory monitor invoked between jobs.
394
+ * @throws {Error} When the worker artifact cannot be located, or when any per-entry job fails.
395
+ *
396
+ * @example Inlining bundled-dep types into every entry's .d.ts after tsc emission
397
+ * ```typescript
398
+ * await runDtsPerEntry(context)
399
+ * ```
400
+ */
401
+ const runDtsPerEntry = async (context, monitor) => {
402
+ if (context.bundledDeps.length === 0 && context.workspaceBundledDeps.length === 0)
403
+ return;
404
+ const invocation = resolveDefaultWorkerPath(context.workspaceRoot);
405
+ if (!invocation) {
406
+ throw createError('bundleAllDeps is enabled but the pre-pass worker artifact was not found for the per-entry d.ts pass.');
407
+ }
408
+ const jobs = buildJobs$1(context.entryPointDiscovery.entryPoints, context);
409
+ if (jobs.length === 0) {
410
+ log$3.debug('per-entry d.ts pass: no entries with tsc-emitted .d.ts files');
411
+ return;
412
+ }
413
+ log$3.info(`per-entry d.ts pass: ${jobs.length} entries`);
414
+ monitor?.check('bundle:declarations:dts-perentry:start');
415
+ await runPrePass(jobs, { workerPath: invocation.path, execArgv: invocation.execArgv, monitor });
416
+ monitor?.check('bundle:declarations:dts-perentry:end');
417
+ };
418
+
419
+ const ROOTS = (projectRoot, workspaceRoot) => [projectRoot, workspaceRoot];
420
+ const findPackageJsonByWalkingUp = (entryPath, dep) => {
421
+ const segments = entryPath.split('/');
422
+ for (let i = segments.length - 1; i > 0; i--) {
423
+ const prefix = segments.slice(0, i).join('/');
424
+ const candidate = `${prefix}/package.json`;
425
+ if (!exists$1(candidate))
426
+ continue;
427
+ try {
428
+ const meta = readJsonFileIfExists(candidate);
429
+ if (meta?.name === dep)
430
+ return candidate;
431
+ }
432
+ catch {
433
+ // fall through
434
+ }
435
+ }
436
+ return undefined;
437
+ };
438
+ const findPackageJsonViaRequire = (dep, fromRoots) => {
439
+ for (const root of fromRoots) {
440
+ try {
441
+ const anchor = join$3(root, 'package.json');
442
+ if (!exists$1(anchor))
443
+ continue;
444
+ const req = createRequire(anchor);
445
+ const direct = `${dep}/package.json`;
446
+ try {
447
+ const path = req.resolve(direct);
448
+ if (exists$1(path))
449
+ return path;
450
+ }
451
+ catch {
452
+ // package may restrict ./package.json via exports — fall through to entry-anchored walk
453
+ }
454
+ try {
455
+ const entryPath = req.resolve(dep);
456
+ const found = findPackageJsonByWalkingUp(entryPath, dep);
457
+ if (found)
458
+ return found;
459
+ }
460
+ catch {
461
+ // entry resolution may also fail (e.g., type-only package); try the next root
462
+ }
463
+ }
464
+ catch {
465
+ // try next root
466
+ }
467
+ }
468
+ return undefined;
469
+ };
470
+ const ensureDtsEntry = (pkg) => pkg.types ?? pkg.typings;
471
+ const absolutize = (relativeTo, rel) => {
472
+ if (isAbsolute(rel))
473
+ return normalizeToForwardSlashes$1(rel);
474
+ return normalizeToForwardSlashes$1(resolve(relativeTo, rel));
475
+ };
476
+ /**
477
+ * Resolves the absolute path to a bundled dep's entry file (JS or `.d.ts`) for a
478
+ * pre-pass invocation.
479
+ *
480
+ * For JS jobs the resolution prefers the dep's `module` field (ESM) over `main`
481
+ * (CJS). For dts jobs it prefers `types` over `typings`. Lookup walks the project
482
+ * root first, then the workspace root, using `createRequire` so node's standard
483
+ * resolution semantics apply (including support for hoisted `node_modules`).
484
+ *
485
+ * @param options - Dep name, root paths, and kind.
486
+ * @returns Absolute path to the dep's entry file.
487
+ * @throws {Error} When the dep's `package.json` cannot be located or it lacks the
488
+ * required entry field.
489
+ *
490
+ * @example Resolving the runtime entry for `rollup`
491
+ * ```typescript
492
+ * const entry = resolveDepEntry({ dep: 'rollup', projectRoot, workspaceRoot, kind: 'js' })
493
+ * ```
494
+ */
495
+ const resolveDepEntry = (options) => {
496
+ const { dep, projectRoot, workspaceRoot} = options;
497
+ const pkgPath = findPackageJsonViaRequire(dep, ROOTS(projectRoot, workspaceRoot));
498
+ if (!pkgPath)
499
+ throw createError(`pre-pass: cannot locate package.json for dep "${dep}"`);
500
+ const pkg = readJsonFileIfExists(pkgPath);
501
+ if (!pkg)
502
+ throw createError(`pre-pass: package.json for dep "${dep}" could not be read at ${pkgPath}`);
503
+ const relative = ensureDtsEntry(pkg);
504
+ if (!relative)
505
+ throw createError(`pre-pass: dep "${dep}" has no ${'types/typings'} entry`);
506
+ return absolutize(dirname(pkgPath), relative);
507
+ };
508
+
509
+ const log$2 = logger.channel('builder:bundle:declarations:dts-pre-pass');
510
+ const workspaceDtsOutputFile = (entry) => entry.subPath ? `${entry.specifier}/index.d.ts` : `${entry.packageName}/index.d.ts`;
511
+ const filterRouteEntries = (entry, all) => all.filter((other) => (entry.policy === 'sub-path' ? other.specifier !== entry.specifier : other.packageName !== entry.packageName));
512
+ const buildJobs = (deps, context) => {
513
+ const depsRoot = depsRootOf(context);
514
+ const jobs = [];
515
+ const workspacePrefixDeps = collectWorkspacePrefixDeps(context);
516
+ const workspaceExactSpecifiers = collectWorkspaceExactSpecifiers(context);
517
+ const workspaceRoutes = buildWorkspaceRoutes(context.workspaceBundledDeps);
518
+ for (const dep of deps) {
519
+ let inputPath;
520
+ try {
521
+ inputPath = resolveDepEntry({ dep, projectRoot: context.projectRoot, workspaceRoot: context.workspaceRoot, kind: 'dts' });
522
+ }
523
+ catch (error) {
524
+ log$2.warn(`skipping d.ts pre-pass for ${dep}: ${error instanceof Error ? error.message : String(error)}`);
525
+ continue;
526
+ }
527
+ const otherNpmDeps = deps.filter((d) => d !== dep);
528
+ jobs.push({
529
+ kind: 'dts',
530
+ dep,
531
+ inputPath,
532
+ format: 'esm',
533
+ outputPath: join$2(depsRoot, dep, 'index.d.ts'),
534
+ otherDeps: [...otherNpmDeps, ...workspacePrefixDeps],
535
+ otherWorkspaceSpecifiers: workspaceExactSpecifiers,
536
+ npmDeps: otherNpmDeps,
537
+ workspaceRoutes,
538
+ depsRoot,
539
+ });
540
+ }
541
+ return jobs;
542
+ };
543
+ const buildWorkspaceJobs = (context, npmDeps) => {
544
+ if (context.workspaceBundledDeps.length === 0)
545
+ return [];
546
+ const depsRoot = depsRootOf(context);
547
+ const wholeSurface = collectWorkspacePrefixDeps(context);
548
+ const subPathSpecifiers = collectWorkspaceExactSpecifiers(context);
549
+ const jobs = [];
550
+ for (const entry of context.workspaceBundledDeps) {
551
+ const otherWorkspacePackages = wholeSurface.filter((name) => name !== entry.packageName || entry.policy === 'sub-path');
552
+ const otherSubPathSpecifiers = subPathSpecifiers.filter((spec) => spec !== entry.specifier);
553
+ const workspaceRoutes = buildWorkspaceRoutes(filterRouteEntries(entry, context.workspaceBundledDeps));
554
+ jobs.push({
555
+ kind: 'workspace-dts',
556
+ dep: entry.specifier,
557
+ inputPath: entry.inputPath,
558
+ format: 'esm',
559
+ outputPath: join$2(depsRoot, workspaceDtsOutputFile(entry)),
560
+ otherDeps: [...npmDeps, ...otherWorkspacePackages],
561
+ otherWorkspaceSpecifiers: otherSubPathSpecifiers,
562
+ tsConfigPath: entry.tsConfigPath,
563
+ workspaceRoot: context.workspaceRoot,
564
+ npmDeps,
565
+ workspaceRoutes,
566
+ depsRoot,
567
+ });
568
+ }
569
+ return jobs;
570
+ };
571
+ /**
572
+ * Runs the d.ts pre-pass: for each bundled dep, produces `_dependencies/<dep>/index.d.ts`
573
+ * by running `rollup-plugin-dts` over the dep's types entry. Cross-dep type imports are
574
+ * marked external so the per-entry d.ts pass can route them through `_dependencies/`.
575
+ *
576
+ * @param context - Resolved build context.
577
+ * @param monitor - Optional memory monitor invoked between jobs.
578
+ * @throws {Error} When the worker artifact cannot be located, or when any d.ts job fails.
579
+ *
580
+ * @example Producing _dependencies/<dep>/index.d.ts for a self-contained build
581
+ * ```typescript
582
+ * await runDtsPrePass(context)
583
+ * ```
584
+ */
585
+ const runDtsPrePass = async (context, monitor) => {
586
+ if (context.bundledDeps.length === 0 && context.workspaceBundledDeps.length === 0)
587
+ return;
588
+ const invocation = resolveDefaultWorkerPath(context.workspaceRoot);
589
+ if (!invocation) {
590
+ throw createError('bundleAllDeps is enabled but the pre-pass worker artifact was not found for the d.ts pre-pass.');
591
+ }
592
+ const npmJobs = buildJobs(context.bundledDeps, context);
593
+ const workspaceJobs = buildWorkspaceJobs(context, context.bundledDeps);
594
+ const jobs = [...npmJobs, ...workspaceJobs];
595
+ if (jobs.length === 0) {
596
+ log$2.debug('d.ts pre-pass: no eligible deps (all skipped due to missing types)');
597
+ return;
598
+ }
599
+ log$2.info(`d.ts pre-pass: ${npmJobs.length} npm + ${workspaceJobs.length} workspace = ${jobs.length} job(s)`);
600
+ monitor?.check('bundle:declarations:dts-prepass:start');
601
+ await runPrePass(jobs, { workerPath: invocation.path, execArgv: invocation.execArgv, monitor });
602
+ monitor?.check('bundle:declarations:dts-prepass:end');
603
+ };
604
+
605
+ const log$1 = logger.channel('builder:bundle:declarations');
606
+ const HEARTBEAT_INTERVAL_MS = 5000;
607
+ const BYTES_PER_MB = 1024 * 1024;
608
+ const formatMB = (bytes) => (bytes / BYTES_PER_MB).toFixed(1);
609
+ const startHeartbeat = (label, startedAt) => setInterval(() => {
610
+ const usage = process.memoryUsage();
611
+ const elapsedSec = ((dateNow() - startedAt) / 1000).toFixed(1);
612
+ log$1.info(`${label} still running: elapsed=${elapsedSec}s parent heap=${formatMB(usage.heapUsed)}MB rss=${formatMB(usage.rss)}MB`);
613
+ }, HEARTBEAT_INTERVAL_MS);
614
+ const runTsc = (tscPath, args, cwd) => createPromise((resolve, reject) => {
615
+ const startedAt = dateNow();
616
+ const child = spawn(tscPath, args, { cwd, stdio: ['ignore', 'pipe', 'pipe'] });
617
+ log$1.info(`tsc spawned: pid=${child.pid ?? 'unknown'}`);
618
+ log$1.debug(`tsc args: ${args.join(' ')}`);
619
+ const heartbeat = startHeartbeat('tsc', startedAt);
620
+ let stdout = '';
621
+ let stderr = '';
622
+ child.stdout.on('data', (chunk) => {
623
+ const text = chunk.toString();
624
+ stdout += text;
625
+ log$1.debug(text.trimEnd());
626
+ });
627
+ child.stderr.on('data', (chunk) => {
628
+ const text = chunk.toString();
629
+ stderr += text;
630
+ log$1.warn(text.trimEnd());
631
+ });
632
+ child.on('error', (error) => {
633
+ clearInterval(heartbeat);
634
+ log$1.error(`tsc spawn error: ${error.message}`);
635
+ reject(error);
636
+ });
637
+ child.on('close', (code) => {
638
+ clearInterval(heartbeat);
639
+ const durationMs = dateNow() - startedAt;
640
+ if (code !== 0) {
641
+ log$1.error(`tsc failed with exit code ${code} after ${durationMs}ms`);
642
+ reject(createError(`tsc failed with exit code ${code}`));
643
+ return;
644
+ }
645
+ log$1.info(`tsc exited 0 in ${durationMs}ms`);
646
+ resolve({ success: true, stdout, stderr });
647
+ });
648
+ });
649
+ /**
650
+ * Generates `.d.ts` and `.d.ts.map` files for every entry point in the project
651
+ * by spawning the workspace-local TypeScript compiler.
652
+ *
653
+ * After tsc finishes, calls `flattenDeclarationPaths` to relocate the nested
654
+ * `dist/<lib>/libs/<lib>/src/...` structure that tsc emits with `baseUrl=workspaceRoot`
655
+ * back into the flat per-library shape consumers expect.
656
+ *
657
+ * @param context - Resolved build context. Provides project root, output path, tsconfig path,
658
+ * workspace root, and entry point discovery for the flatten step.
659
+ * @returns Promise resolving with tsc's exit status, captured stdout, and captured stderr.
660
+ * @throws {Error} When tsc exits with a non-zero status or fails to spawn.
661
+ *
662
+ * @example Generating declarations as part of a custom build
663
+ * ```typescript
664
+ * const result = await generateDeclarations(context)
665
+ * console.log(result.stdout)
666
+ * ```
667
+ */
668
+ const generateDeclarations = async (context) => {
669
+ log$1.info('generating typescript declarations');
670
+ const usage = process.memoryUsage();
671
+ log$1.info(`pre-tsc memory: parent heap=${formatMB(usage.heapUsed)}MB rss=${formatMB(usage.rss)}MB`);
672
+ const tscPath = join$3(context.workspaceRoot, 'node_modules', '.bin', 'tsc');
673
+ const args = [
674
+ '--project',
675
+ context.tsConfigPath,
676
+ '--noEmit',
677
+ 'false',
678
+ '--emitDeclarationOnly',
679
+ '--declaration',
680
+ '--declarationMap',
681
+ '--outDir',
682
+ context.outputPath,
683
+ ];
684
+ const result = await runTsc(tscPath, args, context.projectRoot);
685
+ log$1.info('flattening declaration paths');
686
+ const flattenStart = dateNow();
687
+ flattenDeclarationPaths(context);
688
+ log$1.info(`flatten complete in ${dateNow() - flattenStart}ms`);
689
+ return result;
690
+ };
691
+
692
+ const log = logger.channel('builder:bundle:declarations:prune-orphans');
693
+ const ORPHAN_DTS_RE = /\.d\.ts$|\.d\.ts\.map$/;
694
+ const INDEX_DTS_NAME = 'index.d.ts';
695
+ /**
696
+ * Resolves a relative specifier found in a `.d.ts` to the absolute `.d.ts` file
697
+ * it points at, or `null` when it resolves to nothing on disk or into
698
+ * `_dependencies/`.
699
+ *
700
+ * Declaration specifiers are extensionless (`./create-logger`, `./shared/consts`)
701
+ * or directory imports (`./shared` → `shared/index.d.ts`); the canonical
702
+ * `_dependencies` routing uses an explicit runtime extension (`.../index.js`),
703
+ * which is rewritten to its declaration sibling. Targets under `depsRoot` are
704
+ * never edges for this pass — bundled-dep declarations are managed by the
705
+ * dependency Type Prune, and this pass must never touch them.
706
+ *
707
+ * @param dir - Absolute directory of the referencing `.d.ts`.
708
+ * @param spec - Relative specifier text (already known to start with `.`).
709
+ * @param depsRoot - Absolute path to the `_dependencies/` directory.
710
+ * @returns Absolute `.d.ts` path of the referenced sibling, or `null`.
711
+ */
712
+ const toDtsTarget = (dir, spec, depsRoot) => {
713
+ const abs = join$2(dir, spec);
714
+ // why: a `.js` specifier is the bundled-dep routing shape; map it onto its declaration sibling.
715
+ const candidates = spec.endsWith('.js') ? [`${abs.slice(0, -3)}.d.ts`] : [`${abs}.d.ts`, join$2(abs, INDEX_DTS_NAME)];
716
+ for (const candidate of candidates) {
717
+ if (isUnderDir(candidate, depsRoot))
718
+ return null;
719
+ if (exists(candidate))
720
+ return candidate;
721
+ }
722
+ return null;
723
+ };
724
+ /**
725
+ * Computes the set of `.d.ts` files reachable from the entry-point `index.d.ts`
726
+ * roots by transitively following their relative specifiers.
727
+ *
728
+ * Breadth-first: each visited file's text is read, scanned once, then released
729
+ * before the next, so only one declaration source is resident at a time and the
730
+ * memory profile stays flat. Edges into `_dependencies/` and to non-existent
731
+ * targets are dropped. The specifier scan over-approximates (a spurious match
732
+ * over-keeps harmless bytes) so it never under-keeps a referenced sibling.
733
+ *
734
+ * If any reached `.d.ts` contains a dynamic (non-literal) `import(`/`require(`,
735
+ * the graph cannot be fully resolved, so the function returns `null` — the
736
+ * safe sentinel that makes the caller keep every declaration.
737
+ *
738
+ * @param roots - Absolute paths to the entry-point `index.d.ts` roots.
739
+ * @param depsRoot - Absolute path to the `_dependencies/` directory.
740
+ * @returns The set of reachable absolute `.d.ts` paths, or `null` on a dynamic
741
+ * specifier bail.
742
+ */
743
+ const computeReachableDeclarations = (roots, depsRoot) => {
744
+ const reachable = createSet([]);
745
+ const queue = [];
746
+ for (const root of roots) {
747
+ if (exists(root) && !reachable.has(root)) {
748
+ reachable.add(root);
749
+ queue.push(root);
750
+ }
751
+ }
752
+ let head = 0;
753
+ while (head < queue.length) {
754
+ const file = queue[head];
755
+ head += 1;
756
+ // why: every queued path was `exists`-checked before enqueue (roots and `toDtsTarget` targets), so a direct read is safe.
757
+ const source = readFileContent(file);
758
+ if (hasDynamicSpecifier(source)) {
759
+ log.warn(`dynamic import/require in ${file}; keeping all orphan declarations for safety`);
760
+ return null;
761
+ }
762
+ const dir = getDirname(file);
763
+ for (const spec of collectChunkSpecifiers(source)) {
764
+ const target = toDtsTarget(dir, spec, depsRoot);
765
+ if (target !== null && !reachable.has(target)) {
766
+ reachable.add(target);
767
+ queue.push(target);
768
+ }
769
+ }
770
+ }
771
+ return reachable;
772
+ };
773
+ /**
774
+ * Collects every `.d.ts` / `.d.ts.map` file under `root`, recursing the whole
775
+ * package tree but skipping the `_dependencies/` subtree (managed by the
776
+ * dependency Type Prune, never touched here).
777
+ *
778
+ * @param root - Absolute path to the package output root.
779
+ * @param depsRoot - Absolute path to the `_dependencies/` directory.
780
+ * @returns Absolute paths of all declaration files outside `_dependencies/`.
781
+ */
782
+ const collectDeclarationFiles = (root, depsRoot) => {
783
+ const files = [];
784
+ if (!exists(root))
785
+ return files;
786
+ const visit = (dir) => {
787
+ for (const entry of readDirectory(dir)) {
788
+ if (entry.isDirectory) {
789
+ if (isUnderDir(entry.path, depsRoot))
790
+ continue;
791
+ visit(entry.path);
792
+ }
793
+ else if (entry.isFile && ORPHAN_DTS_RE.test(entry.name)) {
794
+ files.push(entry.path);
795
+ }
796
+ }
797
+ };
798
+ visit(root);
799
+ return files;
800
+ };
801
+ /**
802
+ * Removes redundant per-source `.d.ts` / `.d.ts.map` files left behind once the
803
+ * per-entry flatten has inlined each entry's declarations into a self-contained
804
+ * `index.d.ts`.
805
+ *
806
+ * Walks the whole package tree (excluding `_dependencies/`) and deletes every
807
+ * declaration file **not reachable** from an entry-point `index.d.ts` via its
808
+ * transitive relative specifiers. Reachability — rather than a per-directory
809
+ * sweep — guarantees the invariant that after this runs no surviving `.d.ts`
810
+ * references a removed one: when the flatten made `index.d.ts` self-contained
811
+ * the reachable set collapses to the roots and every per-source sibling is
812
+ * pruned; when the flatten was skipped the siblings the public entry still
813
+ * re-exports (and anything they transitively re-export) stay live so the shipped
814
+ * types resolve. This removes the redundancy at the source so `dist` == the
815
+ * shipped tarball, demoting `package.json#files` to a backstop.
816
+ *
817
+ * Safety rails:
818
+ * - Never touches anything inside `_dependencies/`.
819
+ * - A `.d.ts.map` is kept iff its sibling `.d.ts` is reachable.
820
+ * - A dynamic (non-literal) `import(`/`require(` in any reached declaration
821
+ * aborts the prune and keeps every declaration file.
822
+ *
823
+ * @param context - Resolved build context.
824
+ * @returns The total number of `.d.ts` / `.d.ts.map` files removed.
825
+ *
826
+ * @example Pruning orphans after generateDeclarations
827
+ * ```typescript
828
+ * const removed = pruneOrphanDeclarations(context)
829
+ * ```
830
+ */
831
+ const pruneOrphanDeclarations = (context) => {
832
+ const depsRoot = depsRootOf(context);
833
+ const roots = [];
834
+ for (const entry of context.entryPointDiscovery.entryPoints) {
835
+ const dir = entryDirOf(entry, context);
836
+ if (isUnderDir(dir, depsRoot))
837
+ continue;
838
+ roots.push(join$2(dir, INDEX_DTS_NAME));
839
+ }
840
+ const reachable = computeReachableDeclarations(roots, depsRoot);
841
+ if (reachable === null)
842
+ return 0;
843
+ let total = 0;
844
+ for (const file of collectDeclarationFiles(context.outputPath, depsRoot)) {
845
+ // why: a `.d.ts.map` shares the liveness of its `.d.ts` sibling, keyed by stripping the trailing `.map`.
846
+ const dtsKey = file.endsWith('.d.ts.map') ? file.slice(0, -4) : file;
847
+ if (reachable.has(dtsKey))
848
+ continue;
849
+ unlinkSync(file);
850
+ total += 1;
851
+ }
852
+ if (total > 0)
853
+ log.info(`pruned ${total} orphan declaration file(s)`);
854
+ return total;
855
+ };
856
+
857
+ export { computeSiblingSpecifier, createSiblingExternalizePlugin, dtsPathFor, filterSiblings, findOwningSibling, flattenDeclarationPaths, generateDeclarations, pruneOrphanDeclarations, runDtsPerEntry, runDtsPrePass };