@scriptc/compiler 0.2.4 → 0.2.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 (1104) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +915 -215
  2. package/ambient/scriptc-overrides.d.ts +5 -1
  3. package/ambient/scriptc.d.ts +22 -2
  4. package/dist/backend/build-cache.d.ts +4 -0
  5. package/dist/backend/build-cache.js +16 -2
  6. package/dist/backend/build-cache.js.map +1 -1
  7. package/dist/backend/cycle-analysis.js +17 -5
  8. package/dist/backend/cycle-analysis.js.map +1 -1
  9. package/dist/backend/cycle-analysis.test.js +50 -11
  10. package/dist/backend/cycle-analysis.test.js.map +1 -1
  11. package/dist/backend/debug-symbols.js.map +1 -1
  12. package/dist/backend/executable-features.js +2 -1
  13. package/dist/backend/executable-features.js.map +1 -1
  14. package/dist/backend/external-c.d.ts +13 -6
  15. package/dist/backend/external-c.js +15 -3
  16. package/dist/backend/external-c.js.map +1 -1
  17. package/dist/backend/ffi-callbacks.js +6 -9
  18. package/dist/backend/ffi-callbacks.js.map +1 -1
  19. package/dist/backend/library-identity-markers.js.map +1 -1
  20. package/dist/backend/library-pack.d.ts +1 -1
  21. package/dist/backend/library-pack.js +81 -24
  22. package/dist/backend/library-pack.js.map +1 -1
  23. package/dist/backend/link-plan-core.js +9 -2
  24. package/dist/backend/link-plan-core.js.map +1 -1
  25. package/dist/backend/link-plan.d.ts +1 -1
  26. package/dist/backend/link-plan.js +4 -5
  27. package/dist/backend/link-plan.js.map +1 -1
  28. package/dist/backend/linker.d.ts +1 -1
  29. package/dist/backend/linker.js +42 -23
  30. package/dist/backend/linker.js.map +1 -1
  31. package/dist/backend/literals.js +5 -4
  32. package/dist/backend/literals.js.map +1 -1
  33. package/dist/backend/literals.test.js +30 -5
  34. package/dist/backend/literals.test.js.map +1 -1
  35. package/dist/backend/llvm/blocks.test.js +5 -2
  36. package/dist/backend/llvm/blocks.test.js.map +1 -1
  37. package/dist/backend/llvm/borrowed-inputs.js.map +1 -1
  38. package/dist/backend/llvm/borrowed-receivers.js +43 -19
  39. package/dist/backend/llvm/borrowed-receivers.js.map +1 -1
  40. package/dist/backend/llvm/byte-numbers.js +6 -1
  41. package/dist/backend/llvm/byte-numbers.js.map +1 -1
  42. package/dist/backend/llvm/bytes-bounds.js +73 -22
  43. package/dist/backend/llvm/bytes-bounds.js.map +1 -1
  44. package/dist/backend/llvm/call-lifetimes.d.ts +3 -0
  45. package/dist/backend/llvm/call-lifetimes.js +60 -17
  46. package/dist/backend/llvm/call-lifetimes.js.map +1 -1
  47. package/dist/backend/llvm/call-lifetimes.test.js +159 -28
  48. package/dist/backend/llvm/call-lifetimes.test.js.map +1 -1
  49. package/dist/backend/llvm/checked-value-lifetimes.d.ts +4 -0
  50. package/dist/backend/llvm/checked-value-lifetimes.js +14 -4
  51. package/dist/backend/llvm/checked-value-lifetimes.js.map +1 -1
  52. package/dist/backend/llvm/classes.js +16 -12
  53. package/dist/backend/llvm/classes.js.map +1 -1
  54. package/dist/backend/llvm/common.js +4 -1
  55. package/dist/backend/llvm/common.js.map +1 -1
  56. package/dist/backend/llvm/counted-loops.js +10 -3
  57. package/dist/backend/llvm/counted-loops.js.map +1 -1
  58. package/dist/backend/llvm/debug-info.js +33 -13
  59. package/dist/backend/llvm/debug-info.js.map +1 -1
  60. package/dist/backend/llvm/debug-info.test.js +28 -6
  61. package/dist/backend/llvm/debug-info.test.js.map +1 -1
  62. package/dist/backend/llvm/dyn.js +68 -22
  63. package/dist/backend/llvm/dyn.js.map +1 -1
  64. package/dist/backend/llvm/emitter.d.ts +9 -3
  65. package/dist/backend/llvm/emitter.js +238 -105
  66. package/dist/backend/llvm/emitter.js.map +1 -1
  67. package/dist/backend/llvm/emitter.test.js +233 -42
  68. package/dist/backend/llvm/emitter.test.js.map +1 -1
  69. package/dist/backend/llvm/expr-async.js +25 -6
  70. package/dist/backend/llvm/expr-async.js.map +1 -1
  71. package/dist/backend/llvm/expr-bytes.js +13 -4
  72. package/dist/backend/llvm/expr-bytes.js.map +1 -1
  73. package/dist/backend/llvm/expr-callbacks.js +10 -4
  74. package/dist/backend/llvm/expr-callbacks.js.map +1 -1
  75. package/dist/backend/llvm/expr-calls.js +20 -9
  76. package/dist/backend/llvm/expr-calls.js.map +1 -1
  77. package/dist/backend/llvm/expr-containers.d.ts +2 -0
  78. package/dist/backend/llvm/expr-containers.js +92 -33
  79. package/dist/backend/llvm/expr-containers.js.map +1 -1
  80. package/dist/backend/llvm/expr-control.js +1 -3
  81. package/dist/backend/llvm/expr-control.js.map +1 -1
  82. package/dist/backend/llvm/expr-dispatch.js +3 -1
  83. package/dist/backend/llvm/expr-dispatch.js.map +1 -1
  84. package/dist/backend/llvm/expr-dynamic.js +19 -4
  85. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  86. package/dist/backend/llvm/expr-island.js +26 -6
  87. package/dist/backend/llvm/expr-island.js.map +1 -1
  88. package/dist/backend/llvm/expr-primitives.js +88 -19
  89. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  90. package/dist/backend/llvm/expr-primitives.test.js +43 -1
  91. package/dist/backend/llvm/expr-primitives.test.js.map +1 -1
  92. package/dist/backend/llvm/expr-records.js +10 -9
  93. package/dist/backend/llvm/expr-records.js.map +1 -1
  94. package/dist/backend/llvm/expr-stream-bridges.js +44 -26
  95. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  96. package/dist/backend/llvm/expr-stream-bridges.test.js +51 -14
  97. package/dist/backend/llvm/expr-stream-bridges.test.js.map +1 -1
  98. package/dist/backend/llvm/expr-stream-callbacks.js +34 -14
  99. package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
  100. package/dist/backend/llvm/integer-values.js +15 -4
  101. package/dist/backend/llvm/integer-values.js.map +1 -1
  102. package/dist/backend/llvm/integer-views.js +23 -7
  103. package/dist/backend/llvm/integer-views.js.map +1 -1
  104. package/dist/backend/llvm/integer-views.test.js +42 -7
  105. package/dist/backend/llvm/integer-views.test.js.map +1 -1
  106. package/dist/backend/llvm/lib-abi.js +13 -4
  107. package/dist/backend/llvm/lib-abi.js.map +1 -1
  108. package/dist/backend/llvm/lib-connect.js +7 -1
  109. package/dist/backend/llvm/lib-connect.js.map +1 -1
  110. package/dist/backend/llvm/lib-datagram.js +35 -10
  111. package/dist/backend/llvm/lib-datagram.js.map +1 -1
  112. package/dist/backend/llvm/lib-dispatch.js +35 -16
  113. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  114. package/dist/backend/llvm/lib-filesystem.js +33 -18
  115. package/dist/backend/llvm/lib-filesystem.js.map +1 -1
  116. package/dist/backend/llvm/lib-http2.js +60 -15
  117. package/dist/backend/llvm/lib-http2.js.map +1 -1
  118. package/dist/backend/llvm/lib-lookup.js +12 -5
  119. package/dist/backend/llvm/lib-lookup.js.map +1 -1
  120. package/dist/backend/llvm/lib-network.js +97 -31
  121. package/dist/backend/llvm/lib-network.js.map +1 -1
  122. package/dist/backend/llvm/lib-process.js +57 -14
  123. package/dist/backend/llvm/lib-process.js.map +1 -1
  124. package/dist/backend/llvm/lib-shared.js +107 -31
  125. package/dist/backend/llvm/lib-shared.js.map +1 -1
  126. package/dist/backend/llvm/lib-stream.js +33 -14
  127. package/dist/backend/llvm/lib-stream.js.map +1 -1
  128. package/dist/backend/llvm/lib-test.js +21 -7
  129. package/dist/backend/llvm/lib-test.js.map +1 -1
  130. package/dist/backend/llvm/lib-tls.js +69 -20
  131. package/dist/backend/llvm/lib-tls.js.map +1 -1
  132. package/dist/backend/llvm/local-array-reads.d.ts +1 -0
  133. package/dist/backend/llvm/local-array-reads.js +96 -30
  134. package/dist/backend/llvm/local-array-reads.js.map +1 -1
  135. package/dist/backend/llvm/local-array-reads.test.js +368 -60
  136. package/dist/backend/llvm/local-array-reads.test.js.map +1 -1
  137. package/dist/backend/llvm/local-union-storage.d.ts +25 -0
  138. package/dist/backend/llvm/local-union-storage.js +109 -0
  139. package/dist/backend/llvm/local-union-storage.js.map +1 -0
  140. package/dist/backend/llvm/local-union-storage.test.d.ts +1 -0
  141. package/dist/backend/llvm/local-union-storage.test.js +210 -0
  142. package/dist/backend/llvm/local-union-storage.test.js.map +1 -0
  143. package/dist/backend/llvm/map-read-lifetimes.d.ts +6 -2
  144. package/dist/backend/llvm/map-read-lifetimes.js +44 -14
  145. package/dist/backend/llvm/map-read-lifetimes.js.map +1 -1
  146. package/dist/backend/llvm/map-read-lifetimes.test.js +89 -17
  147. package/dist/backend/llvm/map-read-lifetimes.test.js.map +1 -1
  148. package/dist/backend/llvm/reference-effects.d.ts +3 -2
  149. package/dist/backend/llvm/reference-effects.js +67 -36
  150. package/dist/backend/llvm/reference-effects.js.map +1 -1
  151. package/dist/backend/llvm/reference-effects.test.js +92 -9
  152. package/dist/backend/llvm/reference-effects.test.js.map +1 -1
  153. package/dist/backend/llvm/shapes.js +60 -17
  154. package/dist/backend/llvm/shapes.js.map +1 -1
  155. package/dist/backend/llvm/shapes.test.js +3 -1
  156. package/dist/backend/llvm/shapes.test.js.map +1 -1
  157. package/dist/backend/llvm/split.js +4 -4
  158. package/dist/backend/llvm/split.js.map +1 -1
  159. package/dist/backend/llvm/split.test.js +14 -6
  160. package/dist/backend/llvm/split.test.js.map +1 -1
  161. package/dist/backend/llvm/stack-unions.js +14 -5
  162. package/dist/backend/llvm/stack-unions.js.map +1 -1
  163. package/dist/backend/llvm/stack-unions.test.js +151 -32
  164. package/dist/backend/llvm/stack-unions.test.js.map +1 -1
  165. package/dist/backend/llvm/string-construction.js.map +1 -1
  166. package/dist/backend/llvm/string-construction.test.js +32 -7
  167. package/dist/backend/llvm/string-construction.test.js.map +1 -1
  168. package/dist/backend/llvm/string-lifetimes.js +14 -8
  169. package/dist/backend/llvm/string-lifetimes.js.map +1 -1
  170. package/dist/backend/llvm/string-lifetimes.test.js +112 -26
  171. package/dist/backend/llvm/string-lifetimes.test.js.map +1 -1
  172. package/dist/backend/llvm/switch-dispatch.d.ts +9 -0
  173. package/dist/backend/llvm/switch-dispatch.js +114 -0
  174. package/dist/backend/llvm/switch-dispatch.js.map +1 -0
  175. package/dist/backend/llvm/switch-dispatch.test.d.ts +1 -0
  176. package/dist/backend/llvm/switch-dispatch.test.js +83 -0
  177. package/dist/backend/llvm/switch-dispatch.test.js.map +1 -0
  178. package/dist/backend/llvm/unsupported.js.map +1 -1
  179. package/dist/backend/llvm/walkers.js +6 -3
  180. package/dist/backend/llvm/walkers.js.map +1 -1
  181. package/dist/backend/mangle.js +9 -3
  182. package/dist/backend/mangle.js.map +1 -1
  183. package/dist/backend/may-throw.js +18 -8
  184. package/dist/backend/may-throw.js.map +1 -1
  185. package/dist/backend/may-throw.test.js +118 -22
  186. package/dist/backend/may-throw.test.js.map +1 -1
  187. package/dist/backend/native/artifact-stamps.d.ts +39 -0
  188. package/dist/backend/native/artifact-stamps.js +371 -0
  189. package/dist/backend/native/artifact-stamps.js.map +1 -0
  190. package/dist/backend/native/cache-warm.d.ts +24 -0
  191. package/dist/backend/native/cache-warm.js +80 -0
  192. package/dist/backend/native/cache-warm.js.map +1 -0
  193. package/dist/backend/native/compiler-fingerprint.d.ts +19 -0
  194. package/dist/backend/native/compiler-fingerprint.js +357 -0
  195. package/dist/backend/native/compiler-fingerprint.js.map +1 -0
  196. package/dist/backend/native/contracts.d.ts +314 -0
  197. package/dist/backend/native/contracts.js +2 -0
  198. package/dist/backend/native/contracts.js.map +1 -0
  199. package/dist/backend/native/dependency-files.d.ts +5 -0
  200. package/dist/backend/native/dependency-files.js +83 -0
  201. package/dist/backend/native/dependency-files.js.map +1 -0
  202. package/dist/backend/native/driver.d.ts +50 -0
  203. package/dist/backend/native/driver.js +294 -0
  204. package/dist/backend/native/driver.js.map +1 -0
  205. package/dist/backend/native/executable.d.ts +18 -0
  206. package/dist/backend/native/executable.js +1267 -0
  207. package/dist/backend/native/executable.js.map +1 -0
  208. package/dist/backend/native/library.d.ts +2 -0
  209. package/dist/backend/native/library.js +614 -0
  210. package/dist/backend/native/library.js.map +1 -0
  211. package/dist/backend/native/linker-fingerprint.d.ts +8 -0
  212. package/dist/backend/native/linker-fingerprint.js +174 -0
  213. package/dist/backend/native/linker-fingerprint.js.map +1 -0
  214. package/dist/backend/native/object-merge.d.ts +2 -0
  215. package/dist/backend/native/object-merge.js +154 -0
  216. package/dist/backend/native/object-merge.js.map +1 -0
  217. package/dist/backend/native/process.d.ts +17 -0
  218. package/dist/backend/native/process.js +42 -0
  219. package/dist/backend/native/process.js.map +1 -0
  220. package/dist/backend/native/program-shards.d.ts +21 -0
  221. package/dist/backend/native/program-shards.js +99 -0
  222. package/dist/backend/native/program-shards.js.map +1 -0
  223. package/dist/backend/native/runtime-inputs.d.ts +12 -0
  224. package/dist/backend/native/runtime-inputs.js +163 -0
  225. package/dist/backend/native/runtime-inputs.js.map +1 -0
  226. package/dist/backend/native/runtime-inputs.test.d.ts +1 -0
  227. package/dist/backend/native/runtime-inputs.test.js +64 -0
  228. package/dist/backend/native/runtime-inputs.test.js.map +1 -0
  229. package/dist/backend/native/runtime-objects.d.ts +16 -0
  230. package/dist/backend/native/runtime-objects.js +122 -0
  231. package/dist/backend/native/runtime-objects.js.map +1 -0
  232. package/dist/backend/native/session.d.ts +12 -0
  233. package/dist/backend/native/session.js +31 -0
  234. package/dist/backend/native/session.js.map +1 -0
  235. package/dist/backend/native/tool-identity.d.ts +37 -0
  236. package/dist/backend/native/tool-identity.js +310 -0
  237. package/dist/backend/native/tool-identity.js.map +1 -0
  238. package/dist/backend/native/trace-paths.d.ts +12 -0
  239. package/dist/backend/native/trace-paths.js +73 -0
  240. package/dist/backend/native/trace-paths.js.map +1 -0
  241. package/dist/backend/native/vendor.d.ts +1 -0
  242. package/dist/backend/native/vendor.js +12 -0
  243. package/dist/backend/native/vendor.js.map +1 -0
  244. package/dist/backend/native-codegen-core.js +2 -1
  245. package/dist/backend/native-codegen-core.js.map +1 -1
  246. package/dist/backend/native-codegen.d.ts +1 -1
  247. package/dist/backend/native-codegen.js +24 -13
  248. package/dist/backend/native-codegen.js.map +1 -1
  249. package/dist/backend/native-codegen.test.js +12 -9
  250. package/dist/backend/native-codegen.test.js.map +1 -1
  251. package/dist/backend/native-link-info-core.js +9 -5
  252. package/dist/backend/native-link-info-core.js.map +1 -1
  253. package/dist/backend/native-link-info.js +14 -5
  254. package/dist/backend/native-link-info.js.map +1 -1
  255. package/dist/backend/native-link-info.test.js +58 -13
  256. package/dist/backend/native-link-info.test.js.map +1 -1
  257. package/dist/backend/native-toolchain.d.ts +17 -450
  258. package/dist/backend/native-toolchain.js +17 -3971
  259. package/dist/backend/native-toolchain.js.map +1 -1
  260. package/dist/backend/native-toolchain.test.js +103 -72
  261. package/dist/backend/native-toolchain.test.js.map +1 -1
  262. package/dist/backend/native-tools.js +27 -8
  263. package/dist/backend/native-tools.js.map +1 -1
  264. package/dist/backend/object-localize.js +17 -14
  265. package/dist/backend/object-localize.js.map +1 -1
  266. package/dist/backend/object-localize.test.js +59 -12
  267. package/dist/backend/object-localize.test.js.map +1 -1
  268. package/dist/backend/runtime-pack-core.js +96 -49
  269. package/dist/backend/runtime-pack-core.js.map +1 -1
  270. package/dist/backend/runtime-pack-native.js +5 -3
  271. package/dist/backend/runtime-pack-native.js.map +1 -1
  272. package/dist/backend/runtime-pack-targets.test.js +87 -15
  273. package/dist/backend/runtime-pack-targets.test.js.map +1 -1
  274. package/dist/backend/runtime-pack.d.ts +1 -1
  275. package/dist/backend/runtime-pack.js +11 -12
  276. package/dist/backend/runtime-pack.js.map +1 -1
  277. package/dist/backend/runtime-pack.test.js +40 -24
  278. package/dist/backend/runtime-pack.test.js.map +1 -1
  279. package/dist/backend/source-locations.js.map +1 -1
  280. package/dist/backend/source-locations.test.js +7 -2
  281. package/dist/backend/source-locations.test.js.map +1 -1
  282. package/dist/backend/target-diagnostics.js +44 -14
  283. package/dist/backend/target-diagnostics.js.map +1 -1
  284. package/dist/backend/target-diagnostics.test.js +93 -20
  285. package/dist/backend/target-diagnostics.test.js.map +1 -1
  286. package/dist/backend/targets.js +230 -86
  287. package/dist/backend/targets.js.map +1 -1
  288. package/dist/backend/targets.test.js +32 -18
  289. package/dist/backend/targets.test.js.map +1 -1
  290. package/dist/backend/toolchain-environment.js +5 -1
  291. package/dist/backend/toolchain-environment.js.map +1 -1
  292. package/dist/backend/vendor-archives.d.ts +2 -2
  293. package/dist/backend/vendor-archives.js +84 -35
  294. package/dist/backend/vendor-archives.js.map +1 -1
  295. package/dist/backend/vendor-inputs.js +13 -1
  296. package/dist/backend/vendor-inputs.js.map +1 -1
  297. package/dist/backend/warm-cache.d.ts +1 -1
  298. package/dist/backend/warm-cache.js +33 -9
  299. package/dist/backend/warm-cache.js.map +1 -1
  300. package/dist/cli/command.js +39 -9
  301. package/dist/cli/command.js.map +1 -1
  302. package/dist/cli/output-options.js +14 -4
  303. package/dist/cli/output-options.js.map +1 -1
  304. package/dist/cli/paths.js.map +1 -1
  305. package/dist/cli/wasi-runner.js.map +1 -1
  306. package/dist/compat/fetch-profile.js +36 -35
  307. package/dist/compat/fetch-profile.js.map +1 -1
  308. package/dist/coverage/report.js +16 -17
  309. package/dist/coverage/report.js.map +1 -1
  310. package/dist/coverage/surface-manifest.js +112 -26
  311. package/dist/coverage/surface-manifest.js.map +1 -1
  312. package/dist/diagnostics/diagnostic.js +55 -16
  313. package/dist/diagnostics/diagnostic.js.map +1 -1
  314. package/dist/executable/executable-cache.d.ts +1 -1
  315. package/dist/executable/executable-cache.js +78 -48
  316. package/dist/executable/executable-cache.js.map +1 -1
  317. package/dist/executable/executable-cache.test.js +75 -26
  318. package/dist/executable/executable-cache.test.js.map +1 -1
  319. package/dist/executable/prepare.js +2 -2
  320. package/dist/executable/prepare.js.map +1 -1
  321. package/dist/ffi/ffi-manifest.js +78 -20
  322. package/dist/ffi/ffi-manifest.js.map +1 -1
  323. package/dist/ffi/ffi-manifest.test.js +96 -16
  324. package/dist/ffi/ffi-manifest.test.js.map +1 -1
  325. package/dist/format-integer.js.map +1 -1
  326. package/dist/frontend/analysis.js +12 -2
  327. package/dist/frontend/analysis.js.map +1 -1
  328. package/dist/frontend/arguments-usage.js.map +1 -1
  329. package/dist/frontend/binding-source.js +9 -3
  330. package/dist/frontend/binding-source.js.map +1 -1
  331. package/dist/frontend/builtin-modules.js +46 -2
  332. package/dist/frontend/builtin-modules.js.map +1 -1
  333. package/dist/frontend/cjs-resolve.js +40 -17
  334. package/dist/frontend/cjs-resolve.js.map +1 -1
  335. package/dist/frontend/cjs-syntax.js +31 -10
  336. package/dist/frontend/cjs-syntax.js.map +1 -1
  337. package/dist/frontend/comptime-node.test.js +10 -11
  338. package/dist/frontend/comptime-node.test.js.map +1 -1
  339. package/dist/frontend/dts-paths.js +7 -3
  340. package/dist/frontend/dts-paths.js.map +1 -1
  341. package/dist/frontend/fork-target.js +17 -12
  342. package/dist/frontend/fork-target.js.map +1 -1
  343. package/dist/frontend/function-completion.js +11 -6
  344. package/dist/frontend/function-completion.js.map +1 -1
  345. package/dist/frontend/helper-tokens.js +53 -6
  346. package/dist/frontend/helper-tokens.js.map +1 -1
  347. package/dist/frontend/helper-tokens.test.js +18 -2
  348. package/dist/frontend/helper-tokens.test.js.map +1 -1
  349. package/dist/frontend/inferred-js-diagnostics.js +32 -12
  350. package/dist/frontend/inferred-js-diagnostics.js.map +1 -1
  351. package/dist/frontend/inferred-js-diagnostics.test.js +11 -15
  352. package/dist/frontend/inferred-js-diagnostics.test.js.map +1 -1
  353. package/dist/frontend/input-tracker.js +11 -11
  354. package/dist/frontend/input-tracker.js.map +1 -1
  355. package/dist/frontend/input-tracker.test.js +4 -1
  356. package/dist/frontend/input-tracker.test.js.map +1 -1
  357. package/dist/frontend/lib-contract.js +38 -9
  358. package/dist/frontend/lib-contract.js.map +1 -1
  359. package/dist/frontend/literal-values.js.map +1 -1
  360. package/dist/frontend/literal-values.test.js +28 -8
  361. package/dist/frontend/literal-values.test.js.map +1 -1
  362. package/dist/frontend/lowering/abstract-equality.js +53 -10
  363. package/dist/frontend/lowering/abstract-equality.js.map +1 -1
  364. package/dist/frontend/lowering/array-indexed-mutation.d.ts +1 -1
  365. package/dist/frontend/lowering/array-indexed-mutation.js +108 -106
  366. package/dist/frontend/lowering/array-indexed-mutation.js.map +1 -1
  367. package/dist/frontend/lowering/array-values.js +37 -14
  368. package/dist/frontend/lowering/array-values.js.map +1 -1
  369. package/dist/frontend/lowering/binding-analysis.d.ts +50 -0
  370. package/dist/frontend/lowering/binding-analysis.js +376 -0
  371. package/dist/frontend/lowering/binding-analysis.js.map +1 -0
  372. package/dist/frontend/lowering/builtin-calls.d.ts +9 -0
  373. package/dist/frontend/lowering/builtin-calls.js +60 -0
  374. package/dist/frontend/lowering/builtin-calls.js.map +1 -0
  375. package/dist/frontend/lowering/builtins/arguments.d.ts +43 -0
  376. package/dist/frontend/lowering/builtins/arguments.js +247 -0
  377. package/dist/frontend/lowering/builtins/arguments.js.map +1 -0
  378. package/dist/frontend/lowering/builtins/async-context.d.ts +52 -0
  379. package/dist/frontend/lowering/builtins/async-context.js +436 -0
  380. package/dist/frontend/lowering/builtins/async-context.js.map +1 -0
  381. package/dist/frontend/lowering/builtins/atomics.d.ts +15 -0
  382. package/dist/frontend/lowering/builtins/atomics.js +46 -0
  383. package/dist/frontend/lowering/builtins/atomics.js.map +1 -0
  384. package/dist/frontend/lowering/builtins/callable-aliases.d.ts +13 -0
  385. package/dist/frontend/lowering/builtins/callable-aliases.js +87 -0
  386. package/dist/frontend/lowering/builtins/callable-aliases.js.map +1 -0
  387. package/dist/frontend/lowering/builtins/child-process-async.d.ts +18 -0
  388. package/dist/frontend/lowering/builtins/child-process-async.js +245 -0
  389. package/dist/frontend/lowering/builtins/child-process-async.js.map +1 -0
  390. package/dist/frontend/lowering/builtins/child-process-methods.d.ts +21 -0
  391. package/dist/frontend/lowering/builtins/child-process-methods.js +362 -0
  392. package/dist/frontend/lowering/builtins/child-process-methods.js.map +1 -0
  393. package/dist/frontend/lowering/builtins/child-process-sync.d.ts +4 -0
  394. package/dist/frontend/lowering/builtins/child-process-sync.js +639 -0
  395. package/dist/frontend/lowering/builtins/child-process-sync.js.map +1 -0
  396. package/dist/frontend/lowering/builtins/child-process.d.ts +55 -0
  397. package/dist/frontend/lowering/builtins/child-process.js +669 -0
  398. package/dist/frontend/lowering/builtins/child-process.js.map +1 -0
  399. package/dist/frontend/lowering/builtins/compression.d.ts +7 -0
  400. package/dist/frontend/lowering/builtins/compression.js +115 -0
  401. package/dist/frontend/lowering/builtins/compression.js.map +1 -0
  402. package/dist/frontend/lowering/builtins/console.d.ts +10 -0
  403. package/dist/frontend/lowering/builtins/console.js +38 -0
  404. package/dist/frontend/lowering/builtins/console.js.map +1 -0
  405. package/dist/frontend/lowering/builtins/constants.d.ts +24 -0
  406. package/dist/frontend/lowering/builtins/constants.js +141 -0
  407. package/dist/frontend/lowering/builtins/constants.js.map +1 -0
  408. package/dist/frontend/lowering/builtins/crypto.d.ts +22 -0
  409. package/dist/frontend/lowering/builtins/crypto.js +517 -0
  410. package/dist/frontend/lowering/builtins/crypto.js.map +1 -0
  411. package/dist/frontend/lowering/builtins/dates.d.ts +7 -0
  412. package/dist/frontend/lowering/builtins/dates.js +101 -0
  413. package/dist/frontend/lowering/builtins/dates.js.map +1 -0
  414. package/dist/frontend/lowering/builtins/environment.d.ts +34 -0
  415. package/dist/frontend/lowering/builtins/environment.js +95 -0
  416. package/dist/frontend/lowering/builtins/environment.js.map +1 -0
  417. package/dist/frontend/lowering/builtins/errors.d.ts +14 -0
  418. package/dist/frontend/lowering/builtins/errors.js +83 -0
  419. package/dist/frontend/lowering/builtins/errors.js.map +1 -0
  420. package/dist/frontend/lowering/builtins/filesystem-calls.d.ts +32 -0
  421. package/dist/frontend/lowering/builtins/filesystem-calls.js +678 -0
  422. package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -0
  423. package/dist/frontend/lowering/builtins/filesystem.d.ts +108 -0
  424. package/dist/frontend/lowering/builtins/filesystem.js +1061 -0
  425. package/dist/frontend/lowering/builtins/filesystem.js.map +1 -0
  426. package/dist/frontend/lowering/builtins/ipc.d.ts +8 -0
  427. package/dist/frontend/lowering/builtins/ipc.js +76 -0
  428. package/dist/frontend/lowering/builtins/ipc.js.map +1 -0
  429. package/dist/frontend/lowering/builtins/json.d.ts +12 -0
  430. package/dist/frontend/lowering/builtins/json.js +387 -0
  431. package/dist/frontend/lowering/builtins/json.js.map +1 -0
  432. package/dist/frontend/lowering/builtins/module-bindings.d.ts +85 -0
  433. package/dist/frontend/lowering/builtins/module-bindings.js +346 -0
  434. package/dist/frontend/lowering/builtins/module-bindings.js.map +1 -0
  435. package/dist/frontend/lowering/builtins/module-calls.d.ts +8 -0
  436. package/dist/frontend/lowering/builtins/module-calls.js +303 -0
  437. package/dist/frontend/lowering/builtins/module-calls.js.map +1 -0
  438. package/dist/frontend/lowering/builtins/module-resolution.d.ts +38 -0
  439. package/dist/frontend/lowering/builtins/module-resolution.js +344 -0
  440. package/dist/frontend/lowering/builtins/module-resolution.js.map +1 -0
  441. package/dist/frontend/lowering/builtins/numbers.d.ts +15 -0
  442. package/dist/frontend/lowering/builtins/numbers.js +124 -0
  443. package/dist/frontend/lowering/builtins/numbers.js.map +1 -0
  444. package/dist/frontend/lowering/builtins/operating-system.d.ts +13 -0
  445. package/dist/frontend/lowering/builtins/operating-system.js +148 -0
  446. package/dist/frontend/lowering/builtins/operating-system.js.map +1 -0
  447. package/dist/frontend/lowering/builtins/performance.d.ts +13 -0
  448. package/dist/frontend/lowering/builtins/performance.js +100 -0
  449. package/dist/frontend/lowering/builtins/performance.js.map +1 -0
  450. package/dist/frontend/lowering/builtins/process.d.ts +50 -0
  451. package/dist/frontend/lowering/builtins/process.js +1138 -0
  452. package/dist/frontend/lowering/builtins/process.js.map +1 -0
  453. package/dist/frontend/lowering/builtins/promises.d.ts +14 -0
  454. package/dist/frontend/lowering/builtins/promises.js +356 -0
  455. package/dist/frontend/lowering/builtins/promises.js.map +1 -0
  456. package/dist/frontend/lowering/builtins/properties.d.ts +11 -0
  457. package/dist/frontend/lowering/builtins/properties.js +186 -0
  458. package/dist/frontend/lowering/builtins/properties.js.map +1 -0
  459. package/dist/frontend/lowering/builtins/querystring.d.ts +19 -0
  460. package/dist/frontend/lowering/builtins/querystring.js +150 -0
  461. package/dist/frontend/lowering/builtins/querystring.js.map +1 -0
  462. package/dist/frontend/lowering/builtins/readline.d.ts +13 -0
  463. package/dist/frontend/lowering/builtins/readline.js +138 -0
  464. package/dist/frontend/lowering/builtins/readline.js.map +1 -0
  465. package/dist/frontend/lowering/builtins/receiver-types.d.ts +5 -0
  466. package/dist/frontend/lowering/builtins/receiver-types.js +15 -0
  467. package/dist/frontend/lowering/builtins/receiver-types.js.map +1 -0
  468. package/dist/frontend/lowering/builtins/reflection.d.ts +13 -0
  469. package/dist/frontend/lowering/builtins/reflection.js +95 -0
  470. package/dist/frontend/lowering/builtins/reflection.js.map +1 -0
  471. package/dist/frontend/lowering/builtins/strings.d.ts +14 -0
  472. package/dist/frontend/lowering/builtins/strings.js +121 -0
  473. package/dist/frontend/lowering/builtins/strings.js.map +1 -0
  474. package/dist/frontend/lowering/builtins/text-codecs.d.ts +29 -0
  475. package/dist/frontend/lowering/builtins/text-codecs.js +590 -0
  476. package/dist/frontend/lowering/builtins/text-codecs.js.map +1 -0
  477. package/dist/frontend/lowering/builtins/timers.d.ts +22 -0
  478. package/dist/frontend/lowering/builtins/timers.js +180 -0
  479. package/dist/frontend/lowering/builtins/timers.js.map +1 -0
  480. package/dist/frontend/lowering/builtins/url.d.ts +37 -0
  481. package/dist/frontend/lowering/builtins/url.js +596 -0
  482. package/dist/frontend/lowering/builtins/url.js.map +1 -0
  483. package/dist/frontend/lowering/builtins/util-types.d.ts +7 -0
  484. package/dist/frontend/lowering/builtins/util-types.js +31 -0
  485. package/dist/frontend/lowering/builtins/util-types.js.map +1 -0
  486. package/dist/frontend/lowering/call-arguments.d.ts +72 -0
  487. package/dist/frontend/lowering/call-arguments.js +618 -0
  488. package/dist/frontend/lowering/call-arguments.js.map +1 -0
  489. package/dist/frontend/lowering/call-signatures.d.ts +115 -0
  490. package/dist/frontend/lowering/call-signatures.js +719 -0
  491. package/dist/frontend/lowering/call-signatures.js.map +1 -0
  492. package/dist/frontend/lowering/callback-arg.js.map +1 -1
  493. package/dist/frontend/lowering/checked-iterable-spread.js +53 -10
  494. package/dist/frontend/lowering/checked-iterable-spread.js.map +1 -1
  495. package/dist/frontend/lowering/checked-promise-all.js +41 -9
  496. package/dist/frontend/lowering/checked-promise-all.js.map +1 -1
  497. package/dist/frontend/lowering/class-callbacks.d.ts +1 -1
  498. package/dist/frontend/lowering/class-callbacks.js +130 -27
  499. package/dist/frontend/lowering/class-callbacks.js.map +1 -1
  500. package/dist/frontend/lowering/class-construction.d.ts +1 -1
  501. package/dist/frontend/lowering/class-construction.js +247 -50
  502. package/dist/frontend/lowering/class-construction.js.map +1 -1
  503. package/dist/frontend/lowering/class-descriptors.js +109 -29
  504. package/dist/frontend/lowering/class-descriptors.js.map +1 -1
  505. package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +6 -1
  506. package/dist/frontend/lowering/class-dynamic-dispatch.js +2471 -465
  507. package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
  508. package/dist/frontend/lowering/class-dynamic-dispatch.test.js +284 -44
  509. package/dist/frontend/lowering/class-dynamic-dispatch.test.js.map +1 -1
  510. package/dist/frontend/lowering/class-instance-constructor.js +17 -5
  511. package/dist/frontend/lowering/class-instance-constructor.js.map +1 -1
  512. package/dist/frontend/lowering/class-method-values.js +199 -51
  513. package/dist/frontend/lowering/class-method-values.js.map +1 -1
  514. package/dist/frontend/lowering/class-prototypes.js +345 -86
  515. package/dist/frontend/lowering/class-prototypes.js.map +1 -1
  516. package/dist/frontend/lowering/class-runtime-statics.d.ts +1 -1
  517. package/dist/frontend/lowering/class-runtime-statics.js +80 -17
  518. package/dist/frontend/lowering/class-runtime-statics.js.map +1 -1
  519. package/dist/frontend/lowering/class-static-data.js +76 -16
  520. package/dist/frontend/lowering/class-static-data.js.map +1 -1
  521. package/dist/frontend/lowering/coercions/builders.d.ts +13 -0
  522. package/dist/frontend/lowering/coercions/builders.js +77 -0
  523. package/dist/frontend/lowering/coercions/builders.js.map +1 -0
  524. package/dist/frontend/lowering/coercions/function-adapters.d.ts +58 -0
  525. package/dist/frontend/lowering/coercions/function-adapters.js +430 -0
  526. package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -0
  527. package/dist/frontend/lowering/coercions/island.d.ts +37 -0
  528. package/dist/frontend/lowering/coercions/island.js +350 -0
  529. package/dist/frontend/lowering/coercions/island.js.map +1 -0
  530. package/dist/frontend/lowering/coercions/state.d.ts +14 -0
  531. package/dist/frontend/lowering/coercions/state.js +16 -0
  532. package/dist/frontend/lowering/coercions/state.js.map +1 -0
  533. package/dist/frontend/lowering/coercions/structural-plans.d.ts +40 -0
  534. package/dist/frontend/lowering/coercions/structural-plans.js +447 -0
  535. package/dist/frontend/lowering/coercions/structural-plans.js.map +1 -0
  536. package/dist/frontend/lowering/coercions/structural.d.ts +63 -0
  537. package/dist/frontend/lowering/coercions/structural.js +616 -0
  538. package/dist/frontend/lowering/coercions/structural.js.map +1 -0
  539. package/dist/frontend/lowering/coercions/unions.d.ts +65 -0
  540. package/dist/frontend/lowering/coercions/unions.js +318 -0
  541. package/dist/frontend/lowering/coercions/unions.js.map +1 -0
  542. package/dist/frontend/lowering/collection-ingestion.js +355 -72
  543. package/dist/frontend/lowering/collection-ingestion.js.map +1 -1
  544. package/dist/frontend/lowering/containers/array-callbacks.d.ts +92 -0
  545. package/dist/frontend/lowering/containers/array-callbacks.js +1646 -0
  546. package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -0
  547. package/dist/frontend/lowering/containers/array-construction.d.ts +42 -0
  548. package/dist/frontend/lowering/containers/array-construction.js +1044 -0
  549. package/dist/frontend/lowering/containers/array-construction.js.map +1 -0
  550. package/dist/frontend/lowering/containers/array-iteration.d.ts +16 -0
  551. package/dist/frontend/lowering/containers/array-iteration.js +95 -0
  552. package/dist/frontend/lowering/containers/array-iteration.js.map +1 -0
  553. package/dist/frontend/lowering/containers/array-methods.d.ts +27 -0
  554. package/dist/frontend/lowering/containers/array-methods.js +1854 -0
  555. package/dist/frontend/lowering/containers/array-methods.js.map +1 -0
  556. package/dist/frontend/lowering/containers/bytes.d.ts +17 -17
  557. package/dist/frontend/lowering/containers/bytes.js +419 -105
  558. package/dist/frontend/lowering/containers/bytes.js.map +1 -1
  559. package/dist/frontend/lowering/containers/callback-arguments.d.ts +26 -0
  560. package/dist/frontend/lowering/containers/callback-arguments.js +179 -0
  561. package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -0
  562. package/dist/frontend/lowering/containers/collection-grouping.d.ts +19 -0
  563. package/dist/frontend/lowering/containers/collection-grouping.js +297 -0
  564. package/dist/frontend/lowering/containers/collection-grouping.js.map +1 -0
  565. package/dist/frontend/lowering/containers/collection-methods.d.ts +57 -0
  566. package/dist/frontend/lowering/containers/collection-methods.js +1314 -0
  567. package/dist/frontend/lowering/containers/collection-methods.js.map +1 -0
  568. package/dist/frontend/lowering/containers/dynamic-receivers.d.ts +18 -0
  569. package/dist/frontend/lowering/containers/dynamic-receivers.js +114 -0
  570. package/dist/frontend/lowering/containers/dynamic-receivers.js.map +1 -0
  571. package/dist/frontend/lowering/containers/for-of.d.ts +60 -0
  572. package/dist/frontend/lowering/containers/for-of.js +643 -0
  573. package/dist/frontend/lowering/containers/for-of.js.map +1 -0
  574. package/dist/frontend/lowering/containers/indexed-objects.d.ts +132 -0
  575. package/dist/frontend/lowering/containers/indexed-objects.js +1743 -0
  576. package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -0
  577. package/dist/frontend/lowering/containers/iterator-helpers.d.ts +20 -0
  578. package/dist/frontend/lowering/containers/iterator-helpers.js +809 -0
  579. package/dist/frontend/lowering/containers/iterator-helpers.js.map +1 -0
  580. package/dist/frontend/lowering/containers/string-and-regexp.js +580 -158
  581. package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
  582. package/dist/frontend/lowering/containers/string-replacement.js +213 -63
  583. package/dist/frontend/lowering/containers/string-replacement.js.map +1 -1
  584. package/dist/frontend/lowering/crypto-tables.js +263 -64
  585. package/dist/frontend/lowering/crypto-tables.js.map +1 -1
  586. package/dist/frontend/lowering/deferred-module-initializers.js +172 -68
  587. package/dist/frontend/lowering/deferred-module-initializers.js.map +1 -1
  588. package/dist/frontend/lowering/deferred-module-initializers.test.js +41 -8
  589. package/dist/frontend/lowering/deferred-module-initializers.test.js.map +1 -1
  590. package/dist/frontend/lowering/error-methods.js +339 -65
  591. package/dist/frontend/lowering/error-methods.js.map +1 -1
  592. package/dist/frontend/lowering/expressions/evaluation-safety.js +3 -2
  593. package/dist/frontend/lowering/expressions/evaluation-safety.js.map +1 -1
  594. package/dist/frontend/lowering/expressions/global-symbols.js +2 -1
  595. package/dist/frontend/lowering/expressions/global-symbols.js.map +1 -1
  596. package/dist/frontend/lowering/expressions/native-proxy.js +11 -5
  597. package/dist/frontend/lowering/expressions/native-proxy.js.map +1 -1
  598. package/dist/frontend/lowering/expressions/nullish-assignment.js +67 -13
  599. package/dist/frontend/lowering/expressions/nullish-assignment.js.map +1 -1
  600. package/dist/frontend/lowering/expressions/object-literals.js +589 -162
  601. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
  602. package/dist/frontend/lowering/expressions/optional-chains.d.ts +1 -1
  603. package/dist/frontend/lowering/expressions/optional-chains.js +68 -17
  604. package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
  605. package/dist/frontend/lowering/expressions/union-field-write.js +45 -18
  606. package/dist/frontend/lowering/expressions/union-field-write.js.map +1 -1
  607. package/dist/frontend/lowering/function-context.js +5 -1
  608. package/dist/frontend/lowering/function-context.js.map +1 -1
  609. package/dist/frontend/lowering/function-returns.d.ts +67 -0
  610. package/dist/frontend/lowering/function-returns.js +392 -0
  611. package/dist/frontend/lowering/function-returns.js.map +1 -0
  612. package/dist/frontend/lowering/generator-delegation.d.ts +1 -1
  613. package/dist/frontend/lowering/generator-delegation.js +171 -39
  614. package/dist/frontend/lowering/generator-delegation.js.map +1 -1
  615. package/dist/frontend/lowering/generator-dynamic-dispatch.d.ts +1 -1
  616. package/dist/frontend/lowering/generator-dynamic-dispatch.js +176 -36
  617. package/dist/frontend/lowering/generator-dynamic-dispatch.js.map +1 -1
  618. package/dist/frontend/lowering/generic-functions.d.ts +274 -0
  619. package/dist/frontend/lowering/generic-functions.js +1727 -0
  620. package/dist/frontend/lowering/generic-functions.js.map +1 -0
  621. package/dist/frontend/lowering/import-meta.d.ts +1 -1
  622. package/dist/frontend/lowering/import-meta.js +37 -14
  623. package/dist/frontend/lowering/import-meta.js.map +1 -1
  624. package/dist/frontend/lowering/indexed-comparison.js +6 -2
  625. package/dist/frontend/lowering/indexed-comparison.js.map +1 -1
  626. package/dist/frontend/lowering/iterator-consumption.d.ts +9 -0
  627. package/dist/frontend/lowering/iterator-consumption.js +91 -0
  628. package/dist/frontend/lowering/iterator-consumption.js.map +1 -0
  629. package/dist/frontend/lowering/lib-boundary.js +40 -17
  630. package/dist/frontend/lowering/lib-boundary.js.map +1 -1
  631. package/dist/frontend/lowering/lib-boundary.test.js +49 -11
  632. package/dist/frontend/lowering/lib-boundary.test.js.map +1 -1
  633. package/dist/frontend/lowering/lower-array-sort.d.ts +0 -19
  634. package/dist/frontend/lowering/lower-array-sort.js +331 -566
  635. package/dist/frontend/lowering/lower-array-sort.js.map +1 -1
  636. package/dist/frontend/lowering/lower-assert.js +248 -43
  637. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  638. package/dist/frontend/lowering/lower-async-iteration.js +71 -16
  639. package/dist/frontend/lowering/lower-async-iteration.js.map +1 -1
  640. package/dist/frontend/lowering/lower-builtin-values.js +420 -71
  641. package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
  642. package/dist/frontend/lowering/lower-calls.d.ts +39 -558
  643. package/dist/frontend/lowering/lower-calls.js +2593 -5667
  644. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  645. package/dist/frontend/lowering/lower-classes.d.ts +243 -242
  646. package/dist/frontend/lowering/lower-classes.js +1701 -724
  647. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  648. package/dist/frontend/lowering/lower-comptime.d.ts +35 -35
  649. package/dist/frontend/lowering/lower-comptime.js +39 -37
  650. package/dist/frontend/lowering/lower-comptime.js.map +1 -1
  651. package/dist/frontend/lowering/lower-dgram.js +59 -31
  652. package/dist/frontend/lowering/lower-dgram.js.map +1 -1
  653. package/dist/frontend/lowering/lower-enums.js +5 -2
  654. package/dist/frontend/lowering/lower-enums.js.map +1 -1
  655. package/dist/frontend/lowering/lower-event-emitter.js +322 -85
  656. package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
  657. package/dist/frontend/lowering/lower-expando.js +19 -7
  658. package/dist/frontend/lowering/lower-expando.js.map +1 -1
  659. package/dist/frontend/lowering/lower-exprs.d.ts +194 -194
  660. package/dist/frontend/lowering/lower-exprs.js +3446 -1154
  661. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  662. package/dist/frontend/lowering/lower-functions.d.ts +23 -0
  663. package/dist/frontend/lowering/lower-functions.js +449 -0
  664. package/dist/frontend/lowering/lower-functions.js.map +1 -0
  665. package/dist/frontend/lowering/lower-generators.js +121 -32
  666. package/dist/frontend/lowering/lower-generators.js.map +1 -1
  667. package/dist/frontend/lowering/lower-global-value.js +15 -4
  668. package/dist/frontend/lowering/lower-global-value.js.map +1 -1
  669. package/dist/frontend/lowering/lower-inspect.js +479 -89
  670. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  671. package/dist/frontend/lowering/lower-island.d.ts +79 -79
  672. package/dist/frontend/lowering/lower-island.js +365 -273
  673. package/dist/frontend/lowering/lower-island.js.map +1 -1
  674. package/dist/frontend/lowering/lower-island.test.js +7 -2
  675. package/dist/frontend/lowering/lower-island.test.js.map +1 -1
  676. package/dist/frontend/lowering/lower-mixins.js +17 -8
  677. package/dist/frontend/lowering/lower-mixins.js.map +1 -1
  678. package/dist/frontend/lowering/lower-modules.d.ts +94 -94
  679. package/dist/frontend/lowering/lower-modules.js +612 -321
  680. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  681. package/dist/frontend/lowering/lower-modules.test.js +91 -20
  682. package/dist/frontend/lowering/lower-modules.test.js.map +1 -1
  683. package/dist/frontend/lowering/lower-namespaces.js +25 -8
  684. package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
  685. package/dist/frontend/lowering/lower-node-module.js +115 -34
  686. package/dist/frontend/lowering/lower-node-module.js.map +1 -1
  687. package/dist/frontend/lowering/lower-server.js +1210 -290
  688. package/dist/frontend/lowering/lower-server.js.map +1 -1
  689. package/dist/frontend/lowering/lower-stmts.d.ts +148 -148
  690. package/dist/frontend/lowering/lower-stmts.js +2312 -984
  691. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  692. package/dist/frontend/lowering/lower-stmts.test.js +13 -5
  693. package/dist/frontend/lowering/lower-stmts.test.js.map +1 -1
  694. package/dist/frontend/lowering/lower-stream.js +362 -90
  695. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  696. package/dist/frontend/lowering/lower-system-errors.js +30 -8
  697. package/dist/frontend/lowering/lower-system-errors.js.map +1 -1
  698. package/dist/frontend/lowering/lower-test.js +40 -13
  699. package/dist/frontend/lowering/lower-test.js.map +1 -1
  700. package/dist/frontend/lowering/lower-timers.d.ts +31 -0
  701. package/dist/frontend/lowering/lower-timers.js +336 -0
  702. package/dist/frontend/lowering/lower-timers.js.map +1 -0
  703. package/dist/frontend/lowering/lower-url.d.ts +1 -1
  704. package/dist/frontend/lowering/lower-url.js +46 -13
  705. package/dist/frontend/lowering/lower-url.js.map +1 -1
  706. package/dist/frontend/lowering/lowerer.d.ts +21 -351
  707. package/dist/frontend/lowering/lowerer.js +1024 -2704
  708. package/dist/frontend/lowering/lowerer.js.map +1 -1
  709. package/dist/frontend/lowering/lowerer.test.js +85 -17
  710. package/dist/frontend/lowering/lowerer.test.js.map +1 -1
  711. package/dist/frontend/lowering/module-namespace-elements.js +43 -8
  712. package/dist/frontend/lowering/module-namespace-elements.js.map +1 -1
  713. package/dist/frontend/lowering/native-ffi.d.ts +21 -1
  714. package/dist/frontend/lowering/native-ffi.js +487 -18
  715. package/dist/frontend/lowering/native-ffi.js.map +1 -1
  716. package/dist/frontend/lowering/object-enumeration-receiver.js +55 -10
  717. package/dist/frontend/lowering/object-enumeration-receiver.js.map +1 -1
  718. package/dist/frontend/lowering/object-factory-new.d.ts +1 -1
  719. package/dist/frontend/lowering/object-factory-new.js +36 -11
  720. package/dist/frontend/lowering/object-factory-new.js.map +1 -1
  721. package/dist/frontend/lowering/optional-arguments.js +49 -20
  722. package/dist/frontend/lowering/optional-arguments.js.map +1 -1
  723. package/dist/frontend/lowering/pairs-snapshot.js +66 -14
  724. package/dist/frontend/lowering/pairs-snapshot.js.map +1 -1
  725. package/dist/frontend/lowering/runtime-optional-locals.js +3 -1
  726. package/dist/frontend/lowering/runtime-optional-locals.js.map +1 -1
  727. package/dist/frontend/lowering/runtime-optional-locals.test.js.map +1 -1
  728. package/dist/frontend/lowering/sanitize-class-types.js +4 -1
  729. package/dist/frontend/lowering/sanitize-class-types.js.map +1 -1
  730. package/dist/frontend/lowering/sanitize-class-types.test.js +86 -18
  731. package/dist/frontend/lowering/sanitize-class-types.test.js.map +1 -1
  732. package/dist/frontend/lowering/static-this.js +13 -6
  733. package/dist/frontend/lowering/static-this.js.map +1 -1
  734. package/dist/frontend/lowering/string-index.js +32 -10
  735. package/dist/frontend/lowering/string-index.js.map +1 -1
  736. package/dist/frontend/lowering/surfaces.d.ts +42 -42
  737. package/dist/frontend/lowering/surfaces.js +1094 -249
  738. package/dist/frontend/lowering/surfaces.js.map +1 -1
  739. package/dist/frontend/lowering/symbol-fields.js +40 -15
  740. package/dist/frontend/lowering/symbol-fields.js.map +1 -1
  741. package/dist/frontend/lowering/symbol-methods.js.map +1 -1
  742. package/dist/frontend/lowering/text-decoder-encoding.js +236 -24
  743. package/dist/frontend/lowering/text-decoder-encoding.js.map +1 -1
  744. package/dist/frontend/lowering/text-decoder-encoding.test.js +84 -12
  745. package/dist/frontend/lowering/text-decoder-encoding.test.js.map +1 -1
  746. package/dist/frontend/lowering/union-narrow.js +59 -16
  747. package/dist/frontend/lowering/union-narrow.js.map +1 -1
  748. package/dist/frontend/lowering/union-narrow.test.js +24 -7
  749. package/dist/frontend/lowering/union-narrow.test.js.map +1 -1
  750. package/dist/frontend/lowering/union-retag.js +155 -40
  751. package/dist/frontend/lowering/union-retag.js.map +1 -1
  752. package/dist/frontend/lowering/union-retag.test.js +131 -33
  753. package/dist/frontend/lowering/union-retag.test.js.map +1 -1
  754. package/dist/frontend/lowering/unregistered-class-types.js.map +1 -1
  755. package/dist/frontend/lowering/unregistered-class-types.test.js +34 -8
  756. package/dist/frontend/lowering/unregistered-class-types.test.js.map +1 -1
  757. package/dist/frontend/module-syntax.js +21 -8
  758. package/dist/frontend/module-syntax.js.map +1 -1
  759. package/dist/frontend/module-syntax.test.js +37 -13
  760. package/dist/frontend/module-syntax.test.js.map +1 -1
  761. package/dist/frontend/npm-fetch-analysis.js +13 -4
  762. package/dist/frontend/npm-fetch-analysis.js.map +1 -1
  763. package/dist/frontend/npm-fetch-analysis.test.js +33 -10
  764. package/dist/frontend/npm-fetch-analysis.test.js.map +1 -1
  765. package/dist/frontend/npm-fetch-node.js.map +1 -1
  766. package/dist/frontend/npm-fetch-syntax.js +4 -9
  767. package/dist/frontend/npm-fetch-syntax.js.map +1 -1
  768. package/dist/frontend/npm-node.js +3 -1
  769. package/dist/frontend/npm-node.js.map +1 -1
  770. package/dist/frontend/npm-static-bundled-cjs.js +88 -29
  771. package/dist/frontend/npm-static-bundled-cjs.js.map +1 -1
  772. package/dist/frontend/npm-static-bundled-cjs.test.js +29 -10
  773. package/dist/frontend/npm-static-bundled-cjs.test.js.map +1 -1
  774. package/dist/frontend/npm-static-declaration-syntax.js +148 -56
  775. package/dist/frontend/npm-static-declaration-syntax.js.map +1 -1
  776. package/dist/frontend/npm-static-declarations.d.ts +1 -1
  777. package/dist/frontend/npm-static-declarations.js.map +1 -1
  778. package/dist/frontend/npm-static-declarations.test.js +33 -7
  779. package/dist/frontend/npm-static-declarations.test.js.map +1 -1
  780. package/dist/frontend/npm-static-prune.js +26 -12
  781. package/dist/frontend/npm-static-prune.js.map +1 -1
  782. package/dist/frontend/npm-static-prune.test.js +17 -3
  783. package/dist/frontend/npm-static-prune.test.js.map +1 -1
  784. package/dist/frontend/npm-static-rewrite-host.js +2 -3
  785. package/dist/frontend/npm-static-rewrite-host.js.map +1 -1
  786. package/dist/frontend/npm-static-rewrite-syntax.js +64 -21
  787. package/dist/frontend/npm-static-rewrite-syntax.js.map +1 -1
  788. package/dist/frontend/npm-static-rewrite.js.map +1 -1
  789. package/dist/frontend/npm-static-subtyping.js +9 -4
  790. package/dist/frontend/npm-static-subtyping.js.map +1 -1
  791. package/dist/frontend/npm-static-subtyping.test.js +30 -6
  792. package/dist/frontend/npm-static-subtyping.test.js.map +1 -1
  793. package/dist/frontend/npm-static.js +15 -4
  794. package/dist/frontend/npm-static.js.map +1 -1
  795. package/dist/frontend/npm.js +122 -36
  796. package/dist/frontend/npm.js.map +1 -1
  797. package/dist/frontend/npm.test.js +30 -10
  798. package/dist/frontend/npm.test.js.map +1 -1
  799. package/dist/frontend/pipeline-native.js.map +1 -1
  800. package/dist/frontend/pipeline.js +25 -8
  801. package/dist/frontend/pipeline.js.map +1 -1
  802. package/dist/frontend/pipeline.test.js +21 -7
  803. package/dist/frontend/pipeline.test.js.map +1 -1
  804. package/dist/frontend/program-node.js +5 -3
  805. package/dist/frontend/program-node.js.map +1 -1
  806. package/dist/frontend/program.d.ts +2 -2
  807. package/dist/frontend/program.js +234 -101
  808. package/dist/frontend/program.js.map +1 -1
  809. package/dist/frontend/program.test.js +27 -27
  810. package/dist/frontend/program.test.js.map +1 -1
  811. package/dist/frontend/provenance-core.js +8 -4
  812. package/dist/frontend/provenance-core.js.map +1 -1
  813. package/dist/frontend/provenance-registry.js +1 -4
  814. package/dist/frontend/provenance-registry.js.map +1 -1
  815. package/dist/frontend/resolve.js +32 -20
  816. package/dist/frontend/resolve.js.map +1 -1
  817. package/dist/frontend/resolve.test.js +1 -1
  818. package/dist/frontend/resolve.test.js.map +1 -1
  819. package/dist/frontend/runtime-resolve.js +13 -4
  820. package/dist/frontend/runtime-resolve.js.map +1 -1
  821. package/dist/frontend/runtime-resolve.test.js +25 -9
  822. package/dist/frontend/runtime-resolve.test.js.map +1 -1
  823. package/dist/frontend/services-node.js +6 -2
  824. package/dist/frontend/services-node.js.map +1 -1
  825. package/dist/frontend/services-node.test.js +18 -6
  826. package/dist/frontend/services-node.test.js.map +1 -1
  827. package/dist/frontend/services.js +8 -4
  828. package/dist/frontend/services.js.map +1 -1
  829. package/dist/frontend/services.test.js +6 -2
  830. package/dist/frontend/services.test.js.map +1 -1
  831. package/dist/frontend/ts7/api.js +12 -4
  832. package/dist/frontend/ts7/api.js.map +1 -1
  833. package/dist/frontend/ts7/ast-bytes.js +10 -3
  834. package/dist/frontend/ts7/ast-bytes.js.map +1 -1
  835. package/dist/frontend/ts7/ast-bytes.test.js +23 -4
  836. package/dist/frontend/ts7/ast-bytes.test.js.map +1 -1
  837. package/dist/frontend/ts7/ast-guards.test.js +14 -5
  838. package/dist/frontend/ts7/ast-guards.test.js.map +1 -1
  839. package/dist/frontend/ts7/ast-node.d.ts +6 -1
  840. package/dist/frontend/ts7/ast-node.js +484 -164
  841. package/dist/frontend/ts7/ast-node.js.map +1 -1
  842. package/dist/frontend/ts7/ast-node.test.js +109 -36
  843. package/dist/frontend/ts7/ast-node.test.js.map +1 -1
  844. package/dist/frontend/ts7/ast-text.js +13 -3
  845. package/dist/frontend/ts7/ast-text.js.map +1 -1
  846. package/dist/frontend/ts7/ast-text.test.js.map +1 -1
  847. package/dist/frontend/ts7/ast-types.js.map +1 -1
  848. package/dist/frontend/ts7/ast-wire.d.ts +1 -1
  849. package/dist/frontend/ts7/ast-wire.js +55 -20
  850. package/dist/frontend/ts7/ast-wire.js.map +1 -1
  851. package/dist/frontend/ts7/ast-wire.test.js +53 -8
  852. package/dist/frontend/ts7/ast-wire.test.js.map +1 -1
  853. package/dist/frontend/ts7/ast.js +47 -28
  854. package/dist/frontend/ts7/ast.js.map +1 -1
  855. package/dist/frontend/ts7/census-check.js +1 -1
  856. package/dist/frontend/ts7/census-check.js.map +1 -1
  857. package/dist/frontend/ts7/checker-cache.js.map +1 -1
  858. package/dist/frontend/ts7/checker.js +5 -3
  859. package/dist/frontend/ts7/checker.js.map +1 -1
  860. package/dist/frontend/ts7/checker.test.js +54 -17
  861. package/dist/frontend/ts7/checker.test.js.map +1 -1
  862. package/dist/frontend/ts7/enums.test.js +9 -4
  863. package/dist/frontend/ts7/enums.test.js.map +1 -1
  864. package/dist/frontend/ts7/native-api.js.map +1 -1
  865. package/dist/frontend/ts7/native-host.js.map +1 -1
  866. package/dist/frontend/ts7/native-process.js +9 -3
  867. package/dist/frontend/ts7/native-process.js.map +1 -1
  868. package/dist/frontend/ts7/program-adapter.js +1 -1
  869. package/dist/frontend/ts7/program-adapter.js.map +1 -1
  870. package/dist/frontend/ts7/program-host.js +7 -4
  871. package/dist/frontend/ts7/program-host.js.map +1 -1
  872. package/dist/frontend/ts7/program-host.test.js +43 -11
  873. package/dist/frontend/ts7/program-host.test.js.map +1 -1
  874. package/dist/frontend/ts7/rpc-api.js +3 -1
  875. package/dist/frontend/ts7/rpc-api.js.map +1 -1
  876. package/dist/frontend/ts7/rpc-client.js +15 -5
  877. package/dist/frontend/ts7/rpc-client.js.map +1 -1
  878. package/dist/frontend/ts7/rpc-client.test.js +26 -8
  879. package/dist/frontend/ts7/rpc-client.test.js.map +1 -1
  880. package/dist/frontend/ts7/rpc-filesystem.js.map +1 -1
  881. package/dist/frontend/ts7/rpc-filesystem.test.js +43 -10
  882. package/dist/frontend/ts7/rpc-filesystem.test.js.map +1 -1
  883. package/dist/frontend/ts7/rpc-process.js +16 -6
  884. package/dist/frontend/ts7/rpc-process.js.map +1 -1
  885. package/dist/frontend/ts7/rpc-process.test.js.map +1 -1
  886. package/dist/frontend/ts7/rpc-wire.d.ts +1 -0
  887. package/dist/frontend/ts7/rpc-wire.js +41 -14
  888. package/dist/frontend/ts7/rpc-wire.js.map +1 -1
  889. package/dist/frontend/ts7/rpc-wire.test.js +36 -6
  890. package/dist/frontend/ts7/rpc-wire.test.js.map +1 -1
  891. package/dist/frontend/ts7/semantic-checker.js +209 -68
  892. package/dist/frontend/ts7/semantic-checker.js.map +1 -1
  893. package/dist/frontend/ts7/semantic-checker.test.js +29 -14
  894. package/dist/frontend/ts7/semantic-checker.test.js.map +1 -1
  895. package/dist/frontend/ts7/semantic-json.js +7 -1
  896. package/dist/frontend/ts7/semantic-json.js.map +1 -1
  897. package/dist/frontend/ts7/semantic-json.test.js +17 -3
  898. package/dist/frontend/ts7/semantic-json.test.js.map +1 -1
  899. package/dist/frontend/ts7/semantic-model.js +147 -51
  900. package/dist/frontend/ts7/semantic-model.js.map +1 -1
  901. package/dist/frontend/ts7/semantic-model.test.js +72 -19
  902. package/dist/frontend/ts7/semantic-model.test.js.map +1 -1
  903. package/dist/frontend/ts7/semantic-types.d.ts +2 -2
  904. package/dist/frontend/ts7/session-cache.js +10 -3
  905. package/dist/frontend/ts7/session-cache.js.map +1 -1
  906. package/dist/frontend/ts7/session-cache.test.js +13 -4
  907. package/dist/frontend/ts7/session-cache.test.js.map +1 -1
  908. package/dist/frontend/ts7/session-path.js +25 -10
  909. package/dist/frontend/ts7/session-path.js.map +1 -1
  910. package/dist/frontend/ts7/session-path.test.js +47 -4
  911. package/dist/frontend/ts7/session-path.test.js.map +1 -1
  912. package/dist/frontend/ts7/session-timing.js +22 -3
  913. package/dist/frontend/ts7/session-timing.js.map +1 -1
  914. package/dist/frontend/ts7/session-timing.test.js +12 -3
  915. package/dist/frontend/ts7/session-timing.test.js.map +1 -1
  916. package/dist/frontend/ts7/session.d.ts +1 -0
  917. package/dist/frontend/ts7/session.js +109 -35
  918. package/dist/frontend/ts7/session.js.map +1 -1
  919. package/dist/frontend/ts7/session.test.js +69 -15
  920. package/dist/frontend/ts7/session.test.js.map +1 -1
  921. package/dist/frontend/ts7/source-parser.js +17 -6
  922. package/dist/frontend/ts7/source-parser.js.map +1 -1
  923. package/dist/frontend/ts7/source-parser.test.js +32 -9
  924. package/dist/frontend/ts7/source-parser.test.js.map +1 -1
  925. package/dist/frontend/tsc-codes.js +56 -11
  926. package/dist/frontend/tsc-codes.js.map +1 -1
  927. package/dist/frontend/tsc-codes.test.d.ts +1 -0
  928. package/dist/frontend/tsc-codes.test.js +16 -0
  929. package/dist/frontend/tsc-codes.test.js.map +1 -0
  930. package/dist/frontend/type-mapper.js +545 -204
  931. package/dist/frontend/type-mapper.js.map +1 -1
  932. package/dist/frontend/type-mapper.test.js +108 -33
  933. package/dist/frontend/type-mapper.test.js.map +1 -1
  934. package/dist/frontend/union-discriminants.js +8 -2
  935. package/dist/frontend/union-discriminants.js.map +1 -1
  936. package/dist/frontend/union-discriminants.test.js +77 -20
  937. package/dist/frontend/union-discriminants.test.js.map +1 -1
  938. package/dist/index.d.ts +9 -8
  939. package/dist/index.js +150 -81
  940. package/dist/index.js.map +1 -1
  941. package/dist/ir/analysis.js +95 -38
  942. package/dist/ir/analysis.js.map +1 -1
  943. package/dist/ir/analysis.test.js +91 -15
  944. package/dist/ir/analysis.test.js.map +1 -1
  945. package/dist/ir/api.d.ts +4 -0
  946. package/dist/ir/api.js +6 -0
  947. package/dist/ir/api.js.map +1 -0
  948. package/dist/ir/build.d.ts +7 -0
  949. package/dist/ir/build.js +27 -1
  950. package/dist/ir/build.js.map +1 -1
  951. package/dist/ir/builtin-effects.d.ts +9 -0
  952. package/dist/ir/builtin-effects.js +631 -0
  953. package/dist/ir/builtin-effects.js.map +1 -0
  954. package/dist/ir/builtin-signatures.d.ts +15 -0
  955. package/dist/ir/builtin-signatures.js +3396 -0
  956. package/dist/ir/builtin-signatures.js.map +1 -0
  957. package/dist/ir/byte-numbers.js +67 -16
  958. package/dist/ir/byte-numbers.js.map +1 -1
  959. package/dist/ir/byte-numbers.test.js +17 -4
  960. package/dist/ir/byte-numbers.test.js.map +1 -1
  961. package/dist/ir/constant-tables.js +13 -5
  962. package/dist/ir/constant-tables.js.map +1 -1
  963. package/dist/ir/constant-tables.test.js +47 -7
  964. package/dist/ir/constant-tables.test.js.map +1 -1
  965. package/dist/ir/control-flow.js +2 -1
  966. package/dist/ir/control-flow.js.map +1 -1
  967. package/dist/ir/control-flow.test.js +35 -11
  968. package/dist/ir/control-flow.test.js.map +1 -1
  969. package/dist/ir/initializer-bindings.d.ts +9 -0
  970. package/dist/ir/initializer-bindings.js +115 -0
  971. package/dist/ir/initializer-bindings.js.map +1 -0
  972. package/dist/ir/initializer-bindings.test.d.ts +1 -0
  973. package/dist/ir/initializer-bindings.test.js +118 -0
  974. package/dist/ir/initializer-bindings.test.js.map +1 -0
  975. package/dist/ir/integer-loop-facts.d.ts +12 -0
  976. package/dist/ir/integer-loop-facts.js +137 -0
  977. package/dist/ir/integer-loop-facts.js.map +1 -0
  978. package/dist/ir/integer-loops.js +85 -30
  979. package/dist/ir/integer-loops.js.map +1 -1
  980. package/dist/ir/integer-loops.test.js +76 -13
  981. package/dist/ir/integer-loops.test.js.map +1 -1
  982. package/dist/ir/integer-ranges.js +93 -21
  983. package/dist/ir/integer-ranges.js.map +1 -1
  984. package/dist/ir/integer-ranges.test.js +199 -21
  985. package/dist/ir/integer-ranges.test.js.map +1 -1
  986. package/dist/ir/intrinsic-signatures.d.ts +20 -0
  987. package/dist/ir/intrinsic-signatures.js +57 -0
  988. package/dist/ir/intrinsic-signatures.js.map +1 -0
  989. package/dist/ir/ir.d.ts +6 -2150
  990. package/dist/ir/ir.js +160 -1396
  991. package/dist/ir/ir.js.map +1 -1
  992. package/dist/ir/ir.test.js +98 -77
  993. package/dist/ir/ir.test.js.map +1 -1
  994. package/dist/ir/runtime-features.d.ts +221 -0
  995. package/dist/ir/runtime-features.js +551 -0
  996. package/dist/ir/runtime-features.js.map +1 -0
  997. package/dist/ir/runtime-features.test.d.ts +1 -0
  998. package/dist/ir/runtime-features.test.js +98 -0
  999. package/dist/ir/runtime-features.test.js.map +1 -0
  1000. package/dist/ir/scalar-records.js +130 -40
  1001. package/dist/ir/scalar-records.js.map +1 -1
  1002. package/dist/ir/scalar-records.test.js +146 -27
  1003. package/dist/ir/scalar-records.test.js.map +1 -1
  1004. package/dist/ir/serialize.js +4 -2
  1005. package/dist/ir/serialize.js.map +1 -1
  1006. package/dist/ir/serialize.test.js +44 -9
  1007. package/dist/ir/serialize.test.js.map +1 -1
  1008. package/dist/ir/traverse.js +156 -43
  1009. package/dist/ir/traverse.js.map +1 -1
  1010. package/dist/ir/traverse.test.js +99 -24
  1011. package/dist/ir/traverse.test.js.map +1 -1
  1012. package/dist/ir/validate.d.ts +1 -31
  1013. package/dist/ir/validate.js +782 -1889
  1014. package/dist/ir/validate.js.map +1 -1
  1015. package/dist/ir/validate.test.js +610 -114
  1016. package/dist/ir/validate.test.js.map +1 -1
  1017. package/dist/library/cache-primitives.js +9 -10
  1018. package/dist/library/cache-primitives.js.map +1 -1
  1019. package/dist/library/cache-reset.test.js +2 -1
  1020. package/dist/library/cache-reset.test.js.map +1 -1
  1021. package/dist/library/compiler-self-identity.js +11 -5
  1022. package/dist/library/compiler-self-identity.js.map +1 -1
  1023. package/dist/library/compiler-self-identity.test.js +10 -3
  1024. package/dist/library/compiler-self-identity.test.js.map +1 -1
  1025. package/dist/library/fence-eval.js +24 -7
  1026. package/dist/library/fence-eval.js.map +1 -1
  1027. package/dist/library/fence-eval.test.js +31 -7
  1028. package/dist/library/fence-eval.test.js.map +1 -1
  1029. package/dist/library/int-infer.js +199 -59
  1030. package/dist/library/int-infer.js.map +1 -1
  1031. package/dist/library/int-infer.test.js +133 -57
  1032. package/dist/library/int-infer.test.js.map +1 -1
  1033. package/dist/library/ir-policy.d.ts +27 -0
  1034. package/dist/library/ir-policy.js +232 -0
  1035. package/dist/library/ir-policy.js.map +1 -0
  1036. package/dist/library/library-cache.js +40 -17
  1037. package/dist/library/library-cache.js.map +1 -1
  1038. package/dist/library/library-cache.test.js +24 -13
  1039. package/dist/library/library-cache.test.js.map +1 -1
  1040. package/dist/library/library-profile.js +68 -13
  1041. package/dist/library/library-profile.js.map +1 -1
  1042. package/dist/library/prepare.js +48 -20
  1043. package/dist/library/prepare.js.map +1 -1
  1044. package/dist/library/semantic-source.js +16 -14
  1045. package/dist/library/semantic-source.js.map +1 -1
  1046. package/dist/library/semantic-source.test.js +9 -14
  1047. package/dist/library/semantic-source.test.js.map +1 -1
  1048. package/dist/library/sidecar-validate.js +53 -12
  1049. package/dist/library/sidecar-validate.js.map +1 -1
  1050. package/dist/library/sidecar.js +85 -24
  1051. package/dist/library/sidecar.js.map +1 -1
  1052. package/dist/library/trap-teaching.js +11 -2
  1053. package/dist/library/trap-teaching.js.map +1 -1
  1054. package/dist/native/cache.js +10 -4
  1055. package/dist/native/cache.js.map +1 -1
  1056. package/dist/native/cli.js +34 -9
  1057. package/dist/native/cli.js.map +1 -1
  1058. package/dist/native/compiler.js +167 -43
  1059. package/dist/native/compiler.js.map +1 -1
  1060. package/dist/native/compiler.test.js +129 -32
  1061. package/dist/native/compiler.test.js.map +1 -1
  1062. package/dist/native/comptime.js +23 -7
  1063. package/dist/native/comptime.js.map +1 -1
  1064. package/dist/native/comptime.test.js +26 -6
  1065. package/dist/native/comptime.test.js.map +1 -1
  1066. package/dist/native/executable-cache.js +77 -27
  1067. package/dist/native/executable-cache.js.map +1 -1
  1068. package/dist/native/executable-cache.test.js +41 -6
  1069. package/dist/native/executable-cache.test.js.map +1 -1
  1070. package/dist/native/file-identity.js +9 -2
  1071. package/dist/native/file-identity.js.map +1 -1
  1072. package/dist/native/file-identity.test.js.map +1 -1
  1073. package/dist/native/library.js +50 -12
  1074. package/dist/native/library.js.map +1 -1
  1075. package/dist/native/prepare.js +119 -34
  1076. package/dist/native/prepare.js.map +1 -1
  1077. package/dist/native/prepare.test.js +22 -6
  1078. package/dist/native/prepare.test.js.map +1 -1
  1079. package/dist/native/runtime-typescript.js +24 -11
  1080. package/dist/native/runtime-typescript.js.map +1 -1
  1081. package/dist/native/runtime-typescript.test.js.map +1 -1
  1082. package/dist/native/sanitizer.js +71 -18
  1083. package/dist/native/sanitizer.js.map +1 -1
  1084. package/dist/native/sanitizer.test.js +77 -20
  1085. package/dist/native/sanitizer.test.js.map +1 -1
  1086. package/dist/native/task.js.map +1 -1
  1087. package/dist/native/task.test.js +7 -2
  1088. package/dist/native/task.test.js.map +1 -1
  1089. package/dist/native/toolchain.js +68 -26
  1090. package/dist/native/toolchain.js.map +1 -1
  1091. package/dist/native/toolchain.test.js +59 -20
  1092. package/dist/native/toolchain.test.js.map +1 -1
  1093. package/dist/startup-cache.d.ts +1 -1
  1094. package/dist/startup-cache.js +1 -1
  1095. package/dist/startup-cache.js.map +1 -1
  1096. package/dist/timing.js.map +1 -1
  1097. package/package.json +20 -20
  1098. package/surface-manifest.json +1 -1
  1099. package/dist/frontend/lowering/lower-builtins.d.ts +0 -601
  1100. package/dist/frontend/lowering/lower-builtins.js +0 -8986
  1101. package/dist/frontend/lowering/lower-builtins.js.map +0 -1
  1102. package/dist/frontend/lowering/lower-containers.d.ts +0 -382
  1103. package/dist/frontend/lowering/lower-containers.js +0 -7344
  1104. package/dist/frontend/lowering/lower-containers.js.map +0 -1
