@scriptc/compiler 0.4.6 → 0.4.7

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 (652) hide show
  1. package/ambient/node-fallback/events.d.ts +6 -1
  2. package/ambient/node-fallback/fs-promises.d.ts +1 -1
  3. package/ambient/node-fallback/fs.d.ts +54 -10
  4. package/ambient/node-fallback/http.d.ts +3 -1
  5. package/ambient/node-fallback/net.d.ts +19 -0
  6. package/ambient/node-fallback/querystring.d.ts +3 -3
  7. package/ambient/scriptc-node-fallback.d.ts +58 -13
  8. package/dist/backend/executable-features.js +13 -0
  9. package/dist/backend/executable-features.js.map +1 -1
  10. package/dist/backend/immutability.d.ts +12 -1
  11. package/dist/backend/immutability.js +50 -4
  12. package/dist/backend/immutability.js.map +1 -1
  13. package/dist/backend/immutability.test.js +95 -1
  14. package/dist/backend/immutability.test.js.map +1 -1
  15. package/dist/backend/library-pack.js +2 -0
  16. package/dist/backend/library-pack.js.map +1 -1
  17. package/dist/backend/linker.d.ts +11 -0
  18. package/dist/backend/linker.js +31 -3
  19. package/dist/backend/linker.js.map +1 -1
  20. package/dist/backend/lld.d.ts +7 -2
  21. package/dist/backend/lld.js +5 -3
  22. package/dist/backend/lld.js.map +1 -1
  23. package/dist/backend/lld.test.js +10 -4
  24. package/dist/backend/lld.test.js.map +1 -1
  25. package/dist/backend/llvm/constant-callbacks.test.js +50 -1
  26. package/dist/backend/llvm/constant-callbacks.test.js.map +1 -1
  27. package/dist/backend/llvm/cpu-dispatch.js +6 -5
  28. package/dist/backend/llvm/cpu-dispatch.js.map +1 -1
  29. package/dist/backend/llvm/dyn.d.ts +53 -1
  30. package/dist/backend/llvm/dyn.js +221 -9
  31. package/dist/backend/llvm/dyn.js.map +1 -1
  32. package/dist/backend/llvm/emit-function.js +1 -1
  33. package/dist/backend/llvm/emit-function.js.map +1 -1
  34. package/dist/backend/llvm/emit-module.js +148 -50
  35. package/dist/backend/llvm/emit-module.js.map +1 -1
  36. package/dist/backend/llvm/emit-statements.js +39 -19
  37. package/dist/backend/llvm/emit-statements.js.map +1 -1
  38. package/dist/backend/llvm/emitter.d.ts +29 -2
  39. package/dist/backend/llvm/emitter.js +86 -7
  40. package/dist/backend/llvm/emitter.js.map +1 -1
  41. package/dist/backend/llvm/expr-calls.d.ts +4 -1
  42. package/dist/backend/llvm/expr-calls.js +20 -4
  43. package/dist/backend/llvm/expr-calls.js.map +1 -1
  44. package/dist/backend/llvm/expr-dynamic.js +209 -16
  45. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  46. package/dist/backend/llvm/expr-primitives.js +94 -11
  47. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  48. package/dist/backend/llvm/expr-stream-bridges.d.ts +8 -0
  49. package/dist/backend/llvm/expr-stream-bridges.js +42 -2
  50. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  51. package/dist/backend/llvm/expr-stream-callbacks.d.ts +16 -0
  52. package/dist/backend/llvm/expr-stream-callbacks.js +206 -20
  53. package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
  54. package/dist/backend/llvm/integer-values.d.ts +2 -0
  55. package/dist/backend/llvm/integer-values.js +6 -0
  56. package/dist/backend/llvm/integer-values.js.map +1 -1
  57. package/dist/backend/llvm/js-ic.d.ts +38 -0
  58. package/dist/backend/llvm/js-ic.js +295 -1
  59. package/dist/backend/llvm/js-ic.js.map +1 -1
  60. package/dist/backend/llvm/lib-dispatch.js +20 -0
  61. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  62. package/dist/backend/llvm/lib-filesystem.js +116 -11
  63. package/dist/backend/llvm/lib-filesystem.js.map +1 -1
  64. package/dist/backend/llvm/lib-process.js +136 -24
  65. package/dist/backend/llvm/lib-process.js.map +1 -1
  66. package/dist/backend/llvm/lib-shared.js +70 -0
  67. package/dist/backend/llvm/lib-shared.js.map +1 -1
  68. package/dist/backend/llvm/lib-stream.js +67 -0
  69. package/dist/backend/llvm/lib-stream.js.map +1 -1
  70. package/dist/backend/llvm/loop-entry-versions.d.ts +2 -2
  71. package/dist/backend/llvm/loop-entry-versions.js +43 -21
  72. package/dist/backend/llvm/loop-entry-versions.js.map +1 -1
  73. package/dist/backend/llvm/loop-state.d.ts +7 -1
  74. package/dist/backend/llvm/loop-state.js +20 -2
  75. package/dist/backend/llvm/loop-state.js.map +1 -1
  76. package/dist/backend/llvm/map-number-lookup.d.ts +3 -1
  77. package/dist/backend/llvm/map-number-lookup.js +7 -3
  78. package/dist/backend/llvm/map-number-lookup.js.map +1 -1
  79. package/dist/backend/llvm/map-number-lookup.test.js +52 -11
  80. package/dist/backend/llvm/map-number-lookup.test.js.map +1 -1
  81. package/dist/backend/llvm/receiver-brackets.test.d.ts +1 -0
  82. package/dist/backend/llvm/receiver-brackets.test.js +68 -0
  83. package/dist/backend/llvm/receiver-brackets.test.js.map +1 -0
  84. package/dist/backend/llvm/record-views.d.ts +22 -2
  85. package/dist/backend/llvm/record-views.js +139 -10
  86. package/dist/backend/llvm/record-views.js.map +1 -1
  87. package/dist/backend/llvm/record-views.test.js +76 -0
  88. package/dist/backend/llvm/record-views.test.js.map +1 -1
  89. package/dist/backend/llvm/reference-writes.js +1 -0
  90. package/dist/backend/llvm/reference-writes.js.map +1 -1
  91. package/dist/backend/llvm/shapes.d.ts +3 -0
  92. package/dist/backend/llvm/shapes.js +18 -3
  93. package/dist/backend/llvm/shapes.js.map +1 -1
  94. package/dist/backend/llvm/shapes.test.js +4 -0
  95. package/dist/backend/llvm/shapes.test.js.map +1 -1
  96. package/dist/backend/llvm/speculative-integers.d.ts +10 -1
  97. package/dist/backend/llvm/speculative-integers.js +59 -8
  98. package/dist/backend/llvm/speculative-integers.js.map +1 -1
  99. package/dist/backend/llvm/unwind-abi.d.ts +3 -3
  100. package/dist/backend/llvm/unwind-abi.js +8 -3
  101. package/dist/backend/llvm/unwind-abi.js.map +1 -1
  102. package/dist/backend/llvm/walkers.js +1 -1
  103. package/dist/backend/llvm/walkers.js.map +1 -1
  104. package/dist/backend/native/contracts.d.ts +54 -0
  105. package/dist/backend/native/executable.js +87 -5
  106. package/dist/backend/native/executable.js.map +1 -1
  107. package/dist/backend/native/library.js +1 -1
  108. package/dist/backend/native/library.js.map +1 -1
  109. package/dist/backend/native/runtime-inputs.js +5 -1
  110. package/dist/backend/native/runtime-inputs.js.map +1 -1
  111. package/dist/backend/native/vendor.d.ts +1 -1
  112. package/dist/backend/native/vendor.js +1 -1
  113. package/dist/backend/native/vendor.js.map +1 -1
  114. package/dist/backend/native-codegen.js +3 -0
  115. package/dist/backend/native-codegen.js.map +1 -1
  116. package/dist/backend/native-link-info-core.d.ts +43 -0
  117. package/dist/backend/native-link-info-core.js.map +1 -1
  118. package/dist/backend/native-link-info.js +1 -0
  119. package/dist/backend/native-link-info.js.map +1 -1
  120. package/dist/backend/native-profile.d.ts +4 -1
  121. package/dist/backend/native-profile.js +12 -1
  122. package/dist/backend/native-profile.js.map +1 -1
  123. package/dist/backend/native-profile.test.js +10 -0
  124. package/dist/backend/native-profile.test.js.map +1 -1
  125. package/dist/backend/publication.d.ts +4 -1
  126. package/dist/backend/publication.js +4 -2
  127. package/dist/backend/publication.js.map +1 -1
  128. package/dist/backend/runtime-abi.d.ts +2 -2
  129. package/dist/backend/runtime-abi.js +2 -2
  130. package/dist/backend/runtime-pack-core.d.ts +31 -7
  131. package/dist/backend/runtime-pack-core.js +21 -1
  132. package/dist/backend/runtime-pack-core.js.map +1 -1
  133. package/dist/backend/runtime-pack-native.d.ts +18 -1
  134. package/dist/backend/runtime-pack-native.js +138 -29
  135. package/dist/backend/runtime-pack-native.js.map +1 -1
  136. package/dist/backend/runtime-pack-native.test.js +166 -4
  137. package/dist/backend/runtime-pack-native.test.js.map +1 -1
  138. package/dist/backend/runtime-pack-targets.test.js +3 -1
  139. package/dist/backend/runtime-pack-targets.test.js.map +1 -1
  140. package/dist/backend/runtime-pack.d.ts +7 -0
  141. package/dist/backend/runtime-pack.js +25 -3
  142. package/dist/backend/runtime-pack.js.map +1 -1
  143. package/dist/backend/runtime-pack.test.js +3 -11
  144. package/dist/backend/runtime-pack.test.js.map +1 -1
  145. package/dist/backend/vendor-archives.d.ts +4 -1
  146. package/dist/backend/vendor-archives.js +264 -3
  147. package/dist/backend/vendor-archives.js.map +1 -1
  148. package/dist/backend/vendor-inputs.d.ts +36 -0
  149. package/dist/backend/vendor-inputs.js +42 -0
  150. package/dist/backend/vendor-inputs.js.map +1 -1
  151. package/dist/backend/vendor-inputs.test.js +28 -1
  152. package/dist/backend/vendor-inputs.test.js.map +1 -1
  153. package/dist/backend/warm-cache.js +2 -0
  154. package/dist/backend/warm-cache.js.map +1 -1
  155. package/dist/compat/fetch-profile.d.ts +7 -1
  156. package/dist/compat/fetch-profile.js +23 -10
  157. package/dist/compat/fetch-profile.js.map +1 -1
  158. package/dist/compile-types.d.ts +7 -0
  159. package/dist/contracts/check.d.ts +3 -0
  160. package/dist/contracts/check.js +18 -5
  161. package/dist/contracts/check.js.map +1 -1
  162. package/dist/coverage/surface-manifest.js +1 -1
  163. package/dist/coverage/surface-manifest.js.map +1 -1
  164. package/dist/diagnostics/codes.d.ts +6 -0
  165. package/dist/diagnostics/codes.js +6 -0
  166. package/dist/diagnostics/codes.js.map +1 -1
  167. package/dist/diagnostics/diagnostic.d.ts +50 -0
  168. package/dist/diagnostics/diagnostic.js +142 -3
  169. package/dist/diagnostics/diagnostic.js.map +1 -1
  170. package/dist/diagnostics/dynamic-tier.js +3 -1
  171. package/dist/diagnostics/dynamic-tier.js.map +1 -1
  172. package/dist/executable/executable-cache.d.ts +29 -0
  173. package/dist/executable/executable-cache.js +18 -0
  174. package/dist/executable/executable-cache.js.map +1 -1
  175. package/dist/executable/executable-cache.test.js +5 -1
  176. package/dist/executable/executable-cache.test.js.map +1 -1
  177. package/dist/executable/prepare.d.ts +13 -3
  178. package/dist/executable/prepare.js +271 -18
  179. package/dist/executable/prepare.js.map +1 -1
  180. package/dist/frontend/early-errors.d.ts +14 -0
  181. package/dist/frontend/early-errors.js +305 -0
  182. package/dist/frontend/early-errors.js.map +1 -0
  183. package/dist/frontend/early-errors.test.d.ts +1 -0
  184. package/dist/frontend/early-errors.test.js +42 -0
  185. package/dist/frontend/early-errors.test.js.map +1 -0
  186. package/dist/frontend/inferred-js-diagnostics.test.js +23 -0
  187. package/dist/frontend/inferred-js-diagnostics.test.js.map +1 -1
  188. package/dist/frontend/input-tracker.d.ts +47 -0
  189. package/dist/frontend/input-tracker.js +173 -36
  190. package/dist/frontend/input-tracker.js.map +1 -1
  191. package/dist/frontend/input-tracker.test.js +86 -2
  192. package/dist/frontend/input-tracker.test.js.map +1 -1
  193. package/dist/frontend/js-inference.d.ts +2 -0
  194. package/dist/frontend/js-inference.js +18 -0
  195. package/dist/frontend/js-inference.js.map +1 -0
  196. package/dist/frontend/lowering/binding-analysis.d.ts +2 -1
  197. package/dist/frontend/lowering/binding-analysis.js +65 -1
  198. package/dist/frontend/lowering/binding-analysis.js.map +1 -1
  199. package/dist/frontend/lowering/builtin-calls.js +9 -0
  200. package/dist/frontend/lowering/builtin-calls.js.map +1 -1
  201. package/dist/frontend/lowering/builtin-namespaces.d.ts +1 -1
  202. package/dist/frontend/lowering/builtin-namespaces.js +19 -2
  203. package/dist/frontend/lowering/builtin-namespaces.js.map +1 -1
  204. package/dist/frontend/lowering/builtins/child-process-methods.d.ts +7 -0
  205. package/dist/frontend/lowering/builtins/child-process-methods.js +50 -10
  206. package/dist/frontend/lowering/builtins/child-process-methods.js.map +1 -1
  207. package/dist/frontend/lowering/builtins/child-process.js +5 -1
  208. package/dist/frontend/lowering/builtins/child-process.js.map +1 -1
  209. package/dist/frontend/lowering/builtins/dates.d.ts +1 -1
  210. package/dist/frontend/lowering/builtins/dates.js +23 -1
  211. package/dist/frontend/lowering/builtins/dates.js.map +1 -1
  212. package/dist/frontend/lowering/builtins/environment.d.ts +55 -0
  213. package/dist/frontend/lowering/builtins/environment.js +213 -2
  214. package/dist/frontend/lowering/builtins/environment.js.map +1 -1
  215. package/dist/frontend/lowering/builtins/filesystem-calls.js +47 -16
  216. package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -1
  217. package/dist/frontend/lowering/builtins/filesystem.d.ts +25 -7
  218. package/dist/frontend/lowering/builtins/filesystem.js +185 -16
  219. package/dist/frontend/lowering/builtins/filesystem.js.map +1 -1
  220. package/dist/frontend/lowering/builtins/module-calls.js +39 -2
  221. package/dist/frontend/lowering/builtins/module-calls.js.map +1 -1
  222. package/dist/frontend/lowering/builtins/module-resolution.d.ts +8 -0
  223. package/dist/frontend/lowering/builtins/module-resolution.js +31 -5
  224. package/dist/frontend/lowering/builtins/module-resolution.js.map +1 -1
  225. package/dist/frontend/lowering/builtins/operating-system.d.ts +3 -2
  226. package/dist/frontend/lowering/builtins/operating-system.js +5 -4
  227. package/dist/frontend/lowering/builtins/operating-system.js.map +1 -1
  228. package/dist/frontend/lowering/builtins/process.d.ts +17 -1
  229. package/dist/frontend/lowering/builtins/process.js +285 -19
  230. package/dist/frontend/lowering/builtins/process.js.map +1 -1
  231. package/dist/frontend/lowering/builtins/querystring.d.ts +8 -0
  232. package/dist/frontend/lowering/builtins/querystring.js +202 -18
  233. package/dist/frontend/lowering/builtins/querystring.js.map +1 -1
  234. package/dist/frontend/lowering/builtins/readline.js +21 -3
  235. package/dist/frontend/lowering/builtins/readline.js.map +1 -1
  236. package/dist/frontend/lowering/builtins/reflection.js +60 -1
  237. package/dist/frontend/lowering/builtins/reflection.js.map +1 -1
  238. package/dist/frontend/lowering/builtins/text-codecs.js +208 -59
  239. package/dist/frontend/lowering/builtins/text-codecs.js.map +1 -1
  240. package/dist/frontend/lowering/builtins/url.js +20 -1
  241. package/dist/frontend/lowering/builtins/url.js.map +1 -1
  242. package/dist/frontend/lowering/builtins/v8.d.ts +5 -5
  243. package/dist/frontend/lowering/builtins/v8.js +7 -5
  244. package/dist/frontend/lowering/builtins/v8.js.map +1 -1
  245. package/dist/frontend/lowering/builtins/web-streams-dyn.d.ts +17 -2
  246. package/dist/frontend/lowering/builtins/web-streams-dyn.js +97 -9
  247. package/dist/frontend/lowering/builtins/web-streams-dyn.js.map +1 -1
  248. package/dist/frontend/lowering/call-signatures.js +77 -0
  249. package/dist/frontend/lowering/call-signatures.js.map +1 -1
  250. package/dist/frontend/lowering/cjs-exports-object.d.ts +3 -0
  251. package/dist/frontend/lowering/cjs-exports-object.js +1 -1
  252. package/dist/frontend/lowering/cjs-exports-object.js.map +1 -1
  253. package/dist/frontend/lowering/cjs-inline-require.js +5 -0
  254. package/dist/frontend/lowering/cjs-inline-require.js.map +1 -1
  255. package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +5 -0
  256. package/dist/frontend/lowering/class-dynamic-dispatch.js +114 -0
  257. package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
  258. package/dist/frontend/lowering/class-protocols.js +59 -10
  259. package/dist/frontend/lowering/class-protocols.js.map +1 -1
  260. package/dist/frontend/lowering/class-runtime-statics.js +15 -0
  261. package/dist/frontend/lowering/class-runtime-statics.js.map +1 -1
  262. package/dist/frontend/lowering/class-views.d.ts +13 -0
  263. package/dist/frontend/lowering/class-views.js +51 -0
  264. package/dist/frontend/lowering/class-views.js.map +1 -0
  265. package/dist/frontend/lowering/coercions/function-adapters.d.ts +15 -1
  266. package/dist/frontend/lowering/coercions/function-adapters.js +54 -10
  267. package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -1
  268. package/dist/frontend/lowering/coercions/state.d.ts +7 -0
  269. package/dist/frontend/lowering/coercions/state.js +7 -0
  270. package/dist/frontend/lowering/coercions/state.js.map +1 -1
  271. package/dist/frontend/lowering/coercions/structural-plans.js +60 -3
  272. package/dist/frontend/lowering/coercions/structural-plans.js.map +1 -1
  273. package/dist/frontend/lowering/coercions/structural.js +29 -1
  274. package/dist/frontend/lowering/coercions/structural.js.map +1 -1
  275. package/dist/frontend/lowering/containers/array-callbacks.d.ts +8 -1
  276. package/dist/frontend/lowering/containers/array-callbacks.js +132 -28
  277. package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
  278. package/dist/frontend/lowering/containers/array-construction.js +16 -5
  279. package/dist/frontend/lowering/containers/array-construction.js.map +1 -1
  280. package/dist/frontend/lowering/containers/array-methods.js +16 -0
  281. package/dist/frontend/lowering/containers/array-methods.js.map +1 -1
  282. package/dist/frontend/lowering/containers/bytes.js +4 -0
  283. package/dist/frontend/lowering/containers/bytes.js.map +1 -1
  284. package/dist/frontend/lowering/containers/callback-arguments.d.ts +11 -0
  285. package/dist/frontend/lowering/containers/callback-arguments.js +53 -0
  286. package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -1
  287. package/dist/frontend/lowering/containers/filter-predicates.d.ts +10 -0
  288. package/dist/frontend/lowering/containers/filter-predicates.js +69 -3
  289. package/dist/frontend/lowering/containers/filter-predicates.js.map +1 -1
  290. package/dist/frontend/lowering/containers/indexed-objects.js +46 -2
  291. package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -1
  292. package/dist/frontend/lowering/expressions/array-literals.d.ts +14 -0
  293. package/dist/frontend/lowering/expressions/array-literals.js +26 -10
  294. package/dist/frontend/lowering/expressions/array-literals.js.map +1 -1
  295. package/dist/frontend/lowering/expressions/binary.js +104 -12
  296. package/dist/frontend/lowering/expressions/binary.js.map +1 -1
  297. package/dist/frontend/lowering/expressions/element-access.js +121 -4
  298. package/dist/frontend/lowering/expressions/element-access.js.map +1 -1
  299. package/dist/frontend/lowering/expressions/identifiers.js +143 -3
  300. package/dist/frontend/lowering/expressions/identifiers.js.map +1 -1
  301. package/dist/frontend/lowering/expressions/keyed-field-targets.d.ts +11 -1
  302. package/dist/frontend/lowering/expressions/keyed-field-targets.js +22 -1
  303. package/dist/frontend/lowering/expressions/keyed-field-targets.js.map +1 -1
  304. package/dist/frontend/lowering/expressions/narrowing.js +25 -1
  305. package/dist/frontend/lowering/expressions/narrowing.js.map +1 -1
  306. package/dist/frontend/lowering/expressions/object-literals.d.ts +5 -1
  307. package/dist/frontend/lowering/expressions/object-literals.js +778 -229
  308. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
  309. package/dist/frontend/lowering/expressions/optional-chains.js +66 -20
  310. package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
  311. package/dist/frontend/lowering/expressions/property-access.d.ts +31 -0
  312. package/dist/frontend/lowering/expressions/property-access.js +796 -12
  313. package/dist/frontend/lowering/expressions/property-access.js.map +1 -1
  314. package/dist/frontend/lowering/expressions/relational.js +29 -1
  315. package/dist/frontend/lowering/expressions/relational.js.map +1 -1
  316. package/dist/frontend/lowering/expressions/typeof.js +17 -0
  317. package/dist/frontend/lowering/expressions/typeof.js.map +1 -1
  318. package/dist/frontend/lowering/expressions/updates.js +132 -17
  319. package/dist/frontend/lowering/expressions/updates.js.map +1 -1
  320. package/dist/frontend/lowering/frozen-records.d.ts +6 -0
  321. package/dist/frontend/lowering/frozen-records.js +10 -4
  322. package/dist/frontend/lowering/frozen-records.js.map +1 -1
  323. package/dist/frontend/lowering/frozen-records.test.d.ts +1 -0
  324. package/dist/frontend/lowering/frozen-records.test.js +44 -0
  325. package/dist/frontend/lowering/frozen-records.test.js.map +1 -0
  326. package/dist/frontend/lowering/function-names.d.ts +9 -0
  327. package/dist/frontend/lowering/function-names.js +95 -0
  328. package/dist/frontend/lowering/function-names.js.map +1 -0
  329. package/dist/frontend/lowering/function-returns.js +5 -3
  330. package/dist/frontend/lowering/function-returns.js.map +1 -1
  331. package/dist/frontend/lowering/generic-functions.d.ts +49 -0
  332. package/dist/frontend/lowering/generic-functions.js +365 -7
  333. package/dist/frontend/lowering/generic-functions.js.map +1 -1
  334. package/dist/frontend/lowering/global-values.d.ts +9 -0
  335. package/dist/frontend/lowering/global-values.js +44 -0
  336. package/dist/frontend/lowering/global-values.js.map +1 -1
  337. package/dist/frontend/lowering/handle-properties.js +34 -1
  338. package/dist/frontend/lowering/handle-properties.js.map +1 -1
  339. package/dist/frontend/lowering/key-order-witness.d.ts +54 -0
  340. package/dist/frontend/lowering/key-order-witness.js +546 -5
  341. package/dist/frontend/lowering/key-order-witness.js.map +1 -1
  342. package/dist/frontend/lowering/lib-boundary.js +14 -0
  343. package/dist/frontend/lowering/lib-boundary.js.map +1 -1
  344. package/dist/frontend/lowering/lower-assert.js +110 -1
  345. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  346. package/dist/frontend/lowering/lower-builtin-values.d.ts +36 -6
  347. package/dist/frontend/lowering/lower-builtin-values.js +332 -58
  348. package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
  349. package/dist/frontend/lowering/lower-calls.d.ts +22 -1
  350. package/dist/frontend/lowering/lower-calls.js +427 -48
  351. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  352. package/dist/frontend/lowering/lower-calls.test.d.ts +1 -0
  353. package/dist/frontend/lowering/lower-calls.test.js +78 -0
  354. package/dist/frontend/lowering/lower-calls.test.js.map +1 -0
  355. package/dist/frontend/lowering/lower-classes.d.ts +16 -5
  356. package/dist/frontend/lowering/lower-classes.js +168 -51
  357. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  358. package/dist/frontend/lowering/lower-event-emitter.d.ts +9 -0
  359. package/dist/frontend/lowering/lower-event-emitter.js +383 -41
  360. package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
  361. package/dist/frontend/lowering/lower-exprs.d.ts +14 -0
  362. package/dist/frontend/lowering/lower-exprs.js +25 -0
  363. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  364. package/dist/frontend/lowering/lower-functions.js +2 -0
  365. package/dist/frontend/lowering/lower-functions.js.map +1 -1
  366. package/dist/frontend/lowering/lower-inspect.js +80 -33
  367. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  368. package/dist/frontend/lowering/lower-modules.js +87 -25
  369. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  370. package/dist/frontend/lowering/lower-node-island.d.ts +35 -4
  371. package/dist/frontend/lowering/lower-node-island.js +456 -61
  372. package/dist/frontend/lowering/lower-node-island.js.map +1 -1
  373. package/dist/frontend/lowering/lower-server.js +160 -9
  374. package/dist/frontend/lowering/lower-server.js.map +1 -1
  375. package/dist/frontend/lowering/lower-shared-modules.js +13 -1
  376. package/dist/frontend/lowering/lower-shared-modules.js.map +1 -1
  377. package/dist/frontend/lowering/lower-stdlib.d.ts +3 -2
  378. package/dist/frontend/lowering/lower-stdlib.js +32 -18
  379. package/dist/frontend/lowering/lower-stdlib.js.map +1 -1
  380. package/dist/frontend/lowering/lower-stmts.d.ts +21 -4
  381. package/dist/frontend/lowering/lower-stmts.js +580 -103
  382. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  383. package/dist/frontend/lowering/lower-stream.js +126 -8
  384. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  385. package/dist/frontend/lowering/lower-timers.js +133 -21
  386. package/dist/frontend/lowering/lower-timers.js.map +1 -1
  387. package/dist/frontend/lowering/lowerer.d.ts +139 -3
  388. package/dist/frontend/lowering/lowerer.js +579 -43
  389. package/dist/frontend/lowering/lowerer.js.map +1 -1
  390. package/dist/frontend/lowering/lowerer.test.js +1 -1
  391. package/dist/frontend/lowering/lowerer.test.js.map +1 -1
  392. package/dist/frontend/lowering/module-namespace-elements.js +15 -0
  393. package/dist/frontend/lowering/module-namespace-elements.js.map +1 -1
  394. package/dist/frontend/lowering/new-target.js +2 -2
  395. package/dist/frontend/lowering/nullish-empty-pattern.d.ts +17 -0
  396. package/dist/frontend/lowering/nullish-empty-pattern.js +118 -0
  397. package/dist/frontend/lowering/nullish-empty-pattern.js.map +1 -0
  398. package/dist/frontend/lowering/partial-assertions.d.ts +39 -0
  399. package/dist/frontend/lowering/partial-assertions.js +195 -0
  400. package/dist/frontend/lowering/partial-assertions.js.map +1 -0
  401. package/dist/frontend/lowering/primitive-wrappers.d.ts +34 -0
  402. package/dist/frontend/lowering/primitive-wrappers.js +220 -0
  403. package/dist/frontend/lowering/primitive-wrappers.js.map +1 -0
  404. package/dist/frontend/lowering/private-statics.d.ts +46 -0
  405. package/dist/frontend/lowering/private-statics.js +322 -0
  406. package/dist/frontend/lowering/private-statics.js.map +1 -0
  407. package/dist/frontend/lowering/record-sources.d.ts +12 -1
  408. package/dist/frontend/lowering/record-sources.js +60 -0
  409. package/dist/frontend/lowering/record-sources.js.map +1 -1
  410. package/dist/frontend/lowering/strict-equality.d.ts +4 -0
  411. package/dist/frontend/lowering/strict-equality.js +14 -0
  412. package/dist/frontend/lowering/strict-equality.js.map +1 -1
  413. package/dist/frontend/lowering/surfaces.d.ts +27 -0
  414. package/dist/frontend/lowering/surfaces.js +135 -62
  415. package/dist/frontend/lowering/surfaces.js.map +1 -1
  416. package/dist/frontend/lowering/unit-journal.d.ts +128 -17
  417. package/dist/frontend/lowering/unit-journal.js +310 -53
  418. package/dist/frontend/lowering/unit-journal.js.map +1 -1
  419. package/dist/frontend/lowering/unit-journal.test.js +91 -3
  420. package/dist/frontend/lowering/unit-journal.test.js.map +1 -1
  421. package/dist/frontend/lowering/unit-reuse.d.ts +92 -0
  422. package/dist/frontend/lowering/unit-reuse.js +1008 -0
  423. package/dist/frontend/lowering/unit-reuse.js.map +1 -0
  424. package/dist/frontend/lowering/width-lift.d.ts +12 -0
  425. package/dist/frontend/npm-file-import.test.d.ts +1 -0
  426. package/dist/frontend/npm-file-import.test.js +76 -0
  427. package/dist/frontend/npm-file-import.test.js.map +1 -0
  428. package/dist/frontend/npm-static.js +17 -2
  429. package/dist/frontend/npm-static.js.map +1 -1
  430. package/dist/frontend/npm.d.ts +9 -0
  431. package/dist/frontend/npm.js +82 -0
  432. package/dist/frontend/npm.js.map +1 -1
  433. package/dist/frontend/pipeline-native.js +2 -1
  434. package/dist/frontend/pipeline-native.js.map +1 -1
  435. package/dist/frontend/pipeline.d.ts +4 -0
  436. package/dist/frontend/pipeline.js +68 -7
  437. package/dist/frontend/pipeline.js.map +1 -1
  438. package/dist/frontend/program-node.d.ts +3 -0
  439. package/dist/frontend/program-node.js +13 -6
  440. package/dist/frontend/program-node.js.map +1 -1
  441. package/dist/frontend/program.d.ts +9 -0
  442. package/dist/frontend/program.js +159 -7
  443. package/dist/frontend/program.js.map +1 -1
  444. package/dist/frontend/provenance-core.js +4 -0
  445. package/dist/frontend/provenance-core.js.map +1 -1
  446. package/dist/frontend/services.d.ts +14 -0
  447. package/dist/frontend/services.js +52 -2
  448. package/dist/frontend/services.js.map +1 -1
  449. package/dist/frontend/services.test.js +61 -1
  450. package/dist/frontend/services.test.js.map +1 -1
  451. package/dist/frontend/shape-inference/analyze.d.ts +5 -0
  452. package/dist/frontend/shape-inference/analyze.js +104 -4
  453. package/dist/frontend/shape-inference/analyze.js.map +1 -1
  454. package/dist/frontend/shape-inference/domain.js +0 -1
  455. package/dist/frontend/shape-inference/domain.js.map +1 -1
  456. package/dist/frontend/shape-inference/index.js +5 -1
  457. package/dist/frontend/shape-inference/index.js.map +1 -1
  458. package/dist/frontend/shape-inference/memo.d.ts +2 -1
  459. package/dist/frontend/shape-inference/memo.js +6 -2
  460. package/dist/frontend/shape-inference/memo.js.map +1 -1
  461. package/dist/frontend/shape-inference/overlay.d.ts +1 -1
  462. package/dist/frontend/shape-inference/overlay.js +116 -2
  463. package/dist/frontend/shape-inference/overlay.js.map +1 -1
  464. package/dist/frontend/shape-inference/static-objects.js +11 -6
  465. package/dist/frontend/shape-inference/static-objects.js.map +1 -1
  466. package/dist/frontend/source-phase-imports.test.d.ts +1 -0
  467. package/dist/frontend/source-phase-imports.test.js +37 -0
  468. package/dist/frontend/source-phase-imports.test.js.map +1 -0
  469. package/dist/frontend/ts7/ast-node.d.ts +6 -1
  470. package/dist/frontend/ts7/ast-node.js +12 -0
  471. package/dist/frontend/ts7/ast-node.js.map +1 -1
  472. package/dist/frontend/ts7/ast-wire-protocols.test.js +11 -3
  473. package/dist/frontend/ts7/ast-wire-protocols.test.js.map +1 -1
  474. package/dist/frontend/ts7/ast-wire.js +3 -5
  475. package/dist/frontend/ts7/ast-wire.js.map +1 -1
  476. package/dist/frontend/ts7/checker-backend.d.ts +13 -0
  477. package/dist/frontend/ts7/checker-backend.js +84 -2
  478. package/dist/frontend/ts7/checker-backend.js.map +1 -1
  479. package/dist/frontend/ts7/checker-backend.test.js +126 -2
  480. package/dist/frontend/ts7/checker-backend.test.js.map +1 -1
  481. package/dist/frontend/ts7/program-host.d.ts +22 -1
  482. package/dist/frontend/ts7/program-host.js +49 -4
  483. package/dist/frontend/ts7/program-host.js.map +1 -1
  484. package/dist/frontend/ts7/program-host.test.js +83 -0
  485. package/dist/frontend/ts7/program-host.test.js.map +1 -1
  486. package/dist/frontend/ts7/rpc-process.d.ts +16 -1
  487. package/dist/frontend/ts7/rpc-process.js +170 -92
  488. package/dist/frontend/ts7/rpc-process.js.map +1 -1
  489. package/dist/frontend/ts7/rpc-process.test.js +49 -21
  490. package/dist/frontend/ts7/rpc-process.test.js.map +1 -1
  491. package/dist/frontend/tsc-codes.js +70 -0
  492. package/dist/frontend/tsc-codes.js.map +1 -1
  493. package/dist/frontend/type-mapper.d.ts +7 -2
  494. package/dist/frontend/type-mapper.js +148 -1
  495. package/dist/frontend/type-mapper.js.map +1 -1
  496. package/dist/index.d.ts +1 -1
  497. package/dist/index.js +152 -8
  498. package/dist/index.js.map +1 -1
  499. package/dist/ir/api.d.ts +1 -1
  500. package/dist/ir/api.js +1 -1
  501. package/dist/ir/api.js.map +1 -1
  502. package/dist/ir/build.d.ts +3 -2
  503. package/dist/ir/build.js +4 -2
  504. package/dist/ir/build.js.map +1 -1
  505. package/dist/ir/builtin-effects.js +53 -0
  506. package/dist/ir/builtin-effects.js.map +1 -1
  507. package/dist/ir/builtin-signatures.d.ts +1 -1
  508. package/dist/ir/builtin-signatures.js +211 -10
  509. package/dist/ir/builtin-signatures.js.map +1 -1
  510. package/dist/ir/codec.d.ts +82 -0
  511. package/dist/ir/codec.generated.d.ts +13 -0
  512. package/dist/ir/codec.generated.js +5274 -0
  513. package/dist/ir/codec.generated.js.map +1 -0
  514. package/dist/ir/codec.js +325 -0
  515. package/dist/ir/codec.js.map +1 -0
  516. package/dist/ir/codec.test.d.ts +1 -0
  517. package/dist/ir/codec.test.js +225 -0
  518. package/dist/ir/codec.test.js.map +1 -0
  519. package/dist/ir/fields.generated.d.ts +20 -10
  520. package/dist/ir/fields.generated.js +1031 -11
  521. package/dist/ir/fields.generated.js.map +1 -1
  522. package/dist/ir/fields.test.js +46 -2
  523. package/dist/ir/fields.test.js.map +1 -1
  524. package/dist/ir/function-references.d.ts +5 -4
  525. package/dist/ir/function-references.js +8 -4
  526. package/dist/ir/function-references.js.map +1 -1
  527. package/dist/ir/function-references.test.js +7 -0
  528. package/dist/ir/function-references.test.js.map +1 -1
  529. package/dist/ir/inline-array-sources.js +4 -1
  530. package/dist/ir/inline-array-sources.js.map +1 -1
  531. package/dist/ir/inline-array-views.d.ts +13 -0
  532. package/dist/ir/inline-array-views.js +944 -0
  533. package/dist/ir/inline-array-views.js.map +1 -0
  534. package/dist/ir/inline-arrays.d.ts +7 -0
  535. package/dist/ir/inline-arrays.js +190 -55
  536. package/dist/ir/inline-arrays.js.map +1 -1
  537. package/dist/ir/inline-arrays.test.js +140 -2
  538. package/dist/ir/inline-arrays.test.js.map +1 -1
  539. package/dist/ir/integer-ranges.js +16 -6
  540. package/dist/ir/integer-ranges.js.map +1 -1
  541. package/dist/ir/ir.d.ts +75 -44
  542. package/dist/ir/ir.js.map +1 -1
  543. package/dist/ir/js-ic.d.ts +10 -9
  544. package/dist/ir/js-ic.js +28 -20
  545. package/dist/ir/js-ic.js.map +1 -1
  546. package/dist/ir/js-ic.test.js +10 -2
  547. package/dist/ir/js-ic.test.js.map +1 -1
  548. package/dist/ir/jsval.js +374 -63
  549. package/dist/ir/jsval.js.map +1 -1
  550. package/dist/ir/jsval.test.js +96 -2
  551. package/dist/ir/jsval.test.js.map +1 -1
  552. package/dist/ir/loop-entry-ranges.js +112 -9
  553. package/dist/ir/loop-entry-ranges.js.map +1 -1
  554. package/dist/ir/loop-entry-ranges.test.js +40 -0
  555. package/dist/ir/loop-entry-ranges.test.js.map +1 -1
  556. package/dist/ir/parameter-versions.d.ts +2 -1
  557. package/dist/ir/parameter-versions.js +3 -1
  558. package/dist/ir/parameter-versions.js.map +1 -1
  559. package/dist/ir/receiver-readers.js +58 -2
  560. package/dist/ir/receiver-readers.js.map +1 -1
  561. package/dist/ir/runtime-features.d.ts +60 -1
  562. package/dist/ir/runtime-features.js +277 -2
  563. package/dist/ir/runtime-features.js.map +1 -1
  564. package/dist/ir/runtime-features.test.js +165 -1
  565. package/dist/ir/runtime-features.test.js.map +1 -1
  566. package/dist/ir/saturating-loop-jams.d.ts +8 -1
  567. package/dist/ir/saturating-loop-jams.js +46 -7
  568. package/dist/ir/saturating-loop-jams.js.map +1 -1
  569. package/dist/ir/saturating-loop-jams.test.js +39 -1
  570. package/dist/ir/saturating-loop-jams.test.js.map +1 -1
  571. package/dist/ir/self-captures.js +8 -1
  572. package/dist/ir/self-captures.js.map +1 -1
  573. package/dist/ir/self-captures.test.js +15 -0
  574. package/dist/ir/self-captures.test.js.map +1 -1
  575. package/dist/ir/serialize.d.ts +3 -2
  576. package/dist/ir/serialize.js +6 -2
  577. package/dist/ir/serialize.js.map +1 -1
  578. package/dist/ir/validate.js +82 -4
  579. package/dist/ir/validate.js.map +1 -1
  580. package/dist/ir/validate.test.js +46 -0
  581. package/dist/ir/validate.test.js.map +1 -1
  582. package/dist/library/ir-policy.js +3 -0
  583. package/dist/library/ir-policy.js.map +1 -1
  584. package/dist/native/cache.js +2 -0
  585. package/dist/native/cache.js.map +1 -1
  586. package/dist/native/cli.js +2 -0
  587. package/dist/native/cli.js.map +1 -1
  588. package/dist/native/compiler.js +8 -2
  589. package/dist/native/compiler.js.map +1 -1
  590. package/dist/native/prepare.js +32 -3
  591. package/dist/native/prepare.js.map +1 -1
  592. package/dist/native/sanitizer.js +53 -3
  593. package/dist/native/sanitizer.js.map +1 -1
  594. package/dist/native/sanitizer.test.js +88 -2
  595. package/dist/native/sanitizer.test.js.map +1 -1
  596. package/dist/native/toolchain.js +9 -2
  597. package/dist/native/toolchain.js.map +1 -1
  598. package/dist/node-islands/boundary.d.ts +25 -1
  599. package/dist/node-islands/boundary.js +28 -2
  600. package/dist/node-islands/boundary.js.map +1 -1
  601. package/dist/node-islands/detect.d.ts +18 -1
  602. package/dist/node-islands/detect.js +365 -40
  603. package/dist/node-islands/detect.js.map +1 -1
  604. package/dist/node-islands/detect.test.js +151 -4
  605. package/dist/node-islands/detect.test.js.map +1 -1
  606. package/dist/node-islands/effect-gate.js +30 -20
  607. package/dist/node-islands/effect-gate.js.map +1 -1
  608. package/dist/node-islands/effect-gate.test.js +4 -1
  609. package/dist/node-islands/effect-gate.test.js.map +1 -1
  610. package/dist/node-islands/libnode.d.ts +1 -1
  611. package/dist/node-islands/libnode.js +1 -1
  612. package/dist/node-islands/libnode.js.map +1 -1
  613. package/dist/node-islands/modules.d.ts +28 -0
  614. package/dist/node-islands/modules.js +156 -0
  615. package/dist/node-islands/modules.js.map +1 -1
  616. package/dist/node-islands/modules.test.js +105 -1
  617. package/dist/node-islands/modules.test.js.map +1 -1
  618. package/dist/node-islands/policy.js +2 -3
  619. package/dist/node-islands/policy.js.map +1 -1
  620. package/dist/node-islands/probe-recorder.d.ts +1 -0
  621. package/dist/node-islands/probe-recorder.js +596 -0
  622. package/dist/node-islands/probe-recorder.js.map +1 -0
  623. package/dist/node-islands/probe-recorder.test.d.ts +1 -0
  624. package/dist/node-islands/probe-recorder.test.js +80 -0
  625. package/dist/node-islands/probe-recorder.test.js.map +1 -0
  626. package/dist/node-islands/report.test.js +2 -0
  627. package/dist/node-islands/report.test.js.map +1 -1
  628. package/dist/node-islands/rules.js +4 -0
  629. package/dist/node-islands/rules.js.map +1 -1
  630. package/dist/node-islands/scan.d.ts +7 -1
  631. package/dist/node-islands/scan.js +51 -2
  632. package/dist/node-islands/scan.js.map +1 -1
  633. package/dist/node-islands/snapshot.d.ts +38 -1
  634. package/dist/node-islands/snapshot.js +165 -161
  635. package/dist/node-islands/snapshot.js.map +1 -1
  636. package/dist/node-islands/snapshot.test.js +63 -2
  637. package/dist/node-islands/snapshot.test.js.map +1 -1
  638. package/dist/node-islands/summary.js +8 -0
  639. package/dist/node-islands/summary.js.map +1 -1
  640. package/dist/node-islands/type-strip.d.ts +11 -0
  641. package/dist/node-islands/type-strip.js +157 -0
  642. package/dist/node-islands/type-strip.js.map +1 -0
  643. package/dist/node-islands/type-strip.test.d.ts +1 -0
  644. package/dist/node-islands/type-strip.test.js +31 -0
  645. package/dist/node-islands/type-strip.test.js.map +1 -0
  646. package/dist/project-config.d.ts +4 -0
  647. package/dist/project-config.js +19 -0
  648. package/dist/project-config.js.map +1 -1
  649. package/dist/project-config.test.js +10 -0
  650. package/dist/project-config.test.js.map +1 -1
  651. package/package.json +20 -20
  652. package/surface-manifest.json +43 -11
