@scriptc/compiler 0.4.3 → 0.4.5

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 (852) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +270 -72
  2. package/ambient/scriptc-overrides.d.ts +21 -0
  3. package/dist/backend/executable-features.js +3 -0
  4. package/dist/backend/executable-features.js.map +1 -1
  5. package/dist/backend/library-pack.js +2 -1
  6. package/dist/backend/library-pack.js.map +1 -1
  7. package/dist/backend/linker.js +11 -1
  8. package/dist/backend/linker.js.map +1 -1
  9. package/dist/backend/lld.d.ts +9 -0
  10. package/dist/backend/lld.js +48 -0
  11. package/dist/backend/lld.js.map +1 -0
  12. package/dist/backend/lld.test.d.ts +1 -0
  13. package/dist/backend/lld.test.js +53 -0
  14. package/dist/backend/lld.test.js.map +1 -0
  15. package/dist/backend/llvm/appended-array-literals.d.ts +11 -1
  16. package/dist/backend/llvm/appended-array-literals.js +29 -0
  17. package/dist/backend/llvm/appended-array-literals.js.map +1 -1
  18. package/dist/backend/llvm/blocks.js +10 -1
  19. package/dist/backend/llvm/blocks.js.map +1 -1
  20. package/dist/backend/llvm/bytes-alias.d.ts +13 -4
  21. package/dist/backend/llvm/bytes-alias.js +16 -5
  22. package/dist/backend/llvm/bytes-alias.js.map +1 -1
  23. package/dist/backend/llvm/bytes-bounds.d.ts +5 -1
  24. package/dist/backend/llvm/bytes-bounds.js +199 -2
  25. package/dist/backend/llvm/bytes-bounds.js.map +1 -1
  26. package/dist/backend/llvm/bytes-loop-versions.d.ts +45 -3
  27. package/dist/backend/llvm/bytes-loop-versions.js +244 -20
  28. package/dist/backend/llvm/bytes-loop-versions.js.map +1 -1
  29. package/dist/backend/llvm/bytes-loop-versions.test.js +18 -6
  30. package/dist/backend/llvm/bytes-loop-versions.test.js.map +1 -1
  31. package/dist/backend/llvm/call-lifetimes.d.ts +8 -2
  32. package/dist/backend/llvm/call-lifetimes.js +87 -18
  33. package/dist/backend/llvm/call-lifetimes.js.map +1 -1
  34. package/dist/backend/llvm/call-lifetimes.test.js +132 -0
  35. package/dist/backend/llvm/call-lifetimes.test.js.map +1 -1
  36. package/dist/backend/llvm/classes.d.ts +3 -2
  37. package/dist/backend/llvm/classes.js +4 -4
  38. package/dist/backend/llvm/classes.js.map +1 -1
  39. package/dist/backend/llvm/counted-loops.d.ts +14 -2
  40. package/dist/backend/llvm/counted-loops.js +54 -5
  41. package/dist/backend/llvm/counted-loops.js.map +1 -1
  42. package/dist/backend/llvm/debug-info.d.ts +42 -1
  43. package/dist/backend/llvm/debug-info.js +72 -6
  44. package/dist/backend/llvm/debug-info.js.map +1 -1
  45. package/dist/backend/llvm/dense-array-loops.js +2 -2
  46. package/dist/backend/llvm/dense-array-loops.js.map +1 -1
  47. package/dist/backend/llvm/dense-array-loops.test.js +1 -0
  48. package/dist/backend/llvm/dense-array-loops.test.js.map +1 -1
  49. package/dist/backend/llvm/dyn.d.ts +69 -8
  50. package/dist/backend/llvm/dyn.js +396 -49
  51. package/dist/backend/llvm/dyn.js.map +1 -1
  52. package/dist/backend/llvm/emit-function.js +30 -16
  53. package/dist/backend/llvm/emit-function.js.map +1 -1
  54. package/dist/backend/llvm/emit-journal.d.ts +8 -4
  55. package/dist/backend/llvm/emit-journal.js +75 -5
  56. package/dist/backend/llvm/emit-journal.js.map +1 -1
  57. package/dist/backend/llvm/emit-module.d.ts +4 -0
  58. package/dist/backend/llvm/emit-module.js +74 -29
  59. package/dist/backend/llvm/emit-module.js.map +1 -1
  60. package/dist/backend/llvm/emit-statements.js +297 -28
  61. package/dist/backend/llvm/emit-statements.js.map +1 -1
  62. package/dist/backend/llvm/emitter.d.ts +144 -13
  63. package/dist/backend/llvm/emitter.js +523 -92
  64. package/dist/backend/llvm/emitter.js.map +1 -1
  65. package/dist/backend/llvm/emitter.test.js +11 -2
  66. package/dist/backend/llvm/emitter.test.js.map +1 -1
  67. package/dist/backend/llvm/expr-async.js +11 -13
  68. package/dist/backend/llvm/expr-async.js.map +1 -1
  69. package/dist/backend/llvm/expr-bytes.d.ts +6 -4
  70. package/dist/backend/llvm/expr-bytes.js +45 -16
  71. package/dist/backend/llvm/expr-bytes.js.map +1 -1
  72. package/dist/backend/llvm/expr-calls.js +13 -11
  73. package/dist/backend/llvm/expr-calls.js.map +1 -1
  74. package/dist/backend/llvm/expr-containers.d.ts +11 -0
  75. package/dist/backend/llvm/expr-containers.js +101 -9
  76. package/dist/backend/llvm/expr-containers.js.map +1 -1
  77. package/dist/backend/llvm/expr-context.d.ts +3 -0
  78. package/dist/backend/llvm/expr-control.js +83 -0
  79. package/dist/backend/llvm/expr-control.js.map +1 -1
  80. package/dist/backend/llvm/expr-dynamic.d.ts +1 -1
  81. package/dist/backend/llvm/expr-dynamic.js +22 -4
  82. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  83. package/dist/backend/llvm/expr-primitives.js +121 -14
  84. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  85. package/dist/backend/llvm/expr-stream-bridges.js +111 -26
  86. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  87. package/dist/backend/llvm/forked-analysis.d.ts +8 -0
  88. package/dist/backend/llvm/forked-analysis.js +43 -0
  89. package/dist/backend/llvm/forked-analysis.js.map +1 -0
  90. package/dist/backend/llvm/integer-values.d.ts +12 -0
  91. package/dist/backend/llvm/integer-values.js +69 -5
  92. package/dist/backend/llvm/integer-values.js.map +1 -1
  93. package/dist/backend/llvm/integer-views.d.ts +2 -1
  94. package/dist/backend/llvm/integer-views.js +12 -1
  95. package/dist/backend/llvm/integer-views.js.map +1 -1
  96. package/dist/backend/llvm/js-ic.d.ts +4 -0
  97. package/dist/backend/llvm/js-ic.js +133 -15
  98. package/dist/backend/llvm/js-ic.js.map +1 -1
  99. package/dist/backend/llvm/layouts.d.ts +1 -0
  100. package/dist/backend/llvm/layouts.js.map +1 -1
  101. package/dist/backend/llvm/lazy-captures.d.ts +6 -1
  102. package/dist/backend/llvm/lazy-captures.js +10 -5
  103. package/dist/backend/llvm/lazy-captures.js.map +1 -1
  104. package/dist/backend/llvm/lib-abi.d.ts +5 -0
  105. package/dist/backend/llvm/lib-abi.js +19 -0
  106. package/dist/backend/llvm/lib-abi.js.map +1 -1
  107. package/dist/backend/llvm/lib-dispatch.js +249 -33
  108. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  109. package/dist/backend/llvm/lib-filesystem.d.ts +10 -0
  110. package/dist/backend/llvm/lib-filesystem.js +32 -0
  111. package/dist/backend/llvm/lib-filesystem.js.map +1 -1
  112. package/dist/backend/llvm/lib-http2.js +2 -2
  113. package/dist/backend/llvm/lib-http2.js.map +1 -1
  114. package/dist/backend/llvm/lib-network.js +2 -0
  115. package/dist/backend/llvm/lib-network.js.map +1 -1
  116. package/dist/backend/llvm/lib-process.js +48 -1
  117. package/dist/backend/llvm/lib-process.js.map +1 -1
  118. package/dist/backend/llvm/lib-shared.js +64 -0
  119. package/dist/backend/llvm/lib-shared.js.map +1 -1
  120. package/dist/backend/llvm/lib-tls.js +28 -3
  121. package/dist/backend/llvm/lib-tls.js.map +1 -1
  122. package/dist/backend/llvm/local-union-storage.test.js +2 -1
  123. package/dist/backend/llvm/local-union-storage.test.js.map +1 -1
  124. package/dist/backend/llvm/loop-array-borrows.d.ts +4 -1
  125. package/dist/backend/llvm/loop-array-borrows.js +11 -5
  126. package/dist/backend/llvm/loop-array-borrows.js.map +1 -1
  127. package/dist/backend/llvm/map-entry-fusion.d.ts +5 -3
  128. package/dist/backend/llvm/map-entry-fusion.js +20 -11
  129. package/dist/backend/llvm/map-entry-fusion.js.map +1 -1
  130. package/dist/backend/llvm/map-entry-fusion.test.js +14 -6
  131. package/dist/backend/llvm/map-entry-fusion.test.js.map +1 -1
  132. package/dist/backend/llvm/map-number-lookup.d.ts +16 -6
  133. package/dist/backend/llvm/map-number-lookup.js +41 -9
  134. package/dist/backend/llvm/map-number-lookup.js.map +1 -1
  135. package/dist/backend/llvm/map-number-lookup.test.js +70 -2
  136. package/dist/backend/llvm/map-number-lookup.test.js.map +1 -1
  137. package/dist/backend/llvm/map-read-lifetimes.d.ts +25 -2
  138. package/dist/backend/llvm/map-read-lifetimes.js +136 -6
  139. package/dist/backend/llvm/map-read-lifetimes.js.map +1 -1
  140. package/dist/backend/llvm/map-read-lifetimes.test.js +8 -3
  141. package/dist/backend/llvm/map-read-lifetimes.test.js.map +1 -1
  142. package/dist/backend/llvm/nullable-unions.d.ts +5 -0
  143. package/dist/backend/llvm/nullable-unions.js +29 -2
  144. package/dist/backend/llvm/nullable-unions.js.map +1 -1
  145. package/dist/backend/llvm/nullable-unions.test.js +25 -1
  146. package/dist/backend/llvm/nullable-unions.test.js.map +1 -1
  147. package/dist/backend/llvm/publish.js +3 -3
  148. package/dist/backend/llvm/publish.js.map +1 -1
  149. package/dist/backend/llvm/record-union-keys.test.d.ts +1 -0
  150. package/dist/backend/llvm/record-union-keys.test.js +161 -0
  151. package/dist/backend/llvm/record-union-keys.test.js.map +1 -0
  152. package/dist/backend/llvm/reference-effects.js +3 -0
  153. package/dist/backend/llvm/reference-effects.js.map +1 -1
  154. package/dist/backend/llvm/serialized-ir-emission.test.js +2 -0
  155. package/dist/backend/llvm/serialized-ir-emission.test.js.map +1 -1
  156. package/dist/backend/llvm/shapes.d.ts +4 -5
  157. package/dist/backend/llvm/shapes.js +106 -58
  158. package/dist/backend/llvm/shapes.js.map +1 -1
  159. package/dist/backend/llvm/shapes.test.js +14 -2
  160. package/dist/backend/llvm/shapes.test.js.map +1 -1
  161. package/dist/backend/llvm/speculative-integers.d.ts +50 -3
  162. package/dist/backend/llvm/speculative-integers.js +411 -24
  163. package/dist/backend/llvm/speculative-integers.js.map +1 -1
  164. package/dist/backend/llvm/speculative-integers.test.js +103 -1
  165. package/dist/backend/llvm/speculative-integers.test.js.map +1 -1
  166. package/dist/backend/llvm/split.d.ts +10 -1
  167. package/dist/backend/llvm/split.js +243 -59
  168. package/dist/backend/llvm/split.js.map +1 -1
  169. package/dist/backend/llvm/split.test.js +92 -13
  170. package/dist/backend/llvm/split.test.js.map +1 -1
  171. package/dist/backend/llvm/stack-captures.js +1 -5
  172. package/dist/backend/llvm/stack-captures.js.map +1 -1
  173. package/dist/backend/llvm/stack-objects.test.js +3 -2
  174. package/dist/backend/llvm/stack-objects.test.js.map +1 -1
  175. package/dist/backend/llvm/string-lifetimes.test.js +1 -1
  176. package/dist/backend/llvm/string-lifetimes.test.js.map +1 -1
  177. package/dist/backend/llvm/string-reads.d.ts +13 -0
  178. package/dist/backend/llvm/string-reads.js +22 -0
  179. package/dist/backend/llvm/string-reads.js.map +1 -1
  180. package/dist/backend/llvm/string-slices.d.ts +36 -2
  181. package/dist/backend/llvm/string-slices.js +308 -12
  182. package/dist/backend/llvm/string-slices.js.map +1 -1
  183. package/dist/backend/llvm/string-slices.test.js +182 -3
  184. package/dist/backend/llvm/string-slices.test.js.map +1 -1
  185. package/dist/backend/llvm/string-unit-versions.d.ts +11 -0
  186. package/dist/backend/llvm/string-unit-versions.js +191 -0
  187. package/dist/backend/llvm/string-unit-versions.js.map +1 -0
  188. package/dist/backend/llvm/string-unit-versions.test.d.ts +1 -0
  189. package/dist/backend/llvm/string-unit-versions.test.js +117 -0
  190. package/dist/backend/llvm/string-unit-versions.test.js.map +1 -0
  191. package/dist/backend/llvm/test-boxed-unions.d.ts +5 -2
  192. package/dist/backend/llvm/test-boxed-unions.js +24 -8
  193. package/dist/backend/llvm/test-boxed-unions.js.map +1 -1
  194. package/dist/backend/llvm/union-repr.d.ts +4 -3
  195. package/dist/backend/llvm/union-repr.js +6 -5
  196. package/dist/backend/llvm/union-repr.js.map +1 -1
  197. package/dist/backend/llvm/unwind-abi.d.ts +52 -0
  198. package/dist/backend/llvm/unwind-abi.js +498 -0
  199. package/dist/backend/llvm/unwind-abi.js.map +1 -0
  200. package/dist/backend/llvm/unwind-abi.test.d.ts +1 -0
  201. package/dist/backend/llvm/unwind-abi.test.js +255 -0
  202. package/dist/backend/llvm/unwind-abi.test.js.map +1 -0
  203. package/dist/backend/llvm/walkers.js +13 -0
  204. package/dist/backend/llvm/walkers.js.map +1 -1
  205. package/dist/backend/llvm/wrapping-sums.d.ts +14 -10
  206. package/dist/backend/llvm/wrapping-sums.js +31 -14
  207. package/dist/backend/llvm/wrapping-sums.js.map +1 -1
  208. package/dist/backend/loop-polls.d.ts +6 -0
  209. package/dist/backend/loop-polls.js +24 -0
  210. package/dist/backend/loop-polls.js.map +1 -1
  211. package/dist/backend/may-throw.js +8 -8
  212. package/dist/backend/may-throw.js.map +1 -1
  213. package/dist/backend/native/contracts.d.ts +12 -2
  214. package/dist/backend/native/executable.js +48 -6
  215. package/dist/backend/native/executable.js.map +1 -1
  216. package/dist/backend/native/library.js +4 -3
  217. package/dist/backend/native/library.js.map +1 -1
  218. package/dist/backend/native/program-shards.d.ts +2 -2
  219. package/dist/backend/native/program-shards.js +2 -2
  220. package/dist/backend/native/program-shards.js.map +1 -1
  221. package/dist/backend/native/runtime-inputs.d.ts +1 -1
  222. package/dist/backend/native/runtime-inputs.js +4 -1
  223. package/dist/backend/native/runtime-inputs.js.map +1 -1
  224. package/dist/backend/native/vendor.d.ts +1 -1
  225. package/dist/backend/native/vendor.js +1 -1
  226. package/dist/backend/native/vendor.js.map +1 -1
  227. package/dist/backend/native-codegen-core.d.ts +5 -3
  228. package/dist/backend/native-codegen-core.js +13 -6
  229. package/dist/backend/native-codegen-core.js.map +1 -1
  230. package/dist/backend/native-codegen.d.ts +3 -1
  231. package/dist/backend/native-codegen.js +4 -3
  232. package/dist/backend/native-codegen.js.map +1 -1
  233. package/dist/backend/native-codegen.test.js +6 -4
  234. package/dist/backend/native-codegen.test.js.map +1 -1
  235. package/dist/backend/native-link-info-core.d.ts +8 -0
  236. package/dist/backend/native-link-info-core.js.map +1 -1
  237. package/dist/backend/native-profile.d.ts +14 -0
  238. package/dist/backend/native-profile.js +28 -0
  239. package/dist/backend/native-profile.js.map +1 -1
  240. package/dist/backend/native-profile.test.js +8 -1
  241. package/dist/backend/native-profile.test.js.map +1 -1
  242. package/dist/backend/native-toolchain.test.js +11 -11
  243. package/dist/backend/native-toolchain.test.js.map +1 -1
  244. package/dist/backend/runtime-abi.d.ts +2 -2
  245. package/dist/backend/runtime-abi.js +2 -2
  246. package/dist/backend/runtime-pack-core.d.ts +3 -1
  247. package/dist/backend/runtime-pack-core.js +2 -0
  248. package/dist/backend/runtime-pack-core.js.map +1 -1
  249. package/dist/backend/runtime-pack-native.d.ts +17 -5
  250. package/dist/backend/runtime-pack-native.js +186 -14
  251. package/dist/backend/runtime-pack-native.js.map +1 -1
  252. package/dist/backend/runtime-pack-native.test.js +160 -3
  253. package/dist/backend/runtime-pack-native.test.js.map +1 -1
  254. package/dist/backend/runtime-pack-targets.test.js +2 -1
  255. package/dist/backend/runtime-pack-targets.test.js.map +1 -1
  256. package/dist/backend/runtime-pack.test.js +2 -1
  257. package/dist/backend/runtime-pack.test.js.map +1 -1
  258. package/dist/backend/target-cpu.d.ts +26 -0
  259. package/dist/backend/target-cpu.js +98 -0
  260. package/dist/backend/target-cpu.js.map +1 -0
  261. package/dist/backend/target-cpu.test.d.ts +1 -0
  262. package/dist/backend/target-cpu.test.js +38 -0
  263. package/dist/backend/target-cpu.test.js.map +1 -0
  264. package/dist/backend/vendor-archives.d.ts +4 -1
  265. package/dist/backend/vendor-archives.js +78 -4
  266. package/dist/backend/vendor-archives.js.map +1 -1
  267. package/dist/backend/vendor-inputs.d.ts +3 -1
  268. package/dist/backend/vendor-inputs.js +3 -1
  269. package/dist/backend/vendor-inputs.js.map +1 -1
  270. package/dist/backend/warm-cache.js +1 -0
  271. package/dist/backend/warm-cache.js.map +1 -1
  272. package/dist/cli/command.js +98 -12
  273. package/dist/cli/command.js.map +1 -1
  274. package/dist/cli/usage.d.ts +25 -1
  275. package/dist/cli/usage.js +40 -3
  276. package/dist/cli/usage.js.map +1 -1
  277. package/dist/compat/fetch-profile.d.ts +15 -6
  278. package/dist/compat/fetch-profile.js +519 -498
  279. package/dist/compat/fetch-profile.js.map +1 -1
  280. package/dist/compile-types.d.ts +14 -0
  281. package/dist/contracts/int32-elements.js +2 -1
  282. package/dist/contracts/int32-elements.js.map +1 -1
  283. package/dist/coverage/report.d.ts +14 -3
  284. package/dist/coverage/report.js +216 -0
  285. package/dist/coverage/report.js.map +1 -1
  286. package/dist/coverage/surface-manifest.js +25 -25
  287. package/dist/coverage/surface-manifest.js.map +1 -1
  288. package/dist/coverage/verdict-cache.d.ts +2 -0
  289. package/dist/coverage/verdict-cache.js +10 -1
  290. package/dist/coverage/verdict-cache.js.map +1 -1
  291. package/dist/diagnostics/diagnostic.d.ts +19 -0
  292. package/dist/diagnostics/diagnostic.js +53 -2
  293. package/dist/diagnostics/diagnostic.js.map +1 -1
  294. package/dist/diagnostics/envelope.d.ts +54 -0
  295. package/dist/diagnostics/envelope.js +7 -1
  296. package/dist/diagnostics/envelope.js.map +1 -1
  297. package/dist/diagnostics/render.d.ts +7 -0
  298. package/dist/diagnostics/render.js +15 -4
  299. package/dist/diagnostics/render.js.map +1 -1
  300. package/dist/executable/executable-cache.d.ts +6 -0
  301. package/dist/executable/executable-cache.js +5 -0
  302. package/dist/executable/executable-cache.js.map +1 -1
  303. package/dist/executable/executable-cache.test.js +3 -0
  304. package/dist/executable/executable-cache.test.js.map +1 -1
  305. package/dist/executable/prepare.js +5 -1
  306. package/dist/executable/prepare.js.map +1 -1
  307. package/dist/frontend/analysis.js +26 -2
  308. package/dist/frontend/analysis.js.map +1 -1
  309. package/dist/frontend/decl-projection.js +105 -10
  310. package/dist/frontend/decl-projection.js.map +1 -1
  311. package/dist/frontend/fork-target.js +67 -1
  312. package/dist/frontend/fork-target.js.map +1 -1
  313. package/dist/frontend/fork-target.test.js +43 -0
  314. package/dist/frontend/fork-target.test.js.map +1 -1
  315. package/dist/frontend/input-tracker.d.ts +4 -1
  316. package/dist/frontend/input-tracker.js +42 -4
  317. package/dist/frontend/input-tracker.js.map +1 -1
  318. package/dist/frontend/input-tracker.test.js +45 -0
  319. package/dist/frontend/input-tracker.test.js.map +1 -1
  320. package/dist/frontend/lowering/abstract-equality.js +38 -1
  321. package/dist/frontend/lowering/abstract-equality.js.map +1 -1
  322. package/dist/frontend/lowering/argument-counts.d.ts +36 -0
  323. package/dist/frontend/lowering/argument-counts.js +201 -0
  324. package/dist/frontend/lowering/argument-counts.js.map +1 -0
  325. package/dist/frontend/lowering/array-values.d.ts +27 -0
  326. package/dist/frontend/lowering/array-values.js +112 -0
  327. package/dist/frontend/lowering/array-values.js.map +1 -1
  328. package/dist/frontend/lowering/binding-analysis.d.ts +3 -0
  329. package/dist/frontend/lowering/binding-analysis.js +9 -3
  330. package/dist/frontend/lowering/binding-analysis.js.map +1 -1
  331. package/dist/frontend/lowering/builtin-namespaces.d.ts +13 -0
  332. package/dist/frontend/lowering/builtin-namespaces.js +238 -0
  333. package/dist/frontend/lowering/builtin-namespaces.js.map +1 -0
  334. package/dist/frontend/lowering/builtins/async-context.d.ts +8 -2
  335. package/dist/frontend/lowering/builtins/async-context.js +62 -3
  336. package/dist/frontend/lowering/builtins/async-context.js.map +1 -1
  337. package/dist/frontend/lowering/builtins/compression.d.ts +4 -3
  338. package/dist/frontend/lowering/builtins/compression.js +86 -5
  339. package/dist/frontend/lowering/builtins/compression.js.map +1 -1
  340. package/dist/frontend/lowering/builtins/crypto.js +3 -1
  341. package/dist/frontend/lowering/builtins/crypto.js.map +1 -1
  342. package/dist/frontend/lowering/builtins/date-classes.js +17 -1
  343. package/dist/frontend/lowering/builtins/date-classes.js.map +1 -1
  344. package/dist/frontend/lowering/builtins/dates.d.ts +19 -5
  345. package/dist/frontend/lowering/builtins/dates.js +163 -9
  346. package/dist/frontend/lowering/builtins/dates.js.map +1 -1
  347. package/dist/frontend/lowering/builtins/filesystem-calls.js +29 -4
  348. package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -1
  349. package/dist/frontend/lowering/builtins/fs-glob.js +6 -3
  350. package/dist/frontend/lowering/builtins/fs-glob.js.map +1 -1
  351. package/dist/frontend/lowering/builtins/fs-paths.d.ts +43 -5
  352. package/dist/frontend/lowering/builtins/fs-paths.js +245 -93
  353. package/dist/frontend/lowering/builtins/fs-paths.js.map +1 -1
  354. package/dist/frontend/lowering/builtins/fs-streams.d.ts +4 -0
  355. package/dist/frontend/lowering/builtins/fs-streams.js +24 -1
  356. package/dist/frontend/lowering/builtins/fs-streams.js.map +1 -1
  357. package/dist/frontend/lowering/builtins/json.d.ts +4 -1
  358. package/dist/frontend/lowering/builtins/json.js +9 -3
  359. package/dist/frontend/lowering/builtins/json.js.map +1 -1
  360. package/dist/frontend/lowering/builtins/module-bindings.d.ts +6 -0
  361. package/dist/frontend/lowering/builtins/module-bindings.js +23 -1
  362. package/dist/frontend/lowering/builtins/module-bindings.js.map +1 -1
  363. package/dist/frontend/lowering/builtins/module-calls.js +6 -3
  364. package/dist/frontend/lowering/builtins/module-calls.js.map +1 -1
  365. package/dist/frontend/lowering/builtins/module-resolution.d.ts +5 -0
  366. package/dist/frontend/lowering/builtins/module-resolution.js +95 -4
  367. package/dist/frontend/lowering/builtins/module-resolution.js.map +1 -1
  368. package/dist/frontend/lowering/builtins/promises.d.ts +1 -1
  369. package/dist/frontend/lowering/builtins/promises.js +293 -139
  370. package/dist/frontend/lowering/builtins/promises.js.map +1 -1
  371. package/dist/frontend/lowering/builtins/readline.d.ts +5 -1
  372. package/dist/frontend/lowering/builtins/readline.js +22 -11
  373. package/dist/frontend/lowering/builtins/readline.js.map +1 -1
  374. package/dist/frontend/lowering/builtins/reflection.d.ts +4 -1
  375. package/dist/frontend/lowering/builtins/reflection.js +41 -1
  376. package/dist/frontend/lowering/builtins/reflection.js.map +1 -1
  377. package/dist/frontend/lowering/builtins/text-codecs.js +31 -2
  378. package/dist/frontend/lowering/builtins/text-codecs.js.map +1 -1
  379. package/dist/frontend/lowering/builtins/webassembly.js +4 -1
  380. package/dist/frontend/lowering/builtins/webassembly.js.map +1 -1
  381. package/dist/frontend/lowering/builtins/x509.d.ts +33 -0
  382. package/dist/frontend/lowering/builtins/x509.js +431 -0
  383. package/dist/frontend/lowering/builtins/x509.js.map +1 -0
  384. package/dist/frontend/lowering/call-arguments.js +44 -0
  385. package/dist/frontend/lowering/call-arguments.js.map +1 -1
  386. package/dist/frontend/lowering/call-signatures.js +1 -2
  387. package/dist/frontend/lowering/call-signatures.js.map +1 -1
  388. package/dist/frontend/lowering/cjs-exports-object.js +1 -1
  389. package/dist/frontend/lowering/cjs-exports-object.js.map +1 -1
  390. package/dist/frontend/lowering/cjs-inline-require.d.ts +32 -0
  391. package/dist/frontend/lowering/cjs-inline-require.js +308 -5
  392. package/dist/frontend/lowering/cjs-inline-require.js.map +1 -1
  393. package/dist/frontend/lowering/class-attributes.d.ts +7 -0
  394. package/dist/frontend/lowering/class-attributes.js +52 -10
  395. package/dist/frontend/lowering/class-attributes.js.map +1 -1
  396. package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +23 -0
  397. package/dist/frontend/lowering/class-dynamic-dispatch.js +288 -9
  398. package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
  399. package/dist/frontend/lowering/class-method-mutations.js +97 -26
  400. package/dist/frontend/lowering/class-method-mutations.js.map +1 -1
  401. package/dist/frontend/lowering/class-method-values.js +71 -1
  402. package/dist/frontend/lowering/class-method-values.js.map +1 -1
  403. package/dist/frontend/lowering/class-protocols.d.ts +25 -0
  404. package/dist/frontend/lowering/class-protocols.js +183 -1
  405. package/dist/frontend/lowering/class-protocols.js.map +1 -1
  406. package/dist/frontend/lowering/class-prototypes.d.ts +8 -0
  407. package/dist/frontend/lowering/class-prototypes.js +83 -2
  408. package/dist/frontend/lowering/class-prototypes.js.map +1 -1
  409. package/dist/frontend/lowering/class-to-primitive.d.ts +5 -0
  410. package/dist/frontend/lowering/class-to-primitive.js +79 -7
  411. package/dist/frontend/lowering/class-to-primitive.js.map +1 -1
  412. package/dist/frontend/lowering/coercions/state.d.ts +1 -0
  413. package/dist/frontend/lowering/coercions/state.js.map +1 -1
  414. package/dist/frontend/lowering/coercions/structural.js +89 -10
  415. package/dist/frontend/lowering/coercions/structural.js.map +1 -1
  416. package/dist/frontend/lowering/coercions/unions.d.ts +4 -2
  417. package/dist/frontend/lowering/coercions/unions.js +13 -6
  418. package/dist/frontend/lowering/coercions/unions.js.map +1 -1
  419. package/dist/frontend/lowering/completion-callbacks.d.ts +4 -0
  420. package/dist/frontend/lowering/completion-callbacks.js +146 -0
  421. package/dist/frontend/lowering/completion-callbacks.js.map +1 -0
  422. package/dist/frontend/lowering/containers/array-callbacks.d.ts +5 -4
  423. package/dist/frontend/lowering/containers/array-callbacks.js +58 -21
  424. package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
  425. package/dist/frontend/lowering/containers/array-construction.d.ts +4 -1
  426. package/dist/frontend/lowering/containers/array-construction.js +107 -9
  427. package/dist/frontend/lowering/containers/array-construction.js.map +1 -1
  428. package/dist/frontend/lowering/containers/array-methods.js +96 -8
  429. package/dist/frontend/lowering/containers/array-methods.js.map +1 -1
  430. package/dist/frontend/lowering/containers/array-pipelines.js +346 -77
  431. package/dist/frontend/lowering/containers/array-pipelines.js.map +1 -1
  432. package/dist/frontend/lowering/containers/bytes.d.ts +25 -17
  433. package/dist/frontend/lowering/containers/bytes.js +453 -45
  434. package/dist/frontend/lowering/containers/bytes.js.map +1 -1
  435. package/dist/frontend/lowering/containers/callback-arguments.js +11 -1
  436. package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -1
  437. package/dist/frontend/lowering/containers/collection-methods.js +12 -0
  438. package/dist/frontend/lowering/containers/collection-methods.js.map +1 -1
  439. package/dist/frontend/lowering/containers/indexed-objects.js +73 -25
  440. package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -1
  441. package/dist/frontend/lowering/containers/iterator-helpers.d.ts +4 -4
  442. package/dist/frontend/lowering/containers/iterator-helpers.js +8 -2
  443. package/dist/frontend/lowering/containers/iterator-helpers.js.map +1 -1
  444. package/dist/frontend/lowering/containers/replacer-params.d.ts +37 -0
  445. package/dist/frontend/lowering/containers/replacer-params.js +294 -0
  446. package/dist/frontend/lowering/containers/replacer-params.js.map +1 -0
  447. package/dist/frontend/lowering/containers/replacer-params.test.d.ts +1 -0
  448. package/dist/frontend/lowering/containers/replacer-params.test.js +61 -0
  449. package/dist/frontend/lowering/containers/replacer-params.test.js.map +1 -0
  450. package/dist/frontend/lowering/containers/string-and-regexp.js +2 -1
  451. package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
  452. package/dist/frontend/lowering/containers/string-replacement.js +7 -3
  453. package/dist/frontend/lowering/containers/string-replacement.js.map +1 -1
  454. package/dist/frontend/lowering/cycle-initialization.d.ts +4 -2
  455. package/dist/frontend/lowering/cycle-initialization.js +4 -1
  456. package/dist/frontend/lowering/cycle-initialization.js.map +1 -1
  457. package/dist/frontend/lowering/date-values.d.ts +14 -0
  458. package/dist/frontend/lowering/date-values.js +254 -0
  459. package/dist/frontend/lowering/date-values.js.map +1 -0
  460. package/dist/frontend/lowering/deferred-module-initializers.js +16 -8
  461. package/dist/frontend/lowering/deferred-module-initializers.js.map +1 -1
  462. package/dist/frontend/lowering/deferred-module-initializers.test.js +22 -6
  463. package/dist/frontend/lowering/deferred-module-initializers.test.js.map +1 -1
  464. package/dist/frontend/lowering/dispatch-sites.js +1 -0
  465. package/dist/frontend/lowering/dispatch-sites.js.map +1 -1
  466. package/dist/frontend/lowering/expressions/array-literals.d.ts +0 -8
  467. package/dist/frontend/lowering/expressions/array-literals.js +125 -26
  468. package/dist/frontend/lowering/expressions/array-literals.js.map +1 -1
  469. package/dist/frontend/lowering/expressions/binary.js +102 -26
  470. package/dist/frontend/lowering/expressions/binary.js.map +1 -1
  471. package/dist/frontend/lowering/expressions/element-access.js +129 -6
  472. package/dist/frontend/lowering/expressions/element-access.js.map +1 -1
  473. package/dist/frontend/lowering/expressions/identifiers.js +66 -4
  474. package/dist/frontend/lowering/expressions/identifiers.js.map +1 -1
  475. package/dist/frontend/lowering/expressions/narrowing.d.ts +2 -1
  476. package/dist/frontend/lowering/expressions/narrowing.js +8 -1
  477. package/dist/frontend/lowering/expressions/narrowing.js.map +1 -1
  478. package/dist/frontend/lowering/expressions/object-literals.js +8 -2
  479. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
  480. package/dist/frontend/lowering/expressions/property-access.js +121 -34
  481. package/dist/frontend/lowering/expressions/property-access.js.map +1 -1
  482. package/dist/frontend/lowering/expressions/relational.js +76 -11
  483. package/dist/frontend/lowering/expressions/relational.js.map +1 -1
  484. package/dist/frontend/lowering/expressions/typeof.js +12 -1
  485. package/dist/frontend/lowering/expressions/typeof.js.map +1 -1
  486. package/dist/frontend/lowering/expressions/updates.js +37 -11
  487. package/dist/frontend/lowering/expressions/updates.js.map +1 -1
  488. package/dist/frontend/lowering/f64-handles.d.ts +8 -0
  489. package/dist/frontend/lowering/f64-handles.js +16 -0
  490. package/dist/frontend/lowering/f64-handles.js.map +1 -0
  491. package/dist/frontend/lowering/frozen-records.d.ts +5 -0
  492. package/dist/frontend/lowering/frozen-records.js +12 -4
  493. package/dist/frontend/lowering/frozen-records.js.map +1 -1
  494. package/dist/frontend/lowering/function-context.d.ts +3 -0
  495. package/dist/frontend/lowering/function-context.js.map +1 -1
  496. package/dist/frontend/lowering/function-returns.js +30 -0
  497. package/dist/frontend/lowering/function-returns.js.map +1 -1
  498. package/dist/frontend/lowering/generic-functions.js +17 -6
  499. package/dist/frontend/lowering/generic-functions.js.map +1 -1
  500. package/dist/frontend/lowering/indexed-unions.d.ts +54 -0
  501. package/dist/frontend/lowering/indexed-unions.js +401 -0
  502. package/dist/frontend/lowering/indexed-unions.js.map +1 -0
  503. package/dist/frontend/lowering/instantiation-path.d.ts +3 -2
  504. package/dist/frontend/lowering/instantiation-path.js.map +1 -1
  505. package/dist/frontend/lowering/instantiation-path.test.js +6 -4
  506. package/dist/frontend/lowering/instantiation-path.test.js.map +1 -1
  507. package/dist/frontend/lowering/iterator-adapters.d.ts +4 -2
  508. package/dist/frontend/lowering/iterator-adapters.js +26 -33
  509. package/dist/frontend/lowering/iterator-adapters.js.map +1 -1
  510. package/dist/frontend/lowering/js-collection-types.d.ts +11 -0
  511. package/dist/frontend/lowering/js-collection-types.js +490 -0
  512. package/dist/frontend/lowering/js-collection-types.js.map +1 -0
  513. package/dist/frontend/lowering/key-order-witness.js +210 -32
  514. package/dist/frontend/lowering/key-order-witness.js.map +1 -1
  515. package/dist/frontend/lowering/key-order-witness.test.js +104 -4
  516. package/dist/frontend/lowering/key-order-witness.test.js.map +1 -1
  517. package/dist/frontend/lowering/lib-boundary.js +2 -2
  518. package/dist/frontend/lowering/lib-boundary.js.map +1 -1
  519. package/dist/frontend/lowering/lower-assert.d.ts +14 -0
  520. package/dist/frontend/lowering/lower-assert.js +298 -29
  521. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  522. package/dist/frontend/lowering/lower-builtin-values.js +3 -3
  523. package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
  524. package/dist/frontend/lowering/lower-calls.js +116 -10
  525. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  526. package/dist/frontend/lowering/lower-classes.d.ts +59 -7
  527. package/dist/frontend/lowering/lower-classes.js +668 -222
  528. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  529. package/dist/frontend/lowering/lower-console.js +2 -1
  530. package/dist/frontend/lowering/lower-console.js.map +1 -1
  531. package/dist/frontend/lowering/lower-exprs.d.ts +5 -0
  532. package/dist/frontend/lowering/lower-exprs.js +254 -3
  533. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  534. package/dist/frontend/lowering/lower-functions.js +7 -0
  535. package/dist/frontend/lowering/lower-functions.js.map +1 -1
  536. package/dist/frontend/lowering/lower-generators.js +5 -4
  537. package/dist/frontend/lowering/lower-generators.js.map +1 -1
  538. package/dist/frontend/lowering/lower-inspect.d.ts +1 -1
  539. package/dist/frontend/lowering/lower-inspect.js +299 -57
  540. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  541. package/dist/frontend/lowering/lower-modules.js +49 -22
  542. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  543. package/dist/frontend/lowering/lower-namespaces.d.ts +3 -0
  544. package/dist/frontend/lowering/lower-namespaces.js +44 -1
  545. package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
  546. package/dist/frontend/lowering/lower-node-module.js +1 -1
  547. package/dist/frontend/lowering/lower-node-module.js.map +1 -1
  548. package/dist/frontend/lowering/lower-server.js +126 -32
  549. package/dist/frontend/lowering/lower-server.js.map +1 -1
  550. package/dist/frontend/lowering/lower-stdlib.d.ts +4 -1
  551. package/dist/frontend/lowering/lower-stdlib.js +51 -37
  552. package/dist/frontend/lowering/lower-stdlib.js.map +1 -1
  553. package/dist/frontend/lowering/lower-stmts.js +393 -79
  554. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  555. package/dist/frontend/lowering/lower-stream.js +515 -121
  556. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  557. package/dist/frontend/lowering/lowerer.d.ts +82 -12
  558. package/dist/frontend/lowering/lowerer.js +317 -44
  559. package/dist/frontend/lowering/lowerer.js.map +1 -1
  560. package/dist/frontend/lowering/lowerer.test.js +1 -1
  561. package/dist/frontend/lowering/lowerer.test.js.map +1 -1
  562. package/dist/frontend/lowering/module-namespace-elements.d.ts +13 -0
  563. package/dist/frontend/lowering/module-namespace-elements.js +118 -1
  564. package/dist/frontend/lowering/module-namespace-elements.js.map +1 -1
  565. package/dist/frontend/lowering/object-factory-new.d.ts +5 -0
  566. package/dist/frontend/lowering/object-factory-new.js +20 -6
  567. package/dist/frontend/lowering/object-factory-new.js.map +1 -1
  568. package/dist/frontend/lowering/overload-choice.d.ts +33 -0
  569. package/dist/frontend/lowering/overload-choice.js +190 -0
  570. package/dist/frontend/lowering/overload-choice.js.map +1 -0
  571. package/dist/frontend/lowering/private-brands.d.ts +5 -0
  572. package/dist/frontend/lowering/private-brands.js +39 -0
  573. package/dist/frontend/lowering/private-brands.js.map +1 -1
  574. package/dist/frontend/lowering/runtime-optional-elements.d.ts +6 -0
  575. package/dist/frontend/lowering/runtime-optional-elements.js +14 -3
  576. package/dist/frontend/lowering/runtime-optional-elements.js.map +1 -1
  577. package/dist/frontend/lowering/sanitize-class-types.js +2 -0
  578. package/dist/frontend/lowering/sanitize-class-types.js.map +1 -1
  579. package/dist/frontend/lowering/site-dependencies.d.ts +7 -2
  580. package/dist/frontend/lowering/site-dependencies.js +0 -15
  581. package/dist/frontend/lowering/site-dependencies.js.map +1 -1
  582. package/dist/frontend/lowering/site-dependencies.test.js +7 -5
  583. package/dist/frontend/lowering/site-dependencies.test.js.map +1 -1
  584. package/dist/frontend/lowering/string-index-bounds.d.ts +7 -4
  585. package/dist/frontend/lowering/string-index-bounds.js +21 -7
  586. package/dist/frontend/lowering/string-index-bounds.js.map +1 -1
  587. package/dist/frontend/lowering/surfaces.d.ts +12 -3
  588. package/dist/frontend/lowering/surfaces.js +1630 -1540
  589. package/dist/frontend/lowering/surfaces.js.map +1 -1
  590. package/dist/frontend/lowering/symbol-fields.d.ts +7 -0
  591. package/dist/frontend/lowering/symbol-fields.js +45 -2
  592. package/dist/frontend/lowering/symbol-fields.js.map +1 -1
  593. package/dist/frontend/lowering/union-narrow.d.ts +5 -2
  594. package/dist/frontend/lowering/union-narrow.js +6 -3
  595. package/dist/frontend/lowering/union-narrow.js.map +1 -1
  596. package/dist/frontend/lowering/union-narrow.test.js +10 -0
  597. package/dist/frontend/lowering/union-narrow.test.js.map +1 -1
  598. package/dist/frontend/npm-static-namespace-defaults.d.ts +6 -0
  599. package/dist/frontend/npm-static-namespace-defaults.js +163 -0
  600. package/dist/frontend/npm-static-namespace-defaults.js.map +1 -0
  601. package/dist/frontend/npm-static-namespace-defaults.test.d.ts +1 -0
  602. package/dist/frontend/npm-static-namespace-defaults.test.js +72 -0
  603. package/dist/frontend/npm-static-namespace-defaults.test.js.map +1 -0
  604. package/dist/frontend/npm-static-prune.js +152 -111
  605. package/dist/frontend/npm-static-prune.js.map +1 -1
  606. package/dist/frontend/npm-static.js +35 -32
  607. package/dist/frontend/npm-static.js.map +1 -1
  608. package/dist/frontend/package-shims.d.ts +7 -4
  609. package/dist/frontend/package-shims.js +39 -40
  610. package/dist/frontend/package-shims.js.map +1 -1
  611. package/dist/frontend/pipeline-native.d.ts +2 -2
  612. package/dist/frontend/pipeline-native.js +2 -2
  613. package/dist/frontend/pipeline-native.js.map +1 -1
  614. package/dist/frontend/pipeline.d.ts +19 -2
  615. package/dist/frontend/pipeline.js +103 -12
  616. package/dist/frontend/pipeline.js.map +1 -1
  617. package/dist/frontend/program-analysis.d.ts +7 -1
  618. package/dist/frontend/program-analysis.js +8 -0
  619. package/dist/frontend/program-analysis.js.map +1 -1
  620. package/dist/frontend/program.d.ts +28 -5
  621. package/dist/frontend/program.js +422 -76
  622. package/dist/frontend/program.js.map +1 -1
  623. package/dist/frontend/resolve.d.ts +2 -0
  624. package/dist/frontend/resolve.js +5 -0
  625. package/dist/frontend/resolve.js.map +1 -1
  626. package/dist/frontend/services.d.ts +3 -0
  627. package/dist/frontend/services.js +31 -4
  628. package/dist/frontend/services.js.map +1 -1
  629. package/dist/frontend/shape-inference/analyze.d.ts +93 -0
  630. package/dist/frontend/shape-inference/analyze.js +3138 -0
  631. package/dist/frontend/shape-inference/analyze.js.map +1 -0
  632. package/dist/frontend/shape-inference/constant-graphs.d.ts +54 -0
  633. package/dist/frontend/shape-inference/constant-graphs.js +357 -0
  634. package/dist/frontend/shape-inference/constant-graphs.js.map +1 -0
  635. package/dist/frontend/shape-inference/domain.d.ts +32 -0
  636. package/dist/frontend/shape-inference/domain.js +104 -0
  637. package/dist/frontend/shape-inference/domain.js.map +1 -0
  638. package/dist/frontend/shape-inference/index.d.ts +7 -0
  639. package/dist/frontend/shape-inference/index.js +19 -0
  640. package/dist/frontend/shape-inference/index.js.map +1 -0
  641. package/dist/frontend/shape-inference/report.d.ts +21 -0
  642. package/dist/frontend/shape-inference/report.js +348 -0
  643. package/dist/frontend/shape-inference/report.js.map +1 -0
  644. package/dist/frontend/token-equivalence.d.ts +6 -0
  645. package/dist/frontend/token-equivalence.js +66 -9
  646. package/dist/frontend/token-equivalence.js.map +1 -1
  647. package/dist/frontend/token-equivalence.test.js +33 -1
  648. package/dist/frontend/token-equivalence.test.js.map +1 -1
  649. package/dist/frontend/ts7/checker-features.d.ts +15 -0
  650. package/dist/frontend/ts7/checker-features.js +45 -0
  651. package/dist/frontend/ts7/checker-features.js.map +1 -0
  652. package/dist/frontend/ts7/checker-features.test.d.ts +1 -0
  653. package/dist/frontend/ts7/checker-features.test.js +40 -0
  654. package/dist/frontend/ts7/checker-features.test.js.map +1 -0
  655. package/dist/frontend/ts7/checker-server.d.ts +19 -0
  656. package/dist/frontend/ts7/checker-server.js +46 -0
  657. package/dist/frontend/ts7/checker-server.js.map +1 -0
  658. package/dist/frontend/ts7/checker-server.test.d.ts +1 -0
  659. package/dist/frontend/ts7/checker-server.test.js +38 -0
  660. package/dist/frontend/ts7/checker-server.test.js.map +1 -0
  661. package/dist/frontend/ts7/lib-diagnostics.js +39 -13
  662. package/dist/frontend/ts7/lib-diagnostics.js.map +1 -1
  663. package/dist/frontend/ts7/lib-diagnostics.test.js +40 -0
  664. package/dist/frontend/ts7/lib-diagnostics.test.js.map +1 -1
  665. package/dist/frontend/ts7/native-api.d.ts +1 -0
  666. package/dist/frontend/ts7/native-api.js +25 -2
  667. package/dist/frontend/ts7/native-api.js.map +1 -1
  668. package/dist/frontend/ts7/native-process.d.ts +9 -2
  669. package/dist/frontend/ts7/native-process.js +22 -4
  670. package/dist/frontend/ts7/native-process.js.map +1 -1
  671. package/dist/frontend/ts7/program-host.d.ts +11 -0
  672. package/dist/frontend/ts7/program-host.js +36 -22
  673. package/dist/frontend/ts7/program-host.js.map +1 -1
  674. package/dist/frontend/ts7/semantic-json.d.ts +9 -0
  675. package/dist/frontend/ts7/semantic-json.js +25 -5
  676. package/dist/frontend/ts7/semantic-json.js.map +1 -1
  677. package/dist/frontend/ts7/semantic-model.d.ts +3 -0
  678. package/dist/frontend/ts7/semantic-model.js +8 -1
  679. package/dist/frontend/ts7/semantic-model.js.map +1 -1
  680. package/dist/frontend/ts7/semantic-model.test.js +6 -1
  681. package/dist/frontend/ts7/semantic-model.test.js.map +1 -1
  682. package/dist/frontend/ts7/semantic-types.d.ts +1 -1
  683. package/dist/frontend/ts7/semantic-types.js +1 -1
  684. package/dist/frontend/ts7/semantic-types.js.map +1 -1
  685. package/dist/frontend/ts7/source-parser.js +3 -1
  686. package/dist/frontend/ts7/source-parser.js.map +1 -1
  687. package/dist/frontend/tsc-codes.js +10 -0
  688. package/dist/frontend/tsc-codes.js.map +1 -1
  689. package/dist/frontend/type-mapper.d.ts +18 -6
  690. package/dist/frontend/type-mapper.js +205 -44
  691. package/dist/frontend/type-mapper.js.map +1 -1
  692. package/dist/index.d.ts +44 -3
  693. package/dist/index.js +39 -8
  694. package/dist/index.js.map +1 -1
  695. package/dist/ir/builtin-effects.js +37 -0
  696. package/dist/ir/builtin-effects.js.map +1 -1
  697. package/dist/ir/builtin-signatures.d.ts +7 -2
  698. package/dist/ir/builtin-signatures.js +5104 -4894
  699. package/dist/ir/builtin-signatures.js.map +1 -1
  700. package/dist/ir/callback-specialization.d.ts +4 -2
  701. package/dist/ir/callback-specialization.js +24 -9
  702. package/dist/ir/callback-specialization.js.map +1 -1
  703. package/dist/ir/capture-values.js +4 -2
  704. package/dist/ir/capture-values.js.map +1 -1
  705. package/dist/ir/char-unit-locals.d.ts +12 -2
  706. package/dist/ir/char-unit-locals.js +400 -58
  707. package/dist/ir/char-unit-locals.js.map +1 -1
  708. package/dist/ir/char-unit-locals.test.js +111 -0
  709. package/dist/ir/char-unit-locals.test.js.map +1 -1
  710. package/dist/ir/constant-globals.js +18 -4
  711. package/dist/ir/constant-globals.js.map +1 -1
  712. package/dist/ir/expression-inlining.d.ts +15 -0
  713. package/dist/ir/expression-inlining.js +166 -0
  714. package/dist/ir/expression-inlining.js.map +1 -0
  715. package/dist/ir/expression-inlining.test.d.ts +1 -0
  716. package/dist/ir/expression-inlining.test.js +123 -0
  717. package/dist/ir/expression-inlining.test.js.map +1 -0
  718. package/dist/ir/function-references.js +2 -0
  719. package/dist/ir/function-references.js.map +1 -1
  720. package/dist/ir/function-references.test.js +6 -0
  721. package/dist/ir/function-references.test.js.map +1 -1
  722. package/dist/ir/int32-arrays.d.ts +27 -6
  723. package/dist/ir/int32-arrays.js +106 -18
  724. package/dist/ir/int32-arrays.js.map +1 -1
  725. package/dist/ir/int32-slots.d.ts +26 -1
  726. package/dist/ir/int32-slots.js +291 -5
  727. package/dist/ir/int32-slots.js.map +1 -1
  728. package/dist/ir/int32-slots.test.js +38 -0
  729. package/dist/ir/int32-slots.test.js.map +1 -1
  730. package/dist/ir/integer-loop-facts.d.ts +5 -0
  731. package/dist/ir/integer-loop-facts.js +90 -1
  732. package/dist/ir/integer-loop-facts.js.map +1 -1
  733. package/dist/ir/integer-loops.d.ts +14 -1
  734. package/dist/ir/integer-loops.js +107 -11
  735. package/dist/ir/integer-loops.js.map +1 -1
  736. package/dist/ir/integer-loops.test.js +70 -0
  737. package/dist/ir/integer-loops.test.js.map +1 -1
  738. package/dist/ir/integer-ranges.js +18 -2
  739. package/dist/ir/integer-ranges.js.map +1 -1
  740. package/dist/ir/integer-ranges.test.js +64 -4
  741. package/dist/ir/integer-ranges.test.js.map +1 -1
  742. package/dist/ir/ir.d.ts +63 -11
  743. package/dist/ir/ir.js +47 -7
  744. package/dist/ir/ir.js.map +1 -1
  745. package/dist/ir/ir.test.js +2 -1
  746. package/dist/ir/ir.test.js.map +1 -1
  747. package/dist/ir/js-ic.d.ts +10 -3
  748. package/dist/ir/js-ic.js +14 -2
  749. package/dist/ir/js-ic.js.map +1 -1
  750. package/dist/ir/js-ic.test.js +11 -0
  751. package/dist/ir/js-ic.test.js.map +1 -1
  752. package/dist/ir/node-index.d.ts +7 -0
  753. package/dist/ir/node-index.js +32 -0
  754. package/dist/ir/node-index.js.map +1 -1
  755. package/dist/ir/receiver-readers.d.ts +6 -1
  756. package/dist/ir/receiver-readers.js +53 -28
  757. package/dist/ir/receiver-readers.js.map +1 -1
  758. package/dist/ir/row-pairs.d.ts +15 -0
  759. package/dist/ir/row-pairs.js +373 -0
  760. package/dist/ir/row-pairs.js.map +1 -0
  761. package/dist/ir/row-pairs.test.d.ts +1 -0
  762. package/dist/ir/row-pairs.test.js +129 -0
  763. package/dist/ir/row-pairs.test.js.map +1 -0
  764. package/dist/ir/runtime-features.d.ts +17 -4
  765. package/dist/ir/runtime-features.js +94 -13
  766. package/dist/ir/runtime-features.js.map +1 -1
  767. package/dist/ir/scalar-records.d.ts +15 -0
  768. package/dist/ir/scalar-records.js +301 -1
  769. package/dist/ir/scalar-records.js.map +1 -1
  770. package/dist/ir/scalar-records.test.js +181 -1
  771. package/dist/ir/scalar-records.test.js.map +1 -1
  772. package/dist/ir/self-captures.js +8 -0
  773. package/dist/ir/self-captures.js.map +1 -1
  774. package/dist/ir/validate.js +78 -28
  775. package/dist/ir/validate.js.map +1 -1
  776. package/dist/library/fence-eval.js +4 -4
  777. package/dist/library/fence-eval.js.map +1 -1
  778. package/dist/library/ir-policy.js +5 -0
  779. package/dist/library/ir-policy.js.map +1 -1
  780. package/dist/library/library-cache.d.ts +1 -0
  781. package/dist/library/library-cache.js +1 -0
  782. package/dist/library/library-cache.js.map +1 -1
  783. package/dist/library/library-cache.test.js +13 -0
  784. package/dist/library/library-cache.test.js.map +1 -1
  785. package/dist/native/cache.d.ts +5 -1
  786. package/dist/native/cache.js +15 -3
  787. package/dist/native/cache.js.map +1 -1
  788. package/dist/native/cli.js +6 -0
  789. package/dist/native/cli.js.map +1 -1
  790. package/dist/native/compiler.d.ts +3 -0
  791. package/dist/native/compiler.js +72 -26
  792. package/dist/native/compiler.js.map +1 -1
  793. package/dist/native/compiler.test.js +87 -2
  794. package/dist/native/compiler.test.js.map +1 -1
  795. package/dist/native/executable-cache-open.test.d.ts +1 -0
  796. package/dist/native/executable-cache-open.test.js +80 -0
  797. package/dist/native/executable-cache-open.test.js.map +1 -0
  798. package/dist/native/executable-cache.d.ts +43 -3
  799. package/dist/native/executable-cache.js +177 -36
  800. package/dist/native/executable-cache.js.map +1 -1
  801. package/dist/native/executable-cache.test.js +103 -0
  802. package/dist/native/executable-cache.test.js.map +1 -1
  803. package/dist/native/prepare.d.ts +1 -1
  804. package/dist/native/prepare.js +49 -17
  805. package/dist/native/prepare.js.map +1 -1
  806. package/dist/native/prepare.test.js +69 -3
  807. package/dist/native/prepare.test.js.map +1 -1
  808. package/dist/native/sanitizer.d.ts +1 -1
  809. package/dist/native/sanitizer.js +17 -3
  810. package/dist/native/sanitizer.js.map +1 -1
  811. package/dist/native/sanitizer.test.js +4 -0
  812. package/dist/native/sanitizer.test.js.map +1 -1
  813. package/dist/node-islands/classify.d.ts +14 -0
  814. package/dist/node-islands/classify.js +114 -0
  815. package/dist/node-islands/classify.js.map +1 -0
  816. package/dist/node-islands/detect.d.ts +13 -0
  817. package/dist/node-islands/detect.js +805 -0
  818. package/dist/node-islands/detect.js.map +1 -0
  819. package/dist/node-islands/detect.test.d.ts +1 -0
  820. package/dist/node-islands/detect.test.js +136 -0
  821. package/dist/node-islands/detect.test.js.map +1 -0
  822. package/dist/node-islands/origin.d.ts +21 -0
  823. package/dist/node-islands/origin.js +60 -0
  824. package/dist/node-islands/origin.js.map +1 -0
  825. package/dist/node-islands/policy.d.ts +49 -0
  826. package/dist/node-islands/policy.js +130 -0
  827. package/dist/node-islands/policy.js.map +1 -0
  828. package/dist/node-islands/report.d.ts +22 -0
  829. package/dist/node-islands/report.js +326 -0
  830. package/dist/node-islands/report.js.map +1 -0
  831. package/dist/node-islands/report.test.d.ts +1 -0
  832. package/dist/node-islands/report.test.js +228 -0
  833. package/dist/node-islands/report.test.js.map +1 -0
  834. package/dist/node-islands/rules.d.ts +20 -0
  835. package/dist/node-islands/rules.js +91 -0
  836. package/dist/node-islands/rules.js.map +1 -0
  837. package/dist/node-islands/scan.d.ts +53 -0
  838. package/dist/node-islands/scan.js +104 -0
  839. package/dist/node-islands/scan.js.map +1 -0
  840. package/dist/node-islands/summary.d.ts +78 -0
  841. package/dist/node-islands/summary.js +26 -0
  842. package/dist/node-islands/summary.js.map +1 -0
  843. package/dist/project-config.d.ts +50 -0
  844. package/dist/project-config.js +372 -0
  845. package/dist/project-config.js.map +1 -0
  846. package/dist/project-config.test.d.ts +1 -0
  847. package/dist/project-config.test.js +154 -0
  848. package/dist/project-config.test.js.map +1 -0
  849. package/dist/wasm/discover.js +6 -31
  850. package/dist/wasm/discover.js.map +1 -1
  851. package/package.json +20 -20
  852. package/surface-manifest.json +21 -38