@@ -42,12 +42,12 @@ import { builtinModules } from "node:module";
42
42
  import { dirname, isAbsolute, resolve } from "node:path";
43
43
  import * as ts from "./ts7/adapter.js";
44
44
  import { commonJsModuleSyntaxDiag, invalidPackageConfigDiag, strictNullChecksFloorDiag, tscPassthroughDiag, unsupportedDiag, } from "../diagnostics/diagnostic.js";
45
- import { isNodeModulesPath, nearestInvalidPackageJsonPath, nearestPackageType, nearestPkgJsonPath, projectDtsRuntimeSibling, resolveBareModule, resolveProjectModule, resolveTypeDirective, setProjectPathMappings, setProjectRealm } from "./resolve.js";
45
+ import { isNodeModulesPath, nearestInvalidPackageJsonPath, nearestPackageType, nearestPkgJsonPath, projectDtsRuntimeSibling, resolveBareModule, resolveProjectModule, resolveTypeDirective, setProjectPathMappings, setProjectRealm, } from "./resolve.js";
46
46
  import { probeNodeImportRefusal, probeNodeRequireRefusal } from "./npm.js";
47
- import { isNpmStaticPackage, npmStaticActive, npmStaticFsShadow, npmStaticPackageOfPath, reportNpmStaticOffender, setNpmStaticDeclarationOverloads, setNpmStaticPackages } from "./npm-static.js";
47
+ import { isNpmStaticPackage, npmStaticActive, npmStaticFsShadow, npmStaticPackageOfPath, reportNpmStaticOffender, setNpmStaticDeclarationOverloads, setNpmStaticPackages, } from "./npm-static.js";
48
48
  import { isPrunedNpmReexport, planNpmStaticReexports } from "./npm-static-prune.js";