@@ -82,6 +82,7 @@ const DYN_ASYNC_LIB_FNS = new Set([
82
82
  "process.offWarning",
83
83
  "process.onRejectionHandled",
84
84
  "process.onUncaughtException",
85
+ "process.prependUncaughtException",
85
86
  "process.onUnhandledRejection",
86
87
  "process.onWarning",
87
88
  "process.setDeprecationFlag",
@@ -301,18 +302,24 @@ const READABLE_DYN_ASYNC_PREFIXES = ["readable.fromGen", "readable.op"];
301
302
  /** Entry points that link the dyn-invoke unit. */
302
303
  const DYN_INVOKE_LIB_FNS = new Set([
303
304
  "dyn.arrayProtoCall",
305
+ "dyn.arrayLikeProtoCall",
306
+ "dyn.builtinPrototype",
304
307
  "dyn.arrayPrototype",
305
308
  "dyn.builtinFunction",
306
309
  "dyn.builtinMethod",
310
+ "dyn.stdlibPrototype",
307
311
  "dyn.defineProperty",
312
+ "dyn.definePropertyShapes",
308
313
  "child.propsDefine",
309
314
  "dyn.defineProps",
315
+ "dyn.definePropsShapes",
310
316
  "dyn.definePrototypeProps",
311
317
  "dyn.functionApply",
312
318
  "dyn.globalConstructor",
313
319
  "dyn.namespaceDefine",
314
320
  "dyn.namespaceNew",
315
321
  "dyn.objCreateWithProperties",
322
+ "dyn.objCreateWithPropertiesShapes",
316
323
  "dyn.objectTag",
317
324
  "stream.dynNative",
318
325
  "stream.dynNativePipe",
@@ -369,7 +376,15 @@ const SYMBOL_LIB_FNS = new Set([
369
376
  "buffer.prototypeMember",
370
377
  ]);
371
378
  /** Entry points that link the querystring unit. */
372
- const QS_LIB_FNS = new Set(["qs.parse", "qs.stringify", "qs.unescape"]);
379
+ const QS_LIB_FNS = new Set([
380
+ "qs.parse",
381
+ "qs.parseCustom",
382
+ "qs.stringify",
383
+ "qs.stringifyCustom",
384
+ "qs.separator",
385
+ "qs.unescape",
386
+ "qs.unescapeBuffer",
387
+ ]);
373
388
  /** Entry points that link the parseArgs unit. */
374
389
  const PARSE_ARGS_LIB_FNS = new Set([
375
390
  "util.isDeepStrictEqual",
@@ -560,7 +575,12 @@ const PROCESS_EVENT_LIB_FNS = new Set([
560
575
  "process.offSignal",
561
576
  "process.onExit",
562
577
  "process.onSignal",
578
+ "process.prependExit",
579
+ "process.prependSignal",
563
580
  "process.stdio",
581
+ "process.stdinIsRaw",
582
+ "process.stdioSlot",
583
+ "process.stdioWriteDyn",
564
584
  "stdin.nextChunk",
565
585
  "stdin.onData",
566
586
  "stdin.onEnd",
@@ -713,6 +733,147 @@ export function moduleUsesWebCryptoAsymmetric(mod) {
713
733
  });
714
734
  return webcrypto && named;
715
735
  }
736
+ /** The typed file reads that answer a ScrBytes: Node answers a Buffer, but
737
+ * scr_lib.c brands it only in the SCR_FS_BUFFER_BRAND build, so a program
738
+ * that can observe the difference links that build. */
739
+ const FS_READ_BYTES_FNS = new Set([
740
+ "fs.readFileSyncBuf",
741
+ "fs.readFileSyncBytes",
742
+ "fs.readFdSyncBytes",
743
+ "fsp.readFileBytes",
744
+ "fileHandle.readFileBytes",
745
+ ]);
746
+ /** The bytesIntrinsic searches whose runtime branch reads the brand: a
747
+ * Buffer viewed as a Uint8Array searches bytes, a plain Uint8Array compares
748
+ * element values (NaN and out-of-range needles differ). */
749
+ const FS_BUFFER_SEARCH_METHODS = new Set([
750
+ "indexOfElem",
751
+ "lastIndexOfElem",
752
+ "includesElem",
753
+ ]);
754
+ /** Whether a type holds bytes without passing another declaration, collecting
755
+ * the record and union declarations it references. A boxed function's call
756
+ * thunk boxes its result, and a checked function's thunk boxes its
757
+ * arguments, with no dynFrom in the IR. */
758
+ function reachesBytesDirect(t, deps) {
759
+ switch (t.kind) {
760
+ case "bytes":
761
+ return true;
762
+ case "array":
763
+ case "set":
764
+ return reachesBytesDirect(t.elem, deps);
765
+ case "map":
766
+ return reachesBytesDirect(t.key, deps) || reachesBytesDirect(t.value, deps);
767
+ case "promise":
768
+ return reachesBytesDirect(t.inner, deps);
769
+ case "func":
770
+ return reachesBytesDirect(t.ret, deps) || t.params.some((p) => reachesBytesDirect(p, deps));
771
+ case "record":
772
+ deps.push(`r:${t.shapeId}`);
773
+ return false;
774
+ case "union":
775
+ deps.push(`u:${t.unionId}`);
776
+ return false;
777
+ default:
778
+ return false;
779
+ }
780
+ }
781
+ /** The module's declarations that can hold bytes, resolved to a fixpoint: a
782
+ * record or union that references another declaration holding bytes holds
783
+ * bytes, and a recursive declaration resolves like a non-recursive one. The
784
+ * closure answers each reference from one pass over the declarations instead
785
+ * of walking the shape tree at every reference. */
786
+ function bytesCarryingDecls(mod) {
787
+ const referrers = new Map();
788
+ const carrying = new Set();
789
+ const queue = [];
790
+ const direct = (id, t) => {
791
+ const deps = [];
792
+ if (reachesBytesDirect(t, deps)) {
793
+ if (!carrying.has(id)) {
794
+ carrying.add(id);
795
+ queue.push(id);
796
+ }
797
+ }
798
+ for (const dep of deps) {
799
+ const list = referrers.get(dep);
800
+ if (list === undefined)
801
+ referrers.set(dep, [id]);
802
+ else
803
+ list.push(id);
804
+ }
805
+ };
806
+ for (const record of mod.records ?? []) {
807
+ for (const field of record.fields)
808
+ direct(`r:${record.id}`, field.type);
809
+ if (record.indexValue !== undefined)
810
+ direct(`r:${record.id}`, record.indexValue);
811
+ }
812
+ for (const union of mod.unions ?? []) {
813
+ for (const arm of union.arms)
814
+ direct(`u:${union.id}`, arm);
815
+ }
816
+ for (let i = 0; i < queue.length; i++) {
817
+ for (const from of referrers.get(queue[i]) ?? []) {
818
+ if (carrying.has(from))
819
+ continue;
820
+ carrying.add(from);
821
+ queue.push(from);
822
+ }
823
+ }
824
+ const deps = [];
825
+ const holdsBytes = (t) => {
826
+ deps.length = 0;
827
+ if (reachesBytesDirect(t, deps))
828
+ return true;
829
+ for (const dep of deps)
830
+ if (carrying.has(dep))
831
+ return true;
832
+ return false;
833
+ };
834
+ return holdsBytes;
835
+ }
836
+ /** fsBufferBrand's condition as a scan over the module: it reads file bytes
837
+ * through a typed read and can observe their Buffer-ness. scr_lib.c's read
838
+ * entries set is_buffer only under SCR_FS_BUFFER_BRAND, so this conjunction
839
+ * selects that variant; a program that reads bytes without observing them
840
+ * keeps the default object. */
841
+ function fsBufferBrandScan(mod) {
842
+ let reads = false;
843
+ let observes = false;
844
+ let holdsBytes;
845
+ return {
846
+ expr: (node) => {
847
+ if (reads && observes)
848
+ return;
849
+ if (node.kind === "libCall" && FS_READ_BYTES_FNS.has(node.fn)) {
850
+ reads = true;
851
+ return;
852
+ }
853
+ if (observes)
854
+ return;
855
+ switch (node.kind) {
856
+ case "dynFrom":
857
+ observes = (holdsBytes ??= bytesCarryingDecls(mod))(node.value.type);
858
+ return;
859
+ case "dynCheck":
860
+ if (node.type.kind === "func") {
861
+ observes = (holdsBytes ??= bytesCarryingDecls(mod))(node.type);
862
+ }
863
+ return;
864
+ case "bytesIntrinsic":
865
+ observes = FS_BUFFER_SEARCH_METHODS.has(node.method);
866
+ return;
867
+ case "libCall":
868
+ observes = node.fn === "buffer.isBranded" || node.fn === "insp.bytes";
869
+ return;
870
+ default:
871
+ return;
872
+ }
873
+ },
874
+ result: () => reads && observes,
875
+ };
876
+ }
716
877
  /** One rule per runtime feature, sorted by name. A new feature is an
717
878
  * entry here and its line in noRuntimeFeatures; RuntimeFeatures, the scan
718
879
  * and its early exit derive from this table. The lists above keep one
@@ -832,6 +993,16 @@ const RUNTIME_FEATURE_RULES = {
832
993
  * half (scr_dyn_builtin_stream.c): native stream state for constructor
833
994
  * functions, over the stream unit. */
834
995
  dynBuiltinStream: rule({ fns: ["dyn.builtinStreamClass"] }),
996
+ /** A standard library prototype object read as a value in a JavaScript
997
+ * source (scr_dyn_stdlib_prototype.c): `Date.prototype`. */
998
+ stdlibPrototypeValue: rule({ fns: ["dyn.stdlibPrototype"] }),
999
+ /** Array.prototype's generic algorithms over array-like receivers
1000
+ * (scr_dyn_array_like.c), which delegates every other name to the
1001
+ * dyn-invoke unit's array dispatch. */
1002
+ arrayLikeDispatch: rule({ fns: ["dyn.arrayLikeProtoCall"] }),
1003
+ /** Number.prototype and Boolean.prototype as values
1004
+ * (scr_dyn_builtin_prototype.c). */
1005
+ builtinPrototypeValue: rule({ fns: ["dyn.builtinPrototype"] }),
835
1006
  dynInvoke: rule({
836
1007
  initial: (mod) => mod.workers === true,
837
1008
  fns: [
@@ -844,6 +1015,11 @@ const RUNTIME_FEATURE_RULES = {
844
1015
  "webstream.class",
845
1016
  "webstream.instanceOf",
846
1017
  "webstream.install",
1018
+ // scr_js_wrapper.c answers other values' tags through
1019
+ // scr_dyn_object_tag_of, and its prototype methods call scr_dyn_invoke.
1020
+ "wrapper.objectTag",
1021
+ "wrapper.new",
1022
+ "wrapper.toObject",
847
1023
  ],
848
1024
  // Constant-key reads of Object.prototype member names answer the
849
1025
  // inherited member through scr_dyn_invoke.c.
@@ -894,6 +1070,12 @@ const RUNTIME_FEATURE_RULES = {
894
1070
  "buffer.installValue",
895
1071
  "buffer.staticValue",
896
1072
  "buffer.prototypeMember",
1073
+ "dyn.validateString",
1074
+ "dyn.validateStrings",
1075
+ "path.resolveValue",
1076
+ "path.parseValue",
1077
+ "path.formatValue",
1078
+ "path.toNamespacedValue",
897
1079
  ],
898
1080
  }),
899
1081
  /** The stream unit emits through the emitter unit, also when the
@@ -938,7 +1120,14 @@ const RUNTIME_FEATURE_RULES = {
938
1120
  eventsOnceSignal: rule({ fns: ["events.onceSignal"] }),
939
1121
  fetch: rule({ prefixes: ["fetch."] }),
940
1122
  fileHandle: rule({ types: ["fileHandle"] }),
1123
+ /** A typed fs read whose bytes value the program can observe as a Buffer:
1124
+ * scr_lib.c's SCR_FS_BUFFER_BRAND build, so programs that never see the
1125
+ * brand keep the default object. */
1126
+ fsBufferBrand: rule({ scan: fsBufferBrandScan }),
941
1127
  fsWatch: rule({ prefixes: ["fs.watch", "watcher."], types: ["fsWatcher"] }),
1128
+ /** fs.watchFile / fs.unwatchFile (scr_watch_file.c): the stat-polling
1129
+ * half of the watching surface, gated on its own unit. */
1130
+ fsWatchFile: rule({ fns: ["fs.watchFile", "fs.unwatchFile"] }),
942
1131
  /** A socket 'lookup' listener: the C main installs the net unit's
943
1132
  * lookup records (scr_net_lookup_install). */
944
1133
  netLookup: rule({ fns: ["net.sockOnLookup"] }),
@@ -952,6 +1141,12 @@ const RUNTIME_FEATURE_RULES = {
952
1141
  libCall: (node) => node.fn.startsWith("http2.") && !HTTP2_LEGACY_FNS.has(node.fn),
953
1142
  types: ["http2Session", "http2Stream"],
954
1143
  }),
1144
+ /** Intl over ICU: scr_intl.c plus the ICU archive and the data
1145
+ * file that ships beside the executable. The prefix is `icu.` because the
1146
+ * `intl.` libCalls are the engine-free fast paths — the embedded en-US
1147
+ * number format and the table-driven grapheme segmenter — which must keep
1148
+ * linking no ICU code. */
1149
+ icu: rule({ prefixes: ["icu."] }),
955
1150
  /** scr_test.c renders thrown strings with the inspect unit's string
956
1151
  * formatting; scr_util_callable.c wraps the inspect unit; readline's
957
1152
  * terminal unit prints completion errors through it when there is a
@@ -961,8 +1156,12 @@ const RUNTIME_FEATURE_RULES = {
961
1156
  "global.native",
962
1157
  // ERR_ARG_NOT_ITERABLE renders the value as util.format's %s does.
963
1158
  "webstream.class",
1159
+ // ERR_UNKNOWN_ENCODING formats an encoding that is not a string with %s.
1160
+ "strdec.encodingValue",
964
1161
  "webstream.install",
965
1162
  "util.styleText",
1163
+ // ERR_UNHANDLED_ERROR quotes util.inspect of a non-Error payload.
1164
+ "emitter.emitErrorValue",
966
1165
  "crypto.cipherNew",
967
1166
  "webcrypto.encrypt",
968
1167
  "webcrypto.decrypt",
@@ -1029,6 +1228,9 @@ const RUNTIME_FEATURE_RULES = {
1029
1228
  ...UTIL_CALLABLE_LIB_FNS,
1030
1229
  "rl.terminal",
1031
1230
  "str.localeCase",
1231
+ // win32.relative compares with String.prototype.toLowerCase's
1232
+ // Unicode case mapping.
1233
+ "path.win32Relative",
1032
1234
  ],
1033
1235
  prefixes: URL_PREFIXES,
1034
1236
  expr: (node, _tables) => node.kind === "regexLit" ||
@@ -1051,6 +1253,18 @@ const RUNTIME_FEATURE_RULES = {
1051
1253
  expr: (node, _tables) => (node.kind === "dynInvoke" && STDIO_EXTENDED_NAMES.has(node.method)) ||
1052
1254
  (node.kind === "strLit" && STDIO_EXTENDED_NAMES.has(node.value)),
1053
1255
  }),
1256
+ /** A write completion callback that takes the error argument lowers
1257
+ * through writable.writeEcb: the SCR_STREAM_WRITE_ERRORS stream unit
1258
+ * publishes the error the adapter delivers. */
1259
+ streamWriteErrors: rule({ fns: ["writable.writeEcb"] }),
1260
+ /** The program reaches the process output streams' write slot — the
1261
+ * write method as a value (process.stdioSlot), its replacement, a patched
1262
+ * program's typed writes, or a run-time-typed chunk
1263
+ * (process.stdioWriteDyn): the SCR_STDIO_WRITE_SLOT build of the events
1264
+ * unit carries the shared write body, the dynamic-chunk entry point and
1265
+ * Node's anonymous write function. Every other program links the default
1266
+ * object, byte for byte. */
1267
+ stdioWriteSlot: rule({ fns: ["process.stdioSlot", "process.stdioWriteDyn"] }),
1054
1268
  stream: rule({
1055
1269
  initial: (mod) => (mod.classes ?? []).some((c) => RUNTIME_STREAM_CLASSES.has(c.name)),
1056
1270
  fns: [...STREAM_LIB_FNS, "dyn.builtinStreamClass"],
@@ -1072,11 +1286,19 @@ const RUNTIME_FEATURE_RULES = {
1072
1286
  utilPromisify: rule({ fns: ["util.promisifyDyn"] }),
1073
1287
  /** process.emitWarning is assigned (process.setEmitWarning). */
1074
1288
  warningReplace: rule({ fns: ["process.setEmitWarning"] }),
1289
+ /** A record literal asserted to a wider record type answers a partial
1290
+ * record view (record-views.ts): the SIZE_MAX sentinel and its trap live in
1291
+ * the SCR_RECORD_VIEW_PARTIAL build of scr_json.c. */
1292
+ recordViewPartial: rule({
1293
+ expr: (node) => node.kind === "dynCheck" && node.partialView === true,
1294
+ }),
1075
1295
  /** Module namespace objects as checked-dynamic values
1076
1296
  * (scr_module_namespace.c). */
1077
1297
  moduleNamespace: rule({ fns: ["module.namespaceValue"] }),
1078
1298
  /** A module namespace boxed for typed code (scr_module_namespace_dyn.c). */
1079
1299
  moduleNamespaceDyn: rule({ fns: ["module.namespaceDyn"] }),
1300
+ /** Primitive wrapper objects (scr_js_wrapper.c). */
1301
+ primitiveWrapper: rule({ prefixes: ["wrapper."] }),
1080
1302
  /** The WebAssembly API (scr_wasm.c). */
1081
1303
  wasm: rule({ prefixes: ["wasm."] }),
1082
1304
  /** crypto.subtle importKey/sign/verify/digest and CryptoKey:
@@ -1110,6 +1332,33 @@ const RUNTIME_FEATURE_RULES = {
1110
1332
  "tls.sockGetCertificate",
1111
1333
  ],
1112
1334
  }),
1335
+ /** writeFile's `flag` disposition ("w" / "wx") and copyFile's mode
1336
+ * argument: scr_fs_flags.c and the SCR_FS_FLAGS build of scr_fs_cp.c.
1337
+ * Programs that never pass either keep both units' default objects. */
1338
+ fsFlags: rule({
1339
+ fns: [
1340
+ "fs.copyFileFlagsSync",
1341
+ "fs.writeFileFlagsSync",
1342
+ "fsp.copyFileFlags",
1343
+ "fsp.writeFileFlags",
1344
+ ],
1345
+ }),
1346
+ /** string_decoder's checked-dynamic chunk forms (a stream "data" payload):
1347
+ * scr_bytes_strdec_dyn.c. */
1348
+ strdecDyn: rule({ fns: ["strdec.nextDyn", "strdec.writeDyn"] }),
1349
+ /** The process and stream event registries' extras — prependListener for
1350
+ * signals, 'exit' and uncaught exceptions, stdin.isRaw, and server.off:
1351
+ * the SCR_PROCESS_EXTRAS builds of scr_events.c and scr_async_dyn.c and
1352
+ * the SCR_NET_SERVER_OFF build of scr_net.c. */
1353
+ processExtras: rule({
1354
+ fns: [
1355
+ "net.serverOff",
1356
+ "process.prependExit",
1357
+ "process.prependSignal",
1358
+ "process.prependUncaughtException",
1359
+ "process.stdinIsRaw",
1360
+ ],
1361
+ }),
1113
1362
  zlib: rule({ prefixes: ["zlib."] }),
1114
1363
  /** node:zlib's Brotli forms: zlib.brotliInstall, which %main calls when
1115
1364
  * the program uses Brotli (scr_brotli.c). */
@@ -1137,7 +1386,10 @@ function noRuntimeFeatures() {
1137
1386
  dynAsync: false,
1138
1387
  dynBuiltinClass: false,
1139
1388
  dynBuiltinStream: false,
1389
+ stdlibPrototypeValue: false,
1140
1390
  dynInvoke: false,
1391
+ arrayLikeDispatch: false,
1392
+ builtinPrototypeValue: false,
1141
1393
  dynTier: false,
1142
1394
  ecdh: false,
1143
1395
  x509: false,
@@ -1147,9 +1399,13 @@ function noRuntimeFeatures() {
1147
1399
  eventsOnceSignal: false,
1148
1400
  fetch: false,
1149
1401
  fileHandle: false,
1402
+ fsBufferBrand: false,
1403
+ fsFlags: false,
1150
1404
  fsWatch: false,
1405
+ fsWatchFile: false,
1151
1406
  http2: false,
1152
1407
  http: false,
1408
+ icu: false,
1153
1409
  inspect: false,
1154
1410
  legacyTextDecoder: false,
1155
1411
  mime: false,
@@ -1166,14 +1422,19 @@ function noRuntimeFeatures() {
1166
1422
  pki: false,
1167
1423
  ed25519: false,
1168
1424
  processEvents: false,
1425
+ processExtras: false,
1169
1426
  qs: false,
1170
1427
  regex: false,
1171
1428
  searchParams: false,
1172
1429
  urlIdna: false,
1173
1430
  stdioExtended: false,
1431
+ stdioWriteSlot: false,
1432
+ streamWriteErrors: false,
1174
1433
  moduleNamespace: false,
1175
1434
  moduleNamespaceDyn: false,
1435
+ primitiveWrapper: false,
1176
1436
  stream: false,
1437
+ strdecDyn: false,
1177
1438
  streamDyn: false,
1178
1439
  handleProps: false,
1179
1440
  childLifecycle: false,
@@ -1188,6 +1449,7 @@ function noRuntimeFeatures() {
1188
1449
  tlsCa: false,
1189
1450
  utilPromisify: false,
1190
1451
  warningReplace: false,
1452
+ recordViewPartial: false,
1191
1453
  wasm: false,
1192
1454
  webcrypto: false,
1193
1455
  zlib: false,
@@ -1233,7 +1495,7 @@ function scanRuntimeFeatures(mod, stopAt, nodes) {
1233
1495
  if (initial && initial(mod))
1234
1496
  features[name] = true;
1235
1497
  if (scan)
1236
- scans.push({ name, scan: scan() });
1498
+ scans.push({ name, scan: scan(mod) });
1237
1499
  }
1238
1500
  const keepGoing = () => stopAt === undefined || !features[stopAt];
1239
1501
  let tables;
@@ -1292,6 +1554,11 @@ function scanRuntimeFeatures(mod, stopAt, nodes) {
1292
1554
  const sites = new JsIcSites(mod);
1293
1555
  features.dynTier = mod.functions.some((fn) => fn.tier === "dynamic" && hasJsIcSite(fn, sites));
1294
1556
  }
1557
+ // A jsval parameter or result (ir/jsval.ts) is retained and released
1558
+ // through the tier's word reference counting, with or without a js.*
1559
+ // operation in the body.
1560
+ if (!features.dynTier)
1561
+ features.dynTier = mod.functions.some((fn) => fn.returnType.kind === "jsval" || fn.params.some((p) => p.type.kind === "jsval"));
1295
1562
  return features;
1296
1563
  }
1297
1564
  /** True when the module contains any regex construct — a regexLit /
@@ -1480,6 +1747,14 @@ export function moduleUsesParseArgs(mod) {
1480
1747
  export function moduleUsesFsWatch(mod) {
1481
1748
  return scanRuntimeFeatures(mod, "fsWatch").fsWatch;
1482
1749
  }
1750
+ /** True when the module contains an fs.watchFile/fs.unwatchFile libCall —
1751
+ * the link switch that pulls scr_watch_file.c into the binary and has the
1752
+ * emitted main call scr_watch_file_install (the moduleUsesFsWatch
1753
+ * precedent, one unit of its own). Programs that never poll pay zero bytes
1754
+ * and keep their exact link line. */
1755
+ export function moduleUsesFsWatchFile(mod) {
1756
+ return scanRuntimeFeatures(mod, "fsWatchFile").fsWatchFile;
1757
+ }
1483
1758
  /** True when the module contains any test.* libCall or a testCtx handle
1484
1759
  * type — the link switch that pulls scr_test.c into the binary and has
1485
1760
  * the emitted main return scr_test_exit_code() after the loop drains
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-features.js","sourceRoot":"","sources":["../../src/ir/runtime-features.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-features.js","sourceRoot":"","sources":["../../src/ir/runtime-features.ts"],"names":[],"mappings":"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"}