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.
- package/README.md +2 -0
- package/cmd/ttsc/api_compile.go +3 -2
- package/cmd/ttsc/api_transform.go +1 -1
- package/cmd/ttsc/build.go +5 -4
- package/cmd/ttsc-cache/account.go +16 -0
- package/cmd/ttsc-cache/account_test.go +91 -0
- package/cmd/ttsc-cache/main.go +1 -1
- package/cmd/ttsc-cache/protocol_test.go +2 -2
- package/cmd/ttsc-cache/publisher_seal_test.go +1 -1
- package/cmd/ttsc-cache/stock_go_failure_test.go +1 -1
- package/cmd/ttsc-cache/stock_go_test.go +2 -2
- package/cmd/ttsc-cache/store.go +5 -0
- package/cmd/ttsc-cache/tuple.go +6 -2
- package/cmd/ttsc-cache/tuple_test.go +1 -1
- package/cmd/ttscgraph/main.go +6 -1
- package/cmd/ttscgraph/run_help_version_and_bad_flags_exit_codes_test.go +6 -1
- package/cmd/ttscgraph/serve.go +22 -20
- package/cmd/ttscgraph/serve_alternative_members_and_reads_refresh_test.go +95 -0
- package/cmd/ttscgraph/serve_shards.go +26 -15
- package/cmd/ttscgraph/serve_shards_abandoned_generation_converges_on_retry_test.go +2 -2
- package/cmd/ttscgraph/serve_shards_delete_removed_source_test.go +3 -3
- package/cmd/ttscgraph/serve_shards_prune_unreferenced_external_endpoints_test.go +1 -1
- package/cmd/ttscgraph/serve_shards_publish_created_source_test.go +3 -3
- package/cmd/ttscgraph/serve_shards_refresh_cross_file_implementation_test.go +2 -2
- package/cmd/ttscgraph/serve_shards_refresh_dependent_diagnostics_test.go +3 -3
- package/cmd/ttscgraph/serve_shards_rename_moves_source_identity_test.go +5 -5
- package/cmd/ttscgraph/serve_shards_reuse_unaffected_sources_test.go +8 -8
- package/cmd/ttscgraph/serve_source_encoding_test.go +2 -2
- package/driver/build_information_uses_selected_output_identity_test.go +5 -4
- package/driver/check_observations.go +1 -1
- package/driver/config_discovery.go +5 -1
- package/driver/declaration_shape.go +15 -21
- package/driver/diagnostics_preamble.go +2 -2
- package/driver/emit_containment.go +11 -14
- package/driver/emit_plugin.go +51 -43
- package/driver/emit_plugin_output.go +6 -5
- package/driver/emit_provenance.go +12 -15
- package/driver/graph.go +8 -8
- package/driver/host.go +15 -5
- package/driver/input_observation.go +22 -21
- package/driver/input_observation_test.go +11 -10
- package/driver/overlay.go +11 -11
- package/driver/program.go +102 -51
- package/driver/resolution_candidates.go +50 -32
- package/driver/resolution_candidates_test.go +18 -5
- package/driver/rewrite.go +11 -13
- package/driver/session.go +13 -7
- package/driver/target_ts70.go +85 -0
- package/driver/target_ts71.go +97 -0
- package/driver/transform_dependencies.go +1 -1
- package/driver/transform_source_map.go +21 -20
- package/go.mod +3 -3
- package/go.sum +4 -4
- package/internal/graph/alternative_member_declarations_resolve_uses_test.go +145 -0
- package/internal/graph/assigned_implementations_of_declaration_file_symbols_leave_no_edge_source_test.go +2 -2
- package/internal/graph/assigned_implementations_of_node_modules_symbols_leave_no_edge_source_test.go +2 -2
- package/internal/graph/build.go +75 -33
- package/internal/graph/build_files_reuses_committed_cross_file_endpoints_test.go +4 -4
- package/internal/graph/build_records_a_node_per_top_level_declaration_test.go +1 -1
- package/internal/graph/declaration_members.go +143 -0
- package/internal/graph/decorators_capture_name_and_literal_arguments_test.go +3 -3
- package/internal/graph/doc_tags.go +2 -2
- package/internal/graph/dump_paths.go +6 -5
- package/internal/graph/duplicate_variable_object_members_keep_first_declaration_test.go +1 -1
- package/internal/graph/edges.go +151 -68
- package/internal/graph/edges_cover_class_level_references_test.go +5 -5
- package/internal/graph/enum_initializer_calls_are_edges_test.go +2 -2
- package/internal/graph/enum_members_carry_their_names_on_the_enum_node_test.go +6 -6
- package/internal/graph/exports.go +6 -6
- package/internal/graph/file_diagnostics_match_tsgo_code_and_location_test.go +2 -2
- package/internal/graph/file_diagnostics_report_code_column_and_message_test.go +1 -1
- package/internal/graph/function_locals_do_not_collide_test.go +3 -3
- package/internal/graph/heritage_edges_cover_implements_and_interface_extends_test.go +5 -5
- package/internal/graph/heritage_edges_keep_extends_and_implements_to_same_base_test.go +2 -2
- package/internal/graph/heritage_edges_record_extends_versus_implements_origin_test.go +3 -3
- package/internal/graph/heritage_edges_traverse_barrels_and_stop_at_external_leaves_test.go +3 -3
- package/internal/graph/literals.go +3 -3
- package/internal/graph/literals_are_absent_when_the_type_admits_more_than_it_can_name_test.go +2 -2
- package/internal/graph/literals_cover_enum_members_the_graph_has_no_nodes_for_test.go +4 -4
- package/internal/graph/literals_do_not_depend_on_declaration_line_wrapping_test.go +2 -2
- package/internal/graph/literals_render_every_value_in_typescript_source_form_test.go +1 -1
- package/internal/graph/literals_resolve_through_alias_indirection_test.go +3 -3
- package/internal/graph/member_relation_edges_follow_checker_validity_test.go +7 -7
- package/internal/graph/member_relation_edges_preserve_checker_boundaries_test.go +19 -19
- package/internal/graph/member_relation_edges_reject_checker_invalid_pairs_test.go +11 -11
- package/internal/graph/namespace_dotted_form_qualifies_deeply_test.go +2 -2
- package/internal/graph/namespace_members_become_qualified_nodes_and_edges_test.go +7 -7
- package/internal/graph/namespace_private_declarations_keep_lexical_identity_test.go +85 -0
- package/internal/graph/nodes_are_marked_exported_through_the_export_table_test.go +2 -2
- package/internal/graph/object_literal_declarations_resolve_calls_test.go +9 -9
- package/internal/graph/object_literal_members_ride_on_the_snapshot_test.go +1 -1
- package/internal/graph/overload_implementation_replaces_signature_test.go +2 -2
- package/internal/graph/property_member_edges_remain_owner_visible_test.go +6 -6
- package/internal/graph/resolve.go +37 -12
- package/internal/graph/resolve_unwraps_barrel_reexport_to_real_declaration_test.go +6 -6
- package/internal/graph/source.go +1 -1
- package/internal/graph/type_ref_edges_cover_typeof_as_satisfies_test.go +7 -7
- package/internal/graph/type_ref_edges_resolve_named_types_across_files_test.go +2 -2
- package/internal/graph/value_access_edges_cover_properties_test.go +5 -5
- package/internal/graph/value_call_edges_attribute_function_assignments_to_members_test.go +3 -3
- package/internal/graph/value_call_edges_cover_jsx_components_test.go +2 -2
- package/internal/graph/value_call_edges_cover_methods_and_constructors_test.go +3 -3
- package/internal/graph/value_call_edges_cover_variable_bound_callables_test.go +2 -2
- package/internal/graph/value_call_edges_do_not_double_record_invoked_member_access_test.go +4 -4
- package/internal/graph/value_call_edges_record_construct_versus_call_origin_test.go +3 -3
- package/internal/graph/value_call_edges_resolve_across_files_and_dedupe_test.go +2 -2
- package/internal/graph/value_call_edges_skip_self_and_unresolved_test.go +4 -4
- package/internal/graph/value_reads_cover_expression_positions_test.go +88 -0
- package/lib/compiler/internal/buildNativeCompiler.d.ts +5 -2
- package/lib/compiler/internal/buildNativeCompiler.js +12 -4
- package/lib/compiler/internal/buildNativeCompiler.js.map +1 -1
- package/lib/flags/COMPILER_ENUM_WHITESPACE.js +1 -1
- package/lib/flags/COMPILER_ENUM_WHITESPACE.js.map +1 -1
- package/lib/flags/COMPILER_OPTIONS.js +1079 -149
- package/lib/flags/COMPILER_OPTIONS.js.map +1 -1
- package/lib/flags/COMPILER_OPTION_ASCII_FOLDS.js +1 -1
- package/lib/flags/COMPILER_OPTION_ASCII_FOLDS.js.map +1 -1
- package/lib/flags/COMPILER_OPTION_KINDS.js +1 -1
- package/lib/flags/COMPILER_OPTION_KINDS.js.map +1 -1
- package/lib/flags/CompilerOptionSpec.d.ts +9 -2
- package/lib/internal/pluginSource.d.ts +1 -0
- package/lib/internal/pluginSource.js +1 -0
- package/lib/internal/pluginSource.js.map +1 -1
- package/lib/launcher/internal/TypeScriptSyncApi.d.ts +140 -0
- package/lib/launcher/internal/TypeScriptSyncApi.js +99 -0
- package/lib/launcher/internal/TypeScriptSyncApi.js.map +1 -0
- package/lib/launcher/internal/buildSingleRootInMemory.d.ts +80 -0
- package/lib/launcher/internal/buildSingleRootInMemory.js +253 -0
- package/lib/launcher/internal/buildSingleRootInMemory.js.map +1 -0
- package/lib/launcher/internal/buildSingleRootProject.d.ts +22 -18
- package/lib/launcher/internal/buildSingleRootProject.js +27 -18
- package/lib/launcher/internal/buildSingleRootProject.js.map +1 -1
- package/lib/launcher/internal/compilerArgsAsConfigOptions.d.ts +39 -0
- package/lib/launcher/internal/compilerArgsAsConfigOptions.js +115 -0
- package/lib/launcher/internal/compilerArgsAsConfigOptions.js.map +1 -0
- package/lib/plugin/CapabilityPluginResolver.js +3 -0
- package/lib/plugin/CapabilityPluginResolver.js.map +1 -1
- package/lib/plugin/internal/load/loadProjectPlugins.js +6 -2
- package/lib/plugin/internal/load/loadProjectPlugins.js.map +1 -1
- package/lib/plugin/internal/source/CompilerTarget.d.ts +127 -0
- package/lib/plugin/internal/source/CompilerTarget.js +231 -0
- package/lib/plugin/internal/source/CompilerTarget.js.map +1 -0
- package/lib/plugin/internal/source/NativeSourcePackages.js +6 -5
- package/lib/plugin/internal/source/NativeSourcePackages.js.map +1 -1
- package/lib/plugin/internal/source/SourcePluginAdmission.d.ts +18 -1
- package/lib/plugin/internal/source/SourcePluginAdmission.js +24 -2
- package/lib/plugin/internal/source/SourcePluginAdmission.js.map +1 -1
- package/lib/plugin/internal/source/SourcePluginWorkspace.d.ts +6 -3
- package/lib/plugin/internal/source/SourcePluginWorkspace.js +31 -13
- package/lib/plugin/internal/source/SourcePluginWorkspace.js.map +1 -1
- package/lib/plugin/internal/source/buildSourcePlugin.js +3 -1
- package/lib/plugin/internal/source/buildSourcePlugin.js.map +1 -1
- package/lib/plugin/internal/source/hashPluginBuildEnvironment.d.ts +1 -1
- package/lib/plugin/internal/source/hashPluginBuildEnvironment.js +9 -1
- package/lib/plugin/internal/source/hashPluginBuildEnvironment.js.map +1 -1
- package/package.json +14 -9
- package/shim/ast/enums_gen.go +1 -0
- package/shim/ast/go.mod +2 -2
- package/shim/ast/go.sum +4 -4
- package/shim/ast/neutral.go +141 -0
- package/shim/astnav/go.mod +2 -2
- package/shim/astnav/go.sum +4 -4
- package/shim/bundled/go.mod +2 -2
- package/shim/bundled/go.sum +4 -4
- package/shim/checker/go.mod +2 -2
- package/shim/checker/go.sum +4 -4
- package/shim/compiler/go.mod +2 -2
- package/shim/compiler/go.sum +4 -4
- package/shim/compiler/neutral.go +213 -0
- package/shim/core/go.mod +2 -2
- package/shim/core/go.sum +4 -4
- package/shim/diagnosticwriter/go.mod +2 -2
- package/shim/diagnosticwriter/go.sum +4 -4
- package/shim/lsp/go.mod +2 -2
- package/shim/lsp/go.sum +4 -4
- package/shim/parser/go.mod +2 -2
- package/shim/parser/go.sum +4 -4
- package/shim/printer/go.mod +2 -2
- package/shim/printer/go.sum +4 -4
- package/shim/scanner/go.mod +2 -2
- package/shim/scanner/go.sum +4 -4
- package/shim/stringutil/go.mod +1 -1
- package/shim/stringutil/go.sum +2 -2
- package/shim/stringutil/shim.go +15 -0
- package/shim/transformers/go.mod +2 -2
- package/shim/transformers/go.sum +4 -4
- package/shim/tsoptions/go.mod +2 -2
- package/shim/tsoptions/go.sum +4 -4
- package/shim/tsoptions/neutral.go +56 -0
- package/shim/tspath/go.mod +1 -1
- package/shim/tspath/go.sum +2 -2
- package/shim/tspath/neutral.go +150 -0
- package/shim/tspath/typed_paths.go +266 -0
- package/shim/vfs/cachedvfs/go.mod +2 -2
- package/shim/vfs/cachedvfs/go.sum +4 -4
- package/shim/vfs/go.mod +2 -2
- package/shim/vfs/go.sum +4 -4
- package/shim/vfs/neutral.go +20 -0
- package/shim/vfs/osvfs/go.mod +2 -2
- package/shim/vfs/osvfs/go.sum +4 -4
- package/src/compiler/internal/buildNativeCompiler.ts +13 -4
- package/src/flags/COMPILER_ENUM_WHITESPACE.ts +1 -1
- package/src/flags/COMPILER_OPTIONS.ts +1080 -150
- package/src/flags/COMPILER_OPTION_ASCII_FOLDS.ts +1 -1
- package/src/flags/COMPILER_OPTION_KINDS.ts +1 -1
- package/src/flags/CompilerOptionSpec.ts +11 -2
- package/src/internal/pluginSource.ts +1 -0
- package/src/launcher/internal/TypeScriptSyncApi.ts +186 -0
- package/src/launcher/internal/buildSingleRootInMemory.ts +319 -0
- package/src/launcher/internal/buildSingleRootProject.ts +26 -18
- package/src/launcher/internal/compilerArgsAsConfigOptions.ts +112 -0
- package/src/plugin/CapabilityPluginResolver.ts +4 -1
- package/src/plugin/internal/load/loadProjectPlugins.ts +12 -2
- package/src/plugin/internal/source/CompilerTarget.ts +249 -0
- package/src/plugin/internal/source/NativeSourcePackages.ts +10 -4
- package/src/plugin/internal/source/SourcePluginAdmission.ts +28 -2
- package/src/plugin/internal/source/SourcePluginWorkspace.ts +45 -19
- package/src/plugin/internal/source/buildSourcePlugin.ts +3 -1
- package/src/plugin/internal/source/hashPluginBuildEnvironment.ts +9 -1
- package/targets/7.1/bridge/ast/enums_gen.go +174 -0
- package/targets/7.1/bridge/ast/extra-shim.json +4 -0
- package/targets/7.1/bridge/ast/go.mod +14 -0
- package/targets/7.1/bridge/ast/go.sum +20 -0
- package/targets/7.1/bridge/ast/lint.go +1412 -0
- package/targets/7.1/bridge/ast/neutral.go +141 -0
- package/targets/7.1/bridge/ast/parent.go +60 -0
- package/targets/7.1/bridge/ast/safe_text.go +108 -0
- package/targets/7.1/bridge/ast/shim.go +1656 -0
- package/targets/7.1/bridge/ast/surface.go +686 -0
- package/targets/7.1/bridge/ast/test/next_jsdoc_comment_location_reaches_variable_statement_test.go +51 -0
- package/targets/7.1/bridge/ast/test/node_text_joins_multi_hop_qualified_name_test.go +47 -0
- package/targets/7.1/bridge/ast/test/node_text_joins_one_hop_qualified_name_test.go +35 -0
- package/targets/7.1/bridge/ast/test/node_text_returns_empty_for_nil_test.go +31 -0
- package/targets/7.1/bridge/ast/test/node_text_returns_identifier_text_test.go +34 -0
- package/targets/7.1/bridge/ast/test/node_text_skips_empty_qualified_left_test.go +60 -0
- package/targets/7.1/bridge/astnav/go.mod +14 -0
- package/targets/7.1/bridge/astnav/go.sum +22 -0
- package/targets/7.1/bridge/astnav/shim.go +24 -0
- package/targets/7.1/bridge/bundled/extra-shim.json +1 -0
- package/targets/7.1/bridge/bundled/go.mod +10 -0
- package/targets/7.1/bridge/bundled/go.sum +10 -0
- package/targets/7.1/bridge/bundled/shim.go +24 -0
- package/targets/7.1/bridge/checker/enums_gen.go +150 -0
- package/targets/7.1/bridge/checker/extra-shim.json +37 -0
- package/targets/7.1/bridge/checker/go.mod +15 -0
- package/targets/7.1/bridge/checker/go.sum +24 -0
- package/targets/7.1/bridge/checker/node_builder_fields_gen.go +19 -0
- package/targets/7.1/bridge/checker/shim.go +1390 -0
- package/targets/7.1/bridge/compiler/contentmapper_process.go +70 -0
- package/targets/7.1/bridge/compiler/emit_sourcemap.go +296 -0
- package/targets/7.1/bridge/compiler/emitassemble.go +81 -0
- package/targets/7.1/bridge/compiler/emithook.go +44 -0
- package/targets/7.1/bridge/compiler/extra-shim.json +4 -0
- package/targets/7.1/bridge/compiler/go.mod +15 -0
- package/targets/7.1/bridge/compiler/go.sum +24 -0
- package/targets/7.1/bridge/compiler/incremental.go +185 -0
- package/targets/7.1/bridge/compiler/neutral.go +256 -0
- package/targets/7.1/bridge/compiler/resolution.go +571 -0
- package/targets/7.1/bridge/compiler/shim.go +70 -0
- package/targets/7.1/bridge/core/enums_gen.go +15 -0
- package/targets/7.1/bridge/core/extra-shim.json +4 -0
- package/targets/7.1/bridge/core/go.mod +7 -0
- package/targets/7.1/bridge/core/go.sum +8 -0
- package/targets/7.1/bridge/core/modulekind.go +19 -0
- package/targets/7.1/bridge/core/shim.go +272 -0
- package/targets/7.1/bridge/diagnosticwriter/go.mod +14 -0
- package/targets/7.1/bridge/diagnosticwriter/go.sum +20 -0
- package/targets/7.1/bridge/diagnosticwriter/lint.go +411 -0
- package/targets/7.1/bridge/diagnosticwriter/shim.go +56 -0
- package/targets/7.1/bridge/lsp/extra-shim.json +4 -0
- package/targets/7.1/bridge/lsp/go.mod +16 -0
- package/targets/7.1/bridge/lsp/go.sum +26 -0
- package/targets/7.1/bridge/lsp/shim.go +112 -0
- package/targets/7.1/bridge/parser/extra-shim.json +4 -0
- package/targets/7.1/bridge/parser/go.mod +14 -0
- package/targets/7.1/bridge/parser/go.sum +24 -0
- package/targets/7.1/bridge/parser/shim.go +61 -0
- package/targets/7.1/bridge/printer/emithost.go +69 -0
- package/targets/7.1/bridge/printer/go.mod +15 -0
- package/targets/7.1/bridge/printer/go.sum +24 -0
- package/targets/7.1/bridge/printer/shim.go +168 -0
- package/targets/7.1/bridge/printer/sourcemap.go +49 -0
- package/targets/7.1/bridge/scanner/extra-shim.json +4 -0
- package/targets/7.1/bridge/scanner/go.mod +14 -0
- package/targets/7.1/bridge/scanner/go.sum +20 -0
- package/targets/7.1/bridge/scanner/regexp.go +42 -0
- package/targets/7.1/bridge/scanner/shim.go +137 -0
- package/targets/7.1/bridge/stringutil/extra-shim.json +1 -0
- package/targets/7.1/bridge/stringutil/go.mod +5 -0
- package/targets/7.1/bridge/stringutil/go.sum +2 -0
- package/targets/7.1/bridge/stringutil/shim.go +131 -0
- package/targets/7.1/bridge/transformers/go.mod +15 -0
- package/targets/7.1/bridge/transformers/go.sum +24 -0
- package/targets/7.1/bridge/transformers/shim.go +24 -0
- package/targets/7.1/bridge/tsoptions/command_line_raw.go +44 -0
- package/targets/7.1/bridge/tsoptions/extra-shim.json +4 -0
- package/targets/7.1/bridge/tsoptions/go.mod +15 -0
- package/targets/7.1/bridge/tsoptions/go.sum +24 -0
- package/targets/7.1/bridge/tsoptions/neutral.go +47 -0
- package/targets/7.1/bridge/tsoptions/shim.go +193 -0
- package/targets/7.1/bridge/tspath/extra-shim.json +4 -0
- package/targets/7.1/bridge/tspath/go.mod +5 -0
- package/targets/7.1/bridge/tspath/go.sum +6 -0
- package/targets/7.1/bridge/tspath/neutral.go +142 -0
- package/targets/7.1/bridge/tspath/shim.go +382 -0
- package/targets/7.1/bridge/vfs/cachedvfs/extra-shim.json +4 -0
- package/targets/7.1/bridge/vfs/cachedvfs/go.mod +5 -0
- package/targets/7.1/bridge/vfs/cachedvfs/go.sum +10 -0
- package/targets/7.1/bridge/vfs/cachedvfs/shim.go +12 -0
- package/targets/7.1/bridge/vfs/decode.go +26 -0
- package/targets/7.1/bridge/vfs/decode_test.go +42 -0
- package/targets/7.1/bridge/vfs/extra-shim.json +4 -0
- package/targets/7.1/bridge/vfs/go.mod +10 -0
- package/targets/7.1/bridge/vfs/go.sum +10 -0
- package/targets/7.1/bridge/vfs/neutral.go +23 -0
- package/targets/7.1/bridge/vfs/osvfs/extra-shim.json +4 -0
- package/targets/7.1/bridge/vfs/osvfs/go.mod +10 -0
- package/targets/7.1/bridge/vfs/osvfs/go.sum +10 -0
- package/targets/7.1/bridge/vfs/osvfs/shim.go +14 -0
- package/targets/7.1/bridge/vfs/shim.go +27 -0
- package/targets/7.1/facade/ast/facade_gen.go +2691 -0
- package/targets/7.1/facade/ast/go.mod +20 -0
- package/targets/7.1/facade/ast/go.sum +20 -0
- package/targets/7.1/facade/astnav/facade_gen.go +15 -0
- package/targets/7.1/facade/astnav/go.mod +22 -0
- package/targets/7.1/facade/astnav/go.sum +22 -0
- package/targets/7.1/facade/bundled/facade_gen.go +32 -0
- package/targets/7.1/facade/bundled/go.mod +21 -0
- package/targets/7.1/facade/bundled/go.sum +10 -0
- package/targets/7.1/facade/checker/facade_gen.go +563 -0
- package/targets/7.1/facade/checker/go.mod +26 -0
- package/targets/7.1/facade/checker/go.sum +24 -0
- package/targets/7.1/facade/compiler/facade_gen.go +198 -0
- package/targets/7.1/facade/compiler/go.mod +41 -0
- package/targets/7.1/facade/compiler/go.sum +24 -0
- package/targets/7.1/facade/core/facade_gen.go +130 -0
- package/targets/7.1/facade/core/go.mod +12 -0
- package/targets/7.1/facade/core/go.sum +8 -0
- package/targets/7.1/facade/diagnosticwriter/facade_gen.go +36 -0
- package/targets/7.1/facade/diagnosticwriter/go.mod +22 -0
- package/targets/7.1/facade/diagnosticwriter/go.sum +20 -0
- package/targets/7.1/facade/lsp/facade_gen.go +31 -0
- package/targets/7.1/facade/lsp/go.mod +19 -0
- package/targets/7.1/facade/lsp/go.sum +26 -0
- package/targets/7.1/facade/parser/facade_gen.go +102 -0
- package/targets/7.1/facade/parser/go.mod +25 -0
- package/targets/7.1/facade/parser/go.sum +24 -0
- package/targets/7.1/facade/printer/facade_gen.go +74 -0
- package/targets/7.1/facade/printer/go.mod +26 -0
- package/targets/7.1/facade/printer/go.sum +24 -0
- package/targets/7.1/facade/scanner/facade_gen.go +191 -0
- package/targets/7.1/facade/scanner/go.mod +25 -0
- package/targets/7.1/facade/scanner/go.sum +20 -0
- package/targets/7.1/facade/stringutil/facade_gen.go +176 -0
- package/targets/7.1/facade/stringutil/go.mod +9 -0
- package/targets/7.1/facade/stringutil/go.sum +2 -0
- package/targets/7.1/facade/transformers/facade_gen.go +12 -0
- package/targets/7.1/facade/transformers/go.mod +18 -0
- package/targets/7.1/facade/transformers/go.sum +24 -0
- package/targets/7.1/facade/tsoptions/facade_gen.go +274 -0
- package/targets/7.1/facade/tsoptions/go.mod +32 -0
- package/targets/7.1/facade/tsoptions/go.sum +24 -0
- package/targets/7.1/facade/tspath/facade_gen.go +550 -0
- package/targets/7.1/facade/tspath/go.mod +9 -0
- package/targets/7.1/facade/tspath/go.sum +6 -0
- package/targets/7.1/facade/vfs/cachedvfs/facade_gen.go +17 -0
- package/targets/7.1/facade/vfs/cachedvfs/go.mod +18 -0
- package/targets/7.1/facade/vfs/cachedvfs/go.sum +10 -0
- package/targets/7.1/facade/vfs/facade_gen.go +47 -0
- package/targets/7.1/facade/vfs/go.mod +18 -0
- package/targets/7.1/facade/vfs/go.sum +10 -0
- package/targets/7.1/facade/vfs/osvfs/facade_gen.go +20 -0
- package/targets/7.1/facade/vfs/osvfs/go.mod +21 -0
- package/targets/7.1/facade/vfs/osvfs/go.sum +10 -0
- package/tools/gen_facade/committed_facades_match_their_bridges_test.go +57 -0
- package/tools/gen_facade/facade_manifest_points_into_the_bridge_root_test.go +75 -0
- package/tools/gen_facade/facade_spells_internal_types_through_bridge_aliases_test.go +75 -0
- package/tools/gen_facade/facade_types_are_their_bridge_types_test.go +99 -0
- package/tools/gen_facade/go.mod +10 -0
- package/tools/gen_facade/go.sum +8 -0
- package/tools/gen_facade/main.go +734 -0
- package/tools/gen_shims/go.mod +4 -4
- package/tools/gen_shims/go.sum +6 -6
- package/tools/gen_shims/main.go +124 -66
- package/tools/gen_shims/mirror_structs_terminate_on_unexported_cycles_test.go +101 -0
- package/tools/shim_audit/baseline-7.1.json +720 -0
- package/tools/shim_audit/baseline.json +5 -4
- package/tools/shim_audit/go.mod +4 -4
- package/tools/shim_audit/go.sum +6 -6
- package/tools/shim_audit/linkname_signatures.go +178 -0
- package/tools/shim_audit/linkname_signatures_match_their_targets_test.go +64 -0
- package/tools/shim_audit/linkname_targets_follow_the_audited_compiler_test.go +38 -0
- package/tools/shim_audit/main.go +29 -4
- package/tools/shim_audit/neutral_api.go +160 -0
- package/tools/shim_audit/neutral_api_must_match_across_targets_test.go +74 -0
- package/utility/host.go +5 -4
- package/utility/preamble_output.go +15 -15
- package/utility/serve.go +1 -1
|
@@ -0,0 +1,20 @@
|
|
|
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/klauspost/compress v1.20.0 h1:a3C1ke2ohxFymNlb2HWAHjDeKCI90scRskErZkR0ezA=
|
|
4
|
+
github.com/klauspost/compress v1.20.0/go.mod h1:LUdAzn7YLVvxLpc7y3V1m40wESHTgc1422pwwBSKYuI=
|
|
5
|
+
github.com/klauspost/cpuid/v2 v2.2.10 h1:tBs3QSyvjDyFTq3uoc/9xFpCuOsJQFNPiAhYdw2skhE=
|
|
6
|
+
github.com/klauspost/cpuid/v2 v2.2.10/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0=
|
|
7
|
+
github.com/microsoft/TypeScript/tsc v0.0.0-20261019224239-28534d760906 h1:Wn+Kp4ORyay6jJwvOng7G8pTD6HOP+Fwx8si66Wq7Bk=
|
|
8
|
+
github.com/microsoft/TypeScript/tsc v0.0.0-20261019224239-28534d760906/go.mod h1:28hWKaTYwRARPm0T9Y0XvdvYpU2HtjONzsMqAdYLucY=
|
|
9
|
+
github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ=
|
|
10
|
+
github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=
|
|
11
|
+
github.com/zeebo/xxh3 v1.1.0 h1:s7DLGDK45Dyfg7++yxI0khrfwq9661w9EN78eP/UZVs=
|
|
12
|
+
github.com/zeebo/xxh3 v1.1.0/go.mod h1:IisAie1LELR4xhVinxWS5+zf1lA4p0MW4T+w+W07F5s=
|
|
13
|
+
golang.org/x/sync v0.23.0 h1:KameEIfc1IkluZyXWLn39Wd4tURc6GbCiISGiZm2bQk=
|
|
14
|
+
golang.org/x/sync v0.23.0/go.mod h1:sUUOizhqBxiL6pEWpqNLUiaJn1ShEbZ6BBqskPbjZm0=
|
|
15
|
+
golang.org/x/sys v0.48.0 h1:bbX/i/6MgT9BVLM9RT1thmxL04yeTAhbEz4SyadbXoo=
|
|
16
|
+
golang.org/x/sys v0.48.0/go.mod h1:hNLxWAXmnKAxqDtdwIYC4bM9oQPEecfsnNMuSxOs3og=
|
|
17
|
+
golang.org/x/text v0.42.0 h1:JbOZXgfeCPU9gacVtYliJqOhD+zhrEqK4LfdpmlUZqI=
|
|
18
|
+
golang.org/x/text v0.42.0/go.mod h1:ojzP1Z+2QtioaF8DTtO8K5q7JWVVYwZKenzujK0Zd0E=
|
|
19
|
+
gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q=
|
|
20
|
+
gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
package scanner
|
|
2
|
+
|
|
3
|
+
import (
|
|
4
|
+
"github.com/microsoft/TypeScript/tsc/internal/ast"
|
|
5
|
+
"github.com/microsoft/TypeScript/tsc/internal/diagnostics"
|
|
6
|
+
)
|
|
7
|
+
|
|
8
|
+
// IsValidRegularExpressionLiteral reports whether text contains one regexp
|
|
9
|
+
// literal accepted without diagnostics by the pinned compiler's scanner and
|
|
10
|
+
// regexp parser, after optional leading scanner trivia. It uses the scanner's
|
|
11
|
+
// default latest target and the compiler's escape, flag, Unicode and Unicode
|
|
12
|
+
// Sets policies. This is not a runtime regexp-execution check or a complete
|
|
13
|
+
// certificate of ECMAScript grammar validity: the compiler can diagnose
|
|
14
|
+
// otherwise Annex-B-compatible backreferences as likely mistakes.
|
|
15
|
+
//
|
|
16
|
+
// Trailing text is rejected, including whitespace after the literal. Scanner
|
|
17
|
+
// diagnostics cause a false result rather than escaping.
|
|
18
|
+
//
|
|
19
|
+
// @evidence contracts/common.md#principled-implementation The initial slash token enters upstream's regexp rescan mode; success requires a regexp token, no scanner diagnostic, and a token end equal to the input byte length, establishing one literal after the scanner's permitted leading trivia.
|
|
20
|
+
// @evidence contracts/common.md#clear-and-simple-design A fresh local scanner and diagnostic flag handle one input without shared parser state or an independent regexp grammar.
|
|
21
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts Slash and slash-equals are the scanner's documented regexp-entry tokens; the diagnostic callback uses supported injection rather than replacing scanner internals.
|
|
22
|
+
// @evidence contracts/common.md#meaningful-documentation Native prose states compiler grammar ownership, leading-trivia acceptance, trailing-text rejection and diagnostic-to-false behavior, with a separate acknowledgment section.
|
|
23
|
+
// @evidence contracts/performance.md#bound-retention-and-release-resources One local scanner retains the input during the call, and regexp parsing can allocate capture/name/reference maps and lists plus recursive group state. Only a boolean escapes; scanner, callback and parser storage become unreachable after completion. There is no historical cache, handle, input-size cap or adapter-enforced nesting limit.
|
|
24
|
+
// @evidence contracts/performance.md#efficient-algorithms One scanner performs leading-trivia admission, delimiter and flag scanning and compiler regexp parsing, then checks token-end equality without an independent grammar implementation. Work grows with text bytes, nested groups, captures and references; invalid named references can also trigger upstream spelling suggestions across capture names even though diagnostics only set a flag here. The adapter does not claim fixed work or an early parser stop after the first diagnostic.
|
|
25
|
+
// @evidenceExclude contracts/performance.md#reuse-equivalent-work This predicate owns no cross-request producer or validity coordinator; a fresh scanner keeps token state and diagnostic observation local to the supplied text, with no shared mutable parse state.
|
|
26
|
+
// @evidenceExclude contracts/portability.md#os-neutral-implementation IsValidRegularExpressionLiteral computes from its arguments only; it opens no file, builds no path and calls no platform or process API.
|
|
27
|
+
func IsValidRegularExpressionLiteral(text string) bool {
|
|
28
|
+
scanner := NewScanner()
|
|
29
|
+
valid := true
|
|
30
|
+
scanner.SetOnError(func(_ *diagnostics.Message, _, _ int, _ ...any) {
|
|
31
|
+
valid = false
|
|
32
|
+
})
|
|
33
|
+
scanner.SetText(text)
|
|
34
|
+
token := scanner.Scan()
|
|
35
|
+
if token != ast.KindSlashToken && token != ast.KindSlashEqualsToken {
|
|
36
|
+
return false
|
|
37
|
+
}
|
|
38
|
+
if scanner.ReScanSlashToken(true) != ast.KindRegularExpressionLiteral {
|
|
39
|
+
return false
|
|
40
|
+
}
|
|
41
|
+
return valid && scanner.TokenEnd() == len(text)
|
|
42
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
// Code generated by packages/ttsc/tools/gen_shims. DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
package scanner
|
|
4
|
+
|
|
5
|
+
import "github.com/microsoft/TypeScript/tsc/internal/ast"
|
|
6
|
+
import "github.com/microsoft/TypeScript/tsc/internal/core"
|
|
7
|
+
import "github.com/microsoft/TypeScript/tsc/internal/scanner"
|
|
8
|
+
import "iter"
|
|
9
|
+
import _ "unsafe"
|
|
10
|
+
|
|
11
|
+
//go:linkname ComputeLineOfPosition github.com/microsoft/TypeScript/tsc/internal/scanner.ComputeLineOfPosition
|
|
12
|
+
func ComputeLineOfPosition(lineStarts []core.TextPos, pos int) int
|
|
13
|
+
|
|
14
|
+
//go:linkname ComputePositionOfLineAndByteOffset github.com/microsoft/TypeScript/tsc/internal/scanner.ComputePositionOfLineAndByteOffset
|
|
15
|
+
func ComputePositionOfLineAndByteOffset(lineStarts []core.TextPos, line int, byteOffset int) int
|
|
16
|
+
|
|
17
|
+
//go:linkname ComputePositionOfLineAndUTF16Character github.com/microsoft/TypeScript/tsc/internal/scanner.ComputePositionOfLineAndUTF16Character
|
|
18
|
+
func ComputePositionOfLineAndUTF16Character(lineStarts []core.TextPos, line int, character core.UTF16Offset, text string, allowEdits bool) int
|
|
19
|
+
|
|
20
|
+
//go:linkname DeclarationNameToString github.com/microsoft/TypeScript/tsc/internal/scanner.DeclarationNameToString
|
|
21
|
+
func DeclarationNameToString(name *ast.Node) string
|
|
22
|
+
|
|
23
|
+
type ErrorCallback = scanner.ErrorCallback
|
|
24
|
+
type EscapeSequenceScanningFlags = scanner.EscapeSequenceScanningFlags
|
|
25
|
+
|
|
26
|
+
const EscapeSequenceScanningFlagsAllowExtendedUnicodeEscape = scanner.EscapeSequenceScanningFlagsAllowExtendedUnicodeEscape
|
|
27
|
+
const EscapeSequenceScanningFlagsAnnexB = scanner.EscapeSequenceScanningFlagsAnnexB
|
|
28
|
+
const EscapeSequenceScanningFlagsAnyUnicodeMode = scanner.EscapeSequenceScanningFlagsAnyUnicodeMode
|
|
29
|
+
const EscapeSequenceScanningFlagsAtomEscape = scanner.EscapeSequenceScanningFlagsAtomEscape
|
|
30
|
+
const EscapeSequenceScanningFlagsRegularExpression = scanner.EscapeSequenceScanningFlagsRegularExpression
|
|
31
|
+
const EscapeSequenceScanningFlagsReportErrors = scanner.EscapeSequenceScanningFlagsReportErrors
|
|
32
|
+
const EscapeSequenceScanningFlagsReportInvalidEscapeErrors = scanner.EscapeSequenceScanningFlagsReportInvalidEscapeErrors
|
|
33
|
+
const EscapeSequenceScanningFlagsString = scanner.EscapeSequenceScanningFlagsString
|
|
34
|
+
|
|
35
|
+
//go:linkname GetECMAEndLinePosition github.com/microsoft/TypeScript/tsc/internal/scanner.GetECMAEndLinePosition
|
|
36
|
+
func GetECMAEndLinePosition(sourceFile *ast.SourceFile, line int) int
|
|
37
|
+
|
|
38
|
+
//go:linkname GetECMALineAndByteOffsetOfPosition github.com/microsoft/TypeScript/tsc/internal/scanner.GetECMALineAndByteOffsetOfPosition
|
|
39
|
+
func GetECMALineAndByteOffsetOfPosition(sourceFile ast.SourceFileLike, pos int) (line int, byteOffset int)
|
|
40
|
+
|
|
41
|
+
//go:linkname GetECMALineAndUTF16CharacterOfPosition github.com/microsoft/TypeScript/tsc/internal/scanner.GetECMALineAndUTF16CharacterOfPosition
|
|
42
|
+
func GetECMALineAndUTF16CharacterOfPosition(sourceFile ast.SourceFileLike, pos int) (line int, character core.UTF16Offset)
|
|
43
|
+
|
|
44
|
+
//go:linkname GetECMALineOfPosition github.com/microsoft/TypeScript/tsc/internal/scanner.GetECMALineOfPosition
|
|
45
|
+
func GetECMALineOfPosition(sourceFile ast.SourceFileLike, pos int) int
|
|
46
|
+
|
|
47
|
+
//go:linkname GetECMALineStarts github.com/microsoft/TypeScript/tsc/internal/scanner.GetECMALineStarts
|
|
48
|
+
func GetECMALineStarts(sourceFile ast.SourceFileLike) []core.TextPos
|
|
49
|
+
|
|
50
|
+
//go:linkname GetECMAPositionOfLineAndByteOffset github.com/microsoft/TypeScript/tsc/internal/scanner.GetECMAPositionOfLineAndByteOffset
|
|
51
|
+
func GetECMAPositionOfLineAndByteOffset(sourceFile ast.SourceFileLike, line int, byteOffset int) int
|
|
52
|
+
|
|
53
|
+
//go:linkname GetECMAPositionOfLineAndUTF16Character github.com/microsoft/TypeScript/tsc/internal/scanner.GetECMAPositionOfLineAndUTF16Character
|
|
54
|
+
func GetECMAPositionOfLineAndUTF16Character(sourceFile ast.SourceFileLike, line int, character core.UTF16Offset) int
|
|
55
|
+
|
|
56
|
+
//go:linkname GetErrorRangeForNode github.com/microsoft/TypeScript/tsc/internal/scanner.GetErrorRangeForNode
|
|
57
|
+
func GetErrorRangeForNode(sourceFile *ast.SourceFile, node *ast.Node) core.TextRange
|
|
58
|
+
|
|
59
|
+
//go:linkname GetIdentifierToken github.com/microsoft/TypeScript/tsc/internal/scanner.GetIdentifierToken
|
|
60
|
+
func GetIdentifierToken(str string) ast.Kind
|
|
61
|
+
|
|
62
|
+
//go:linkname GetLeadingCommentRanges github.com/microsoft/TypeScript/tsc/internal/scanner.GetLeadingCommentRanges
|
|
63
|
+
func GetLeadingCommentRanges(f *ast.NodeFactory, text string, pos int) iter.Seq[ast.CommentRange]
|
|
64
|
+
|
|
65
|
+
//go:linkname GetRangeOfTokenAtPosition github.com/microsoft/TypeScript/tsc/internal/scanner.GetRangeOfTokenAtPosition
|
|
66
|
+
func GetRangeOfTokenAtPosition(sourceFile *ast.SourceFile, pos int) core.TextRange
|
|
67
|
+
|
|
68
|
+
//go:linkname GetScannerForSourceFile github.com/microsoft/TypeScript/tsc/internal/scanner.GetScannerForSourceFile
|
|
69
|
+
func GetScannerForSourceFile(sourceFile *ast.SourceFile, pos int) *scanner.Scanner
|
|
70
|
+
|
|
71
|
+
//go:linkname GetShebang github.com/microsoft/TypeScript/tsc/internal/scanner.GetShebang
|
|
72
|
+
func GetShebang(text string) string
|
|
73
|
+
|
|
74
|
+
//go:linkname GetSourceTextOfNodeFromSourceFile github.com/microsoft/TypeScript/tsc/internal/scanner.GetSourceTextOfNodeFromSourceFile
|
|
75
|
+
func GetSourceTextOfNodeFromSourceFile(sourceFile *ast.SourceFile, node *ast.Node, includeTrivia bool) string
|
|
76
|
+
|
|
77
|
+
//go:linkname GetTextOfJSDocComment github.com/microsoft/TypeScript/tsc/internal/scanner.GetTextOfJSDocComment
|
|
78
|
+
func GetTextOfJSDocComment(comment *ast.NodeList) string
|
|
79
|
+
|
|
80
|
+
//go:linkname GetTextOfNode github.com/microsoft/TypeScript/tsc/internal/scanner.GetTextOfNode
|
|
81
|
+
func GetTextOfNode(node *ast.Node) string
|
|
82
|
+
|
|
83
|
+
//go:linkname GetTextOfNodeFromSourceText github.com/microsoft/TypeScript/tsc/internal/scanner.GetTextOfNodeFromSourceText
|
|
84
|
+
func GetTextOfNodeFromSourceText(sourceText string, node *ast.Node, includeTrivia bool) string
|
|
85
|
+
|
|
86
|
+
//go:linkname GetTokenPosOfNode github.com/microsoft/TypeScript/tsc/internal/scanner.GetTokenPosOfNode
|
|
87
|
+
func GetTokenPosOfNode(node *ast.Node, sourceFile *ast.SourceFile, includeJSDoc bool) int
|
|
88
|
+
|
|
89
|
+
//go:linkname GetTrailingCommentRanges github.com/microsoft/TypeScript/tsc/internal/scanner.GetTrailingCommentRanges
|
|
90
|
+
func GetTrailingCommentRanges(f *ast.NodeFactory, text string, pos int) iter.Seq[ast.CommentRange]
|
|
91
|
+
|
|
92
|
+
//go:linkname GetViableKeywordSuggestions github.com/microsoft/TypeScript/tsc/internal/scanner.GetViableKeywordSuggestions
|
|
93
|
+
func GetViableKeywordSuggestions() []string
|
|
94
|
+
|
|
95
|
+
//go:linkname IdentifierToKeywordKind github.com/microsoft/TypeScript/tsc/internal/scanner.IdentifierToKeywordKind
|
|
96
|
+
func IdentifierToKeywordKind(node *ast.Identifier) ast.Kind
|
|
97
|
+
|
|
98
|
+
//go:linkname IsIdentifierPart github.com/microsoft/TypeScript/tsc/internal/scanner.IsIdentifierPart
|
|
99
|
+
func IsIdentifierPart(ch rune) bool
|
|
100
|
+
|
|
101
|
+
//go:linkname IsIdentifierPartEx github.com/microsoft/TypeScript/tsc/internal/scanner.IsIdentifierPartEx
|
|
102
|
+
func IsIdentifierPartEx(ch rune, languageVariant core.LanguageVariant) bool
|
|
103
|
+
|
|
104
|
+
//go:linkname IsIdentifierStart github.com/microsoft/TypeScript/tsc/internal/scanner.IsIdentifierStart
|
|
105
|
+
func IsIdentifierStart(ch rune) bool
|
|
106
|
+
|
|
107
|
+
//go:linkname IsIdentifierText github.com/microsoft/TypeScript/tsc/internal/scanner.IsIdentifierText
|
|
108
|
+
func IsIdentifierText(name string, languageVariant core.LanguageVariant) bool
|
|
109
|
+
|
|
110
|
+
//go:linkname IsIntrinsicJsxName github.com/microsoft/TypeScript/tsc/internal/scanner.IsIntrinsicJsxName
|
|
111
|
+
func IsIntrinsicJsxName(name string) bool
|
|
112
|
+
|
|
113
|
+
//go:linkname IsValidIdentifier github.com/microsoft/TypeScript/tsc/internal/scanner.IsValidIdentifier
|
|
114
|
+
func IsValidIdentifier(s string) bool
|
|
115
|
+
|
|
116
|
+
//go:linkname NewScanner github.com/microsoft/TypeScript/tsc/internal/scanner.NewScanner
|
|
117
|
+
func NewScanner() *scanner.Scanner
|
|
118
|
+
|
|
119
|
+
//go:linkname ScanTokenAtPosition github.com/microsoft/TypeScript/tsc/internal/scanner.ScanTokenAtPosition
|
|
120
|
+
func ScanTokenAtPosition(sourceFile *ast.SourceFile, pos int) ast.Kind
|
|
121
|
+
|
|
122
|
+
type Scanner = scanner.Scanner
|
|
123
|
+
type ScannerState = scanner.ScannerState
|
|
124
|
+
|
|
125
|
+
//go:linkname SkipTrivia github.com/microsoft/TypeScript/tsc/internal/scanner.SkipTrivia
|
|
126
|
+
func SkipTrivia(text string, pos int) int
|
|
127
|
+
|
|
128
|
+
//go:linkname SkipTriviaEx github.com/microsoft/TypeScript/tsc/internal/scanner.SkipTriviaEx
|
|
129
|
+
func SkipTriviaEx(text string, pos int, options *scanner.SkipTriviaOptions) int
|
|
130
|
+
|
|
131
|
+
type SkipTriviaOptions = scanner.SkipTriviaOptions
|
|
132
|
+
|
|
133
|
+
//go:linkname StringToToken github.com/microsoft/TypeScript/tsc/internal/scanner.StringToToken
|
|
134
|
+
func StringToToken(s string) ast.Kind
|
|
135
|
+
|
|
136
|
+
//go:linkname TokenToString github.com/microsoft/TypeScript/tsc/internal/scanner.TokenToString
|
|
137
|
+
func TokenToString(token ast.Kind) string
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
// Code generated by packages/ttsc/tools/gen_shims. DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
package stringutil
|
|
4
|
+
|
|
5
|
+
import "github.com/microsoft/TypeScript/tsc/internal/stringutil"
|
|
6
|
+
import _ "unsafe"
|
|
7
|
+
|
|
8
|
+
//go:linkname AddUTF8ByteOrderMark github.com/microsoft/TypeScript/tsc/internal/stringutil.AddUTF8ByteOrderMark
|
|
9
|
+
func AddUTF8ByteOrderMark(text string) string
|
|
10
|
+
|
|
11
|
+
//go:linkname CodePointToSurrogatePair github.com/microsoft/TypeScript/tsc/internal/stringutil.CodePointToSurrogatePair
|
|
12
|
+
func CodePointToSurrogatePair(ch rune) (high rune, low rune)
|
|
13
|
+
|
|
14
|
+
//go:linkname CombineSurrogatePairs github.com/microsoft/TypeScript/tsc/internal/stringutil.CombineSurrogatePairs
|
|
15
|
+
func CombineSurrogatePairs(s string) string
|
|
16
|
+
|
|
17
|
+
//go:linkname CompareStringsCaseInsensitive github.com/microsoft/TypeScript/tsc/internal/stringutil.CompareStringsCaseInsensitive
|
|
18
|
+
func CompareStringsCaseInsensitive(a string, b string) stringutil.Comparison
|
|
19
|
+
|
|
20
|
+
//go:linkname CompareStringsCaseInsensitiveEslintCompatible github.com/microsoft/TypeScript/tsc/internal/stringutil.CompareStringsCaseInsensitiveEslintCompatible
|
|
21
|
+
func CompareStringsCaseInsensitiveEslintCompatible(a string, b string) stringutil.Comparison
|
|
22
|
+
|
|
23
|
+
//go:linkname CompareStringsCaseInsensitiveThenSensitive github.com/microsoft/TypeScript/tsc/internal/stringutil.CompareStringsCaseInsensitiveThenSensitive
|
|
24
|
+
func CompareStringsCaseInsensitiveThenSensitive(a string, b string) stringutil.Comparison
|
|
25
|
+
|
|
26
|
+
//go:linkname CompareStringsCaseSensitive github.com/microsoft/TypeScript/tsc/internal/stringutil.CompareStringsCaseSensitive
|
|
27
|
+
func CompareStringsCaseSensitive(a string, b string) stringutil.Comparison
|
|
28
|
+
|
|
29
|
+
type Comparison = stringutil.Comparison
|
|
30
|
+
|
|
31
|
+
const ComparisonEqual = stringutil.ComparisonEqual
|
|
32
|
+
const ComparisonGreaterThan = stringutil.ComparisonGreaterThan
|
|
33
|
+
const ComparisonLessThan = stringutil.ComparisonLessThan
|
|
34
|
+
|
|
35
|
+
//go:linkname DecodeJSStringRune github.com/microsoft/TypeScript/tsc/internal/stringutil.DecodeJSStringRune
|
|
36
|
+
func DecodeJSStringRune(s string) (rune, int)
|
|
37
|
+
|
|
38
|
+
//go:linkname EncodeJSStringRune github.com/microsoft/TypeScript/tsc/internal/stringutil.EncodeJSStringRune
|
|
39
|
+
func EncodeJSStringRune(ch rune) string
|
|
40
|
+
|
|
41
|
+
//go:linkname EncodeURI github.com/microsoft/TypeScript/tsc/internal/stringutil.EncodeURI
|
|
42
|
+
func EncodeURI(s string) string
|
|
43
|
+
|
|
44
|
+
//go:linkname EquateStringCaseInsensitive github.com/microsoft/TypeScript/tsc/internal/stringutil.EquateStringCaseInsensitive
|
|
45
|
+
func EquateStringCaseInsensitive(a string, b string) bool
|
|
46
|
+
|
|
47
|
+
//go:linkname EquateStringCaseSensitive github.com/microsoft/TypeScript/tsc/internal/stringutil.EquateStringCaseSensitive
|
|
48
|
+
func EquateStringCaseSensitive(a string, b string) bool
|
|
49
|
+
|
|
50
|
+
//go:linkname GetStringComparer github.com/microsoft/TypeScript/tsc/internal/stringutil.GetStringComparer
|
|
51
|
+
func GetStringComparer(ignoreCase bool) func(a string, b string) stringutil.Comparison
|
|
52
|
+
|
|
53
|
+
//go:linkname GetStringEqualityComparer github.com/microsoft/TypeScript/tsc/internal/stringutil.GetStringEqualityComparer
|
|
54
|
+
func GetStringEqualityComparer(ignoreCase bool) func(a string, b string) bool
|
|
55
|
+
|
|
56
|
+
//go:linkname GuessIndentation github.com/microsoft/TypeScript/tsc/internal/stringutil.GuessIndentation
|
|
57
|
+
func GuessIndentation(lines []string) int
|
|
58
|
+
|
|
59
|
+
//go:linkname HasPrefix github.com/microsoft/TypeScript/tsc/internal/stringutil.HasPrefix
|
|
60
|
+
func HasPrefix(s string, prefix string, caseSensitive bool) bool
|
|
61
|
+
|
|
62
|
+
//go:linkname HasPrefixAndSuffixWithoutOverlap github.com/microsoft/TypeScript/tsc/internal/stringutil.HasPrefixAndSuffixWithoutOverlap
|
|
63
|
+
func HasPrefixAndSuffixWithoutOverlap(s string, prefix string, suffix string, caseSensitive bool) bool
|
|
64
|
+
|
|
65
|
+
//go:linkname HasSuffix github.com/microsoft/TypeScript/tsc/internal/stringutil.HasSuffix
|
|
66
|
+
func HasSuffix(s string, suffix string, caseSensitive bool) bool
|
|
67
|
+
|
|
68
|
+
//go:linkname IsASCIILetter github.com/microsoft/TypeScript/tsc/internal/stringutil.IsASCIILetter
|
|
69
|
+
func IsASCIILetter(ch rune) bool
|
|
70
|
+
|
|
71
|
+
//go:linkname IsDigit github.com/microsoft/TypeScript/tsc/internal/stringutil.IsDigit
|
|
72
|
+
func IsDigit(ch rune) bool
|
|
73
|
+
|
|
74
|
+
//go:linkname IsHexDigit github.com/microsoft/TypeScript/tsc/internal/stringutil.IsHexDigit
|
|
75
|
+
func IsHexDigit(ch rune) bool
|
|
76
|
+
|
|
77
|
+
//go:linkname IsHighSurrogate github.com/microsoft/TypeScript/tsc/internal/stringutil.IsHighSurrogate
|
|
78
|
+
func IsHighSurrogate(ch rune) bool
|
|
79
|
+
|
|
80
|
+
//go:linkname IsLineBreak github.com/microsoft/TypeScript/tsc/internal/stringutil.IsLineBreak
|
|
81
|
+
func IsLineBreak(ch rune) bool
|
|
82
|
+
|
|
83
|
+
//go:linkname IsLowSurrogate github.com/microsoft/TypeScript/tsc/internal/stringutil.IsLowSurrogate
|
|
84
|
+
func IsLowSurrogate(ch rune) bool
|
|
85
|
+
|
|
86
|
+
//go:linkname IsOctalDigit github.com/microsoft/TypeScript/tsc/internal/stringutil.IsOctalDigit
|
|
87
|
+
func IsOctalDigit(ch rune) bool
|
|
88
|
+
|
|
89
|
+
//go:linkname IsSurrogate github.com/microsoft/TypeScript/tsc/internal/stringutil.IsSurrogate
|
|
90
|
+
func IsSurrogate(ch rune) bool
|
|
91
|
+
|
|
92
|
+
//go:linkname IsUnicodeIdentifierPart github.com/microsoft/TypeScript/tsc/internal/stringutil.IsUnicodeIdentifierPart
|
|
93
|
+
func IsUnicodeIdentifierPart(ch rune) bool
|
|
94
|
+
|
|
95
|
+
//go:linkname IsUnicodeIdentifierStart github.com/microsoft/TypeScript/tsc/internal/stringutil.IsUnicodeIdentifierStart
|
|
96
|
+
func IsUnicodeIdentifierStart(ch rune) bool
|
|
97
|
+
|
|
98
|
+
//go:linkname IsWhiteSpaceLike github.com/microsoft/TypeScript/tsc/internal/stringutil.IsWhiteSpaceLike
|
|
99
|
+
func IsWhiteSpaceLike(ch rune) bool
|
|
100
|
+
|
|
101
|
+
//go:linkname IsWhiteSpaceSingleLine github.com/microsoft/TypeScript/tsc/internal/stringutil.IsWhiteSpaceSingleLine
|
|
102
|
+
func IsWhiteSpaceSingleLine(ch rune) bool
|
|
103
|
+
|
|
104
|
+
//go:linkname LowerFirstChar github.com/microsoft/TypeScript/tsc/internal/stringutil.LowerFirstChar
|
|
105
|
+
func LowerFirstChar(str string) string
|
|
106
|
+
|
|
107
|
+
//go:linkname RemoveByteOrderMark github.com/microsoft/TypeScript/tsc/internal/stringutil.RemoveByteOrderMark
|
|
108
|
+
func RemoveByteOrderMark(text string) string
|
|
109
|
+
|
|
110
|
+
//go:linkname SplitLines github.com/microsoft/TypeScript/tsc/internal/stringutil.SplitLines
|
|
111
|
+
func SplitLines(text string) []string
|
|
112
|
+
|
|
113
|
+
//go:linkname StripQuotes github.com/microsoft/TypeScript/tsc/internal/stringutil.StripQuotes
|
|
114
|
+
func StripQuotes(name string) string
|
|
115
|
+
|
|
116
|
+
const SurrogateLowStart = stringutil.SurrogateLowStart
|
|
117
|
+
|
|
118
|
+
//go:linkname SurrogatePairToCodePoint github.com/microsoft/TypeScript/tsc/internal/stringutil.SurrogatePairToCodePoint
|
|
119
|
+
func SurrogatePairToCodePoint(high rune, low rune) rune
|
|
120
|
+
|
|
121
|
+
//go:linkname ToLowerJS github.com/microsoft/TypeScript/tsc/internal/stringutil.ToLowerJS
|
|
122
|
+
func ToLowerJS(str string) string
|
|
123
|
+
|
|
124
|
+
//go:linkname ToUpperJS github.com/microsoft/TypeScript/tsc/internal/stringutil.ToUpperJS
|
|
125
|
+
func ToUpperJS(str string) string
|
|
126
|
+
|
|
127
|
+
//go:linkname TruncateByRunes github.com/microsoft/TypeScript/tsc/internal/stringutil.TruncateByRunes
|
|
128
|
+
func TruncateByRunes(str string, maxLength int) string
|
|
129
|
+
|
|
130
|
+
//go:linkname UnquoteString github.com/microsoft/TypeScript/tsc/internal/stringutil.UnquoteString
|
|
131
|
+
func UnquoteString(str string) string
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
module github.com/microsoft/TypeScript/tsc/shim/transformers
|
|
2
|
+
|
|
3
|
+
go 1.27
|
|
4
|
+
|
|
5
|
+
require github.com/microsoft/TypeScript/tsc v0.0.0-20261019224239-28534d760906
|
|
6
|
+
|
|
7
|
+
require (
|
|
8
|
+
github.com/Microsoft/go-winio v0.6.2 // indirect
|
|
9
|
+
github.com/klauspost/compress v1.20.0 // indirect
|
|
10
|
+
github.com/klauspost/cpuid/v2 v2.2.10 // indirect
|
|
11
|
+
github.com/zeebo/xxh3 v1.1.0 // indirect
|
|
12
|
+
golang.org/x/sync v0.23.0 // indirect
|
|
13
|
+
golang.org/x/sys v0.48.0 // indirect
|
|
14
|
+
golang.org/x/text v0.42.0 // indirect
|
|
15
|
+
)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
|
|
2
|
+
github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
|
|
3
|
+
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
|
|
4
|
+
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
|
|
5
|
+
github.com/klauspost/compress v1.20.0 h1:a3C1ke2ohxFymNlb2HWAHjDeKCI90scRskErZkR0ezA=
|
|
6
|
+
github.com/klauspost/compress v1.20.0/go.mod h1:LUdAzn7YLVvxLpc7y3V1m40wESHTgc1422pwwBSKYuI=
|
|
7
|
+
github.com/klauspost/cpuid/v2 v2.2.10 h1:tBs3QSyvjDyFTq3uoc/9xFpCuOsJQFNPiAhYdw2skhE=
|
|
8
|
+
github.com/klauspost/cpuid/v2 v2.2.10/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0=
|
|
9
|
+
github.com/microsoft/TypeScript/tsc v0.0.0-20261019224239-28534d760906 h1:Wn+Kp4ORyay6jJwvOng7G8pTD6HOP+Fwx8si66Wq7Bk=
|
|
10
|
+
github.com/microsoft/TypeScript/tsc v0.0.0-20261019224239-28534d760906/go.mod h1:28hWKaTYwRARPm0T9Y0XvdvYpU2HtjONzsMqAdYLucY=
|
|
11
|
+
github.com/peter-evans/patience v0.3.0 h1:rX0JdJeepqdQl1Sk9c9uvorjYYzL2TfgLX1adqYm9cA=
|
|
12
|
+
github.com/peter-evans/patience v0.3.0/go.mod h1:Kmxu5sY1NmBLFSStvXjX1wS9mIv7wMcP/ubucyMOAu0=
|
|
13
|
+
github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ=
|
|
14
|
+
github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=
|
|
15
|
+
github.com/zeebo/xxh3 v1.1.0 h1:s7DLGDK45Dyfg7++yxI0khrfwq9661w9EN78eP/UZVs=
|
|
16
|
+
github.com/zeebo/xxh3 v1.1.0/go.mod h1:IisAie1LELR4xhVinxWS5+zf1lA4p0MW4T+w+W07F5s=
|
|
17
|
+
golang.org/x/sync v0.23.0 h1:KameEIfc1IkluZyXWLn39Wd4tURc6GbCiISGiZm2bQk=
|
|
18
|
+
golang.org/x/sync v0.23.0/go.mod h1:sUUOizhqBxiL6pEWpqNLUiaJn1ShEbZ6BBqskPbjZm0=
|
|
19
|
+
golang.org/x/sys v0.48.0 h1:bbX/i/6MgT9BVLM9RT1thmxL04yeTAhbEz4SyadbXoo=
|
|
20
|
+
golang.org/x/sys v0.48.0/go.mod h1:hNLxWAXmnKAxqDtdwIYC4bM9oQPEecfsnNMuSxOs3og=
|
|
21
|
+
golang.org/x/text v0.42.0 h1:JbOZXgfeCPU9gacVtYliJqOhD+zhrEqK4LfdpmlUZqI=
|
|
22
|
+
golang.org/x/text v0.42.0/go.mod h1:ojzP1Z+2QtioaF8DTtO8K5q7JWVVYwZKenzujK0Zd0E=
|
|
23
|
+
gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q=
|
|
24
|
+
gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// gen_shims:hand-maintained
|
|
2
|
+
//
|
|
3
|
+
// Re-exports tsgo's emit transformer type so ttsc can build a plugin
|
|
4
|
+
// transformer and run it ahead of the builtin emit chain. Plugins (typia,
|
|
5
|
+
// nestia) return real AST nodes; ttsc inserts their transformer first in the
|
|
6
|
+
// same EmitContext as the builtins, so tsgo's module-transform aliases imports
|
|
7
|
+
// itself, no text-splice needed.
|
|
8
|
+
package transformers
|
|
9
|
+
|
|
10
|
+
import innertransformers "github.com/microsoft/TypeScript/tsc/internal/transformers"
|
|
11
|
+
|
|
12
|
+
// Transformer is one stage of tsgo's emit transformer chain.
|
|
13
|
+
// TransformSourceFile returns the visited source file, which may replace the
|
|
14
|
+
// input; its visitor and factory share the stage's EmitContext.
|
|
15
|
+
//
|
|
16
|
+
// @evidence contracts/common.md#principled-implementation Go alias identity preserves the upstream visitor, factory and context relationship; callers receive the transformed SourceFile returned by the visitor rather than assuming in-place mutation.
|
|
17
|
+
// @evidence contracts/common.md#clear-and-simple-design One native transformer stage participates in the existing chain without an additional transform protocol or duplicated visitor state.
|
|
18
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts Plugins return compiler AST nodes through the supported stage, without text-splice substitutes or monkey-patched builtin passes.
|
|
19
|
+
// @evidence contracts/common.md#meaningful-documentation Native prose identifies the possible replacement result and shared context rather than promising preservation of the input node's identity.
|
|
20
|
+
// @evidenceExclude contracts/performance.md#bound-retention-and-release-resources A type declaration acquires and holds no runtime resource.
|
|
21
|
+
// @evidenceExclude contracts/performance.md#efficient-algorithms A type declaration chooses no processing strategy.
|
|
22
|
+
// @evidenceExclude contracts/performance.md#reuse-equivalent-work A type declaration computes nothing, so there is no work to share.
|
|
23
|
+
// @evidenceExclude contracts/portability.md#os-neutral-implementation This type declaration describes a data shape only; it opens no file, builds no path and branches on no platform.
|
|
24
|
+
type Transformer = innertransformers.Transformer
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// gen_shims:hand-maintained
|
|
2
|
+
|
|
3
|
+
package tsoptions
|
|
4
|
+
|
|
5
|
+
import (
|
|
6
|
+
"github.com/microsoft/TypeScript/tsc/internal/collections"
|
|
7
|
+
"github.com/microsoft/TypeScript/tsc/internal/tsoptions"
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
// CommandLineRawOptions returns the options a parsed command line spelled out,
|
|
11
|
+
// wrapped in a "compilerOptions" key: the `optionsRaw` shape
|
|
12
|
+
// GetParsedCommandLineOfConfigFile merges over the config it parses.
|
|
13
|
+
//
|
|
14
|
+
// TypeScript-Go's own command line passes exactly this beside the parsed
|
|
15
|
+
// CompilerOptions. The struct alone cannot carry an option the command line
|
|
16
|
+
// resets: `--declarationDir null` leaves the field at its zero value, which the
|
|
17
|
+
// merge reads as "not given", so the config's own value survives. The raw map
|
|
18
|
+
// records the explicit null, and the merge honors it.
|
|
19
|
+
//
|
|
20
|
+
// Returns nil for a nil command line or an absent, nil or differently typed
|
|
21
|
+
// raw value. A present ordered map is wrapped even when it contains no options.
|
|
22
|
+
// The wrapper retains the original ordered map; callers must not mutate it
|
|
23
|
+
// while configuration merging reads the command line.
|
|
24
|
+
//
|
|
25
|
+
// @evidence contracts/common.md#principled-implementation The compilerOptions wrapper preserves the parsed ordered raw values, including explicit null, because config merging distinguishes an absent option from a supplied zero-like value.
|
|
26
|
+
// @evidence contracts/common.md#clear-and-simple-design Nil and raw-shape checks precede one ordered-map wrapper, keeping representation adaptation separate from the config parser that owns merging.
|
|
27
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts compilerOptions is the compiler's merge-envelope key, not a consumer exception; the adapter preserves upstream parsing rather than patching fields or inventing reset values.
|
|
28
|
+
// @evidence contracts/common.md#meaningful-documentation Native prose explains explicit-null reset semantics, nil results and shared-map ownership, keeping the example and ownership note in distinct paragraphs.
|
|
29
|
+
// @evidence contracts/performance.md#bound-retention-and-release-resources The returned one-entry wrapper retains the original ordered map and its reachable raw option values for its consumers; it adds no deep copy, handle or historical cache. Callers own reference release and must avoid concurrent mutation during merging; this adapter imposes no bound on the supplied raw graph.
|
|
30
|
+
// @evidence contracts/performance.md#efficient-algorithms Nil and type checks precede one insertion into a fresh ordered map, taking constant wrapper work and space independent of raw option count; the raw values are referenced without traversal or copying, while downstream config merging owns its separate option scan.
|
|
31
|
+
// @evidenceExclude contracts/performance.md#reuse-equivalent-work This representation adapter owns no shared producer, request cache or validity coordinator; upstream parsing produces the supplied raw map and callers determine when that same command line remains valid for merging.
|
|
32
|
+
// @evidenceExclude contracts/portability.md#os-neutral-implementation CommandLineRawOptions computes from its arguments only; it opens no file, builds no path and calls no platform or process API.
|
|
33
|
+
func CommandLineRawOptions(commandLine *tsoptions.ParsedCommandLine) *collections.OrderedMap[string, any] {
|
|
34
|
+
if commandLine == nil {
|
|
35
|
+
return nil
|
|
36
|
+
}
|
|
37
|
+
raw, ok := commandLine.Raw.(*collections.OrderedMap[string, any])
|
|
38
|
+
if !ok || raw == nil {
|
|
39
|
+
return nil
|
|
40
|
+
}
|
|
41
|
+
wrapped := &collections.OrderedMap[string, any]{}
|
|
42
|
+
wrapped.Set("compilerOptions", raw)
|
|
43
|
+
return wrapped
|
|
44
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
module github.com/microsoft/TypeScript/tsc/shim/tsoptions
|
|
2
|
+
|
|
3
|
+
go 1.27
|
|
4
|
+
|
|
5
|
+
require github.com/microsoft/TypeScript/tsc v0.0.0-20261019224239-28534d760906
|
|
6
|
+
|
|
7
|
+
require (
|
|
8
|
+
github.com/Microsoft/go-winio v0.6.2 // indirect
|
|
9
|
+
github.com/klauspost/compress v1.20.0 // indirect
|
|
10
|
+
github.com/klauspost/cpuid/v2 v2.2.10 // indirect
|
|
11
|
+
github.com/zeebo/xxh3 v1.1.0 // indirect
|
|
12
|
+
golang.org/x/sync v0.23.0 // indirect
|
|
13
|
+
golang.org/x/sys v0.48.0 // indirect
|
|
14
|
+
golang.org/x/text v0.42.0 // indirect
|
|
15
|
+
)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
|
|
2
|
+
github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
|
|
3
|
+
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
|
|
4
|
+
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
|
|
5
|
+
github.com/klauspost/compress v1.20.0 h1:a3C1ke2ohxFymNlb2HWAHjDeKCI90scRskErZkR0ezA=
|
|
6
|
+
github.com/klauspost/compress v1.20.0/go.mod h1:LUdAzn7YLVvxLpc7y3V1m40wESHTgc1422pwwBSKYuI=
|
|
7
|
+
github.com/klauspost/cpuid/v2 v2.2.10 h1:tBs3QSyvjDyFTq3uoc/9xFpCuOsJQFNPiAhYdw2skhE=
|
|
8
|
+
github.com/klauspost/cpuid/v2 v2.2.10/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0=
|
|
9
|
+
github.com/microsoft/TypeScript/tsc v0.0.0-20261019224239-28534d760906 h1:Wn+Kp4ORyay6jJwvOng7G8pTD6HOP+Fwx8si66Wq7Bk=
|
|
10
|
+
github.com/microsoft/TypeScript/tsc v0.0.0-20261019224239-28534d760906/go.mod h1:28hWKaTYwRARPm0T9Y0XvdvYpU2HtjONzsMqAdYLucY=
|
|
11
|
+
github.com/peter-evans/patience v0.3.0 h1:rX0JdJeepqdQl1Sk9c9uvorjYYzL2TfgLX1adqYm9cA=
|
|
12
|
+
github.com/peter-evans/patience v0.3.0/go.mod h1:Kmxu5sY1NmBLFSStvXjX1wS9mIv7wMcP/ubucyMOAu0=
|
|
13
|
+
github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ=
|
|
14
|
+
github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=
|
|
15
|
+
github.com/zeebo/xxh3 v1.1.0 h1:s7DLGDK45Dyfg7++yxI0khrfwq9661w9EN78eP/UZVs=
|
|
16
|
+
github.com/zeebo/xxh3 v1.1.0/go.mod h1:IisAie1LELR4xhVinxWS5+zf1lA4p0MW4T+w+W07F5s=
|
|
17
|
+
golang.org/x/sync v0.23.0 h1:KameEIfc1IkluZyXWLn39Wd4tURc6GbCiISGiZm2bQk=
|
|
18
|
+
golang.org/x/sync v0.23.0/go.mod h1:sUUOizhqBxiL6pEWpqNLUiaJn1ShEbZ6BBqskPbjZm0=
|
|
19
|
+
golang.org/x/sys v0.48.0 h1:bbX/i/6MgT9BVLM9RT1thmxL04yeTAhbEz4SyadbXoo=
|
|
20
|
+
golang.org/x/sys v0.48.0/go.mod h1:hNLxWAXmnKAxqDtdwIYC4bM9oQPEecfsnNMuSxOs3og=
|
|
21
|
+
golang.org/x/text v0.42.0 h1:JbOZXgfeCPU9gacVtYliJqOhD+zhrEqK4LfdpmlUZqI=
|
|
22
|
+
golang.org/x/text v0.42.0/go.mod h1:ojzP1Z+2QtioaF8DTtO8K5q7JWVVYwZKenzujK0Zd0E=
|
|
23
|
+
gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q=
|
|
24
|
+
gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA=
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
package tsoptions
|
|
2
|
+
|
|
3
|
+
import (
|
|
4
|
+
innertsoptions "github.com/microsoft/TypeScript/tsc/internal/tsoptions"
|
|
5
|
+
innertspath "github.com/microsoft/TypeScript/tsc/internal/tspath"
|
|
6
|
+
innervfs "github.com/microsoft/TypeScript/tsc/internal/vfs"
|
|
7
|
+
)
|
|
8
|
+
|
|
9
|
+
// Version-neutral command-line and config parsing entry points.
|
|
10
|
+
//
|
|
11
|
+
// TypeScript 7.0 parses through a host that carries the working directory,
|
|
12
|
+
// while TypeScript 7.1 takes the filesystem and directory separately and asks
|
|
13
|
+
// its config host whether a content-mapper package may run. Code that must
|
|
14
|
+
// compile on both compiler targets calls these functions, which the 7.0 shim
|
|
15
|
+
// declares with identical signatures.
|
|
16
|
+
|
|
17
|
+
// NewParseConfigHost returns the config-parsing host over fs. TypeScript 7.0
|
|
18
|
+
// resolves relative paths against currentDirectory; TypeScript 7.1 resolves
|
|
19
|
+
// them against the config file and leaves content-mapper authorization to the
|
|
20
|
+
// runExternalCode option, so here currentDirectory is unused.
|
|
21
|
+
//
|
|
22
|
+
// @evidence contracts/common.md#principled-implementation Returns NewDefaultParseConfigHost, the compiler's host that defers content-mapper authorization to runExternalCode.
|
|
23
|
+
// @evidence contracts/common.md#clear-and-simple-design One constructor call keeps the target difference inside the shim.
|
|
24
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts No authorization policy is added here.
|
|
25
|
+
// @evidence contracts/common.md#meaningful-documentation Native prose states each target's use of currentDirectory.
|
|
26
|
+
// @evidence contracts/portability.md#os-neutral-implementation The supplied FS owns every native operation; the host adds none.
|
|
27
|
+
// @evidenceExclude contracts/performance.md#efficient-algorithms Construction assigns one field.
|
|
28
|
+
// @evidenceExclude contracts/performance.md#reuse-equivalent-work Each call returns a fresh host.
|
|
29
|
+
// @evidence contracts/performance.md#bound-retention-and-release-resources The host retains fs for the caller's lifetime and owns no handle.
|
|
30
|
+
func NewParseConfigHost(fs innervfs.FS, currentDirectory innertspath.RootedDirectoryPath) innertsoptions.ParseConfigHost {
|
|
31
|
+
return innertsoptions.NewDefaultParseConfigHost(fs)
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// ParseCommandLineAt parses tsc arguments, resolving relative values against
|
|
35
|
+
// currentDirectory, the directory the arguments were given in.
|
|
36
|
+
//
|
|
37
|
+
// @evidence contracts/common.md#principled-implementation Calls ParseCommandLine with the filesystem and argument base.
|
|
38
|
+
// @evidence contracts/common.md#clear-and-simple-design One parser call keeps the target difference inside the shim.
|
|
39
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts Argument parsing remains the compiler's.
|
|
40
|
+
// @evidence contracts/common.md#meaningful-documentation Native prose states which directory relative values use.
|
|
41
|
+
// @evidence contracts/portability.md#os-neutral-implementation Response-file reads go through the supplied FS.
|
|
42
|
+
// @evidenceExclude contracts/performance.md#efficient-algorithms The compiler owns the argument scan.
|
|
43
|
+
// @evidenceExclude contracts/performance.md#reuse-equivalent-work The function coordinates no shared work.
|
|
44
|
+
// @evidence contracts/performance.md#bound-retention-and-release-resources The returned command line is caller-owned.
|
|
45
|
+
func ParseCommandLineAt(args []string, fs innervfs.FS, currentDirectory innertspath.RootedDirectoryPath) *innertsoptions.ParsedCommandLine {
|
|
46
|
+
return innertsoptions.ParseCommandLine(args, fs, currentDirectory)
|
|
47
|
+
}
|