ttsc 0.30.4 → 0.31.1

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 (2089) hide show
  1. package/cmd/graphbench/main.go +2 -3
  2. package/cmd/graphdump/main.go +42 -16
  3. package/cmd/graphdump/run_declares_the_capability_its_output_carries_test.go +32 -18
  4. package/cmd/graphdump/run_reports_an_unknown_flag_without_exiting_the_process_test.go +10 -9
  5. package/cmd/graphdump/run_reports_an_unloadable_project_without_printing_a_dump_test.go +8 -7
  6. package/cmd/platform/command_operation_families_test.go +192 -0
  7. package/cmd/platform/main.go +11 -1
  8. package/cmd/ttsc/api_compile.go +166 -46
  9. package/cmd/ttsc/api_compile_branches_test.go +97 -10
  10. package/cmd/ttsc/api_transform.go +134 -46
  11. package/cmd/ttsc/api_transform_branches_test.go +10 -7
  12. package/cmd/ttsc/build.go +177 -68
  13. package/cmd/ttsc/build_branches_test.go +35 -7
  14. package/cmd/ttsc/cli_command_operation_families_test.go +1287 -0
  15. package/cmd/ttsc/cli_contract_helpers_test.go +82 -0
  16. package/cmd/ttsc/compiler_argument_cwd_test.go +57 -0
  17. package/cmd/ttsc/filter.go +31 -14
  18. package/cmd/ttsc/filter_resolves_flag_names_case_insensitively_test.go +10 -13
  19. package/cmd/ttsc/filter_strips_unknown_forwarded_flag_test.go +10 -16
  20. package/cmd/ttsc/flags_gen.go +2 -2
  21. package/cmd/ttsc/helpers_test.go +67 -10
  22. package/cmd/ttsc/main.go +122 -21
  23. package/cmd/ttsc/main_alias_branches_test.go +35 -9
  24. package/cmd/ttsc/testdata/cli_operation_families/TestAPITransformEnvelopeCarriesReferenceGraph/ambient.d.ts +1 -0
  25. package/cmd/ttsc/testdata/cli_operation_families/TestAPITransformEnvelopeCarriesReferenceGraph/main.ts +2 -0
  26. package/cmd/ttsc/testdata/cli_operation_families/TestAPITransformEnvelopeCarriesReferenceGraph/mytype.ts +1 -0
  27. package/cmd/ttsc/testdata/cli_operation_families/TestAPITransformEnvelopeCarriesReferenceGraph/tsconfig.base.json +3 -0
  28. package/cmd/ttsc/testdata/cli_operation_families/TestAPITransformEnvelopeCarriesReferenceGraph/tsconfig.json +5 -0
  29. package/cmd/ttsc/testdata/cli_operation_families/TestCLIAPICompileAndTransform/index.ts +1 -0
  30. package/cmd/ttsc/testdata/cli_operation_families/TestCLIAPICompileAndTransform/src/decorated/main.ts +10 -0
  31. package/cmd/ttsc/testdata/cli_operation_families/TestCLIAPICompileAndTransform/src/decorated/types.ts +3 -0
  32. package/cmd/ttsc/testdata/cli_operation_families/TestCLIAPICompileAndTransform/src/helpers.ts +1 -0
  33. package/cmd/ttsc/testdata/cli_operation_families/TestCLIAPICompileAndTransform/src/isolated.ts +1 -0
  34. package/cmd/ttsc/testdata/cli_operation_families/TestCLIAPICompileAndTransform/src/main.ts +7 -0
  35. package/cmd/ttsc/testdata/cli_operation_families/TestCLIAPICompileAndTransform/src/nested/model.ts +1 -0
  36. package/cmd/ttsc/testdata/cli_operation_families/TestCLIAPICompileAndTransform/tsconfig.json +14 -0
  37. package/cmd/ttsc/testdata/cli_operation_families/TestCLIAPITransformUsesCurrentDirectory/index.ts +1 -0
  38. package/cmd/ttsc/testdata/cli_operation_families/TestCLIAPITransformUsesCurrentDirectory/tsconfig.json +7 -0
  39. package/cmd/ttsc/testdata/cli_operation_families/TestCLIProjectBuildAllowsUnusedTypeParametersOnOverloadSignatures/index.ts +4 -0
  40. package/cmd/ttsc/testdata/cli_operation_families/TestCLIProjectBuildAllowsUnusedTypeParametersOnOverloadSignatures/tsconfig.json +11 -0
  41. package/cmd/ttsc/testdata/cli_operation_families/TestCLIProjectBuildBlocksSemanticDiagnostics/index.ts +2 -0
  42. package/cmd/ttsc/testdata/cli_operation_families/TestCLIProjectBuildBlocksSemanticDiagnostics/tsconfig.json +9 -0
  43. package/cmd/ttsc/testdata/cli_operation_families/TestCLIProjectBuildBlocksSyntacticDiagnostics/index.ts +2 -0
  44. package/cmd/ttsc/testdata/cli_operation_families/TestCLIProjectBuildBlocksSyntacticDiagnostics/tsconfig.json +8 -0
  45. package/cmd/ttsc/testdata/cli_operation_families/TestCLIProjectBuildBlocksUnusedParameters/index.ts +3 -0
  46. package/cmd/ttsc/testdata/cli_operation_families/TestCLIProjectBuildBlocksUnusedParameters/tsconfig.json +10 -0
  47. package/cmd/ttsc/testdata/cli_operation_families/TestCLIProjectBuildEmitErrorRejectsManifest/index.ts +1 -0
  48. package/cmd/ttsc/testdata/cli_operation_families/TestCLIProjectBuildEmitErrorRejectsManifest/tsconfig.json +1 -0
  49. package/cmd/ttsc/testdata/cli_operation_families/TestCLIReportsDiagnosticsWithoutEmit/index.ts +1 -0
  50. package/cmd/ttsc/testdata/cli_operation_families/TestCLIReportsDiagnosticsWithoutEmit/tsconfig.json +8 -0
  51. package/cmd/ttsc/testdata/cli_operation_families/shared-value-one/project/emit.json +8 -0
  52. package/cmd/ttsc/testdata/cli_operation_families/shared-value-one/project/flag-shaped.json +7 -0
  53. package/cmd/ttsc/testdata/cli_operation_families/shared-value-one/project/index.ts +2 -0
  54. package/cmd/ttsc/testdata/cli_operation_families/shared-value-one/project/nested/tsconfig.app.json +11 -0
  55. package/cmd/ttsc/testdata/cli_operation_families/shared-value-one/project/outside.json +8 -0
  56. package/cmd/ttsc/testdata/cli_operation_families/shared-value-one/project/tsconfig.json +8 -0
  57. package/cmd/ttscgraph/auxiliary_identity_state_tracks_retargets_not_source_contents_test.go +26 -15
  58. package/cmd/ttscgraph/disk_realpath_other.go +2 -0
  59. package/cmd/ttscgraph/dump.go +46 -29
  60. package/cmd/ttscgraph/prepared_projection.go +61 -0
  61. package/cmd/ttscgraph/projection_fixture_test.go +96 -0
  62. package/cmd/ttscgraph/run_dump_claims_artifacts_only_when_it_asked_test.go +30 -5
  63. package/cmd/ttscgraph/run_dump_declares_the_capability_its_output_carries_test.go +6 -1
  64. package/cmd/ttscgraph/run_dump_emits_only_checker_verified_member_relations_test.go +12 -5
  65. package/cmd/ttscgraph/run_dump_prints_the_graph_as_json_test.go +17 -12
  66. package/cmd/ttscgraph/run_help_version_and_bad_flags_exit_codes_test.go +8 -3
  67. package/cmd/ttscgraph/serve.go +116 -79
  68. package/cmd/ttscgraph/serve_adopts_a_republished_artifact_set_test.go +16 -167
  69. package/cmd/ttscgraph/serve_adopts_a_republished_set_over_the_shard_protocol_test.go +122 -0
  70. package/cmd/ttscgraph/serve_answers_a_project_that_implements_its_own_ambient_declaration_test.go +35 -7
  71. package/cmd/ttscgraph/serve_early_error_encode_failure_is_observable_test.go +5 -0
  72. package/cmd/ttscgraph/serve_error_response_still_names_its_mode_test.go +10 -5
  73. package/cmd/ttscgraph/serve_git_ignore_projection_test.go +150 -0
  74. package/cmd/ttscgraph/serve_keeps_a_startup_set_a_client_never_mentions_test.go +69 -0
  75. package/cmd/ttscgraph/serve_object_members_refresh_without_identity_collisions_test.go +82 -0
  76. package/cmd/ttscgraph/serve_phase_trace_accounts_for_load_failure_test.go +9 -3
  77. package/cmd/ttscgraph/serve_phase_trace_is_opt_in_and_payload_free_test.go +12 -6
  78. package/cmd/ttscgraph/serve_projects_an_artifact_no_source_owns_test.go +13 -16
  79. package/cmd/ttscgraph/serve_protocol_fails_the_stream_on_an_unaddressable_request_line_test.go +10 -9
  80. package/cmd/ttscgraph/serve_protocol_negotiates_incremental_shards_test.go +37 -2
  81. package/cmd/ttscgraph/serve_protocol_retries_session_creation_test.go +7 -2
  82. package/cmd/ttscgraph/serve_protocol_reuses_session_test.go +13 -3
  83. package/cmd/ttscgraph/serve_session_applies_source_edit_incrementally_test.go +12 -7
  84. package/cmd/ttscgraph/serve_session_fails_closed_on_deleted_config_test.go +12 -7
  85. package/cmd/ttscgraph/serve_session_fails_closed_on_invalid_config_test.go +8 -3
  86. package/cmd/ttscgraph/serve_session_keeps_base_url_fallback_unchanged_test.go +7 -2
  87. package/cmd/ttscgraph/serve_session_keeps_change_detection_live_after_initial_dump_error_test.go +66 -0
  88. package/cmd/ttscgraph/serve_session_keeps_esm_directory_candidate_unchanged_test.go +12 -3
  89. package/cmd/ttscgraph/serve_session_keeps_exports_blocked_file_candidates_unchanged_test.go +8 -3
  90. package/cmd/ttscgraph/serve_session_keeps_inactive_conditional_export_unchanged_test.go +12 -3
  91. package/cmd/ttscgraph/serve_session_keeps_lower_priority_module_candidate_unchanged_test.go +14 -8
  92. package/cmd/ttscgraph/serve_session_keeps_lower_priority_paths_pattern_unchanged_test.go +12 -3
  93. package/cmd/ttscgraph/serve_session_keeps_missing_literal_root_unchanged_test.go +7 -2
  94. package/cmd/ttscgraph/serve_session_keeps_nonlongest_root_dirs_candidate_unchanged_test.go +12 -3
  95. package/cmd/ttscgraph/serve_session_rebuilds_import_graph_change_test.go +17 -8
  96. package/cmd/ttscgraph/serve_session_reloads_commonjs_package_entry_for_esm_test.go +11 -2
  97. package/cmd/ttscgraph/serve_session_reloads_created_literal_root_test.go +7 -2
  98. package/cmd/ttscgraph/serve_session_reloads_extended_config_change_test.go +9 -4
  99. package/cmd/ttscgraph/serve_session_reloads_module_suffix_candidate_test.go +13 -4
  100. package/cmd/ttscgraph/serve_session_reloads_newly_resolved_conditional_export_test.go +13 -8
  101. package/cmd/ttscgraph/serve_session_reloads_newly_resolved_config_types_test.go +7 -2
  102. package/cmd/ttscgraph/serve_session_reloads_newly_resolved_excluded_import_test.go +11 -3
  103. package/cmd/ttscgraph/serve_session_reloads_newly_resolved_package_export_test.go +11 -2
  104. package/cmd/ttscgraph/serve_session_reloads_newly_resolved_package_import_test.go +11 -2
  105. package/cmd/ttscgraph/serve_session_reloads_newly_resolved_path_alias_test.go +11 -2
  106. package/cmd/ttscgraph/serve_session_reloads_newly_resolved_reference_path_test.go +11 -2
  107. package/cmd/ttscgraph/serve_session_reloads_newly_resolved_root_dirs_target_test.go +11 -2
  108. package/cmd/ttscgraph/serve_session_reloads_newly_resolved_type_reference_test.go +11 -2
  109. package/cmd/ttscgraph/serve_session_reloads_root_file_set_test.go +11 -5
  110. package/cmd/ttscgraph/serve_session_reloads_source_deleted_during_load_test.go +16 -9
  111. package/cmd/ttscgraph/serve_session_reloads_superseding_module_candidates_test.go +18 -13
  112. package/cmd/ttscgraph/serve_session_reloads_transitive_project_reference_test.go +14 -5
  113. package/cmd/ttscgraph/serve_session_reloads_when_program_plugin_linked_test.go +13 -8
  114. package/cmd/ttscgraph/serve_session_retries_a_pending_dump_before_unchanged_test.go +62 -0
  115. package/cmd/ttscgraph/serve_session_reuses_unchanged_preamble_source_test.go +21 -0
  116. package/cmd/ttscgraph/serve_session_reuses_unchanged_snapshot_test.go +12 -7
  117. package/cmd/ttscgraph/serve_session_revisits_source_edited_during_load_test.go +18 -8
  118. package/cmd/ttscgraph/serve_session_tolerates_os_invalid_resolution_candidate_test.go +13 -9
  119. package/cmd/ttscgraph/serve_session_tracks_all_module_specifier_forms_test.go +12 -3
  120. package/cmd/ttscgraph/serve_session_tracks_diamond_project_references_once_test.go +12 -8
  121. package/cmd/ttscgraph/serve_shards.go +356 -279
  122. package/cmd/ttscgraph/serve_shards_abandoned_generation_converges_on_retry_test.go +41 -16
  123. package/cmd/ttscgraph/serve_shards_delete_removed_source_test.go +14 -4
  124. package/cmd/ttscgraph/serve_shards_external_endpoints_test.go +18 -2
  125. package/cmd/ttscgraph/serve_shards_keep_source_distributed_dependencies_at_the_boundary_test.go +36 -5
  126. package/cmd/ttscgraph/serve_shards_match_full_dump_oracle_test.go +12 -3
  127. package/cmd/ttscgraph/serve_shards_merge_pending_and_new_edits_test.go +36 -3
  128. package/cmd/ttscgraph/serve_shards_prune_unreferenced_external_endpoints_test.go +18 -2
  129. package/cmd/ttscgraph/serve_shards_publish_created_source_test.go +16 -13
  130. package/cmd/ttscgraph/serve_shards_rebuild_declaration_edit_test.go +14 -4
  131. package/cmd/ttscgraph/serve_shards_refresh_cross_file_implementation_test.go +24 -5
  132. package/cmd/ttscgraph/serve_shards_refresh_dependent_diagnostics_test.go +30 -7
  133. package/cmd/ttscgraph/serve_shards_rename_moves_source_identity_test.go +14 -11
  134. package/cmd/ttscgraph/serve_shards_retry_preserves_committed_generation_test.go +17 -7
  135. package/cmd/ttscgraph/serve_shards_reuse_unaffected_sources_test.go +21 -7
  136. package/cmd/ttscgraph/serve_snapshot_proves_its_program_without_a_second_read_test.go +57 -16
  137. package/cmd/ttscgraph/serve_source_encoding_test.go +133 -0
  138. package/cmd/ttscserver/command_operation_families_test.go +207 -0
  139. package/cmd/ttscserver/main.go +121 -39
  140. package/cmd/ttscserver/resolve_launch_uses_native_flag_authority_test.go +147 -0
  141. package/cmd/ttscserver/run_lsp_forwards_execute_command_advertisement_flags_test.go +7 -0
  142. package/cmd/ttscserver/run_lsp_prefers_tsgo_flag_test.go +13 -1
  143. package/cmd/ttscserver/run_lsp_reports_getwd_error_test.go +5 -0
  144. package/cmd/ttscserver/run_lsp_reports_server_error_test.go +10 -3
  145. package/cmd/ttscserver/run_lsp_uses_native_plugin_manifest_source_test.go +13 -10
  146. package/cmd/ttscserver/run_lsp_uses_tsgo_environment_test.go +10 -3
  147. package/driver/authored_region_maps_positions_around_the_preamble_test.go +95 -0
  148. package/driver/build_information_uses_selected_output_identity_test.go +148 -0
  149. package/driver/check_observations.go +67 -0
  150. package/driver/config_discovery.go +93 -24
  151. package/driver/declaration_shape.go +9 -0
  152. package/driver/diagnostics_preamble.go +8 -7
  153. package/driver/emit_containment.go +29 -8
  154. package/driver/emit_plugin.go +106 -36
  155. package/driver/emit_plugin_output.go +26 -2
  156. package/driver/emit_provenance.go +155 -0
  157. package/driver/graph.go +54 -20
  158. package/driver/host.go +26 -3
  159. package/driver/input_observation.go +78 -16
  160. package/driver/input_observation_test.go +34 -11
  161. package/driver/lsp.go +401 -30
  162. package/driver/overlay.go +69 -2
  163. package/driver/plugins.go +256 -24
  164. package/driver/private_result.go +43 -0
  165. package/driver/program.go +439 -95
  166. package/driver/resolution_candidates.go +63 -14
  167. package/driver/resolution_candidates_test.go +28 -0
  168. package/driver/resolutioninputs/recorder.cjs +1149 -0
  169. package/driver/resolutioninputs/resolutioninputs.go +37 -0
  170. package/driver/rewrite.go +373 -420
  171. package/driver/session.go +80 -12
  172. package/driver/sourcemap_preamble.go +38 -16
  173. package/driver/transform_dependencies.go +38 -10
  174. package/driver/transform_dependencies_declares_every_file_without_a_contributor_test.go +9 -8
  175. package/driver/transform_dependencies_drops_a_self_reported_dependency_test.go +7 -6
  176. package/driver/transform_dependencies_keys_a_reported_path_like_the_envelope_test.go +9 -9
  177. package/driver/transform_dependencies_requires_every_contributor_to_declare_test.go +10 -5
  178. package/driver/transform_dependencies_stays_silent_for_an_undeclared_contributor_test.go +8 -6
  179. package/driver/transform_dependencies_withdraws_completeness_after_an_unusable_dependency_test.go +9 -5
  180. package/driver/transform_source_map.go +388 -0
  181. package/driver/windowsjunction/create_preserves_existing_directory_windows_test.go +48 -0
  182. package/driver/windowsjunction/create_treats_paths_as_data_windows_test.go +55 -0
  183. package/driver/windowsjunction/windowsjunction.go +17 -1
  184. package/go.mod +10 -10
  185. package/go.sum +10 -10
  186. package/internal/cwd/cwd.go +13 -0
  187. package/internal/e2etrace/artifact.go +147 -0
  188. package/internal/e2etrace/completion_hints.go +35 -0
  189. package/internal/e2etrace/completion_hints_test.go +76 -0
  190. package/internal/e2etrace/e2etrace.go +303 -0
  191. package/internal/e2etrace/output.go +50 -0
  192. package/internal/graph/artifacts.go +69 -12
  193. package/internal/graph/artifacts_index_what_a_plugin_published_test.go +19 -8
  194. package/internal/graph/artifacts_survive_a_partial_rebuild_test.go +11 -12
  195. package/internal/graph/assigned_implementations_of_declaration_file_symbols_leave_no_edge_source_test.go +10 -12
  196. package/internal/graph/assigned_implementations_of_node_modules_symbols_leave_no_edge_source_test.go +7 -1
  197. package/internal/graph/build.go +122 -38
  198. package/internal/graph/build_files_reuses_committed_cross_file_endpoints_test.go +9 -3
  199. package/internal/graph/build_keeps_source_distributed_dependencies_at_the_external_boundary_test.go +10 -1
  200. package/internal/graph/build_records_a_node_per_top_level_declaration_test.go +10 -4
  201. package/internal/graph/build_releases_the_scratch_it_no_longer_reads_test.go +22 -15
  202. package/internal/graph/decorators.go +18 -0
  203. package/internal/graph/decorators_capture_name_and_literal_arguments_test.go +9 -4
  204. package/internal/graph/diagnostics.go +21 -8
  205. package/internal/graph/doc_refs_are_the_use_the_checker_already_counts_test.go +25 -13
  206. package/internal/graph/doc_refs_resolve_documentation_links_test.go +19 -15
  207. package/internal/graph/doc_tags.go +28 -19
  208. package/internal/graph/doc_tags_are_claimed_before_they_are_read_test.go +16 -6
  209. package/internal/graph/doc_tags_capture_every_unrecognized_tag_test.go +9 -2
  210. package/internal/graph/doc_tags_read_only_what_the_parser_attached_test.go +12 -8
  211. package/internal/graph/doc_tags_stop_at_the_external_boundary_test.go +11 -1
  212. package/internal/graph/doc_tags_survive_line_endings_and_repeated_blocks_test.go +16 -6
  213. package/internal/graph/dump.go +200 -51
  214. package/internal/graph/dump_checkout_paths_are_stable_test.go +9 -2
  215. package/internal/graph/dump_diagnostics_ride_the_generation_that_built_it_test.go +10 -11
  216. package/internal/graph/dump_evidence_skips_leading_trivia_test.go +8 -2
  217. package/internal/graph/dump_is_a_function_of_the_source_test.go +12 -13
  218. package/internal/graph/dump_never_serializes_a_list_as_null_test.go +9 -9
  219. package/internal/graph/dump_path_mapper_caches_alias_resolution_test.go +10 -2
  220. package/internal/graph/dump_path_mapper_rejects_unportable_roots_and_collisions_test.go +53 -0
  221. package/internal/graph/{dump_paths_are_portable_and_injective_test.go → dump_path_mapper_uses_portable_coordinates_test.go} +8 -43
  222. package/internal/graph/dump_paths.go +61 -25
  223. package/internal/graph/dump_paths_canonicalize_windows_short_root_test.go +45 -8
  224. package/internal/graph/dump_rejects_provenance_only_path_errors_test.go +5 -0
  225. package/internal/graph/dump_serializes_the_full_graph_test.go +13 -19
  226. package/internal/graph/dump_symlink_project_publishes_matching_base_test.go +8 -0
  227. package/internal/graph/dump_uses_ecma_line_terminators_test.go +12 -6
  228. package/internal/graph/duplicate_variable_object_members_keep_first_declaration_test.go +11 -8
  229. package/internal/graph/edge_spans_point_to_resolved_usage_test.go +13 -5
  230. package/internal/graph/edges.go +44 -47
  231. package/internal/graph/edges_cover_class_level_references_test.go +14 -11
  232. package/internal/graph/enum_initializer_calls_are_edges_test.go +13 -3
  233. package/internal/graph/enum_members_carry_their_names_on_the_enum_node_test.go +19 -26
  234. package/internal/graph/exports.go +3 -5
  235. package/internal/graph/file_diagnostics_match_tsgo_code_and_location_test.go +9 -4
  236. package/internal/graph/file_diagnostics_report_code_column_and_message_test.go +11 -5
  237. package/internal/graph/function_locals_do_not_collide_test.go +27 -7
  238. package/internal/graph/gitignore.go +25 -12
  239. package/internal/graph/graph.go +167 -52
  240. package/internal/graph/heritage_edges_cover_implements_and_interface_extends_test.go +11 -3
  241. package/internal/graph/heritage_edges_keep_extends_and_implements_to_same_base_test.go +6 -0
  242. package/internal/graph/heritage_edges_record_extends_versus_implements_origin_test.go +9 -3
  243. package/internal/graph/heritage_edges_traverse_barrels_and_stop_at_external_leaves_test.go +11 -4
  244. package/internal/graph/line_model.go +44 -25
  245. package/internal/graph/literals.go +6 -7
  246. package/internal/graph/literals_are_absent_when_the_type_admits_more_than_it_can_name_test.go +10 -5
  247. package/internal/graph/literals_cover_enum_members_the_graph_has_no_nodes_for_test.go +15 -17
  248. package/internal/graph/literals_do_not_depend_on_declaration_line_wrapping_test.go +10 -9
  249. package/internal/graph/literals_render_every_value_in_typescript_source_form_test.go +11 -11
  250. package/internal/graph/literals_resolve_through_alias_indirection_test.go +11 -11
  251. package/internal/graph/member_relation_edges_follow_checker_validity_test.go +11 -2
  252. package/internal/graph/member_relation_edges_preserve_checker_boundaries_test.go +11 -1
  253. package/internal/graph/member_relation_edges_reject_checker_invalid_pairs_test.go +12 -7
  254. package/internal/graph/namespace_dotted_form_qualifies_deeply_test.go +12 -3
  255. package/internal/graph/namespace_members_become_qualified_nodes_and_edges_test.go +12 -2
  256. package/internal/graph/node_identity_is_position_invariant_test.go +8 -2
  257. package/internal/graph/node_ids_preserve_hash_bearing_components_test.go +10 -2
  258. package/internal/graph/node_modifiers_emit_union_strings_test.go +13 -12
  259. package/internal/graph/nodes_are_marked_exported_through_the_export_table_test.go +12 -14
  260. package/internal/graph/object_literal_declarations_resolve_calls_test.go +170 -0
  261. package/internal/graph/object_literal_members_ride_on_the_snapshot_test.go +14 -13
  262. package/internal/graph/object_member_signatures_preserve_literal_whitespace_test.go +11 -7
  263. package/internal/graph/object_members.go +100 -1
  264. package/internal/graph/overload_implementation_replaces_signature_test.go +13 -2
  265. package/internal/graph/property_member_edges_remain_owner_visible_test.go +9 -3
  266. package/internal/graph/provenance.go +172 -87
  267. package/internal/graph/resolve.go +46 -12
  268. package/internal/graph/resolve_prefers_implementation_declaration_test.go +10 -2
  269. package/internal/graph/resolve_unwraps_barrel_reexport_to_real_declaration_test.go +16 -20
  270. package/internal/graph/source.go +16 -6
  271. package/internal/graph/source_texts_cover_every_resident_program_source_test.go +11 -7
  272. package/internal/graph/type_ref_edges_cover_typeof_as_satisfies_test.go +21 -2
  273. package/internal/graph/type_ref_edges_resolve_named_types_across_files_test.go +8 -3
  274. package/internal/graph/value_access_edges_cover_properties_test.go +11 -3
  275. package/internal/graph/value_call_edges_attribute_function_assignments_to_members_test.go +10 -4
  276. package/internal/graph/value_call_edges_cover_jsx_components_test.go +12 -8
  277. package/internal/graph/value_call_edges_cover_methods_and_constructors_test.go +12 -9
  278. package/internal/graph/value_call_edges_cover_variable_bound_callables_test.go +9 -3
  279. package/internal/graph/value_call_edges_do_not_double_record_invoked_member_access_test.go +10 -3
  280. package/internal/graph/value_call_edges_record_construct_versus_call_origin_test.go +12 -9
  281. package/internal/graph/value_call_edges_resolve_across_files_and_dedupe_test.go +10 -3
  282. package/internal/graph/value_call_edges_skip_self_and_unresolved_test.go +16 -5
  283. package/internal/graph/wire_node_ids_share_alias_resolution_test.go +10 -4
  284. package/internal/graphsymbols/position_helpers_follow_ecma_line_terminators_test.go +16 -4
  285. package/internal/graphsymbols/provider.go +278 -113
  286. package/internal/lspserver/lsp_clean_didopen_refreshes_compiler_state_test.go +14 -12
  287. package/internal/lspserver/lsp_completion_gate_never_refuses_a_matching_line_test.go +7 -1
  288. package/internal/lspserver/lsp_completion_hints_longest_trigger_wins_test.go +30 -5
  289. package/internal/lspserver/lsp_completion_hints_nearest_trigger_wins_test.go +5 -0
  290. package/internal/lspserver/lsp_completion_merges_into_upstream_response_test.go +23 -10
  291. package/internal/lspserver/lsp_completion_nearest_hint_replaces_nearest_filter_test.go +7 -1
  292. package/internal/lspserver/lsp_completion_preserves_completion_list_extensions_test.go +13 -5
  293. package/internal/lspserver/lsp_completion_refuses_hints_inside_a_string_literal_test.go +11 -7
  294. package/internal/lspserver/lsp_completion_replaces_full_filter_in_rank_order_test.go +12 -2
  295. package/internal/lspserver/lsp_completion_request.go +5 -26
  296. package/internal/lspserver/lsp_completion_scope.go +13 -10
  297. package/internal/lspserver/lsp_completion_scope_bench_test.go +11 -5
  298. package/internal/lspserver/lsp_completion_scope_classifies_regex_statement_and_operator_boundaries_test.go +8 -1
  299. package/internal/lspserver/lsp_completion_scope_ignores_jsdoc_bytes_in_literals_test.go +11 -10
  300. package/internal/lspserver/lsp_completion_scope_refuses_regex_hints_test.go +7 -3
  301. package/internal/lspserver/lsp_completion_trigger_uses_last_rune_test.go +6 -0
  302. package/internal/lspserver/lsp_deleted_watched_file_withdraws_plugin_diagnostics_test.go +11 -10
  303. package/internal/lspserver/lsp_didsave_keeps_the_incremental_changed_uri_path_test.go +12 -9
  304. package/internal/lspserver/lsp_document_diagnostics_omits_cached_project_when_current_result_has_none_test.go +17 -5
  305. package/internal/lspserver/lsp_envelope.go +84 -11
  306. package/internal/lspserver/lsp_executable_project_input_change_requests_launcher_restart_test.go +12 -9
  307. package/internal/lspserver/lsp_external_watched_change_retains_program_test.go +8 -2
  308. package/internal/lspserver/lsp_frame.go +42 -10
  309. package/internal/lspserver/lsp_hints_absence_is_not_an_error_test.go +16 -15
  310. package/internal/lspserver/lsp_hints_refresh_coalesces_concurrent_requests_test.go +21 -12
  311. package/internal/lspserver/lsp_hints_refresh_ignores_a_superseded_generation_test.go +20 -12
  312. package/internal/lspserver/lsp_hints_refresh_keeps_each_producer_isolated_test.go +30 -9
  313. package/internal/lspserver/lsp_hints_refresh_replaces_the_session_snapshot_test.go +25 -18
  314. package/internal/lspserver/lsp_hints_refresh_scheduled_by_editor_events_test.go +12 -12
  315. package/internal/lspserver/lsp_hints_refresh_serves_completion_while_running_test.go +21 -8
  316. package/internal/lspserver/lsp_index_byte_from_bounds_its_search_start_test.go +9 -7
  317. package/internal/lspserver/lsp_initialize_constrains_position_encoding_to_utf16_test.go +57 -21
  318. package/internal/lspserver/lsp_late_completion_trigger_is_reported_once_test.go +16 -17
  319. package/internal/lspserver/lsp_native_completion_hints_decode_flat_lint_wire_test.go +8 -2
  320. package/internal/lspserver/lsp_native_completion_hints_grouped_compatibility_boundary_test.go +5 -0
  321. package/internal/lspserver/lsp_native_plugin_source.go +381 -202
  322. package/internal/lspserver/lsp_native_plugin_source_ends_the_session_on_a_selection_input_test.go +234 -0
  323. package/internal/lspserver/lsp_native_reply_policies_test.go +475 -0
  324. package/internal/lspserver/lsp_native_reply_policy.go +232 -0
  325. package/internal/lspserver/lsp_native_resident.go +171 -57
  326. package/internal/lspserver/lsp_plugin.go +372 -68
  327. package/internal/lspserver/lsp_plugin_completion_resolve_stays_local_test.go +13 -4
  328. package/internal/lspserver/lsp_plugin_selection_inputs.go +283 -0
  329. package/internal/lspserver/lsp_plugin_selection_inputs_follow_directory_case_semantics_windows_test.go +81 -0
  330. package/internal/lspserver/lsp_position_conversions_span_astral_and_combining_runes_test.go +33 -11
  331. package/internal/lspserver/lsp_project_context_transport_identity_test.go +14 -2
  332. package/internal/lspserver/lsp_project_diagnostics.go +25 -4
  333. package/internal/lspserver/lsp_project_diagnostics_capability_is_independent_test.go +13 -2
  334. package/internal/lspserver/lsp_project_diagnostics_program_input_overlap_refreshes_all_producers_test.go +14 -4
  335. package/internal/lspserver/lsp_project_diagnostics_refresh_accumulates_owner_freshness_test.go +8 -2
  336. package/internal/lspserver/lsp_project_diagnostics_refresh_keeps_each_producer_last_good_test.go +10 -5
  337. package/internal/lspserver/lsp_project_diagnostics_refreshes_only_input_owners_test.go +14 -2
  338. package/internal/lspserver/lsp_project_diagnostics_resume_preserves_generation_test.go +8 -2
  339. package/internal/lspserver/lsp_project_diagnostics_translates_relative_client_project_test.go +15 -11
  340. package/internal/lspserver/lsp_project_input_ownership_resolves_declared_spellings_test.go +17 -8
  341. package/internal/lspserver/lsp_project_input_path_key_windows.go +16 -16
  342. package/internal/lspserver/lsp_project_input_path_key_windows_test.go +34 -18
  343. package/internal/lspserver/lsp_project_input_registration.go +5 -1
  344. package/internal/lspserver/lsp_project_input_registration_rechecks_selection_baseline_test.go +10 -4
  345. package/internal/lspserver/lsp_project_input_registration_reconciles_rejected_pending_request_test.go +5 -0
  346. package/internal/lspserver/lsp_project_input_registration_shapes_patterns_test.go +9 -3
  347. package/internal/lspserver/lsp_project_input_watchers_anchor_missing_paths_test.go +8 -3
  348. package/internal/lspserver/lsp_project_inputs.go +203 -59
  349. package/internal/lspserver/lsp_project_inputs_match_missing_exact_and_glob_test.go +10 -6
  350. package/internal/lspserver/lsp_project_inputs_reject_invalid_and_foreign_snapshots_test.go +25 -2
  351. package/internal/lspserver/lsp_proxy.go +239 -80
  352. package/internal/lspserver/lsp_refresh.go +16 -1
  353. package/internal/lspserver/lsp_reload_directories_compare_immediate_topology_test.go +66 -19
  354. package/internal/lspserver/lsp_reload_directories_separate_glob_territory_test.go +26 -6
  355. package/internal/lspserver/lsp_reload_file_fingerprint_preserves_raw_symlink_target_test.go +12 -6
  356. package/internal/lspserver/lsp_reload_fingerprints_read_a_junction_as_a_link_test.go +76 -0
  357. package/internal/lspserver/lsp_resident_falls_back_when_serve_unsupported_test.go +20 -13
  358. package/internal/lspserver/lsp_resident_invalidation_broadcasts_program_input_overlap_test.go +9 -4
  359. package/internal/lspserver/lsp_resident_invalidation_targets_project_input_owners_test.go +6 -1
  360. package/internal/lspserver/lsp_resident_maps_verb_args_test.go +5 -0
  361. package/internal/lspserver/lsp_same_transport_entries_are_deduplicated_test.go +10 -1
  362. package/internal/lspserver/lsp_server.go +124 -21
  363. package/internal/lspserver/lsp_symbols.go +92 -13
  364. package/internal/lspserver/lsp_watched_file_changes_reach_compiler_caches_test.go +11 -10
  365. package/internal/sourceprocess/complete_group.go +70 -0
  366. package/internal/sourceprocess/complete_group_preserves_original_wait_and_requires_independent_absence_test.go +145 -0
  367. package/internal/sourceprocess/contain_unix.go +143 -0
  368. package/internal/sourceprocess/contain_windows.go +439 -0
  369. package/internal/sourceprocess/darwin_group_retirement_preserves_phase_evidence_test.go +287 -0
  370. package/internal/sourceprocess/observe_exit_darwin.go +57 -0
  371. package/internal/sourceprocess/observe_exit_linux.go +27 -0
  372. package/internal/sourceprocess/observe_exit_other.go +11 -0
  373. package/internal/sourceprocess/reap_linux.go +31 -0
  374. package/internal/sourceprocess/reap_other.go +10 -0
  375. package/internal/sourceprocess/request_preserves_native_command_inputs_test.go +86 -0
  376. package/internal/sourceprocess/run.go +216 -0
  377. package/internal/sourceprocess/started_windows.go +41 -0
  378. package/internal/sourceprocess/target_windows.go +211 -0
  379. package/internal/sourceprocess/windows_job_accounting_rejects_invalid_boundary_test.go +97 -0
  380. package/internal/sourceprocess/windows_started_publication_distinguishes_pending_from_refusal_test.go +76 -0
  381. package/internal/sourceprocess/windows_target_owns_suspended_admission_test.go +179 -0
  382. package/internal/watchhelper/run.go +42 -0
  383. package/internal/watchhelper/run_linux.go +323 -0
  384. package/internal/watchhelper/run_linux_test.go +418 -0
  385. package/internal/watchhelper/run_other.go +16 -0
  386. package/internal/watchhelper/run_windows.go +471 -0
  387. package/internal/watchhelper/watchhelper.go +106 -0
  388. package/internal/watchhelper/windows_notifications_preserve_mutations_without_access_noise_test.go +506 -0
  389. package/lib/TtscCompiler.d.ts +118 -21
  390. package/lib/TtscCompiler.js +175 -179
  391. package/lib/TtscCompiler.js.map +1 -1
  392. package/lib/TtscService.d.ts +66 -18
  393. package/lib/TtscService.js +81 -24
  394. package/lib/TtscService.js.map +1 -1
  395. package/lib/TtscServiceRequestOptions.d.ts +21 -0
  396. package/lib/TtscServiceRequestOptions.js +3 -0
  397. package/lib/TtscServiceRequestOptions.js.map +1 -0
  398. package/lib/compiler/internal/CapturedProcessOutput.d.ts +61 -0
  399. package/lib/compiler/internal/CapturedProcessOutput.js +3 -0
  400. package/lib/compiler/internal/CapturedProcessOutput.js.map +1 -0
  401. package/lib/compiler/internal/CompilerArgumentsInspection.d.ts +53 -0
  402. package/lib/compiler/internal/CompilerArgumentsInspection.js +173 -0
  403. package/lib/compiler/internal/CompilerArgumentsInspection.js.map +1 -0
  404. package/lib/compiler/internal/EmitOwnershipIndex.d.ts +92 -0
  405. package/lib/compiler/internal/EmitOwnershipIndex.js +215 -0
  406. package/lib/compiler/internal/EmitOwnershipIndex.js.map +1 -0
  407. package/lib/compiler/internal/PrivateCompilerOutput.d.ts +67 -0
  408. package/lib/compiler/internal/PrivateCompilerOutput.js +245 -0
  409. package/lib/compiler/internal/PrivateCompilerOutput.js.map +1 -0
  410. package/lib/compiler/internal/ResidentCheckProcess.d.ts +127 -0
  411. package/lib/compiler/internal/ResidentCheckProcess.js +403 -0
  412. package/lib/compiler/internal/ResidentCheckProcess.js.map +1 -0
  413. package/lib/compiler/internal/ResidentCheckProcessOptions.d.ts +29 -0
  414. package/lib/compiler/internal/ResidentCheckProcessOptions.js +3 -0
  415. package/lib/compiler/internal/ResidentCheckProcessOptions.js.map +1 -0
  416. package/lib/compiler/internal/ResidentCheckRequest.d.ts +37 -0
  417. package/lib/compiler/internal/ResidentCheckRequest.js +3 -0
  418. package/lib/compiler/internal/ResidentCheckRequest.js.map +1 -0
  419. package/lib/compiler/internal/ResidentCheckResult.d.ts +23 -0
  420. package/lib/compiler/internal/ResidentCheckResult.js +3 -0
  421. package/lib/compiler/internal/ResidentCheckResult.js.map +1 -0
  422. package/lib/compiler/internal/ResidentCheckTelemetry.d.ts +33 -0
  423. package/lib/compiler/internal/ResidentCheckTelemetry.js +3 -0
  424. package/lib/compiler/internal/ResidentCheckTelemetry.js.map +1 -0
  425. package/lib/compiler/internal/ResidentReplyKind.d.ts +18 -0
  426. package/lib/compiler/internal/ResidentReplyKind.js +3 -0
  427. package/lib/compiler/internal/ResidentReplyKind.js.map +1 -0
  428. package/lib/compiler/internal/ResidentTransformProcess.d.ts +83 -0
  429. package/lib/compiler/internal/ResidentTransformProcess.js +261 -0
  430. package/lib/compiler/internal/ResidentTransformProcess.js.map +1 -0
  431. package/lib/compiler/internal/ResidentTransformProcessOptions.d.ts +27 -0
  432. package/lib/compiler/internal/ResidentTransformProcessOptions.js +3 -0
  433. package/lib/compiler/internal/ResidentTransformProcessOptions.js.map +1 -0
  434. package/lib/compiler/internal/ResidentTransformReply.d.ts +51 -0
  435. package/lib/compiler/internal/ResidentTransformReply.js +79 -0
  436. package/lib/compiler/internal/ResidentTransformReply.js.map +1 -0
  437. package/lib/compiler/internal/ResidentTransformRequestOptions.d.ts +16 -0
  438. package/lib/compiler/internal/ResidentTransformRequestOptions.js +3 -0
  439. package/lib/compiler/internal/ResidentTransformRequestOptions.js.map +1 -0
  440. package/lib/compiler/internal/ResidentTransformRequests.d.ts +102 -0
  441. package/lib/compiler/internal/ResidentTransformRequests.js +172 -0
  442. package/lib/compiler/internal/ResidentTransformRequests.js.map +1 -0
  443. package/lib/compiler/internal/StartedResidentTransform.d.ts +27 -0
  444. package/lib/compiler/internal/StartedResidentTransform.js +3 -0
  445. package/lib/compiler/internal/StartedResidentTransform.js.map +1 -0
  446. package/lib/compiler/internal/TransformProjectWorkerReply.d.ts +34 -0
  447. package/lib/compiler/internal/TransformProjectWorkerReply.js +3 -0
  448. package/lib/compiler/internal/TransformProjectWorkerReply.js.map +1 -0
  449. package/lib/compiler/internal/TransformProjectWorkerRequest.d.ts +39 -0
  450. package/lib/compiler/internal/TransformProjectWorkerRequest.js +3 -0
  451. package/lib/compiler/internal/TransformProjectWorkerRequest.js.map +1 -0
  452. package/lib/compiler/internal/build/BuildExecution.d.ts +359 -0
  453. package/lib/compiler/internal/build/BuildExecution.js +977 -0
  454. package/lib/compiler/internal/build/BuildExecution.js.map +1 -0
  455. package/lib/compiler/internal/build/BuildTiming.d.ts +99 -0
  456. package/lib/compiler/internal/build/BuildTiming.js +113 -0
  457. package/lib/compiler/internal/build/BuildTiming.js.map +1 -0
  458. package/lib/compiler/internal/build/CompilerDiagnostics.d.ts +82 -0
  459. package/lib/compiler/internal/build/CompilerDiagnostics.js +270 -0
  460. package/lib/compiler/internal/build/CompilerDiagnostics.js.map +1 -0
  461. package/lib/compiler/internal/build/NativePluginArguments.d.ts +114 -0
  462. package/lib/compiler/internal/build/NativePluginArguments.js +255 -0
  463. package/lib/compiler/internal/build/NativePluginArguments.js.map +1 -0
  464. package/lib/compiler/internal/build/PassthroughFlags.d.ts +137 -0
  465. package/lib/compiler/internal/build/PassthroughFlags.js +213 -0
  466. package/lib/compiler/internal/build/PassthroughFlags.js.map +1 -0
  467. package/lib/compiler/internal/build/PluginFailureDiagnostics.d.ts +48 -0
  468. package/lib/compiler/internal/build/PluginFailureDiagnostics.js +68 -0
  469. package/lib/compiler/internal/build/PluginFailureDiagnostics.js.map +1 -0
  470. package/lib/compiler/internal/build/ResidentCheckEntryPlan.d.ts +38 -0
  471. package/lib/compiler/internal/build/ResidentCheckEntryPlan.js +3 -0
  472. package/lib/compiler/internal/build/ResidentCheckEntryPlan.js.map +1 -0
  473. package/lib/compiler/internal/build/ResidentCheckWatchChange.d.ts +30 -0
  474. package/lib/compiler/internal/build/ResidentCheckWatchChange.js +3 -0
  475. package/lib/compiler/internal/build/ResidentCheckWatchChange.js.map +1 -0
  476. package/lib/compiler/internal/build/ResidentCheckWatchSession.d.ts +113 -0
  477. package/lib/compiler/internal/build/ResidentCheckWatchSession.js +378 -0
  478. package/lib/compiler/internal/build/ResidentCheckWatchSession.js.map +1 -0
  479. package/lib/compiler/internal/build/RunBuildOptions.d.ts +130 -0
  480. package/lib/compiler/internal/build/RunBuildOptions.js +3 -0
  481. package/lib/compiler/internal/build/RunBuildOptions.js.map +1 -0
  482. package/lib/compiler/internal/build/TsgoArguments.d.ts +168 -0
  483. package/lib/compiler/internal/build/TsgoArguments.js +324 -0
  484. package/lib/compiler/internal/build/TsgoArguments.js.map +1 -0
  485. package/lib/compiler/internal/build/appendBuildOutput.d.ts +41 -0
  486. package/lib/compiler/internal/build/appendBuildOutput.js +182 -0
  487. package/lib/compiler/internal/build/appendBuildOutput.js.map +1 -0
  488. package/lib/compiler/internal/build/bufferResidentCheckEntryRequests.d.ts +20 -0
  489. package/lib/compiler/internal/build/bufferResidentCheckEntryRequests.js +40 -0
  490. package/lib/compiler/internal/build/bufferResidentCheckEntryRequests.js.map +1 -0
  491. package/lib/compiler/internal/build/createProcessDiagnostic.d.ts +19 -0
  492. package/lib/compiler/internal/build/createProcessDiagnostic.js +30 -0
  493. package/lib/compiler/internal/build/createProcessDiagnostic.js.map +1 -0
  494. package/lib/compiler/internal/build/isAbsoluteLocalProjectInputPath.d.ts +22 -0
  495. package/lib/compiler/internal/build/isAbsoluteLocalProjectInputPath.js +59 -0
  496. package/lib/compiler/internal/build/isAbsoluteLocalProjectInputPath.js.map +1 -0
  497. package/lib/compiler/internal/build/mergeProjectInputSnapshots.d.ts +28 -0
  498. package/lib/compiler/internal/build/mergeProjectInputSnapshots.js +121 -0
  499. package/lib/compiler/internal/build/mergeProjectInputSnapshots.js.map +1 -0
  500. package/lib/compiler/internal/build/normalizeBuildOutput.d.ts +29 -0
  501. package/lib/compiler/internal/build/normalizeBuildOutput.js +72 -0
  502. package/lib/compiler/internal/build/normalizeBuildOutput.js.map +1 -0
  503. package/lib/compiler/internal/build/parseProjectInputSnapshot.d.ts +26 -0
  504. package/lib/compiler/internal/build/parseProjectInputSnapshot.js +68 -0
  505. package/lib/compiler/internal/build/parseProjectInputSnapshot.js.map +1 -0
  506. package/lib/compiler/internal/build/planResidentCheckEntries.d.ts +21 -0
  507. package/lib/compiler/internal/build/planResidentCheckEntries.js +45 -0
  508. package/lib/compiler/internal/build/planResidentCheckEntries.js.map +1 -0
  509. package/lib/compiler/internal/build/privateRuntimeRootDir.d.ts +20 -0
  510. package/lib/compiler/internal/build/privateRuntimeRootDir.js +35 -0
  511. package/lib/compiler/internal/build/privateRuntimeRootDir.js.map +1 -0
  512. package/lib/compiler/internal/build/residentCheckRequest.d.ts +22 -0
  513. package/lib/compiler/internal/build/residentCheckRequest.js +42 -0
  514. package/lib/compiler/internal/build/residentCheckRequest.js.map +1 -0
  515. package/lib/compiler/internal/build/runBuild.d.ts +22 -0
  516. package/lib/compiler/internal/build/runBuild.js +44 -0
  517. package/lib/compiler/internal/build/runBuild.js.map +1 -0
  518. package/lib/compiler/internal/build/runExternalEmitProvenance.d.ts +61 -0
  519. package/lib/compiler/internal/build/runExternalEmitProvenance.js +451 -0
  520. package/lib/compiler/internal/build/runExternalEmitProvenance.js.map +1 -0
  521. package/lib/compiler/internal/build/takeResidentCheckEntryRequest.d.ts +18 -0
  522. package/lib/compiler/internal/build/takeResidentCheckEntryRequest.js +28 -0
  523. package/lib/compiler/internal/build/takeResidentCheckEntryRequest.js.map +1 -0
  524. package/lib/compiler/internal/buildNativeCompiler.d.ts +16 -1
  525. package/lib/compiler/internal/buildNativeCompiler.js +14 -2
  526. package/lib/compiler/internal/buildNativeCompiler.js.map +1 -1
  527. package/lib/compiler/internal/captureProcessOutput.d.ts +23 -23
  528. package/lib/compiler/internal/captureProcessOutput.js +38 -26
  529. package/lib/compiler/internal/captureProcessOutput.js.map +1 -1
  530. package/lib/compiler/internal/compileProjectInMemory.d.ts +30 -7
  531. package/lib/compiler/internal/compileProjectInMemory.js +103 -83
  532. package/lib/compiler/internal/compileProjectInMemory.js.map +1 -1
  533. package/lib/compiler/internal/ensureExecutable.d.ts +15 -0
  534. package/lib/compiler/internal/ensureExecutable.js +40 -0
  535. package/lib/compiler/internal/ensureExecutable.js.map +1 -0
  536. package/lib/compiler/internal/findNearestGoMod.d.ts +23 -0
  537. package/lib/compiler/internal/findNearestGoMod.js +48 -0
  538. package/lib/compiler/internal/findNearestGoMod.js.map +1 -0
  539. package/lib/compiler/internal/isOutsideRelativePath.d.ts +18 -0
  540. package/lib/compiler/internal/isOutsideRelativePath.js +30 -0
  541. package/lib/compiler/internal/isOutsideRelativePath.js.map +1 -0
  542. package/lib/compiler/internal/outputText.d.ts +16 -0
  543. package/lib/compiler/internal/outputText.js +25 -0
  544. package/lib/compiler/internal/outputText.js.map +1 -0
  545. package/lib/compiler/internal/packageRootDir.d.ts +25 -0
  546. package/lib/compiler/internal/packageRootDir.js +47 -0
  547. package/lib/compiler/internal/packageRootDir.js.map +1 -0
  548. package/lib/compiler/internal/parseNativeTransformOutput.d.ts +88 -0
  549. package/lib/compiler/internal/parseNativeTransformOutput.js +552 -0
  550. package/lib/compiler/internal/parseNativeTransformOutput.js.map +1 -0
  551. package/lib/compiler/internal/project/CompilerProjectSelection.d.ts +80 -0
  552. package/lib/compiler/internal/project/CompilerProjectSelection.js +187 -0
  553. package/lib/compiler/internal/project/CompilerProjectSelection.js.map +1 -0
  554. package/lib/compiler/internal/project/ConfigJsonText.d.ts +50 -0
  555. package/lib/compiler/internal/project/ConfigJsonText.js +61 -0
  556. package/lib/compiler/internal/project/ConfigJsonText.js.map +1 -0
  557. package/lib/compiler/internal/project/compilerUsesCaseSensitiveFileNames.d.ts +48 -0
  558. package/lib/compiler/internal/project/compilerUsesCaseSensitiveFileNames.js +119 -0
  559. package/lib/compiler/internal/project/compilerUsesCaseSensitiveFileNames.js.map +1 -0
  560. package/lib/compiler/internal/project/createNativeProjectContextArgs.d.ts +11 -8
  561. package/lib/compiler/internal/project/createNativeProjectContextArgs.js +15 -17
  562. package/lib/compiler/internal/project/createNativeProjectContextArgs.js.map +1 -1
  563. package/lib/compiler/internal/project/createNativeProjectContextJson.d.ts +19 -0
  564. package/lib/compiler/internal/project/createNativeProjectContextJson.js +27 -0
  565. package/lib/compiler/internal/project/createNativeProjectContextJson.js.map +1 -0
  566. package/lib/compiler/internal/project/parseJsonc.d.ts +42 -0
  567. package/lib/compiler/internal/project/parseJsonc.js +317 -0
  568. package/lib/compiler/internal/project/parseJsonc.js.map +1 -0
  569. package/lib/compiler/internal/project/readJsonFile.d.ts +21 -0
  570. package/lib/compiler/internal/project/readJsonFile.js +38 -0
  571. package/lib/compiler/internal/project/readJsonFile.js.map +1 -0
  572. package/lib/compiler/internal/project/readJsoncFile.d.ts +20 -0
  573. package/lib/compiler/internal/project/readJsoncFile.js +47 -0
  574. package/lib/compiler/internal/project/readJsoncFile.js.map +1 -0
  575. package/lib/compiler/internal/project/readProjectConfig.d.ts +29 -2
  576. package/lib/compiler/internal/project/readProjectConfig.js +105 -168
  577. package/lib/compiler/internal/project/readProjectConfig.js.map +1 -1
  578. package/lib/compiler/internal/project/resolveOwningProjectConfig.d.ts +65 -0
  579. package/lib/compiler/internal/project/resolveOwningProjectConfig.js +248 -0
  580. package/lib/compiler/internal/project/resolveOwningProjectConfig.js.map +1 -0
  581. package/lib/compiler/internal/project/resolveProjectConfig.d.ts +17 -14
  582. package/lib/compiler/internal/project/resolveProjectConfig.js +19 -122
  583. package/lib/compiler/internal/project/resolveProjectConfig.js.map +1 -1
  584. package/lib/compiler/internal/project/resolveProjectIdentity.d.ts +32 -0
  585. package/lib/compiler/internal/project/resolveProjectIdentity.js +144 -0
  586. package/lib/compiler/internal/project/resolveProjectIdentity.js.map +1 -0
  587. package/lib/compiler/internal/project/resolveTsconfigExtends.d.ts +38 -0
  588. package/lib/compiler/internal/project/resolveTsconfigExtends.js +163 -0
  589. package/lib/compiler/internal/project/resolveTsconfigExtends.js.map +1 -0
  590. package/lib/compiler/internal/project/selectReferencedProject.d.ts +26 -0
  591. package/lib/compiler/internal/project/selectReferencedProject.js +48 -0
  592. package/lib/compiler/internal/project/selectReferencedProject.js.map +1 -0
  593. package/lib/compiler/internal/project/tsconfigExtendsFileCandidates.d.ts +34 -0
  594. package/lib/compiler/internal/project/tsconfigExtendsFileCandidates.js +55 -0
  595. package/lib/compiler/internal/project/tsconfigExtendsFileCandidates.js.map +1 -0
  596. package/lib/compiler/internal/readEffectiveCompilerOptions.d.ts +54 -0
  597. package/lib/compiler/internal/readEffectiveCompilerOptions.js +116 -0
  598. package/lib/compiler/internal/readEffectiveCompilerOptions.js.map +1 -0
  599. package/lib/compiler/internal/resolveBinary.d.ts +17 -1
  600. package/lib/compiler/internal/resolveBinary.js +24 -9
  601. package/lib/compiler/internal/resolveBinary.js.map +1 -1
  602. package/lib/compiler/internal/resolveTsgo.d.ts +22 -7
  603. package/lib/compiler/internal/resolveTsgo.js +25 -9
  604. package/lib/compiler/internal/resolveTsgo.js.map +1 -1
  605. package/lib/compiler/internal/runNativeCheckWithObservations.d.ts +41 -0
  606. package/lib/compiler/internal/runNativeCheckWithObservations.js +185 -0
  607. package/lib/compiler/internal/runNativeCheckWithObservations.js.map +1 -0
  608. package/lib/compiler/internal/runSingleFileEmit.d.ts +26 -5
  609. package/lib/compiler/internal/runSingleFileEmit.js +82 -27
  610. package/lib/compiler/internal/runSingleFileEmit.js.map +1 -1
  611. package/lib/compiler/internal/sharedHost/SEMANTIC_CONFIG_PATH_ENV.d.ts +2 -0
  612. package/lib/compiler/internal/sharedHost/SEMANTIC_CONFIG_PATH_ENV.js +6 -0
  613. package/lib/compiler/internal/sharedHost/SEMANTIC_CONFIG_PATH_ENV.js.map +1 -0
  614. package/lib/compiler/internal/sharedHost/SidecarEnvironment.d.ts +90 -0
  615. package/lib/compiler/internal/sharedHost/SidecarEnvironment.js +153 -0
  616. package/lib/compiler/internal/sharedHost/SidecarEnvironment.js.map +1 -0
  617. package/lib/compiler/internal/sharedHost/TSGO_ARGS_CWD_ENV.d.ts +7 -0
  618. package/lib/compiler/internal/sharedHost/TSGO_ARGS_CWD_ENV.js +11 -0
  619. package/lib/compiler/internal/sharedHost/TSGO_ARGS_CWD_ENV.js.map +1 -0
  620. package/lib/compiler/internal/sharedHost/TSGO_ARGS_ENV.d.ts +7 -0
  621. package/lib/compiler/internal/sharedHost/TSGO_ARGS_ENV.js +11 -0
  622. package/lib/compiler/internal/sharedHost/TSGO_ARGS_ENV.js.map +1 -0
  623. package/lib/compiler/internal/sharedHost/assertSharedHostCompatibility.d.ts +24 -0
  624. package/lib/compiler/internal/sharedHost/assertSharedHostCompatibility.js +46 -0
  625. package/lib/compiler/internal/sharedHost/assertSharedHostCompatibility.js.map +1 -0
  626. package/lib/compiler/internal/sharedHost/clearInheritedSemanticConfigPath.d.ts +15 -0
  627. package/lib/compiler/internal/sharedHost/clearInheritedSemanticConfigPath.js +23 -0
  628. package/lib/compiler/internal/sharedHost/clearInheritedSemanticConfigPath.js.map +1 -0
  629. package/lib/compiler/internal/sharedHost/clearInheritedTsgoArgs.d.ts +23 -0
  630. package/lib/compiler/internal/sharedHost/clearInheritedTsgoArgs.js +33 -0
  631. package/lib/compiler/internal/sharedHost/clearInheritedTsgoArgs.js.map +1 -0
  632. package/lib/compiler/internal/sharedHost/inheritedSidecarEnv.d.ts +27 -0
  633. package/lib/compiler/internal/sharedHost/inheritedSidecarEnv.js +41 -0
  634. package/lib/compiler/internal/sharedHost/inheritedSidecarEnv.js.map +1 -0
  635. package/lib/compiler/internal/sharedHost/isLinkedTransform.d.ts +16 -0
  636. package/lib/compiler/internal/sharedHost/isLinkedTransform.js +21 -0
  637. package/lib/compiler/internal/sharedHost/isLinkedTransform.js.map +1 -0
  638. package/lib/compiler/internal/sharedHost/linkedTransformPlugins.d.ts +19 -0
  639. package/lib/compiler/internal/sharedHost/linkedTransformPlugins.js +25 -0
  640. package/lib/compiler/internal/sharedHost/linkedTransformPlugins.js.map +1 -0
  641. package/lib/compiler/internal/sharedHost/publishLinkedTransformPlugins.d.ts +25 -0
  642. package/lib/compiler/internal/sharedHost/publishLinkedTransformPlugins.js +35 -0
  643. package/lib/compiler/internal/sharedHost/publishLinkedTransformPlugins.js.map +1 -0
  644. package/lib/compiler/internal/sharedHost/resolvePluginConfigDir.d.ts +26 -0
  645. package/lib/compiler/internal/sharedHost/resolvePluginConfigDir.js +36 -0
  646. package/lib/compiler/internal/sharedHost/resolvePluginConfigDir.js.map +1 -0
  647. package/lib/compiler/internal/sharedHost/selectSharedHostPlugin.d.ts +22 -0
  648. package/lib/compiler/internal/sharedHost/selectSharedHostPlugin.js +32 -0
  649. package/lib/compiler/internal/sharedHost/selectSharedHostPlugin.js.map +1 -0
  650. package/lib/compiler/internal/spawnNative.d.ts +15 -16
  651. package/lib/compiler/internal/spawnNative.js +17 -45
  652. package/lib/compiler/internal/spawnNative.js.map +1 -1
  653. package/lib/compiler/internal/startResidentTransform.d.ts +26 -17
  654. package/lib/compiler/internal/startResidentTransform.js +51 -36
  655. package/lib/compiler/internal/startResidentTransform.js.map +1 -1
  656. package/lib/compiler/internal/transformProjectInMemory.d.ts +42 -5
  657. package/lib/compiler/internal/transformProjectInMemory.js +189 -469
  658. package/lib/compiler/internal/transformProjectInMemory.js.map +1 -1
  659. package/lib/compiler/internal/transformProjectInWorker.d.ts +49 -0
  660. package/lib/compiler/internal/transformProjectInWorker.js +168 -0
  661. package/lib/compiler/internal/transformProjectInWorker.js.map +1 -0
  662. package/lib/compiler/internal/transformProjectWorker.js +37 -0
  663. package/lib/compiler/internal/transformProjectWorker.js.map +1 -0
  664. package/lib/flags/AnySubcommand.d.ts +18 -0
  665. package/lib/flags/AnySubcommand.js +3 -0
  666. package/lib/flags/AnySubcommand.js.map +1 -0
  667. package/lib/flags/COMPILER_ENUM_WHITESPACE.d.ts +2 -0
  668. package/lib/flags/COMPILER_ENUM_WHITESPACE.js +38 -0
  669. package/lib/flags/COMPILER_ENUM_WHITESPACE.js.map +1 -0
  670. package/lib/flags/COMPILER_OPTIONS.d.ts +6 -0
  671. package/lib/flags/COMPILER_OPTIONS.js +509 -0
  672. package/lib/flags/COMPILER_OPTIONS.js.map +1 -0
  673. package/lib/flags/COMPILER_OPTION_ASCII_FOLDS.d.ts +2 -0
  674. package/lib/flags/COMPILER_OPTION_ASCII_FOLDS.js +13 -0
  675. package/lib/flags/COMPILER_OPTION_ASCII_FOLDS.js.map +1 -0
  676. package/lib/flags/COMPILER_OPTION_KINDS.d.ts +2 -0
  677. package/lib/flags/COMPILER_OPTION_KINDS.js +14 -0
  678. package/lib/flags/COMPILER_OPTION_KINDS.js.map +1 -0
  679. package/lib/flags/CompilerOptionSpec.d.ts +27 -0
  680. package/lib/flags/CompilerOptionSpec.js +3 -0
  681. package/lib/flags/CompilerOptionSpec.js.map +1 -0
  682. package/lib/flags/FLAG_BY_TOKEN.d.ts +8 -0
  683. package/lib/flags/FLAG_BY_TOKEN.js +34 -0
  684. package/lib/flags/FLAG_BY_TOKEN.js.map +1 -0
  685. package/lib/flags/FLAG_SCHEMA.d.ts +35 -0
  686. package/lib/flags/{schema.js → FLAG_SCHEMA.js} +47 -153
  687. package/lib/flags/FLAG_SCHEMA.js.map +1 -0
  688. package/lib/flags/FlagKind.d.ts +22 -0
  689. package/lib/flags/FlagKind.js +3 -0
  690. package/lib/flags/FlagKind.js.map +1 -0
  691. package/lib/flags/FlagLayer.d.ts +19 -0
  692. package/lib/flags/FlagLayer.js +3 -0
  693. package/lib/flags/FlagLayer.js.map +1 -0
  694. package/lib/flags/FlagSpec.d.ts +104 -0
  695. package/lib/flags/FlagSpec.js +3 -0
  696. package/lib/flags/FlagSpec.js.map +1 -0
  697. package/lib/flags/ParseOptions.d.ts +92 -0
  698. package/lib/flags/ParseOptions.js +3 -0
  699. package/lib/flags/ParseOptions.js.map +1 -0
  700. package/lib/flags/ParseResult.d.ts +37 -0
  701. package/lib/flags/ParseResult.js +3 -0
  702. package/lib/flags/ParseResult.js.map +1 -0
  703. package/lib/flags/TtscSubcommand.d.ts +14 -0
  704. package/lib/flags/TtscSubcommand.js +3 -0
  705. package/lib/flags/TtscSubcommand.js.map +1 -0
  706. package/lib/flags/TtsxSubcommand.d.ts +13 -0
  707. package/lib/flags/TtsxSubcommand.js +3 -0
  708. package/lib/flags/TtsxSubcommand.js.map +1 -0
  709. package/lib/flags/ValueValidator.d.ts +14 -0
  710. package/lib/flags/ValueValidator.js +3 -0
  711. package/lib/flags/ValueValidator.js.map +1 -0
  712. package/lib/flags/buildGoAllowList.d.ts +18 -0
  713. package/lib/flags/buildGoAllowList.js +45 -0
  714. package/lib/flags/buildGoAllowList.js.map +1 -0
  715. package/lib/flags/flagsForSubcommand.d.ts +18 -0
  716. package/lib/flags/flagsForSubcommand.js +23 -0
  717. package/lib/flags/flagsForSubcommand.js.map +1 -0
  718. package/lib/flags/getBoolean.d.ts +19 -0
  719. package/lib/flags/getBoolean.js +27 -0
  720. package/lib/flags/getBoolean.js.map +1 -0
  721. package/lib/flags/getNumber.d.ts +16 -0
  722. package/lib/flags/getNumber.js +24 -0
  723. package/lib/flags/getNumber.js.map +1 -0
  724. package/lib/flags/getString.d.ts +16 -0
  725. package/lib/flags/getString.js +24 -0
  726. package/lib/flags/getString.js.map +1 -0
  727. package/lib/flags/getStringList.d.ts +19 -0
  728. package/lib/flags/getStringList.js +24 -0
  729. package/lib/flags/getStringList.js.map +1 -0
  730. package/lib/flags/normalizeCompilerEnumValue.d.ts +20 -0
  731. package/lib/flags/normalizeCompilerEnumValue.js +40 -0
  732. package/lib/flags/normalizeCompilerEnumValue.js.map +1 -0
  733. package/lib/flags/normalizeFlagToken.d.ts +28 -0
  734. package/lib/flags/normalizeFlagToken.js +38 -0
  735. package/lib/flags/normalizeFlagToken.js.map +1 -0
  736. package/lib/flags/parseFlags.d.ts +18 -0
  737. package/lib/flags/parseFlags.js +288 -0
  738. package/lib/flags/parseFlags.js.map +1 -0
  739. package/lib/flags/readCompilerOptionOccurrence.d.ts +34 -0
  740. package/lib/flags/readCompilerOptionOccurrence.js +81 -0
  741. package/lib/flags/readCompilerOptionOccurrence.js.map +1 -0
  742. package/lib/flags/readCompilerOptionValues.d.ts +33 -0
  743. package/lib/flags/readCompilerOptionValues.js +58 -0
  744. package/lib/flags/readCompilerOptionValues.js.map +1 -0
  745. package/lib/flags/resolveFlagSpec.d.ts +21 -0
  746. package/lib/flags/resolveFlagSpec.js +32 -0
  747. package/lib/flags/resolveFlagSpec.js.map +1 -0
  748. package/lib/index.d.ts +8 -3
  749. package/lib/index.js +10 -3
  750. package/lib/index.js.map +1 -1
  751. package/lib/internal/CanonicalTempDirectoryOperations.d.ts +73 -0
  752. package/lib/internal/CanonicalTempDirectoryOperations.js +3 -0
  753. package/lib/internal/CanonicalTempDirectoryOperations.js.map +1 -0
  754. package/lib/internal/CompilerContextSnapshot.d.ts +66 -0
  755. package/lib/internal/CompilerContextSnapshot.js +121 -0
  756. package/lib/internal/CompilerContextSnapshot.js.map +1 -0
  757. package/lib/internal/CompilerResultAdapter.d.ts +129 -0
  758. package/lib/internal/CompilerResultAdapter.js +247 -0
  759. package/lib/internal/CompilerResultAdapter.js.map +1 -0
  760. package/lib/internal/E2ETrace.d.ts +219 -0
  761. package/lib/internal/E2ETrace.js +541 -0
  762. package/lib/internal/E2ETrace.js.map +1 -0
  763. package/lib/internal/IJavaScriptRuntimeCapabilities.d.ts +48 -0
  764. package/lib/internal/IJavaScriptRuntimeCapabilities.js +3 -0
  765. package/lib/internal/IJavaScriptRuntimeCapabilities.js.map +1 -0
  766. package/lib/internal/OwnedNativeProcess.d.ts +66 -0
  767. package/lib/internal/OwnedNativeProcess.js +317 -0
  768. package/lib/internal/OwnedNativeProcess.js.map +1 -0
  769. package/lib/internal/OwnedSynchronousProcess.d.ts +158 -0
  770. package/lib/internal/OwnedSynchronousProcess.js +171 -0
  771. package/lib/internal/OwnedSynchronousProcess.js.map +1 -0
  772. package/lib/internal/RetireLockDirectoryOperations.d.ts +77 -0
  773. package/lib/internal/RetireLockDirectoryOperations.js +3 -0
  774. package/lib/internal/RetireLockDirectoryOperations.js.map +1 -0
  775. package/lib/internal/SafeCacheCleanupTarget.d.ts +39 -0
  776. package/lib/internal/SafeCacheCleanupTarget.js +3 -0
  777. package/lib/internal/SafeCacheCleanupTarget.js.map +1 -0
  778. package/lib/internal/SourceNativeRetirement.d.ts +384 -0
  779. package/lib/internal/SourceNativeRetirement.js +892 -0
  780. package/lib/internal/SourceNativeRetirement.js.map +1 -0
  781. package/lib/internal/SpawnSyncOutputFiles.d.ts +28 -0
  782. package/lib/internal/SpawnSyncOutputFiles.js +3 -0
  783. package/lib/internal/SpawnSyncOutputFiles.js.map +1 -0
  784. package/lib/internal/cacheEntryExists.d.ts +13 -0
  785. package/lib/internal/cacheEntryExists.js +32 -0
  786. package/lib/internal/cacheEntryExists.js.map +1 -0
  787. package/lib/internal/createCanonicalTempDirectory.d.ts +23 -13
  788. package/lib/internal/createCanonicalTempDirectory.js +31 -12
  789. package/lib/internal/createCanonicalTempDirectory.js.map +1 -1
  790. package/lib/internal/isContendedCandidateRename.d.ts +27 -0
  791. package/lib/internal/isContendedCandidateRename.js +37 -0
  792. package/lib/internal/isContendedCandidateRename.js.map +1 -0
  793. package/lib/internal/isSpawnSyncFdExhaustion.d.ts +16 -0
  794. package/lib/internal/isSpawnSyncFdExhaustion.js +23 -0
  795. package/lib/internal/isSpawnSyncFdExhaustion.js.map +1 -0
  796. package/lib/internal/javascriptRuntimeCapabilities.d.ts +20 -0
  797. package/lib/internal/javascriptRuntimeCapabilities.js +142 -0
  798. package/lib/internal/javascriptRuntimeCapabilities.js.map +1 -0
  799. package/lib/internal/nativeBinary.d.ts +11 -0
  800. package/lib/internal/nativeBinary.js +16 -0
  801. package/lib/internal/nativeBinary.js.map +1 -0
  802. package/lib/internal/parseWindowsDirectoryCaseSensitivity.d.ts +24 -0
  803. package/lib/internal/parseWindowsDirectoryCaseSensitivity.js +47 -0
  804. package/lib/internal/parseWindowsDirectoryCaseSensitivity.js.map +1 -0
  805. package/lib/internal/pathIdentity/FilesystemPathIdentity.d.ts +43 -0
  806. package/lib/internal/pathIdentity/FilesystemPathIdentity.js +3 -0
  807. package/lib/internal/pathIdentity/FilesystemPathIdentity.js.map +1 -0
  808. package/lib/internal/pathIdentity/FilesystemPathIdentityContext.d.ts +176 -0
  809. package/lib/internal/pathIdentity/FilesystemPathIdentityContext.js +3 -0
  810. package/lib/internal/pathIdentity/FilesystemPathIdentityContext.js.map +1 -0
  811. package/lib/internal/pathIdentity/FilesystemPathIdentityOperations.d.ts +100 -0
  812. package/lib/internal/pathIdentity/FilesystemPathIdentityOperations.js +3 -0
  813. package/lib/internal/pathIdentity/FilesystemPathIdentityOperations.js.map +1 -0
  814. package/lib/internal/pathIdentity/ProjectInputPathIdentity.d.ts +20 -0
  815. package/lib/internal/pathIdentity/ProjectInputPathIdentity.js +3 -0
  816. package/lib/internal/pathIdentity/ProjectInputPathIdentity.js.map +1 -0
  817. package/lib/internal/pathIdentity/ProjectInputPathIdentityContext.d.ts +20 -0
  818. package/lib/internal/pathIdentity/ProjectInputPathIdentityContext.js +3 -0
  819. package/lib/internal/pathIdentity/ProjectInputPathIdentityContext.js.map +1 -0
  820. package/lib/internal/pathIdentity/ProjectInputPathIdentityOperations.d.ts +20 -0
  821. package/lib/internal/pathIdentity/ProjectInputPathIdentityOperations.js +3 -0
  822. package/lib/internal/pathIdentity/ProjectInputPathIdentityOperations.js.map +1 -0
  823. package/lib/internal/pathIdentity/createFilesystemPathIdentityContext.d.ts +25 -0
  824. package/lib/internal/pathIdentity/createFilesystemPathIdentityContext.js +336 -0
  825. package/lib/internal/pathIdentity/createFilesystemPathIdentityContext.js.map +1 -0
  826. package/lib/internal/pathIdentity/createProjectInputPathIdentityContext.d.ts +28 -0
  827. package/lib/internal/pathIdentity/createProjectInputPathIdentityContext.js +33 -0
  828. package/lib/internal/pathIdentity/createProjectInputPathIdentityContext.js.map +1 -0
  829. package/lib/internal/pathIdentity/isFilesystemPathIdentityWithin.d.ts +20 -0
  830. package/lib/internal/pathIdentity/isFilesystemPathIdentityWithin.js +33 -0
  831. package/lib/internal/pathIdentity/isFilesystemPathIdentityWithin.js.map +1 -0
  832. package/lib/internal/pathIdentity/isProjectInputPathIdentityWithin.d.ts +15 -0
  833. package/lib/internal/pathIdentity/isProjectInputPathIdentityWithin.js +22 -0
  834. package/lib/internal/pathIdentity/isProjectInputPathIdentityWithin.js.map +1 -0
  835. package/lib/internal/pathIdentity/resolveFilesystemPath.d.ts +22 -0
  836. package/lib/internal/pathIdentity/resolveFilesystemPath.js +44 -0
  837. package/lib/internal/pathIdentity/resolveFilesystemPath.js.map +1 -0
  838. package/lib/internal/pathIdentity/resolvePhysicalPath.d.ts +21 -0
  839. package/lib/internal/pathIdentity/resolvePhysicalPath.js +35 -0
  840. package/lib/internal/pathIdentity/resolvePhysicalPath.js.map +1 -0
  841. package/lib/internal/pathIdentity/resolveProjectInputPath.d.ts +14 -0
  842. package/lib/internal/pathIdentity/resolveProjectInputPath.js +21 -0
  843. package/lib/internal/pathIdentity/resolveProjectInputPath.js.map +1 -0
  844. package/lib/internal/pluginSource.d.ts +26 -0
  845. package/lib/internal/pluginSource.js +43 -0
  846. package/lib/internal/pluginSource.js.map +1 -0
  847. package/lib/internal/projectInputPathIdentity.d.ts +27 -31
  848. package/lib/internal/projectInputPathIdentity.js +37 -275
  849. package/lib/internal/projectInputPathIdentity.js.map +1 -1
  850. package/lib/internal/resolveNodeBinary.d.ts +9 -7
  851. package/lib/internal/resolveNodeBinary.js +14 -144
  852. package/lib/internal/resolveNodeBinary.js.map +1 -1
  853. package/lib/internal/resolveSafeCacheCleanupTargets.d.ts +27 -8
  854. package/lib/internal/resolveSafeCacheCleanupTargets.js +44 -11
  855. package/lib/internal/resolveSafeCacheCleanupTargets.js.map +1 -1
  856. package/lib/internal/restoreCompilerError.d.ts +21 -0
  857. package/lib/internal/restoreCompilerError.js +164 -0
  858. package/lib/internal/restoreCompilerError.js.map +1 -0
  859. package/lib/internal/retireLockDirectory.d.ts +45 -0
  860. package/lib/internal/retireLockDirectory.js +152 -0
  861. package/lib/internal/retireLockDirectory.js.map +1 -0
  862. package/lib/internal/runHoldingLock.d.ts +30 -0
  863. package/lib/internal/runHoldingLock.js +53 -0
  864. package/lib/internal/runHoldingLock.js.map +1 -0
  865. package/lib/internal/runtimeExecutableIdentity.d.ts +20 -0
  866. package/lib/internal/runtimeExecutableIdentity.js +171 -0
  867. package/lib/internal/runtimeExecutableIdentity.js.map +1 -0
  868. package/lib/internal/serializeCompilerError.d.ts +28 -0
  869. package/lib/internal/serializeCompilerError.js +138 -0
  870. package/lib/internal/serializeCompilerError.js.map +1 -0
  871. package/lib/internal/spawnSyncResilient.d.ts +21 -10
  872. package/lib/internal/spawnSyncResilient.js +31 -147
  873. package/lib/internal/spawnSyncResilient.js.map +1 -1
  874. package/lib/internal/spawnSyncWithLowDescriptors.d.ts +30 -0
  875. package/lib/internal/spawnSyncWithLowDescriptors.js +194 -0
  876. package/lib/internal/spawnSyncWithLowDescriptors.js.map +1 -0
  877. package/lib/internal/tsconfig.d.ts +16 -0
  878. package/lib/internal/tsconfig.js +33 -0
  879. package/lib/internal/tsconfig.js.map +1 -0
  880. package/lib/launcher/internal/PendingResidentCheckWatchChanges.d.ts +56 -0
  881. package/lib/launcher/internal/PendingResidentCheckWatchChanges.js +97 -0
  882. package/lib/launcher/internal/PendingResidentCheckWatchChanges.js.map +1 -0
  883. package/lib/launcher/internal/TtscBuildMode.d.ts +14 -0
  884. package/lib/launcher/internal/TtscBuildMode.js +3 -0
  885. package/lib/launcher/internal/TtscBuildMode.js.map +1 -0
  886. package/lib/launcher/internal/TtsxEntryOptions.d.ts +50 -0
  887. package/lib/launcher/internal/TtsxEntryOptions.js +94 -0
  888. package/lib/launcher/internal/TtsxEntryOptions.js.map +1 -0
  889. package/lib/launcher/internal/assertNoSolutionBuild.d.ts +17 -10
  890. package/lib/launcher/internal/assertNoSolutionBuild.js +16 -9
  891. package/lib/launcher/internal/assertNoSolutionBuild.js.map +1 -1
  892. package/lib/launcher/internal/assertTtsxNoWatch.d.ts +25 -0
  893. package/lib/launcher/internal/assertTtsxNoWatch.js +46 -0
  894. package/lib/launcher/internal/assertTtsxNoWatch.js.map +1 -0
  895. package/lib/launcher/internal/buildSingleRootProject.d.ts +108 -0
  896. package/lib/launcher/internal/buildSingleRootProject.js +229 -0
  897. package/lib/launcher/internal/buildSingleRootProject.js.map +1 -0
  898. package/lib/launcher/internal/getCompilerVersionText.d.ts +14 -1
  899. package/lib/launcher/internal/getCompilerVersionText.js +21 -6
  900. package/lib/launcher/internal/getCompilerVersionText.js.map +1 -1
  901. package/lib/launcher/internal/inlineServedSourceMap.d.ts +35 -0
  902. package/lib/launcher/internal/inlineServedSourceMap.js +255 -0
  903. package/lib/launcher/internal/inlineServedSourceMap.js.map +1 -0
  904. package/lib/launcher/internal/linkVirtualEntry.d.ts +31 -0
  905. package/lib/launcher/internal/linkVirtualEntry.js +87 -0
  906. package/lib/launcher/internal/linkVirtualEntry.js.map +1 -0
  907. package/lib/launcher/internal/parseCommonJsExports.d.ts +17 -0
  908. package/lib/launcher/internal/{commonJsExportMetadata.js → parseCommonJsExports.js} +13 -3
  909. package/lib/launcher/internal/parseCommonJsExports.js.map +1 -0
  910. package/lib/launcher/internal/parseTtscBuildArgs.d.ts +34 -0
  911. package/lib/launcher/internal/parseTtscBuildArgs.js +97 -0
  912. package/lib/launcher/internal/parseTtscBuildArgs.js.map +1 -0
  913. package/lib/launcher/internal/parseTtsxCLI.d.ts +35 -0
  914. package/lib/launcher/internal/parseTtsxCLI.js +187 -0
  915. package/lib/launcher/internal/parseTtsxCLI.js.map +1 -0
  916. package/lib/launcher/internal/prepareExecution.d.ts +49 -5
  917. package/lib/launcher/internal/prepareExecution.js +360 -324
  918. package/lib/launcher/internal/prepareExecution.js.map +1 -1
  919. package/lib/launcher/internal/prepareTtscBuildMode.d.ts +23 -0
  920. package/lib/launcher/internal/prepareTtscBuildMode.js +58 -0
  921. package/lib/launcher/internal/prepareTtscBuildMode.js.map +1 -0
  922. package/lib/launcher/internal/resolveCacheDir.d.ts +12 -3
  923. package/lib/launcher/internal/resolveCacheDir.js +12 -3
  924. package/lib/launcher/internal/resolveCacheDir.js.map +1 -1
  925. package/lib/launcher/internal/resolveSingleFileOutput.d.ts +35 -0
  926. package/lib/launcher/internal/resolveSingleFileOutput.js +115 -0
  927. package/lib/launcher/internal/resolveSingleFileOutput.js.map +1 -0
  928. package/lib/launcher/internal/resolveTtscserverBinary.d.ts +15 -3
  929. package/lib/launcher/internal/resolveTtscserverBinary.js +19 -5
  930. package/lib/launcher/internal/resolveTtscserverBinary.js.map +1 -1
  931. package/lib/launcher/internal/runTtsc.d.ts +23 -23
  932. package/lib/launcher/internal/runTtsc.js +336 -286
  933. package/lib/launcher/internal/runTtsc.js.map +1 -1
  934. package/lib/launcher/internal/runTtsx.d.ts +32 -4
  935. package/lib/launcher/internal/runTtsx.js +286 -138
  936. package/lib/launcher/internal/runTtsx.js.map +1 -1
  937. package/lib/launcher/internal/runtime/CommonJsRuntimeSource.d.ts +92 -0
  938. package/lib/launcher/internal/runtime/CommonJsRuntimeSource.js +354 -0
  939. package/lib/launcher/internal/runtime/CommonJsRuntimeSource.js.map +1 -0
  940. package/lib/launcher/internal/runtime/DependencyBuildAdmission.d.ts +72 -0
  941. package/lib/launcher/internal/runtime/DependencyBuildAdmission.js +120 -0
  942. package/lib/launcher/internal/runtime/DependencyBuildAdmission.js.map +1 -0
  943. package/lib/launcher/internal/runtime/DependencyBuildGeneration.d.ts +185 -0
  944. package/lib/launcher/internal/runtime/DependencyBuildGeneration.js +153 -0
  945. package/lib/launcher/internal/runtime/DependencyBuildGeneration.js.map +1 -0
  946. package/lib/launcher/internal/runtime/DependencyBuildLockFence.d.ts +22 -0
  947. package/lib/launcher/internal/runtime/DependencyBuildLockFence.js +3 -0
  948. package/lib/launcher/internal/runtime/DependencyBuildLockFence.js.map +1 -0
  949. package/lib/launcher/internal/runtime/DependencyBuildLockLease.d.ts +22 -0
  950. package/lib/launcher/internal/runtime/DependencyBuildLockLease.js +3 -0
  951. package/lib/launcher/internal/runtime/DependencyBuildLockLease.js.map +1 -0
  952. package/lib/launcher/internal/runtime/DependencyBuildLockObservation.d.ts +41 -0
  953. package/lib/launcher/internal/runtime/DependencyBuildLockObservation.js +3 -0
  954. package/lib/launcher/internal/runtime/DependencyBuildLockObservation.js.map +1 -0
  955. package/lib/launcher/internal/runtime/DependencyBuildLockProtocol.d.ts +83 -0
  956. package/lib/launcher/internal/runtime/DependencyBuildLockProtocol.js +126 -0
  957. package/lib/launcher/internal/runtime/DependencyBuildLockProtocol.js.map +1 -0
  958. package/lib/launcher/internal/runtime/OwnedProjectSource.d.ts +112 -0
  959. package/lib/launcher/internal/runtime/OwnedProjectSource.js +59 -0
  960. package/lib/launcher/internal/runtime/OwnedProjectSource.js.map +1 -0
  961. package/lib/launcher/internal/runtime/OwningModuleOptions.d.ts +21 -0
  962. package/lib/launcher/internal/runtime/OwningModuleOptions.js +3 -0
  963. package/lib/launcher/internal/runtime/OwningModuleOptions.js.map +1 -0
  964. package/lib/launcher/internal/runtime/PluginDescriptorInputObservation.d.ts +89 -0
  965. package/lib/launcher/internal/runtime/PluginDescriptorInputObservation.js +115 -0
  966. package/lib/launcher/internal/runtime/PluginDescriptorInputObservation.js.map +1 -0
  967. package/lib/launcher/internal/runtime/ProcessOwnedDirectory.d.ts +168 -0
  968. package/lib/launcher/internal/runtime/ProcessOwnedDirectory.js +251 -0
  969. package/lib/launcher/internal/runtime/ProcessOwnedDirectory.js.map +1 -0
  970. package/lib/launcher/internal/runtime/ResolveResult.d.ts +24 -0
  971. package/lib/launcher/internal/runtime/ResolveResult.js +3 -0
  972. package/lib/launcher/internal/runtime/ResolveResult.js.map +1 -0
  973. package/lib/launcher/internal/runtime/RuntimeEmitProvenance.d.ts +38 -0
  974. package/lib/launcher/internal/runtime/RuntimeEmitProvenance.js +60 -0
  975. package/lib/launcher/internal/runtime/RuntimeEmitProvenance.js.map +1 -0
  976. package/lib/launcher/internal/runtime/RuntimeEntryPreparer.d.ts +22 -0
  977. package/lib/launcher/internal/runtime/RuntimeEntryPreparer.js +3 -0
  978. package/lib/launcher/internal/runtime/RuntimeEntryPreparer.js.map +1 -0
  979. package/lib/launcher/internal/runtime/RuntimeFilesystem.d.ts +52 -0
  980. package/lib/launcher/internal/runtime/RuntimeFilesystem.js +73 -0
  981. package/lib/launcher/internal/runtime/RuntimeFilesystem.js.map +1 -0
  982. package/lib/launcher/internal/runtime/RuntimeHookOptions.d.ts +22 -0
  983. package/lib/launcher/internal/runtime/RuntimeHookOptions.js +3 -0
  984. package/lib/launcher/internal/runtime/RuntimeHookOptions.js.map +1 -0
  985. package/lib/launcher/internal/runtime/RuntimeIsolatedEmit.d.ts +53 -0
  986. package/lib/launcher/internal/runtime/RuntimeIsolatedEmit.js +88 -0
  987. package/lib/launcher/internal/runtime/RuntimeIsolatedEmit.js.map +1 -0
  988. package/lib/launcher/internal/runtime/RuntimeLoaderCapabilities.d.ts +78 -0
  989. package/lib/launcher/internal/runtime/RuntimeLoaderCapabilities.js +256 -0
  990. package/lib/launcher/internal/runtime/RuntimeLoaderCapabilities.js.map +1 -0
  991. package/lib/launcher/internal/runtime/RuntimeManifest.d.ts +65 -0
  992. package/lib/launcher/internal/runtime/RuntimeManifest.js +3 -0
  993. package/lib/launcher/internal/runtime/RuntimeManifest.js.map +1 -0
  994. package/lib/launcher/internal/runtime/RuntimeManifestRegistry.d.ts +95 -0
  995. package/lib/launcher/internal/runtime/RuntimeManifestRegistry.js +268 -0
  996. package/lib/launcher/internal/runtime/RuntimeManifestRegistry.js.map +1 -0
  997. package/lib/launcher/internal/runtime/RuntimeModuleFormat.d.ts +60 -0
  998. package/lib/launcher/internal/runtime/RuntimeModuleFormat.js +249 -0
  999. package/lib/launcher/internal/runtime/RuntimeModuleFormat.js.map +1 -0
  1000. package/lib/launcher/internal/runtime/RuntimeProjectOwnership.d.ts +50 -0
  1001. package/lib/launcher/internal/runtime/RuntimeProjectOwnership.js +134 -0
  1002. package/lib/launcher/internal/runtime/RuntimeProjectOwnership.js.map +1 -0
  1003. package/lib/launcher/internal/runtime/TTSX_MINIMUM_NODE_VERSION.d.ts +11 -0
  1004. package/lib/launcher/internal/runtime/TTSX_MINIMUM_NODE_VERSION.js +15 -0
  1005. package/lib/launcher/internal/runtime/TTSX_MINIMUM_NODE_VERSION.js.map +1 -0
  1006. package/lib/launcher/internal/runtime/acquireDependencyBuildLock.d.ts +22 -0
  1007. package/lib/launcher/internal/runtime/acquireDependencyBuildLock.js +74 -0
  1008. package/lib/launcher/internal/runtime/acquireDependencyBuildLock.js.map +1 -0
  1009. package/lib/launcher/internal/runtime/checkNodeRuntimeSupport.d.ts +30 -0
  1010. package/lib/launcher/internal/runtime/checkNodeRuntimeSupport.js +83 -0
  1011. package/lib/launcher/internal/runtime/checkNodeRuntimeSupport.js.map +1 -0
  1012. package/lib/launcher/internal/runtime/claimRuntimeProjectDirectory.d.ts +30 -0
  1013. package/lib/launcher/internal/runtime/claimRuntimeProjectDirectory.js +52 -0
  1014. package/lib/launcher/internal/runtime/claimRuntimeProjectDirectory.js.map +1 -0
  1015. package/lib/launcher/internal/runtime/commonJsExportNames.d.ts +21 -0
  1016. package/lib/launcher/internal/runtime/commonJsExportNames.js +68 -0
  1017. package/lib/launcher/internal/runtime/commonJsExportNames.js.map +1 -0
  1018. package/lib/launcher/internal/runtime/commonJsImportFacade.d.ts +32 -0
  1019. package/lib/launcher/internal/runtime/commonJsImportFacade.js +56 -0
  1020. package/lib/launcher/internal/runtime/commonJsImportFacade.js.map +1 -0
  1021. package/lib/launcher/internal/runtime/dependencyCacheKey.d.ts +36 -0
  1022. package/lib/launcher/internal/runtime/dependencyCacheKey.js +57 -0
  1023. package/lib/launcher/internal/runtime/dependencyCacheKey.js.map +1 -0
  1024. package/lib/launcher/internal/runtime/dependencyCacheRoot.d.ts +32 -0
  1025. package/lib/launcher/internal/runtime/dependencyCacheRoot.js +98 -0
  1026. package/lib/launcher/internal/runtime/dependencyCacheRoot.js.map +1 -0
  1027. package/lib/launcher/internal/runtime/inspectDependencyBuildLock.d.ts +23 -0
  1028. package/lib/launcher/internal/runtime/inspectDependencyBuildLock.js +126 -0
  1029. package/lib/launcher/internal/runtime/inspectDependencyBuildLock.js.map +1 -0
  1030. package/lib/launcher/internal/runtime/installRuntimeHooks.d.ts +58 -0
  1031. package/lib/launcher/internal/runtime/installRuntimeHooks.js +1988 -0
  1032. package/lib/launcher/internal/runtime/installRuntimeHooks.js.map +1 -0
  1033. package/lib/launcher/internal/runtime/interopProbe.d.ts +8 -0
  1034. package/lib/launcher/internal/runtime/interopProbe.js +3 -0
  1035. package/lib/launcher/internal/runtime/interopProbe.js.map +1 -0
  1036. package/lib/launcher/internal/runtime/isLocalProcessGone.d.ts +33 -0
  1037. package/lib/launcher/internal/runtime/isLocalProcessGone.js +60 -0
  1038. package/lib/launcher/internal/runtime/isLocalProcessGone.js.map +1 -0
  1039. package/lib/launcher/internal/runtime/observeMappedDescriptorResolution.d.ts +28 -0
  1040. package/lib/launcher/internal/runtime/observeMappedDescriptorResolution.js +50 -0
  1041. package/lib/launcher/internal/runtime/observeMappedDescriptorResolution.js.map +1 -0
  1042. package/lib/launcher/internal/runtime/projectModuleOptions.d.ts +16 -0
  1043. package/lib/launcher/internal/runtime/projectModuleOptions.js +28 -0
  1044. package/lib/launcher/internal/runtime/projectModuleOptions.js.map +1 -0
  1045. package/lib/launcher/internal/runtime/readDependencyCache.d.ts +28 -0
  1046. package/lib/launcher/internal/runtime/readDependencyCache.js +83 -0
  1047. package/lib/launcher/internal/runtime/readDependencyCache.js.map +1 -0
  1048. package/lib/launcher/internal/runtime/realPath.d.ts +22 -0
  1049. package/lib/launcher/internal/runtime/realPath.js +37 -0
  1050. package/lib/launcher/internal/runtime/realPath.js.map +1 -0
  1051. package/lib/launcher/internal/runtime/reclaimDependencyBuildLock.d.ts +17 -0
  1052. package/lib/launcher/internal/runtime/reclaimDependencyBuildLock.js +23 -0
  1053. package/lib/launcher/internal/runtime/reclaimDependencyBuildLock.js.map +1 -0
  1054. package/lib/launcher/internal/runtime/releaseDependencyBuildLock.d.ts +17 -0
  1055. package/lib/launcher/internal/runtime/releaseDependencyBuildLock.js +23 -0
  1056. package/lib/launcher/internal/runtime/releaseDependencyBuildLock.js.map +1 -0
  1057. package/lib/launcher/internal/runtime/resolveRuntimeCleanTargets.d.ts +34 -0
  1058. package/lib/launcher/internal/runtime/resolveRuntimeCleanTargets.js +88 -0
  1059. package/lib/launcher/internal/runtime/resolveRuntimeCleanTargets.js.map +1 -0
  1060. package/lib/launcher/internal/runtime/restoreStrippedNodeBuiltinScheme.d.ts +20 -0
  1061. package/lib/launcher/internal/runtime/restoreStrippedNodeBuiltinScheme.js +30 -0
  1062. package/lib/launcher/internal/runtime/restoreStrippedNodeBuiltinScheme.js.map +1 -0
  1063. package/lib/launcher/internal/runtime/runtimeRunKey.d.ts +24 -0
  1064. package/lib/launcher/internal/runtime/runtimeRunKey.js +36 -0
  1065. package/lib/launcher/internal/runtime/runtimeRunKey.js.map +1 -0
  1066. package/lib/launcher/internal/runtime/selectRuntimePluginPolicy.d.ts +21 -0
  1067. package/lib/launcher/internal/runtime/selectRuntimePluginPolicy.js +29 -0
  1068. package/lib/launcher/internal/runtime/selectRuntimePluginPolicy.js.map +1 -0
  1069. package/lib/launcher/internal/runtime/withRuntimeDirectoryLock.d.ts +35 -0
  1070. package/lib/launcher/internal/runtime/withRuntimeDirectoryLock.js +76 -0
  1071. package/lib/launcher/internal/runtime/withRuntimeDirectoryLock.js.map +1 -0
  1072. package/lib/launcher/internal/runtimeCompilerArgs.d.ts +35 -6
  1073. package/lib/launcher/internal/runtimeCompilerArgs.js +87 -58
  1074. package/lib/launcher/internal/runtimeCompilerArgs.js.map +1 -1
  1075. package/lib/launcher/internal/runtimeEmitProfile.d.ts +39 -0
  1076. package/lib/launcher/internal/runtimeEmitProfile.js +56 -0
  1077. package/lib/launcher/internal/runtimeEmitProfile.js.map +1 -0
  1078. package/lib/launcher/internal/runtimeHookPreload.js +4 -4
  1079. package/lib/launcher/internal/runtimeHookPreload.js.map +1 -1
  1080. package/lib/launcher/internal/runtimeOwnerPreload.d.ts +1 -0
  1081. package/lib/launcher/internal/runtimeOwnerPreload.js +43 -0
  1082. package/lib/launcher/internal/runtimeOwnerPreload.js.map +1 -0
  1083. package/lib/launcher/internal/singleRootProjectConfig.d.ts +34 -0
  1084. package/lib/launcher/internal/singleRootProjectConfig.js +39 -0
  1085. package/lib/launcher/internal/singleRootProjectConfig.js.map +1 -0
  1086. package/lib/launcher/internal/ttscserver/ILSPPluginSelectionInputs.d.ts +61 -0
  1087. package/lib/launcher/internal/ttscserver/ILSPPluginSelectionInputs.js +3 -0
  1088. package/lib/launcher/internal/ttscserver/ILSPPluginSelectionInputs.js.map +1 -0
  1089. package/lib/launcher/internal/ttscserver/LSPProjectInputDigest.d.ts +95 -0
  1090. package/lib/launcher/internal/ttscserver/LSPProjectInputDigest.js +270 -0
  1091. package/lib/launcher/internal/ttscserver/LSPProjectInputDigest.js.map +1 -0
  1092. package/lib/launcher/internal/ttscserver/captureLSPPluginSelectionInputs.d.ts +46 -0
  1093. package/lib/launcher/internal/ttscserver/captureLSPPluginSelectionInputs.js +91 -0
  1094. package/lib/launcher/internal/ttscserver/captureLSPPluginSelectionInputs.js.map +1 -0
  1095. package/lib/launcher/internal/ttscserver/fingerprintInitialLSPProjectInputSnapshot.d.ts +21 -0
  1096. package/lib/launcher/internal/ttscserver/fingerprintInitialLSPProjectInputSnapshot.js +39 -0
  1097. package/lib/launcher/internal/ttscserver/fingerprintInitialLSPProjectInputSnapshot.js.map +1 -0
  1098. package/lib/launcher/internal/ttscserver/initialLSPProjectInputSnapshotIsCurrent.d.ts +18 -0
  1099. package/lib/launcher/internal/ttscserver/initialLSPProjectInputSnapshotIsCurrent.js +27 -0
  1100. package/lib/launcher/internal/ttscserver/initialLSPProjectInputSnapshotIsCurrent.js.map +1 -0
  1101. package/lib/launcher/internal/ttscserver/materializeLSPPluginManifest.d.ts +26 -0
  1102. package/lib/launcher/internal/ttscserver/materializeLSPPluginManifest.js +62 -0
  1103. package/lib/launcher/internal/ttscserver/materializeLSPPluginManifest.js.map +1 -0
  1104. package/lib/launcher/internal/ttscserver/needsStdio.d.ts +17 -0
  1105. package/lib/launcher/internal/ttscserver/needsStdio.js +36 -0
  1106. package/lib/launcher/internal/ttscserver/needsStdio.js.map +1 -0
  1107. package/lib/launcher/internal/ttscserver/runTtscserver.d.ts +25 -0
  1108. package/lib/launcher/internal/ttscserver/runTtscserver.js +439 -0
  1109. package/lib/launcher/internal/ttscserver/runTtscserver.js.map +1 -0
  1110. package/lib/launcher/internal/watch/CompilerDirectoryWatchEventPlan.d.ts +29 -0
  1111. package/lib/launcher/internal/watch/CompilerDirectoryWatchEventPlan.js +3 -0
  1112. package/lib/launcher/internal/watch/CompilerDirectoryWatchEventPlan.js.map +1 -0
  1113. package/lib/launcher/internal/watch/DirectoryWatcher.d.ts +44 -0
  1114. package/lib/launcher/internal/watch/DirectoryWatcher.js +3 -0
  1115. package/lib/launcher/internal/watch/DirectoryWatcher.js.map +1 -0
  1116. package/lib/launcher/internal/watch/FseventsStreams.d.ts +87 -0
  1117. package/lib/launcher/internal/watch/FseventsStreams.js +266 -0
  1118. package/lib/launcher/internal/watch/FseventsStreams.js.map +1 -0
  1119. package/lib/launcher/internal/watch/ProjectInputWatchRules.d.ts +92 -0
  1120. package/lib/launcher/internal/watch/ProjectInputWatchRules.js +163 -0
  1121. package/lib/launcher/internal/watch/ProjectInputWatchRules.js.map +1 -0
  1122. package/lib/launcher/internal/watch/WatchInputChange.d.ts +29 -0
  1123. package/lib/launcher/internal/watch/WatchInputChange.js +3 -0
  1124. package/lib/launcher/internal/watch/WatchInputChange.js.map +1 -0
  1125. package/lib/launcher/internal/watch/WatchPaths.d.ts +101 -0
  1126. package/lib/launcher/internal/watch/WatchPaths.js +150 -0
  1127. package/lib/launcher/internal/watch/WatchPaths.js.map +1 -0
  1128. package/lib/launcher/internal/watch/WatchTopology.d.ts +384 -0
  1129. package/lib/launcher/internal/{watchTopology.js → watch/WatchTopology.js} +726 -799
  1130. package/lib/launcher/internal/watch/WatchTopology.js.map +1 -0
  1131. package/lib/launcher/internal/watch/literalGlobRoot.d.ts +22 -0
  1132. package/lib/launcher/internal/watch/literalGlobRoot.js +45 -0
  1133. package/lib/launcher/internal/watch/literalGlobRoot.js.map +1 -0
  1134. package/lib/launcher/internal/watch/planCompilerDirectoryWatchEvent.d.ts +40 -0
  1135. package/lib/launcher/internal/watch/planCompilerDirectoryWatchEvent.js +69 -0
  1136. package/lib/launcher/internal/watch/planCompilerDirectoryWatchEvent.js.map +1 -0
  1137. package/lib/launcher/internal/watch/projectInputActiveWatchDirectories.d.ts +19 -0
  1138. package/lib/launcher/internal/watch/projectInputActiveWatchDirectories.js +52 -0
  1139. package/lib/launcher/internal/watch/projectInputActiveWatchDirectories.js.map +1 -0
  1140. package/lib/launcher/internal/watch/projectInputAvailableWatchDirectory.d.ts +21 -0
  1141. package/lib/launcher/internal/watch/projectInputAvailableWatchDirectory.js +55 -0
  1142. package/lib/launcher/internal/watch/projectInputAvailableWatchDirectory.js.map +1 -0
  1143. package/lib/launcher/internal/watch/projectInputEventShouldNotify.d.ts +21 -0
  1144. package/lib/launcher/internal/watch/projectInputEventShouldNotify.js +23 -0
  1145. package/lib/launcher/internal/watch/projectInputEventShouldNotify.js.map +1 -0
  1146. package/lib/launcher/internal/watch/projectInputMembershipInvalidatesProgram.d.ts +27 -0
  1147. package/lib/launcher/internal/watch/projectInputMembershipInvalidatesProgram.js +54 -0
  1148. package/lib/launcher/internal/watch/projectInputMembershipInvalidatesProgram.js.map +1 -0
  1149. package/lib/launcher/internal/watch/projectInputReloadEventShouldNotify.d.ts +26 -0
  1150. package/lib/launcher/internal/watch/projectInputReloadEventShouldNotify.js +100 -0
  1151. package/lib/launcher/internal/watch/projectInputReloadEventShouldNotify.js.map +1 -0
  1152. package/lib/launcher/internal/watch/projectInputReplacementStrandsWatchers.d.ts +37 -0
  1153. package/lib/launcher/internal/watch/projectInputReplacementStrandsWatchers.js +54 -0
  1154. package/lib/launcher/internal/watch/projectInputReplacementStrandsWatchers.js.map +1 -0
  1155. package/lib/launcher/internal/watch/projectInputTopologyMayAffect.d.ts +23 -0
  1156. package/lib/launcher/internal/watch/projectInputTopologyMayAffect.js +67 -0
  1157. package/lib/launcher/internal/watch/projectInputTopologyMayAffect.js.map +1 -0
  1158. package/lib/launcher/internal/watch/projectInputWatchDirectories.d.ts +22 -0
  1159. package/lib/launcher/internal/watch/projectInputWatchDirectories.js +30 -0
  1160. package/lib/launcher/internal/watch/projectInputWatchDirectories.js.map +1 -0
  1161. package/lib/launcher/internal/watch/reloadInputsForFailedTopologyRefresh.d.ts +22 -0
  1162. package/lib/launcher/internal/watch/reloadInputsForFailedTopologyRefresh.js +45 -0
  1163. package/lib/launcher/internal/watch/reloadInputsForFailedTopologyRefresh.js.map +1 -0
  1164. package/lib/launcher/internal/watch/syncWatchers.d.ts +25 -0
  1165. package/lib/launcher/internal/watch/syncWatchers.js +61 -0
  1166. package/lib/launcher/internal/watch/syncWatchers.js.map +1 -0
  1167. package/lib/launcher/internal/watch/watchDirectory.d.ts +28 -0
  1168. package/lib/launcher/internal/watch/watchDirectory.js +46 -0
  1169. package/lib/launcher/internal/watch/watchDirectory.js.map +1 -0
  1170. package/lib/launcher/internal/watch/watchDirectoryThroughFsWatch.d.ts +28 -0
  1171. package/lib/launcher/internal/watch/watchDirectoryThroughFsWatch.js +38 -0
  1172. package/lib/launcher/internal/watch/watchDirectoryThroughFsWatch.js.map +1 -0
  1173. package/lib/launcher/ttscserver.js +1 -1
  1174. package/lib/launcher/ttscserver.js.map +1 -1
  1175. package/lib/launcher/ttsx.js +2 -3
  1176. package/lib/launcher/ttsx.js.map +1 -1
  1177. package/lib/plugin/CapabilityPluginResolver.d.ts +140 -0
  1178. package/lib/plugin/CapabilityPluginResolver.js +400 -0
  1179. package/lib/plugin/CapabilityPluginResolver.js.map +1 -0
  1180. package/lib/plugin/ITtscCapabilityPlugin.d.ts +87 -0
  1181. package/lib/plugin/ITtscCapabilityPlugin.js +3 -0
  1182. package/lib/plugin/ITtscCapabilityPlugin.js.map +1 -0
  1183. package/lib/plugin/internal/CapabilityPluginResult.d.ts +66 -0
  1184. package/lib/plugin/internal/CapabilityPluginResult.js +86 -0
  1185. package/lib/plugin/internal/CapabilityPluginResult.js.map +1 -0
  1186. package/lib/plugin/internal/CapabilityResolutionFormat.d.ts +114 -0
  1187. package/lib/plugin/internal/CapabilityResolutionFormat.js +229 -0
  1188. package/lib/plugin/internal/CapabilityResolutionFormat.js.map +1 -0
  1189. package/lib/plugin/internal/ITtscCapabilityPluginSource.d.ts +35 -0
  1190. package/lib/plugin/internal/ITtscCapabilityPluginSource.js +3 -0
  1191. package/lib/plugin/internal/ITtscCapabilityPluginSource.js.map +1 -0
  1192. package/lib/plugin/internal/ITtscCapabilityResolutionEntry.d.ts +49 -0
  1193. package/lib/plugin/internal/ITtscCapabilityResolutionEntry.js +3 -0
  1194. package/lib/plugin/internal/ITtscCapabilityResolutionEntry.js.map +1 -0
  1195. package/lib/plugin/internal/ITtscCapabilityResolutionPlugin.d.ts +21 -0
  1196. package/lib/plugin/internal/ITtscCapabilityResolutionPlugin.js +3 -0
  1197. package/lib/plugin/internal/ITtscCapabilityResolutionPlugin.js.map +1 -0
  1198. package/lib/plugin/internal/capabilityPluginWorker.d.ts +1 -0
  1199. package/lib/plugin/internal/capabilityPluginWorker.js +178 -0
  1200. package/lib/plugin/internal/capabilityPluginWorker.js.map +1 -0
  1201. package/lib/plugin/internal/decodeCapabilityCommandReply.d.ts +23 -0
  1202. package/lib/plugin/internal/decodeCapabilityCommandReply.js +25 -0
  1203. package/lib/plugin/internal/decodeCapabilityCommandReply.js.map +1 -0
  1204. package/lib/plugin/internal/load/COMMONJS_PLUGIN_DESCRIPTOR_SHIM_SOURCE.d.ts +15 -0
  1205. package/lib/plugin/internal/load/COMMONJS_PLUGIN_DESCRIPTOR_SHIM_SOURCE.js +182 -0
  1206. package/lib/plugin/internal/load/COMMONJS_PLUGIN_DESCRIPTOR_SHIM_SOURCE.js.map +1 -0
  1207. package/lib/plugin/internal/load/PLUGIN_DESCRIPTOR_SHIM_SOURCE.d.ts +11 -0
  1208. package/lib/plugin/internal/load/PLUGIN_DESCRIPTOR_SHIM_SOURCE.js +62 -0
  1209. package/lib/plugin/internal/load/PLUGIN_DESCRIPTOR_SHIM_SOURCE.js.map +1 -0
  1210. package/lib/plugin/internal/load/PluginDescriptorAdmission.d.ts +46 -0
  1211. package/lib/plugin/internal/load/PluginDescriptorAdmission.js +72 -0
  1212. package/lib/plugin/internal/load/PluginDescriptorAdmission.js.map +1 -0
  1213. package/lib/plugin/internal/load/PluginDescriptorEvaluationCache.d.ts +154 -0
  1214. package/lib/plugin/internal/load/PluginDescriptorEvaluationCache.js +317 -0
  1215. package/lib/plugin/internal/load/PluginDescriptorEvaluationCache.js.map +1 -0
  1216. package/lib/plugin/internal/load/PluginPackageResolution.d.ts +208 -0
  1217. package/lib/plugin/internal/load/PluginPackageResolution.js +593 -0
  1218. package/lib/plugin/internal/load/PluginPackageResolution.js.map +1 -0
  1219. package/lib/plugin/internal/load/ProjectPluginEntries.d.ts +60 -0
  1220. package/lib/plugin/internal/load/ProjectPluginEntries.js +164 -0
  1221. package/lib/plugin/internal/load/ProjectPluginEntries.js.map +1 -0
  1222. package/lib/plugin/internal/load/RESOLUTION_INPUT_RECORDER_PATH.d.ts +13 -0
  1223. package/lib/plugin/internal/load/RESOLUTION_INPUT_RECORDER_PATH.js +21 -0
  1224. package/lib/plugin/internal/load/RESOLUTION_INPUT_RECORDER_PATH.js.map +1 -0
  1225. package/lib/plugin/internal/load/collectProjectHostInputs.d.ts +16 -0
  1226. package/lib/plugin/internal/load/collectProjectHostInputs.js +66 -0
  1227. package/lib/plugin/internal/load/collectProjectHostInputs.js.map +1 -0
  1228. package/lib/plugin/internal/load/composePluginSources.d.ts +20 -0
  1229. package/lib/plugin/internal/load/composePluginSources.js +95 -0
  1230. package/lib/plugin/internal/load/composePluginSources.js.map +1 -0
  1231. package/lib/plugin/internal/load/declaresHostInputReads.d.ts +24 -0
  1232. package/lib/plugin/internal/load/declaresHostInputReads.js +48 -0
  1233. package/lib/plugin/internal/load/declaresHostInputReads.js.map +1 -0
  1234. package/lib/plugin/internal/load/hasProjectPluginEntries.d.ts +21 -0
  1235. package/lib/plugin/internal/load/hasProjectPluginEntries.js +29 -0
  1236. package/lib/plugin/internal/load/hasProjectPluginEntries.js.map +1 -0
  1237. package/lib/plugin/internal/load/hashHostInputPaths.d.ts +17 -0
  1238. package/lib/plugin/internal/load/hashHostInputPaths.js +46 -0
  1239. package/lib/plugin/internal/load/hashHostInputPaths.js.map +1 -0
  1240. package/lib/plugin/internal/load/isRelativePluginSpecifier.d.ts +22 -0
  1241. package/lib/plugin/internal/load/isRelativePluginSpecifier.js +33 -0
  1242. package/lib/plugin/internal/load/isRelativePluginSpecifier.js.map +1 -0
  1243. package/lib/plugin/internal/load/loadProjectPlugins.d.ts +112 -0
  1244. package/lib/plugin/internal/load/loadProjectPlugins.js +1640 -0
  1245. package/lib/plugin/internal/load/loadProjectPlugins.js.map +1 -0
  1246. package/lib/plugin/internal/load/moduleResolutionBaseSelects.d.ts +42 -0
  1247. package/lib/plugin/internal/load/moduleResolutionBaseSelects.js +51 -0
  1248. package/lib/plugin/internal/load/moduleResolutionBaseSelects.js.map +1 -0
  1249. package/lib/plugin/internal/load/observeImportSearchRoots.d.ts +29 -0
  1250. package/lib/plugin/internal/load/observeImportSearchRoots.js +38 -0
  1251. package/lib/plugin/internal/load/observeImportSearchRoots.js.map +1 -0
  1252. package/lib/plugin/internal/load/pluginLabel.d.ts +15 -0
  1253. package/lib/plugin/internal/load/pluginLabel.js +25 -0
  1254. package/lib/plugin/internal/load/pluginLabel.js.map +1 -0
  1255. package/lib/plugin/internal/load/realpathHostInput.d.ts +14 -0
  1256. package/lib/plugin/internal/load/realpathHostInput.js +29 -0
  1257. package/lib/plugin/internal/load/realpathHostInput.js.map +1 -0
  1258. package/lib/plugin/internal/load/realpathHostInputPaths.d.ts +17 -0
  1259. package/lib/plugin/internal/load/realpathHostInputPaths.js +28 -0
  1260. package/lib/plugin/internal/load/realpathHostInputPaths.js.map +1 -0
  1261. package/lib/plugin/internal/load/rejectJsTransformFunctions.d.ts +13 -0
  1262. package/lib/plugin/internal/load/rejectJsTransformFunctions.js +22 -0
  1263. package/lib/plugin/internal/load/rejectJsTransformFunctions.js.map +1 -0
  1264. package/lib/plugin/internal/load/requirePluginSource.d.ts +14 -0
  1265. package/lib/plugin/internal/load/requirePluginSource.js +38 -0
  1266. package/lib/plugin/internal/load/requirePluginSource.js.map +1 -0
  1267. package/lib/plugin/internal/load/resolveNativeSource.d.ts +29 -0
  1268. package/lib/plugin/internal/load/resolveNativeSource.js +37 -0
  1269. package/lib/plugin/internal/load/resolveNativeSource.js.map +1 -0
  1270. package/lib/plugin/internal/load/validatePluginContributors.d.ts +22 -0
  1271. package/lib/plugin/internal/load/validatePluginContributors.js +86 -0
  1272. package/lib/plugin/internal/load/validatePluginContributors.js.map +1 -0
  1273. package/lib/plugin/internal/load/validatePluginSource.d.ts +14 -0
  1274. package/lib/plugin/internal/load/validatePluginSource.js +21 -0
  1275. package/lib/plugin/internal/load/validatePluginSource.js.map +1 -0
  1276. package/lib/plugin/internal/load/visitImportMappedCandidates.d.ts +36 -0
  1277. package/lib/plugin/internal/load/visitImportMappedCandidates.js +45 -0
  1278. package/lib/plugin/internal/load/visitImportMappedCandidates.js.map +1 -0
  1279. package/lib/plugin/internal/pluginDescriptorFailureReason.d.ts +23 -0
  1280. package/lib/plugin/internal/pluginDescriptorFailureReason.js +43 -0
  1281. package/lib/plugin/internal/pluginDescriptorFailureReason.js.map +1 -0
  1282. package/lib/plugin/internal/pluginDescriptorProcessFailure.d.ts +28 -0
  1283. package/lib/plugin/internal/pluginDescriptorProcessFailure.js +37 -0
  1284. package/lib/plugin/internal/pluginDescriptorProcessFailure.js.map +1 -0
  1285. package/lib/plugin/internal/readCapabilityResolution.d.ts +42 -0
  1286. package/lib/plugin/internal/readCapabilityResolution.js +158 -0
  1287. package/lib/plugin/internal/readCapabilityResolution.js.map +1 -0
  1288. package/lib/plugin/internal/receiveCapabilityFailure.d.ts +21 -0
  1289. package/lib/plugin/internal/receiveCapabilityFailure.js +28 -0
  1290. package/lib/plugin/internal/receiveCapabilityFailure.js.map +1 -0
  1291. package/lib/plugin/internal/source/CachePrunePolicy.d.ts +42 -0
  1292. package/lib/plugin/internal/source/CachePrunePolicy.js +47 -0
  1293. package/lib/plugin/internal/source/CachePrunePolicy.js.map +1 -0
  1294. package/lib/plugin/internal/source/GoBuildCacheCoordination.d.ts +159 -0
  1295. package/lib/plugin/internal/source/GoBuildCacheCoordination.js +475 -0
  1296. package/lib/plugin/internal/source/GoBuildCacheCoordination.js.map +1 -0
  1297. package/lib/plugin/internal/source/GoEnvironmentReading.d.ts +42 -0
  1298. package/lib/plugin/internal/source/GoEnvironmentReading.js +110 -0
  1299. package/lib/plugin/internal/source/GoEnvironmentReading.js.map +1 -0
  1300. package/lib/plugin/internal/source/GoSourceInputs.d.ts +124 -0
  1301. package/lib/plugin/internal/source/GoSourceInputs.js +180 -0
  1302. package/lib/plugin/internal/source/GoSourceInputs.js.map +1 -0
  1303. package/lib/plugin/internal/source/GoToolResolution.d.ts +125 -0
  1304. package/lib/plugin/internal/source/GoToolResolution.js +278 -0
  1305. package/lib/plugin/internal/source/GoToolResolution.js.map +1 -0
  1306. package/lib/plugin/internal/source/IGoBuildCachePruneOptions.d.ts +30 -0
  1307. package/lib/plugin/internal/source/IGoBuildCachePruneOptions.js +3 -0
  1308. package/lib/plugin/internal/source/IGoBuildCachePruneOptions.js.map +1 -0
  1309. package/lib/plugin/internal/source/IPluginCachePruneOptions.d.ts +33 -0
  1310. package/lib/plugin/internal/source/IPluginCachePruneOptions.js +3 -0
  1311. package/lib/plugin/internal/source/IPluginCachePruneOptions.js.map +1 -0
  1312. package/lib/plugin/internal/source/IPluginModuleReplaceDirectory.d.ts +27 -0
  1313. package/lib/plugin/internal/source/IPluginModuleReplaceDirectory.js +3 -0
  1314. package/lib/plugin/internal/source/IPluginModuleReplaceDirectory.js.map +1 -0
  1315. package/lib/plugin/internal/source/ITtscBuildContributor.d.ts +18 -0
  1316. package/lib/plugin/internal/source/ITtscBuildContributor.js +3 -0
  1317. package/lib/plugin/internal/source/ITtscBuildContributor.js.map +1 -0
  1318. package/lib/plugin/internal/source/ITtscSourceBuildCachePaths.d.ts +25 -0
  1319. package/lib/plugin/internal/source/ITtscSourceBuildCachePaths.js +3 -0
  1320. package/lib/plugin/internal/source/ITtscSourceBuildCachePaths.js.map +1 -0
  1321. package/lib/plugin/internal/source/NativeSourcePackages.d.ts +155 -0
  1322. package/lib/plugin/internal/source/NativeSourcePackages.js +330 -0
  1323. package/lib/plugin/internal/source/NativeSourcePackages.js.map +1 -0
  1324. package/lib/plugin/internal/source/PluginBinaryUse.d.ts +66 -0
  1325. package/lib/plugin/internal/source/PluginBinaryUse.js +163 -0
  1326. package/lib/plugin/internal/source/PluginBinaryUse.js.map +1 -0
  1327. package/lib/plugin/internal/source/PluginBinaryWaitResult.d.ts +34 -0
  1328. package/lib/plugin/internal/source/PluginBinaryWaitResult.js +3 -0
  1329. package/lib/plugin/internal/source/PluginBinaryWaitResult.js.map +1 -0
  1330. package/lib/plugin/internal/source/PluginBuildEnvironmentReadings.d.ts +111 -0
  1331. package/lib/plugin/internal/source/PluginBuildEnvironmentReadings.js +243 -0
  1332. package/lib/plugin/internal/source/PluginBuildEnvironmentReadings.js.map +1 -0
  1333. package/lib/plugin/internal/source/PluginBuildEnvironmentWitness.d.ts +130 -0
  1334. package/lib/plugin/internal/source/PluginBuildEnvironmentWitness.js +215 -0
  1335. package/lib/plugin/internal/source/PluginBuildEnvironmentWitness.js.map +1 -0
  1336. package/lib/plugin/internal/source/PluginBuildLockFence.d.ts +25 -0
  1337. package/lib/plugin/internal/source/PluginBuildLockFence.js +3 -0
  1338. package/lib/plugin/internal/source/PluginBuildLockFence.js.map +1 -0
  1339. package/lib/plugin/internal/source/PluginBuildLockLease.d.ts +29 -0
  1340. package/lib/plugin/internal/source/PluginBuildLockLease.js +3 -0
  1341. package/lib/plugin/internal/source/PluginBuildLockLease.js.map +1 -0
  1342. package/lib/plugin/internal/source/PluginBuildLockObservation.d.ts +42 -0
  1343. package/lib/plugin/internal/source/PluginBuildLockObservation.js +3 -0
  1344. package/lib/plugin/internal/source/PluginBuildLockObservation.js.map +1 -0
  1345. package/lib/plugin/internal/source/PluginBuildLockOwner.d.ts +126 -0
  1346. package/lib/plugin/internal/source/PluginBuildLockOwner.js +165 -0
  1347. package/lib/plugin/internal/source/PluginBuildLockOwner.js.map +1 -0
  1348. package/lib/plugin/internal/source/PluginBuildLockProtocol.d.ts +234 -0
  1349. package/lib/plugin/internal/source/PluginBuildLockProtocol.js +287 -0
  1350. package/lib/plugin/internal/source/PluginBuildLockProtocol.js.map +1 -0
  1351. package/lib/plugin/internal/source/SourceBuildCacheLayout.d.ts +183 -0
  1352. package/lib/plugin/internal/source/SourceBuildCacheLayout.js +291 -0
  1353. package/lib/plugin/internal/source/SourceBuildCacheLayout.js.map +1 -0
  1354. package/lib/plugin/internal/source/SourceBuildFilesystemOperations.d.ts +32 -0
  1355. package/lib/plugin/internal/source/SourceBuildFilesystemOperations.js +3 -0
  1356. package/lib/plugin/internal/source/SourceBuildFilesystemOperations.js.map +1 -0
  1357. package/lib/plugin/internal/source/SourcePluginAdmission.d.ts +80 -0
  1358. package/lib/plugin/internal/source/SourcePluginAdmission.js +114 -0
  1359. package/lib/plugin/internal/source/SourcePluginAdmission.js.map +1 -0
  1360. package/lib/plugin/internal/source/SourcePluginWorkspace.d.ts +153 -0
  1361. package/lib/plugin/internal/source/SourcePluginWorkspace.js +394 -0
  1362. package/lib/plugin/internal/source/SourcePluginWorkspace.js.map +1 -0
  1363. package/lib/plugin/internal/source/acquirePluginBuildLock.d.ts +35 -0
  1364. package/lib/plugin/internal/source/acquirePluginBuildLock.js +176 -0
  1365. package/lib/plugin/internal/source/acquirePluginBuildLock.js.map +1 -0
  1366. package/lib/plugin/internal/source/autoQuoteGoModToken.d.ts +24 -0
  1367. package/lib/plugin/internal/source/autoQuoteGoModToken.js +110 -0
  1368. package/lib/plugin/internal/source/autoQuoteGoModToken.js.map +1 -0
  1369. package/lib/plugin/internal/source/buildSourcePlugin.d.ts +89 -0
  1370. package/lib/plugin/internal/source/buildSourcePlugin.js +862 -0
  1371. package/lib/plugin/internal/source/buildSourcePlugin.js.map +1 -0
  1372. package/lib/plugin/internal/source/collectPluginSourceDirectories.d.ts +30 -0
  1373. package/lib/plugin/internal/source/collectPluginSourceDirectories.js +77 -0
  1374. package/lib/plugin/internal/source/collectPluginSourceDirectories.js.map +1 -0
  1375. package/lib/plugin/internal/source/collectPluginSourceFiles.d.ts +40 -0
  1376. package/lib/plugin/internal/source/collectPluginSourceFiles.js +95 -0
  1377. package/lib/plugin/internal/source/collectPluginSourceFiles.js.map +1 -0
  1378. package/lib/plugin/internal/source/computeCacheKey.d.ts +75 -0
  1379. package/lib/plugin/internal/source/computeCacheKey.js +122 -0
  1380. package/lib/plugin/internal/source/computeCacheKey.js.map +1 -0
  1381. package/lib/plugin/internal/source/copiesPluginSourceEntry.d.ts +33 -0
  1382. package/lib/plugin/internal/source/copiesPluginSourceEntry.js +57 -0
  1383. package/lib/plugin/internal/source/copiesPluginSourceEntry.js.map +1 -0
  1384. package/lib/plugin/internal/source/createExternalSourceSnapshotLayout.d.ts +22 -0
  1385. package/lib/plugin/internal/source/createExternalSourceSnapshotLayout.js +60 -0
  1386. package/lib/plugin/internal/source/createExternalSourceSnapshotLayout.js.map +1 -0
  1387. package/lib/plugin/internal/source/ensureExecutableGoToolchain.d.ts +25 -0
  1388. package/lib/plugin/internal/source/ensureExecutableGoToolchain.js +96 -0
  1389. package/lib/plugin/internal/source/ensureExecutableGoToolchain.js.map +1 -0
  1390. package/lib/plugin/internal/source/formatDuration.d.ts +18 -0
  1391. package/lib/plugin/internal/source/formatDuration.js +36 -0
  1392. package/lib/plugin/internal/source/formatDuration.js.map +1 -0
  1393. package/lib/plugin/internal/source/formatGoWorkPath.d.ts +35 -0
  1394. package/lib/plugin/internal/source/formatGoWorkPath.js +42 -0
  1395. package/lib/plugin/internal/source/formatGoWorkPath.js.map +1 -0
  1396. package/lib/plugin/internal/source/hashPluginBuildEnvironment.d.ts +47 -0
  1397. package/lib/plugin/internal/source/hashPluginBuildEnvironment.js +597 -0
  1398. package/lib/plugin/internal/source/hashPluginBuildEnvironment.js.map +1 -0
  1399. package/lib/plugin/internal/source/inspectPluginBuildLock.d.ts +29 -0
  1400. package/lib/plugin/internal/source/inspectPluginBuildLock.js +285 -0
  1401. package/lib/plugin/internal/source/inspectPluginBuildLock.js.map +1 -0
  1402. package/lib/plugin/internal/source/isPathWithin.d.ts +16 -0
  1403. package/lib/plugin/internal/source/isPathWithin.js +28 -0
  1404. package/lib/plugin/internal/source/isPathWithin.js.map +1 -0
  1405. package/lib/plugin/internal/source/legacyGlobalCacheTargets.d.ts +24 -0
  1406. package/lib/plugin/internal/source/legacyGlobalCacheTargets.js +60 -0
  1407. package/lib/plugin/internal/source/legacyGlobalCacheTargets.js.map +1 -0
  1408. package/lib/plugin/internal/source/pluginBuildEnvironment.d.ts +31 -0
  1409. package/lib/plugin/internal/source/pluginBuildEnvironment.js +47 -0
  1410. package/lib/plugin/internal/source/pluginBuildEnvironment.js.map +1 -0
  1411. package/lib/plugin/internal/source/pluginBuildEnvironmentWorker.d.ts +1 -0
  1412. package/lib/plugin/internal/source/pluginBuildEnvironmentWorker.js +24 -0
  1413. package/lib/plugin/internal/source/pluginBuildEnvironmentWorker.js.map +1 -0
  1414. package/lib/plugin/internal/source/pluginBuildVersions.d.ts +31 -0
  1415. package/lib/plugin/internal/source/pluginBuildVersions.js +65 -0
  1416. package/lib/plugin/internal/source/pluginBuildVersions.js.map +1 -0
  1417. package/lib/plugin/internal/source/pluginModuleReplaceDirectories.d.ts +41 -0
  1418. package/lib/plugin/internal/source/pluginModuleReplaceDirectories.js +74 -0
  1419. package/lib/plugin/internal/source/pluginModuleReplaceDirectories.js.map +1 -0
  1420. package/lib/plugin/internal/source/pluginSourceCovers.d.ts +32 -0
  1421. package/lib/plugin/internal/source/pluginSourceCovers.js +54 -0
  1422. package/lib/plugin/internal/source/pluginSourceCovers.js.map +1 -0
  1423. package/lib/plugin/internal/source/pluginSourceDigest.d.ts +40 -0
  1424. package/lib/plugin/internal/source/pluginSourceDigest.js +60 -0
  1425. package/lib/plugin/internal/source/pluginSourceDigest.js.map +1 -0
  1426. package/lib/plugin/internal/source/pluginSourceFilesSignature.d.ts +38 -0
  1427. package/lib/plugin/internal/source/pluginSourceFilesSignature.js +53 -0
  1428. package/lib/plugin/internal/source/pluginSourceFilesSignature.js.map +1 -0
  1429. package/lib/plugin/internal/source/pluginSourceState.d.ts +47 -0
  1430. package/lib/plugin/internal/source/pluginSourceState.js +63 -0
  1431. package/lib/plugin/internal/source/pluginSourceState.js.map +1 -0
  1432. package/lib/plugin/internal/source/pluginSourceStateHolds.d.ts +34 -0
  1433. package/lib/plugin/internal/source/pluginSourceStateHolds.js +45 -0
  1434. package/lib/plugin/internal/source/pluginSourceStateHolds.js.map +1 -0
  1435. package/lib/plugin/internal/source/processPluginBuildEnvironment.d.ts +33 -0
  1436. package/lib/plugin/internal/source/processPluginBuildEnvironment.js +40 -0
  1437. package/lib/plugin/internal/source/processPluginBuildEnvironment.js.map +1 -0
  1438. package/lib/plugin/internal/source/pruneCacheFileRoot.d.ts +34 -0
  1439. package/lib/plugin/internal/source/pruneCacheFileRoot.js +120 -0
  1440. package/lib/plugin/internal/source/pruneCacheFileRoot.js.map +1 -0
  1441. package/lib/plugin/internal/source/pruneGoBuildCacheRoot.d.ts +28 -0
  1442. package/lib/plugin/internal/source/pruneGoBuildCacheRoot.js +185 -0
  1443. package/lib/plugin/internal/source/pruneGoBuildCacheRoot.js.map +1 -0
  1444. package/lib/plugin/internal/source/prunePluginCacheRoot.d.ts +46 -0
  1445. package/lib/plugin/internal/source/prunePluginCacheRoot.js +446 -0
  1446. package/lib/plugin/internal/source/prunePluginCacheRoot.js.map +1 -0
  1447. package/lib/plugin/internal/source/prunesPluginSourceDirectory.d.ts +21 -0
  1448. package/lib/plugin/internal/source/prunesPluginSourceDirectory.js +28 -0
  1449. package/lib/plugin/internal/source/prunesPluginSourceDirectory.js.map +1 -0
  1450. package/lib/plugin/internal/source/reclaimPluginBuildLock.d.ts +23 -0
  1451. package/lib/plugin/internal/source/reclaimPluginBuildLock.js +48 -0
  1452. package/lib/plugin/internal/source/reclaimPluginBuildLock.js.map +1 -0
  1453. package/lib/plugin/internal/source/recordCacheFileUse.d.ts +22 -0
  1454. package/lib/plugin/internal/source/recordCacheFileUse.js +43 -0
  1455. package/lib/plugin/internal/source/recordCacheFileUse.js.map +1 -0
  1456. package/lib/plugin/internal/source/releasePluginBuildLock.d.ts +33 -0
  1457. package/lib/plugin/internal/source/releasePluginBuildLock.js +100 -0
  1458. package/lib/plugin/internal/source/releasePluginBuildLock.js.map +1 -0
  1459. package/lib/plugin/internal/source/resolveCleanTargets.d.ts +26 -0
  1460. package/lib/plugin/internal/source/resolveCleanTargets.js +73 -0
  1461. package/lib/plugin/internal/source/resolveCleanTargets.js.map +1 -0
  1462. package/lib/plugin/internal/source/resolveGoCompiler.d.ts +29 -0
  1463. package/lib/plugin/internal/source/resolveGoCompiler.js +62 -0
  1464. package/lib/plugin/internal/source/resolveGoCompiler.js.map +1 -0
  1465. package/lib/plugin/internal/source/resolvePluginCacheRoot.d.ts +21 -0
  1466. package/lib/plugin/internal/source/resolvePluginCacheRoot.js +31 -0
  1467. package/lib/plugin/internal/source/resolvePluginCacheRoot.js.map +1 -0
  1468. package/lib/plugin/internal/source/resolvePluginGoModule.d.ts +34 -0
  1469. package/lib/plugin/internal/source/resolvePluginGoModule.js +65 -0
  1470. package/lib/plugin/internal/source/resolvePluginGoModule.js.map +1 -0
  1471. package/lib/plugin/internal/source/resolveSourceBuildCachePaths.d.ts +21 -0
  1472. package/lib/plugin/internal/source/resolveSourceBuildCachePaths.js +236 -0
  1473. package/lib/plugin/internal/source/resolveSourceBuildCachePaths.js.map +1 -0
  1474. package/lib/plugin/internal/source/selectPluginModuleReplaceDirectories.d.ts +29 -0
  1475. package/lib/plugin/internal/source/selectPluginModuleReplaceDirectories.js +68 -0
  1476. package/lib/plugin/internal/source/selectPluginModuleReplaceDirectories.js.map +1 -0
  1477. package/lib/plugin/internal/source/spawnGoTool.d.ts +22 -0
  1478. package/lib/plugin/internal/source/spawnGoTool.js +164 -0
  1479. package/lib/plugin/internal/source/spawnGoTool.js.map +1 -0
  1480. package/lib/plugin/internal/source/touchPluginCacheEntryInUse.d.ts +27 -0
  1481. package/lib/plugin/internal/source/touchPluginCacheEntryInUse.js +48 -0
  1482. package/lib/plugin/internal/source/touchPluginCacheEntryInUse.js.map +1 -0
  1483. package/lib/plugin/internal/source/waitForPluginBinary.d.ts +36 -0
  1484. package/lib/plugin/internal/source/waitForPluginBinary.js +94 -0
  1485. package/lib/plugin/internal/source/waitForPluginBinary.js.map +1 -0
  1486. package/lib/plugin/internal/source/windowsGoCommandArgs.d.ts +17 -0
  1487. package/lib/plugin/internal/source/windowsGoCommandArgs.js +23 -0
  1488. package/lib/plugin/internal/source/windowsGoCommandArgs.js.map +1 -0
  1489. package/lib/plugin/internal/source/withGoBuildCacheLease.d.ts +37 -0
  1490. package/lib/plugin/internal/source/withGoBuildCacheLease.js +87 -0
  1491. package/lib/plugin/internal/source/withGoBuildCacheLease.js.map +1 -0
  1492. package/lib/plugin/internal/writeCapabilityResolution.d.ts +80 -0
  1493. package/lib/plugin/internal/writeCapabilityResolution.js +196 -0
  1494. package/lib/plugin/internal/writeCapabilityResolution.js.map +1 -0
  1495. package/lib/plugin/resolveCapabilityPlugins.d.ts +53 -32
  1496. package/lib/plugin/resolveCapabilityPlugins.js +209 -38
  1497. package/lib/plugin/resolveCapabilityPlugins.js.map +1 -1
  1498. package/lib/register.js +20 -5
  1499. package/lib/register.js.map +1 -1
  1500. package/lib/structures/ITtscCompilerContext.d.ts +29 -11
  1501. package/lib/structures/ITtscCompilerDiagnostic.d.ts +24 -7
  1502. package/lib/structures/ITtscCompilerResult.d.ts +75 -25
  1503. package/lib/structures/ITtscCompilerTransformation.d.ts +287 -64
  1504. package/lib/structures/ITtscPlugin.d.ts +24 -8
  1505. package/lib/structures/ITtscPluginCapabilities.d.ts +55 -5
  1506. package/lib/structures/ITtscPluginContributor.d.ts +19 -8
  1507. package/lib/structures/ITtscPluginFactoryContext.d.ts +12 -3
  1508. package/lib/structures/ITtscProjectPluginConfig.d.ts +35 -10
  1509. package/lib/structures/TtscPluginStage.d.ts +9 -0
  1510. package/lib/structures/internal/ITtscLoadedNativePlugin.d.ts +19 -5
  1511. package/lib/structures/internal/ITtscParsedProjectConfig.d.ts +29 -3
  1512. package/lib/structures/internal/ITtscProjectIdentity.d.ts +21 -6
  1513. package/lib/structures/internal/ITtscProjectInputSnapshot.d.ts +23 -8
  1514. package/lib/structures/internal/ITtscProjectLocatorOptions.d.ts +18 -4
  1515. package/lib/structures/internal/TtscBuildOptions.d.ts +33 -14
  1516. package/lib/structures/internal/TtscBuildResult.d.ts +63 -4
  1517. package/lib/structures/internal/TtscCommonOptions.d.ts +47 -14
  1518. package/lib/structures/internal/TtscSingleFileEmitOptions.d.ts +46 -5
  1519. package/package.json +26 -12
  1520. package/shim/ast/enums_gen.go +4 -2
  1521. package/shim/ast/go.mod +5 -5
  1522. package/shim/ast/go.sum +10 -10
  1523. package/shim/ast/lint.go +1088 -20
  1524. package/shim/ast/parent.go +38 -22
  1525. package/shim/ast/safe_text.go +48 -26
  1526. package/shim/ast/shim.go +1307 -20
  1527. package/shim/ast/test/next_jsdoc_comment_location_reaches_variable_statement_test.go +51 -0
  1528. package/shim/ast/test/node_text_joins_multi_hop_qualified_name_test.go +24 -9
  1529. package/shim/ast/test/node_text_joins_one_hop_qualified_name_test.go +9 -5
  1530. package/shim/ast/test/node_text_returns_empty_for_nil_test.go +13 -5
  1531. package/shim/ast/test/node_text_returns_identifier_text_test.go +12 -5
  1532. package/shim/ast/test/node_text_skips_empty_qualified_left_test.go +35 -5
  1533. package/shim/astnav/go.mod +5 -5
  1534. package/shim/astnav/go.sum +12 -10
  1535. package/shim/astnav/shim.go +9 -0
  1536. package/shim/bundled/go.mod +7 -1
  1537. package/shim/bundled/go.sum +12 -0
  1538. package/shim/checker/enums_gen.go +4 -2
  1539. package/shim/checker/extra-shim.json +6 -0
  1540. package/shim/checker/go.mod +5 -5
  1541. package/shim/checker/go.sum +10 -10
  1542. package/shim/checker/node_builder_fields_gen.go +19 -0
  1543. package/shim/checker/shim.go +827 -114
  1544. package/shim/compiler/emit_sourcemap.go +68 -29
  1545. package/shim/compiler/emitassemble.go +36 -2
  1546. package/shim/compiler/emithook.go +13 -3
  1547. package/shim/compiler/go.mod +5 -5
  1548. package/shim/compiler/go.sum +10 -10
  1549. package/shim/compiler/incremental.go +56 -20
  1550. package/shim/compiler/resolution.go +92 -9
  1551. package/shim/core/enums_gen.go +2 -2
  1552. package/shim/core/go.mod +6 -1
  1553. package/shim/core/go.sum +10 -0
  1554. package/shim/core/modulekind.go +9 -0
  1555. package/shim/core/shim.go +157 -6
  1556. package/shim/diagnosticwriter/go.mod +10 -1
  1557. package/shim/diagnosticwriter/go.sum +20 -0
  1558. package/shim/diagnosticwriter/lint.go +188 -10
  1559. package/shim/diagnosticwriter/shim.go +14 -0
  1560. package/shim/lsp/go.mod +5 -5
  1561. package/shim/lsp/go.sum +10 -10
  1562. package/shim/lsp/shim.go +78 -2
  1563. package/shim/parser/go.mod +10 -1
  1564. package/shim/parser/go.sum +22 -0
  1565. package/shim/printer/emithost.go +46 -1
  1566. package/shim/printer/go.mod +5 -5
  1567. package/shim/printer/go.sum +10 -10
  1568. package/shim/printer/shim.go +114 -7
  1569. package/shim/printer/sourcemap.go +55 -0
  1570. package/shim/scanner/go.mod +10 -1
  1571. package/shim/scanner/go.sum +20 -0
  1572. package/shim/scanner/regexp.go +19 -4
  1573. package/shim/scanner/shim.go +3 -0
  1574. package/shim/stringutil/extra-shim.json +1 -0
  1575. package/shim/stringutil/go.mod +5 -0
  1576. package/shim/stringutil/go.sum +2 -0
  1577. package/shim/stringutil/shim.go +119 -0
  1578. package/shim/transformers/go.mod +5 -5
  1579. package/shim/transformers/go.sum +12 -10
  1580. package/shim/transformers/shim.go +12 -3
  1581. package/shim/tsoptions/command_line_raw.go +44 -0
  1582. package/shim/tsoptions/go.mod +10 -1
  1583. package/shim/tsoptions/go.sum +22 -0
  1584. package/shim/tsoptions/shim.go +1 -1
  1585. package/shim/tspath/go.mod +1 -1
  1586. package/shim/tspath/go.sum +6 -0
  1587. package/shim/vfs/cachedvfs/go.mod +3 -1
  1588. package/shim/vfs/cachedvfs/go.sum +12 -0
  1589. package/shim/vfs/decode.go +26 -0
  1590. package/shim/vfs/decode_test.go +42 -0
  1591. package/shim/vfs/go.mod +7 -1
  1592. package/shim/vfs/go.sum +12 -0
  1593. package/shim/vfs/osvfs/go.mod +7 -1
  1594. package/shim/vfs/osvfs/go.sum +12 -0
  1595. package/src/TtscCompiler.ts +223 -234
  1596. package/src/TtscService.ts +87 -31
  1597. package/src/TtscServiceRequestOptions.ts +21 -0
  1598. package/src/compiler/internal/CapturedProcessOutput.ts +69 -0
  1599. package/src/compiler/internal/CompilerArgumentsInspection.ts +184 -0
  1600. package/src/compiler/internal/EmitOwnershipIndex.ts +254 -0
  1601. package/src/compiler/internal/PrivateCompilerOutput.ts +330 -0
  1602. package/src/compiler/internal/ResidentCheckProcess.ts +445 -0
  1603. package/src/compiler/internal/ResidentCheckProcessOptions.ts +32 -0
  1604. package/src/compiler/internal/ResidentCheckRequest.ts +39 -0
  1605. package/src/compiler/internal/ResidentCheckResult.ts +24 -0
  1606. package/src/compiler/internal/ResidentCheckTelemetry.ts +36 -0
  1607. package/src/compiler/internal/ResidentReplyKind.ts +18 -0
  1608. package/src/compiler/internal/ResidentTransformProcess.ts +299 -0
  1609. package/src/compiler/internal/ResidentTransformProcessOptions.ts +30 -0
  1610. package/src/compiler/internal/ResidentTransformReply.ts +79 -0
  1611. package/src/compiler/internal/ResidentTransformRequestOptions.ts +16 -0
  1612. package/src/compiler/internal/ResidentTransformRequests.ts +198 -0
  1613. package/src/compiler/internal/StartedResidentTransform.ts +29 -0
  1614. package/src/compiler/internal/TransformProjectWorkerReply.ts +37 -0
  1615. package/src/compiler/internal/TransformProjectWorkerRequest.ts +42 -0
  1616. package/src/compiler/internal/build/BuildExecution.ts +1261 -0
  1617. package/src/compiler/internal/build/BuildTiming.ts +145 -0
  1618. package/src/compiler/internal/build/CompilerDiagnostics.ts +307 -0
  1619. package/src/compiler/internal/build/NativePluginArguments.ts +302 -0
  1620. package/src/compiler/internal/build/PassthroughFlags.ts +229 -0
  1621. package/src/compiler/internal/build/PluginFailureDiagnostics.ts +70 -0
  1622. package/src/compiler/internal/build/ResidentCheckEntryPlan.ts +42 -0
  1623. package/src/compiler/internal/build/ResidentCheckWatchChange.ts +33 -0
  1624. package/src/compiler/internal/build/ResidentCheckWatchSession.ts +501 -0
  1625. package/src/compiler/internal/build/RunBuildOptions.ts +145 -0
  1626. package/src/compiler/internal/build/TsgoArguments.ts +349 -0
  1627. package/src/compiler/internal/build/appendBuildOutput.ts +218 -0
  1628. package/src/compiler/internal/build/bufferResidentCheckEntryRequests.ts +52 -0
  1629. package/src/compiler/internal/build/createProcessDiagnostic.ts +32 -0
  1630. package/src/compiler/internal/build/isAbsoluteLocalProjectInputPath.ts +55 -0
  1631. package/src/compiler/internal/build/mergeProjectInputSnapshots.ts +147 -0
  1632. package/src/compiler/internal/build/normalizeBuildOutput.ts +89 -0
  1633. package/src/compiler/internal/build/parseProjectInputSnapshot.ts +91 -0
  1634. package/src/compiler/internal/build/planResidentCheckEntries.ts +55 -0
  1635. package/src/compiler/internal/build/privateRuntimeRootDir.ts +33 -0
  1636. package/src/compiler/internal/build/residentCheckRequest.ts +41 -0
  1637. package/src/compiler/internal/build/runBuild.ts +61 -0
  1638. package/src/compiler/internal/build/runExternalEmitProvenance.ts +566 -0
  1639. package/src/compiler/internal/build/takeResidentCheckEntryRequest.ts +31 -0
  1640. package/src/compiler/internal/buildNativeCompiler.ts +19 -2
  1641. package/src/compiler/internal/captureProcessOutput.ts +37 -39
  1642. package/src/compiler/internal/compileProjectInMemory.ts +139 -92
  1643. package/src/compiler/internal/ensureExecutable.ts +32 -0
  1644. package/src/compiler/internal/findNearestGoMod.ts +43 -0
  1645. package/src/compiler/internal/isOutsideRelativePath.ts +26 -0
  1646. package/src/compiler/internal/outputText.ts +21 -0
  1647. package/src/compiler/internal/packageRootDir.ts +43 -0
  1648. package/src/compiler/internal/parseNativeTransformOutput.ts +722 -0
  1649. package/src/compiler/internal/project/CompilerProjectSelection.ts +204 -0
  1650. package/src/compiler/internal/project/ConfigJsonText.ts +55 -0
  1651. package/src/compiler/internal/project/compilerUsesCaseSensitiveFileNames.ts +124 -0
  1652. package/src/compiler/internal/project/createNativeProjectContextArgs.ts +14 -19
  1653. package/src/compiler/internal/project/createNativeProjectContextJson.ts +28 -0
  1654. package/src/compiler/internal/project/parseJsonc.ts +318 -0
  1655. package/src/compiler/internal/project/readJsonFile.ts +34 -0
  1656. package/src/compiler/internal/project/readJsoncFile.ts +46 -0
  1657. package/src/compiler/internal/project/readProjectConfig.ts +137 -200
  1658. package/src/compiler/internal/project/resolveOwningProjectConfig.ts +278 -0
  1659. package/src/compiler/internal/project/resolveProjectConfig.ts +18 -127
  1660. package/src/compiler/internal/project/resolveProjectIdentity.ts +153 -0
  1661. package/src/compiler/internal/project/resolveTsconfigExtends.ts +175 -0
  1662. package/src/compiler/internal/project/selectReferencedProject.ts +54 -0
  1663. package/src/compiler/internal/project/tsconfigExtendsFileCandidates.ts +54 -0
  1664. package/src/compiler/internal/readEffectiveCompilerOptions.ts +126 -0
  1665. package/src/compiler/internal/resolveBinary.ts +25 -9
  1666. package/src/compiler/internal/resolveTsgo.ts +31 -11
  1667. package/src/compiler/internal/runNativeCheckWithObservations.ts +211 -0
  1668. package/src/compiler/internal/runSingleFileEmit.ts +92 -27
  1669. package/src/compiler/internal/sharedHost/SEMANTIC_CONFIG_PATH_ENV.ts +2 -0
  1670. package/src/compiler/internal/sharedHost/SidecarEnvironment.ts +151 -0
  1671. package/src/compiler/internal/sharedHost/TSGO_ARGS_CWD_ENV.ts +7 -0
  1672. package/src/compiler/internal/sharedHost/TSGO_ARGS_ENV.ts +7 -0
  1673. package/src/compiler/internal/sharedHost/assertSharedHostCompatibility.ts +48 -0
  1674. package/src/compiler/internal/sharedHost/clearInheritedSemanticConfigPath.ts +27 -0
  1675. package/src/compiler/internal/sharedHost/clearInheritedTsgoArgs.ts +41 -0
  1676. package/src/compiler/internal/sharedHost/inheritedSidecarEnv.ts +45 -0
  1677. package/src/compiler/internal/sharedHost/isLinkedTransform.ts +19 -0
  1678. package/src/compiler/internal/sharedHost/linkedTransformPlugins.ts +25 -0
  1679. package/src/compiler/internal/sharedHost/publishLinkedTransformPlugins.ts +42 -0
  1680. package/src/compiler/internal/sharedHost/resolvePluginConfigDir.ts +33 -0
  1681. package/src/compiler/internal/sharedHost/selectSharedHostPlugin.ts +35 -0
  1682. package/src/compiler/internal/spawnNative.ts +16 -39
  1683. package/src/compiler/internal/startResidentTransform.ts +66 -53
  1684. package/src/compiler/internal/transformProjectInMemory.ts +347 -635
  1685. package/src/compiler/internal/transformProjectInWorker.ts +170 -0
  1686. package/src/compiler/internal/transformProjectWorker.ts +43 -0
  1687. package/src/flags/AnySubcommand.ts +19 -0
  1688. package/src/flags/COMPILER_ENUM_WHITESPACE.ts +35 -0
  1689. package/src/flags/COMPILER_OPTIONS.ts +512 -0
  1690. package/src/flags/COMPILER_OPTION_ASCII_FOLDS.ts +13 -0
  1691. package/src/flags/COMPILER_OPTION_KINDS.ts +14 -0
  1692. package/src/flags/CompilerOptionSpec.ts +30 -0
  1693. package/src/flags/FLAG_BY_TOKEN.ts +40 -0
  1694. package/src/flags/{schema.ts → FLAG_SCHEMA.ts} +43 -318
  1695. package/src/flags/FlagKind.ts +22 -0
  1696. package/src/flags/FlagLayer.ts +24 -0
  1697. package/src/flags/FlagSpec.ts +118 -0
  1698. package/src/flags/ParseOptions.ts +103 -0
  1699. package/src/flags/ParseResult.ts +44 -0
  1700. package/src/flags/TtscSubcommand.ts +22 -0
  1701. package/src/flags/TtsxSubcommand.ts +13 -0
  1702. package/src/flags/ValueValidator.ts +14 -0
  1703. package/src/flags/buildGoAllowList.ts +43 -0
  1704. package/src/flags/flagsForSubcommand.ts +22 -0
  1705. package/src/flags/getBoolean.ts +27 -0
  1706. package/src/flags/getNumber.ts +24 -0
  1707. package/src/flags/getString.ts +24 -0
  1708. package/src/flags/getStringList.ts +24 -0
  1709. package/src/flags/normalizeCompilerEnumValue.ts +41 -0
  1710. package/src/flags/normalizeFlagToken.ts +38 -0
  1711. package/src/flags/parseFlags.ts +371 -0
  1712. package/src/flags/readCompilerOptionOccurrence.ts +107 -0
  1713. package/src/flags/readCompilerOptionValues.ts +68 -0
  1714. package/src/flags/resolveFlagSpec.ts +29 -0
  1715. package/src/index.ts +9 -3
  1716. package/src/internal/CanonicalTempDirectoryOperations.ts +73 -0
  1717. package/src/internal/CompilerContextSnapshot.ts +139 -0
  1718. package/src/internal/CompilerResultAdapter.ts +320 -0
  1719. package/src/internal/E2ETrace.ts +674 -0
  1720. package/src/internal/IJavaScriptRuntimeCapabilities.ts +50 -0
  1721. package/src/internal/OwnedNativeProcess.ts +417 -0
  1722. package/src/internal/OwnedSynchronousProcess.ts +220 -0
  1723. package/src/internal/RetireLockDirectoryOperations.ts +81 -0
  1724. package/src/internal/SafeCacheCleanupTarget.ts +41 -0
  1725. package/src/internal/SourceNativeRetirement.ts +1109 -0
  1726. package/src/internal/SpawnSyncOutputFiles.ts +29 -0
  1727. package/src/internal/cacheEntryExists.ts +24 -0
  1728. package/src/internal/createCanonicalTempDirectory.ts +35 -18
  1729. package/src/internal/isContendedCandidateRename.ts +35 -0
  1730. package/src/internal/isSpawnSyncFdExhaustion.ts +19 -0
  1731. package/src/internal/javascriptRuntimeCapabilities.ts +166 -0
  1732. package/src/internal/nativeBinary.ts +11 -0
  1733. package/src/internal/parseWindowsDirectoryCaseSensitivity.ts +50 -0
  1734. package/src/internal/pathIdentity/FilesystemPathIdentity.ts +44 -0
  1735. package/src/internal/pathIdentity/FilesystemPathIdentityContext.ts +182 -0
  1736. package/src/internal/pathIdentity/FilesystemPathIdentityOperations.ts +106 -0
  1737. package/src/internal/pathIdentity/ProjectInputPathIdentity.ts +21 -0
  1738. package/src/internal/pathIdentity/ProjectInputPathIdentityContext.ts +21 -0
  1739. package/src/internal/pathIdentity/ProjectInputPathIdentityOperations.ts +22 -0
  1740. package/src/internal/pathIdentity/createFilesystemPathIdentityContext.ts +437 -0
  1741. package/src/internal/pathIdentity/createProjectInputPathIdentityContext.ts +34 -0
  1742. package/src/internal/pathIdentity/isFilesystemPathIdentityWithin.ts +32 -0
  1743. package/src/internal/pathIdentity/isProjectInputPathIdentityWithin.ts +22 -0
  1744. package/src/internal/pathIdentity/resolveFilesystemPath.ts +43 -0
  1745. package/src/internal/pathIdentity/resolvePhysicalPath.ts +31 -0
  1746. package/src/internal/pathIdentity/resolveProjectInputPath.ts +18 -0
  1747. package/src/internal/pluginSource.ts +26 -0
  1748. package/src/internal/projectInputPathIdentity.ts +26 -387
  1749. package/src/internal/resolveNodeBinary.ts +13 -165
  1750. package/src/internal/resolveSafeCacheCleanupTargets.ts +51 -19
  1751. package/src/internal/restoreCompilerError.ts +175 -0
  1752. package/src/internal/retireLockDirectory.ts +166 -0
  1753. package/src/internal/runHoldingLock.ts +55 -0
  1754. package/src/internal/runtimeExecutableIdentity.ts +212 -0
  1755. package/src/internal/serializeCompilerError.ts +145 -0
  1756. package/src/internal/spawnSyncResilient.ts +36 -182
  1757. package/src/internal/spawnSyncWithLowDescriptors.ts +227 -0
  1758. package/src/internal/tsconfig.ts +16 -0
  1759. package/src/launcher/internal/PendingResidentCheckWatchChanges.ts +94 -0
  1760. package/src/launcher/internal/TtscBuildMode.ts +14 -0
  1761. package/src/launcher/internal/TtsxEntryOptions.ts +92 -0
  1762. package/src/launcher/internal/assertNoSolutionBuild.ts +17 -10
  1763. package/src/launcher/internal/assertTtsxNoWatch.ts +49 -0
  1764. package/src/launcher/internal/buildSingleRootProject.ts +303 -0
  1765. package/src/launcher/internal/getCompilerVersionText.ts +20 -5
  1766. package/src/launcher/internal/inlineServedSourceMap.ts +294 -0
  1767. package/src/launcher/internal/linkVirtualEntry.ts +88 -0
  1768. package/src/launcher/internal/{commonJsExportMetadata.ts → parseCommonJsExports.ts} +12 -2
  1769. package/src/launcher/internal/parseTtscBuildArgs.ts +103 -0
  1770. package/src/launcher/internal/parseTtsxCLI.ts +183 -0
  1771. package/src/launcher/internal/prepareExecution.ts +474 -362
  1772. package/src/launcher/internal/prepareTtscBuildMode.ts +64 -0
  1773. package/src/launcher/internal/resolveCacheDir.ts +12 -3
  1774. package/src/launcher/internal/resolveSingleFileOutput.ts +145 -0
  1775. package/src/launcher/internal/resolveTtscserverBinary.ts +20 -5
  1776. package/src/launcher/internal/runTtsc.ts +394 -326
  1777. package/src/launcher/internal/runTtsx.ts +349 -151
  1778. package/src/launcher/internal/runtime/CommonJsRuntimeSource.ts +365 -0
  1779. package/src/launcher/internal/runtime/DependencyBuildAdmission.ts +159 -0
  1780. package/src/launcher/internal/runtime/DependencyBuildGeneration.ts +236 -0
  1781. package/src/launcher/internal/runtime/DependencyBuildLockFence.ts +22 -0
  1782. package/src/launcher/internal/runtime/DependencyBuildLockLease.ts +22 -0
  1783. package/src/launcher/internal/runtime/DependencyBuildLockObservation.ts +49 -0
  1784. package/src/launcher/internal/runtime/DependencyBuildLockProtocol.ts +137 -0
  1785. package/src/launcher/internal/runtime/OwnedProjectSource.ts +140 -0
  1786. package/src/launcher/internal/runtime/OwningModuleOptions.ts +22 -0
  1787. package/src/launcher/internal/runtime/PluginDescriptorInputObservation.ts +112 -0
  1788. package/src/launcher/internal/runtime/ProcessOwnedDirectory.ts +325 -0
  1789. package/src/launcher/internal/runtime/ResolveResult.ts +26 -0
  1790. package/src/launcher/internal/runtime/RuntimeEmitProvenance.ts +58 -0
  1791. package/src/launcher/internal/runtime/RuntimeEntryPreparer.ts +23 -0
  1792. package/src/launcher/internal/runtime/RuntimeFilesystem.ts +64 -0
  1793. package/src/launcher/internal/runtime/RuntimeHookOptions.ts +23 -0
  1794. package/src/launcher/internal/runtime/RuntimeIsolatedEmit.ts +88 -0
  1795. package/src/launcher/internal/runtime/RuntimeLoaderCapabilities.ts +256 -0
  1796. package/src/launcher/internal/runtime/RuntimeManifest.ts +77 -0
  1797. package/src/launcher/internal/runtime/RuntimeManifestRegistry.ts +309 -0
  1798. package/src/launcher/internal/runtime/RuntimeModuleFormat.ts +275 -0
  1799. package/src/launcher/internal/runtime/RuntimeProjectOwnership.ts +139 -0
  1800. package/src/launcher/internal/runtime/TTSX_MINIMUM_NODE_VERSION.ts +11 -0
  1801. package/src/launcher/internal/runtime/acquireDependencyBuildLock.ts +97 -0
  1802. package/src/launcher/internal/runtime/checkNodeRuntimeSupport.ts +94 -0
  1803. package/src/launcher/internal/runtime/claimRuntimeProjectDirectory.ts +54 -0
  1804. package/src/launcher/internal/runtime/commonJsExportNames.ts +57 -0
  1805. package/src/launcher/internal/runtime/commonJsImportFacade.ts +62 -0
  1806. package/src/launcher/internal/runtime/dependencyCacheKey.ts +82 -0
  1807. package/src/launcher/internal/runtime/dependencyCacheRoot.ts +112 -0
  1808. package/src/launcher/internal/runtime/inspectDependencyBuildLock.ts +162 -0
  1809. package/src/launcher/internal/runtime/installRuntimeHooks.ts +2442 -0
  1810. package/src/launcher/internal/runtime/interopProbe.ts +8 -0
  1811. package/src/launcher/internal/runtime/isLocalProcessGone.ts +67 -0
  1812. package/src/launcher/internal/runtime/observeMappedDescriptorResolution.ts +74 -0
  1813. package/src/launcher/internal/runtime/projectModuleOptions.ts +28 -0
  1814. package/src/launcher/internal/runtime/readDependencyCache.ts +89 -0
  1815. package/src/launcher/internal/runtime/realPath.ts +30 -0
  1816. package/src/launcher/internal/runtime/reclaimDependencyBuildLock.ts +27 -0
  1817. package/src/launcher/internal/runtime/releaseDependencyBuildLock.ts +27 -0
  1818. package/src/launcher/internal/runtime/resolveRuntimeCleanTargets.ts +93 -0
  1819. package/src/launcher/internal/runtime/restoreStrippedNodeBuiltinScheme.ts +32 -0
  1820. package/src/launcher/internal/runtime/runtimeRunKey.ts +31 -0
  1821. package/src/launcher/internal/runtime/selectRuntimePluginPolicy.ts +28 -0
  1822. package/src/launcher/internal/runtime/withRuntimeDirectoryLock.ts +92 -0
  1823. package/src/launcher/internal/runtimeCompilerArgs.ts +91 -62
  1824. package/src/launcher/internal/runtimeEmitProfile.ts +70 -0
  1825. package/src/launcher/internal/runtimeHookPreload.ts +3 -3
  1826. package/src/launcher/internal/runtimeOwnerPreload.ts +43 -0
  1827. package/src/launcher/internal/singleRootProjectConfig.ts +38 -0
  1828. package/src/launcher/internal/ttscserver/ILSPPluginSelectionInputs.ts +65 -0
  1829. package/src/launcher/internal/ttscserver/LSPProjectInputDigest.ts +331 -0
  1830. package/src/launcher/internal/ttscserver/captureLSPPluginSelectionInputs.ts +107 -0
  1831. package/src/launcher/internal/ttscserver/fingerprintInitialLSPProjectInputSnapshot.ts +41 -0
  1832. package/src/launcher/internal/ttscserver/initialLSPProjectInputSnapshotIsCurrent.ts +36 -0
  1833. package/src/launcher/internal/ttscserver/materializeLSPPluginManifest.ts +60 -0
  1834. package/src/launcher/internal/ttscserver/needsStdio.ts +32 -0
  1835. package/src/launcher/internal/ttscserver/runTtscserver.ts +592 -0
  1836. package/src/launcher/internal/watch/CompilerDirectoryWatchEventPlan.ts +31 -0
  1837. package/src/launcher/internal/watch/DirectoryWatcher.ts +45 -0
  1838. package/src/launcher/internal/watch/FseventsStreams.ts +303 -0
  1839. package/src/launcher/internal/watch/ProjectInputWatchRules.ts +179 -0
  1840. package/src/launcher/internal/watch/WatchInputChange.ts +31 -0
  1841. package/src/launcher/internal/watch/WatchPaths.ts +156 -0
  1842. package/src/launcher/internal/{watchTopology.ts → watch/WatchTopology.ts} +867 -962
  1843. package/src/launcher/internal/watch/literalGlobRoot.ts +40 -0
  1844. package/src/launcher/internal/watch/planCompilerDirectoryWatchEvent.ts +83 -0
  1845. package/src/launcher/internal/watch/projectInputActiveWatchDirectories.ts +47 -0
  1846. package/src/launcher/internal/watch/projectInputAvailableWatchDirectory.ts +56 -0
  1847. package/src/launcher/internal/watch/projectInputEventShouldNotify.ts +23 -0
  1848. package/src/launcher/internal/watch/projectInputMembershipInvalidatesProgram.ts +63 -0
  1849. package/src/launcher/internal/watch/projectInputReloadEventShouldNotify.ts +127 -0
  1850. package/src/launcher/internal/watch/projectInputReplacementStrandsWatchers.ts +57 -0
  1851. package/src/launcher/internal/watch/projectInputTopologyMayAffect.ts +73 -0
  1852. package/src/launcher/internal/watch/projectInputWatchDirectories.ts +33 -0
  1853. package/src/launcher/internal/watch/reloadInputsForFailedTopologyRefresh.ts +49 -0
  1854. package/src/launcher/internal/watch/syncWatchers.ts +64 -0
  1855. package/src/launcher/internal/watch/watchDirectory.ts +53 -0
  1856. package/src/launcher/internal/watch/watchDirectoryThroughFsWatch.ts +47 -0
  1857. package/src/launcher/ttscserver.ts +1 -1
  1858. package/src/launcher/ttsx.ts +2 -3
  1859. package/src/plugin/CapabilityPluginResolver.ts +549 -0
  1860. package/src/plugin/ITtscCapabilityPlugin.ts +93 -0
  1861. package/src/plugin/internal/CapabilityPluginResult.ts +99 -0
  1862. package/src/plugin/internal/CapabilityResolutionFormat.ts +248 -0
  1863. package/src/plugin/internal/ITtscCapabilityPluginSource.ts +37 -0
  1864. package/src/plugin/internal/ITtscCapabilityResolutionEntry.ts +57 -0
  1865. package/src/plugin/internal/ITtscCapabilityResolutionPlugin.ts +22 -0
  1866. package/src/plugin/internal/capabilityPluginWorker.ts +216 -0
  1867. package/src/plugin/internal/decodeCapabilityCommandReply.ts +27 -0
  1868. package/src/plugin/internal/load/COMMONJS_PLUGIN_DESCRIPTOR_SHIM_SOURCE.ts +182 -0
  1869. package/src/plugin/internal/load/PLUGIN_DESCRIPTOR_SHIM_SOURCE.ts +59 -0
  1870. package/src/plugin/internal/load/PluginDescriptorAdmission.ts +75 -0
  1871. package/src/plugin/internal/load/PluginDescriptorEvaluationCache.ts +432 -0
  1872. package/src/plugin/internal/load/PluginPackageResolution.ts +711 -0
  1873. package/src/plugin/internal/load/ProjectPluginEntries.ts +232 -0
  1874. package/src/plugin/internal/load/RESOLUTION_INPUT_RECORDER_PATH.ts +34 -0
  1875. package/src/plugin/internal/load/collectProjectHostInputs.ts +88 -0
  1876. package/src/plugin/internal/load/composePluginSources.ts +121 -0
  1877. package/src/plugin/internal/load/declaresHostInputReads.ts +52 -0
  1878. package/src/plugin/internal/load/hasProjectPluginEntries.ts +33 -0
  1879. package/src/plugin/internal/load/hashHostInputPaths.ts +44 -0
  1880. package/src/plugin/internal/load/isRelativePluginSpecifier.ts +31 -0
  1881. package/src/plugin/internal/load/loadProjectPlugins.ts +2334 -0
  1882. package/src/plugin/internal/load/moduleResolutionBaseSelects.ts +59 -0
  1883. package/src/plugin/internal/load/observeImportSearchRoots.ts +42 -0
  1884. package/src/plugin/internal/load/pluginLabel.ts +28 -0
  1885. package/src/plugin/internal/load/realpathHostInput.ts +22 -0
  1886. package/src/plugin/internal/load/realpathHostInputPaths.ts +27 -0
  1887. package/src/plugin/internal/load/rejectJsTransformFunctions.ts +23 -0
  1888. package/src/plugin/internal/load/requirePluginSource.ts +34 -0
  1889. package/src/plugin/internal/load/resolveNativeSource.ts +42 -0
  1890. package/src/plugin/internal/load/validatePluginContributors.ts +102 -0
  1891. package/src/plugin/internal/load/validatePluginSource.ts +19 -0
  1892. package/src/plugin/internal/load/visitImportMappedCandidates.ts +63 -0
  1893. package/src/plugin/internal/pluginDescriptorFailureReason.ts +35 -0
  1894. package/src/plugin/internal/pluginDescriptorProcessFailure.ts +48 -0
  1895. package/src/plugin/internal/readCapabilityResolution.ts +193 -0
  1896. package/src/plugin/internal/receiveCapabilityFailure.ts +27 -0
  1897. package/src/plugin/internal/source/CachePrunePolicy.ts +47 -0
  1898. package/src/plugin/internal/source/GoBuildCacheCoordination.ts +588 -0
  1899. package/src/plugin/internal/source/GoEnvironmentReading.ts +109 -0
  1900. package/src/plugin/internal/source/GoSourceInputs.ts +182 -0
  1901. package/src/plugin/internal/source/GoToolResolution.ts +312 -0
  1902. package/src/plugin/internal/source/IGoBuildCachePruneOptions.ts +34 -0
  1903. package/src/plugin/internal/source/IPluginCachePruneOptions.ts +38 -0
  1904. package/src/plugin/internal/source/IPluginModuleReplaceDirectory.ts +30 -0
  1905. package/src/plugin/internal/source/ITtscBuildContributor.ts +19 -0
  1906. package/src/plugin/internal/source/ITtscSourceBuildCachePaths.ts +28 -0
  1907. package/src/plugin/internal/source/NativeSourcePackages.ts +428 -0
  1908. package/src/plugin/internal/source/PluginBinaryUse.ts +159 -0
  1909. package/src/plugin/internal/source/PluginBinaryWaitResult.ts +34 -0
  1910. package/src/plugin/internal/source/PluginBuildEnvironmentReadings.ts +273 -0
  1911. package/src/plugin/internal/source/PluginBuildEnvironmentWitness.ts +243 -0
  1912. package/src/plugin/internal/source/PluginBuildLockFence.ts +26 -0
  1913. package/src/plugin/internal/source/PluginBuildLockLease.ts +31 -0
  1914. package/src/plugin/internal/source/PluginBuildLockObservation.ts +48 -0
  1915. package/src/plugin/internal/source/PluginBuildLockOwner.ts +225 -0
  1916. package/src/plugin/internal/source/PluginBuildLockProtocol.ts +342 -0
  1917. package/src/plugin/internal/source/SourceBuildCacheLayout.ts +303 -0
  1918. package/src/plugin/internal/source/SourceBuildFilesystemOperations.ts +32 -0
  1919. package/src/plugin/internal/source/SourcePluginAdmission.ts +127 -0
  1920. package/src/plugin/internal/source/SourcePluginWorkspace.ts +564 -0
  1921. package/src/plugin/internal/source/acquirePluginBuildLock.ts +222 -0
  1922. package/src/plugin/internal/source/autoQuoteGoModToken.ts +113 -0
  1923. package/src/plugin/internal/source/buildSourcePlugin.ts +1225 -0
  1924. package/src/plugin/internal/source/collectPluginSourceDirectories.ts +70 -0
  1925. package/src/plugin/internal/source/collectPluginSourceFiles.ts +90 -0
  1926. package/src/plugin/internal/source/computeCacheKey.ts +208 -0
  1927. package/src/plugin/internal/source/copiesPluginSourceEntry.ts +52 -0
  1928. package/src/plugin/internal/source/createExternalSourceSnapshotLayout.ts +66 -0
  1929. package/src/plugin/internal/source/ensureExecutableGoToolchain.ts +87 -0
  1930. package/src/plugin/internal/source/formatDuration.ts +32 -0
  1931. package/src/plugin/internal/source/formatGoWorkPath.ts +42 -0
  1932. package/src/plugin/internal/source/hashPluginBuildEnvironment.ts +735 -0
  1933. package/src/plugin/internal/source/inspectPluginBuildLock.ts +330 -0
  1934. package/src/plugin/internal/source/isPathWithin.ts +24 -0
  1935. package/src/plugin/internal/source/legacyGlobalCacheTargets.ts +71 -0
  1936. package/src/plugin/internal/source/pluginBuildEnvironment.ts +59 -0
  1937. package/src/plugin/internal/source/pluginBuildEnvironmentWorker.ts +30 -0
  1938. package/src/plugin/internal/source/pluginBuildVersions.ts +75 -0
  1939. package/src/plugin/internal/source/pluginModuleReplaceDirectories.ts +84 -0
  1940. package/src/plugin/internal/source/pluginSourceCovers.ts +54 -0
  1941. package/src/plugin/internal/source/pluginSourceDigest.ts +55 -0
  1942. package/src/plugin/internal/source/pluginSourceFilesSignature.ts +54 -0
  1943. package/src/plugin/internal/source/pluginSourceState.ts +69 -0
  1944. package/src/plugin/internal/source/pluginSourceStateHolds.ts +45 -0
  1945. package/src/plugin/internal/source/processPluginBuildEnvironment.ts +40 -0
  1946. package/src/plugin/internal/source/pruneCacheFileRoot.ts +134 -0
  1947. package/src/plugin/internal/source/pruneGoBuildCacheRoot.ts +228 -0
  1948. package/src/plugin/internal/source/prunePluginCacheRoot.ts +507 -0
  1949. package/src/plugin/internal/source/prunesPluginSourceDirectory.ts +25 -0
  1950. package/src/plugin/internal/source/reclaimPluginBuildLock.ts +63 -0
  1951. package/src/plugin/internal/source/recordCacheFileUse.ts +35 -0
  1952. package/src/plugin/internal/source/releasePluginBuildLock.ts +125 -0
  1953. package/src/plugin/internal/source/resolveCleanTargets.ts +84 -0
  1954. package/src/plugin/internal/source/resolveGoCompiler.ts +92 -0
  1955. package/src/plugin/internal/source/resolvePluginCacheRoot.ts +32 -0
  1956. package/src/plugin/internal/source/resolvePluginGoModule.ts +69 -0
  1957. package/src/plugin/internal/source/resolveSourceBuildCachePaths.ts +276 -0
  1958. package/src/plugin/internal/source/selectPluginModuleReplaceDirectories.ts +80 -0
  1959. package/src/plugin/internal/source/spawnGoTool.ts +204 -0
  1960. package/src/plugin/internal/source/touchPluginCacheEntryInUse.ts +44 -0
  1961. package/src/plugin/internal/source/waitForPluginBinary.ts +123 -0
  1962. package/src/plugin/internal/source/windowsGoCommandArgs.ts +19 -0
  1963. package/src/plugin/internal/source/withGoBuildCacheLease.ts +101 -0
  1964. package/src/plugin/internal/writeCapabilityResolution.ts +266 -0
  1965. package/src/plugin/resolveCapabilityPlugins.ts +242 -77
  1966. package/src/register.ts +20 -7
  1967. package/src/structures/ITtscCompilerContext.ts +29 -11
  1968. package/src/structures/ITtscCompilerDiagnostic.ts +24 -7
  1969. package/src/structures/ITtscCompilerResult.ts +75 -25
  1970. package/src/structures/ITtscCompilerTransformation.ts +304 -64
  1971. package/src/structures/ITtscPlugin.ts +24 -8
  1972. package/src/structures/ITtscPluginCapabilities.ts +58 -5
  1973. package/src/structures/ITtscPluginContributor.ts +19 -8
  1974. package/src/structures/ITtscPluginFactoryContext.ts +12 -3
  1975. package/src/structures/ITtscProjectPluginConfig.ts +35 -10
  1976. package/src/structures/TtscPluginStage.ts +9 -0
  1977. package/src/structures/internal/ITtscLoadedNativePlugin.ts +27 -5
  1978. package/src/structures/internal/ITtscParsedProjectConfig.ts +37 -3
  1979. package/src/structures/internal/ITtscProjectIdentity.ts +27 -6
  1980. package/src/structures/internal/ITtscProjectInputSnapshot.ts +31 -8
  1981. package/src/structures/internal/ITtscProjectLocatorOptions.ts +21 -4
  1982. package/src/structures/internal/TtscBuildOptions.ts +38 -14
  1983. package/src/structures/internal/TtscBuildResult.ts +74 -4
  1984. package/src/structures/internal/TtscCommonOptions.ts +59 -14
  1985. package/src/structures/internal/TtscSingleFileEmitOptions.ts +55 -5
  1986. package/tools/gen_shims/main.go +124 -11
  1987. package/tools/gen_shims/package_load_admission_rejects_incomplete_results_test.go +61 -0
  1988. package/tools/gen_shims/private_field_support_preserves_upstream_layout_test.go +104 -0
  1989. package/tools/shim_audit/enum_generation_preserves_existing_family_members_test.go +182 -0
  1990. package/tools/shim_audit/enum_generation_refuses_removed_public_members_test.go +93 -0
  1991. package/tools/shim_audit/main.go +166 -31
  1992. package/tools/shim_audit/main_test.go +35 -0
  1993. package/tools/shim_audit/producer_exemptions_require_rationale_test.go +5 -0
  1994. package/tools/shim_audit/producer_surface_includes_exposed_methods_test.go +5 -0
  1995. package/tools/shim_audit/producer_surface_rejects_unproducible_reference_test.go +5 -0
  1996. package/tools/shim_audit/shim_dir_coverage_rejects_unregistered_shims_test.go +71 -0
  1997. package/utility/command.go +48 -0
  1998. package/utility/flags_gen.go +2 -2
  1999. package/utility/host.go +282 -66
  2000. package/utility/preamble_output.go +245 -0
  2001. package/utility/preamble_output_test.go +90 -0
  2002. package/utility/serve.go +61 -18
  2003. package/cmd/ttscgraph/serve_graph_snapshot_version_matches_typescript_client_test.go +0 -32
  2004. package/cmd/ttscgraph/serve_protocol_version_matches_the_typescript_client_test.go +0 -48
  2005. package/cmd/ttscgraph/serve_session_retries_failed_dump_test.go +0 -103
  2006. package/internal/graph/dump_schema_version_matches_the_typescript_client_test.go +0 -48
  2007. package/internal/graph/edge_kinds_names_every_declared_kind_test.go +0 -49
  2008. package/internal/graph/graph_kind_contracts_match_their_producers_test.go +0 -121
  2009. package/internal/lspserver/lsp_launcher_reload_directory_fingerprint_parity_windows_test.go +0 -94
  2010. package/internal/lspserver/lsp_project_diagnostics_resident_unsupported_falls_back_test.go +0 -123
  2011. package/lib/compiler/internal/paths.d.ts +0 -27
  2012. package/lib/compiler/internal/paths.js +0 -70
  2013. package/lib/compiler/internal/paths.js.map +0 -1
  2014. package/lib/compiler/internal/project/readConfigJson.d.ts +0 -30
  2015. package/lib/compiler/internal/project/readConfigJson.js +0 -208
  2016. package/lib/compiler/internal/project/readConfigJson.js.map +0 -1
  2017. package/lib/compiler/internal/residentCheckProcess.d.ts +0 -44
  2018. package/lib/compiler/internal/residentCheckProcess.js +0 -213
  2019. package/lib/compiler/internal/residentCheckProcess.js.map +0 -1
  2020. package/lib/compiler/internal/residentTransformProcess.d.ts +0 -65
  2021. package/lib/compiler/internal/residentTransformProcess.js +0 -330
  2022. package/lib/compiler/internal/residentTransformProcess.js.map +0 -1
  2023. package/lib/compiler/internal/resolveEmittedJavaScript.d.ts +0 -25
  2024. package/lib/compiler/internal/resolveEmittedJavaScript.js +0 -165
  2025. package/lib/compiler/internal/resolveEmittedJavaScript.js.map +0 -1
  2026. package/lib/compiler/internal/runBuild.d.ts +0 -152
  2027. package/lib/compiler/internal/runBuild.js +0 -1694
  2028. package/lib/compiler/internal/runBuild.js.map +0 -1
  2029. package/lib/compiler/internal/sharedHostHelpers.d.ts +0 -79
  2030. package/lib/compiler/internal/sharedHostHelpers.js +0 -134
  2031. package/lib/compiler/internal/sharedHostHelpers.js.map +0 -1
  2032. package/lib/flags/parser.d.ts +0 -97
  2033. package/lib/flags/parser.js +0 -293
  2034. package/lib/flags/parser.js.map +0 -1
  2035. package/lib/flags/schema.d.ts +0 -191
  2036. package/lib/flags/schema.js.map +0 -1
  2037. package/lib/internal/windowsDirectoryCaseSensitivity.d.ts +0 -10
  2038. package/lib/internal/windowsDirectoryCaseSensitivity.js +0 -34
  2039. package/lib/internal/windowsDirectoryCaseSensitivity.js.map +0 -1
  2040. package/lib/launcher/internal/commonJsExportMetadata.d.ts +0 -7
  2041. package/lib/launcher/internal/commonJsExportMetadata.js.map +0 -1
  2042. package/lib/launcher/internal/registerRuntimeHooks.js +0 -59
  2043. package/lib/launcher/internal/registerRuntimeHooks.js.map +0 -1
  2044. package/lib/launcher/internal/runTtscserver.d.ts +0 -35
  2045. package/lib/launcher/internal/runTtscserver.js +0 -661
  2046. package/lib/launcher/internal/runTtscserver.js.map +0 -1
  2047. package/lib/launcher/internal/runtimeHooks.d.ts +0 -198
  2048. package/lib/launcher/internal/runtimeHooks.js +0 -2579
  2049. package/lib/launcher/internal/runtimeHooks.js.map +0 -1
  2050. package/lib/launcher/internal/servedSourceMap.d.ts +0 -25
  2051. package/lib/launcher/internal/servedSourceMap.js +0 -164
  2052. package/lib/launcher/internal/servedSourceMap.js.map +0 -1
  2053. package/lib/launcher/internal/singleFileOutput.d.ts +0 -16
  2054. package/lib/launcher/internal/singleFileOutput.js +0 -103
  2055. package/lib/launcher/internal/singleFileOutput.js.map +0 -1
  2056. package/lib/launcher/internal/watchTopology.d.ts +0 -329
  2057. package/lib/launcher/internal/watchTopology.js.map +0 -1
  2058. package/lib/plugin/internal/buildSourcePlugin.d.ts +0 -298
  2059. package/lib/plugin/internal/buildSourcePlugin.js +0 -3087
  2060. package/lib/plugin/internal/buildSourcePlugin.js.map +0 -1
  2061. package/lib/plugin/internal/capabilityResolutionCache.d.ts +0 -76
  2062. package/lib/plugin/internal/capabilityResolutionCache.js +0 -224
  2063. package/lib/plugin/internal/capabilityResolutionCache.js.map +0 -1
  2064. package/lib/plugin/internal/descriptorProcessFailure.d.ts +0 -36
  2065. package/lib/plugin/internal/descriptorProcessFailure.js +0 -62
  2066. package/lib/plugin/internal/descriptorProcessFailure.js.map +0 -1
  2067. package/lib/plugin/internal/loadProjectPlugins.d.ts +0 -75
  2068. package/lib/plugin/internal/loadProjectPlugins.js +0 -2405
  2069. package/lib/plugin/internal/loadProjectPlugins.js.map +0 -1
  2070. package/src/compiler/internal/paths.ts +0 -68
  2071. package/src/compiler/internal/project/readConfigJson.ts +0 -209
  2072. package/src/compiler/internal/residentCheckProcess.ts +0 -259
  2073. package/src/compiler/internal/residentTransformProcess.ts +0 -406
  2074. package/src/compiler/internal/resolveEmittedJavaScript.ts +0 -197
  2075. package/src/compiler/internal/runBuild.ts +0 -2345
  2076. package/src/compiler/internal/sharedHostHelpers.ts +0 -154
  2077. package/src/flags/parser.ts +0 -459
  2078. package/src/internal/windowsDirectoryCaseSensitivity.ts +0 -33
  2079. package/src/launcher/internal/registerRuntimeHooks.ts +0 -68
  2080. package/src/launcher/internal/runTtscserver.ts +0 -842
  2081. package/src/launcher/internal/runtimeHooks.ts +0 -3197
  2082. package/src/launcher/internal/servedSourceMap.ts +0 -183
  2083. package/src/launcher/internal/singleFileOutput.ts +0 -133
  2084. package/src/plugin/internal/buildSourcePlugin.ts +0 -3993
  2085. package/src/plugin/internal/capabilityResolutionCache.ts +0 -305
  2086. package/src/plugin/internal/descriptorProcessFailure.ts +0 -69
  2087. package/src/plugin/internal/loadProjectPlugins.ts +0 -3073
  2088. package/tools/shim_audit/shim_dir_coverage_test.go +0 -25
  2089. /package/lib/{launcher/internal/registerRuntimeHooks.d.ts → compiler/internal/transformProjectWorker.d.ts} +0 -0