@@ -917,6 +917,14 @@ interface Buffer<
917
917
  readBigUint64LE(offset?: number): bigint;
918
918
  }
919
919
  interface BufferConstructor {
920
+ /** @deprecated since v10.0.0 - Use `Buffer.from(string[, encoding])` instead. */
921
+ new (str: string, encoding?: BufferEncoding): Buffer;
922
+ /** @deprecated since v10.0.0 - Use `Buffer.alloc()` instead. */
923
+ new (size: number): Buffer;
924
+ /** @deprecated since v10.0.0 - Use `Buffer.from(array)` instead. */
925
+ new (array: ArrayLike<number>): Buffer;
926
+ /** @deprecated since v10.0.0 - Use `Buffer.from(arrayBuffer[, byteOffset[, length]])` instead. */
927
+ new (arrayBuffer: ArrayBuffer | SharedArrayBuffer): Buffer;
920
928
  from(data: string, encoding?: BufferEncoding): Buffer;
921
929
  /* The ArrayBuffer form is the VIEW construction: x.buffer with an
922
930
  * optional byte offset/length shares x's storage (the subarray rule). */
@@ -1582,7 +1590,7 @@ declare module "node:fs" {
1582
1590
  export function writeFileSync(path: string | URL, data: string, encoding: "utf8" | "utf-8"): void;
1583
1591
  export function writeFileSync(path: string | URL, data: string | Uint8Array): void;
1584
1592
  export function appendFileSync(path: string | URL, data: string | Uint8Array): void;
1585
- export function existsSync(path: string): boolean;
1593
+ export function existsSync(path: string | URL): boolean;
1586
1594
  export function mkdirSync(path: string | URL): void;
1587
1595
  export function mkdirSync(
1588
1596
  path: string | URL,
@@ -2223,7 +2231,7 @@ declare module "fs/promises" {
2223
2231
  stat(): Promise<import("node:fs").Stats>;
2224
2232
  [Symbol.asyncDispose](): Promise<void>;
2225
2233
  }
2226
- export function open(path: string, flags?: string, mode?: number): Promise<FileHandle>;
2234
+ export function open(path: string | URL, flags?: string, mode?: number): Promise<FileHandle>;
2227
2235
  export function link(
2228
2236
  existingPath: string | Uint8Array | URL,
2229
2237
  newPath: string | Uint8Array | URL,
@@ -2260,14 +2268,14 @@ declare module "fs/promises" {
2260
2268
  atime: number | string | Date,
2261
2269
  mtime: number | string | Date,
2262
2270
  ): Promise<void>;
2263
- export function readFile(path: string, encoding: "utf8" | "utf-8"): Promise<string>;
2271
+ export function readFile(path: string | URL, encoding: "utf8" | "utf-8"): Promise<string>;
2264
2272
  export function readFile(
2265
- path: string,
2273
+ path: string | URL,
2266
2274
  options: BufferEncoding | { encoding: BufferEncoding },
2267
2275
  ): Promise<string>;
2268
- export function readFile(path: string): Promise<Buffer>;
2276
+ export function readFile(path: string | URL): Promise<Buffer>;
2269
2277
  export function writeFile(
2270
- path: string,
2278
+ path: string | URL,
2271
2279
  data: string,
2272
2280
  options?: {
2273
2281
  mode?: number;
@@ -2276,14 +2284,18 @@ declare module "fs/promises" {
2276
2284
  [option: string]: unknown;
2277
2285
  },
2278
2286
  ): Promise<void>;
2279
- export function writeFile(path: string, data: string, encoding: "utf8" | "utf-8"): Promise<void>;
2287
+ export function writeFile(
2288
+ path: string | URL,
2289
+ data: string,
2290
+ encoding: "utf8" | "utf-8",
2291
+ ): Promise<void>;
2280
2292
  export function mkdir(
2281
- path: string,
2293
+ path: string | URL,
2282
2294
  options?: { recursive?: boolean; mode?: number },
2283
2295
  ): Promise<void>;
2284
- export function readdir(path: string): Promise<string[]>;
2296
+ export function readdir(path: string | URL): Promise<string[]>;
2285
2297
  export function readdir(
2286
- path: string,
2298
+ path: string | URL,
2287
2299
  options: {
2288
2300
  encoding?: "utf8" | "utf-8";
2289
2301
  withFileTypes: true;
@@ -2300,12 +2312,12 @@ declare module "fs/promises" {
2300
2312
  pattern: string | readonly string[],
2301
2313
  options: import("node:fs").GlobOptionsWithFileTypes,
2302
2314
  ): AsyncIterableIterator<import("node:fs").Dirent>;
2303
- export function rm(path: string): Promise<void>;
2315
+ export function rm(path: string | URL): Promise<void>;
2304
2316
  export function rm(
2305
- path: string,
2317
+ path: string | URL,
2306
2318
  options: { recursive?: boolean; force?: boolean; maxRetries?: number; retryDelay?: number },
2307
2319
  ): Promise<void>;
2308
- export function stat(path: string): Promise<import("node:fs").Stats>;
2320
+ export function stat(path: string | URL): Promise<import("node:fs").Stats>;
2309
2321
  export function statfs(
2310
2322
  path: string | Uint8Array | URL,
2311
2323
  options?: import("node:fs").StatFsOptions & { bigint?: false },
@@ -2318,21 +2330,21 @@ declare module "fs/promises" {
2318
2330
  path: string | Uint8Array | URL,
2319
2331
  options?: import("node:fs").StatFsOptions,
2320
2332
  ): Promise<import("node:fs").StatsFs | import("node:fs").BigIntStatsFs>;
2321
- export function realpath(path: string): Promise<string>;
2322
- export function lstat(path: string): Promise<import("node:fs").Stats>;
2323
- export function unlink(path: string): Promise<void>;
2324
- export function chmod(path: string, mode: number): Promise<void>;
2325
- export function chown(path: string, uid: number, gid: number): Promise<void>;
2326
- export function lchown(path: string, uid: number, gid: number): Promise<void>;
2327
- export function access(path: string, mode?: number): Promise<void>;
2328
- export function truncate(path: string, len?: number): Promise<void>;
2329
- export function appendFile(path: string, data: string | Uint8Array): Promise<void>;
2330
- export function copyFile(src: string, dest: string): Promise<void>;
2331
- export function mkdtemp(prefix: string): Promise<string>;
2332
- export function rmdir(path: string): Promise<void>;
2333
- export function rename(oldPath: string, newPath: string): Promise<void>;
2333
+ export function realpath(path: string | URL): Promise<string>;
2334
+ export function lstat(path: string | URL): Promise<import("node:fs").Stats>;
2335
+ export function unlink(path: string | URL): Promise<void>;
2336
+ export function chmod(path: string | URL, mode: number): Promise<void>;
2337
+ export function chown(path: string | URL, uid: number, gid: number): Promise<void>;
2338
+ export function lchown(path: string | URL, uid: number, gid: number): Promise<void>;
2339
+ export function access(path: string | URL, mode?: number): Promise<void>;
2340
+ export function truncate(path: string | URL, len?: number): Promise<void>;
2341
+ export function appendFile(path: string | URL, data: string | Uint8Array): Promise<void>;
2342
+ export function copyFile(src: string | URL, dest: string | URL): Promise<void>;
2343
+ export function mkdtemp(prefix: string | URL): Promise<string>;
2344
+ export function rmdir(path: string | URL): Promise<void>;
2345
+ export function rename(oldPath: string | URL, newPath: string | URL): Promise<void>;
2334
2346
  export function opendir(
2335
- path: string,
2347
+ path: string | URL,
2336
2348
  options?: import("node:fs").OpenDirOptions,
2337
2349
  ): Promise<import("node:fs").Dir>;
2338
2350
  }
@@ -2784,8 +2796,9 @@ declare var URLSearchParams: {
2784
2796
  * slashes, non-empty host); pathToFileURL resolves the path and percent-
2785
2797
  * encodes it into a file: URL. The legacy API: parse() answers a Url
2786
2798
  * object, format() serializes a Url-shaped object, a string, or a URL,
2787
- * resolve() resolves one URL string against another, and the domain pair
2788
- * converts a hostname to and from its Punycode form. */
2799
+ * resolve() resolves one URL string against another, the domain pair
2800
+ * converts a hostname to and from its Punycode form, and urlToHttpOptions
2801
+ * builds http.request options from a URL. */
2789
2802
  declare module "url" {
2790
2803
  export type URL = globalThis.URL;
2791
2804
  export type URLSearchParams = globalThis.URLSearchParams;
@@ -2853,6 +2866,19 @@ declare module "url" {
2853
2866
  export function resolve(from: string, to: string): string;
2854
2867
  export function domainToASCII(domain: string): string;
2855
2868
  export function domainToUnicode(domain: string): string;
2869
+ /** urlToHttpOptions's null-prototype request options. */
2870
+ export interface UrlHttpOptions {
2871
+ protocol: string;
2872
+ hostname: string;
2873
+ hash: string;
2874
+ search: string;
2875
+ pathname: string;
2876
+ path: string;
2877
+ href: string;
2878
+ port?: number;
2879
+ auth?: string;
2880
+ }
2881
+ export function urlToHttpOptions(url: URL): UrlHttpOptions;
2856
2882
  }
2857
2883
  declare module "node:url" {
2858
2884
  export * from "url";
@@ -2888,6 +2914,8 @@ declare module "crypto" {
2888
2914
  export interface AsymmetricKeyExportOptions<T extends KeyFormat> {
2889
2915
  type: "pkcs1" | "spki" | "pkcs8" | "sec1";
2890
2916
  format: T;
2917
+ cipher?: string | undefined;
2918
+ passphrase?: string | Buffer | undefined;
2891
2919
  }
2892
2920
  export interface AsymmetricKeyDetails {
2893
2921
  modulusLength?: number;
@@ -2912,6 +2940,7 @@ declare module "crypto" {
2912
2940
  format?: "pem" | "der" | undefined;
2913
2941
  type?: "pkcs1" | "pkcs8" | "sec1" | undefined;
2914
2942
  encoding?: string | undefined;
2943
+ passphrase?: string | Buffer | undefined;
2915
2944
  }
2916
2945
  export interface PublicKeyInput {
2917
2946
  key: string | Buffer;
@@ -2948,12 +2977,22 @@ declare module "crypto" {
2948
2977
  modulusLength: number;
2949
2978
  publicExponent?: number | undefined;
2950
2979
  publicKeyEncoding: { type: "pkcs1" | "spki"; format: PubF };
2951
- privateKeyEncoding: { type: "pkcs1" | "pkcs8"; format: PrivF };
2980
+ privateKeyEncoding: {
2981
+ type: "pkcs1" | "pkcs8";
2982
+ format: PrivF;
2983
+ cipher?: string | undefined;
2984
+ passphrase?: string | undefined;
2985
+ };
2952
2986
  }
2953
2987
  export interface ECKeyPairOptions<PubF extends KeyFormat, PrivF extends KeyFormat> {
2954
2988
  namedCurve: string;
2955
2989
  publicKeyEncoding: { type: "pkcs1" | "spki"; format: PubF };
2956
- privateKeyEncoding: { type: "sec1" | "pkcs8"; format: PrivF };
2990
+ privateKeyEncoding: {
2991
+ type: "sec1" | "pkcs8";
2992
+ format: PrivF;
2993
+ cipher?: string | undefined;
2994
+ passphrase?: string | undefined;
2995
+ };
2957
2996
  }
2958
2997
  export function generateKeyPairSync(
2959
2998
  type: "rsa",
@@ -2981,7 +3020,12 @@ declare module "crypto" {
2981
3020
  ): KeyPairKeyObjectResult;
2982
3021
  export interface ED25519KeyPairOptions<PubF extends KeyFormat, PrivF extends KeyFormat> {
2983
3022
  publicKeyEncoding: { type: "spki"; format: PubF };
2984
- privateKeyEncoding: { type: "pkcs8"; format: PrivF };
3023
+ privateKeyEncoding: {
3024
+ type: "pkcs8";
3025
+ format: PrivF;
3026
+ cipher?: string | undefined;
3027
+ passphrase?: string | undefined;
3028
+ };
2985
3029
  }
2986
3030
  export function generateKeyPairSync(
2987
3031
  type: "ed25519",
@@ -2992,6 +3036,29 @@ declare module "crypto" {
2992
3036
  options: ED25519KeyPairOptions<"der", "der">,
2993
3037
  ): KeyPairSyncResult<Buffer, Buffer>;
2994
3038
  export function generateKeyPairSync(type: "ed25519", options?: {}): KeyPairKeyObjectResult;
3039
+ export interface X25519KeyPairOptions<PubF extends KeyFormat, PrivF extends KeyFormat> {
3040
+ publicKeyEncoding: { type: "spki"; format: PubF };
3041
+ privateKeyEncoding: {
3042
+ type: "pkcs8";
3043
+ format: PrivF;
3044
+ cipher?: string | undefined;
3045
+ passphrase?: string | undefined;
3046
+ };
3047
+ }
3048
+ export function generateKeyPairSync(
3049
+ type: "x25519",
3050
+ options: X25519KeyPairOptions<"pem", "pem">,
3051
+ ): KeyPairSyncResult<string, string>;
3052
+ export function generateKeyPairSync(
3053
+ type: "x25519",
3054
+ options: X25519KeyPairOptions<"der", "der">,
3055
+ ): KeyPairSyncResult<Buffer, Buffer>;
3056
+ export function generateKeyPairSync(type: "x25519", options?: {}): KeyPairKeyObjectResult;
3057
+ export function generateKeyPair(
3058
+ type: "x25519",
3059
+ options: {} | undefined,
3060
+ callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void,
3061
+ ): void;
2995
3062
  export function generateKeyPair(
2996
3063
  type: "ed25519",
2997
3064
  options: {} | undefined,
@@ -3020,6 +3087,11 @@ declare module "crypto" {
3020
3087
  export interface VerifyKeyObjectInput extends SigningOptions {
3021
3088
  key: KeyObject;
3022
3089
  }
3090
+ export function diffieHellman(options: { privateKey: KeyObject; publicKey: KeyObject }): Buffer;
3091
+ export function diffieHellman(
3092
+ options: { privateKey: KeyObject; publicKey: KeyObject },
3093
+ callback: (err: Error | null, secret: Buffer) => void,
3094
+ ): void;
3023
3095
  export function sign(
3024
3096
  algorithm: string | null | undefined,
3025
3097
  data: ArrayBufferView,
@@ -3502,17 +3574,45 @@ declare module "crypto" {
3502
3574
  keylen: number,
3503
3575
  callback: (error: Error | null, derivedKey: ArrayBuffer) => void,
3504
3576
  ): void;
3505
- /* The lowered X509Certificate surface is the data-record slice:
3506
- * fingerprint (the SHA-1 of the DER, uppercase colon-separated) and
3507
- * the validFrom/validTo validity window (Node's ASN1_TIME_print
3508
- * strings — "Jul 1 00:00:00 2026 GMT"; the cert-expiry idiom composes
3509
- * them with new Date(...).getTime()). All compute at construction;
3510
- * unparseable input throws Node's ERR_OSSL_PEM_NO_START_LINE Error. */
3577
+ /* The lowered X509Certificate surface is the data-record slice: the
3578
+ * fields below, all computed at construction (raw decodes the input,
3579
+ * and the others read raw). validFrom/validTo are Node's
3580
+ * ASN1_TIME_print strings ("Jul 1 00:00:00 2026 GMT"). Unparseable
3581
+ * input throws Node's ERR_OSSL_PEM_NO_START_LINE Error. */
3511
3582
  export class X509Certificate {
3512
3583
  constructor(buffer: Uint8Array | string);
3584
+ readonly ca: boolean;
3513
3585
  readonly fingerprint: string;
3586
+ readonly fingerprint256: string;
3587
+ readonly fingerprint512: string;
3588
+ readonly subject: string;
3589
+ readonly subjectAltName: string | undefined;
3590
+ readonly infoAccess: string | undefined;
3591
+ readonly issuer: string;
3592
+ readonly raw: Buffer;
3593
+ readonly serialNumber: string;
3594
+ readonly signatureAlgorithm: string | undefined;
3595
+ readonly signatureAlgorithmOid: string;
3514
3596
  readonly validFrom: string;
3597
+ readonly validFromDate: Date;
3515
3598
  readonly validTo: string;
3599
+ readonly validToDate: Date;
3600
+ /* the certificate's public key; every read answers the same KeyObject */
3601
+ readonly publicKey: KeyObject;
3602
+ verify(publicKey: KeyObject): boolean;
3603
+ checkPrivateKey(privateKey: KeyObject): boolean;
3604
+ checkIssued(otherCert: X509Certificate): boolean;
3605
+ checkHost(name: string, options?: X509CheckOptions): string | undefined;
3606
+ checkEmail(email: string, options?: X509CheckOptions): string | undefined;
3607
+ checkIP(ip: string): string | undefined;
3608
+ toLegacyObject(): import("tls").PeerCertificate;
3609
+ }
3610
+ export interface X509CheckOptions {
3611
+ subject?: "always" | "default" | "never";
3612
+ wildcards?: boolean;
3613
+ partialWildcards?: boolean;
3614
+ multiLabelWildcards?: boolean;
3615
+ singleLabelSubdomains?: boolean;
3516
3616
  }
3517
3617
  /* The crypto introspection statics: getFips() answers 0 (a compiled
3518
3618
  * binary is never a FIPS build), the three name lists bake as fresh
@@ -4823,9 +4923,9 @@ declare module "node:readline/promises" {
4823
4923
  * inputs with Node's default options; libz links only into zlib-using
4824
4924
  * binaries. Callback forms use the executable worker pool. Options stay
4825
4925
  * declared so reached uses receive a named SC2020 refusal. The Deflate,
4826
- * Inflate, Gzip, Gunzip, DeflateRaw, InflateRaw and Unzip streams are
4827
- * runtime Transform streams; Brotli and Zstd remain outside the lowered
4828
- * surface. */
4926
+ * Inflate, Gzip, Gunzip, DeflateRaw, InflateRaw, Unzip, BrotliCompress
4927
+ * and BrotliDecompress streams are runtime Transform streams; Zstd remains
4928
+ * outside the lowered surface. */
4829
4929
  declare module "zlib" {
4830
4930
  import { Transform } from "stream";
4831
4931
  export interface ZlibOptions {
@@ -4882,50 +4982,66 @@ declare module "zlib" {
4882
4982
  ): void;
4883
4983
  export function unzipSync(data: string | Uint8Array, options?: ZlibOptions): Buffer;
4884
4984
  export function crc32(data: string | Uint8Array, value?: number): number;
4885
- export function brotliCompressSync(data: string | Uint8Array): Buffer;
4886
- export function brotliDecompressSync(data: Uint8Array): Buffer;
4887
- /* Brotli needs a codec the static runtime does not vendor: these are
4888
- * declared so their uses receive the named refusal. */
4889
- export function brotliCompress(data: string | Uint8Array, callback: ZlibCallback): void;
4890
- export function brotliDecompress(data: Uint8Array, callback: ZlibCallback): void;
4891
- export function createBrotliCompress(options?: ZlibOptions): Transform;
4892
- export function createBrotliDecompress(options?: ZlibOptions): Transform;
4893
- export class BrotliCompress extends Transform {
4894
- constructor(options?: ZlibOptions);
4895
- }
4896
- export class BrotliDecompress extends Transform {
4897
- constructor(options?: ZlibOptions);
4985
+ /* Brotli over the vendored brotli 1.2.0 (scr_brotli.c): `params` keys
4986
+ * are the numeric BROTLI_PARAM_* and BROTLI_DECODER_PARAM_* constants. */
4987
+ export interface BrotliOptions {
4988
+ [option: string]: unknown;
4898
4989
  }
4990
+ export function brotliCompress(data: string | Uint8Array, callback: ZlibCallback): void;
4991
+ export function brotliCompress(
4992
+ data: string | Uint8Array,
4993
+ options: BrotliOptions,
4994
+ callback: ZlibCallback,
4995
+ ): void;
4996
+ export function brotliCompressSync(data: string | Uint8Array, options?: BrotliOptions): Buffer;
4997
+ export function brotliDecompress(data: string | Uint8Array, callback: ZlibCallback): void;
4998
+ export function brotliDecompress(
4999
+ data: string | Uint8Array,
5000
+ options: BrotliOptions,
5001
+ callback: ZlibCallback,
5002
+ ): void;
5003
+ export function brotliDecompressSync(data: string | Uint8Array, options?: BrotliOptions): Buffer;
4899
5004
  /* The stream classes: runtime Transform streams over the zlib engine
4900
5005
  * (scr_zlib_stream.c). createGzip(options) and new Gzip(options) build
4901
- * the same stream; options are validated at runtime with Node's rules. */
5006
+ * the same stream; options are validated at runtime with Node's rules.
5007
+ * Brotli streams have no params(), as in Node. */
4902
5008
  class ZlibBase extends Transform {
4903
5009
  readonly bytesWritten: number;
4904
5010
  flush(kind?: number, callback?: () => void): void;
4905
5011
  flush(callback: () => void): void;
4906
- params(level: number, strategy: number, callback?: () => void): void;
4907
5012
  close(callback?: () => void): void;
4908
5013
  reset(): void;
4909
5014
  }
4910
- export class Deflate extends ZlibBase {
5015
+ class Zlib extends ZlibBase {
5016
+ params(level: number, strategy: number, callback?: () => void): void;
5017
+ }
5018
+ export class BrotliCompress extends ZlibBase {
5019
+ constructor(options?: BrotliOptions);
5020
+ }
5021
+ export class BrotliDecompress extends ZlibBase {
5022
+ constructor(options?: BrotliOptions);
5023
+ }
5024
+ export function createBrotliCompress(options?: BrotliOptions): BrotliCompress;
5025
+ export function createBrotliDecompress(options?: BrotliOptions): BrotliDecompress;
5026
+ export class Deflate extends Zlib {
4911
5027
  constructor(options?: ZlibOptions);
4912
5028
  }
4913
- export class Inflate extends ZlibBase {
5029
+ export class Inflate extends Zlib {
4914
5030
  constructor(options?: ZlibOptions);
4915
5031
  }
4916
- export class Gzip extends ZlibBase {
5032
+ export class Gzip extends Zlib {
4917
5033
  constructor(options?: ZlibOptions);
4918
5034
  }
4919
- export class Gunzip extends ZlibBase {
5035
+ export class Gunzip extends Zlib {
4920
5036
  constructor(options?: ZlibOptions);
4921
5037
  }
4922
- export class DeflateRaw extends ZlibBase {
5038
+ export class DeflateRaw extends Zlib {
4923
5039
  constructor(options?: ZlibOptions);
4924
5040
  }
4925
- export class InflateRaw extends ZlibBase {
5041
+ export class InflateRaw extends Zlib {
4926
5042
  constructor(options?: ZlibOptions);
4927
5043
  }
4928
- export class Unzip extends ZlibBase {
5044
+ export class Unzip extends Zlib {
4929
5045
  constructor(options?: ZlibOptions);
4930
5046
  }
4931
5047
  export function createDeflate(options?: ZlibOptions): Deflate;
@@ -5229,10 +5345,10 @@ declare module "node:zlib" {
5229
5345
  * with the real port discoverable as address().port (the composed read
5230
5346
  * is the lowered form — bare address() has no lowering); close([cb])
5231
5347
  * firing once connections drain; socket write/end/destroy/pipe and the
5232
- * data/end/close/error/connect events (on and once — listeners take at
5233
- * most the declared parameter). write/end return void here (Node returns
5234
- * the backpressure boolean / the socket); on/once return void (chaining
5235
- * is fenced). connect's host is a numeric IP or "localhost" (pinned to
5348
+ * data/end/close/error/connect/drain events (on and once — listeners
5349
+ * take at most the declared parameter). write returns Node's
5350
+ * backpressure boolean; end returns void here (Node returns the socket);
5351
+ * on/once return void (chaining is fenced). connect's host is a numeric IP or "localhost" (pinned to
5236
5352
  * 127.0.0.1 — SEMANTICS.md); every failure is the async 'error' event,
5237
5353
  * and an 'error' with no listener exits 1 like an unhandled EventEmitter
5238
5354
  * 'error'. */
@@ -5264,7 +5380,13 @@ declare module "net" {
5264
5380
  readonly bytesWritten: number;
5265
5381
  /* write's callback runs once the data is flushed, with null; end's
5266
5382
  * once the socket finishes. */
5267
- write(data: string | Uint8Array, callback?: (err?: Error | null) => void): void;
5383
+ /* false when the bytes this write left unsent reach the 65536-byte
5384
+ * high-water mark, as in Node; 'drain' fires when they are all sent. */
5385
+ write(data: string | Uint8Array, callback?: (err?: Error | null) => void): boolean;
5386
+ /* the bytes written and not yet sent */
5387
+ readonly writableLength: number;
5388
+ /* a write answered false and 'drain' has not fired yet */
5389
+ readonly writableNeedDrain: boolean;
5268
5390
  end(callback?: () => void): void;
5269
5391
  end(data: string | Uint8Array, callback?: () => void): void;
5270
5392
  destroy(): void;
@@ -5312,6 +5434,7 @@ declare module "net" {
5312
5434
  | "connect"
5313
5435
  | "ready"
5314
5436
  | "timeout"
5437
+ | "drain"
5315
5438
  | "readable"
5316
5439
  | "finish"
5317
5440
  | "secureConnect"
@@ -5336,6 +5459,7 @@ declare module "net" {
5336
5459
  | "connect"
5337
5460
  | "ready"
5338
5461
  | "timeout"
5462
+ | "drain"
5339
5463
  | "readable"
5340
5464
  | "finish"
5341
5465
  | "secureConnect"
@@ -5359,6 +5483,7 @@ declare module "net" {
5359
5483
  | "connect"
5360
5484
  | "ready"
5361
5485
  | "timeout"
5486
+ | "drain"
5362
5487
  | "readable"
5363
5488
  | "finish"
5364
5489
  | "secureConnect"
@@ -5408,6 +5533,11 @@ declare module "net" {
5408
5533
  /* The demux route: hand an accepted socket to another server. */
5409
5534
  emit(event: "connection", socket: Socket): boolean;
5410
5535
  on(event: "connection" | "secureConnection", listener: (socket: Socket) => void): void;
5536
+ /* tls and https servers: a handshake that failed */
5537
+ on(
5538
+ event: "tlsClientError",
5539
+ listener: (err: Error, tlsSocket: import("tls").TLSSocket) => void,
5540
+ ): void;
5411
5541
  on(event: "close" | "listening", listener: () => void): void;
5412
5542
  on(event: "drop", listener: (data?: DropArgument) => void): void;
5413
5543
  on(event: "timeout", listener: (socket: Socket) => void): void;
@@ -5427,6 +5557,11 @@ declare module "net" {
5427
5557
  ): void;
5428
5558
  /* addListener IS on (Node aliases them) — the suite spells both. */
5429
5559
  addListener(event: "connection" | "secureConnection", listener: (socket: Socket) => void): void;
5560
+ /* tls and https servers: a handshake that failed */
5561
+ addListener(
5562
+ event: "tlsClientError",
5563
+ listener: (err: Error, tlsSocket: import("tls").TLSSocket) => void,
5564
+ ): void;
5430
5565
  addListener(event: "close" | "listening", listener: () => void): void;
5431
5566
  addListener(event: "drop", listener: (data?: DropArgument) => void): void;
5432
5567
  addListener(event: "timeout", listener: (socket: Socket) => void): void;
@@ -5440,6 +5575,11 @@ declare module "net" {
5440
5575
  listener: (req: import("http").IncomingMessage, res: import("http").ServerResponse) => void,
5441
5576
  ): void;
5442
5577
  once(event: "connection" | "secureConnection", listener: (socket: Socket) => void): void;
5578
+ /* tls and https servers: a handshake that failed */
5579
+ once(
5580
+ event: "tlsClientError",
5581
+ listener: (err: Error, tlsSocket: import("tls").TLSSocket) => void,
5582
+ ): void;
5443
5583
  once(event: "close" | "listening", listener: () => void): void;
5444
5584
  once(event: "drop", listener: (data?: DropArgument) => void): void;
5445
5585
  once(event: "timeout", listener: (socket: Socket) => void): void;
@@ -5893,8 +6033,15 @@ declare module "node:http" {
5893
6033
  * are PEM strings or Buffers. Handshake failures tear the socket down
5894
6034
  * without emitting an event, Node's default for 'tlsClientError' with no listener. */
5895
6035
  declare module "tls" {
5896
- import { Server, Socket } from "net";
5897
- export { Server };
6036
+ import { Server as NetServer, Socket } from "net";
6037
+ /** tls.Server: a net server whose connections handshake first. */
6038
+ export interface Server extends NetServer {
6039
+ /* serve `context` to clients whose SNI name matches `hostname` ('*'
6040
+ * matches within one label); the newest match wins */
6041
+ addContext(hostname: string, context: TlsOptions | SecureContext): void;
6042
+ /* new connections serve a context made from `options` */
6043
+ setSecureContext(options: TlsOptions): void;
6044
+ }
5898
6045
  export interface TlsOptions {
5899
6046
  /* Optional in the DECLARATION only (real Node programs build these
5900
6047
  * literals with every TLS knob): the lowering still requires both —
@@ -5928,7 +6075,47 @@ declare module "tls" {
5928
6075
  getCipher(): CipherNameAndProtocol;
5929
6076
  /* whether the handshake resumed a cached session */
5930
6077
  isSessionReused(): boolean;
6078
+ /* the peer's certificate: {} before the handshake or without one,
6079
+ * null once the socket is destroyed; detailed adds issuerCertificate */
6080
+ getPeerCertificate(detailed: true): DetailedPeerCertificate;
6081
+ getPeerCertificate(detailed?: false): PeerCertificate;
6082
+ getPeerCertificate(detailed?: boolean): PeerCertificate | DetailedPeerCertificate;
6083
+ /* the certificate this socket serves, the same way */
6084
+ getCertificate(): PeerCertificate | object | null;
6085
+ /* a new X509Certificate on each call, or undefined without one */
6086
+ getPeerX509Certificate(): import("crypto").X509Certificate | undefined;
6087
+ getX509Certificate(): import("crypto").X509Certificate | undefined;
6088
+ }
6089
+ /* A certificate as getPeerCertificate() and X509Certificate's
6090
+ * toLegacyObject() answer it: subject and issuer map attribute short
6091
+ * names to values, infoAccess its "<method> - <type>" keys to values. */
6092
+ export interface PeerCertificate {
6093
+ subject: { [attribute: string]: string | string[] };
6094
+ issuer: { [attribute: string]: string | string[] };
6095
+ subjectaltname?: string;
6096
+ infoAccess?: { [key: string]: string[] };
6097
+ ca: boolean;
6098
+ modulus?: string;
6099
+ exponent?: string;
6100
+ pubkey?: Buffer;
6101
+ bits?: number;
6102
+ valid_from: string;
6103
+ valid_to: string;
6104
+ fingerprint: string;
6105
+ fingerprint256: string;
6106
+ fingerprint512: string;
6107
+ ext_key_usage?: string[];
6108
+ serialNumber: string;
6109
+ raw: Buffer;
6110
+ asn1Curve?: string;
6111
+ nistCurve?: string;
6112
+ }
6113
+ /* getPeerCertificate(true): each certificate links to its issuer; a
6114
+ * self-issued root is its own issuerCertificate */
6115
+ export interface DetailedPeerCertificate extends PeerCertificate {
6116
+ issuerCertificate: DetailedPeerCertificate;
5931
6117
  }
6118
+
5932
6119
  /** new tls.TLSSocket(socket, options): the server-mode wrap of an open
5933
6120
  * socket (a server connection or an http CONNECT socket). The options
5934
6121
  * record reads at runtime; isServer, cert, key, secureContext,
@@ -5983,6 +6170,8 @@ declare module "tls" {
5983
6170
  /** An opaque parsed cert/key pair — what an SNI callback answers with
5984
6171
  * (the value is a runtime handle; the members are runtime-internal). */
5985
6172
  export interface SecureContext {}
6173
+ /* @types/node's name for createSecureContext's options */
6174
+ export type SecureContextOptions = TlsOptions;
5986
6175
  export function createSecureContext(options: TlsOptions): SecureContext;
5987
6176
  /** The CA-store introspection surface (scr_tls_ca.c): per-type cached
5988
6177
  * PEM string arrays. The host bundle stands in for Node's compiled-in
@@ -7235,9 +7424,18 @@ declare module "node:tty" {
7235
7424
  declare module "async_hooks" {
7236
7425
  /* AsyncLocalStorage: fiber-carried context snapshots — run/getStore/
7237
7426
  * exit/enterWith/disable lower onto the runtime's active-slot machinery
7238
- * (als.* libCalls); values cross as dyn values. */
7427
+ * (als.* libCalls); values cross as dyn values. bind and snapshot bind
7428
+ * functions to the active context; the options carry the store's
7429
+ * default value and name. */
7430
+ export interface AsyncLocalStorageOptions {
7431
+ defaultValue?: any;
7432
+ name?: string | undefined;
7433
+ }
7239
7434
  export class AsyncLocalStorage<T = any> {
7240
- constructor();
7435
+ constructor(options?: AsyncLocalStorageOptions);
7436
+ static bind<Func extends (...args: any[]) => any>(fn: Func): Func;
7437
+ static snapshot(): <R, TArgs extends any[]>(fn: (...args: TArgs) => R, ...args: TArgs) => R;
7438
+ readonly name: string;
7241
7439
  run<R>(store: T, callback: (...args: any[]) => R, ...args: any[]): R;
7242
7440
  exit<R>(callback: (...args: any[]) => R, ...args: any[]): R;
7243
7441
  getStore(): T | undefined;
@@ -70,3 +70,24 @@ interface PromiseConstructor {
70
70
  reject: (reason: Error) => void;
71
71
  };
72
72
  }
73
+
74
+ /* Carriers of the types the lowerer gives untyped JavaScript collections
75
+ * whose uses prove them (js-collection-types.ts). Nothing reads them at run
76
+ * time. */
77
+ declare namespace __scriptcInferredCollections {
78
+ const map_string_string: Map<string, string>;
79
+ const map_string_number: Map<string, number>;
80
+ const map_string_boolean: Map<string, boolean>;
81
+ const map_number_string: Map<number, string>;
82
+ const map_number_number: Map<number, number>;
83
+ const map_number_boolean: Map<number, boolean>;
84
+ const map_boolean_string: Map<boolean, string>;
85
+ const map_boolean_number: Map<boolean, number>;
86
+ const map_boolean_boolean: Map<boolean, boolean>;
87
+ const set_string: Set<string>;
88
+ const set_number: Set<number>;
89
+ const set_boolean: Set<boolean>;
90
+ const array_string: string[];
91
+ const array_number: number[];
92
+ const array_boolean: boolean[];
93
+ }
@@ -17,7 +17,9 @@ export function executableLinkFeatures(mod) {
17
17
  ...(features.wasm ? { wasm: true } : {}),
18
18
  ...(features.warningReplace ? { warningReplace: true } : {}),
19
19
  ...(features.stdioExtended ? { stdioExtended: true } : {}),
20
+ ...(features.moduleNamespace ? { moduleNamespace: true } : {}),
20
21
  zlib: features.zlib,
22
+ ...(features.brotli ? { brotli: true } : {}),
21
23
  assert: features.assert,
22
24
  inspect: features.inspect,
23
25
  dynInvoke: features.dynInvoke,
@@ -59,6 +61,7 @@ export function executableLinkFeatures(mod) {
59
61
  dh: features.dh,
60
62
  pki: features.pki,
61
63
  ed25519: features.ed25519,
64
+ x509: features.x509,
62
65
  webcrypto: features.webcrypto,
63
66
  perfLoop: features.perfLoop,
64
67
  };
@@ -1 +1 @@
1
- {"version":3,"file":"executable-features.js","sourceRoot":"","sources":["../../src/backend/executable-features.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,OAAO,EAAiB,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,UAAU,sBAAsB,CAAC,GAAa;IAClD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC5C,OAAO;QACL,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,qBAAqB,EAAE,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;QAC7C,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,MAAM,EAAE,QAAQ,CAAC,aAAa;QAC9B,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;QAC3C,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,KAAK,EAAE,QAAQ,CAAC,OAAO;QACvB,UAAU,EAAE,qBAAqB,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;QACvD,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;KAC5B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"executable-features.js","sourceRoot":"","sources":["../../src/backend/executable-features.ts"],"names":[],"mappings":"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"}
@@ -57,6 +57,7 @@ export async function compilePackedLibrary(options, target, wasmExports) {
57
57
  dh: false,
58
58
  pki: false,
59
59
  ed25519: false,
60
+ x509: options.x509 ?? false,
60
61
  webcrypto: false,
61
62
  perfLoop: false,
62
63
  tlsCa: false,
@@ -143,7 +144,7 @@ export async function compilePackedLibrary(options, target, wasmExports) {
143
144
  for (let start = 0; start < shards.length; start += 4) {
144
145
  objects.push(...(await Promise.all(shards
145
146
  .slice(start, start + 4)
146
- .map((shard, offset) => emit(shard.source, `shard-${start + offset}.o`)))));
147
+ .map((shard, offset) => emit(shard.source(), `shard-${start + offset}.o`)))));
147
148
  }
148
149
  program = await localizeLibraryObjects(driver, archiver, buildDir, objects, [], options.programPublicSymbols, stem, target.platform);
149
150
  }