49
49
  import { isNpmStaticSubclassArgument } from "./npm-static-subtyping.js";
50
- import { npmStaticDeclarationReexports, npmStaticRuntimeClassTargets, parseNpmStaticDeclarationOverloads, parseNpmStaticDeclarationProperties } from "./npm-static-declaration-syntax.js";
50
+ import { npmStaticDeclarationReexports, npmStaticRuntimeClassTargets, parseNpmStaticDeclarationOverloads, parseNpmStaticDeclarationProperties, } from "./npm-static-declaration-syntax.js";
51
51
  import { provenanceEntryFor, provenancePaths } from "./provenance-registry.js";
52
52
  import { cjsLexedExportsOfFile, cjsVisibleNames } from "./cjs-syntax.js";
53
53
  import { ambientDtsPath, fallbackDtsPath, isNodeTypesPath, overridesDtsPath, tsgoPath, } from "./dts-paths.js";
@@ -146,7 +146,9 @@ function projectAllowsSyntheticDefaultImports(options) {
146
146
  moduleKind === ts.ModuleKind.Node20 ||
147
147
  moduleKind === ts.ModuleKind.NodeNext ||
148
148
  moduleKind === ts.ModuleKind.Preserve;
149
- return esModuleInterop || moduleKind === ts.ModuleKind.System || options["moduleResolution"] === ts.ModuleResolutionKind.Bundler;
149
+ return (esModuleInterop ||
150
+ moduleKind === ts.ModuleKind.System ||
151
+ options["moduleResolution"] === ts.ModuleResolutionKind.Bundler);
150
152
  }
