ttsc 0.33.0 → 0.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (398) hide show
  1. package/README.md +2 -0
  2. package/cmd/ttsc/api_compile.go +3 -2
  3. package/cmd/ttsc/api_transform.go +1 -1
  4. package/cmd/ttsc/build.go +5 -4
  5. package/cmd/ttsc-cache/account.go +16 -0
  6. package/cmd/ttsc-cache/account_test.go +91 -0
  7. package/cmd/ttsc-cache/main.go +1 -1
  8. package/cmd/ttsc-cache/protocol_test.go +2 -2
  9. package/cmd/ttsc-cache/publisher_seal_test.go +1 -1
  10. package/cmd/ttsc-cache/stock_go_failure_test.go +1 -1
  11. package/cmd/ttsc-cache/stock_go_test.go +2 -2
  12. package/cmd/ttsc-cache/store.go +5 -0
  13. package/cmd/ttsc-cache/tuple.go +6 -2
  14. package/cmd/ttsc-cache/tuple_test.go +1 -1
  15. package/cmd/ttscgraph/main.go +6 -1
  16. package/cmd/ttscgraph/run_help_version_and_bad_flags_exit_codes_test.go +6 -1
  17. package/cmd/ttscgraph/serve.go +22 -20
  18. package/cmd/ttscgraph/serve_alternative_members_and_reads_refresh_test.go +95 -0
  19. package/cmd/ttscgraph/serve_shards.go +26 -15
  20. package/cmd/ttscgraph/serve_shards_abandoned_generation_converges_on_retry_test.go +2 -2
  21. package/cmd/ttscgraph/serve_shards_delete_removed_source_test.go +3 -3
  22. package/cmd/ttscgraph/serve_shards_prune_unreferenced_external_endpoints_test.go +1 -1
  23. package/cmd/ttscgraph/serve_shards_publish_created_source_test.go +3 -3
  24. package/cmd/ttscgraph/serve_shards_refresh_cross_file_implementation_test.go +2 -2
  25. package/cmd/ttscgraph/serve_shards_refresh_dependent_diagnostics_test.go +3 -3
  26. package/cmd/ttscgraph/serve_shards_rename_moves_source_identity_test.go +5 -5
  27. package/cmd/ttscgraph/serve_shards_reuse_unaffected_sources_test.go +8 -8
  28. package/cmd/ttscgraph/serve_source_encoding_test.go +2 -2
  29. package/driver/build_information_uses_selected_output_identity_test.go +5 -4
  30. package/driver/check_observations.go +1 -1
  31. package/driver/config_discovery.go +5 -1
  32. package/driver/declaration_shape.go +15 -21
  33. package/driver/diagnostics_preamble.go +2 -2
  34. package/driver/emit_containment.go +11 -14
  35. package/driver/emit_plugin.go +51 -43
  36. package/driver/emit_plugin_output.go +6 -5
  37. package/driver/emit_provenance.go +12 -15
  38. package/driver/graph.go +8 -8
  39. package/driver/host.go +15 -5
  40. package/driver/input_observation.go +22 -21
  41. package/driver/input_observation_test.go +11 -10
  42. package/driver/overlay.go +11 -11
  43. package/driver/program.go +102 -51
  44. package/driver/resolution_candidates.go +50 -32
  45. package/driver/resolution_candidates_test.go +18 -5
  46. package/driver/rewrite.go +11 -13
  47. package/driver/session.go +13 -7
  48. package/driver/target_ts70.go +85 -0
  49. package/driver/target_ts71.go +97 -0
  50. package/driver/transform_dependencies.go +1 -1
  51. package/driver/transform_source_map.go +21 -20
  52. package/go.mod +3 -3
  53. package/go.sum +4 -4
  54. package/internal/graph/alternative_member_declarations_resolve_uses_test.go +145 -0
  55. package/internal/graph/assigned_implementations_of_declaration_file_symbols_leave_no_edge_source_test.go +2 -2
  56. package/internal/graph/assigned_implementations_of_node_modules_symbols_leave_no_edge_source_test.go +2 -2
  57. package/internal/graph/build.go +75 -33
  58. package/internal/graph/build_files_reuses_committed_cross_file_endpoints_test.go +4 -4
  59. package/internal/graph/build_records_a_node_per_top_level_declaration_test.go +1 -1
  60. package/internal/graph/declaration_members.go +143 -0
  61. package/internal/graph/decorators_capture_name_and_literal_arguments_test.go +3 -3
  62. package/internal/graph/doc_tags.go +2 -2
  63. package/internal/graph/dump_paths.go +6 -5
  64. package/internal/graph/duplicate_variable_object_members_keep_first_declaration_test.go +1 -1
  65. package/internal/graph/edges.go +151 -68
  66. package/internal/graph/edges_cover_class_level_references_test.go +5 -5
  67. package/internal/graph/enum_initializer_calls_are_edges_test.go +2 -2
  68. package/internal/graph/enum_members_carry_their_names_on_the_enum_node_test.go +6 -6
  69. package/internal/graph/exports.go +6 -6
  70. package/internal/graph/file_diagnostics_match_tsgo_code_and_location_test.go +2 -2
  71. package/internal/graph/file_diagnostics_report_code_column_and_message_test.go +1 -1
  72. package/internal/graph/function_locals_do_not_collide_test.go +3 -3
  73. package/internal/graph/heritage_edges_cover_implements_and_interface_extends_test.go +5 -5
  74. package/internal/graph/heritage_edges_keep_extends_and_implements_to_same_base_test.go +2 -2
  75. package/internal/graph/heritage_edges_record_extends_versus_implements_origin_test.go +3 -3
  76. package/internal/graph/heritage_edges_traverse_barrels_and_stop_at_external_leaves_test.go +3 -3
  77. package/internal/graph/literals.go +3 -3
  78. package/internal/graph/literals_are_absent_when_the_type_admits_more_than_it_can_name_test.go +2 -2
  79. package/internal/graph/literals_cover_enum_members_the_graph_has_no_nodes_for_test.go +4 -4
  80. package/internal/graph/literals_do_not_depend_on_declaration_line_wrapping_test.go +2 -2
  81. package/internal/graph/literals_render_every_value_in_typescript_source_form_test.go +1 -1
  82. package/internal/graph/literals_resolve_through_alias_indirection_test.go +3 -3
  83. package/internal/graph/member_relation_edges_follow_checker_validity_test.go +7 -7
  84. package/internal/graph/member_relation_edges_preserve_checker_boundaries_test.go +19 -19
  85. package/internal/graph/member_relation_edges_reject_checker_invalid_pairs_test.go +11 -11
  86. package/internal/graph/namespace_dotted_form_qualifies_deeply_test.go +2 -2
  87. package/internal/graph/namespace_members_become_qualified_nodes_and_edges_test.go +7 -7
  88. package/internal/graph/namespace_private_declarations_keep_lexical_identity_test.go +85 -0
  89. package/internal/graph/nodes_are_marked_exported_through_the_export_table_test.go +2 -2
  90. package/internal/graph/object_literal_declarations_resolve_calls_test.go +9 -9
  91. package/internal/graph/object_literal_members_ride_on_the_snapshot_test.go +1 -1
  92. package/internal/graph/overload_implementation_replaces_signature_test.go +2 -2
  93. package/internal/graph/property_member_edges_remain_owner_visible_test.go +6 -6
  94. package/internal/graph/resolve.go +37 -12
  95. package/internal/graph/resolve_unwraps_barrel_reexport_to_real_declaration_test.go +6 -6
  96. package/internal/graph/source.go +1 -1
  97. package/internal/graph/type_ref_edges_cover_typeof_as_satisfies_test.go +7 -7
  98. package/internal/graph/type_ref_edges_resolve_named_types_across_files_test.go +2 -2
  99. package/internal/graph/value_access_edges_cover_properties_test.go +5 -5
  100. package/internal/graph/value_call_edges_attribute_function_assignments_to_members_test.go +3 -3
  101. package/internal/graph/value_call_edges_cover_jsx_components_test.go +2 -2
  102. package/internal/graph/value_call_edges_cover_methods_and_constructors_test.go +3 -3
  103. package/internal/graph/value_call_edges_cover_variable_bound_callables_test.go +2 -2
  104. package/internal/graph/value_call_edges_do_not_double_record_invoked_member_access_test.go +4 -4
  105. package/internal/graph/value_call_edges_record_construct_versus_call_origin_test.go +3 -3
  106. package/internal/graph/value_call_edges_resolve_across_files_and_dedupe_test.go +2 -2
  107. package/internal/graph/value_call_edges_skip_self_and_unresolved_test.go +4 -4
  108. package/internal/graph/value_reads_cover_expression_positions_test.go +88 -0
  109. package/lib/compiler/internal/buildNativeCompiler.d.ts +5 -2
  110. package/lib/compiler/internal/buildNativeCompiler.js +12 -4
  111. package/lib/compiler/internal/buildNativeCompiler.js.map +1 -1
  112. package/lib/flags/COMPILER_ENUM_WHITESPACE.js +1 -1
  113. package/lib/flags/COMPILER_ENUM_WHITESPACE.js.map +1 -1
  114. package/lib/flags/COMPILER_OPTIONS.js +1079 -149
  115. package/lib/flags/COMPILER_OPTIONS.js.map +1 -1
  116. package/lib/flags/COMPILER_OPTION_ASCII_FOLDS.js +1 -1
  117. package/lib/flags/COMPILER_OPTION_ASCII_FOLDS.js.map +1 -1
  118. package/lib/flags/COMPILER_OPTION_KINDS.js +1 -1
  119. package/lib/flags/COMPILER_OPTION_KINDS.js.map +1 -1
  120. package/lib/flags/CompilerOptionSpec.d.ts +9 -2
  121. package/lib/internal/pluginSource.d.ts +1 -0
  122. package/lib/internal/pluginSource.js +1 -0
  123. package/lib/internal/pluginSource.js.map +1 -1
  124. package/lib/launcher/internal/TypeScriptSyncApi.d.ts +140 -0
  125. package/lib/launcher/internal/TypeScriptSyncApi.js +99 -0
  126. package/lib/launcher/internal/TypeScriptSyncApi.js.map +1 -0
  127. package/lib/launcher/internal/buildSingleRootInMemory.d.ts +80 -0
  128. package/lib/launcher/internal/buildSingleRootInMemory.js +253 -0
  129. package/lib/launcher/internal/buildSingleRootInMemory.js.map +1 -0
  130. package/lib/launcher/internal/buildSingleRootProject.d.ts +22 -18
  131. package/lib/launcher/internal/buildSingleRootProject.js +27 -18
  132. package/lib/launcher/internal/buildSingleRootProject.js.map +1 -1
  133. package/lib/launcher/internal/compilerArgsAsConfigOptions.d.ts +39 -0
  134. package/lib/launcher/internal/compilerArgsAsConfigOptions.js +115 -0
  135. package/lib/launcher/internal/compilerArgsAsConfigOptions.js.map +1 -0
  136. package/lib/plugin/CapabilityPluginResolver.js +3 -0
  137. package/lib/plugin/CapabilityPluginResolver.js.map +1 -1
  138. package/lib/plugin/internal/load/loadProjectPlugins.js +6 -2
  139. package/lib/plugin/internal/load/loadProjectPlugins.js.map +1 -1
  140. package/lib/plugin/internal/source/CompilerTarget.d.ts +127 -0
  141. package/lib/plugin/internal/source/CompilerTarget.js +231 -0
  142. package/lib/plugin/internal/source/CompilerTarget.js.map +1 -0
  143. package/lib/plugin/internal/source/NativeSourcePackages.js +6 -5
  144. package/lib/plugin/internal/source/NativeSourcePackages.js.map +1 -1
  145. package/lib/plugin/internal/source/SourcePluginAdmission.d.ts +18 -1
  146. package/lib/plugin/internal/source/SourcePluginAdmission.js +24 -2
  147. package/lib/plugin/internal/source/SourcePluginAdmission.js.map +1 -1
  148. package/lib/plugin/internal/source/SourcePluginWorkspace.d.ts +6 -3
  149. package/lib/plugin/internal/source/SourcePluginWorkspace.js +31 -13
  150. package/lib/plugin/internal/source/SourcePluginWorkspace.js.map +1 -1
  151. package/lib/plugin/internal/source/buildSourcePlugin.js +3 -1
  152. package/lib/plugin/internal/source/buildSourcePlugin.js.map +1 -1
  153. package/lib/plugin/internal/source/hashPluginBuildEnvironment.d.ts +1 -1
  154. package/lib/plugin/internal/source/hashPluginBuildEnvironment.js +9 -1
  155. package/lib/plugin/internal/source/hashPluginBuildEnvironment.js.map +1 -1
  156. package/package.json +14 -9
  157. package/shim/ast/enums_gen.go +1 -0
  158. package/shim/ast/go.mod +2 -2
  159. package/shim/ast/go.sum +4 -4
  160. package/shim/ast/neutral.go +141 -0
  161. package/shim/astnav/go.mod +2 -2
  162. package/shim/astnav/go.sum +4 -4
  163. package/shim/bundled/go.mod +2 -2
  164. package/shim/bundled/go.sum +4 -4
  165. package/shim/checker/go.mod +2 -2
  166. package/shim/checker/go.sum +4 -4
  167. package/shim/compiler/go.mod +2 -2
  168. package/shim/compiler/go.sum +4 -4
  169. package/shim/compiler/neutral.go +213 -0
  170. package/shim/core/go.mod +2 -2
  171. package/shim/core/go.sum +4 -4
  172. package/shim/diagnosticwriter/go.mod +2 -2
  173. package/shim/diagnosticwriter/go.sum +4 -4
  174. package/shim/lsp/go.mod +2 -2
  175. package/shim/lsp/go.sum +4 -4
  176. package/shim/parser/go.mod +2 -2
  177. package/shim/parser/go.sum +4 -4
  178. package/shim/printer/go.mod +2 -2
  179. package/shim/printer/go.sum +4 -4
  180. package/shim/scanner/go.mod +2 -2
  181. package/shim/scanner/go.sum +4 -4
  182. package/shim/stringutil/go.mod +1 -1
  183. package/shim/stringutil/go.sum +2 -2
  184. package/shim/stringutil/shim.go +15 -0
  185. package/shim/transformers/go.mod +2 -2
  186. package/shim/transformers/go.sum +4 -4
  187. package/shim/tsoptions/go.mod +2 -2
  188. package/shim/tsoptions/go.sum +4 -4
  189. package/shim/tsoptions/neutral.go +56 -0
  190. package/shim/tspath/go.mod +1 -1
  191. package/shim/tspath/go.sum +2 -2
  192. package/shim/tspath/neutral.go +150 -0
  193. package/shim/tspath/typed_paths.go +266 -0
  194. package/shim/vfs/cachedvfs/go.mod +2 -2
  195. package/shim/vfs/cachedvfs/go.sum +4 -4
  196. package/shim/vfs/go.mod +2 -2
  197. package/shim/vfs/go.sum +4 -4
  198. package/shim/vfs/neutral.go +20 -0
  199. package/shim/vfs/osvfs/go.mod +2 -2
  200. package/shim/vfs/osvfs/go.sum +4 -4
  201. package/src/compiler/internal/buildNativeCompiler.ts +13 -4
  202. package/src/flags/COMPILER_ENUM_WHITESPACE.ts +1 -1
  203. package/src/flags/COMPILER_OPTIONS.ts +1080 -150
  204. package/src/flags/COMPILER_OPTION_ASCII_FOLDS.ts +1 -1
  205. package/src/flags/COMPILER_OPTION_KINDS.ts +1 -1
  206. package/src/flags/CompilerOptionSpec.ts +11 -2
  207. package/src/internal/pluginSource.ts +1 -0
  208. package/src/launcher/internal/TypeScriptSyncApi.ts +186 -0
  209. package/src/launcher/internal/buildSingleRootInMemory.ts +319 -0
  210. package/src/launcher/internal/buildSingleRootProject.ts +26 -18
  211. package/src/launcher/internal/compilerArgsAsConfigOptions.ts +112 -0
  212. package/src/plugin/CapabilityPluginResolver.ts +4 -1
  213. package/src/plugin/internal/load/loadProjectPlugins.ts +12 -2
  214. package/src/plugin/internal/source/CompilerTarget.ts +249 -0
  215. package/src/plugin/internal/source/NativeSourcePackages.ts +10 -4
  216. package/src/plugin/internal/source/SourcePluginAdmission.ts +28 -2
  217. package/src/plugin/internal/source/SourcePluginWorkspace.ts +45 -19
  218. package/src/plugin/internal/source/buildSourcePlugin.ts +3 -1
  219. package/src/plugin/internal/source/hashPluginBuildEnvironment.ts +9 -1
  220. package/targets/7.1/bridge/ast/enums_gen.go +174 -0
  221. package/targets/7.1/bridge/ast/extra-shim.json +4 -0
  222. package/targets/7.1/bridge/ast/go.mod +14 -0
  223. package/targets/7.1/bridge/ast/go.sum +20 -0
  224. package/targets/7.1/bridge/ast/lint.go +1412 -0
  225. package/targets/7.1/bridge/ast/neutral.go +141 -0
  226. package/targets/7.1/bridge/ast/parent.go +60 -0
  227. package/targets/7.1/bridge/ast/safe_text.go +108 -0
  228. package/targets/7.1/bridge/ast/shim.go +1656 -0
  229. package/targets/7.1/bridge/ast/surface.go +686 -0
  230. package/targets/7.1/bridge/ast/test/next_jsdoc_comment_location_reaches_variable_statement_test.go +51 -0
  231. package/targets/7.1/bridge/ast/test/node_text_joins_multi_hop_qualified_name_test.go +47 -0
  232. package/targets/7.1/bridge/ast/test/node_text_joins_one_hop_qualified_name_test.go +35 -0
  233. package/targets/7.1/bridge/ast/test/node_text_returns_empty_for_nil_test.go +31 -0
  234. package/targets/7.1/bridge/ast/test/node_text_returns_identifier_text_test.go +34 -0
  235. package/targets/7.1/bridge/ast/test/node_text_skips_empty_qualified_left_test.go +60 -0
  236. package/targets/7.1/bridge/astnav/go.mod +14 -0
  237. package/targets/7.1/bridge/astnav/go.sum +22 -0
  238. package/targets/7.1/bridge/astnav/shim.go +24 -0
  239. package/targets/7.1/bridge/bundled/extra-shim.json +1 -0
  240. package/targets/7.1/bridge/bundled/go.mod +10 -0
  241. package/targets/7.1/bridge/bundled/go.sum +10 -0
  242. package/targets/7.1/bridge/bundled/shim.go +24 -0
  243. package/targets/7.1/bridge/checker/enums_gen.go +150 -0
  244. package/targets/7.1/bridge/checker/extra-shim.json +37 -0
  245. package/targets/7.1/bridge/checker/go.mod +15 -0
  246. package/targets/7.1/bridge/checker/go.sum +24 -0
  247. package/targets/7.1/bridge/checker/node_builder_fields_gen.go +19 -0
  248. package/targets/7.1/bridge/checker/shim.go +1390 -0
  249. package/targets/7.1/bridge/compiler/contentmapper_process.go +70 -0
  250. package/targets/7.1/bridge/compiler/emit_sourcemap.go +296 -0
  251. package/targets/7.1/bridge/compiler/emitassemble.go +81 -0
  252. package/targets/7.1/bridge/compiler/emithook.go +44 -0
  253. package/targets/7.1/bridge/compiler/extra-shim.json +4 -0
  254. package/targets/7.1/bridge/compiler/go.mod +15 -0
  255. package/targets/7.1/bridge/compiler/go.sum +24 -0
  256. package/targets/7.1/bridge/compiler/incremental.go +185 -0
  257. package/targets/7.1/bridge/compiler/neutral.go +256 -0
  258. package/targets/7.1/bridge/compiler/resolution.go +571 -0
  259. package/targets/7.1/bridge/compiler/shim.go +70 -0
  260. package/targets/7.1/bridge/core/enums_gen.go +15 -0
  261. package/targets/7.1/bridge/core/extra-shim.json +4 -0
  262. package/targets/7.1/bridge/core/go.mod +7 -0
  263. package/targets/7.1/bridge/core/go.sum +8 -0
  264. package/targets/7.1/bridge/core/modulekind.go +19 -0
  265. package/targets/7.1/bridge/core/shim.go +272 -0
  266. package/targets/7.1/bridge/diagnosticwriter/go.mod +14 -0
  267. package/targets/7.1/bridge/diagnosticwriter/go.sum +20 -0
  268. package/targets/7.1/bridge/diagnosticwriter/lint.go +411 -0
  269. package/targets/7.1/bridge/diagnosticwriter/shim.go +56 -0
  270. package/targets/7.1/bridge/lsp/extra-shim.json +4 -0
  271. package/targets/7.1/bridge/lsp/go.mod +16 -0
  272. package/targets/7.1/bridge/lsp/go.sum +26 -0
  273. package/targets/7.1/bridge/lsp/shim.go +112 -0
  274. package/targets/7.1/bridge/parser/extra-shim.json +4 -0
  275. package/targets/7.1/bridge/parser/go.mod +14 -0
  276. package/targets/7.1/bridge/parser/go.sum +24 -0
  277. package/targets/7.1/bridge/parser/shim.go +61 -0
  278. package/targets/7.1/bridge/printer/emithost.go +69 -0
  279. package/targets/7.1/bridge/printer/go.mod +15 -0
  280. package/targets/7.1/bridge/printer/go.sum +24 -0
  281. package/targets/7.1/bridge/printer/shim.go +168 -0
  282. package/targets/7.1/bridge/printer/sourcemap.go +49 -0
  283. package/targets/7.1/bridge/scanner/extra-shim.json +4 -0
  284. package/targets/7.1/bridge/scanner/go.mod +14 -0
  285. package/targets/7.1/bridge/scanner/go.sum +20 -0
  286. package/targets/7.1/bridge/scanner/regexp.go +42 -0
  287. package/targets/7.1/bridge/scanner/shim.go +137 -0
  288. package/targets/7.1/bridge/stringutil/extra-shim.json +1 -0
  289. package/targets/7.1/bridge/stringutil/go.mod +5 -0
  290. package/targets/7.1/bridge/stringutil/go.sum +2 -0
  291. package/targets/7.1/bridge/stringutil/shim.go +131 -0
  292. package/targets/7.1/bridge/transformers/go.mod +15 -0
  293. package/targets/7.1/bridge/transformers/go.sum +24 -0
  294. package/targets/7.1/bridge/transformers/shim.go +24 -0
  295. package/targets/7.1/bridge/tsoptions/command_line_raw.go +44 -0
  296. package/targets/7.1/bridge/tsoptions/extra-shim.json +4 -0
  297. package/targets/7.1/bridge/tsoptions/go.mod +15 -0
  298. package/targets/7.1/bridge/tsoptions/go.sum +24 -0
  299. package/targets/7.1/bridge/tsoptions/neutral.go +47 -0
  300. package/targets/7.1/bridge/tsoptions/shim.go +193 -0
  301. package/targets/7.1/bridge/tspath/extra-shim.json +4 -0
  302. package/targets/7.1/bridge/tspath/go.mod +5 -0
  303. package/targets/7.1/bridge/tspath/go.sum +6 -0
  304. package/targets/7.1/bridge/tspath/neutral.go +142 -0
  305. package/targets/7.1/bridge/tspath/shim.go +382 -0
  306. package/targets/7.1/bridge/vfs/cachedvfs/extra-shim.json +4 -0
  307. package/targets/7.1/bridge/vfs/cachedvfs/go.mod +5 -0
  308. package/targets/7.1/bridge/vfs/cachedvfs/go.sum +10 -0
  309. package/targets/7.1/bridge/vfs/cachedvfs/shim.go +12 -0
  310. package/targets/7.1/bridge/vfs/decode.go +26 -0
  311. package/targets/7.1/bridge/vfs/decode_test.go +42 -0
  312. package/targets/7.1/bridge/vfs/extra-shim.json +4 -0
  313. package/targets/7.1/bridge/vfs/go.mod +10 -0
  314. package/targets/7.1/bridge/vfs/go.sum +10 -0
  315. package/targets/7.1/bridge/vfs/neutral.go +23 -0
  316. package/targets/7.1/bridge/vfs/osvfs/extra-shim.json +4 -0
  317. package/targets/7.1/bridge/vfs/osvfs/go.mod +10 -0
  318. package/targets/7.1/bridge/vfs/osvfs/go.sum +10 -0
  319. package/targets/7.1/bridge/vfs/osvfs/shim.go +14 -0
  320. package/targets/7.1/bridge/vfs/shim.go +27 -0
  321. package/targets/7.1/facade/ast/facade_gen.go +2691 -0
  322. package/targets/7.1/facade/ast/go.mod +20 -0
  323. package/targets/7.1/facade/ast/go.sum +20 -0
  324. package/targets/7.1/facade/astnav/facade_gen.go +15 -0
  325. package/targets/7.1/facade/astnav/go.mod +22 -0
  326. package/targets/7.1/facade/astnav/go.sum +22 -0
  327. package/targets/7.1/facade/bundled/facade_gen.go +32 -0
  328. package/targets/7.1/facade/bundled/go.mod +21 -0
  329. package/targets/7.1/facade/bundled/go.sum +10 -0
  330. package/targets/7.1/facade/checker/facade_gen.go +563 -0
  331. package/targets/7.1/facade/checker/go.mod +26 -0
  332. package/targets/7.1/facade/checker/go.sum +24 -0
  333. package/targets/7.1/facade/compiler/facade_gen.go +198 -0
  334. package/targets/7.1/facade/compiler/go.mod +41 -0
  335. package/targets/7.1/facade/compiler/go.sum +24 -0
  336. package/targets/7.1/facade/core/facade_gen.go +130 -0
  337. package/targets/7.1/facade/core/go.mod +12 -0
  338. package/targets/7.1/facade/core/go.sum +8 -0
  339. package/targets/7.1/facade/diagnosticwriter/facade_gen.go +36 -0
  340. package/targets/7.1/facade/diagnosticwriter/go.mod +22 -0
  341. package/targets/7.1/facade/diagnosticwriter/go.sum +20 -0
  342. package/targets/7.1/facade/lsp/facade_gen.go +31 -0
  343. package/targets/7.1/facade/lsp/go.mod +19 -0
  344. package/targets/7.1/facade/lsp/go.sum +26 -0
  345. package/targets/7.1/facade/parser/facade_gen.go +102 -0
  346. package/targets/7.1/facade/parser/go.mod +25 -0
  347. package/targets/7.1/facade/parser/go.sum +24 -0
  348. package/targets/7.1/facade/printer/facade_gen.go +74 -0
  349. package/targets/7.1/facade/printer/go.mod +26 -0
  350. package/targets/7.1/facade/printer/go.sum +24 -0
  351. package/targets/7.1/facade/scanner/facade_gen.go +191 -0
  352. package/targets/7.1/facade/scanner/go.mod +25 -0
  353. package/targets/7.1/facade/scanner/go.sum +20 -0
  354. package/targets/7.1/facade/stringutil/facade_gen.go +176 -0
  355. package/targets/7.1/facade/stringutil/go.mod +9 -0
  356. package/targets/7.1/facade/stringutil/go.sum +2 -0
  357. package/targets/7.1/facade/transformers/facade_gen.go +12 -0
  358. package/targets/7.1/facade/transformers/go.mod +18 -0
  359. package/targets/7.1/facade/transformers/go.sum +24 -0
  360. package/targets/7.1/facade/tsoptions/facade_gen.go +274 -0
  361. package/targets/7.1/facade/tsoptions/go.mod +32 -0
  362. package/targets/7.1/facade/tsoptions/go.sum +24 -0
  363. package/targets/7.1/facade/tspath/facade_gen.go +550 -0
  364. package/targets/7.1/facade/tspath/go.mod +9 -0
  365. package/targets/7.1/facade/tspath/go.sum +6 -0
  366. package/targets/7.1/facade/vfs/cachedvfs/facade_gen.go +17 -0
  367. package/targets/7.1/facade/vfs/cachedvfs/go.mod +18 -0
  368. package/targets/7.1/facade/vfs/cachedvfs/go.sum +10 -0
  369. package/targets/7.1/facade/vfs/facade_gen.go +47 -0
  370. package/targets/7.1/facade/vfs/go.mod +18 -0
  371. package/targets/7.1/facade/vfs/go.sum +10 -0
  372. package/targets/7.1/facade/vfs/osvfs/facade_gen.go +20 -0
  373. package/targets/7.1/facade/vfs/osvfs/go.mod +21 -0
  374. package/targets/7.1/facade/vfs/osvfs/go.sum +10 -0
  375. package/tools/gen_facade/committed_facades_match_their_bridges_test.go +57 -0
  376. package/tools/gen_facade/facade_manifest_points_into_the_bridge_root_test.go +75 -0
  377. package/tools/gen_facade/facade_spells_internal_types_through_bridge_aliases_test.go +75 -0
  378. package/tools/gen_facade/facade_types_are_their_bridge_types_test.go +99 -0
  379. package/tools/gen_facade/go.mod +10 -0
  380. package/tools/gen_facade/go.sum +8 -0
  381. package/tools/gen_facade/main.go +734 -0
  382. package/tools/gen_shims/go.mod +4 -4
  383. package/tools/gen_shims/go.sum +6 -6
  384. package/tools/gen_shims/main.go +124 -66
  385. package/tools/gen_shims/mirror_structs_terminate_on_unexported_cycles_test.go +101 -0
  386. package/tools/shim_audit/baseline-7.1.json +720 -0
  387. package/tools/shim_audit/baseline.json +5 -4
  388. package/tools/shim_audit/go.mod +4 -4
  389. package/tools/shim_audit/go.sum +6 -6
  390. package/tools/shim_audit/linkname_signatures.go +178 -0
  391. package/tools/shim_audit/linkname_signatures_match_their_targets_test.go +64 -0
  392. package/tools/shim_audit/linkname_targets_follow_the_audited_compiler_test.go +38 -0
  393. package/tools/shim_audit/main.go +29 -4
  394. package/tools/shim_audit/neutral_api.go +160 -0
  395. package/tools/shim_audit/neutral_api_must_match_across_targets_test.go +74 -0
  396. package/utility/host.go +5 -4
  397. package/utility/preamble_output.go +15 -15
  398. package/utility/serve.go +1 -1