@@ -0,0 +1,1988 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.installRuntimeHooks = installRuntimeHooks;
7
+ const node_crypto_1 = __importDefault(require("node:crypto"));
8
+ const node_fs_1 = __importDefault(require("node:fs"));
9
+ const node_module_1 = require("node:module");
10
+ const node_path_1 = __importDefault(require("node:path"));
11
+ const node_url_1 = require("node:url");
12
+ const EmitOwnershipIndex_1 = require("../../../compiler/internal/EmitOwnershipIndex");
13
+ const privateRuntimeRootDir_1 = require("../../../compiler/internal/build/privateRuntimeRootDir");
14
+ const runBuild_1 = require("../../../compiler/internal/build/runBuild");
15
+ const readProjectConfig_1 = require("../../../compiler/internal/project/readProjectConfig");
16
+ const resolveOwningProjectConfig_1 = require("../../../compiler/internal/project/resolveOwningProjectConfig");
17
+ const resolveTsgo_1 = require("../../../compiler/internal/resolveTsgo");
18
+ const spawnNative_1 = require("../../../compiler/internal/spawnNative");
19
+ const E2ETrace_1 = require("../../../internal/E2ETrace");
20
+ const createCanonicalTempDirectory_1 = require("../../../internal/createCanonicalTempDirectory");
21
+ const runtimeExecutableIdentity_1 = require("../../../internal/runtimeExecutableIdentity");
22
+ const moduleResolutionBaseSelects_1 = require("../../../plugin/internal/load/moduleResolutionBaseSelects");
23
+ const recordCacheFileUse_1 = require("../../../plugin/internal/source/recordCacheFileUse");
24
+ const buildSingleRootProject_1 = require("../buildSingleRootProject");
25
+ const inlineServedSourceMap_1 = require("../inlineServedSourceMap");
26
+ const runtimeCompilerArgs_1 = require("../runtimeCompilerArgs");
27
+ const CommonJsRuntimeSource_1 = require("./CommonJsRuntimeSource");
28
+ const DependencyBuildAdmission_1 = require("./DependencyBuildAdmission");
29
+ const DependencyBuildGeneration_1 = require("./DependencyBuildGeneration");
30
+ const OwnedProjectSource_1 = require("./OwnedProjectSource");
31
+ const PluginDescriptorInputObservation_1 = require("./PluginDescriptorInputObservation");
32
+ const RuntimeEmitProvenance_1 = require("./RuntimeEmitProvenance");
33
+ const RuntimeFilesystem_1 = require("./RuntimeFilesystem");
34
+ const RuntimeIsolatedEmit_1 = require("./RuntimeIsolatedEmit");
35
+ const RuntimeLoaderCapabilities_1 = require("./RuntimeLoaderCapabilities");
36
+ const RuntimeManifestRegistry_1 = require("./RuntimeManifestRegistry");
37
+ const RuntimeProjectOwnership_1 = require("./RuntimeProjectOwnership");
38
+ const RuntimeModuleFormat_1 = require("./RuntimeModuleFormat");
39
+ const checkNodeRuntimeSupport_1 = require("./checkNodeRuntimeSupport");
40
+ const commonJsExportNames_1 = require("./commonJsExportNames");
41
+ const commonJsImportFacade_1 = require("./commonJsImportFacade");
42
+ const dependencyCacheKey_1 = require("./dependencyCacheKey");
43
+ const dependencyCacheRoot_1 = require("./dependencyCacheRoot");
44
+ const observeMappedDescriptorResolution_1 = require("./observeMappedDescriptorResolution");
45
+ const projectModuleOptions_1 = require("./projectModuleOptions");
46
+ const readDependencyCache_1 = require("./readDependencyCache");
47
+ const realPath_1 = require("./realPath");
48
+ const restoreStrippedNodeBuiltinScheme_1 = require("./restoreStrippedNodeBuiltinScheme");
49
+ const selectRuntimePluginPolicy_1 = require("./selectRuntimePluginPolicy");
50
+ /**
51
+ * Install the source-loading hooks on the current (main) thread. Idempotent:
52
+ * the preload on `NODE_OPTIONS` installs them in the entry process and in every
53
+ * child process the program spawns, and `ttsc/register` may install them again
54
+ * in a process that already has them.
55
+ *
56
+ * Prepared entries use their owner's build, including its selected transform
57
+ * plugins, under source URLs so `__dirname`/`import.meta.url` keep source-tree
58
+ * coordinates. Callback-prepared and direct prebuilt entry admission are
59
+ * distinct from dependency builds and orphan recovery; this installer does not
60
+ * certify that every dynamically loaded module has passed an entry type-check
61
+ * gate. Three load paths:
62
+ *
63
+ * 1. A `.ts` belonging to the entry project: serve the pre-built emitted JS
64
+ * (transform plugins already applied) under the producer's captured physical
65
+ * source-to-written-output ownership.
66
+ * 2. Any other raw `.ts` dependency (a published or workspace package that ships
67
+ * source): build its own owning `tsconfig.json` once via `runBuild` and
68
+ * serve the emit. A real build (not a type-strip) is required because Node's
69
+ * type-stripping cannot do cross-file type-only elision; a value-shaped
70
+ * import of a type+namespace merge survives stripping and dangles at run
71
+ * time.
72
+ * 3. No owning tsconfig: use an isolated tsgo emit in the runtime module format,
73
+ * lowering standard decorators and CommonJS imports/exports. Type stripping
74
+ * remains recovery when no compiler emit is available.
75
+ *
76
+ * The hooks are synchronous and run on the main thread (not a loader worker):
77
+ * that is what lets a CommonJS `require("./x")` chain reach them and what makes
78
+ * `require.resolve(..., { paths })` inside `runBuild`'s plugin loader behave.
79
+ *
80
+ * Both graphs go through `registerHooks`, the supported customization API. A
81
+ * CommonJS module an ESM `import` reaches may need an ESM facade that loads it
82
+ * through the CommonJS loader (`commonJsImportFacade`): handed to the ESM
83
+ * loader with source, the module's own `require()` bypasses the hooks on some
84
+ * releases, so a nested `require("./x.js")` backed only by `x.ts` failed there.
85
+ * Capability and entry predicates also admit direct CommonJS source lanes. One
86
+ * reach the API lacks on some releases is `require.resolve`, which is probed
87
+ * before installation. Served CommonJS bodies receive an owned require function
88
+ * whose resolve member applies the same source policy on those releases. Its
89
+ * copied extension registry advertises the supported source extensions; foreign
90
+ * resolver methods and global extension registries are never replaced.
91
+ *
92
+ * Direct descriptor evaluation records user preloads after hook installation.
93
+ * Only the generated CommonJS output sibling takes Node's native resolve/load
94
+ * path; its synchronous bootstrap suspends recording of implementation imports.
95
+ * This does not certify startup inputs read before the hooks were installed.
96
+ *
97
+ * @evidence contracts/common.md#principled-implementation Resolution preserves successful Node decisions, rescues source spellings only after documented resolution fails, and serves only outputs whose ownership index names the exact source. CommonJS facades delegate native evaluation and project detected own named exports under the selected namespace capability; an owned module-local require supplies source resolution when native require.resolve bypasses public hooks.
98
+ * @evidence contracts/common.md#clear-and-simple-design One synchronous hook owner coordinates source selection, emission ownership and descriptor observation; the entry, owning-project and orphan lanes remain explicit because they have distinct compilation premises. Private helpers carry those policies without a second foreign-resolver layer.
99
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts Public registerHooks handles resolution and loading; installation mutates neither Module._resolveFilename nor require.extensions. Source-extension recovery implements emitted-to-source spelling under the runtime contract, and module-local require adaptation addresses the probed public-hook difference without replacing Node methods.
100
+ * @evidence contracts/common.md#meaningful-documentation Native paragraphs describe the three serving lanes, compile gates, source identity, capability-based local adaptation and extension-registry ownership; helper comments state ownership and failure effects with descriptive prose separated from tags.
101
+ * @evidence contracts/portability.md#os-neutral-implementation Node URL conversion, native filesystem paths and physical resolution preserve OS spelling boundaries. Actual public-hook probes select runtime capabilities, native emit uses executable arguments without shell interpolation, and unresolved filesystem observation refuses reusable descriptor proof.
102
+ * @evidence contracts/performance.md#efficient-algorithms Source ownership indexes replace repeated whole-emit scans with indexed source/native-identity queries. Export discovery processes source/emit bytes, reexport edges, native resolution and Set/name unions under traversal-local seen sets; separate roots can repeat traversal. Config-chain validation reads discovered inputs. Compiler identity brackets and streams executable bytes on valid lookups, refusing failed observations. Native build/name-scan/orphan paths add compilation, path/metadata/IO cost; recursive graphs remain subject to stack limits.
103
+ * @evidence contracts/performance.md#reuse-equivalent-work Entry emits and dependency generations are shared within the current run; project/root keys include the same captured plugin policy compilation consumes, root keys also include source bytes, and orphan keys include source bytes, format, lowering policy and content-proven compiler identity. Nearest-config selection revalidates candidate existence. Project and failed-build memos still use a helper-instance module-evaluation snapshot and do not certify arbitrary mid-run config or dependency edits.
104
+ * @evidence contracts/performance.md#bound-retention-and-release-resources This installed helper retains hooks, callback and memoized module roles/builds, growing with distinct projects, roots and export scans without an eviction cap. Synchronous isolated output/publication staging paths attempt cleanup; failed native removal can propagate or add a causal cleanup error rather than certify release. WeakMap indexes do not independently retain their build keys. Node module caches and cross-process generations have their separate retention owners.
105
+ */
106
+ function installRuntimeHooks(options = {}) {
107
+ if (options.prepareEntry !== undefined) {
108
+ prepareRuntimeEntry = options.prepareEntry;
109
+ }
110
+ if (installed) {
111
+ return;
112
+ }
113
+ assertNodeRuntimeSupport();
114
+ // Probed before the runtime's hooks exist, so nothing the probes load is
115
+ // served or recorded as an input of the program.
116
+ nativeRequireResolveHooks =
117
+ RuntimeLoaderCapabilities_1.RuntimeLoaderCapabilities.requireResolveConsultsHooks();
118
+ CommonJsRuntimeSource_1.CommonJsRuntimeSource.configure(resolveCommonJsRequest, !nativeRequireResolveHooks);
119
+ RuntimeLoaderCapabilities_1.RuntimeLoaderCapabilities.commonJsNamespaceCarriesModuleExports();
120
+ // Error stacks use the served source maps. This supported switch is applied
121
+ // only after the required public loader capabilities have been established.
122
+ if (typeof process.setSourceMapsEnabled === "function") {
123
+ process.setSourceMapsEnabled(true);
124
+ }
125
+ (0, node_module_1.registerHooks)({ load, resolve });
126
+ PluginDescriptorInputObservation_1.PluginDescriptorInputObservation.begin(true);
127
+ installed = true;
128
+ }
129
+ /**
130
+ * Actual public-hook coverage determines whether module-local resolve needs
131
+ * adaptation.
132
+ */
133
+ let nativeRequireResolveHooks = true;
134
+ /**
135
+ * Preserve native resolution first and apply the existing source policy to an
136
+ * owned require.
137
+ */
138
+ function resolveCommonJsRequest(native, specifier, options, filename) {
139
+ if (nativeRequireResolveHooks || typeof specifier !== "string")
140
+ return native(specifier, options);
141
+ const parents = node_path_1.default.isAbsolute(specifier)
142
+ ? [undefined]
143
+ : options?.paths === undefined
144
+ ? [(0, node_url_1.pathToFileURL)(filename).href]
145
+ : Array.isArray(options.paths) &&
146
+ options.paths.every((entry) => typeof entry === "string")
147
+ ? options.paths.map((entry) => (0, node_url_1.pathToFileURL)(node_path_1.default.join(node_path_1.default.resolve(entry), "index.js")).href)
148
+ : [];
149
+ const observations = parents.map((parent) => observePluginDescriptorResolutionCandidates(specifier, parent));
150
+ let selected;
151
+ try {
152
+ try {
153
+ const resolved = native(specifier, options);
154
+ if (node_path_1.default.isAbsolute(resolved))
155
+ selected = (0, node_url_1.pathToFileURL)(resolved).href;
156
+ if (selected !== undefined)
157
+ recordPluginDescriptorResolution(specifier, parents[0], selected);
158
+ return resolved;
159
+ }
160
+ catch (error) {
161
+ for (const parent of parents) {
162
+ const rescued = probeRescuableSpecifier(specifier, parent);
163
+ if (rescued === null)
164
+ continue;
165
+ selected = rescued;
166
+ recordPluginDescriptorResolution(specifier, parent, rescued);
167
+ return (0, node_url_1.fileURLToPath)(rescued);
168
+ }
169
+ throw error;
170
+ }
171
+ }
172
+ finally {
173
+ for (const observation of observations)
174
+ observation.commit(selected);
175
+ }
176
+ }
177
+ /** Source/JS extensions probed when an extensionless relative import fails. */
178
+ const RESOLVABLE_EXTENSIONS = [
179
+ ".ts",
180
+ ".tsx",
181
+ ".mts",
182
+ ".cts",
183
+ ".js",
184
+ ".mjs",
185
+ ".cjs",
186
+ ];
187
+ /** Union of the ttsx rescue probes and Node's built-in CommonJS probes. */
188
+ const DESCRIPTOR_PROBE_EXTENSIONS = [
189
+ ...RESOLVABLE_EXTENSIONS,
190
+ ".json",
191
+ ".node",
192
+ ];
193
+ /** TypeScript source extensions these hooks compile. */
194
+ const TYPESCRIPT_EXTENSIONS = [".ts", ".tsx", ".mts", ".cts"];
195
+ /**
196
+ * Throw an actionable version error when the current Node.js cannot run the
197
+ * ttsx source runtime. Guards the hook-installation boundary directly (a child
198
+ * or grandchild that inherits the runtime preload under an unsupported Node) so
199
+ * the failure is diagnosed here instead of surfacing as a bare `TypeError:
200
+ * registerHooks is not a function`.
201
+ */
202
+ function assertNodeRuntimeSupport() {
203
+ const message = (0, checkNodeRuntimeSupport_1.checkNodeRuntimeSupport)(process.versions.node);
204
+ if (message !== null) {
205
+ throw new Error(message);
206
+ }
207
+ }
208
+ let installed = false;
209
+ let prepareRuntimeEntry;
210
+ /** TypeScript URLs resolved at a JavaScript-to-TypeScript entry boundary. */
211
+ const runtimeEntryUrls = new Set();
212
+ /**
213
+ * The process entry, where Node's ESM loader opens it: resolved with no parent
214
+ * and without the `require` condition, as an `--import` preload makes Node run
215
+ * every entry. A CommonJS entry is handed to Node with its source rather than
216
+ * as the facade, so Node loads it as the main module.
217
+ */
218
+ const esmEntryUrls = new Set();
219
+ /**
220
+ * CommonJS modules the ESM loader evaluates from their source on a runtime
221
+ * whose `require` is then Node's narrower one
222
+ * (`RuntimeLoaderCapabilities.hookedCommonJsImportKeepsRequire`).
223
+ */
224
+ const narrowRequireUrls = new Set();
225
+ /**
226
+ * Modules a {@link narrowRequireUrls} module asks for. That `require` loads
227
+ * through the ESM loader and accepts only a module Node evaluates as CommonJS,
228
+ * so a CommonJS module it asks for is handed to Node with its source, never as
229
+ * the facade, which is an ES module.
230
+ */
231
+ const narrowRequestedUrls = new Set();
232
+ /**
233
+ * Rescue an extensionless or directory relative specifier that Node's resolver
234
+ * rejected. Only runs after `nextResolve` throws, so a successful resolution is
235
+ * never perturbed; a genuinely missing module finds no candidate and the
236
+ * original error is rethrown, preserving `ERR_MODULE_NOT_FOUND`.
237
+ */
238
+ function resolve(specifier, context, nextResolve) {
239
+ // The generated file belongs to the evaluator. Other roots, including user
240
+ // --import preloads, retain ordinary resolution and input observations.
241
+ if (isDescriptorEvaluatorBootstrap(specifier))
242
+ return nextResolve(specifier, context);
243
+ const candidates = observePluginDescriptorResolutionCandidates(specifier, context.parentURL);
244
+ // The URL the resolution settled on, or `undefined` while it has not: a
245
+ // resolution that throws probed every candidate, so all of them are kept.
246
+ let selected;
247
+ try {
248
+ let result;
249
+ try {
250
+ result = rememberRuntimeEntry((0, restoreStrippedNodeBuiltinScheme_1.restoreStrippedNodeBuiltinScheme)(specifier, nextResolve(specifier, context)), context);
251
+ }
252
+ catch (error) {
253
+ const rescued = probeRescuableSpecifier(specifier, context.parentURL);
254
+ if (rescued === null) {
255
+ throw error;
256
+ }
257
+ result = rememberRuntimeEntry({ shortCircuit: true, url: rescued }, context);
258
+ }
259
+ selected = result.url;
260
+ recordPluginDescriptorResolution(specifier, context.parentURL, result.url);
261
+ const moduleApi = CommonJsRuntimeSource_1.CommonJsRuntimeSource.moduleSource();
262
+ if (!nativeRequireResolveHooks &&
263
+ result.url === "node:module" &&
264
+ context.parentURL !== moduleApi.url &&
265
+ !isDescriptorEvaluatorBootstrap(context.parentURL ?? ""))
266
+ return { shortCircuit: true, url: moduleApi.url };
267
+ rememberCommonJsImportRole(result.url, context);
268
+ return result;
269
+ }
270
+ finally {
271
+ candidates.commit(selected);
272
+ }
273
+ }
274
+ /**
275
+ * Fingerprint every path whose state can redirect one descriptor import, and
276
+ * report the ones the resolution could have read once it settles.
277
+ *
278
+ * The fingerprints are taken before the real resolver runs. Reporting
279
+ * candidates only after the descriptor finished would pair an earlier
280
+ * descriptor result with later file state when a higher-priority candidate
281
+ * appeared during evaluation. They are reported only when the resolution
282
+ * settles, because a bare specifier's search stops at the first root whose
283
+ * package it selects (`moduleResolutionBaseSelects`): the roots after it were
284
+ * never read, and a missing candidate there, proven absent by the metadata of a
285
+ * directory as busy as a home directory, would cost the descriptor its cache
286
+ * proof for a path that cannot have steered it. A resolution that fails read
287
+ * every root, so `commit(undefined)` reports them all.
288
+ */
289
+ function observePluginDescriptorResolutionCandidates(specifier, parentURL) {
290
+ const inactive = { commit: () => undefined };
291
+ if (process.env.TTSC_PLUGIN_DESCRIPTOR_INPUTS_ACTIVE !== "1")
292
+ return inactive;
293
+ if ((0, node_module_1.isBuiltin)(specifier) || specifier.startsWith("node:"))
294
+ return inactive;
295
+ const parent = runtimeFilePath(parentURL);
296
+ if (parent === undefined)
297
+ return inactive;
298
+ // Mapped targets use the shared recorder's earlier witnesses. A later
299
+ // candidate read cannot replace a proof withdrawn during this window.
300
+ if (specifier.startsWith("#")) {
301
+ const observation = (0, observeMappedDescriptorResolution_1.observeMappedDescriptorResolution)(specifier, parent, DESCRIPTOR_PROBE_EXTENSIONS);
302
+ return {
303
+ commit: (selectedURL) => {
304
+ appendPluginDescriptorInputs(observation
305
+ .commit(selectedURL === undefined ? undefined : runtimeFilePath(selectedURL))
306
+ .map((record) => `${JSON.stringify({ parent, ...record })}\n`));
307
+ },
308
+ };
309
+ }
310
+ // Candidates of a relative or absolute specifier, and those of each search
311
+ // root of a bare one, in search order.
312
+ const local = [];
313
+ const roots = [];
314
+ let lines = local;
315
+ const recorded = new Set();
316
+ const record = (candidate) => {
317
+ const resolved = node_path_1.default.resolve(candidate);
318
+ if (recorded.has(resolved))
319
+ return;
320
+ recorded.add(resolved);
321
+ lines.push(...observePluginDescriptorInput({
322
+ parent,
323
+ resolved,
324
+ }));
325
+ };
326
+ const commit = (selectedURL) => {
327
+ const selected = selectedURL === undefined ? undefined : runtimeFilePath(selectedURL);
328
+ const reached = roots.findIndex((root) => (0, moduleResolutionBaseSelects_1.moduleResolutionBaseSelects)(root.directory, selected, DESCRIPTOR_PROBE_EXTENSIONS));
329
+ appendPluginDescriptorInputs([
330
+ ...local,
331
+ ...(reached === -1 ? roots : roots.slice(0, reached + 1)).flatMap((root) => root.lines),
332
+ ]);
333
+ };
334
+ const recordManifestTargets = (value, directory, allowBare = false) => {
335
+ if (typeof value === "string") {
336
+ if (value !== "" &&
337
+ (allowBare || value.startsWith("./") || value.startsWith("../"))) {
338
+ recordBase(node_path_1.default.resolve(directory, value));
339
+ }
340
+ return;
341
+ }
342
+ if (Array.isArray(value)) {
343
+ for (const item of value) {
344
+ recordManifestTargets(item, directory, allowBare);
345
+ }
346
+ return;
347
+ }
348
+ if (value !== null && typeof value === "object") {
349
+ for (const item of Object.values(value)) {
350
+ recordManifestTargets(item, directory, allowBare);
351
+ }
352
+ }
353
+ };
354
+ const recordPackageManifests = (file) => {
355
+ for (let directory = node_path_1.default.dirname(file);; directory = node_path_1.default.dirname(directory)) {
356
+ const manifest = node_path_1.default.join(directory, "package.json");
357
+ record(manifest);
358
+ if (RuntimeFilesystem_1.RuntimeFilesystem.isFile(manifest))
359
+ return;
360
+ const parentDirectory = node_path_1.default.dirname(directory);
361
+ if (parentDirectory === directory)
362
+ return;
363
+ }
364
+ };
365
+ const localBases = (value) => {
366
+ if (value.startsWith("file:"))
367
+ return [(0, node_url_1.fileURLToPath)(value)];
368
+ const raw = node_path_1.default.resolve(node_path_1.default.dirname(parent), value);
369
+ const suffixStart = value.search(/[?#]/);
370
+ if (suffixStart === -1)
371
+ return [raw];
372
+ const pathname = value.slice(0, suffixStart);
373
+ return pathname === ""
374
+ ? [raw]
375
+ : [...new Set([raw, node_path_1.default.resolve(node_path_1.default.dirname(parent), pathname)])];
376
+ };
377
+ const bases = new Set();
378
+ const recordBase = (base) => {
379
+ const resolvedBase = node_path_1.default.resolve(base);
380
+ if (bases.has(resolvedBase))
381
+ return;
382
+ bases.add(resolvedBase);
383
+ record(resolvedBase);
384
+ for (const candidate of typescriptSourcesForJavaScriptSpecifier(resolvedBase)) {
385
+ record(candidate);
386
+ }
387
+ for (const extension of DESCRIPTOR_PROBE_EXTENSIONS) {
388
+ record(resolvedBase + extension);
389
+ }
390
+ const manifestFile = node_path_1.default.join(resolvedBase, "package.json");
391
+ record(manifestFile);
392
+ for (const extension of DESCRIPTOR_PROBE_EXTENSIONS) {
393
+ record(node_path_1.default.join(resolvedBase, `index${extension}`));
394
+ }
395
+ try {
396
+ const manifest = JSON.parse(node_fs_1.default.readFileSync(manifestFile, "utf8").replace(/^\uFEFF/, ""));
397
+ recordManifestTargets(manifest.exports, resolvedBase);
398
+ recordManifestTargets(manifest.module, resolvedBase, true);
399
+ recordManifestTargets(manifest.main, resolvedBase, true);
400
+ }
401
+ catch {
402
+ // The real resolver owns malformed package diagnostics.
403
+ }
404
+ };
405
+ if (specifier.startsWith(".") ||
406
+ node_path_1.default.isAbsolute(specifier) ||
407
+ specifier.startsWith("file:")) {
408
+ try {
409
+ for (const base of localBases(specifier)) {
410
+ recordPackageManifests(base);
411
+ if (RuntimeFilesystem_1.RuntimeFilesystem.isFile(base))
412
+ record(base);
413
+ else
414
+ recordBase(base);
415
+ }
416
+ }
417
+ catch {
418
+ // The real resolver owns invalid URL spellings.
419
+ }
420
+ return { commit };
421
+ }
422
+ const parts = specifier.split("/");
423
+ const packageParts = parts[0]?.startsWith("@")
424
+ ? parts.slice(0, 2)
425
+ : parts.slice(0, 1);
426
+ if (packageParts.some((part) => part === undefined || part === "")) {
427
+ return { commit };
428
+ }
429
+ const packageName = packageParts.join("/");
430
+ const subpath = parts.slice(packageParts.length);
431
+ for (const searchPath of (0, node_module_1.createRequire)(parent).resolve.paths(specifier) ??
432
+ []) {
433
+ const packageDirectory = node_path_1.default.join(searchPath, packageName);
434
+ const root = { directory: packageDirectory, lines: [] };
435
+ roots.push(root);
436
+ lines = root.lines;
437
+ recordBase(packageDirectory);
438
+ if (subpath.length !== 0) {
439
+ recordBase(node_path_1.default.join(packageDirectory, ...subpath));
440
+ }
441
+ // CommonJS resolution continues past an existing but unusable package
442
+ // directory. Fingerprint every search root before the resolver runs so a
443
+ // farther selected package retains evaluation-time hashes for its
444
+ // superseding candidates.
445
+ }
446
+ return { commit };
447
+ }
448
+ /**
449
+ * Report one resolved descriptor edge to the parent loader. The channel is
450
+ * active for direct-evaluator user preloads after hook installation. The exact
451
+ * generated evaluator entry bypasses these hooks and suspends recording only
452
+ * while its synchronous implementation imports load; descriptor imports then
453
+ * resume it.
454
+ */
455
+ function recordPluginDescriptorResolution(specifier, parentURL, resolvedURL) {
456
+ if (process.env.TTSC_PLUGIN_DESCRIPTOR_INPUTS_ACTIVE !== "1")
457
+ return;
458
+ const resolved = runtimeFilePath(resolvedURL);
459
+ if (resolved === undefined)
460
+ return;
461
+ const parent = runtimeFilePath(parentURL);
462
+ recordPluginDescriptorInput({
463
+ ...(parent === undefined ? {} : { parent }),
464
+ resolved,
465
+ specifier,
466
+ });
467
+ for (let directory = node_path_1.default.dirname(resolved);; directory = node_path_1.default.dirname(directory)) {
468
+ const manifest = node_path_1.default.join(directory, "package.json");
469
+ recordPluginDescriptorInput({
470
+ ...(parent === undefined ? {} : { parent }),
471
+ resolved: manifest,
472
+ });
473
+ if (RuntimeFilesystem_1.RuntimeFilesystem.isFile(manifest))
474
+ break;
475
+ const parentDirectory = node_path_1.default.dirname(directory);
476
+ if (parentDirectory === directory)
477
+ break;
478
+ }
479
+ }
480
+ function recordPluginDescriptorInput(record) {
481
+ appendPluginDescriptorInputs(observePluginDescriptorInput(record));
482
+ }
483
+ /**
484
+ * Observe one path and every symbolic link among its lexical ancestors, as the
485
+ * lines `appendPluginDescriptorInputs` reports, without reporting them yet.
486
+ */
487
+ function observePluginDescriptorInput(record) {
488
+ if (process.env.TTSC_PLUGIN_DESCRIPTOR_INPUTS_ACTIVE !== "1")
489
+ return [];
490
+ const lines = [];
491
+ const observe = (line) => {
492
+ if (line !== undefined)
493
+ lines.push(line);
494
+ else
495
+ PluginDescriptorInputObservation_1.PluginDescriptorInputObservation.invalidate();
496
+ };
497
+ observe(observePluginDescriptorInputOnce(record));
498
+ const resolved = node_path_1.default.resolve(record.resolved);
499
+ const parsed = node_path_1.default.parse(resolved);
500
+ let current = parsed.root;
501
+ const relative = node_path_1.default.relative(parsed.root, resolved);
502
+ for (const segment of relative.split(node_path_1.default.sep).slice(0, -1)) {
503
+ if (segment === "")
504
+ continue;
505
+ current = node_path_1.default.join(current, segment);
506
+ try {
507
+ if (node_fs_1.default.lstatSync(current).isSymbolicLink()) {
508
+ observe(observePluginDescriptorInputOnce({ resolved: current }));
509
+ }
510
+ }
511
+ catch {
512
+ break;
513
+ }
514
+ }
515
+ return lines;
516
+ }
517
+ /** Report observed lines to the parent loader, in the order given. */
518
+ function appendPluginDescriptorInputs(lines) {
519
+ if (lines.length === 0)
520
+ return;
521
+ if (process.env.TTSC_PLUGIN_DESCRIPTOR_INPUTS_ACTIVE !== "1")
522
+ return;
523
+ PluginDescriptorInputObservation_1.PluginDescriptorInputObservation.record(lines);
524
+ const out = process.env.TTSC_PLUGIN_DESCRIPTOR_INPUTS_OUT;
525
+ if (out === undefined || out.length === 0) {
526
+ PluginDescriptorInputObservation_1.PluginDescriptorInputObservation.invalidate();
527
+ return;
528
+ }
529
+ try {
530
+ node_fs_1.default.appendFileSync(out, lines.join(""), "utf8");
531
+ }
532
+ catch {
533
+ PluginDescriptorInputObservation_1.PluginDescriptorInputObservation.invalidate();
534
+ }
535
+ }
536
+ /** Observe one path without recursively revisiting its lexical ancestors. */
537
+ function observePluginDescriptorInputOnce(record) {
538
+ try {
539
+ const beforeSignature = pluginDescriptorInputMetadataSignature(record.resolved);
540
+ const observedHash = pluginDescriptorInputHash(record.resolved);
541
+ const observedRealpath = pluginDescriptorInputRealpath(record.resolved);
542
+ const afterSignature = pluginDescriptorInputMetadataSignature(record.resolved);
543
+ const unstable = record.unstable === true ||
544
+ beforeSignature === undefined ||
545
+ afterSignature === undefined ||
546
+ beforeSignature !== afterSignature ||
547
+ (record.hash !== undefined && record.hash !== observedHash) ||
548
+ (record.realpath !== undefined && record.realpath !== observedRealpath) ||
549
+ (record.signature !== undefined && record.signature !== afterSignature);
550
+ return `${JSON.stringify({
551
+ ...record,
552
+ hash: observedHash,
553
+ realpath: observedRealpath,
554
+ ...(unstable ? { unstable: true } : { signature: afterSignature }),
555
+ })}\n`;
556
+ }
557
+ catch {
558
+ // Dependency reporting is advisory to cache reuse; the selected entry is
559
+ // still retained by the parent if this side channel cannot observe it.
560
+ return undefined;
561
+ }
562
+ }
563
+ function pluginDescriptorInputRealpath(file) {
564
+ try {
565
+ return node_fs_1.default.realpathSync.native(file);
566
+ }
567
+ catch {
568
+ return null;
569
+ }
570
+ }
571
+ /** Metadata identity that exposes content-preserving A-B-A replacement. */
572
+ function pluginDescriptorInputMetadataSignature(file) {
573
+ const requested = node_path_1.default.resolve(file);
574
+ let current = requested;
575
+ for (;;) {
576
+ try {
577
+ const link = node_fs_1.default.lstatSync(current, { bigint: true });
578
+ let target = link;
579
+ if (link.isSymbolicLink()) {
580
+ try {
581
+ target = node_fs_1.default.statSync(current, { bigint: true });
582
+ }
583
+ catch {
584
+ // A broken link's own metadata cannot expose its target appearing
585
+ // and disappearing during evaluation. Decline cache proof instead.
586
+ return undefined;
587
+ }
588
+ }
589
+ return [
590
+ node_path_1.default.relative(current, requested),
591
+ link.dev,
592
+ link.ino,
593
+ link.mode,
594
+ link.size,
595
+ link.mtimeNs,
596
+ link.ctimeNs,
597
+ target.dev,
598
+ target.ino,
599
+ target.mode,
600
+ target.size,
601
+ target.mtimeNs,
602
+ target.ctimeNs,
603
+ ].join(":");
604
+ }
605
+ catch (error) {
606
+ if (!RuntimeFilesystem_1.RuntimeFilesystem.isMissingPathError(error))
607
+ return undefined;
608
+ const parent = node_path_1.default.dirname(current);
609
+ if (parent === current)
610
+ return undefined;
611
+ current = parent;
612
+ }
613
+ }
614
+ }
615
+ function pluginDescriptorInputHash(file) {
616
+ try {
617
+ if (node_fs_1.default.statSync(file).isDirectory()) {
618
+ return pluginDescriptorDirectoryHash();
619
+ }
620
+ return node_crypto_1.default
621
+ .createHash("sha256")
622
+ .update(node_fs_1.default.readFileSync(file))
623
+ .digest("hex");
624
+ }
625
+ catch {
626
+ return null;
627
+ }
628
+ }
629
+ /** Stable public fingerprint for an existing directory candidate's kind. */
630
+ function pluginDescriptorDirectoryHash() {
631
+ return node_crypto_1.default
632
+ .createHash("sha256")
633
+ .update("ttsc:host-input:directory\0")
634
+ .digest("hex");
635
+ }
636
+ function runtimeFilePath(value) {
637
+ if (value === undefined)
638
+ return undefined;
639
+ if (value.startsWith("file:")) {
640
+ try {
641
+ return node_path_1.default.resolve((0, node_url_1.fileURLToPath)(value));
642
+ }
643
+ catch {
644
+ return undefined;
645
+ }
646
+ }
647
+ return node_path_1.default.isAbsolute(value) ? node_path_1.default.resolve(value) : undefined;
648
+ }
649
+ /**
650
+ * Record what a resolution that did not go through `require()` means for how a
651
+ * CommonJS module it reaches is handed to Node: the process entry, or a module
652
+ * a narrow `require` asked for ({@link narrowRequestedUrls}).
653
+ */
654
+ function rememberCommonJsImportRole(url, context) {
655
+ if (hasCondition(context, "require"))
656
+ return;
657
+ if (context.parentURL === undefined)
658
+ esmEntryUrls.add(url);
659
+ else if (narrowRequireUrls.has(context.parentURL))
660
+ narrowRequestedUrls.add(url);
661
+ }
662
+ /** Remember an ESM root until its synchronous load hook prepares the project. */
663
+ function rememberRuntimeEntry(result, context) {
664
+ if (result.url.startsWith("file:") &&
665
+ isTypeScriptSource((0, node_url_1.fileURLToPath)(result.url)) &&
666
+ (context.parentURL === undefined ||
667
+ !context.parentURL.startsWith("file:") ||
668
+ !isTypeScriptSource((0, node_url_1.fileURLToPath)(context.parentURL)))) {
669
+ runtimeEntryUrls.add(result.url);
670
+ }
671
+ return result;
672
+ }
673
+ const builtProjects = new Map();
674
+ const commonJsNameScanSources = new Map();
675
+ function load(url, context, nextLoad) {
676
+ const moduleApi = CommonJsRuntimeSource_1.CommonJsRuntimeSource.moduleSource();
677
+ if (url === moduleApi.url)
678
+ return { shortCircuit: true, format: "module", source: moduleApi.source };
679
+ // Preserve Node's file-entry evaluation without facade/export-name scans of
680
+ // the owned bootstrap or observations of its temporary path and manifests.
681
+ if (isDescriptorEvaluatorBootstrap(url))
682
+ return nextLoad(url, context);
683
+ if (!url.startsWith("file:")) {
684
+ return nextLoad(url, context);
685
+ }
686
+ const filename = (0, node_url_1.fileURLToPath)(url);
687
+ if (!isTypeScriptSource(filename)) {
688
+ return loadJavaScript(url, filename, context, nextLoad);
689
+ }
690
+ const served = resolveServedSource(filename, url, runtimeEntryUrls.delete(url) || isProcessEntry(filename));
691
+ const format = RuntimeModuleFormat_1.RuntimeModuleFormat.moduleFormat(filename, served.moduleOptions);
692
+ // An ESM import of a CommonJS source gets the facade, which loads the module
693
+ // through the CommonJS loader, through the selected public CommonJS load boundary
694
+ // (`commonJsImportFacade`); entry predicates can instead admit served source.
695
+ if (format === "commonjs" && !hasCondition(context, "require")) {
696
+ if (servesCommonJsFromSource(url)) {
697
+ E2ETrace_1.E2ETrace.runtimePreparation(served.source, filename, format, "ttsx-commonjs-source-import", {
698
+ emittedFile: served.emittedFile,
699
+ moduleOptions: served.moduleOptions,
700
+ sourceFile: served.sourceFile,
701
+ selectedTsconfig: served.selectedTsconfig,
702
+ buildScope: served.buildScope,
703
+ });
704
+ return {
705
+ format,
706
+ shortCircuit: true,
707
+ source: CommonJsRuntimeSource_1.CommonJsRuntimeSource.prepare(served.source, filename),
708
+ };
709
+ }
710
+ return {
711
+ format: "module",
712
+ shortCircuit: true,
713
+ source: (0, commonJsImportFacade_1.commonJsImportFacade)(url, filename, runtimeCommonJsExportNames(served.sourceFile ?? filename, served.source), RuntimeLoaderCapabilities_1.RuntimeLoaderCapabilities.commonJsNamespaceCarriesModuleExports()),
714
+ };
715
+ }
716
+ if (format === "commonjs")
717
+ E2ETrace_1.E2ETrace.runtimePreparation(served.source, filename, format, "ttsx-commonjs-source-load", {
718
+ emittedFile: served.emittedFile,
719
+ moduleOptions: served.moduleOptions,
720
+ sourceFile: served.sourceFile,
721
+ selectedTsconfig: served.selectedTsconfig,
722
+ buildScope: served.buildScope,
723
+ });
724
+ else if (process.env.TTSC_E2E_TRACE)
725
+ E2ETrace_1.E2ETrace.runtimePreparation(served.source, filename, format, "ttsx-esm-source-load", {
726
+ emittedFile: served.emittedFile,
727
+ moduleOptions: served.moduleOptions,
728
+ sourceFile: served.sourceFile,
729
+ selectedTsconfig: served.selectedTsconfig,
730
+ buildScope: served.buildScope,
731
+ });
732
+ return {
733
+ format,
734
+ shortCircuit: true,
735
+ source: format === "commonjs"
736
+ ? CommonJsRuntimeSource_1.CommonJsRuntimeSource.prepare(served.source, filename)
737
+ : served.source,
738
+ };
739
+ }
740
+ /**
741
+ * Load a JavaScript module, handing a CommonJS one an ESM import reaches to the
742
+ * CommonJS loader through the facade where Node would otherwise evaluate it
743
+ * with its narrower `require`. A runtime that gives a hook-served CommonJS
744
+ * module that `require` gives it to every CommonJS module an import reaches
745
+ * once any load hook exists, so without the facade such a module had no
746
+ * `require.cache`, `require.extensions` or `require.resolve.paths`, and could
747
+ * not `require()` a TypeScript source.
748
+ */
749
+ function loadJavaScript(url, filename, context, nextLoad) {
750
+ const loaded = nextLoad(url, context);
751
+ if (loaded.format !== "commonjs")
752
+ return loaded;
753
+ const source = typeof loaded.source === "string"
754
+ ? loaded.source
755
+ : loaded.source !== undefined && loaded.source !== null
756
+ ? Buffer.from(loaded.source).toString("utf8")
757
+ : readFileOrNull(filename);
758
+ if (source === null)
759
+ return loaded;
760
+ if (hasCondition(context, "require") ||
761
+ RuntimeLoaderCapabilities_1.RuntimeLoaderCapabilities.hookedCommonJsImportKeepsRequire() ||
762
+ servesCommonJsFromSource(url)) {
763
+ const preparedSource = (0, inlineServedSourceMap_1.inlineServedSourceMap)(source, filename, filename);
764
+ E2ETrace_1.E2ETrace.runtimePreparation(preparedSource, filename, loaded.format, "ttsx-commonjs-javascript-load");
765
+ return {
766
+ ...loaded,
767
+ shortCircuit: true,
768
+ source: CommonJsRuntimeSource_1.CommonJsRuntimeSource.prepare(preparedSource, filename),
769
+ };
770
+ }
771
+ return {
772
+ format: "module",
773
+ shortCircuit: true,
774
+ source: (0, commonJsImportFacade_1.commonJsImportFacade)(url, filename, runtimeCommonJsExportNames(filename, source), RuntimeLoaderCapabilities_1.RuntimeLoaderCapabilities.commonJsNamespaceCarriesModuleExports()),
775
+ };
776
+ }
777
+ /**
778
+ * Whether a CommonJS module an ESM import reached is handed to Node with its
779
+ * source rather than as the facade: the process entry, which Node then loads as
780
+ * the main module, and a module a narrow `require` asked for. Where the source
781
+ * gets Node's narrower `require`, the module is recorded, so a CommonJS module
782
+ * it asks for is handed over the same way.
783
+ */
784
+ function servesCommonJsFromSource(url) {
785
+ if (!esmEntryUrls.has(url) && !narrowRequestedUrls.has(url))
786
+ return false;
787
+ if (!RuntimeLoaderCapabilities_1.RuntimeLoaderCapabilities.hookedCommonJsImportKeepsRequire())
788
+ narrowRequireUrls.add(url);
789
+ return true;
790
+ }
791
+ /** Scan both facade lanes from source paths using their actual require policy. */
792
+ function runtimeCommonJsExportNames(filename, source) {
793
+ return (0, commonJsExportNames_1.commonJsExportNames)(source, filename, (target) => isTypeScriptSource(target)
794
+ ? emitCommonJsForNameScan(target)
795
+ : readFileOrNull(target), (parent, specifier) => {
796
+ const native = (0, node_module_1.createRequire)(parent).resolve;
797
+ return resolveCommonJsRequest(native, specifier, undefined, parent);
798
+ });
799
+ }
800
+ /**
801
+ * Whether a hook context carries `condition`. The conditions arrive as an array
802
+ * on some releases and as a set on others.
803
+ */
804
+ function hasCondition(context, condition) {
805
+ for (const entry of context.conditions ?? [])
806
+ if (entry === condition)
807
+ return true;
808
+ return false;
809
+ }
810
+ /**
811
+ * Identify only the direct evaluator's generated CommonJS output sibling. The
812
+ * parent supplies an absolute output under a canonical private directory; URL
813
+ * conversion and native path resolution preserve that exact spelling. No
814
+ * directory-wide exclusion or user preload/descriptor path is selected. This
815
+ * comparison performs no filesystem read and retains no additional state.
816
+ */
817
+ function isDescriptorEvaluatorBootstrap(value) {
818
+ const out = process.env.TTSC_PLUGIN_DESCRIPTOR_OUT;
819
+ return (process.env.TTSC_PLUGIN_DESCRIPTOR_LOAD === "1" &&
820
+ out !== undefined &&
821
+ node_path_1.default.isAbsolute(out) &&
822
+ runtimeFilePath(value) === node_path_1.default.resolve(`${out}.cjs`));
823
+ }
824
+ /** Whether `filename` is the TypeScript main module named on Node's argv. */
825
+ function isProcessEntry(filename) {
826
+ const entry = process.argv[1];
827
+ return (entry !== undefined &&
828
+ isTypeScriptSource(entry) &&
829
+ (0, realPath_1.realPath)(node_path_1.default.resolve(entry)) === (0, realPath_1.realPath)(filename));
830
+ }
831
+ /**
832
+ * Read one owning config while its discovered chain stays unchanged.
833
+ *
834
+ * A preliminary read discovers `extends`; an accepted read is bracketed by
835
+ * equal fingerprints over that exact chain. If churn never settles, ttsx can
836
+ * still execute the last project but reports every observed config as unstable,
837
+ * preventing a later snapshot from certifying the torn result.
838
+ */
839
+ function readPluginDescriptorProjectConfig(tsconfig) {
840
+ const read = () => (0, readProjectConfig_1.readProjectConfig)({ cwd: node_path_1.default.dirname(tsconfig), tsconfig });
841
+ if (process.env.TTSC_PLUGIN_DESCRIPTOR_INPUTS_ACTIVE !== "1")
842
+ return read();
843
+ const observed = new Set([node_path_1.default.resolve(tsconfig)]);
844
+ let project;
845
+ try {
846
+ project = read();
847
+ }
848
+ catch (error) {
849
+ recordPluginDescriptorProjectInputs(observed, true);
850
+ throw error;
851
+ }
852
+ if (!project.configInputsComplete)
853
+ PluginDescriptorInputObservation_1.PluginDescriptorInputObservation.invalidate();
854
+ let inputs = normalizedProjectConfigPaths(project, tsconfig);
855
+ for (let attempt = 0; attempt < 3; attempt += 1) {
856
+ for (const input of inputs)
857
+ observed.add(input);
858
+ const before = pluginDescriptorInputHashes(inputs);
859
+ const beforeRealpaths = pluginDescriptorInputRealpaths(inputs);
860
+ const beforeSignatures = pluginDescriptorInputMetadataSignatures(inputs);
861
+ let candidate;
862
+ try {
863
+ candidate = read();
864
+ }
865
+ catch (error) {
866
+ recordPluginDescriptorProjectInputs(observed, true);
867
+ throw error;
868
+ }
869
+ if (!candidate.configInputsComplete)
870
+ PluginDescriptorInputObservation_1.PluginDescriptorInputObservation.invalidate();
871
+ const candidateInputs = normalizedProjectConfigPaths(candidate, tsconfig);
872
+ for (const input of candidateInputs)
873
+ observed.add(input);
874
+ const after = pluginDescriptorInputHashes(candidateInputs);
875
+ const afterRealpaths = pluginDescriptorInputRealpaths(candidateInputs);
876
+ const afterSignatures = pluginDescriptorInputMetadataSignatures(candidateInputs);
877
+ if (equalPluginDescriptorInputLists(inputs, candidateInputs) &&
878
+ equalPluginDescriptorInputHashes(before, after) &&
879
+ equalPluginDescriptorInputHashes(beforeRealpaths, afterRealpaths) &&
880
+ beforeSignatures !== undefined &&
881
+ afterSignatures !== undefined &&
882
+ equalPluginDescriptorInputHashes(beforeSignatures, afterSignatures)) {
883
+ for (const input of candidateInputs) {
884
+ recordPluginDescriptorInput({
885
+ hash: after[input],
886
+ realpath: afterRealpaths[input],
887
+ resolved: input,
888
+ signature: afterSignatures[input],
889
+ });
890
+ }
891
+ return candidate;
892
+ }
893
+ project = candidate;
894
+ inputs = candidateInputs;
895
+ }
896
+ recordPluginDescriptorProjectInputs(observed, true);
897
+ return project;
898
+ }
899
+ function normalizedProjectConfigPaths(project, requestedConfig) {
900
+ return [
901
+ ...new Set([
902
+ requestedConfig,
903
+ ...project.configPaths,
904
+ ...(project.configInputs ?? []),
905
+ ].map((file) => node_path_1.default.resolve(file))),
906
+ ].sort();
907
+ }
908
+ function pluginDescriptorInputHashes(inputs) {
909
+ return Object.fromEntries(inputs.map((input) => [input, pluginDescriptorInputHash(input)]));
910
+ }
911
+ function pluginDescriptorInputRealpaths(inputs) {
912
+ return Object.fromEntries(inputs.map((input) => [input, pluginDescriptorInputRealpath(input)]));
913
+ }
914
+ function pluginDescriptorInputMetadataSignatures(inputs) {
915
+ const output = {};
916
+ for (const input of inputs) {
917
+ const signature = pluginDescriptorInputMetadataSignature(input);
918
+ if (signature === undefined)
919
+ return undefined;
920
+ output[node_path_1.default.resolve(input)] = signature;
921
+ }
922
+ return output;
923
+ }
924
+ function equalPluginDescriptorInputLists(first, second) {
925
+ return (first.length === second.length &&
926
+ first.every((input, index) => input === second[index]));
927
+ }
928
+ function equalPluginDescriptorInputHashes(first, second) {
929
+ return (Object.keys(first).length === Object.keys(second).length &&
930
+ Object.entries(first).every(([input, hash]) => second[input] === hash));
931
+ }
932
+ function recordPluginDescriptorProjectInputs(inputs, unstable = false) {
933
+ for (const input of inputs) {
934
+ const resolved = node_path_1.default.resolve(input);
935
+ recordPluginDescriptorInput({
936
+ resolved,
937
+ ...(unstable ? { unstable: true } : {}),
938
+ });
939
+ }
940
+ }
941
+ /**
942
+ * Resolve the JavaScript to run for a TypeScript source file. Shared by the ESM
943
+ * `load` hook and the CommonJS `require` handler.
944
+ *
945
+ * A file runs only from JavaScript a build provably compiled from that very
946
+ * file, never from another file's output that shares its name. The lanes, in
947
+ * order:
948
+ *
949
+ * 1. A checked entry build that compiled it (`ttsx`'s entry project, or a root
950
+ * `ttsc/register` prepared).
951
+ * 2. At a JavaScript-to-TypeScript boundary under `ttsc/register`, a newly
952
+ * prepared checked root.
953
+ * 3. The build of its nearest `tsconfig.json`, when that build compiled it, or
954
+ * else the file compiled alone through that project's options — see
955
+ * {@link serveProjectEmit}.
956
+ * 4. An isolated emit, when no tsconfig owns it at all.
957
+ */
958
+ function resolveServedSource(filename, url = (0, node_url_1.pathToFileURL)(filename).href, prepareAsEntry = false) {
959
+ const real = (0, realPath_1.realPath)(filename);
960
+ let served = serveEntryEmit(real);
961
+ if (served !== null) {
962
+ return withInlineSourceMap(served);
963
+ }
964
+ // Only the public preload can prepare a newly discovered root; direct ttsx
965
+ // prepared its one entry before the child started.
966
+ const prepareEntry = prepareAsEntry ? prepareRuntimeEntry : undefined;
967
+ if (prepareEntry !== undefined) {
968
+ RuntimeManifestRegistry_1.RuntimeManifestRegistry.registerManifest(prepareEntry(real));
969
+ served = serveEntryEmit(real);
970
+ if (served === null) {
971
+ throw new Error(`ttsx: prepared entry emit not found for ${filename}`);
972
+ }
973
+ return withInlineSourceMap(served);
974
+ }
975
+ const built = serveProjectEmit(real);
976
+ if (built !== null) {
977
+ return withInlineSourceMap(built);
978
+ }
979
+ return {
980
+ moduleOptions: null,
981
+ sourceFile: filename,
982
+ source: transformOrphanSource(filename, url),
983
+ };
984
+ }
985
+ /**
986
+ * Inline a served emit's external source map into its text and absolutize the
987
+ * map's `sources`, so the JavaScript executed under the `.ts` source URL stays
988
+ * self-describing after the per-run emit directory is deleted. Applied to both
989
+ * the entry lane (`serveEntryEmit`) and the dependency lane
990
+ * (`serveBuiltDependency`); the orphan lane inlines its own map before
991
+ * caching.
992
+ */
993
+ function withInlineSourceMap(served) {
994
+ const source = (0, inlineServedSourceMap_1.inlineServedSourceMap)(served.source, served.emittedFile, served.sourceFile);
995
+ return source === served.source ? served : { ...served, source };
996
+ }
997
+ /**
998
+ * Transform a TypeScript source file that no tsconfig owns (a published or
999
+ * vendored package that ships raw `.ts`/`.cts`/`.mts` straight under
1000
+ * `node_modules`), choosing the lowering by the format the file resolves to.
1001
+ *
1002
+ * Both module formats need the compiler: Node's type stripping neither lowers
1003
+ * standard decorators nor rewrites ESM exports for CommonJS. Use the existing
1004
+ * single-file emit with the file's own module format and a standard target.
1005
+ * Retain stripping as recovery when no compiler emit is available.
1006
+ */
1007
+ function transformOrphanSource(filename, url) {
1008
+ const format = RuntimeModuleFormat_1.RuntimeModuleFormat.moduleFormat(filename, null) === "commonjs"
1009
+ ? "commonjs"
1010
+ : "module";
1011
+ const lowered = emitOrphanSource(filename, format);
1012
+ if (lowered !== null) {
1013
+ return lowered;
1014
+ }
1015
+ return (0, node_module_1.stripTypeScriptTypes)(node_fs_1.default.readFileSync(filename, "utf8"), {
1016
+ mode: "transform",
1017
+ sourceUrl: url,
1018
+ });
1019
+ }
1020
+ /**
1021
+ * Lower a single source file to its runtime module format. Emit-only, no
1022
+ * diagnostic gate (the entry project's up-front check is the type gate),
1023
+ * matching `buildDependency`. Returns `null` when tsgo is unavailable or
1024
+ * produced no output, so the caller can fall back to the in-process strip.
1025
+ */
1026
+ function emitOrphanSource(filename, format) {
1027
+ let tsgo;
1028
+ try {
1029
+ tsgo = (0, resolveTsgo_1.resolveTsgo)({ cwd: node_path_1.default.dirname(filename) }).binary;
1030
+ }
1031
+ catch {
1032
+ return null;
1033
+ }
1034
+ // Content-hash cache: an orphan's tsgo single-file emit is lowered
1035
+ // once and reused by every other process in the run, and across runs. Without
1036
+ // it a program that fans out into many processes (the automated test corpus
1037
+ // imports the same vendored `.ts` deps from thousands of generated files) would
1038
+ // re-spawn tsgo per file per process and crawl.
1039
+ const cache = orphanCacheFile(filename, tsgo, format);
1040
+ if (cache !== null) {
1041
+ const hit = readFileOrNull(cache.file);
1042
+ if (hit !== null) {
1043
+ (0, recordCacheFileUse_1.recordCacheFileUse)(cache.file);
1044
+ return hit;
1045
+ }
1046
+ }
1047
+ const outDir = (0, createCanonicalTempDirectory_1.createCanonicalTempDirectory)("ttsx-orphan-");
1048
+ try {
1049
+ (0, spawnNative_1.spawnNative)(tsgo, RuntimeIsolatedEmit_1.RuntimeIsolatedEmit.compilerArgs(filename, outDir, format, "execution"),
1050
+ // The emit names its input by absolute path and reads no config, so it
1051
+ // runs from its own output directory rather than from a dependency's,
1052
+ // which below `node_modules` can pass Windows' MAX_PATH for a working
1053
+ // directory.
1054
+ { cwd: outDir, encoding: "utf8" });
1055
+ const emitted = isolatedEmitOf(filename, outDir);
1056
+ const source = emitted === null ? null : readFileOrNull(emitted);
1057
+ const lowered = source === null
1058
+ ? null
1059
+ : (0, inlineServedSourceMap_1.inlineServedSourceMap)(source, emitted, filename);
1060
+ // The key names the bytes read for it and the compiler it was taken under,
1061
+ // and the emit read the file and ran the compiler again. Only a source that
1062
+ // held still across both reads, lowered by a compiler that is still the
1063
+ // keyed one, is what the key names; otherwise the lowering serves this run
1064
+ // and is not recorded.
1065
+ if (lowered !== null && cache !== null) {
1066
+ const sourceHeld = orphanSourceHeld(filename, cache);
1067
+ const currentCompiler = sourceHeld ? compilerIdentity(tsgo) : undefined;
1068
+ if (sourceHeld && currentCompiler === cache.compiler)
1069
+ writeOrphanCache(cache.file, lowered);
1070
+ E2ETrace_1.E2ETrace.runtimePreparation("", filename, format, "orphan-cache-admission", {
1071
+ moduleOptions: null,
1072
+ emittedFile: emitted ?? undefined,
1073
+ orphanCache: {
1074
+ file: cache.file,
1075
+ sourceHeld,
1076
+ expectedCompiler: cache.compiler,
1077
+ currentCompiler,
1078
+ },
1079
+ });
1080
+ }
1081
+ else {
1082
+ E2ETrace_1.E2ETrace.runtimePreparation("", filename, format, "orphan-cache-unavailable", {
1083
+ moduleOptions: null,
1084
+ emittedFile: emitted ?? undefined,
1085
+ orphanCache: {
1086
+ lowered: lowered !== null,
1087
+ cacheKeyAvailable: cache !== null,
1088
+ },
1089
+ });
1090
+ }
1091
+ return lowered;
1092
+ }
1093
+ catch (error) {
1094
+ if (error instanceof RuntimeEmitOwnershipError)
1095
+ throw error;
1096
+ return null;
1097
+ }
1098
+ finally {
1099
+ node_fs_1.default.rmSync(outDir, { force: true, recursive: true });
1100
+ }
1101
+ }
1102
+ /**
1103
+ * Read actual owned output for CommonJS export-name discovery, falling back to
1104
+ * isolated emission only when no project emitted this source. Project
1105
+ * transforms and const-enum settings decide which names exist at runtime. An
1106
+ * ESM emit is lowered as JavaScript solely to scan its CommonJS names.
1107
+ *
1108
+ * This intentionally does not read or write the runtime orphan cache. Name
1109
+ * discovery may inspect a source dependency without executing it, so sharing
1110
+ * that output with the runtime fallback would let a speculative scan affect a
1111
+ * later load path.
1112
+ */
1113
+ function emitCommonJsForNameScan(filename) {
1114
+ const real = (0, realPath_1.realPath)(filename);
1115
+ const cached = commonJsNameScanSources.get(real);
1116
+ if (cached !== undefined) {
1117
+ return cached;
1118
+ }
1119
+ // The owned lanes can fail loudly: a root the program reaches outside every
1120
+ // checked build stops the run when its check fails. A name scan only looks
1121
+ // ahead of that load, so it falls back to the isolated emit and leaves the
1122
+ // load itself to report the failure where it happens.
1123
+ let served;
1124
+ try {
1125
+ served = serveEntryEmit(real) ?? serveProjectEmit(real);
1126
+ }
1127
+ catch {
1128
+ served = null;
1129
+ }
1130
+ if (served !== null &&
1131
+ RuntimeModuleFormat_1.RuntimeModuleFormat.moduleFormat(real, served.moduleOptions) === "commonjs") {
1132
+ commonJsNameScanSources.set(real, served.source);
1133
+ return served.source;
1134
+ }
1135
+ let tsgo;
1136
+ try {
1137
+ tsgo = (0, resolveTsgo_1.resolveTsgo)({ cwd: node_path_1.default.dirname(real) }).binary;
1138
+ }
1139
+ catch {
1140
+ commonJsNameScanSources.set(real, null);
1141
+ return null;
1142
+ }
1143
+ const outDir = (0, createCanonicalTempDirectory_1.createCanonicalTempDirectory)("ttsx-export-scan-");
1144
+ try {
1145
+ // Compile the owned JavaScript, not the original TypeScript whose project
1146
+ // may already have erased or transformed declarations. No source executes.
1147
+ const input = served === null ? real : node_path_1.default.join(outDir, "source.cts");
1148
+ if (served !== null)
1149
+ node_fs_1.default.writeFileSync(input, served.source);
1150
+ (0, spawnNative_1.spawnNative)(tsgo, RuntimeIsolatedEmit_1.RuntimeIsolatedEmit.compilerArgs(input, outDir, "commonjs", "export-scan"), { cwd: outDir, encoding: "utf8" });
1151
+ const emitted = isolatedEmitOf(input, outDir);
1152
+ const lowered = emitted === null ? null : readFileOrNull(emitted);
1153
+ commonJsNameScanSources.set(real, lowered);
1154
+ return lowered;
1155
+ }
1156
+ catch (error) {
1157
+ if (error instanceof RuntimeEmitOwnershipError)
1158
+ throw error;
1159
+ commonJsNameScanSources.set(real, null);
1160
+ return null;
1161
+ }
1162
+ finally {
1163
+ node_fs_1.default.rmSync(outDir, { force: true, recursive: true });
1164
+ }
1165
+ }
1166
+ /**
1167
+ * Cache root for lowered orphan sources.
1168
+ *
1169
+ * A run prepared by ttsx or `ttsc/register` names it in its manifest, under the
1170
+ * run's resolved cache root (`--cache-dir`, `TTSC_CACHE_DIR`, or the default
1171
+ * project-local root), where it outlives the run and is collected and cleaned
1172
+ * with the rest of that root. A runtime without a manifest has no cache root to
1173
+ * name, so its lowerings go where its dependency builds go
1174
+ * (`dependencyCacheRoot`), which is removed with the evaluation or the process
1175
+ * that made them.
1176
+ */
1177
+ function orphanCacheRoot() {
1178
+ const owner = RuntimeManifestRegistry_1.RuntimeManifestRegistry.runtimeManifests().find((candidate) => typeof candidate.orphanCacheDir === "string" &&
1179
+ candidate.orphanCacheDir.length !== 0);
1180
+ return owner !== undefined
1181
+ ? owner.orphanCacheDir
1182
+ : node_path_1.default.join((0, dependencyCacheRoot_1.dependencyCacheRoot)(), "orphan");
1183
+ }
1184
+ /**
1185
+ * Content-proven identity of the compiler executable. Unreadable or unstable
1186
+ * executable bytes produce a new nonce, so no previous generation can answer
1187
+ * for an executable whose identity could not be established.
1188
+ *
1189
+ * Read afresh at every use, never remembered by path: a long-lived process can
1190
+ * lower orphans before and after the compiler at that path is replaced, and an
1191
+ * entry lowered by the new one must not be recorded under the old one's key for
1192
+ * a later process to adopt.
1193
+ */
1194
+ function compilerIdentity(binary) {
1195
+ return (0, runtimeExecutableIdentity_1.runtimeExecutableIdentity)(binary) ?? node_crypto_1.default.randomUUID();
1196
+ }
1197
+ /** The version of this ttsc package, which owns the orphan post-processing. */
1198
+ function ownPackageVersion() {
1199
+ if (ownPackageVersionCache === undefined) {
1200
+ try {
1201
+ const manifest = JSON.parse(node_fs_1.default.readFileSync(node_path_1.default.resolve(__dirname, "..", "..", "..", "..", "package.json"), "utf8"));
1202
+ ownPackageVersionCache =
1203
+ typeof manifest.version === "string" ? manifest.version : "unknown";
1204
+ }
1205
+ catch {
1206
+ ownPackageVersionCache = "unknown";
1207
+ }
1208
+ }
1209
+ return ownPackageVersionCache;
1210
+ }
1211
+ let ownPackageVersionCache;
1212
+ /**
1213
+ * Content-addressed cache path for isolated orphan lowering, or `null` when the
1214
+ * source cannot be read.
1215
+ *
1216
+ * The cache outlives the run in its cache root, so a hit has to prove the
1217
+ * current inputs would produce the cached text. The key holds everything that
1218
+ * decides it: the source's bytes and path (the inlined map names the path), the
1219
+ * module format, the emit arguments, the compiler that lowers it, and the ttsc
1220
+ * that post-processes it. The compiler is keyed by what it is, not where it is:
1221
+ * a flat `node_modules` upgrade replaces the binary at the same path, and a key
1222
+ * of the path alone kept serving the old compiler's output.
1223
+ *
1224
+ * The source is read here, and the emit reads it again. The answer carries the
1225
+ * bytes and the file's metadata before they were read, so `orphanSourceHeld`
1226
+ * can prove the emit read the same source.
1227
+ */
1228
+ function orphanCacheFile(filename, tsgo, format) {
1229
+ const signature = orphanSourceSignature(filename);
1230
+ if (signature === undefined)
1231
+ return null;
1232
+ let source;
1233
+ try {
1234
+ source = node_fs_1.default.readFileSync(filename);
1235
+ }
1236
+ catch {
1237
+ return null;
1238
+ }
1239
+ const compiler = compilerIdentity(tsgo);
1240
+ const key = node_crypto_1.default
1241
+ .createHash("sha256")
1242
+ .update(compiler)
1243
+ .update(`\0ttsc@${ownPackageVersion()}`)
1244
+ // The emit policy decides the lowering, so it is part of the key: a cache
1245
+ // filled under an earlier policy must not answer for the current one.
1246
+ .update(`\0${RuntimeIsolatedEmit_1.RuntimeIsolatedEmit.policyKey()}`)
1247
+ .update("\0isolated-source-map-v1\0")
1248
+ .update(filename)
1249
+ .update("\0" + format)
1250
+ .update("\0")
1251
+ .update(source)
1252
+ .digest("hex")
1253
+ .slice(0, 32);
1254
+ return {
1255
+ compiler,
1256
+ file: node_path_1.default.join(orphanCacheRoot(), `${key}.js`),
1257
+ signature,
1258
+ source,
1259
+ };
1260
+ }
1261
+ /**
1262
+ * Whether an orphan source held still from the read that keyed its cache entry
1263
+ * through the emit that lowered it: the same bytes, and the same metadata,
1264
+ * whose change time moves with every write even when the bytes return to what
1265
+ * they were.
1266
+ */
1267
+ function orphanSourceHeld(filename, cache) {
1268
+ if (orphanSourceSignature(filename) !== cache.signature)
1269
+ return false;
1270
+ try {
1271
+ return node_fs_1.default.readFileSync(filename).equals(cache.source);
1272
+ }
1273
+ catch {
1274
+ return false;
1275
+ }
1276
+ }
1277
+ /** The metadata identity of an orphan source, or `undefined` when unreadable. */
1278
+ function orphanSourceSignature(filename) {
1279
+ try {
1280
+ const stat = node_fs_1.default.statSync(filename, { bigint: true });
1281
+ return [stat.dev, stat.ino, stat.size, stat.mtimeNs, stat.ctimeNs].join(":");
1282
+ }
1283
+ catch {
1284
+ return undefined;
1285
+ }
1286
+ }
1287
+ /**
1288
+ * Write the lowered source to its cache path atomically (temp + rename), so a
1289
+ * concurrent reader never sees a half-written file. Best-effort: a failure just
1290
+ * means the next process re-lowers.
1291
+ */
1292
+ function writeOrphanCache(cacheFile, lowered) {
1293
+ const tmp = `${cacheFile}.${process.pid}.${node_crypto_1.default.randomUUID()}.tmp`;
1294
+ try {
1295
+ node_fs_1.default.mkdirSync(node_path_1.default.dirname(cacheFile), { recursive: true });
1296
+ node_fs_1.default.writeFileSync(tmp, lowered);
1297
+ node_fs_1.default.renameSync(tmp, cacheFile);
1298
+ }
1299
+ catch (error) {
1300
+ E2ETrace_1.E2ETrace.runtimePreparation("", cacheFile, "unconsumed", "orphan-cache-write-failed", {
1301
+ moduleOptions: null,
1302
+ orphanCache: { file: cacheFile, error: String(error) },
1303
+ });
1304
+ // ignore — caching is an optimization, correctness does not depend on it
1305
+ }
1306
+ finally {
1307
+ try {
1308
+ node_fs_1.default.rmSync(tmp, { force: true });
1309
+ }
1310
+ catch {
1311
+ // Cache admission remains optional when the filesystem denies cleanup.
1312
+ }
1313
+ }
1314
+ }
1315
+ /**
1316
+ * The JavaScript an isolated single-file emit wrote for `input`, or `null`.
1317
+ *
1318
+ * Both callers pass exactly one positional source with ignoreConfig, noResolve
1319
+ * and isolatedModules to a compiler without plugin injection. Their freshly
1320
+ * acquired private directory contains no earlier JavaScript. The actual
1321
+ * completed output population therefore belongs to that source, independently
1322
+ * of filename or extension priority. A declaration-only input may emit none;
1323
+ * multiple executable outputs contradict this protocol and are an error.
1324
+ */
1325
+ function isolatedEmitOf(input, outDir) {
1326
+ const outputs = EmitOwnershipIndex_1.EmitOwnershipIndex.listOutputs(outDir);
1327
+ if (outputs.length === 0)
1328
+ return null;
1329
+ if (outputs.length !== 1) {
1330
+ throw new RuntimeEmitOwnershipError(`ttsx: isolated emit of ${input} produced ${outputs.length} executable outputs; single-input ownership cannot be established`);
1331
+ }
1332
+ return node_path_1.default.resolve(outDir, outputs[0]);
1333
+ }
1334
+ /** A violated single-input emit authority cannot use the type-strip fallback. */
1335
+ class RuntimeEmitOwnershipError extends Error {
1336
+ }
1337
+ /**
1338
+ * Serve the JavaScript a checked entry build emitted from `real`, or `null`
1339
+ * when no such build compiled it.
1340
+ *
1341
+ * The answer comes from the builds' ownership indexes, never from a shared
1342
+ * name. Once a build is proven to own the file its output must be there, so an
1343
+ * unreadable one is an error naming both files rather than a reason to try the
1344
+ * next lane and run something else.
1345
+ */
1346
+ function serveEntryEmit(real) {
1347
+ const owner = RuntimeManifestRegistry_1.RuntimeManifestRegistry.findEntryEmit(real);
1348
+ if (owner === null) {
1349
+ return null;
1350
+ }
1351
+ return {
1352
+ emittedFile: owner.emittedFile,
1353
+ moduleOptions: owner.manifest.moduleOptions ?? {},
1354
+ source: readOwnedEmit(owner.emittedFile, real),
1355
+ sourceFile: real,
1356
+ };
1357
+ }
1358
+ /**
1359
+ * Serve `real` through the project that owns it, or `null` when no tsconfig
1360
+ * owns it. An empty project emit can leave this file outside its root set;
1361
+ * other project or root failures retain their original diagnostic instead of
1362
+ * silently discarding the project's compiler and plugin policy.
1363
+ *
1364
+ * The project is built once per run, honouring its own tsconfig (transform
1365
+ * plugins included), so a source-shipping package that needs a transform
1366
+ * behaves correctly at runtime. That build serves the file when it compiled it.
1367
+ * When it did not — the file sits outside the project's `include` or `files` —
1368
+ * the file is a root no build covered, and it is compiled alone through the
1369
+ * same project's options rather than handed another file's output or stripped
1370
+ * of them.
1371
+ *
1372
+ * Whether that root is type-checked follows who wrote it. A file of the user's
1373
+ * own tree is checked, the same gate `ttsc/register` applies to every root it
1374
+ * prepares, so a type error stops the run before the file executes. A file
1375
+ * inside an installed package is emit-only, like every other file of that
1376
+ * package the project build already serves.
1377
+ */
1378
+ function serveProjectEmit(real) {
1379
+ const operations = {
1380
+ owningTsconfig,
1381
+ ensureProjectBuilt,
1382
+ isEmptyProjectEmitError: (error) => error instanceof EmptyProjectEmitError,
1383
+ serve: serveBuiltDependency,
1384
+ ensureRootBuilt,
1385
+ };
1386
+ if (!process.env.TTSC_E2E_TRACE)
1387
+ return OwnedProjectSource_1.OwnedProjectSource.serve(real, operations);
1388
+ let selectedTsconfig;
1389
+ let buildScope;
1390
+ const served = OwnedProjectSource_1.OwnedProjectSource.serve(real, {
1391
+ ...operations,
1392
+ owningTsconfig(source) {
1393
+ const selected = owningTsconfig(source);
1394
+ selectedTsconfig = selected ?? undefined;
1395
+ return selected;
1396
+ },
1397
+ ensureProjectBuilt(config) {
1398
+ buildScope = "project";
1399
+ return ensureProjectBuilt(config);
1400
+ },
1401
+ ensureRootBuilt(config, source) {
1402
+ buildScope = "single-root";
1403
+ return ensureRootBuilt(config, source);
1404
+ },
1405
+ });
1406
+ return served === null ? null : { ...served, selectedTsconfig, buildScope };
1407
+ }
1408
+ function serveBuiltDependency(built, real) {
1409
+ const emitted = builtProjectIndex(built).find(real);
1410
+ if (emitted === null) {
1411
+ return null;
1412
+ }
1413
+ return {
1414
+ emittedFile: emitted,
1415
+ moduleOptions: built.moduleOptions,
1416
+ source: readOwnedEmit(emitted, real),
1417
+ sourceFile: real,
1418
+ };
1419
+ }
1420
+ /** The ownership index of one dependency or root build, created on first use. */
1421
+ function builtProjectIndex(built) {
1422
+ let index = builtProjectIndexes.get(built);
1423
+ if (index === undefined) {
1424
+ index = new EmitOwnershipIndex_1.EmitOwnershipIndex({
1425
+ emitDir: built.emitDir,
1426
+ outputs: built.outputs,
1427
+ emittedSources: built.emittedSources,
1428
+ emittedSourceProofFailures: built.emittedSourceProofFailures,
1429
+ rootDir: built.rootDir,
1430
+ });
1431
+ builtProjectIndexes.set(built, index);
1432
+ }
1433
+ return index;
1434
+ }
1435
+ const builtProjectIndexes = new WeakMap();
1436
+ /** Read an output a build is proven to have emitted from `source`. */
1437
+ function readOwnedEmit(emittedFile, source) {
1438
+ const text = readFileOrNull(emittedFile);
1439
+ if (text === null) {
1440
+ throw new Error(`ttsx: the JavaScript emitted for ${source} is missing: ${emittedFile}`);
1441
+ }
1442
+ return text;
1443
+ }
1444
+ /**
1445
+ * Compile one root its owning project's file set does not contain, once per run
1446
+ * for each content of the root, and share the result across every process of
1447
+ * the run exactly like a project build. A failed check publishes nothing, so
1448
+ * every process that reaches the root reports the same diagnostics instead of
1449
+ * reusing a build.
1450
+ *
1451
+ * The root's own bytes are part of the key. A root is often a file the program
1452
+ * wrote itself, and one that rewrites it and loads it again, in this process or
1453
+ * another, must get the new code rather than the build of the old.
1454
+ */
1455
+ function ensureRootBuilt(tsconfig, source) {
1456
+ const identity = `${source}\0${contentDigest(source)}`;
1457
+ const { cacheDir, lockDir, metaPath, root, compilerProof, plugins } = dependencyCachePaths(tsconfig, identity);
1458
+ const memo = cacheDir;
1459
+ const cached = builtRoots.get(memo);
1460
+ if (cached !== undefined) {
1461
+ return cached;
1462
+ }
1463
+ const failed = failedRoots.get(memo);
1464
+ if (failed !== undefined) {
1465
+ throw failed;
1466
+ }
1467
+ const reuse = (0, readDependencyCache_1.readDependencyCache)(cacheDir, metaPath);
1468
+ if (reuse !== null) {
1469
+ builtRoots.set(memo, reuse);
1470
+ return reuse;
1471
+ }
1472
+ node_fs_1.default.mkdirSync(root, { recursive: true });
1473
+ let built;
1474
+ try {
1475
+ built = DependencyBuildAdmission_1.DependencyBuildAdmission.run(cacheDir, metaPath, lockDir, () => buildRoot(tsconfig, source, cacheDir, metaPath, compilerProof, plugins));
1476
+ }
1477
+ catch (error) {
1478
+ // The same content fails the same way, so a second reach of this root in
1479
+ // the process (a name scan, then the load) reports without building again.
1480
+ failedRoots.set(memo, error);
1481
+ throw error;
1482
+ }
1483
+ builtRoots.set(memo, built);
1484
+ return built;
1485
+ }
1486
+ const builtRoots = new Map();
1487
+ /**
1488
+ * Roots whose build failed in this process, by the same key as
1489
+ * {@link builtRoots}.
1490
+ */
1491
+ const failedRoots = new Map();
1492
+ /** SHA-256 of a file's bytes, or of nothing when it cannot be read. */
1493
+ function contentDigest(file) {
1494
+ const hash = node_crypto_1.default.createHash("sha256");
1495
+ try {
1496
+ hash.update(node_fs_1.default.readFileSync(file));
1497
+ }
1498
+ catch {
1499
+ // The build reports the unreadable file itself; the key only has to exist.
1500
+ }
1501
+ return hash.digest("hex");
1502
+ }
1503
+ /**
1504
+ * Compile `source` alone through the options of `tsconfig` into a fresh
1505
+ * generation directory, then publish its completion marker. The generation and
1506
+ * marker protocol is the project build's, so a reader never sees a partial
1507
+ * emit.
1508
+ */
1509
+ function buildRoot(tsconfig, source, cacheDir, metaPath, compilerProof, plugins) {
1510
+ // Read through the descriptor-input recorder, so a plugin descriptor that
1511
+ // reaches this root reports the config chain it was compiled under.
1512
+ const project = readPluginDescriptorProjectConfig(tsconfig);
1513
+ const generation = DependencyBuildGeneration_1.DependencyBuildGeneration.newDependencyGeneration();
1514
+ const emitDir = DependencyBuildGeneration_1.DependencyBuildGeneration.dependencyGenerationDir(cacheDir, generation);
1515
+ node_fs_1.default.rmSync(emitDir, { force: true, recursive: true });
1516
+ try {
1517
+ const built = (0, buildSingleRootProject_1.buildSingleRootProject)({
1518
+ checked: rootIsChecked(source),
1519
+ emitDir,
1520
+ key: `${process.pid}-${generation}`,
1521
+ options: { plugins },
1522
+ projectRoot: project.root,
1523
+ role: "root",
1524
+ source,
1525
+ tsconfig,
1526
+ });
1527
+ const rootDir = DependencyBuildGeneration_1.DependencyBuildGeneration.resolvePhysicalPath(built.rootDir);
1528
+ const moduleOptions = (0, projectModuleOptions_1.projectModuleOptions)(built.project.compilerOptions);
1529
+ const outputs = EmitOwnershipIndex_1.EmitOwnershipIndex.listOutputs(emitDir);
1530
+ const emittedSources = built.emittedSources;
1531
+ const emittedSourceProofFailures = built.emittedSourceProofFailures;
1532
+ if (!RuntimeEmitProvenance_1.RuntimeEmitProvenance.isRecord(emittedSources)) {
1533
+ throw new Error(`ttsx: root build of ${source} did not report authoritative emit provenance`);
1534
+ }
1535
+ assertCompilerStillCurrent(tsconfig, compilerProof);
1536
+ publishDependencyMeta(metaPath, {
1537
+ generation,
1538
+ moduleOptions,
1539
+ outputs,
1540
+ rootDir,
1541
+ emittedSources,
1542
+ emittedSourceProofFailures,
1543
+ });
1544
+ return {
1545
+ emitDir,
1546
+ moduleOptions,
1547
+ outputs,
1548
+ rootDir,
1549
+ emittedSources,
1550
+ emittedSourceProofFailures,
1551
+ };
1552
+ }
1553
+ catch (error) {
1554
+ throwAfterFailedArtifactCleanup(error, emitDir, true);
1555
+ }
1556
+ }
1557
+ /**
1558
+ * The plugin policy a project or root compiled at run time inherits: none while
1559
+ * a plugin descriptor is being loaded, because its own transform would re-enter
1560
+ * plugin loading, and none when the run itself disabled them (`ttsx
1561
+ * --no-plugins`).
1562
+ */
1563
+ function runtimePluginPolicy() {
1564
+ return (0, selectRuntimePluginPolicy_1.selectRuntimePluginPolicy)(RuntimeManifestRegistry_1.RuntimeManifestRegistry.runtimeManifests(), process.env.TTSC_PLUGIN_DESCRIPTOR_LOAD === "1");
1565
+ }
1566
+ /**
1567
+ * Whether a root no build covered is type-checked before it runs.
1568
+ *
1569
+ * A root of the user's own tree is: it is the user's program. A root inside an
1570
+ * installed package is not, as no other file of that package is. Neither is a
1571
+ * root reached while a plugin descriptor is being loaded: the descriptor is
1572
+ * tooling the compiler runs, evaluated under the consumer's config, whose
1573
+ * `types`, `lib`, and strictness were never chosen for it, and it was never
1574
+ * type-gated before it ran.
1575
+ */
1576
+ function rootIsChecked(real) {
1577
+ return (process.env.TTSC_PLUGIN_DESCRIPTOR_LOAD !== "1" &&
1578
+ !RuntimeProjectOwnership_1.RuntimeProjectOwnership.isInstalledPackageSource(real));
1579
+ }
1580
+ /**
1581
+ * Build the project that owns a dependency once per run and share the result
1582
+ * across every process the program spawns.
1583
+ *
1584
+ * A program (a benchmark, a worker pool) can fan out into many child processes,
1585
+ * each of which inherits the runtime manifest and would otherwise rebuild every
1586
+ * dependency from scratch — and worse, several at once into the same directory,
1587
+ * corrupting each other. So the build output is content-keyed under the shared
1588
+ * per-run cache: a finished build leaves a meta marker that any later process
1589
+ * (or a second import in this one) reuses, and concurrent first-builders are
1590
+ * serialised by an atomic lock directory.
1591
+ */
1592
+ function ensureProjectBuilt(tsconfig) {
1593
+ const { cacheDir, lockDir, metaPath, root, compilerProof, plugins } = dependencyCachePaths(tsconfig);
1594
+ const cached = builtProjects.get(cacheDir);
1595
+ if (cached !== undefined) {
1596
+ return cached;
1597
+ }
1598
+ const failed = failedProjects.get(cacheDir);
1599
+ if (failed !== undefined) {
1600
+ throw failed;
1601
+ }
1602
+ const reuse = (0, readDependencyCache_1.readDependencyCache)(cacheDir, metaPath);
1603
+ if (reuse !== null) {
1604
+ builtProjects.set(cacheDir, reuse);
1605
+ return reuse;
1606
+ }
1607
+ node_fs_1.default.mkdirSync(root, { recursive: true });
1608
+ let built;
1609
+ try {
1610
+ built = DependencyBuildAdmission_1.DependencyBuildAdmission.run(cacheDir, metaPath, lockDir, () => buildDependency(tsconfig, cacheDir, metaPath, compilerProof, plugins));
1611
+ }
1612
+ catch (error) {
1613
+ // Every file the project owns asks for this build before its own root
1614
+ // lane, so a build that produced nothing would otherwise run again for
1615
+ // each of them. It is built once per process either way, like a success.
1616
+ failedProjects.set(cacheDir, error);
1617
+ throw error;
1618
+ }
1619
+ builtProjects.set(cacheDir, built);
1620
+ return built;
1621
+ }
1622
+ /**
1623
+ * Project builds that failed in this process, by full cache identity, paired
1624
+ * with {@link builtProjects}.
1625
+ */
1626
+ const failedProjects = new Map();
1627
+ function dependencyCachePaths(tsconfig, rootSource) {
1628
+ let compilerProof;
1629
+ try {
1630
+ compilerProof = (0, runtimeExecutableIdentity_1.runtimeExecutableIdentity)((0, resolveTsgo_1.resolveTsgo)({ cwd: node_path_1.default.dirname(tsconfig) }).binary);
1631
+ }
1632
+ catch {
1633
+ // An unobservable executable gets a unique, non-reusable generation key.
1634
+ }
1635
+ const plugins = runtimePluginPolicy();
1636
+ const key = (0, dependencyCacheKey_1.dependencyCacheKey)(tsconfig, {
1637
+ root: rootSource,
1638
+ compilerIdentity: compilerProof ?? node_crypto_1.default.randomUUID(),
1639
+ plugins,
1640
+ });
1641
+ const root = (0, dependencyCacheRoot_1.dependencyCacheRoot)();
1642
+ return {
1643
+ cacheDir: node_path_1.default.join(root, key),
1644
+ lockDir: node_path_1.default.join(root, `${key}.lock`),
1645
+ metaPath: node_path_1.default.join(root, `${key}.json`),
1646
+ compilerProof,
1647
+ plugins,
1648
+ root,
1649
+ };
1650
+ }
1651
+ /** A runtime build may publish only under the compiler content that keyed it. */
1652
+ function assertCompilerStillCurrent(tsconfig, proof) {
1653
+ if (proof === undefined)
1654
+ return;
1655
+ const binary = (0, resolveTsgo_1.resolveTsgo)({ cwd: node_path_1.default.dirname(tsconfig) }).binary;
1656
+ const current = (0, runtimeExecutableIdentity_1.runtimeExecutableIdentity)(binary);
1657
+ if (current !== proof) {
1658
+ E2ETrace_1.E2ETrace.capabilityResolution("runtime-compiler-publication-refused", {
1659
+ tsconfig,
1660
+ binary,
1661
+ expectedCompiler: proof,
1662
+ currentCompiler: current,
1663
+ });
1664
+ throw new Error(`ttsx: compiler changed while building ${tsconfig}; the runtime generation was not published`);
1665
+ }
1666
+ }
1667
+ /**
1668
+ * Compile a dependency project into a fresh generation directory and publish
1669
+ * its completion marker atomically.
1670
+ *
1671
+ * Under cooperative cache ownership and noncolliding generation ids, emit lands
1672
+ * in a fresh `<cacheDir>/gen-<generation>` rather than replacing a reader's
1673
+ * generation in place. Emit presence and provenance are checked before
1674
+ * temp-and-rename publication. Failure attempts to remove the partial
1675
+ * directory; refused cleanup can leave it behind without publishing a
1676
+ * successful marker.
1677
+ */
1678
+ function buildDependency(tsconfig, cacheDir, metaPath, compilerProof, plugins) {
1679
+ const project = readPluginDescriptorProjectConfig(tsconfig);
1680
+ const generation = DependencyBuildGeneration_1.DependencyBuildGeneration.newDependencyGeneration();
1681
+ const emitDir = DependencyBuildGeneration_1.DependencyBuildGeneration.dependencyGenerationDir(cacheDir, generation);
1682
+ node_fs_1.default.rmSync(emitDir, { force: true, recursive: true });
1683
+ try {
1684
+ node_fs_1.default.mkdirSync(emitDir, { recursive: true });
1685
+ const result = (0, runBuild_1.runBuild)({
1686
+ cwd: project.root,
1687
+ forceEmitProvenance: true,
1688
+ // Emit-only means diagnostics never withhold the emit, so a dependency's
1689
+ // own `noEmitOnError` is switched off: honoured, it would turn any
1690
+ // diagnostic into an empty output and the isolated fallback below.
1691
+ passthrough: [
1692
+ ...(0, runtimeCompilerArgs_1.runtimeCompilerArgs)(project),
1693
+ "--noEmitOnError",
1694
+ "false",
1695
+ ],
1696
+ emit: true,
1697
+ outDir: emitDir,
1698
+ // Every output this build writes stays in ttsx's private directory: a
1699
+ // declared `declarationDir`, `tsBuildInfoFile`, or `outFile`, and any
1700
+ // output location forwarded on the command line, would otherwise land in
1701
+ // the user's tree.
1702
+ isolateOutputsTo: emitDir,
1703
+ // The generation directory is an `outDir` this lane injected, not one the
1704
+ // dependency declared. Private ordinary emit uses a volume-root layout
1705
+ // without restricting imported sources to the config directory; declared
1706
+ // and composite roots keep their compiler containment policy. The same
1707
+ // root is published by resolveDependencySourceRoot below.
1708
+ pinInferredRootDir: true,
1709
+ // Compiler containment uses the same lexical spelling as its inputs;
1710
+ // resolveDependencySourceRoot separately owns physical serving lookup.
1711
+ privateEmitRootDir: (0, privateRuntimeRootDir_1.privateRuntimeRootDir)(project.root, project.compilerOptions.rootDir, project.compilerOptions.composite),
1712
+ // Emit a source map on the transient dependency emit (it never reaches the
1713
+ // dependency's published `lib/`) so the serve path can inline it under the
1714
+ // source URL, but only when the dependency configures none itself. Routed
1715
+ // as a dedicated build option, not a forwarded tsgo flag, so it never
1716
+ // reaches a native plugin host's argument parser.
1717
+ forceRuntimeSourceMap: project.compilerOptions.sourceMap !== true &&
1718
+ project.compilerOptions.inlineSourceMap !== true,
1719
+ // Honour the dependency's own transform plugins: a source-shipping package
1720
+ // can itself depend on a transform (e.g. a fixture whose values are built
1721
+ // with `typia.createRandom`), and its runtime behaviour is wrong without it.
1722
+ // `runBuild` runs on this main thread, so its plugin resolution works the
1723
+ // same as the entry build's. A run started with `--no-plugins` keeps that
1724
+ // disabled policy across dependency projects. Loading a plugin descriptor
1725
+ // (`TTSC_PLUGIN_DESCRIPTOR_LOAD`) also disables plugins: its own — possibly
1726
+ // self-hosting — transform must NOT run, or it re-enters plugin loading and
1727
+ // deadlocks, so every dependency in that graph builds with plugins off.
1728
+ plugins,
1729
+ quiet: true,
1730
+ resolvedProject: project,
1731
+ // Emit only: the entry project's up-front check is the type gate. A
1732
+ // dependency build pulls its own transitive sources into the program and
1733
+ // would otherwise fail on type diagnostics that belong to those packages
1734
+ // under their own (laxer) config — e.g. unused-type-parameter warnings in a
1735
+ // transitively imported library. We still want the type-aware emit (for
1736
+ // type-only elision), just not the error gate.
1737
+ skipDiagnosticsCheck: true,
1738
+ tsconfig,
1739
+ });
1740
+ // Success is "the project wrote JavaScript", not the exit status: the build is
1741
+ // emit-only, so diagnostics do not fail it, and a native transform host
1742
+ // (typia, @ttsc/banner, …) writes its output on its own. A genuinely empty
1743
+ // output directory is the real failure; the caller then falls back to
1744
+ // isolated emit of the one file.
1745
+ if (!DependencyBuildGeneration_1.DependencyBuildGeneration.emittedAnything(emitDir)) {
1746
+ E2ETrace_1.E2ETrace.runtimePreparation("", tsconfig, "unconsumed", "dependency-project-empty-emit", {
1747
+ moduleOptions: (0, projectModuleOptions_1.projectModuleOptions)(project.compilerOptions),
1748
+ selectedTsconfig: tsconfig,
1749
+ buildScope: "project",
1750
+ nativeBuildFailure: {
1751
+ status: result.status,
1752
+ stdout: result.stdout,
1753
+ stderr: result.stderr,
1754
+ },
1755
+ });
1756
+ throw new EmptyProjectEmitError([
1757
+ `ttsx: dependency build produced no output for ${tsconfig}`,
1758
+ result.stderr || result.stdout,
1759
+ ]
1760
+ .filter((line) => line.trim().length !== 0)
1761
+ .join("\n"));
1762
+ }
1763
+ // Absence above serves and publishes nothing. Every actual emitted byte
1764
+ // still requires the selected producer's authoritative ownership record.
1765
+ const emittedSources = result.emittedSources;
1766
+ const emittedSourceProofFailures = result.emittedSourceProofFailures;
1767
+ if (!RuntimeEmitProvenance_1.RuntimeEmitProvenance.isRecord(emittedSources)) {
1768
+ throw new Error(`ttsx: dependency build of ${tsconfig} did not report authoritative emit provenance`, { cause: result });
1769
+ }
1770
+ const rootDir = resolveDependencySourceRoot(project);
1771
+ const moduleOptions = (0, projectModuleOptions_1.projectModuleOptions)(project.compilerOptions);
1772
+ const outputs = EmitOwnershipIndex_1.EmitOwnershipIndex.listOutputs(emitDir);
1773
+ assertCompilerStillCurrent(tsconfig, compilerProof);
1774
+ publishDependencyMeta(metaPath, {
1775
+ generation,
1776
+ moduleOptions,
1777
+ outputs,
1778
+ rootDir,
1779
+ emittedSources,
1780
+ emittedSourceProofFailures,
1781
+ });
1782
+ return {
1783
+ emitDir,
1784
+ moduleOptions,
1785
+ outputs,
1786
+ rootDir,
1787
+ emittedSources,
1788
+ emittedSourceProofFailures,
1789
+ };
1790
+ }
1791
+ catch (error) {
1792
+ throwAfterFailedArtifactCleanup(error, emitDir, true);
1793
+ }
1794
+ }
1795
+ /**
1796
+ * Publish the completion marker atomically: write it to a private temp name in
1797
+ * the same directory, then rename onto `metaPath`. Successful native rename
1798
+ * replaces the whole marker rather than writing it in place; refusal propagates
1799
+ * with an attempted temporary-file cleanup. The producer calls this after emit
1800
+ * presence and provenance checks. Stable layout and retained immutable emit
1801
+ * remain cooperative premises, and no fsync establishes crash durability.
1802
+ */
1803
+ function publishDependencyMeta(metaPath, meta) {
1804
+ const tmp = `${metaPath}.${process.pid}.${Date.now()}.${node_crypto_1.default
1805
+ .randomBytes(6)
1806
+ .toString("hex")}.tmp`;
1807
+ try {
1808
+ node_fs_1.default.writeFileSync(tmp, JSON.stringify(meta), "utf8");
1809
+ node_fs_1.default.renameSync(tmp, metaPath);
1810
+ }
1811
+ catch (error) {
1812
+ throwAfterFailedArtifactCleanup(error, tmp, false);
1813
+ }
1814
+ }
1815
+ /**
1816
+ * Remove only the artifact owned by the failed publication. Preserve its
1817
+ * original failure; a refused removal adds a second causal outcome rather than
1818
+ * replacing the compiler or marker error with a filesystem error.
1819
+ */
1820
+ function throwAfterFailedArtifactCleanup(error, location, recursive) {
1821
+ try {
1822
+ node_fs_1.default.rmSync(location, { force: true, recursive });
1823
+ }
1824
+ catch (cleanupError) {
1825
+ throw new AggregateError([error, cleanupError], `ttsx: publication failed and its private artifact could not be removed: ${location}`, { cause: error });
1826
+ }
1827
+ throw error;
1828
+ }
1829
+ /**
1830
+ * A complete project build with no JavaScript does not establish root
1831
+ * ownership.
1832
+ */
1833
+ class EmptyProjectEmitError extends Error {
1834
+ }
1835
+ /**
1836
+ * The config of the project that owns `real`: its nearest `tsconfig.json`, or,
1837
+ * when that config is a solution that does not contain the file, the referenced
1838
+ * project that does. `null` when no config owns the file at all.
1839
+ */
1840
+ function owningTsconfig(real) {
1841
+ const nearest = RuntimeProjectOwnership_1.RuntimeProjectOwnership.nearestTsconfig(real, recordPluginDescriptorProjectInputs);
1842
+ if (nearest === null)
1843
+ return null;
1844
+ // Config spelling and target identity do not prove that inherited options,
1845
+ // reference roots or directory membership are unchanged. The resolver owns
1846
+ // lookup-scoped reuse; a later import must ask it for a current answer.
1847
+ return (0, resolveOwningProjectConfig_1.resolveOwningProjectConfig)({
1848
+ file: real,
1849
+ onConfig: (config) => recordPluginDescriptorProjectInputs([config]),
1850
+ tsconfig: nearest,
1851
+ });
1852
+ }
1853
+ function readFileOrNull(file) {
1854
+ if (file === null) {
1855
+ return null;
1856
+ }
1857
+ try {
1858
+ return node_fs_1.default.readFileSync(file, "utf8");
1859
+ }
1860
+ catch {
1861
+ return null;
1862
+ }
1863
+ }
1864
+ /**
1865
+ * The private layout root a dependency's emit mirrors, in physical spelling.
1866
+ * Ordinary undeclared roots use the volume root, while declared and composite
1867
+ * roots retain their compiler containment. Argument composition and serving
1868
+ * metadata use the same selection; the output ledger proves source ownership.
1869
+ *
1870
+ * Both branches need the pass, for different reasons. A declared `rootDir`
1871
+ * arrives from `readProjectConfig` joined against the config that declared it
1872
+ * but never resolved, so a `rootDir` that is itself a symlinked directory stays
1873
+ * unresolved. `project.root` arrives through plain `fs.realpathSync`, which
1874
+ * follows reparse points but leaves a Windows 8.3 component alone — and
1875
+ * {@link realPath} uses `fs.realpathSync.native`, which expands it. The
1876
+ * ownership index resolves both sides itself, so a stale spelling cannot make
1877
+ * it answer wrongly, but a physical one keeps every lookup on its cheap forward
1878
+ * mirror instead of the inverse scan.
1879
+ *
1880
+ * The entry lane applies the same private-root policy and physical-resolution
1881
+ * pass. Volume roots do not enumerate or authorize other source files.
1882
+ */
1883
+ function resolveDependencySourceRoot(project) {
1884
+ const rootDir = project.compilerOptions.rootDir;
1885
+ return DependencyBuildGeneration_1.DependencyBuildGeneration.resolvePhysicalPath((0, privateRuntimeRootDir_1.privateRuntimeRootDir)(project.root, rootDir, project.compilerOptions.composite));
1886
+ }
1887
+ /**
1888
+ * Map the JavaScript extension a relative `specifier` carries to the TypeScript
1889
+ * source extensions tsgo would have emitted it from. Running from source, a
1890
+ * `"./x.js"` import (whether authored or rewritten from `"./x.ts"` by
1891
+ * `--rewriteRelativeImportExtensions`) has no `.js` on disk — only `./x.ts`.
1892
+ */
1893
+ const JS_TO_TS_EXTENSIONS = new Map([
1894
+ [".js", [".ts", ".tsx"]],
1895
+ [".jsx", [".tsx"]],
1896
+ [".mjs", [".mts"]],
1897
+ [".cjs", [".cts"]],
1898
+ ]);
1899
+ /** Candidate sources that can satisfy one missing JavaScript spelling. */
1900
+ function typescriptSourcesForJavaScriptSpecifier(file) {
1901
+ const extension = node_path_1.default.extname(file).toLowerCase();
1902
+ const substitutions = JS_TO_TS_EXTENSIONS.get(extension);
1903
+ if (substitutions === undefined)
1904
+ return [];
1905
+ const stem = file.slice(0, file.length - extension.length);
1906
+ return substitutions.map((candidate) => stem + candidate);
1907
+ }
1908
+ /**
1909
+ * Rescue a `specifier` that Node's resolver rejected: map a JavaScript
1910
+ * extension back to its TypeScript source, or probe candidate extensions /
1911
+ * directory indexes for an extensionless form. Returns a `file:` URL for the
1912
+ * first match, or `null` when nothing matches.
1913
+ *
1914
+ * Handles two shapes:
1915
+ *
1916
+ * - A relative specifier (`./x`) resolved against a `file:` parent — a normal
1917
+ * `import`/`require` inside a served module;
1918
+ * - An already-absolute specifier with no parent — the main entry of a
1919
+ * `child_process.fork(__dirname + "/servant.js")`. fork's main module reaches
1920
+ * the resolve hook as an absolute `.js` path with `parentURL` undefined, and
1921
+ * run-from-source ships only the `.ts`, so without this the child dies with
1922
+ * `Cannot find module servant.js` and a tgrid master waits on it forever.
1923
+ */
1924
+ function probeRescuableSpecifier(specifier, parentURL) {
1925
+ // A `?query` / `#hash` suffix is part of module identity, not the path; strip
1926
+ // it before resolving and re-attach it to the resolved URL so a loader keying
1927
+ // on the suffix (and `import.meta.url`) sees it preserved.
1928
+ const suffixStart = specifier.search(/[?#]/);
1929
+ const suffix = suffixStart === -1 ? "" : specifier.slice(suffixStart);
1930
+ const pathname = suffixStart === -1 ? specifier : specifier.slice(0, suffixStart);
1931
+ let base;
1932
+ if (isRelativeSpecifier(specifier)) {
1933
+ if (parentURL === undefined || !parentURL.startsWith("file:")) {
1934
+ return null;
1935
+ }
1936
+ const parentDir = node_path_1.default.dirname((0, node_url_1.fileURLToPath)(parentURL));
1937
+ base = node_path_1.default.resolve(parentDir, pathname);
1938
+ }
1939
+ else if (node_path_1.default.isAbsolute(pathname)) {
1940
+ base = pathname;
1941
+ }
1942
+ else {
1943
+ return null;
1944
+ }
1945
+ const withSuffix = (candidate) => (0, node_url_1.pathToFileURL)(candidate).href + suffix;
1946
+ const jsExtension = node_path_1.default.extname(base).toLowerCase();
1947
+ const tsExtensions = JS_TO_TS_EXTENSIONS.get(jsExtension);
1948
+ if (tsExtensions !== undefined) {
1949
+ const stem = base.slice(0, base.length - jsExtension.length);
1950
+ for (const extension of tsExtensions) {
1951
+ const candidate = stem + extension;
1952
+ if (RuntimeFilesystem_1.RuntimeFilesystem.isFile(candidate)) {
1953
+ return withSuffix(candidate);
1954
+ }
1955
+ }
1956
+ return null;
1957
+ }
1958
+ if (hasConcreteExtension(pathname)) {
1959
+ return null;
1960
+ }
1961
+ for (const extension of RESOLVABLE_EXTENSIONS) {
1962
+ const candidate = base + extension;
1963
+ if (RuntimeFilesystem_1.RuntimeFilesystem.isFile(candidate)) {
1964
+ return withSuffix(candidate);
1965
+ }
1966
+ }
1967
+ for (const extension of RESOLVABLE_EXTENSIONS) {
1968
+ const candidate = node_path_1.default.join(base, `index${extension}`);
1969
+ if (RuntimeFilesystem_1.RuntimeFilesystem.isFile(candidate)) {
1970
+ return withSuffix(candidate);
1971
+ }
1972
+ }
1973
+ return null;
1974
+ }
1975
+ function isRelativeSpecifier(specifier) {
1976
+ return (specifier === "." ||
1977
+ specifier === ".." ||
1978
+ specifier.startsWith("./") ||
1979
+ specifier.startsWith("../"));
1980
+ }
1981
+ /** True when `specifier` already carries an extension Node can load directly. */
1982
+ function hasConcreteExtension(specifier) {
1983
+ return /\.(?:[cm]?jsx?|json|node|[cm]?tsx?)$/i.test(specifier);
1984
+ }
1985
+ function isTypeScriptSource(filename) {
1986
+ return TYPESCRIPT_EXTENSIONS.some((extension) => filename.endsWith(extension));
1987
+ }
1988
+ //# sourceMappingURL=installRuntimeHooks.js.map