151
153
  /** The project's tsconfig adoption in the 7 world: tsgo's own config parser
152
154
  * (extends chains resolved server-side), the ADOPTED_OPTIONS subset taken,
@@ -182,7 +184,9 @@ function adoptProjectConfig7(host, entryPath) {
182
184
  const configDir = dirname(configFile);
183
185
  const rawBaseUrl = parsed.options["baseUrl"];
184
186
  const base = typeof rawBaseUrl === "string"
185
- ? (isAbsolute(rawBaseUrl) ? rawBaseUrl : resolve(configDir, rawBaseUrl))
187
+ ? isAbsolute(rawBaseUrl)
188
+ ? rawBaseUrl
189
+ : resolve(configDir, rawBaseUrl)
186
190
  : configDir;
187
191
  const paths = {};
188
192
  for (const [key, targets] of Object.entries(rawPaths)) {
@@ -190,7 +194,7 @@ function adoptProjectConfig7(host, entryPath) {
190
194
  continue;
191
195
  paths[key] = targets
192
196
  .filter((target) => typeof target === "string")
193
- .map((target) => isAbsolute(target) ? target : resolve(base, target));
197
+ .map((target) => (isAbsolute(target) ? target : resolve(base, target)));
194
198
  }
195
199
  adopted["paths"] = paths;
196
200
  }
@@ -247,7 +251,9 @@ function runtimeReexportTarget(fromFile, specifier) {
247
251
  function visitNpmStaticDeclarationClosure(services, entryPath, onSource) {
248
252
  const seen = new Set();
249
253
  const packageJson = nearestPkgJsonPath(entryPath);
250
- const packageRoot = (packageJson === null ? dirname(entryPath) : dirname(packageJson)).split("\\").join("/");
254
+ const packageRoot = (packageJson === null ? dirname(entryPath) : dirname(packageJson))
255
+ .split("\\")
256
+ .join("/");
251
257
  const visit = (path) => {
252
258
  path = resolve(path);
253
259
  const normalized = path.split("\\").join("/");
@@ -384,8 +390,10 @@ function createRequireProgramRoots7(program) {
384
390
  continue;
385
391
  const calls = [];
386
392
  ts.walkPreorder(sf, (node) => {
387
- if (!ts.isCallExpression(node) || node.questionDotToken !== undefined ||
388
- node.arguments.length !== 1 || !ts.isStringLiteralLike(node.arguments[0]) ||
393
+ if (!ts.isCallExpression(node) ||
394
+ node.questionDotToken !== undefined ||
395
+ node.arguments.length !== 1 ||
396
+ !ts.isStringLiteralLike(node.arguments[0]) ||
389
397
  !ts.isIdentifier(node.expression)) {
390
398
  return undefined;
391
399
  }
@@ -403,7 +411,9 @@ function createRequireProgramRoots7(program) {
403
411
  let target = resolveProjectModule(sf.fileName, spec);
404
412
  if (target === null && !spec.startsWith("#")) {
405
413
  const npm = resolveNpmImport7(sf.fileName, spec, "require");
406
- if (npm !== null && isNpmStaticPackage(npm.packageName) && isJsSourceFileName(npm.typesFile)) {
414
+ if (npm !== null &&
415
+ isNpmStaticPackage(npm.packageName) &&
416
+ isJsSourceFileName(npm.typesFile)) {
407
417
  target = npm.typesFile;
408
418
  }
409
419
  }
@@ -428,8 +438,10 @@ export function entryPackageFilePredicate(entryPath) {
428
438
  : entryFile.slice(0, installedAt) + "/node_modules/" + npmPackageNameOf(entryFile) + "/";
429
439
  return (file) => {
430
440
  const normalized = tsgoPath(file);
431
- return normalized === entryFile || (prefix !== null && normalized.startsWith(prefix) &&
432
- !normalized.slice(prefix.length).split("/").includes("node_modules"));
441
+ return (normalized === entryFile ||
442
+ (prefix !== null &&
443
+ normalized.startsWith(prefix) &&
444
+ !normalized.slice(prefix.length).split("/").includes("node_modules")));
433
445
  };
434
446
  }
435
447
  /** maxNodeModuleJsDepth can omit relative imports within an admitted
@@ -439,13 +451,16 @@ function entryPackageProgramRoots7(program, entryPath) {
439
451
  const belongsToEntry = entryPackageFilePredicate(entryPath);
440
452
  const roots = new Set();
441
453
  for (const sf of program.getSourceFiles()) {
442
- if (sf.isDeclarationFile || (!belongsToEntry(sf.fileName) && npmStaticPackageOfPath(sf.fileName) === null))
454
+ if (sf.isDeclarationFile ||
455
+ (!belongsToEntry(sf.fileName) && npmStaticPackageOfPath(sf.fileName) === null))
443
456
  continue;
444
457
  for (const specifier of sf.imports) {
445
458
  if (!ts.isStringLiteralLike(specifier))
446
459
  continue;
447
460
  const target = resolveProjectModule(sf.fileName, specifier.text);
448
- if (target !== null && (belongsToEntry(target) || npmStaticPackageOfPath(target) !== null) && isJsSourceFileName(target) &&
461
+ if (target !== null &&
462
+ (belongsToEntry(target) || npmStaticPackageOfPath(target) !== null) &&
463
+ isJsSourceFileName(target) &&
449
464
  program.getSourceFile(target) === undefined)
450
465
  roots.add(target);
451
466
  }
@@ -464,7 +479,9 @@ function loadProgram7(host, entryPath, externalTypes = new Map()) {
464
479
  // not scriptc's fence and drowns real diagnostics in hundreds of
465
480
  // .d.ts-internal errors. Fence discipline never depended on it: the
466
481
  // lowerer checks provenance and forms at every use site.
467
- let options = nodeTypes ? { ...config.options, skipLibCheck: true } : { ...config.options };
482
+ let options = nodeTypes
483
+ ? { ...config.options, skipLibCheck: true }
484
+ : { ...config.options };
468
485
  // --npm-static: opted-in packages' shipped JS must be TYPE-INCLUDED (not
469
486
  // just resolved) — without maxNodeModuleJsDepth, node_modules JS types as
470
487
  // an implicit-any module (TS7016) and nothing infers. Only flagged
@@ -481,6 +498,8 @@ function loadProgram7(host, entryPath, externalTypes = new Map()) {
481
498
  if (provenance !== null || externalTypes.size > 0) {
482
499
  const paths = {
483
500
  ...configuredPaths,
501
+ // Keep an index-signature source for native lowering when provenance is absent.
502
+ // oxlint-disable-next-line unicorn/no-useless-fallback-in-spread
484
503
  ...(provenance ?? {}),
485
504
  };
486
505
  for (const [specifier, declarationPath] of externalTypes) {
@@ -584,7 +603,9 @@ export function loadProgram(entryPath, services, opts) {
584
603
  const fields = properties.get(className);
585
604
  if (methods === undefined && fields === undefined)
586
605
  continue;
587
- const target = specifier === null ? runtime.typesFile : runtimeReexportTarget(runtime.typesFile, specifier);
606
+ const target = specifier === null
607
+ ? runtime.typesFile
608
+ : runtimeReexportTarget(runtime.typesFile, specifier);
588
609
  if (target === null)
589
610
  continue;
590
611
  const targetPackage = npmPackageNameOf(target);
@@ -610,17 +631,23 @@ export function loadProgram(entryPath, services, opts) {
610
631
  projectionOwners.set(projectionKey, className);
611
632
  // The safe declaration grammar can name only its own class. Bind
612
633
  // that type to the actual runtime class after a named ESM alias.
613
- const renameSelf = (type) => type.split(/([\s[\]<>()|,]+)/).map((name) => name === className ? localName : name).join("");
634
+ const renameSelf = (type) => type
635
+ .split(/([\s[\]<>()|,]+)/)
636
+ .map((name) => (name === className ? localName : name))
637
+ .join("");
614
638
  if (methods !== undefined) {
615
639
  const byClass = new Map(declarationOverloads.get(targetNorm) ?? []);
616
- byClass.set(localName, new Map([...methods].map(([name, signatures]) => [name, signatures.map((signature) => ({
640
+ byClass.set(localName, new Map([...methods].map(([name, signatures]) => [
641
+ name,
642
+ signatures.map((signature) => ({
617
643
  parameters: signature.parameters.map((parameter) => ({
618
644
  name: parameter.name,
619
645
  type: renameSelf(parameter.type),
620
646
  optional: parameter.optional,
621
647
  })),
622
648
  returnType: renameSelf(signature.returnType),
623
- }))])));
649
+ })),
650
+ ])));
624
651
  declarationOverloads.set(targetNorm, byClass);
625
652
  }
626
653
  if (fields !== undefined) {
@@ -668,16 +695,18 @@ export function loadProgram(entryPath, services, opts) {
668
695
  return {
669
696
  ...load,
670
697
  services,
671
- projectWorld: npmStaticPackages.length === 0 ? load.projectWorld : () => {
672
- // Check authored code against the package's published declarations.
673
- // Runtime bodies still lower from JavaScript in the original world;
674
- // inference there must not manufacture errors in valid user code.
675
- if (!authoredLoad) {
676
- authoredHost = services.createProgramHost({ cwd: dirname(entryPath) });
677
- authoredLoad = loadProgram7(authoredHost, entryPath, externalTypes);
678
- }
679
- return authoredLoad.projectWorld();
680
- },
698
+ projectWorld: npmStaticPackages.length === 0
699
+ ? load.projectWorld
700
+ : () => {
701
+ // Check authored code against the package's published declarations.
702
+ // Runtime bodies still lower from JavaScript in the original world;
703
+ // inference there must not manufacture errors in valid user code.
704
+ if (!authoredLoad) {
705
+ authoredHost = services.createProgramHost({ cwd: dirname(entryPath) });
706
+ authoredLoad = loadProgram7(authoredHost, entryPath, externalTypes);
707
+ }
708
+ return authoredLoad.projectWorld();
709
+ },
681
710
  dispose: () => {
682
711
  try {
683
712
  authoredLoad?.disposeAll();
@@ -750,8 +779,10 @@ function suppressedJsStrictness7(d) {
750
779
  * extra arguments) is not a module edge and fences at its use site. */