@@ -0,0 +1,193 @@
1
+ // Code generated by packages/ttsc/tools/gen_shims. DO NOT EDIT.
2
+
3
+ package tsoptions
4
+
5
+ import "github.com/microsoft/TypeScript/tsc/internal/ast"
6
+ import "github.com/microsoft/TypeScript/tsc/internal/collections"
7
+ import "github.com/microsoft/TypeScript/tsc/internal/contentmapper"
8
+ import "github.com/microsoft/TypeScript/tsc/internal/core"
9
+ import "github.com/microsoft/TypeScript/tsc/internal/diagnostics"
10
+ import "github.com/microsoft/TypeScript/tsc/internal/tsoptions"
11
+ import "github.com/microsoft/TypeScript/tsc/internal/tspath"
12
+ import "github.com/microsoft/TypeScript/tsc/internal/vfs"
13
+ import _ "unsafe"
14
+
15
+ type AlternateModeDiagnostics = tsoptions.AlternateModeDiagnostics
16
+
17
+ var BuildNameMap = tsoptions.BuildNameMap
18
+ var BuildOpts = tsoptions.BuildOpts
19
+ var CommandLineCompilerOptionsMap = tsoptions.CommandLineCompilerOptionsMap
20
+
21
+ type CommandLineOption = tsoptions.CommandLineOption
22
+ type CommandLineOptionKind = tsoptions.CommandLineOptionKind
23
+ type CommandLineOptionNameMap = tsoptions.CommandLineOptionNameMap
24
+ type CommandLineOptionPathKind = tsoptions.CommandLineOptionPathKind
25
+
26
+ const CommandLineOptionPathKindConfigLocator = tsoptions.CommandLineOptionPathKindConfigLocator
27
+ const CommandLineOptionPathKindDirectory = tsoptions.CommandLineOptionPathKindDirectory
28
+ const CommandLineOptionPathKindFile = tsoptions.CommandLineOptionPathKindFile
29
+ const CommandLineOptionPathKindFileOrDirectory = tsoptions.CommandLineOptionPathKindFileOrDirectory
30
+ const CommandLineOptionPathKindFileSpec = tsoptions.CommandLineOptionPathKindFileSpec
31
+ const CommandLineOptionPathKindNone = tsoptions.CommandLineOptionPathKindNone
32
+ const CommandLineOptionPathKindPathPattern = tsoptions.CommandLineOptionPathKindPathPattern
33
+ const CommandLineOptionPathKindResolvedPathPattern = tsoptions.CommandLineOptionPathKindResolvedPathPattern
34
+ const CommandLineOptionPathKindSourceMapLocation = tsoptions.CommandLineOptionPathKindSourceMapLocation
35
+ const CommandLineOptionTypeBoolean = tsoptions.CommandLineOptionTypeBoolean
36
+ const CommandLineOptionTypeEnum = tsoptions.CommandLineOptionTypeEnum
37
+ const CommandLineOptionTypeList = tsoptions.CommandLineOptionTypeList
38
+ const CommandLineOptionTypeListOrElement = tsoptions.CommandLineOptionTypeListOrElement
39
+ const CommandLineOptionTypeNumber = tsoptions.CommandLineOptionTypeNumber
40
+ const CommandLineOptionTypeObject = tsoptions.CommandLineOptionTypeObject
41
+ const CommandLineOptionTypeString = tsoptions.CommandLineOptionTypeString
42
+
43
+ var CompilerNameMap = tsoptions.CompilerNameMap
44
+
45
+ //go:linkname CompilerOptionsAffectDeclarationPath github.com/microsoft/TypeScript/tsc/internal/tsoptions.CompilerOptionsAffectDeclarationPath
46
+ func CompilerOptionsAffectDeclarationPath(oldOptions *core.CompilerOptions, newOptions *core.CompilerOptions) bool
47
+
48
+ //go:linkname CompilerOptionsAffectEmit github.com/microsoft/TypeScript/tsc/internal/tsoptions.CompilerOptionsAffectEmit
49
+ func CompilerOptionsAffectEmit(oldOptions *core.CompilerOptions, newOptions *core.CompilerOptions) bool
50
+
51
+ //go:linkname CompilerOptionsAffectSemanticDiagnostics github.com/microsoft/TypeScript/tsc/internal/tsoptions.CompilerOptionsAffectSemanticDiagnostics
52
+ func CompilerOptionsAffectSemanticDiagnostics(oldOptions *core.CompilerOptions, newOptions *core.CompilerOptions) bool
53
+
54
+ var CompilerOptionsDidYouMeanDiagnostics = tsoptions.CompilerOptionsDidYouMeanDiagnostics
55
+
56
+ type CompilerOptionsValue = tsoptions.CompilerOptionsValue
57
+
58
+ //go:linkname ConvertOptionToAbsolutePath github.com/microsoft/TypeScript/tsc/internal/tsoptions.ConvertOptionToAbsolutePath
59
+ func ConvertOptionToAbsolutePath(o string, v any, optionMap tsoptions.CommandLineOptionNameMap, cwd tspath.RootedDirectoryPath) (any, bool)
60
+
61
+ //go:linkname ConvertToTSConfig github.com/microsoft/TypeScript/tsc/internal/tsoptions.ConvertToTSConfig
62
+ func ConvertToTSConfig(configParseResult *tsoptions.ParsedCommandLine, configFileName tspath.RootedFilePath) *tsoptions.TSConfig
63
+
64
+ //go:linkname CreateDiagnosticAtReferenceSyntax github.com/microsoft/TypeScript/tsc/internal/tsoptions.CreateDiagnosticAtReferenceSyntax
65
+ func CreateDiagnosticAtReferenceSyntax(config *tsoptions.ParsedCommandLine, index int, message *diagnostics.Message, args ...any) *ast.Diagnostic
66
+
67
+ //go:linkname CreateDiagnosticForNodeInSourceFile github.com/microsoft/TypeScript/tsc/internal/tsoptions.CreateDiagnosticForNodeInSourceFile
68
+ func CreateDiagnosticForNodeInSourceFile(sourceFile *ast.SourceFile, node *ast.Node, message *diagnostics.Message, args ...any) *ast.Diagnostic
69
+
70
+ //go:linkname CreateDiagnosticForNodeInSourceFileOrCompilerDiagnostic github.com/microsoft/TypeScript/tsc/internal/tsoptions.CreateDiagnosticForNodeInSourceFileOrCompilerDiagnostic
71
+ func CreateDiagnosticForNodeInSourceFileOrCompilerDiagnostic(sourceFile *ast.SourceFile, node *ast.Node, message *diagnostics.Message, args ...any) *ast.Diagnostic
72
+
73
+ type DidYouMeanOptionsDiagnostics = tsoptions.DidYouMeanOptionsDiagnostics
74
+ type ExtendedConfigCache = tsoptions.ExtendedConfigCache
75
+ type ExtendedConfigCacheEntry = tsoptions.ExtendedConfigCacheEntry
76
+
77
+ //go:linkname ForEachCompilerOptionAffectingBuildInfo github.com/microsoft/TypeScript/tsc/internal/tsoptions.ForEachCompilerOptionAffectingBuildInfo
78
+ func ForEachCompilerOptionAffectingBuildInfo(options *core.CompilerOptions, fn func(option *tsoptions.CommandLineOption, value any))
79
+
80
+ //go:linkname GetCallbackForFindingPropertyAssignmentByValue github.com/microsoft/TypeScript/tsc/internal/tsoptions.GetCallbackForFindingPropertyAssignmentByValue
81
+ func GetCallbackForFindingPropertyAssignmentByValue(value string) func(property *ast.PropertyAssignment) *ast.Node
82
+
83
+ //go:linkname GetContentMapperOptionDiagnosticLocation github.com/microsoft/TypeScript/tsc/internal/tsoptions.GetContentMapperOptionDiagnosticLocation
84
+ func GetContentMapperOptionDiagnosticLocation(config *tsoptions.ParsedCommandLine, mapper *contentmapper.Mapper, path []contentmapper.OptionPathSegment) (*ast.SourceFile, core.TextRange)
85
+
86
+ //go:linkname GetDefaultLibFileName github.com/microsoft/TypeScript/tsc/internal/tsoptions.GetDefaultLibFileName
87
+ func GetDefaultLibFileName(options *core.CompilerOptions) string
88
+
89
+ //go:linkname GetLibFileName github.com/microsoft/TypeScript/tsc/internal/tsoptions.GetLibFileName
90
+ func GetLibFileName(libName string) (string, bool)
91
+
92
+ //go:linkname GetNameMapFromList github.com/microsoft/TypeScript/tsc/internal/tsoptions.GetNameMapFromList
93
+ func GetNameMapFromList(optDecls []*tsoptions.CommandLineOption) *tsoptions.NameMap
94
+
95
+ //go:linkname GetOptionsSyntaxByArrayElementValue github.com/microsoft/TypeScript/tsc/internal/tsoptions.GetOptionsSyntaxByArrayElementValue
96
+ func GetOptionsSyntaxByArrayElementValue(objectLiteral *ast.ObjectLiteralExpression, propKey string, elementValue string) *ast.Node
97
+
98
+ //go:linkname GetParsedCommandLineOfConfigFile github.com/microsoft/TypeScript/tsc/internal/tsoptions.GetParsedCommandLineOfConfigFile
99
+ func GetParsedCommandLineOfConfigFile(configFileName tspath.RootedFilePath, options *core.CompilerOptions, optionsRaw *collections.OrderedMap[string, any], host tsoptions.ParseConfigHost, extendedConfigCache tsoptions.ExtendedConfigCache) (*tsoptions.ParsedCommandLine, []*ast.Diagnostic)
100
+
101
+ //go:linkname GetParsedCommandLineOfConfigFilePath github.com/microsoft/TypeScript/tsc/internal/tsoptions.GetParsedCommandLineOfConfigFilePath
102
+ func GetParsedCommandLineOfConfigFilePath(configFileName tspath.RootedFilePath, path tspath.PathKey, options *core.CompilerOptions, optionsRaw *collections.OrderedMap[string, any], host tsoptions.ParseConfigHost, extendedConfigCache tsoptions.ExtendedConfigCache) (*tsoptions.ParsedCommandLine, []*ast.Diagnostic)
103
+
104
+ //go:linkname GetSupportedExtensions github.com/microsoft/TypeScript/tsc/internal/tsoptions.GetSupportedExtensions
105
+ func GetSupportedExtensions(compilerOptions *core.CompilerOptions, extraExtensions []string) [][]string
106
+
107
+ //go:linkname GetSupportedExtensionsWithJsonIfResolveJsonModule github.com/microsoft/TypeScript/tsc/internal/tsoptions.GetSupportedExtensionsWithJsonIfResolveJsonModule
108
+ func GetSupportedExtensionsWithJsonIfResolveJsonModule(compilerOptions *core.CompilerOptions, supportedExtensions [][]string) [][]string
109
+
110
+ //go:linkname GetTsConfigPropArrayElementValue github.com/microsoft/TypeScript/tsc/internal/tsoptions.GetTsConfigPropArrayElementValue
111
+ func GetTsConfigPropArrayElementValue(tsConfigSourceFile *ast.SourceFile, propKey string, elementValue string) *ast.StringLiteral
112
+
113
+ var LibFilesSet = tsoptions.LibFilesSet
114
+ var LibMap = tsoptions.LibMap
115
+ var Libs = tsoptions.Libs
116
+
117
+ type NameMap = tsoptions.NameMap
118
+
119
+ //go:linkname NewDefaultParseConfigHost github.com/microsoft/TypeScript/tsc/internal/tsoptions.NewDefaultParseConfigHost
120
+ func NewDefaultParseConfigHost(fs vfs.FS) tsoptions.ParseConfigHost
121
+
122
+ //go:linkname NewParsedCommandLine github.com/microsoft/TypeScript/tsc/internal/tsoptions.NewParsedCommandLine
123
+ func NewParsedCommandLine(compilerOptions *core.CompilerOptions, rootFileNames []tspath.RootedFilePath, projectReferences []*core.ProjectReference, baseDirectory tspath.RootedDirectoryPath, caseSensitivity tspath.CaseSensitivity) *tsoptions.ParsedCommandLine
124
+
125
+ //go:linkname NewTsconfigSourceFileFromFilePath github.com/microsoft/TypeScript/tsc/internal/tsoptions.NewTsconfigSourceFileFromFilePath
126
+ func NewTsconfigSourceFileFromFilePath(configFileName tspath.RootedFilePath, configPath tspath.PathKey, configSourceText string) *tsoptions.TsConfigSourceFile
127
+
128
+ var OptionsDeclarations = tsoptions.OptionsDeclarations
129
+ var OptionsForBuild = tsoptions.OptionsForBuild
130
+
131
+ //go:linkname ParseBuildCommandLine github.com/microsoft/TypeScript/tsc/internal/tsoptions.ParseBuildCommandLine
132
+ func ParseBuildCommandLine(commandLine []string, fs vfs.FS, currentDirectory tspath.RootedDirectoryPath) *tsoptions.ParsedBuildCommandLine
133
+
134
+ //go:linkname ParseBuildOptions github.com/microsoft/TypeScript/tsc/internal/tsoptions.ParseBuildOptions
135
+ func ParseBuildOptions(key string, value any, allOptions *core.BuildOptions)
136
+
137
+ //go:linkname ParseCommandLine github.com/microsoft/TypeScript/tsc/internal/tsoptions.ParseCommandLine
138
+ func ParseCommandLine(commandLine []string, fs vfs.FS, currentDirectory tspath.RootedDirectoryPath) *tsoptions.ParsedCommandLine
139
+
140
+ type ParseCommandLineWorkerDiagnostics = tsoptions.ParseCommandLineWorkerDiagnostics
141
+
142
+ //go:linkname ParseCompilerOptions github.com/microsoft/TypeScript/tsc/internal/tsoptions.ParseCompilerOptions
143
+ func ParseCompilerOptions(key string, value any, allOptions *core.CompilerOptions)
144
+
145
+ //go:linkname ParseConfigFileTextToJson github.com/microsoft/TypeScript/tsc/internal/tsoptions.ParseConfigFileTextToJson
146
+ func ParseConfigFileTextToJson(fileName tspath.RootedFilePath, path tspath.PathKey, jsonText string) (any, []*ast.Diagnostic)
147
+
148
+ type ParseConfigHost = tsoptions.ParseConfigHost
149
+
150
+ //go:linkname ParseExtendedConfig github.com/microsoft/TypeScript/tsc/internal/tsoptions.ParseExtendedConfig
151
+ func ParseExtendedConfig(fileName tspath.RootedFilePath, path tspath.PathKey, resolutionStack []tspath.PathKey, fs vfs.FS, extendedConfigCache tsoptions.ExtendedConfigCache) *tsoptions.ExtendedConfigCacheEntry
152
+
153
+ //go:linkname ParseJsonConfigFileContent github.com/microsoft/TypeScript/tsc/internal/tsoptions.ParseJsonConfigFileContent
154
+ func ParseJsonConfigFileContent(json any, host tsoptions.ParseConfigHost, basePath tspath.RootedDirectoryPath, existingOptions *core.CompilerOptions, configFileName tspath.RootedFilePath, resolutionStack []tspath.PathKey, extendedConfigCache tsoptions.ExtendedConfigCache) *tsoptions.ParsedCommandLine
155
+
156
+ //go:linkname ParseJsonSourceFileConfigFileContent github.com/microsoft/TypeScript/tsc/internal/tsoptions.ParseJsonSourceFileConfigFileContent
157
+ func ParseJsonSourceFileConfigFileContent(sourceFile *tsoptions.TsConfigSourceFile, host tsoptions.ParseConfigHost, basePath tspath.RootedDirectoryPath, existingOptions *core.CompilerOptions, existingOptionsRaw *collections.OrderedMap[string, any], resolutionStack []tspath.PathKey, extendedConfigCache tsoptions.ExtendedConfigCache) *tsoptions.ParsedCommandLine
158
+
159
+ //go:linkname ParseListTypeOption github.com/microsoft/TypeScript/tsc/internal/tsoptions.ParseListTypeOption
160
+ func ParseListTypeOption(opt *tsoptions.CommandLineOption, value string) ([]any, []*ast.Diagnostic)
161
+
162
+ //go:linkname ParseString github.com/microsoft/TypeScript/tsc/internal/tsoptions.ParseString
163
+ func ParseString(value any) string
164
+
165
+ //go:linkname ParseStringArray github.com/microsoft/TypeScript/tsc/internal/tsoptions.ParseStringArray
166
+ func ParseStringArray(value any) []string
167
+
168
+ //go:linkname ParseTristate github.com/microsoft/TypeScript/tsc/internal/tsoptions.ParseTristate
169
+ func ParseTristate(value any) core.Tristate
170
+
171
+ //go:linkname ParseTypeAcquisition github.com/microsoft/TypeScript/tsc/internal/tsoptions.ParseTypeAcquisition
172
+ func ParseTypeAcquisition(key string, value any, allOptions *core.TypeAcquisition)
173
+
174
+ type ParsedBuildCommandLine = tsoptions.ParsedBuildCommandLine
175
+ type ParsedCommandLine = tsoptions.ParsedCommandLine
176
+ type ParsedOptions = tsoptions.ParsedOptions
177
+
178
+ //go:linkname PathValueAsString github.com/microsoft/TypeScript/tsc/internal/tsoptions.PathValueAsString
179
+ func PathValueAsString(value any) (string, bool)
180
+
181
+ //go:linkname PathValuesAsStrings github.com/microsoft/TypeScript/tsc/internal/tsoptions.PathValuesAsStrings
182
+ func PathValuesAsStrings(value any) ([]string, bool)
183
+
184
+ type RawCompilerOptions = tsoptions.RawCompilerOptions
185
+ type SourceOutputAndProjectReference = tsoptions.SourceOutputAndProjectReference
186
+ type TSConfig = tsoptions.TSConfig
187
+
188
+ //go:linkname TargetToLibMap github.com/microsoft/TypeScript/tsc/internal/tsoptions.TargetToLibMap
189
+ func TargetToLibMap() map[core.ScriptTarget]string
190
+
191
+ type TsConfigSourceFile = tsoptions.TsConfigSourceFile
192
+
193
+ var TscBuildOption = tsoptions.TscBuildOption
@@ -0,0 +1,4 @@
1
+ {
2
+ "ExtraMethods": {},
3
+ "ExtraFields": {}
4
+ }
@@ -0,0 +1,5 @@
1
+ module github.com/microsoft/TypeScript/tsc/shim/tspath
2
+
3
+ go 1.27
4
+
5
+ require github.com/microsoft/TypeScript/tsc v0.0.0-20261019224239-28534d760906
@@ -0,0 +1,6 @@
1
+ github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
2
+ github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
3
+ github.com/microsoft/TypeScript/tsc v0.0.0-20261019224239-28534d760906 h1:Wn+Kp4ORyay6jJwvOng7G8pTD6HOP+Fwx8si66Wq7Bk=
4
+ github.com/microsoft/TypeScript/tsc v0.0.0-20261019224239-28534d760906/go.mod h1:28hWKaTYwRARPm0T9Y0XvdvYpU2HtjONzsMqAdYLucY=
5
+ gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q=
6
+ gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA=
@@ -0,0 +1,142 @@
1
+ package tspath
2
+
3
+ // Version-neutral path operations.
4
+ //
5
+ // TypeScript 7.1 makes these path operations methods of its typed paths and
6
+ // CaseSensitivity, while TypeScript 7.0 spells the same values as strings and
7
+ // booleans that cannot carry methods. Code that must compile on both compiler
8
+ // targets calls these functions, which the 7.0 shim declares with identical
9
+ // signatures over its own path functions; here each forwards to the 7.1 method.
10
+
11
+ // Canonicalize applies the case policy to text used as a path identity: an
12
+ // insensitive policy lowercases it the way file names compare.
13
+ //
14
+ // @evidence contracts/common.md#principled-implementation Forwards to CaseSensitivity.Canonicalize, the compiler's own path-identity canonicalization.
15
+ // @evidence contracts/common.md#clear-and-simple-design One forwarding call keeps the target difference inside the shim.
16
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts No case folding is reimplemented here.
17
+ // @evidence contracts/common.md#meaningful-documentation Native prose states the insensitive-policy effect.
18
+ // @evidenceExclude contracts/portability.md#os-neutral-implementation Text canonicalization performs no native filesystem, path or process operation; the policy is supplied, not read from the OS.
19
+ // @evidenceExclude contracts/performance.md#efficient-algorithms The compiler owns the single pass over the text.
20
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work The function coordinates no shared work.
21
+ // @evidenceExclude contracts/performance.md#bound-retention-and-release-resources The function retains nothing beyond the returned string.
22
+ func Canonicalize(caseSensitivity CaseSensitivity, text string) string {
23
+ return caseSensitivity.Canonicalize(text)
24
+ }
25
+
26
+ // CompareFilePaths orders two rooted, normalized file paths under the case
27
+ // policy, returning a negative, zero or positive result.
28
+ //
29
+ // @evidence contracts/common.md#principled-implementation Forwards to CaseSensitivity.CompareFilePaths, which compares rooted text without combining or reducing components.
30
+ // @evidence contracts/common.md#clear-and-simple-design One forwarding call keeps the target difference inside the shim.
31
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts No comparison is reimplemented here.
32
+ // @evidence contracts/common.md#meaningful-documentation Native prose states the operand requirements and the result sign.
33
+ // @evidenceExclude contracts/portability.md#os-neutral-implementation Comparison reads its arguments only; it opens no file and calls no process.
34
+ // @evidenceExclude contracts/performance.md#efficient-algorithms The compiler owns the comparison over the path text.
35
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work The function coordinates no shared work.
36
+ // @evidenceExclude contracts/performance.md#bound-retention-and-release-resources The function retains nothing.
37
+ func CompareFilePaths(caseSensitivity CaseSensitivity, a RootedFilePath, b RootedFilePath) int {
38
+ return caseSensitivity.CompareFilePaths(a, b)
39
+ }
40
+
41
+ // ContainsPathWith reports whether child is parent or lies below it under the
42
+ // case policy. Both paths must be rooted and normalized.
43
+ //
44
+ // @evidence contracts/common.md#principled-implementation Forwards to CaseSensitivity.ContainsPath, the compiler's rooted containment test.
45
+ // @evidence contracts/common.md#clear-and-simple-design One forwarding call keeps the target difference inside the shim.
46
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts No containment test is reimplemented here.
47
+ // @evidence contracts/common.md#meaningful-documentation Native prose states the inclusive meaning and operand requirements.
48
+ // @evidenceExclude contracts/portability.md#os-neutral-implementation Containment reads its arguments only; it opens no file and calls no process.
49
+ // @evidenceExclude contracts/performance.md#efficient-algorithms The compiler owns the prefix comparison.
50
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work The function coordinates no shared work.
51
+ // @evidenceExclude contracts/performance.md#bound-retention-and-release-resources The function retains nothing.
52
+ func ContainsPathWith(caseSensitivity CaseSensitivity, parent RootedDirectoryPath, child RootedPath) bool {
53
+ return caseSensitivity.ContainsPath(parent, child)
54
+ }
55
+
56
+ // RelativePathFromFile returns to relative to the directory of from. The
57
+ // boolean is false when the two paths share no root to relate them through.
58
+ //
59
+ // @evidence contracts/common.md#principled-implementation Forwards to CaseSensitivity.RelativePathFromFile.
60
+ // @evidence contracts/common.md#clear-and-simple-design One forwarding call keeps the target difference inside the shim.
61
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts No relative-path computation is reimplemented here.
62
+ // @evidence contracts/common.md#meaningful-documentation Native prose states the base directory and the false result.
63
+ // @evidenceExclude contracts/portability.md#os-neutral-implementation Relativization reads its arguments only; it opens no file and calls no process.
64
+ // @evidenceExclude contracts/performance.md#efficient-algorithms The compiler owns the component walk.
65
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work The function coordinates no shared work.
66
+ // @evidenceExclude contracts/performance.md#bound-retention-and-release-resources The function retains nothing beyond the returned path.
67
+ func RelativePathFromFile(caseSensitivity CaseSensitivity, from RootedFilePath, to RootedFilePath) (RelativePath, bool) {
68
+ return caseSensitivity.RelativePathFromFile(from, to)
69
+ }
70
+
71
+ // RelativeModuleSpecifier spells a relative path as a module specifier, adding
72
+ // the leading "./" a bare relative path needs.
73
+ //
74
+ // @evidence contracts/common.md#principled-implementation Forwards to RelativePath.AsModuleSpecifier.
75
+ // @evidence contracts/common.md#clear-and-simple-design One forwarding call keeps the target difference inside the shim.
76
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts No specifier spelling is reimplemented here.
77
+ // @evidence contracts/common.md#meaningful-documentation Native prose states the added "./" prefix.
78
+ // @evidenceExclude contracts/portability.md#os-neutral-implementation The conversion reads its argument only.
79
+ // @evidenceExclude contracts/performance.md#efficient-algorithms The compiler owns the prefix check.
80
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work The function coordinates no shared work.
81
+ // @evidenceExclude contracts/performance.md#bound-retention-and-release-resources The function retains nothing beyond the returned specifier.
82
+ func RelativeModuleSpecifier(path RelativePath) ModuleSpecifier {
83
+ return path.AsModuleSpecifier()
84
+ }
85
+
86
+ // ResolveFile resolves path against a rooted directory and normalizes the
87
+ // result. directory must not be empty.
88
+ //
89
+ // @evidence contracts/common.md#principled-implementation Forwards to RootedDirectoryPath.ResolveFile, which panics on an empty directory.
90
+ // @evidence contracts/common.md#clear-and-simple-design One forwarding call keeps the target difference inside the shim.
91
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts No resolution is reimplemented here.
92
+ // @evidence contracts/common.md#meaningful-documentation Native prose states the normalization and the empty-directory precondition.
93
+ // @evidenceExclude contracts/portability.md#os-neutral-implementation Resolution manipulates path text only; it reads no filesystem.
94
+ // @evidenceExclude contracts/performance.md#efficient-algorithms The compiler owns the normalization pass.
95
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work The function coordinates no shared work.
96
+ // @evidenceExclude contracts/performance.md#bound-retention-and-release-resources The function retains nothing beyond the returned path.
97
+ func ResolveFile(directory RootedDirectoryPath, path string) RootedFilePath {
98
+ return directory.ResolveFile(path)
99
+ }
100
+
101
+ // FileBaseName returns the last component of a rooted file path.
102
+ //
103
+ // @evidence contracts/common.md#principled-implementation Forwards to RootedFilePath.BaseName.
104
+ // @evidence contracts/common.md#clear-and-simple-design One forwarding call keeps the target difference inside the shim.
105
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts No component split is reimplemented here.
106
+ // @evidence contracts/common.md#meaningful-documentation Native prose states which component is returned.
107
+ // @evidenceExclude contracts/portability.md#os-neutral-implementation The split reads its argument only.
108
+ // @evidenceExclude contracts/performance.md#efficient-algorithms The compiler owns the separator scan.
109
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work The function coordinates no shared work.
110
+ // @evidenceExclude contracts/performance.md#bound-retention-and-release-resources The function retains nothing beyond the returned name.
111
+ func FileBaseName(fileName RootedFilePath) string {
112
+ return fileName.BaseName()
113
+ }
114
+
115
+ // FileDirectory returns the rooted directory that contains a file.
116
+ //
117
+ // @evidence contracts/common.md#principled-implementation Forwards to RootedFilePath.Directory.
118
+ // @evidence contracts/common.md#clear-and-simple-design One forwarding call keeps the target difference inside the shim.
119
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts No directory split is reimplemented here.
120
+ // @evidence contracts/common.md#meaningful-documentation Native prose states the returned directory.
121
+ // @evidenceExclude contracts/portability.md#os-neutral-implementation The split reads its argument only.
122
+ // @evidenceExclude contracts/performance.md#efficient-algorithms The compiler owns the separator scan.
123
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work The function coordinates no shared work.
124
+ // @evidenceExclude contracts/performance.md#bound-retention-and-release-resources The function retains nothing beyond the returned directory.
125
+ func FileDirectory(fileName RootedFilePath) RootedDirectoryPath {
126
+ return fileName.Directory()
127
+ }
128
+
129
+ // RelativePathFromDirectoryWith returns path relative to directory under the
130
+ // case policy. A path on another root comes back absolute.
131
+ //
132
+ // @evidence contracts/common.md#principled-implementation Calls Forwards to 7.1's GetRelativePathFromDirectory with the case policy.
133
+ // @evidence contracts/common.md#clear-and-simple-design One upstream call keeps the target difference inside the shim.
134
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts No relative-path computation is reimplemented here.
135
+ // @evidence contracts/common.md#meaningful-documentation Native prose states the result for different roots.
136
+ // @evidenceExclude contracts/portability.md#os-neutral-implementation Relativization reads its arguments only; it opens no file and calls no process.
137
+ // @evidenceExclude contracts/performance.md#efficient-algorithms The compiler owns the component walk.
138
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work The function coordinates no shared work.
139
+ // @evidenceExclude contracts/performance.md#bound-retention-and-release-resources The function retains nothing beyond the returned path.
140
+ func RelativePathFromDirectoryWith(caseSensitivity CaseSensitivity, directory string, path string) string {
141
+ return GetRelativePathFromDirectory(directory, path, caseSensitivity)
142
+ }