@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,61 @@
1
+ /**
2
+ * Inputs to {@link injectBlob}.
3
+ */
4
+ export interface InjectBlobInputs {
5
+ /** Absolute path to the Node host binary to clone as the injection target. */
6
+ hostBinary: string;
7
+ /** Absolute path where the cloned + injected binary should land. */
8
+ outputBinary: string;
9
+ /** Absolute path to the SEA preparation blob produced by `node --experimental-sea-config`. */
10
+ blobPath: string;
11
+ /** Resource name for the injected SEA section. Defaults to Node's expected `NODE_SEA_BLOB`. */
12
+ resourceName?: string;
13
+ /** Mach-O segment name for macOS injection. Defaults to Node's expected `NODE_SEA`. */
14
+ machoSegmentName?: string;
15
+ /** SEA fuse string searched for in the binary. Defaults to Node's standard SEA fuse. */
16
+ sentinelFuse?: string;
17
+ }
18
+ /**
19
+ * Node's expected SEA resource name. Hardcoded by the runtime when looking up
20
+ * the embedded blob, so this value is required for the resulting binary to
21
+ * function as a single-executable application.
22
+ */
23
+ export declare const NODE_SEA_RESOURCE_NAME = "NODE_SEA_BLOB";
24
+ /**
25
+ * Node's expected Mach-O segment name for SEA blobs on macOS.
26
+ */
27
+ export declare const NODE_SEA_MACHO_SEGMENT = "NODE_SEA";
28
+ /**
29
+ * Sentinel fuse string Node's runtime flips from `0` → `1` to mark a SEA-injected binary.
30
+ *
31
+ * Built at runtime from two parts so the contiguous sentinel literal never appears
32
+ * in the bundled JS of a bin that imports this module: that JS is embedded in the
33
+ * SEA blob, and a contiguous copy there collides with the host binary's own sentinel,
34
+ * making postject reject the inject with "Multiple occurences of sentinel". Keep it
35
+ * split — do not inline into a single string literal.
36
+ */
37
+ export declare const NODE_SEA_FUSE: string;
38
+ /**
39
+ * Clones the Node host binary to `outputBinary` and injects the SEA preparation
40
+ * blob via [postject](https://www.npmjs.com/package/postject)'s programmatic API.
41
+ *
42
+ * The host binary itself is never modified — postject mutates the cloned copy
43
+ * at `outputBinary`. The injection uses Node's expected SEA resource name and
44
+ * fuse so the produced executable is recognized by Node's SEA runtime.
45
+ *
46
+ * Callers are responsible for adjusting code-signing afterwards (see
47
+ * {@link removeCodesign} for macOS).
48
+ *
49
+ * @param inputs - Host binary, target output path, and blob path.
50
+ *
51
+ * @example Producing a SEA binary on a Linux runner
52
+ * ```typescript
53
+ * await injectBlob({
54
+ * hostBinary: process.execPath,
55
+ * outputBinary: '/abs/dist/libs/builder/bin/hf-build.linux-x64',
56
+ * blobPath: '/abs/dist/libs/builder/bin/hf-build.sea-prep.blob',
57
+ * })
58
+ * ```
59
+ */
60
+ export declare const injectBlob: (inputs: InjectBlobInputs) => Promise<void>;
61
+ //# sourceMappingURL=inject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/builder/src/bin/native/inject.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8EAA8E;IAC9E,UAAU,EAAE,MAAM,CAAA;IAClB,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAA;IACpB,8FAA8F;IAC9F,QAAQ,EAAE,MAAM,CAAA;IAChB,+FAA+F;IAC/F,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,wFAAwF;IACxF,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,kBAAkB,CAAA;AAErD;;GAEG;AACH,eAAO,MAAM,sBAAsB,aAAa,CAAA;AAKhD;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,QAA4C,CAAA;AAEtE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,UAAU,GAAU,QAAQ,gBAAgB,KAAG,OAAO,CAAC,IAAI,CAOvE,CAAA"}
@@ -0,0 +1,39 @@
1
+ import type { SeaPlatform } from '../../models';
2
+ /**
3
+ * Returns the target identifier for the current Node process in the form
4
+ * `<process.platform>-<process.arch>` (e.g., `linux-x64`).
5
+ *
6
+ * The string is shaped to match {@link SeaPlatform} but is returned as a plain
7
+ * string because callers commonly compare against arbitrary user-declared
8
+ * platform lists, which may legally include values not in the supported union.
9
+ *
10
+ * @returns `<platform>-<arch>` for the current process.
11
+ *
12
+ * @example Identifying the current target
13
+ * ```typescript
14
+ * const target = currentPlatformTarget() // 'linux-x64'
15
+ * ```
16
+ */
17
+ export declare const currentPlatformTarget: () => string;
18
+ /**
19
+ * Returns `true` when the current Node process matches one of the declared
20
+ * SEA target platforms — i.e., when `<process.platform>-<process.arch>` is
21
+ * present in `declaredPlatforms`.
22
+ *
23
+ * Builder uses this gate to skip native emission silently on runners that
24
+ * weren't asked to produce a binary for the current host. CI orchestrates the
25
+ * matrix so each declared platform is built on the matching runner.
26
+ *
27
+ * @param declaredPlatforms - Platforms declared on the bin's `sea` config.
28
+ * @returns Whether the current host matches any declared platform.
29
+ *
30
+ * @example Gating native emission to declared targets
31
+ * ```typescript
32
+ * if (!currentPlatformMatches(bin.sea?.platforms ?? [])) {
33
+ * log.info(`skipping native build for ${bin.name} on ${currentPlatformTarget()}`)
34
+ * return []
35
+ * }
36
+ * ```
37
+ */
38
+ export declare const currentPlatformMatches: (declaredPlatforms: readonly SeaPlatform[]) => boolean;
39
+ //# sourceMappingURL=platform-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-check.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/builder/src/bin/native/platform-check.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,qBAAqB,QAAO,MAA+C,CAAA;AAExF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,sBAAsB,GAAI,mBAAmB,SAAS,WAAW,EAAE,KAAG,OAIlF,CAAA"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Inputs to {@link generateSeaBlob}.
3
+ */
4
+ export interface GenerateSeaBlobInputs {
5
+ /** Absolute path to a SEA configuration JSON written to disk. */
6
+ seaConfigPath: string;
7
+ /** Absolute path the SEA configuration's `output` field points at; returned for caller convenience. */
8
+ outputBlobPath: string;
9
+ /** Override for the Node executable used to run the SEA-config command. Defaults to `process.execPath`. */
10
+ nodeExecutable?: string;
11
+ }
12
+ /**
13
+ * Outcome of a SEA blob generation attempt.
14
+ */
15
+ export interface GenerateSeaBlobResult {
16
+ /** Absolute path of the emitted blob (echoes `inputs.outputBlobPath`). */
17
+ blobPath: string;
18
+ /** Exit status returned by the `node --experimental-sea-config` invocation. */
19
+ status: number;
20
+ }
21
+ /**
22
+ * Spawns `node --experimental-sea-config <seaConfigPath>` to produce the SEA
23
+ * preparation blob declared by the config's `output` field.
24
+ *
25
+ * Spawn errors and non-zero exit codes are surfaced as thrown `Error`s with the
26
+ * captured stderr included; this function does not retry.
27
+ *
28
+ * @param inputs - Resolved SEA config path + the blob path declared in that config.
29
+ * @returns The blob path (for chaining) and the spawn status.
30
+ *
31
+ * @example Generating the SEA prep blob
32
+ * ```typescript
33
+ * const result = generateSeaBlob({
34
+ * seaConfigPath: '/abs/dist/libs/builder/bin/hf-build.sea-config.json',
35
+ * outputBlobPath: '/abs/dist/libs/builder/bin/hf-build.sea-prep.blob',
36
+ * })
37
+ * ```
38
+ */
39
+ export declare const generateSeaBlob: (inputs: GenerateSeaBlobInputs) => GenerateSeaBlobResult;
40
+ //# sourceMappingURL=sea-blob.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sea-blob.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/builder/src/bin/native/sea-blob.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,iEAAiE;IACjE,aAAa,EAAE,MAAM,CAAA;IACrB,uGAAuG;IACvG,cAAc,EAAE,MAAM,CAAA;IACtB,2GAA2G;IAC3G,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAA;IAChB,+EAA+E;IAC/E,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,qBAAqB,KAAG,qBAY/D,CAAA"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Inputs to {@link generateSeaConfig}.
3
+ */
4
+ export interface SeaConfigInputs {
5
+ /** Absolute path to the bundled CJS entry the SEA blob will execute. */
6
+ mainPath: string;
7
+ /** Absolute path where the SEA blob should be emitted by `node --experimental-sea-config`. */
8
+ outputPath: string;
9
+ }
10
+ /**
11
+ * Shape of the JSON document consumed by `node --experimental-sea-config`.
12
+ *
13
+ * Mirrors the [Node SEA configuration schema]
14
+ * (https://nodejs.org/api/single-executable-applications.html). Builder always
15
+ * sets `disableExperimentalSEAWarning` so the produced binary doesn't print
16
+ * the warning banner on every invocation.
17
+ */
18
+ export interface SeaConfigDocument {
19
+ /** Absolute path to the script the SEA bundle will execute. */
20
+ main: string;
21
+ /** Absolute path to the blob that `node --experimental-sea-config` will write. */
22
+ output: string;
23
+ /** Suppresses the runtime "this is an experimental feature" warning. Always `true`. */
24
+ disableExperimentalSEAWarning: true;
25
+ }
26
+ /**
27
+ * Builds the JSON document consumed by `node --experimental-sea-config <path>`.
28
+ *
29
+ * Builder always emits `disableExperimentalSEAWarning: true` to silence the
30
+ * runtime warning banner on every native binary invocation — published bins
31
+ * are expected to behave like first-class executables.
32
+ *
33
+ * @param inputs - Resolved absolute paths for the SEA `main` script and `output` blob.
34
+ * @returns SEA config document ready to be JSON-serialized to disk.
35
+ *
36
+ * @example Generating a SEA config for a bin
37
+ * ```typescript
38
+ * const config = generateSeaConfig({
39
+ * mainPath: '/abs/dist/libs/builder/bin/hf-build.cjs.js',
40
+ * outputPath: '/abs/dist/libs/builder/bin/hf-build.sea-prep.blob',
41
+ * })
42
+ * ```
43
+ */
44
+ export declare const generateSeaConfig: (inputs: SeaConfigInputs) => SeaConfigDocument;
45
+ //# sourceMappingURL=sea-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sea-config.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/builder/src/bin/native/sea-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,wEAAwE;IACxE,QAAQ,EAAE,MAAM,CAAA;IAChB,8FAA8F;IAC9F,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAA;IACZ,kFAAkF;IAClF,MAAM,EAAE,MAAM,CAAA;IACd,uFAAuF;IACvF,6BAA6B,EAAE,IAAI,CAAA;CACpC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,iBAAiB,GAAI,QAAQ,eAAe,KAAG,iBAI1D,CAAA"}
@@ -0,0 +1,88 @@
1
+ 'use strict';
2
+
3
+ const node_fs = require('node:fs');
4
+ const node_path = require('node:path');
5
+ const index_cjs_js = require('../../../_dependencies/postject/index.cjs.js');
6
+
7
+ const BYTES_PER_MB = 1024 * 1024;
8
+ const ensureDir = (path) => {
9
+ node_fs.mkdirSync(path, { recursive: true });
10
+ };
11
+ const safeStatSize = (filePath) => {
12
+ /* istanbul ignore next -- @preserve defensive: postject always produces the declared output file */
13
+ try {
14
+ return node_fs.statSync(filePath).size;
15
+ }
16
+ catch {
17
+ return 0;
18
+ }
19
+ };
20
+ /**
21
+ * Runs the postject inject for `job` in the current process and writes the
22
+ * resulting report to `job.reportPath`.
23
+ *
24
+ * Call this to drive the worker logic without spawning a new Node process. The
25
+ * inject normally runs in a forked child because `postject.inject` loads the
26
+ * entire ~121 MB host binary into a Node `Buffer` and rewrites it with the
27
+ * embedded blob — a single ~138 MB allocation that needs to be reclaimed on
28
+ * process exit rather than retained in the parent's RSS.
29
+ *
30
+ * @param job - Descriptor describing the inject invocation.
31
+ * @returns The on-disk report data the worker would have persisted.
32
+ *
33
+ * @example Driving the worker logic in-process for a fixture
34
+ * ```typescript
35
+ * const report = await runInjectWorkerJob({
36
+ * hostBinary: '/opt/node',
37
+ * outputBinary: '/tmp/out',
38
+ * blobPath: '/tmp/sea.blob',
39
+ * resourceName: 'NODE_SEA_BLOB',
40
+ * machoSegmentName: 'NODE_SEA',
41
+ * sentinelFuse: 'NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2',
42
+ * reportPath: '/tmp/report.json',
43
+ * })
44
+ * ```
45
+ */
46
+ const runInjectWorkerJob = async (job) => {
47
+ const startedAt = Date.now();
48
+ ensureDir(node_path.dirname(job.outputBinary));
49
+ ensureDir(node_path.dirname(job.reportPath));
50
+ node_fs.copyFileSync(job.hostBinary, job.outputBinary);
51
+ const blob = node_fs.readFileSync(job.blobPath);
52
+ await index_cjs_js.inject(job.outputBinary, job.resourceName, blob, {
53
+ machoSegmentName: job.machoSegmentName,
54
+ sentinelFuse: job.sentinelFuse,
55
+ });
56
+ const memory = process.memoryUsage();
57
+ const report = {
58
+ outputSize: safeStatSize(job.outputBinary),
59
+ endHeapMB: memory.heapUsed / BYTES_PER_MB,
60
+ endRssMB: memory.rss / BYTES_PER_MB,
61
+ durationMs: Date.now() - startedAt,
62
+ };
63
+ node_fs.writeFileSync(job.reportPath, JSON.stringify(report));
64
+ return report;
65
+ };
66
+
67
+ const isMainModule = () => {
68
+ if (typeof require !== 'undefined' && typeof module !== 'undefined' && require.main === module) {
69
+ return true;
70
+ }
71
+ const argv1 = process.argv[1] ?? '';
72
+ return argv1.endsWith('index.cjs.js') || argv1.endsWith('index.esm.js') || argv1.endsWith('index.ts') || argv1.endsWith('index.js');
73
+ };
74
+ if (isMainModule()) {
75
+ const raw = process.argv[2];
76
+ if (!raw) {
77
+ process.stderr.write('inject worker: missing job spec on argv\n');
78
+ process.exit(2);
79
+ }
80
+ const job = JSON.parse(raw);
81
+ runInjectWorkerJob(job).then(() => process.exit(0), (error) => {
82
+ const message = error instanceof Error ? (error.stack ?? error.message) : String(error);
83
+ process.stderr.write(`inject worker for ${job.outputBinary} failed: ${message}\n`);
84
+ process.exit(1);
85
+ });
86
+ }
87
+
88
+ exports.runInjectWorkerJob = runInjectWorkerJob;
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Serializable inject-worker job descriptor: the contract between
3
+ * {@link dispatchInjectWorker} and the forked child. Every field must round-trip
4
+ * through `JSON.stringify` / `JSON.parse` — no functions, no class instances.
5
+ */
6
+ interface InjectWorkerJob {
7
+ /** Absolute path to the Node host binary the worker clones as the injection target. */
8
+ hostBinary: string;
9
+ /** Absolute path the cloned + injected binary lands at. */
10
+ outputBinary: string;
11
+ /** Absolute path to the SEA preparation blob produced by `node --experimental-sea-config`. */
12
+ blobPath: string;
13
+ /** SEA resource name for the embedded blob (always `NODE_SEA_BLOB` at runtime). */
14
+ resourceName: string;
15
+ /** Mach-O segment name used by macOS injection (always `NODE_SEA` at runtime). */
16
+ machoSegmentName: string;
17
+ /** Sentinel fuse string postject scans for in the host binary. Constructed in-parent to avoid collision. */
18
+ sentinelFuse: string;
19
+ /** Absolute path the worker writes its JSON report to. */
20
+ reportPath: string;
21
+ }
22
+ /**
23
+ * Memory + size summary written to `reportPath` when the worker exits cleanly.
24
+ *
25
+ * Captured from the worker process — the parent never observes the ~138 MB
26
+ * postject buffer because the entire load lives and dies in the child.
27
+ */
28
+ interface InjectWorkerReport {
29
+ /** On-disk size of `outputBinary` after injection, in bytes. */
30
+ outputSize: number;
31
+ /** Worker `process.memoryUsage().heapUsed` in MB at end of inject. */
32
+ endHeapMB: number;
33
+ /** Worker `process.memoryUsage().rss` in MB at end of inject. */
34
+ endRssMB: number;
35
+ /** Worker wall-clock duration in ms. */
36
+ durationMs: number;
37
+ }
38
+
39
+ /**
40
+ * Runs the postject inject for `job` in the current process and writes the
41
+ * resulting report to `job.reportPath`.
42
+ *
43
+ * Call this to drive the worker logic without spawning a new Node process. The
44
+ * inject normally runs in a forked child because `postject.inject` loads the
45
+ * entire ~121 MB host binary into a Node `Buffer` and rewrites it with the
46
+ * embedded blob — a single ~138 MB allocation that needs to be reclaimed on
47
+ * process exit rather than retained in the parent's RSS.
48
+ *
49
+ * @param job - Descriptor describing the inject invocation.
50
+ * @returns The on-disk report data the worker would have persisted.
51
+ *
52
+ * @example Driving the worker logic in-process for a fixture
53
+ * ```typescript
54
+ * const report = await runInjectWorkerJob({
55
+ * hostBinary: '/opt/node',
56
+ * outputBinary: '/tmp/out',
57
+ * blobPath: '/tmp/sea.blob',
58
+ * resourceName: 'NODE_SEA_BLOB',
59
+ * machoSegmentName: 'NODE_SEA',
60
+ * sentinelFuse: 'NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2',
61
+ * reportPath: '/tmp/report.json',
62
+ * })
63
+ * ```
64
+ */
65
+ declare const runInjectWorkerJob: (job: InjectWorkerJob) => Promise<InjectWorkerReport>;
66
+
67
+ export { runInjectWorkerJob };
68
+ export type { InjectWorkerJob, InjectWorkerReport };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../../libs/builder/src/bin/native/worker/index.ts"],"names":[],"mappings":"AAWA,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA"}
@@ -0,0 +1,86 @@
1
+ import { copyFileSync, readFileSync, writeFileSync, mkdirSync, statSync } from 'node:fs';
2
+ import { dirname } from 'node:path';
3
+ import { inject } from '../../../_dependencies/postject/index.esm.js';
4
+
5
+ const BYTES_PER_MB = 1024 * 1024;
6
+ const ensureDir = (path) => {
7
+ mkdirSync(path, { recursive: true });
8
+ };
9
+ const safeStatSize = (filePath) => {
10
+ /* istanbul ignore next -- @preserve defensive: postject always produces the declared output file */
11
+ try {
12
+ return statSync(filePath).size;
13
+ }
14
+ catch {
15
+ return 0;
16
+ }
17
+ };
18
+ /**
19
+ * Runs the postject inject for `job` in the current process and writes the
20
+ * resulting report to `job.reportPath`.
21
+ *
22
+ * Call this to drive the worker logic without spawning a new Node process. The
23
+ * inject normally runs in a forked child because `postject.inject` loads the
24
+ * entire ~121 MB host binary into a Node `Buffer` and rewrites it with the
25
+ * embedded blob — a single ~138 MB allocation that needs to be reclaimed on
26
+ * process exit rather than retained in the parent's RSS.
27
+ *
28
+ * @param job - Descriptor describing the inject invocation.
29
+ * @returns The on-disk report data the worker would have persisted.
30
+ *
31
+ * @example Driving the worker logic in-process for a fixture
32
+ * ```typescript
33
+ * const report = await runInjectWorkerJob({
34
+ * hostBinary: '/opt/node',
35
+ * outputBinary: '/tmp/out',
36
+ * blobPath: '/tmp/sea.blob',
37
+ * resourceName: 'NODE_SEA_BLOB',
38
+ * machoSegmentName: 'NODE_SEA',
39
+ * sentinelFuse: 'NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2',
40
+ * reportPath: '/tmp/report.json',
41
+ * })
42
+ * ```
43
+ */
44
+ const runInjectWorkerJob = async (job) => {
45
+ const startedAt = Date.now();
46
+ ensureDir(dirname(job.outputBinary));
47
+ ensureDir(dirname(job.reportPath));
48
+ copyFileSync(job.hostBinary, job.outputBinary);
49
+ const blob = readFileSync(job.blobPath);
50
+ await inject(job.outputBinary, job.resourceName, blob, {
51
+ machoSegmentName: job.machoSegmentName,
52
+ sentinelFuse: job.sentinelFuse,
53
+ });
54
+ const memory = process.memoryUsage();
55
+ const report = {
56
+ outputSize: safeStatSize(job.outputBinary),
57
+ endHeapMB: memory.heapUsed / BYTES_PER_MB,
58
+ endRssMB: memory.rss / BYTES_PER_MB,
59
+ durationMs: Date.now() - startedAt,
60
+ };
61
+ writeFileSync(job.reportPath, JSON.stringify(report));
62
+ return report;
63
+ };
64
+
65
+ const isMainModule = () => {
66
+ if (typeof require !== 'undefined' && typeof module !== 'undefined' && require.main === module) {
67
+ return true;
68
+ }
69
+ const argv1 = process.argv[1] ?? '';
70
+ return argv1.endsWith('index.cjs.js') || argv1.endsWith('index.esm.js') || argv1.endsWith('index.ts') || argv1.endsWith('index.js');
71
+ };
72
+ if (isMainModule()) {
73
+ const raw = process.argv[2];
74
+ if (!raw) {
75
+ process.stderr.write('inject worker: missing job spec on argv\n');
76
+ process.exit(2);
77
+ }
78
+ const job = JSON.parse(raw);
79
+ runInjectWorkerJob(job).then(() => process.exit(0), (error) => {
80
+ const message = error instanceof Error ? (error.stack ?? error.message) : String(error);
81
+ process.stderr.write(`inject worker for ${job.outputBinary} failed: ${message}\n`);
82
+ process.exit(1);
83
+ });
84
+ }
85
+
86
+ export { runInjectWorkerJob };
@@ -0,0 +1,29 @@
1
+ import type { InjectWorkerJob, InjectWorkerReport } from './types';
2
+ /**
3
+ * Runs the postject inject for `job` in the current process and writes the
4
+ * resulting report to `job.reportPath`.
5
+ *
6
+ * Call this to drive the worker logic without spawning a new Node process. The
7
+ * inject normally runs in a forked child because `postject.inject` loads the
8
+ * entire ~121 MB host binary into a Node `Buffer` and rewrites it with the
9
+ * embedded blob — a single ~138 MB allocation that needs to be reclaimed on
10
+ * process exit rather than retained in the parent's RSS.
11
+ *
12
+ * @param job - Descriptor describing the inject invocation.
13
+ * @returns The on-disk report data the worker would have persisted.
14
+ *
15
+ * @example Driving the worker logic in-process for a fixture
16
+ * ```typescript
17
+ * const report = await runInjectWorkerJob({
18
+ * hostBinary: '/opt/node',
19
+ * outputBinary: '/tmp/out',
20
+ * blobPath: '/tmp/sea.blob',
21
+ * resourceName: 'NODE_SEA_BLOB',
22
+ * machoSegmentName: 'NODE_SEA',
23
+ * sentinelFuse: 'NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2',
24
+ * reportPath: '/tmp/report.json',
25
+ * })
26
+ * ```
27
+ */
28
+ export declare const runInjectWorkerJob: (job: InjectWorkerJob) => Promise<InjectWorkerReport>;
29
+ //# sourceMappingURL=job-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job-runner.d.ts","sourceRoot":"","sources":["../../../../../../../../../libs/builder/src/bin/native/worker/job-runner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAoBlE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,kBAAkB,GAAU,KAAK,eAAe,KAAG,OAAO,CAAC,kBAAkB,CAmBzF,CAAA"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Serializable inject-worker job descriptor: the contract between
3
+ * {@link dispatchInjectWorker} and the forked child. Every field must round-trip
4
+ * through `JSON.stringify` / `JSON.parse` — no functions, no class instances.
5
+ */
6
+ export interface InjectWorkerJob {
7
+ /** Absolute path to the Node host binary the worker clones as the injection target. */
8
+ hostBinary: string;
9
+ /** Absolute path the cloned + injected binary lands at. */
10
+ outputBinary: string;
11
+ /** Absolute path to the SEA preparation blob produced by `node --experimental-sea-config`. */
12
+ blobPath: string;
13
+ /** SEA resource name for the embedded blob (always `NODE_SEA_BLOB` at runtime). */
14
+ resourceName: string;
15
+ /** Mach-O segment name used by macOS injection (always `NODE_SEA` at runtime). */
16
+ machoSegmentName: string;
17
+ /** Sentinel fuse string postject scans for in the host binary. Constructed in-parent to avoid collision. */
18
+ sentinelFuse: string;
19
+ /** Absolute path the worker writes its JSON report to. */
20
+ reportPath: string;
21
+ }
22
+ /**
23
+ * Memory + size summary written to `reportPath` when the worker exits cleanly.
24
+ *
25
+ * Captured from the worker process — the parent never observes the ~138 MB
26
+ * postject buffer because the entire load lives and dies in the child.
27
+ */
28
+ export interface InjectWorkerReport {
29
+ /** On-disk size of `outputBinary` after injection, in bytes. */
30
+ outputSize: number;
31
+ /** Worker `process.memoryUsage().heapUsed` in MB at end of inject. */
32
+ endHeapMB: number;
33
+ /** Worker `process.memoryUsage().rss` in MB at end of inject. */
34
+ endRssMB: number;
35
+ /** Worker wall-clock duration in ms. */
36
+ durationMs: number;
37
+ }
38
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../../../libs/builder/src/bin/native/worker/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,uFAAuF;IACvF,UAAU,EAAE,MAAM,CAAA;IAClB,2DAA2D;IAC3D,YAAY,EAAE,MAAM,CAAA;IACpB,8FAA8F;IAC9F,QAAQ,EAAE,MAAM,CAAA;IAChB,mFAAmF;IACnF,YAAY,EAAE,MAAM,CAAA;IACpB,kFAAkF;IAClF,gBAAgB,EAAE,MAAM,CAAA;IACxB,4GAA4G;IAC5G,YAAY,EAAE,MAAM,CAAA;IACpB,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAA;IAClB,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAA;IACjB,iEAAiE;IACjE,QAAQ,EAAE,MAAM,CAAA;IAChB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAA;CACnB"}
@@ -0,0 +1,24 @@
1
+ import type { BinConfig, BinOutput, BuildContext } from '../models';
2
+ /**
3
+ * Runs the bin phase: builds every declared JS bin, then emits a Node SEA native
4
+ * binary for any bin that opts in via `bin.sea`. Returns the flattened list of
5
+ * every output produced.
6
+ *
7
+ * A bin that declares a `sea` block must also produce a CJS output (`format: 'cjs'`
8
+ * or include `'cjs'` in the list); the CJS artifact becomes the SEA `main` script,
9
+ * and a bin without one throws. Native emission is skipped silently with an info
10
+ * log when the current host doesn't match any declared platform — CI orchestrates
11
+ * the matrix so each declared platform is built on the matching runner.
12
+ *
13
+ * @param ctx - Resolved build context.
14
+ * @param bins - Bin declarations to synthesize. Pass an empty array (or omit
15
+ * `config.bin` from the facade) to skip the phase entirely.
16
+ * @returns Flattened list of all bin outputs produced during the phase.
17
+ *
18
+ * @example Running the bin phase from a custom orchestrator
19
+ * ```typescript
20
+ * const binOutputs = await runBinPhase(context, config.bin ?? [])
21
+ * ```
22
+ */
23
+ export declare const runBinPhase: (ctx: BuildContext, bins: BinConfig[]) => Promise<BinOutput[]>;
24
+ //# sourceMappingURL=run-bin-phase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-bin-phase.d.ts","sourceRoot":"","sources":["../../../../../../../libs/builder/src/bin/run-bin-phase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAWnE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,WAAW,GAAU,KAAK,YAAY,EAAE,MAAM,SAAS,EAAE,KAAG,OAAO,CAAC,SAAS,EAAE,CAe3F,CAAA"}
@@ -0,0 +1,41 @@
1
+ import type { BinScriptFormat } from '../../models';
2
+ /**
3
+ * Inputs to {@link defaultBootstrap}.
4
+ */
5
+ export interface DefaultBootstrapOptions {
6
+ /** Runner export name to invoke. Use `'default'` to target the file's default export. */
7
+ runner: string;
8
+ /** Output format the bootstrap will be appended to. */
9
+ format: BinScriptFormat;
10
+ }
11
+ /**
12
+ * Builds the standard bootstrap footer appended to a JS bin's bundle output.
13
+ *
14
+ * The footer wires the resolved runner export to `process.argv` / `process.cwd()` /
15
+ * `process.stderr` / `process.stdout`, maps the returned exit code to `process.exit`,
16
+ * and surfaces unexpected rejections by writing to stderr and exiting `1`.
17
+ *
18
+ * When `runner === 'default'`, the runner reference is resolved differently per format:
19
+ * - CJS uses `module.exports.default`, available as a top-level reference inside the
20
+ * compiled CommonJS bundle.
21
+ * - ESM uses `(await import(import.meta.url)).default`, which re-imports the bundle's
22
+ * own module record to retrieve the default export. ESM top-level `await` is required.
23
+ *
24
+ * Otherwise the supplied named runner is referenced directly, which works for both
25
+ * formats because Rollup preserves the local function name at the file scope.
26
+ *
27
+ * @param options - Runner name + target format.
28
+ * @returns Bootstrap snippet suitable for `output.footer`.
29
+ *
30
+ * @example Default-export runner for an ESM bin
31
+ * ```typescript
32
+ * const footer = defaultBootstrap({ runner: 'default', format: 'esm' })
33
+ * ```
34
+ *
35
+ * @example Named runner shared between CJS and ESM outputs
36
+ * ```typescript
37
+ * const footer = defaultBootstrap({ runner: 'runCz', format: 'cjs' })
38
+ * ```
39
+ */
40
+ export declare const defaultBootstrap: (options: DefaultBootstrapOptions) => string;
41
+ //# sourceMappingURL=bootstrap-footer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap-footer.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/builder/src/bin/script/bootstrap-footer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAEnD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,yFAAyF;IACzF,MAAM,EAAE,MAAM,CAAA;IACd,uDAAuD;IACvD,MAAM,EAAE,eAAe,CAAA;CACxB;AAOD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,gBAAgB,GAAI,SAAS,uBAAuB,KAAG,MAWnE,CAAA"}
@@ -0,0 +1,36 @@
1
+ import type { BinConfig, BinOutput, BuildContext } from '../../models';
2
+ /**
3
+ * Builds the JS outputs for a single bin declaration.
4
+ *
5
+ * For each declared format (CJS / ESM), forks a rollup worker that bundles
6
+ * `src/bin/<name>.ts`, prepends the `#!/usr/bin/env node` shebang, appends the
7
+ * resolved bootstrap footer (per-bin override or `defaultBootstrap`), writes
8
+ * the output to `<outputPath>/bin/<name>.<ext>`, and chmods it to `0o755` so
9
+ * the npm bin symlink is invokable. The worker isolates the heavy bin bundle
10
+ * (rollup + plugins + transitive deps loaded into the child) from the parent
11
+ * process.
12
+ *
13
+ * Output naming follows the convention:
14
+ * - ESM: `<name>.mjs`
15
+ * - CJS only: `<name>.js`
16
+ * - CJS alongside ESM: `<name>.cjs.js`
17
+ *
18
+ * Workspace dependencies are always inlined into bin bundles — bins are intended
19
+ * to ship as self-contained executable scripts.
20
+ *
21
+ * @param bin - Bin declaration including name, format(s), optional runner override, and bootstrap override.
22
+ * @param ctx - Resolved build context.
23
+ * @returns One `BinOutput` per emitted JS artifact.
24
+ *
25
+ * @example Building a CJS-only bin
26
+ * ```typescript
27
+ * const outputs = await buildJsBin({ name: 'cz', format: 'cjs', runner: 'runCz' }, context)
28
+ * ```
29
+ *
30
+ * @example Building dual CJS + ESM outputs
31
+ * ```typescript
32
+ * const outputs = await buildJsBin({ name: 'hf-build', format: ['cjs', 'esm'] }, context)
33
+ * ```
34
+ */
35
+ export declare const buildJsBin: (bin: BinConfig, ctx: BuildContext) => Promise<BinOutput[]>;
36
+ //# sourceMappingURL=build-bin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-bin.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/builder/src/bin/script/build-bin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAoBtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,UAAU,GAAU,KAAK,SAAS,EAAE,KAAK,YAAY,KAAG,OAAO,CAAC,SAAS,EAAE,CAkBvF,CAAA"}