751
780
  function requireSpecOf7(node) {
752
781
  let value = node;
753
- while (ts.isParenthesizedExpression(value) || ts.isAsExpression(value) ||
754
- ts.isTypeAssertion(value) || ts.isNonNullExpression(value)) {
782
+ while (ts.isParenthesizedExpression(value) ||
783
+ ts.isAsExpression(value) ||
784
+ ts.isTypeAssertion(value) ||
785
+ ts.isNonNullExpression(value)) {
755
786
  value = value.expression;
756
787
  }
757
788
  if (!ts.isCallExpression(value))
@@ -774,7 +805,8 @@ function isRequireStatement7(stmt) {
774
805
  if (!ts.isVariableStatement(stmt))
775
806
  return false;
776
807
  const decls = stmt.declarationList.declarations;
777
- return decls.length > 0 && decls.every((d) => d.initializer !== undefined && requireSpecOf7(d.initializer) !== null);
808
+ return (decls.length > 0 &&
809
+ decls.every((d) => d.initializer !== undefined && requireSpecOf7(d.initializer) !== null));
778
810
  }
779
811
  /** The require() occurrences of one top-level statement: the declaration
780
812
  * forms and the bare side-effect call. Empty for everything else. */
@@ -850,7 +882,7 @@ function pureCjsExport7(program, stmt) {
850
882
  receiver = receiver.expression;
851
883
  return ts.isIdentifier(receiver) && !sourceBinding7(program, receiver);
852
884
  }
853
- return ts.isIdentifier(receiver) && receiver.text === "exports" && !sourceBinding7(program, receiver);
885
+ return (ts.isIdentifier(receiver) && receiver.text === "exports" && !sourceBinding7(program, receiver));
854
886
  };
855
887
  if (cjs.kind === "member") {
856
888
  if (!plainMember(cjs.expr.left))
@@ -870,8 +902,10 @@ function pureCjsExport7(program, stmt) {
870
902
  }
871
903
  if (ts.isVoidExpression(value) && ts.isNumericLiteral(value.expression))
872
904
  return true;
873
- if (ts.isStringLiteralLike(value) || ts.isNumericLiteral(value) ||
874
- value.kind === ts.SyntaxKind.TrueKeyword || value.kind === ts.SyntaxKind.FalseKeyword ||
905
+ if (ts.isStringLiteralLike(value) ||
906
+ ts.isNumericLiteral(value) ||
907
+ value.kind === ts.SyntaxKind.TrueKeyword ||
908
+ value.kind === ts.SyntaxKind.FalseKeyword ||
875
909
  value.kind === ts.SyntaxKind.NullKeyword)
876
910
  return true;
877
911
  if (!ts.isIdentifier(value))
@@ -880,19 +914,28 @@ function pureCjsExport7(program, stmt) {
880
914
  return true;
881
915
  const checker = program.getTypeChecker();
882
916
  const symbol = checker.getSymbolAtLocation(value);
883
- return symbol !== undefined && checker.declarationsOf(symbol).some((decl) => ts.isFunctionDeclaration(decl) && decl.parent === stmt.parent);
917
+ return (symbol !== undefined &&
918
+ checker
919
+ .declarationsOf(symbol)
920
+ .some((decl) => ts.isFunctionDeclaration(decl) && decl.parent === stmt.parent));
884
921
  }
885
922
  function sourceBinding7(program, ident) {
886
923
  const checker = program.getTypeChecker();
887
924
  const symbol = checker.getSymbolAtLocation(ident);
888
- return symbol !== undefined && checker.declarationsOf(symbol).some((decl) => !decl.getSourceFile().isDeclarationFile && !ts.isSourceFile(decl));
925
+ return (symbol !== undefined &&
926
+ checker
927
+ .declarationsOf(symbol)
928
+ .some((decl) => !decl.getSourceFile().isDeclarationFile && !ts.isSourceFile(decl)));
889
929
  }
890
930
  function purePrefixDecl7(decl) {
891
931
  const init = decl.initializer;
892
- return init === undefined || requireSpecOf7(init) !== null ||
893
- ts.isStringLiteralLike(init) || ts.isNumericLiteral(init) ||
894
- init.kind === ts.SyntaxKind.TrueKeyword || init.kind === ts.SyntaxKind.FalseKeyword ||
895
- init.kind === ts.SyntaxKind.NullKeyword;
932
+ return (init === undefined ||
933
+ requireSpecOf7(init) !== null ||
934
+ ts.isStringLiteralLike(init) ||
935
+ ts.isNumericLiteral(init) ||
936
+ init.kind === ts.SyntaxKind.TrueKeyword ||
937
+ init.kind === ts.SyntaxKind.FalseKeyword ||
938
+ init.kind === ts.SyntaxKind.NullKeyword);
896
939
  }
897
940
  /** True for top-level statements that cannot run user code: directives,
898
941
  * empty statements, hoisted declarations, require statements themselves,
@@ -913,7 +956,9 @@ function purePrefixStmt7(program, s) {
913
956
  let receiver = call.arguments[0];
914
957
  if (ts.isPropertyAccessExpression(receiver))
915
958
  receiver = receiver.expression;
916
- if (!sourceBinding7(program, object) && ts.isIdentifier(receiver) && !sourceBinding7(program, receiver))
959
+ if (!sourceBinding7(program, object) &&
960
+ ts.isIdentifier(receiver) &&
961
+ !sourceBinding7(program, receiver))
917
962
  return true;
918
963
  }
919
964
  if (pureCjsExport7(program, s))
@@ -1065,7 +1110,7 @@ function isCreateRequireImport7(program, ident) {
1065
1110
  if (targetDecl !== undefined && targetDecl.getSourceFile().isDeclarationFile) {
1066
1111
  for (let p = targetDecl.parent; p !== undefined && !ts.isSourceFile(p); p = p.parent) {
1067
1112
  if (ts.isModuleDeclaration(p) && ts.isStringLiteral(p.name)) {
1068
- return canonicalBuiltinModule(p.name.text) === "module" && target.name === "createRequire";
1113
+ return (canonicalBuiltinModule(p.name.text) === "module" && target.name === "createRequire");
1069
1114
  }
1070
1115
  }
1071
1116
  }
@@ -1079,15 +1124,18 @@ export function isCreateRequireBinding7(program, callee) {
1079
1124
  const checker = program.getTypeChecker();
1080
1125
  const symbol = checker.getSymbolAtLocation(callee);
1081
1126
  const decl = symbol
1082
- ? checker.declarationsOf(symbol).find((d) => ts.isVariableDeclaration(d))
1127
+ ? checker
1128
+ .declarationsOf(symbol)
1129
+ .find((d) => ts.isVariableDeclaration(d))
1083
1130
  : undefined;
1084
1131
  if (decl === undefined ||
1085
1132
  decl.initializer === undefined ||
1086
1133
  !ts.isVariableDeclarationList(decl.parent)) {
1087
1134
  return false;
1088
1135
  }
1089
- return isCreateRequireBaseCall7(program, decl.initializer) && ((decl.parent.flags & ts.NodeFlags.Const) !== 0 ||
1090
- stableCreateRequireBindingReason7(program, decl) === null);
1136
+ return (isCreateRequireBaseCall7(program, decl.initializer) &&
1137
+ ((decl.parent.flags & ts.NodeFlags.Const) !== 0 ||
1138
+ stableCreateRequireBindingReason7(program, decl) === null));
1091
1139
  }
1092
1140
  /** Only literal calls and literal resolution queries can erase the loader
1093
1141
  * value. In particular, assignments, exported aliases, shorthand properties,
@@ -1096,14 +1144,23 @@ function staticCreateRequireUse7(expr) {
1096
1144
  let use = expr;
1097
1145
  while (ts.isParenthesizedExpression(use.parent))
1098
1146
  use = use.parent;
1099
- if (ts.isPropertyAccessExpression(use.parent) && use.parent.expression === use && use.parent.name.text === "resolve" && !use.parent.questionDotToken) {
1147
+ if (ts.isPropertyAccessExpression(use.parent) &&
1148
+ use.parent.expression === use &&
1149
+ use.parent.name.text === "resolve" &&
1150
+ !use.parent.questionDotToken) {
1100
1151
  use = use.parent;
1101
- if (ts.isPropertyAccessExpression(use.parent) && use.parent.expression === use && use.parent.name.text === "paths" && !use.parent.questionDotToken)
1152
+ if (ts.isPropertyAccessExpression(use.parent) &&
1153
+ use.parent.expression === use &&
1154
+ use.parent.name.text === "paths" &&
1155
+ !use.parent.questionDotToken)
1102
1156
  use = use.parent;
1103
1157
  }
1104
1158
  const call = use.parent;
1105
- return ts.isCallExpression(call) && call.expression === use && !call.questionDotToken &&
1106
- call.arguments.length === 1 && ts.isStringLiteralLike(call.arguments[0]);
1159
+ return (ts.isCallExpression(call) &&
1160
+ call.expression === use &&
1161
+ !call.questionDotToken &&
1162
+ call.arguments.length === 1 &&
1163
+ ts.isStringLiteralLike(call.arguments[0]));
1107
1164
  }
1108
1165
  function stableCreateRequireBindingReason7(program, decl) {
1109
1166
  const cache = program.analysis.createRequireReasons;
@@ -1111,7 +1168,9 @@ function stableCreateRequireBindingReason7(program, decl) {
1111
1168
  return cache.get(decl);
1112
1169
  const check = () => {
1113
1170
  const stmt = decl.parent?.parent;
1114
- if (!ts.isIdentifier(decl.name) || !ts.isVariableStatement(stmt) || !ts.isSourceFile(stmt.parent)) {
1171
+ if (!ts.isIdentifier(decl.name) ||
1172
+ !ts.isVariableStatement(stmt) ||
1173
+ !ts.isSourceFile(stmt.parent)) {
1115
1174
  return "its mutable createRequire binding is outside the module's top level";
1116
1175
  }
1117
1176
  const checker = program.getTypeChecker();
@@ -1189,19 +1248,29 @@ function npmStaticModuleImportReason7(program, stmt) {
1189
1248
  let reason = null;
1190
1249
  const checkUse = (expr) => {
1191
1250
  if (!staticCreateRequireUse7(expr)) {
1192
- reason = "its createRequire result escapes or is used with a computed specifier (static requires need literal specifiers)";
1251
+ reason =
1252
+ "its createRequire result escapes or is used with a computed specifier (static requires need literal specifiers)";
1193
1253
  }
1194
1254
  };
1195
1255
  ts.walkPreorder(sf, (node) => {
1196
- if (reason || !ts.isIdentifier(node) || node.text !== specifier.name.text || node === specifier.name || checker.getSymbolAtLocation(node) !== imported)
1256
+ if (reason ||
1257
+ !ts.isIdentifier(node) ||
1258
+ node.text !== specifier.name.text ||
1259
+ node === specifier.name ||
1260
+ checker.getSymbolAtLocation(node) !== imported)
1197
1261
  return;
1198
1262
  const call = node.parent;
1199
- if (!ts.isCallExpression(call) || call.expression !== node || !isCreateRequireBaseCall7(program, call)) {
1200
- reason = "its createRequire import is used outside a supported call based on the current file";
1263
+ if (!ts.isCallExpression(call) ||
1264
+ call.expression !== node ||
1265
+ !isCreateRequireBaseCall7(program, call)) {
1266
+ reason =
1267
+ "its createRequire import is used outside a supported call based on the current file";
1201
1268
  return;
1202
1269
  }
1203
1270
  const decl = call.parent;
1204
- if (ts.isVariableDeclaration(decl) && decl.initializer === call && ts.isIdentifier(decl.name)) {
1271
+ if (ts.isVariableDeclaration(decl) &&
1272
+ decl.initializer === call &&
1273
+ ts.isIdentifier(decl.name)) {
1205
1274
  if ((ts.getCombinedModifierFlags(decl) & ts.ModifierFlags.Export) !== 0) {
1206
1275
  reason = "its createRequire result escapes through an exported binding";
1207
1276
  return;
@@ -1214,7 +1283,10 @@ function npmStaticModuleImportReason7(program, stmt) {
1214
1283
  const name = decl.name.text;
1215
1284
  checker.prefetchSymbolNodesExact(identifierOccurrences7(sf, name));
1216
1285
  ts.walkPreorder(sf, (ref) => {
1217
- if (ts.isIdentifier(ref) && ref.text === name && ref !== decl.name && checker.getSymbolAtLocation(ref) === sym)
1286
+ if (ts.isIdentifier(ref) &&
1287
+ ref.text === name &&
1288
+ ref !== decl.name &&
1289
+ checker.getSymbolAtLocation(ref) === sym)
1218
1290
  checkUse(ref);
1219
1291
  });
1220
1292
  }
@@ -1242,7 +1314,7 @@ function requireCallBindingKind7(program, node) {
1242
1314
  if (symbol === undefined)
1243
1315
  return "ambient";
1244
1316
  const decls = checker.declarationsOf(symbol);
1245
- if (decls.length === 0 || decls.every((d) => d.getSourceFile().isDeclarationFile))
1317
+ if (decls.every((d) => d.getSourceFile().isDeclarationFile))
1246
1318
  return "ambient";
1247
1319
  return isCreateRequireBinding7(program, call.expression) ? "createRequire" : "source";
1248
1320
  }
@@ -1281,9 +1353,7 @@ function nodeEsmSyntaxMarker7(sf) {
1281
1353
  for (const stmt of sf.statements) {
1282
1354
  if (ts.isImportDeclaration(stmt) && !erasedTypeOnlyImport(stmt))
1283
1355
  return stmt;
1284
- if (ts.isExportDeclaration(stmt) &&
1285
- !stmt.isTypeOnly &&
1286
- !erasedTypeOnlyReexport(stmt)) {
1356
+ if (ts.isExportDeclaration(stmt) && !stmt.isTypeOnly && !erasedTypeOnlyReexport(stmt)) {
1287
1357
  return stmt;
1288
1358
  }
1289
1359
  if (ts.isExportAssignment(stmt))
@@ -1300,14 +1370,15 @@ function nodeEsmSyntaxMarker7(sf) {
1300
1370
  return hit;
1301
1371
  }
1302
1372
  }
1303
- if (ts.isClassDeclaration(stmt) && stmt.name !== undefined && CJS_WRAPPER_NAMES.has(stmt.name.text)) {
1373
+ if (ts.isClassDeclaration(stmt) &&
1374
+ stmt.name !== undefined &&
1375
+ CJS_WRAPPER_NAMES.has(stmt.name.text)) {
1304
1376
  return stmt.name;
1305
1377
  }
1306
1378
  }
1307
1379
  let found = null;
1308
1380
  ts.walkPreorder(sf, (node) => {
1309
- if (ts.isMetaProperty(node) &&
1310
- node.keywordToken === ts.SyntaxKind.ImportKeyword) {
1381
+ if (ts.isMetaProperty(node) && node.keywordToken === ts.SyntaxKind.ImportKeyword) {
1311
1382
  found = node;
1312
1383
  return "stop";
1313
1384
  }
@@ -1341,11 +1412,12 @@ function isNodeEsmFile7(sf, program) {
1341
1412
  }
1342
1413
  else {
1343
1414
  const packageType = nearestPackageType(sf.fileName);
1344
- result = packageType === "module"
1345
- ? true
1346
- : packageType === "commonjs"
1347
- ? false
1348
- : nodeEsmSyntaxMarker7(sf) !== null;
1415
+ result =
1416
+ packageType === "module"
1417
+ ? true
1418
+ : packageType === "commonjs"
1419
+ ? false
1420
+ : nodeEsmSyntaxMarker7(sf) !== null;
1349
1421
  }
1350
1422
  program?.analysis.nodeEsmFiles.set(sf, result);
1351
1423
  return result;
@@ -1468,7 +1540,9 @@ function nsBindingUsesAreBareStatements7(program, sf, nsName) {
1468
1540
  node !== nsName &&
1469
1541
  node.text === nsName.text &&
1470
1542
  checker.getSymbolAtLocation(node) === bindingSym) {
1471
- if (!(node.parent !== undefined && ts.isExpressionStatement(node.parent) && node.parent.expression === node)) {
1543
+ if (!(node.parent !== undefined &&
1544
+ ts.isExpressionStatement(node.parent) &&
1545
+ node.parent.expression === node)) {
1472
1546
  bareOnly = false;
1473
1547
  return;
1474
1548
  }
@@ -1641,7 +1715,10 @@ function nonInertTopLevel7(program, sf) {
1641
1715
  }
1642
1716
  if (ts.isClassExpression(e))
1643
1717
  return inertClass(e) === null;
1644
- if (ts.isParenthesizedExpression(e) || ts.isAsExpression(e) || ts.isSatisfiesExpression(e) || ts.isNonNullExpression(e)) {
1718
+ if (ts.isParenthesizedExpression(e) ||
1719
+ ts.isAsExpression(e) ||
1720
+ ts.isSatisfiesExpression(e) ||
1721
+ ts.isNonNullExpression(e)) {
1645
1722
  return inert(e.expression);
1646
1723
  }
1647
1724
  if (ts.isPropertyAccessExpression(e))
@@ -1708,7 +1785,9 @@ function nonInertTopLevel7(program, sf) {
1708
1785
  ts.isInterfaceDeclaration(stmt) ||
1709
1786
  ts.isTypeAliasDeclaration(stmt) ||
1710
1787
  ts.isEmptyStatement(stmt) ||
1711
- (ts.getCombinedModifierFlags(stmt) & ts.ModifierFlags.Ambient) !== 0) {
1788
+ (ts.getCombinedModifierFlags(stmt) &
1789
+ ts.ModifierFlags.Ambient) !==
1790
+ 0) {
1712
1791
  continue;
1713
1792
  }
1714
1793
  if (ts.isEnumDeclaration(stmt)) {
@@ -1952,7 +2031,8 @@ function resolveImport7(program, from, specifier, resolutionKind = "import") {
1952
2031
  return program.getSourceFile(resolved) ?? null;
1953
2032
  const npm = resolveNpmImport7(from.fileName, specifier, resolutionKind);
1954
2033
  return npm && isNpmStaticPackage(npm.packageName)
1955
- ? npmStaticProgramDep(program, npm.packageName, npm.typesFile) : null;
2034
+ ? npmStaticProgramDep(program, npm.packageName, npm.typesFile)
2035
+ : null;
1956
2036
  }
1957
2037
  /** An import that resolves into node_modules: the package's shipped .d.ts
1958
2038
  * is the type surface, and the package's shipped JS runs in the dynamic
@@ -2244,7 +2324,9 @@ function preflight7(load) {
2244
2324
  if (!sf)
2245
2325
  return false;
2246
2326
  const spec = sf.text.slice(d.pos, d.end).replace(/^['"]|['"]$/g, "");
2247
- const prefix = spec.startsWith("@") ? spec.split("/").slice(0, 2).join("/") : spec.split("/")[0];
2327
+ const prefix = spec.startsWith("@")
2328
+ ? spec.split("/").slice(0, 2).join("/")
2329
+ : spec.split("/")[0];
2248
2330
  return isWorkspacePackageName(prefix);
2249
2331
  };
2250
2332
  const errorsOf = (p) => {
@@ -2300,10 +2382,16 @@ function preflight7(load) {
2300
2382
  .filter((sf) => sf.fileName !== ambient &&
2301
2383
  !sf.isDeclarationFile &&
2302
2384
  !sf.fileName.endsWith(".json") &&
2303
- (!isNodeModulesPath(sf.fileName) || entryPackageFile(sf.fileName) || npmStaticPackageOfPath(sf.fileName) !== null) &&
2385
+ (!isNodeModulesPath(sf.fileName) ||
2386
+ entryPackageFile(sf.fileName) ||
2387
+ npmStaticPackageOfPath(sf.fileName) !== null) &&
2304
2388
  !islandJsFile(sf.fileName));
2305
2389
  const userFiles = npmStaticActive()
2306
- ? planNpmStaticReexports(program, entry, programFiles, [...createRequireProgramRoots7(program), ...forkTargetPaths(program, program.getSourceFiles())], (sf, spec, resolutionKind) => resolveImport7(program, sf, spec, resolutionKind) ?? npmStaticDepSf7(program, sf, spec, resolutionKind))
2390
+ ? planNpmStaticReexports(program, entry, programFiles, [
2391
+ ...createRequireProgramRoots7(program),
2392
+ ...forkTargetPaths(program, program.getSourceFiles()),
2393
+ ], (sf, spec, resolutionKind) => resolveImport7(program, sf, spec, resolutionKind) ??
2394
+ npmStaticDepSf7(program, sf, spec, resolutionKind))
2307
2395
  : programFiles;
2308
2396
  program.getTypeChecker().prefetchSourceFileStructures(userFiles);
2309
2397
  // node_modules JS that no --npm-static opt-in claims is NOT program
@@ -2398,7 +2486,9 @@ function preflight7(load) {
2398
2486
  // lowers to nothing.
2399
2487
  if (ts.isExternalModuleReference(stmt.moduleReference) && !stmt.isTypeOnly) {
2400
2488
  const spec = stmt.moduleReference.expression;
2401
- if (spec !== undefined && ts.isStringLiteralLike(spec) && load.externalTypes.has(spec.text)) {
2489
+ if (spec !== undefined &&
2490
+ ts.isStringLiteralLike(spec) &&
2491
+ load.externalTypes.has(spec.text)) {
2402
2492
  diags.push(externalHostModuleDiag7(spec.text, stmt));
2403
2493
  }
2404
2494
  else {
@@ -2634,10 +2724,13 @@ function preflight7(load) {
2634
2724
  // SC1012 fence. The callable module objects (assert, events, test)
2635
2725
  // stay allowed everywhere. The process default is the global process
2636
2726
  // alias, including when combined with named builtin imports.
2637
- const syntheticDefaultsOn = program.getCompilerOptions().allowSyntheticDefaultImports === true;
2638
- const defaultOk = spec === "process" || spec === "node:process" ||
2727
+ const syntheticDefaultsOn = program.getCompilerOptions()
2728
+ .allowSyntheticDefaultImports === true;
2729
+ const defaultOk = spec === "process" ||
2730
+ spec === "node:process" ||
2639
2731
  builtinDefaultImportModule(spec) !== null ||
2640
- ((isJsSourceFileName(sf.fileName) || syntheticDefaultsOn) && canonicalBuiltinModule(spec) !== null);
2732
+ ((isJsSourceFileName(sf.fileName) || syntheticDefaultsOn) &&
2733
+ canonicalBuiltinModule(spec) !== null);
2641
2734
  if (clause.name && !isJson && dep === null && !defaultOk) {
2642
2735
  diags.push(unsupportedDiag("SC1012", locOf7(clause.name)));
2643
2736
  }
@@ -2714,7 +2807,10 @@ function preflight7(load) {
2714
2807
  continue;
2715
2808
  }
2716
2809
  if (req.decl && ts.isObjectBindingPattern(req.decl.name)) {
2717
- const bad = req.decl.name.elements.find((e) => e.name === undefined || !ts.isIdentifier(e.name) || e.initializer !== undefined || e.dotDotDotToken !== undefined);
2810
+ const bad = req.decl.name.elements.find((e) => e.name === undefined ||
2811
+ !ts.isIdentifier(e.name) ||
2812
+ e.initializer !== undefined ||
2813
+ e.dotDotDotToken !== undefined);
2718
2814
  if (bad) {
2719
2815
  diags.push(unsupportedDiag("SC1012", loc, "require() destructuring with defaults, rest, or nested patterns"));
2720
2816
  continue;
@@ -2728,7 +2824,9 @@ function preflight7(load) {
2728
2824
  // form above (bundle dists require their workspace siblings —
2729
2825
  // the same resolution, the same offender discipline on a
2730
2826
  // miss).
2731
- const npmReq = !req.spec.startsWith("#") ? resolveNpmImport7(sf.fileName, req.spec, "require") : null;
2827
+ const npmReq = !req.spec.startsWith("#")
2828
+ ? resolveNpmImport7(sf.fileName, req.spec, "require")
2829
+ : null;
2732
2830
  if (npmReq !== null && isNpmStaticPackage(npmReq.packageName)) {
2733
2831
  dep = npmStaticProgramDep(program, npmReq.packageName, npmReq.typesFile);
2734
2832
  if (dep === null)
@@ -2783,7 +2881,9 @@ function preflight7(load) {
2783
2881
  }
2784
2882
  }
2785
2883
  const nestedBareRequires = nestedBareRequiresOf7(sf);
2786
- program.getTypeChecker().prefetchSymbolNodesExact(nestedBareRequires.flatMap((call) => ts.isIdentifier(call.expression) ? [call.expression] : []));
2884
+ program
2885
+ .getTypeChecker()
2886
+ .prefetchSymbolNodesExact(nestedBareRequires.flatMap((call) => ts.isIdentifier(call.expression) ? [call.expression] : []));
2787
2887
  for (const call of nestedBareRequires) {
2788
2888
  const spec = requireSpecOf7(call);
2789
2889
  const loc = { file: sf.fileName, start: call.getStart(sf), end: call.getEnd() };
@@ -2813,7 +2913,9 @@ function preflight7(load) {
2813
2913
  if (!isRelativeSpecifier(spec)) {
2814
2914
  // --npm-static: opted-in packages ride the program-module edge
2815
2915
  // (the statement-level require branch above).
2816
- const npmReq = !spec.startsWith("#") ? resolveNpmImport7(sf.fileName, spec, "require") : null;
2916
+ const npmReq = !spec.startsWith("#")
2917
+ ? resolveNpmImport7(sf.fileName, spec, "require")
2918
+ : null;
2817
2919
  if (npmReq !== null && isNpmStaticPackage(npmReq.packageName)) {
2818
2920
  const nDep = npmStaticProgramDep(program, npmReq.packageName, npmReq.typesFile);
2819
2921
  if (nDep !== null)
@@ -2962,14 +3064,16 @@ function cjsNamedImportLinkCheck(program, entry, moduleOrder, diags) {
2962
3064
  // Reexport targets union in only when they resolve to CommonJS program
2963
3065
  // files (Node's cjsPreparseModuleExports rule).
2964
3066
  const resolveCjsDep = (from, spec) => {
2965
- const dep = resolveImport7(program, from, spec, "require") ?? npmStaticDepSf7(program, from, spec, "require");
3067
+ const dep = resolveImport7(program, from, spec, "require") ??
3068
+ npmStaticDepSf7(program, from, spec, "require");
2966
3069
  return dep !== null && isCjsJsFile7(dep, program) ? dep : null;
2967
3070
  };
2968
3071
  const visible = (dep, name) =>
2969
3072
  // `default` is the module.exports binding itself — always provided.
2970
3073
  // The program already owns native source ASTs; reuse them without
2971
3074
  // starting another syntax session or reparsing their source text.
2972
- name === "default" || cjsVisibleNames(dep, cjsLexedExportsOfFile, resolveCjsDep, lexMemo).has(name);
3075
+ name === "default" ||
3076
+ cjsVisibleNames(dep, cjsLexedExportsOfFile, resolveCjsDep, lexMemo).has(name);
2973
3077
  /** The statement's resolved LOCAL CommonJS dependency, when it is an
2974
3078
  * import/re-export from one. */
2975
3079
  const cjsDepOf = (sf, spec) => {
@@ -2982,7 +3086,9 @@ function cjsNamedImportLinkCheck(program, entry, moduleOrder, diags) {
2982
3086
  const firstInvisibleOf = (sf) => {
2983
3087
  const entries = [];
2984
3088
  for (const stmt of sf.statements) {
2985
- if (!ts.isImportDeclaration(stmt) || stmt.moduleSpecifier === undefined || !ts.isStringLiteral(stmt.moduleSpecifier))
3089
+ if (!ts.isImportDeclaration(stmt) ||
3090
+ stmt.moduleSpecifier === undefined ||
3091
+ !ts.isStringLiteral(stmt.moduleSpecifier))
2986
3092
  continue;
2987
3093
  const clause = stmt.importClause;
2988
3094
  if (!clause || clause.phaseModifier === ts.SyntaxKind.TypeKeyword)
@@ -3040,7 +3146,8 @@ function cjsNamedImportLinkCheck(program, entry, moduleOrder, diags) {
3040
3146
  continue;
3041
3147
  if (ts.isExportDeclaration(stmt) && isPrunedNpmReexport(program, stmt))
3042
3148
  continue;
3043
- if (ts.isImportDeclaration(stmt) && stmt.importClause?.phaseModifier === ts.SyntaxKind.TypeKeyword)
3149
+ if (ts.isImportDeclaration(stmt) &&
3150
+ stmt.importClause?.phaseModifier === ts.SyntaxKind.TypeKeyword)
3044
3151
  continue;
3045
3152
  const specNode = stmt.moduleSpecifier;
3046
3153
  if (specNode === undefined || !ts.isStringLiteral(specNode))
@@ -3078,7 +3185,8 @@ function cjsNamedImportLinkCheck(program, entry, moduleOrder, diags) {
3078
3185
  for (const stmt of entry.statements) {
3079
3186
  if (!ts.isImportDeclaration(stmt) && !(ts.isExportDeclaration(stmt) && !stmt.isTypeOnly))
3080
3187
  continue;
3081
- if (ts.isImportDeclaration(stmt) && stmt.importClause?.phaseModifier === ts.SyntaxKind.TypeKeyword)
3188
+ if (ts.isImportDeclaration(stmt) &&
3189
+ stmt.importClause?.phaseModifier === ts.SyntaxKind.TypeKeyword)
3082
3190
  continue;
3083
3191
  const specNode = stmt.moduleSpecifier;
3084
3192
  if (specNode === undefined || !ts.isStringLiteral(specNode) || specNode.text !== bad.spec)
@@ -3090,7 +3198,11 @@ function cjsNamedImportLinkCheck(program, entry, moduleOrder, diags) {
3090
3198
  }
3091
3199
  const loc = locOf7(bad.nameNode);
3092
3200
  if (!flavored) {
3093
- return { message: `The requested module '${bad.spec}' does not provide an export named '${bad.exportName}'`, className: "%SyntaxError", loc };
3201
+ return {
3202
+ message: `The requested module '${bad.spec}' does not provide an export named '${bad.exportName}'`,
3203
+ className: "%SyntaxError",
3204
+ loc,
3205
+ };
3094
3206
  }
3095
3207
  // The destructuring hint: Node regexes the failing name's SOURCE LINE
3096
3208
  // for its brace group (greedy, first `{` to last `}` on the line) and
@@ -3155,9 +3267,15 @@ function analyzeEsmNamedImportLinks(program, entry) {
3155
3267
  // type-only, but the native ESM linker sees the runtime placeholder.
3156
3268
  if (name === "default" &&
3157
3269
  hasNodeTsDefaultInterfacePlaceholder7(dep) &&
3158
- checker.declarationsOf(resolved).some((declaration) => ts.isInterfaceDeclaration(declaration) &&
3159
- ts.getModifiers(declaration)?.some((modifier) => modifier.kind === ts.SyntaxKind.DefaultKeyword) === true &&
3160
- ts.getModifiers(declaration)?.some((modifier) => modifier.kind === ts.SyntaxKind.ExportKeyword) === true)) {
3270
+ checker
3271
+ .declarationsOf(resolved)
3272
+ .some((declaration) => ts.isInterfaceDeclaration(declaration) &&
3273
+ ts
3274
+ .getModifiers(declaration)
3275
+ ?.some((modifier) => modifier.kind === ts.SyntaxKind.DefaultKeyword) === true &&
3276
+ ts
3277
+ .getModifiers(declaration)
3278
+ ?.some((modifier) => modifier.kind === ts.SyntaxKind.ExportKeyword) === true)) {
3161
3279
  return resolved;
3162
3280
  }
3163
3281
  return undefined;
@@ -3200,7 +3318,13 @@ function analyzeEsmNamedImportLinks(program, entry) {
3200
3318
  if (dep === null || dep.fileName.endsWith(".json") || !isNodeEsmFile7(dep, program))
3201
3319
  continue;
3202
3320
  if (clause.name !== undefined) {
3203
- imports.push({ local: clause.name.text, exportName: "default", spec, nameNode: clause.name, dep });
3321
+ imports.push({
3322
+ local: clause.name.text,
3323
+ exportName: "default",
3324
+ spec,
3325
+ nameNode: clause.name,
3326
+ dep,
3327
+ });
3204
3328
  }
3205
3329
  if (clause.namedBindings === undefined || !ts.isNamedImports(clause.namedBindings))
3206
3330
  continue;
@@ -3268,7 +3392,8 @@ function analyzeEsmNamedImportLinks(program, entry) {
3268
3392
  continue;
3269
3393
  if (ts.isExportDeclaration(stmt) && isPrunedNpmReexport(program, stmt))
3270
3394
  continue;
3271
- if (ts.isImportDeclaration(stmt) && stmt.importClause?.phaseModifier === ts.SyntaxKind.TypeKeyword)
3395
+ if (ts.isImportDeclaration(stmt) &&
3396
+ stmt.importClause?.phaseModifier === ts.SyntaxKind.TypeKeyword)
3272
3397
  continue;
3273
3398
  const moduleSpecifier = stmt.moduleSpecifier;
3274
3399
  if (moduleSpecifier === undefined || !ts.isStringLiteral(moduleSpecifier))
@@ -3369,10 +3494,14 @@ function earlierLinkCrash(moduleOrder, first, second) {
3369
3494
  let reexport = 0;
3370
3495
  for (const stmt of sf.statements) {
3371
3496
  const exportClause = ts.isExportDeclaration(stmt) ? stmt.exportClause : undefined;
3372
- if (!ts.isExportDeclaration(stmt) || stmt.isTypeOnly || exportClause === undefined || !ts.isNamedExports(exportClause))
3497
+ if (!ts.isExportDeclaration(stmt) ||
3498
+ stmt.isTypeOnly ||
3499
+ exportClause === undefined ||
3500
+ !ts.isNamedExports(exportClause))
3373
3501
  continue;
3374
3502
  for (const element of exportClause.elements) {
3375
- if (!element.isTypeOnly && (element.propertyName ?? element.name).getStart(sf) === crash.loc.start) {
3503
+ if (!element.isTypeOnly &&
3504
+ (element.propertyName ?? element.name).getStart(sf) === crash.loc.start) {
3376
3505
  return [1, reexport];
3377
3506
  }
3378
3507
  if (!element.isTypeOnly)
@@ -3399,9 +3528,9 @@ const nodeBuiltinNames = new Set(builtinModules);
3399
3528
  * resolution, locations), exported under the names the 5.9.3 program.ts
3400
3529
  * established (the phase-2 port kept every spelling); the world-neutral
3401
3530
  * helpers re-export from their focused modules. */
3402
- export { ambientDtsPath, fallbackDtsPath, isNodeTypesPath, overridesDtsPath, } from "./dts-paths.js";
3531
+ export { ambientDtsPath, fallbackDtsPath, isNodeTypesPath, overridesDtsPath } from "./dts-paths.js";
3403
3532
  export { builtinDefaultImportModule, canonicalBuiltinModule, SUPPORTED_BUILTIN_MODULES, } from "./builtin-modules.js";
3404
- export { npmPackageNameOf, workspacePackageOfPath, } from "./workspace-registry.js";
3533
+ export { npmPackageNameOf, workspacePackageOfPath } from "./workspace-registry.js";
3405
3534
  export { requireSpecOf7 as requireSpecOf, isRequireStatement7 as isRequireStatement, requiresOf7 as requiresOf, isNodeEsmFile7 as isNodeEsmFile, resolveImport7 as resolveImport, resolveNpmImport7 as resolveNpmImport, locOf7 as locOf, };
3406
3535
  /** True for JavaScript source files (.js/.mjs/.cjs) — the files whose
3407
3536
  * types come entirely from inference (checkJs + JSDoc) and whose classes
@@ -3456,7 +3585,8 @@ export function orderedImportsOf(program, sf) {
3456
3585
  for (const stmt of sf.statements) {
3457
3586
  if (ts.isExportDeclaration(stmt) && isPrunedNpmReexport(program, stmt))
3458
3587
  continue;
3459
- if (ts.isExportDeclaration(stmt) && (stmt.isTypeOnly || erasedTypeOnlyReexport(stmt) || !stmt.moduleSpecifier))
3588
+ if (ts.isExportDeclaration(stmt) &&
3589
+ (stmt.isTypeOnly || erasedTypeOnlyReexport(stmt) || !stmt.moduleSpecifier))
3460
3590
  continue;
3461
3591
  if (!ts.isImportDeclaration(stmt) && !ts.isExportDeclaration(stmt))
3462
3592
  continue;
@@ -3587,7 +3717,10 @@ export function cjsExportTargetLiteral(e, sf) {
3587
3717
  if ((stmt.declarationList.flags & ts.NodeFlags.Const) === 0)
3588
3718
  continue;
3589
3719
  for (const d of stmt.declarationList.declarations) {
3590
- if (d.name !== undefined && ts.isIdentifier(d.name) && d.name.text === e.text && d.initializer) {
3720
+ if (d.name !== undefined &&
3721
+ ts.isIdentifier(d.name) &&
3722
+ d.name.text === e.text &&
3723
+ d.initializer) {
3591
3724
  let init = d.initializer;
3592
3725
  while (ts.isParenthesizedExpression(init))
3593
3726
  init = init.expression;