@angular/compiler-cli 13.0.0-next.7 → 13.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (600) hide show
  1. package/bundles/index.js +20418 -0
  2. package/bundles/index.js.map +6 -0
  3. package/bundles/linker/babel/index.js +2384 -0
  4. package/bundles/linker/babel/index.js.map +6 -0
  5. package/bundles/linker/index.js +1849 -0
  6. package/bundles/linker/index.js.map +6 -0
  7. package/bundles/ngcc/index.js +16054 -0
  8. package/bundles/ngcc/index.js.map +6 -0
  9. package/bundles/ngcc/main-ngcc.js +16142 -0
  10. package/bundles/ngcc/main-ngcc.js.map +6 -0
  11. package/bundles/ngcc/src/execution/cluster/ngcc_cluster_worker.js +13866 -0
  12. package/bundles/ngcc/src/execution/cluster/ngcc_cluster_worker.js.map +6 -0
  13. package/bundles/ngcc/src/locking/lock_file_with_child_process/ngcc_lock_unlocker.js +334 -0
  14. package/bundles/ngcc/src/locking/lock_file_with_child_process/ngcc_lock_unlocker.js.map +6 -0
  15. package/bundles/private/bazel.js +97 -0
  16. package/bundles/private/bazel.js.map +6 -0
  17. package/bundles/private/localize.js +911 -0
  18. package/bundles/private/localize.js.map +6 -0
  19. package/bundles/private/migrations.js +2181 -0
  20. package/bundles/private/migrations.js.map +6 -0
  21. package/bundles/private/tooling.js +942 -0
  22. package/bundles/private/tooling.js.map +6 -0
  23. package/bundles/src/bin/ng_xi18n.js +20468 -0
  24. package/bundles/src/bin/ng_xi18n.js.map +6 -0
  25. package/bundles/src/bin/ngc.js +20470 -0
  26. package/bundles/src/bin/ngc.js.map +6 -0
  27. package/bundles_metadata.json +1 -0
  28. package/import_meta_url.d.ts +14 -0
  29. package/index.d.ts +4 -1
  30. package/linker/babel/src/ast/babel_ast_factory.d.ts +1 -8
  31. package/linker/babel/src/ast/babel_ast_host.d.ts +1 -1
  32. package/linker/babel/src/babel_core.d.ts +36 -0
  33. package/linker/babel/src/babel_declaration_scope.d.ts +1 -1
  34. package/linker/babel/src/babel_plugin.d.ts +1 -8
  35. package/linker/babel/src/es2015_linker_plugin.d.ts +2 -2
  36. package/linker/src/ast/typescript/typescript_ast_host.d.ts +1 -1
  37. package/linker/src/file_linker/emit_scopes/emit_scope.d.ts +1 -2
  38. package/linker/src/file_linker/emit_scopes/iife_emit_scope.d.ts +1 -1
  39. package/linker/src/file_linker/partial_linkers/partial_class_metadata_linker_1.d.ts +1 -2
  40. package/linker/src/file_linker/partial_linkers/partial_component_linker_1.d.ts +1 -2
  41. package/linker/src/file_linker/partial_linkers/partial_directive_linker_1.d.ts +1 -2
  42. package/linker/src/file_linker/partial_linkers/partial_factory_linker_1.d.ts +1 -2
  43. package/linker/src/file_linker/partial_linkers/partial_injectable_linker_1.d.ts +1 -2
  44. package/linker/src/file_linker/partial_linkers/partial_injector_linker_1.d.ts +1 -2
  45. package/linker/src/file_linker/partial_linkers/partial_linker.d.ts +1 -2
  46. package/linker/src/file_linker/partial_linkers/partial_linker_selector.d.ts +2 -2
  47. package/linker/src/file_linker/partial_linkers/partial_ng_module_linker_1.d.ts +1 -2
  48. package/linker/src/file_linker/partial_linkers/partial_pipe_linker_1.d.ts +1 -2
  49. package/linker/src/file_linker/partial_linkers/util.d.ts +1 -2
  50. package/ngcc/index.d.ts +15 -0
  51. package/ngcc/src/analysis/decoration_analyzer.d.ts +1 -1
  52. package/ngcc/src/analysis/module_with_providers_analyzer.d.ts +1 -1
  53. package/ngcc/src/analysis/ngcc_references_registry.d.ts +1 -1
  54. package/ngcc/src/analysis/ngcc_trait_compiler.d.ts +1 -1
  55. package/ngcc/src/analysis/private_declarations_analyzer.d.ts +1 -1
  56. package/ngcc/src/analysis/switch_marker_analyzer.d.ts +1 -1
  57. package/ngcc/src/analysis/types.d.ts +1 -1
  58. package/ngcc/src/dependencies/esm_dependency_host.d.ts +1 -1
  59. package/ngcc/src/execution/cluster/api.d.ts +5 -1
  60. package/ngcc/src/execution/cluster/master.d.ts +5 -3
  61. package/{src/ngtsc/logging/testing/index.d.ts → ngcc/src/execution/cluster/ngcc_cluster_worker.d.ts} +2 -2
  62. package/ngcc/src/host/commonjs_host.d.ts +1 -1
  63. package/ngcc/src/host/commonjs_umd_utils.d.ts +1 -1
  64. package/ngcc/src/host/delegating_host.d.ts +1 -1
  65. package/ngcc/src/host/esm2015_host.d.ts +1 -1
  66. package/ngcc/src/host/esm5_host.d.ts +2 -1
  67. package/ngcc/src/host/ngcc_host.d.ts +1 -1
  68. package/ngcc/src/host/umd_host.d.ts +1 -1
  69. package/ngcc/src/host/utils.d.ts +1 -1
  70. package/ngcc/src/locking/lock_file.d.ts +1 -1
  71. package/ngcc/src/locking/lock_file_with_child_process/index.d.ts +2 -0
  72. package/ngcc/src/locking/lock_file_with_child_process/{unlocker.d.ts → ngcc_lock_unlocker.d.ts} +1 -1
  73. package/ngcc/src/migrations/migration.d.ts +1 -1
  74. package/ngcc/src/migrations/missing_injectable_migration.d.ts +1 -1
  75. package/ngcc/src/migrations/undecorated_child_migration.d.ts +1 -1
  76. package/ngcc/src/migrations/undecorated_parent_migration.d.ts +1 -1
  77. package/ngcc/src/migrations/utils.d.ts +1 -1
  78. package/ngcc/src/packages/build_marker.d.ts +1 -1
  79. package/ngcc/src/packages/bundle_program.d.ts +1 -1
  80. package/ngcc/src/packages/configuration.d.ts +41 -4
  81. package/ngcc/src/packages/entry_point_bundle.d.ts +1 -1
  82. package/ngcc/src/packages/ngcc_compiler_host.d.ts +1 -1
  83. package/ngcc/src/packages/source_file_cache.d.ts +1 -1
  84. package/ngcc/src/packages/transformer.d.ts +1 -1
  85. package/ngcc/src/rendering/commonjs_rendering_formatter.d.ts +1 -1
  86. package/ngcc/src/rendering/dts_renderer.d.ts +1 -1
  87. package/ngcc/src/rendering/esm5_rendering_formatter.d.ts +1 -1
  88. package/ngcc/src/rendering/esm_rendering_formatter.d.ts +1 -1
  89. package/ngcc/src/rendering/renderer.d.ts +1 -1
  90. package/ngcc/src/rendering/rendering_formatter.d.ts +1 -1
  91. package/ngcc/src/rendering/source_maps.d.ts +3 -3
  92. package/ngcc/src/rendering/umd_rendering_formatter.d.ts +1 -1
  93. package/ngcc/src/rendering/utils.d.ts +1 -1
  94. package/ngcc/src/utils.d.ts +1 -1
  95. package/package.json +53 -14
  96. package/private/bazel.d.ts +13 -0
  97. package/private/localize.d.ts +15 -0
  98. package/private/migrations.d.ts +16 -0
  99. package/{src → private}/tooling.d.ts +2 -2
  100. package/src/bin/ng_xi18n.d.ts +10 -0
  101. package/{ngcc/main-ivy-ngcc.d.ts → src/bin/ngc.d.ts} +2 -1
  102. package/src/diagnostics/translate_diagnostics.d.ts +1 -1
  103. package/src/extract_i18n.d.ts +0 -5
  104. package/src/main.d.ts +9 -6
  105. package/src/metadata/bundle_index_host.d.ts +1 -1
  106. package/src/metadata/bundler.d.ts +1 -1
  107. package/src/metadata/collector.d.ts +1 -1
  108. package/src/metadata/evaluator.d.ts +1 -1
  109. package/src/metadata/symbols.d.ts +1 -1
  110. package/src/ngtsc/annotations/src/component.d.ts +1 -1
  111. package/src/ngtsc/annotations/src/diagnostics.d.ts +1 -1
  112. package/src/ngtsc/annotations/src/directive.d.ts +1 -1
  113. package/src/ngtsc/annotations/src/ng_module.d.ts +2 -4
  114. package/src/ngtsc/annotations/src/pipe.d.ts +1 -1
  115. package/src/ngtsc/annotations/src/util.d.ts +2 -4
  116. package/src/ngtsc/core/api/src/adapter.d.ts +1 -1
  117. package/src/ngtsc/core/api/src/interfaces.d.ts +1 -12
  118. package/src/ngtsc/core/api/src/options.d.ts +1 -1
  119. package/src/ngtsc/core/api/src/public_options.d.ts +5 -1
  120. package/src/ngtsc/core/src/compiler.d.ts +2 -8
  121. package/src/ngtsc/core/src/host.d.ts +1 -1
  122. package/src/ngtsc/cycles/src/analyzer.d.ts +1 -1
  123. package/src/ngtsc/cycles/src/imports.d.ts +1 -1
  124. package/src/ngtsc/diagnostics/src/error.d.ts +1 -1
  125. package/src/ngtsc/entry_point/src/generator.d.ts +1 -1
  126. package/src/ngtsc/entry_point/src/private_export_checker.d.ts +1 -1
  127. package/src/ngtsc/file_system/src/compiler_host.d.ts +1 -1
  128. package/src/ngtsc/file_system/src/logical.d.ts +1 -1
  129. package/src/ngtsc/file_system/src/util.d.ts +1 -1
  130. package/src/ngtsc/imports/src/alias.d.ts +1 -1
  131. package/src/ngtsc/imports/src/default.d.ts +1 -1
  132. package/src/ngtsc/imports/src/emitter.d.ts +1 -1
  133. package/src/ngtsc/imports/src/find_export.d.ts +1 -1
  134. package/src/ngtsc/imports/src/references.d.ts +1 -1
  135. package/src/ngtsc/imports/src/resolver.d.ts +1 -1
  136. package/src/ngtsc/incremental/api.d.ts +1 -1
  137. package/src/ngtsc/incremental/src/dependency_tracking.d.ts +1 -1
  138. package/src/ngtsc/incremental/src/incremental.d.ts +1 -1
  139. package/src/ngtsc/incremental/src/state.d.ts +1 -1
  140. package/src/ngtsc/incremental/src/strategy.d.ts +1 -1
  141. package/src/ngtsc/metadata/src/api.d.ts +1 -1
  142. package/src/ngtsc/metadata/src/dts.d.ts +1 -1
  143. package/src/ngtsc/metadata/src/resource_registry.d.ts +1 -1
  144. package/src/ngtsc/metadata/src/util.d.ts +1 -1
  145. package/src/ngtsc/partial_evaluator/index.d.ts +1 -0
  146. package/src/ngtsc/partial_evaluator/src/builtin.d.ts +1 -1
  147. package/src/ngtsc/partial_evaluator/src/diagnostics.d.ts +1 -1
  148. package/src/ngtsc/partial_evaluator/src/dynamic.d.ts +1 -1
  149. package/src/ngtsc/partial_evaluator/src/interface.d.ts +1 -1
  150. package/src/ngtsc/partial_evaluator/src/interpreter.d.ts +1 -1
  151. package/src/ngtsc/partial_evaluator/src/result.d.ts +1 -1
  152. package/src/ngtsc/partial_evaluator/src/ts_helpers.d.ts +1 -1
  153. package/src/ngtsc/program.d.ts +1 -1
  154. package/src/ngtsc/program_driver/src/api.d.ts +1 -1
  155. package/src/ngtsc/program_driver/src/ts_create_program_driver.d.ts +1 -1
  156. package/src/ngtsc/reflection/src/host.d.ts +1 -1
  157. package/src/ngtsc/reflection/src/type_to_value.d.ts +1 -1
  158. package/src/ngtsc/reflection/src/typescript.d.ts +1 -1
  159. package/src/ngtsc/reflection/src/util.d.ts +1 -1
  160. package/src/ngtsc/resource/src/loader.d.ts +1 -1
  161. package/src/ngtsc/scope/src/local.d.ts +1 -1
  162. package/src/ngtsc/scope/src/typecheck.d.ts +1 -1
  163. package/src/ngtsc/shims/api.d.ts +1 -1
  164. package/src/ngtsc/shims/src/adapter.d.ts +1 -1
  165. package/src/ngtsc/shims/src/expando.d.ts +1 -1
  166. package/src/ngtsc/shims/src/factory_generator.d.ts +1 -1
  167. package/src/ngtsc/shims/src/reference_tagger.d.ts +1 -1
  168. package/src/ngtsc/shims/src/summary_generator.d.ts +1 -1
  169. package/src/ngtsc/switch/src/switch.d.ts +1 -1
  170. package/src/ngtsc/transform/src/alias.d.ts +1 -1
  171. package/src/ngtsc/transform/src/api.d.ts +1 -1
  172. package/src/ngtsc/transform/src/compilation.d.ts +1 -1
  173. package/src/ngtsc/transform/src/declaration.d.ts +1 -1
  174. package/src/ngtsc/transform/src/trait.d.ts +1 -1
  175. package/src/ngtsc/transform/src/transform.d.ts +1 -1
  176. package/src/ngtsc/transform/src/utils.d.ts +1 -1
  177. package/src/ngtsc/translator/src/import_manager.d.ts +1 -1
  178. package/src/ngtsc/translator/src/type_translator.d.ts +1 -1
  179. package/src/ngtsc/translator/src/typescript_ast_factory.d.ts +1 -1
  180. package/src/ngtsc/translator/src/typescript_translator.d.ts +1 -1
  181. package/src/ngtsc/tsc_plugin.d.ts +1 -1
  182. package/src/ngtsc/typecheck/api/api.d.ts +1 -1
  183. package/src/ngtsc/typecheck/api/checker.d.ts +7 -4
  184. package/src/ngtsc/typecheck/api/context.d.ts +1 -1
  185. package/src/ngtsc/typecheck/api/scope.d.ts +1 -1
  186. package/src/ngtsc/typecheck/api/symbols.d.ts +1 -1
  187. package/src/ngtsc/typecheck/diagnostics/src/diagnostic.d.ts +1 -1
  188. package/src/ngtsc/typecheck/extended/api/api.d.ts +1 -1
  189. package/src/ngtsc/typecheck/extended/api/extended_template_checker.d.ts +1 -1
  190. package/src/ngtsc/typecheck/extended/checks/invalid_banana_in_box/index.d.ts +1 -1
  191. package/src/ngtsc/typecheck/extended/checks/nullish_coalescing_not_nullable/index.d.ts +1 -1
  192. package/src/ngtsc/typecheck/extended/src/extended_template_checker.d.ts +1 -1
  193. package/src/ngtsc/typecheck/src/checker.d.ts +4 -4
  194. package/src/ngtsc/typecheck/src/comments.d.ts +1 -1
  195. package/src/ngtsc/typecheck/src/completion.d.ts +3 -5
  196. package/src/ngtsc/typecheck/src/context.d.ts +1 -1
  197. package/src/ngtsc/typecheck/src/diagnostics.d.ts +1 -1
  198. package/src/ngtsc/typecheck/src/environment.d.ts +1 -1
  199. package/src/ngtsc/typecheck/src/expression.d.ts +1 -1
  200. package/src/ngtsc/typecheck/src/oob.d.ts +3 -4
  201. package/src/ngtsc/typecheck/src/shim.d.ts +1 -1
  202. package/src/ngtsc/typecheck/src/source.d.ts +1 -1
  203. package/src/ngtsc/typecheck/src/tcb_util.d.ts +1 -1
  204. package/src/ngtsc/typecheck/src/template_symbol_builder.d.ts +1 -1
  205. package/src/ngtsc/typecheck/src/ts_util.d.ts +1 -1
  206. package/src/ngtsc/typecheck/src/type_check_block.d.ts +1 -1
  207. package/src/ngtsc/typecheck/src/type_check_file.d.ts +1 -1
  208. package/src/ngtsc/typecheck/src/type_constructor.d.ts +1 -1
  209. package/src/ngtsc/typecheck/src/type_emitter.d.ts +1 -1
  210. package/src/ngtsc/typecheck/src/type_parameter_emitter.d.ts +1 -1
  211. package/src/ngtsc/util/src/typescript.d.ts +1 -1
  212. package/src/ngtsc/util/src/visitor.d.ts +1 -1
  213. package/src/perform_compile.d.ts +1 -2
  214. package/src/perform_watch.d.ts +1 -1
  215. package/src/transformers/api.d.ts +2 -5
  216. package/src/transformers/compiler_host.d.ts +1 -1
  217. package/src/transformers/{downlevel_decorators_transform.d.ts → downlevel_decorators_transform/downlevel_decorators_transform.d.ts} +3 -3
  218. package/src/{ngtsc/routing → transformers/downlevel_decorators_transform}/index.d.ts +2 -3
  219. package/src/transformers/{patch_alias_reference_resolution.d.ts → downlevel_decorators_transform/patch_alias_reference_resolution.d.ts} +2 -2
  220. package/src/transformers/i18n.d.ts +1 -1
  221. package/src/transformers/inline_resources.d.ts +1 -1
  222. package/src/transformers/lower_expressions.d.ts +1 -1
  223. package/src/transformers/metadata_cache.d.ts +1 -1
  224. package/src/transformers/node_emitter.d.ts +1 -1
  225. package/src/transformers/node_emitter_transform.d.ts +1 -1
  226. package/src/transformers/program.d.ts +1 -1
  227. package/src/transformers/r3_metadata_transform.d.ts +1 -1
  228. package/src/transformers/r3_transform.d.ts +1 -1
  229. package/src/transformers/util.d.ts +1 -1
  230. package/index.js +0 -40
  231. package/linker/babel/index.js +0 -25
  232. package/linker/babel/src/ast/babel_ast_factory.js +0 -153
  233. package/linker/babel/src/ast/babel_ast_host.js +0 -181
  234. package/linker/babel/src/babel_declaration_scope.js +0 -67
  235. package/linker/babel/src/babel_plugin.js +0 -38
  236. package/linker/babel/src/es2015_linker_plugin.js +0 -183
  237. package/linker/babel/src/linker_plugin_options.js +0 -13
  238. package/linker/index.js +0 -27
  239. package/linker/src/ast/ast_host.js +0 -20
  240. package/linker/src/ast/ast_value.js +0 -299
  241. package/linker/src/ast/typescript/typescript_ast_host.js +0 -183
  242. package/linker/src/ast/utils.js +0 -31
  243. package/linker/src/fatal_linker_error.js +0 -49
  244. package/linker/src/file_linker/declaration_scope.js +0 -20
  245. package/linker/src/file_linker/emit_scopes/emit_scope.js +0 -57
  246. package/linker/src/file_linker/emit_scopes/iife_emit_scope.js +0 -51
  247. package/linker/src/file_linker/file_linker.js +0 -97
  248. package/linker/src/file_linker/get_source_file.js +0 -42
  249. package/linker/src/file_linker/linker_environment.js +0 -38
  250. package/linker/src/file_linker/linker_options.js +0 -29
  251. package/linker/src/file_linker/needs_linking.js +0 -41
  252. package/linker/src/file_linker/partial_linkers/partial_class_metadata_linker_1.js +0 -47
  253. package/linker/src/file_linker/partial_linkers/partial_component_linker_1.js +0 -210
  254. package/linker/src/file_linker/partial_linkers/partial_directive_linker_1.js +0 -154
  255. package/linker/src/file_linker/partial_linkers/partial_factory_linker_1.js +0 -70
  256. package/linker/src/file_linker/partial_linkers/partial_injectable_linker_1.js +0 -74
  257. package/linker/src/file_linker/partial_linkers/partial_injector_linker_1.js +0 -56
  258. package/linker/src/file_linker/partial_linkers/partial_linker.js +0 -13
  259. package/linker/src/file_linker/partial_linkers/partial_linker_selector.js +0 -194
  260. package/linker/src/file_linker/partial_linkers/partial_ng_module_linker_1.js +0 -126
  261. package/linker/src/file_linker/partial_linkers/partial_pipe_linker_1.js +0 -59
  262. package/linker/src/file_linker/partial_linkers/util.js +0 -95
  263. package/linker/src/file_linker/translator.js +0 -40
  264. package/linker/src/linker_import_generator.js +0 -43
  265. package/ngcc/index.js +0 -33
  266. package/ngcc/main-ivy-ngcc.js +0 -12
  267. package/ngcc/main-ngcc.js +0 -54
  268. package/ngcc/src/analysis/decoration_analyzer.js +0 -268
  269. package/ngcc/src/analysis/migration_host.js +0 -108
  270. package/ngcc/src/analysis/module_with_providers_analyzer.js +0 -197
  271. package/ngcc/src/analysis/ngcc_references_registry.js +0 -65
  272. package/ngcc/src/analysis/ngcc_trait_compiler.js +0 -117
  273. package/ngcc/src/analysis/private_declarations_analyzer.js +0 -63
  274. package/ngcc/src/analysis/switch_marker_analyzer.js +0 -50
  275. package/ngcc/src/analysis/types.js +0 -15
  276. package/ngcc/src/analysis/util.js +0 -36
  277. package/ngcc/src/command_line_options.js +0 -156
  278. package/ngcc/src/constants.js +0 -23
  279. package/ngcc/src/dependencies/commonjs_dependency_host.js +0 -129
  280. package/ngcc/src/dependencies/dependency_host.js +0 -143
  281. package/ngcc/src/dependencies/dependency_resolver.js +0 -180
  282. package/ngcc/src/dependencies/dts_dependency_host.js +0 -35
  283. package/ngcc/src/dependencies/esm_dependency_host.js +0 -307
  284. package/ngcc/src/dependencies/module_resolver.js +0 -269
  285. package/ngcc/src/dependencies/umd_dependency_host.js +0 -53
  286. package/ngcc/src/entry_point_finder/directory_walker_entry_point_finder.js +0 -70
  287. package/ngcc/src/entry_point_finder/entry_point_collector.js +0 -157
  288. package/ngcc/src/entry_point_finder/interface.js +0 -13
  289. package/ngcc/src/entry_point_finder/program_based_entry_point_finder.js +0 -132
  290. package/ngcc/src/entry_point_finder/targeted_entry_point_finder.js +0 -268
  291. package/ngcc/src/entry_point_finder/tracing_entry_point_finder.js +0 -78
  292. package/ngcc/src/entry_point_finder/utils.js +0 -234
  293. package/ngcc/src/execution/analyze_entry_points.js +0 -197
  294. package/ngcc/src/execution/api.js +0 -13
  295. package/ngcc/src/execution/cluster/api.js +0 -20
  296. package/ngcc/src/execution/cluster/executor.js +0 -52
  297. package/ngcc/src/execution/cluster/master.js +0 -311
  298. package/ngcc/src/execution/cluster/package_json_updater.js +0 -79
  299. package/ngcc/src/execution/cluster/utils.js +0 -77
  300. package/ngcc/src/execution/cluster/worker.js +0 -123
  301. package/ngcc/src/execution/create_compile_function.js +0 -76
  302. package/ngcc/src/execution/single_process_executor.js +0 -91
  303. package/ngcc/src/execution/tasks/api.js +0 -35
  304. package/ngcc/src/execution/tasks/completion.js +0 -79
  305. package/ngcc/src/execution/tasks/queues/base_task_queue.js +0 -120
  306. package/ngcc/src/execution/tasks/queues/parallel_task_queue.js +0 -87
  307. package/ngcc/src/execution/tasks/queues/serial_task_queue.js +0 -49
  308. package/ngcc/src/execution/tasks/utils.js +0 -167
  309. package/ngcc/src/host/commonjs_host.js +0 -261
  310. package/ngcc/src/host/commonjs_umd_utils.js +0 -210
  311. package/ngcc/src/host/delegating_host.js +0 -156
  312. package/ngcc/src/host/esm2015_host.js +0 -2441
  313. package/ngcc/src/host/esm5_host.js +0 -744
  314. package/ngcc/src/host/ngcc_host.js +0 -29
  315. package/ngcc/src/host/umd_host.js +0 -539
  316. package/ngcc/src/host/utils.js +0 -26
  317. package/ngcc/src/locking/async_locker.js +0 -121
  318. package/ngcc/src/locking/lock_file.js +0 -18
  319. package/ngcc/src/locking/lock_file_with_child_process/index.js +0 -93
  320. package/ngcc/src/locking/lock_file_with_child_process/unlocker.js +0 -46
  321. package/ngcc/src/locking/lock_file_with_child_process/util.js +0 -43
  322. package/ngcc/src/locking/sync_locker.js +0 -67
  323. package/ngcc/src/main.js +0 -163
  324. package/ngcc/src/migrations/migration.js +0 -13
  325. package/ngcc/src/migrations/missing_injectable_migration.js +0 -227
  326. package/ngcc/src/migrations/undecorated_child_migration.js +0 -90
  327. package/ngcc/src/migrations/undecorated_parent_migration.js +0 -103
  328. package/ngcc/src/migrations/utils.js +0 -137
  329. package/ngcc/src/ngcc_options.js +0 -135
  330. package/ngcc/src/packages/build_marker.js +0 -124
  331. package/ngcc/src/packages/bundle_program.js +0 -80
  332. package/ngcc/src/packages/configuration.js +0 -277
  333. package/ngcc/src/packages/entry_point.js +0 -267
  334. package/ngcc/src/packages/entry_point_bundle.js +0 -96
  335. package/ngcc/src/packages/entry_point_manifest.js +0 -207
  336. package/ngcc/src/packages/ngcc_compiler_host.js +0 -101
  337. package/ngcc/src/packages/patch_ts_expando_initializer.js +0 -174
  338. package/ngcc/src/packages/source_file_cache.js +0 -207
  339. package/ngcc/src/packages/transformer.js +0 -157
  340. package/ngcc/src/path_mappings.js +0 -27
  341. package/ngcc/src/rendering/commonjs_rendering_formatter.js +0 -106
  342. package/ngcc/src/rendering/dts_renderer.js +0 -170
  343. package/ngcc/src/rendering/esm5_rendering_formatter.js +0 -70
  344. package/ngcc/src/rendering/esm_rendering_formatter.js +0 -291
  345. package/ngcc/src/rendering/ngcc_import_rewriter.js +0 -49
  346. package/ngcc/src/rendering/renderer.js +0 -204
  347. package/ngcc/src/rendering/rendering_formatter.js +0 -15
  348. package/ngcc/src/rendering/source_maps.js +0 -68
  349. package/ngcc/src/rendering/umd_rendering_formatter.js +0 -326
  350. package/ngcc/src/rendering/utils.js +0 -35
  351. package/ngcc/src/utils.js +0 -182
  352. package/ngcc/src/writing/cleaning/cleaning_strategies.js +0 -80
  353. package/ngcc/src/writing/cleaning/package_cleaner.js +0 -126
  354. package/ngcc/src/writing/cleaning/utils.js +0 -30
  355. package/ngcc/src/writing/file_writer.js +0 -13
  356. package/ngcc/src/writing/in_place_file_writer.js +0 -90
  357. package/ngcc/src/writing/new_entry_point_file_writer.js +0 -214
  358. package/ngcc/src/writing/package_json_updater.js +0 -182
  359. package/src/diagnostics/translate_diagnostics.js +0 -61
  360. package/src/diagnostics/typescript_version.js +0 -96
  361. package/src/extract_i18n.js +0 -62
  362. package/src/language_services.js +0 -34
  363. package/src/main.js +0 -210
  364. package/src/metadata/bundle_index_host.js +0 -133
  365. package/src/metadata/bundler.js +0 -624
  366. package/src/metadata/collector.js +0 -799
  367. package/src/metadata/evaluator.js +0 -677
  368. package/src/metadata/index.js +0 -24
  369. package/src/metadata/index_writer.js +0 -80
  370. package/src/metadata/schema.js +0 -136
  371. package/src/metadata/symbols.js +0 -149
  372. package/src/ngtsc/annotations/index.js +0 -35
  373. package/src/ngtsc/annotations/src/api.js +0 -20
  374. package/src/ngtsc/annotations/src/component.js +0 -1338
  375. package/src/ngtsc/annotations/src/diagnostics.js +0 -174
  376. package/src/ngtsc/annotations/src/directive.js +0 -724
  377. package/src/ngtsc/annotations/src/factory.js +0 -32
  378. package/src/ngtsc/annotations/src/injectable.js +0 -277
  379. package/src/ngtsc/annotations/src/metadata.js +0 -160
  380. package/src/ngtsc/annotations/src/ng_module.js +0 -677
  381. package/src/ngtsc/annotations/src/pipe.js +0 -171
  382. package/src/ngtsc/annotations/src/references_registry.js +0 -38
  383. package/src/ngtsc/annotations/src/util.js +0 -566
  384. package/src/ngtsc/core/api/index.js +0 -25
  385. package/src/ngtsc/core/api/src/adapter.js +0 -20
  386. package/src/ngtsc/core/api/src/interfaces.js +0 -20
  387. package/src/ngtsc/core/api/src/options.js +0 -20
  388. package/src/ngtsc/core/api/src/public_options.js +0 -20
  389. package/src/ngtsc/core/index.js +0 -25
  390. package/src/ngtsc/core/src/compiler.js +0 -1142
  391. package/src/ngtsc/core/src/host.js +0 -273
  392. package/src/ngtsc/cycles/index.js +0 -26
  393. package/src/ngtsc/cycles/src/analyzer.js +0 -163
  394. package/src/ngtsc/cycles/src/imports.js +0 -175
  395. package/src/ngtsc/diagnostics/index.js +0 -33
  396. package/src/ngtsc/diagnostics/src/error.js +0 -69
  397. package/src/ngtsc/diagnostics/src/error_code.js +0 -235
  398. package/src/ngtsc/diagnostics/src/util.js +0 -35
  399. package/src/ngtsc/entry_point/index.js +0 -29
  400. package/src/ngtsc/entry_point/src/generator.js +0 -45
  401. package/src/ngtsc/entry_point/src/logic.js +0 -61
  402. package/src/ngtsc/entry_point/src/private_export_checker.js +0 -137
  403. package/src/ngtsc/entry_point/src/reference_graph.js +0 -91
  404. package/src/ngtsc/file_system/index.js +0 -45
  405. package/src/ngtsc/file_system/src/compiler_host.js +0 -80
  406. package/src/ngtsc/file_system/src/helpers.js +0 -135
  407. package/src/ngtsc/file_system/src/invalid_file_system.js +0 -120
  408. package/src/ngtsc/file_system/src/logical.js +0 -100
  409. package/src/ngtsc/file_system/src/node_js_file_system.js +0 -179
  410. package/src/ngtsc/file_system/src/types.js +0 -20
  411. package/src/ngtsc/file_system/src/util.js +0 -38
  412. package/src/ngtsc/file_system/testing/index.d.ts +0 -13
  413. package/src/ngtsc/file_system/testing/index.js +0 -32
  414. package/src/ngtsc/file_system/testing/src/mock_file_system.d.ts +0 -72
  415. package/src/ngtsc/file_system/testing/src/mock_file_system.js +0 -333
  416. package/src/ngtsc/file_system/testing/src/mock_file_system_native.d.ts +0 -16
  417. package/src/ngtsc/file_system/testing/src/mock_file_system_native.js +0 -85
  418. package/src/ngtsc/file_system/testing/src/mock_file_system_posix.d.ts +0 -13
  419. package/src/ngtsc/file_system/testing/src/mock_file_system_posix.js +0 -68
  420. package/src/ngtsc/file_system/testing/src/mock_file_system_windows.d.ts +0 -13
  421. package/src/ngtsc/file_system/testing/src/mock_file_system_windows.js +0 -68
  422. package/src/ngtsc/file_system/testing/src/test_helper.d.ts +0 -17
  423. package/src/ngtsc/file_system/testing/src/test_helper.js +0 -142
  424. package/src/ngtsc/imports/index.js +0 -43
  425. package/src/ngtsc/imports/src/alias.js +0 -158
  426. package/src/ngtsc/imports/src/core.js +0 -98
  427. package/src/ngtsc/imports/src/default.js +0 -153
  428. package/src/ngtsc/imports/src/emitter.js +0 -317
  429. package/src/ngtsc/imports/src/find_export.js +0 -82
  430. package/src/ngtsc/imports/src/reexport.js +0 -20
  431. package/src/ngtsc/imports/src/references.js +0 -171
  432. package/src/ngtsc/imports/src/resolver.js +0 -39
  433. package/src/ngtsc/incremental/api.js +0 -20
  434. package/src/ngtsc/incremental/index.js +0 -29
  435. package/src/ngtsc/incremental/semantic_graph/index.js +0 -34
  436. package/src/ngtsc/incremental/semantic_graph/src/api.js +0 -51
  437. package/src/ngtsc/incremental/semantic_graph/src/graph.js +0 -302
  438. package/src/ngtsc/incremental/semantic_graph/src/type_parameters.js +0 -55
  439. package/src/ngtsc/incremental/semantic_graph/src/util.js +0 -111
  440. package/src/ngtsc/incremental/src/dependency_tracking.js +0 -165
  441. package/src/ngtsc/incremental/src/incremental.js +0 -393
  442. package/src/ngtsc/incremental/src/noop.js +0 -26
  443. package/src/ngtsc/incremental/src/state.js +0 -30
  444. package/src/ngtsc/incremental/src/strategy.js +0 -99
  445. package/src/ngtsc/indexer/index.js +0 -27
  446. package/src/ngtsc/indexer/src/api.js +0 -45
  447. package/src/ngtsc/indexer/src/context.js +0 -40
  448. package/src/ngtsc/indexer/src/template.js +0 -324
  449. package/src/ngtsc/indexer/src/transform.js +0 -66
  450. package/src/ngtsc/logging/index.js +0 -25
  451. package/src/ngtsc/logging/src/console_logger.js +0 -75
  452. package/src/ngtsc/logging/src/logger.js +0 -28
  453. package/src/ngtsc/logging/testing/index.js +0 -23
  454. package/src/ngtsc/logging/testing/src/mock_logger.d.ts +0 -20
  455. package/src/ngtsc/logging/testing/src/mock_logger.js +0 -64
  456. package/src/ngtsc/metadata/index.js +0 -39
  457. package/src/ngtsc/metadata/src/api.js +0 -26
  458. package/src/ngtsc/metadata/src/dts.js +0 -168
  459. package/src/ngtsc/metadata/src/inheritance.js +0 -122
  460. package/src/ngtsc/metadata/src/property_mapping.js +0 -244
  461. package/src/ngtsc/metadata/src/registry.js +0 -133
  462. package/src/ngtsc/metadata/src/resource_registry.js +0 -109
  463. package/src/ngtsc/metadata/src/util.js +0 -275
  464. package/src/ngtsc/partial_evaluator/index.js +0 -31
  465. package/src/ngtsc/partial_evaluator/src/builtin.js +0 -125
  466. package/src/ngtsc/partial_evaluator/src/diagnostics.js +0 -193
  467. package/src/ngtsc/partial_evaluator/src/dynamic.js +0 -109
  468. package/src/ngtsc/partial_evaluator/src/interface.js +0 -42
  469. package/src/ngtsc/partial_evaluator/src/interpreter.js +0 -780
  470. package/src/ngtsc/partial_evaluator/src/known_declaration.js +0 -57
  471. package/src/ngtsc/partial_evaluator/src/result.js +0 -72
  472. package/src/ngtsc/partial_evaluator/src/ts_helpers.js +0 -121
  473. package/src/ngtsc/perf/index.js +0 -28
  474. package/src/ngtsc/perf/src/api.js +0 -291
  475. package/src/ngtsc/perf/src/clock.js +0 -30
  476. package/src/ngtsc/perf/src/noop.js +0 -37
  477. package/src/ngtsc/perf/src/recorder.js +0 -143
  478. package/src/ngtsc/program.js +0 -360
  479. package/src/ngtsc/program_driver/index.js +0 -25
  480. package/src/ngtsc/program_driver/src/api.js +0 -36
  481. package/src/ngtsc/program_driver/src/ts_create_program_driver.js +0 -200
  482. package/src/ngtsc/reflection/index.js +0 -36
  483. package/src/ngtsc/reflection/src/host.js +0 -88
  484. package/src/ngtsc/reflection/src/type_to_value.js +0 -259
  485. package/src/ngtsc/reflection/src/typescript.js +0 -640
  486. package/src/ngtsc/reflection/src/util.js +0 -37
  487. package/src/ngtsc/resource/index.js +0 -23
  488. package/src/ngtsc/resource/src/loader.js +0 -285
  489. package/src/ngtsc/routing/index.js +0 -26
  490. package/src/ngtsc/routing/src/analyzer.d.ts +0 -37
  491. package/src/ngtsc/routing/src/analyzer.js +0 -82
  492. package/src/ngtsc/routing/src/lazy.d.ts +0 -19
  493. package/src/ngtsc/routing/src/lazy.js +0 -239
  494. package/src/ngtsc/routing/src/route.d.ts +0 -23
  495. package/src/ngtsc/routing/src/route.js +0 -77
  496. package/src/ngtsc/scope/index.js +0 -29
  497. package/src/ngtsc/scope/src/api.js +0 -20
  498. package/src/ngtsc/scope/src/component_scope.js +0 -69
  499. package/src/ngtsc/scope/src/dependency.js +0 -201
  500. package/src/ngtsc/scope/src/local.js +0 -665
  501. package/src/ngtsc/scope/src/typecheck.js +0 -120
  502. package/src/ngtsc/shims/api.js +0 -13
  503. package/src/ngtsc/shims/index.js +0 -39
  504. package/src/ngtsc/shims/src/adapter.js +0 -266
  505. package/src/ngtsc/shims/src/expando.js +0 -147
  506. package/src/ngtsc/shims/src/factory_generator.js +0 -292
  507. package/src/ngtsc/shims/src/reference_tagger.js +0 -94
  508. package/src/ngtsc/shims/src/summary_generator.js +0 -101
  509. package/src/ngtsc/shims/src/util.js +0 -41
  510. package/src/ngtsc/sourcemaps/index.js +0 -27
  511. package/src/ngtsc/sourcemaps/src/content_origin.js +0 -48
  512. package/src/ngtsc/sourcemaps/src/raw_source_map.js +0 -13
  513. package/src/ngtsc/sourcemaps/src/segment_marker.js +0 -55
  514. package/src/ngtsc/sourcemaps/src/source_file.js +0 -519
  515. package/src/ngtsc/sourcemaps/src/source_file_loader.js +0 -234
  516. package/src/ngtsc/switch/index.js +0 -23
  517. package/src/ngtsc/switch/src/switch.js +0 -141
  518. package/src/ngtsc/transform/index.js +0 -36
  519. package/src/ngtsc/transform/src/alias.js +0 -46
  520. package/src/ngtsc/transform/src/api.js +0 -76
  521. package/src/ngtsc/transform/src/compilation.js +0 -862
  522. package/src/ngtsc/transform/src/declaration.js +0 -234
  523. package/src/ngtsc/transform/src/trait.js +0 -111
  524. package/src/ngtsc/transform/src/transform.js +0 -333
  525. package/src/ngtsc/transform/src/utils.js +0 -73
  526. package/src/ngtsc/translator/index.js +0 -37
  527. package/src/ngtsc/translator/src/api/ast_factory.js +0 -20
  528. package/src/ngtsc/translator/src/api/import_generator.js +0 -20
  529. package/src/ngtsc/translator/src/context.js +0 -47
  530. package/src/ngtsc/translator/src/import_manager.js +0 -77
  531. package/src/ngtsc/translator/src/translator.js +0 -347
  532. package/src/ngtsc/translator/src/type_translator.js +0 -220
  533. package/src/ngtsc/translator/src/typescript_ast_factory.js +0 -251
  534. package/src/ngtsc/translator/src/typescript_translator.js +0 -34
  535. package/src/ngtsc/tsc_plugin.js +0 -129
  536. package/src/ngtsc/typecheck/api/api.js +0 -20
  537. package/src/ngtsc/typecheck/api/checker.js +0 -44
  538. package/src/ngtsc/typecheck/api/completion.js +0 -29
  539. package/src/ngtsc/typecheck/api/context.js +0 -20
  540. package/src/ngtsc/typecheck/api/index.js +0 -27
  541. package/src/ngtsc/typecheck/api/scope.js +0 -20
  542. package/src/ngtsc/typecheck/api/symbols.js +0 -35
  543. package/src/ngtsc/typecheck/diagnostics/index.js +0 -23
  544. package/src/ngtsc/typecheck/diagnostics/src/diagnostic.js +0 -141
  545. package/src/ngtsc/typecheck/diagnostics/src/id.js +0 -37
  546. package/src/ngtsc/typecheck/extended/api/api.js +0 -124
  547. package/src/ngtsc/typecheck/extended/api/extended_template_checker.js +0 -20
  548. package/src/ngtsc/typecheck/extended/api/index.js +0 -23
  549. package/src/ngtsc/typecheck/extended/checks/invalid_banana_in_box/index.js +0 -52
  550. package/src/ngtsc/typecheck/extended/checks/nullish_coalescing_not_nullable/index.js +0 -64
  551. package/src/ngtsc/typecheck/extended/index.js +0 -23
  552. package/src/ngtsc/typecheck/extended/src/extended_template_checker.js +0 -55
  553. package/src/ngtsc/typecheck/index.js +0 -29
  554. package/src/ngtsc/typecheck/src/checker.js +0 -764
  555. package/src/ngtsc/typecheck/src/comments.js +0 -181
  556. package/src/ngtsc/typecheck/src/completion.js +0 -230
  557. package/src/ngtsc/typecheck/src/context.js +0 -424
  558. package/src/ngtsc/typecheck/src/diagnostics.js +0 -114
  559. package/src/ngtsc/typecheck/src/dom.js +0 -87
  560. package/src/ngtsc/typecheck/src/environment.js +0 -160
  561. package/src/ngtsc/typecheck/src/expression.js +0 -417
  562. package/src/ngtsc/typecheck/src/line_mappings.js +0 -77
  563. package/src/ngtsc/typecheck/src/oob.js +0 -181
  564. package/src/ngtsc/typecheck/src/shim.js +0 -52
  565. package/src/ngtsc/typecheck/src/source.js +0 -91
  566. package/src/ngtsc/typecheck/src/tcb_util.js +0 -165
  567. package/src/ngtsc/typecheck/src/template_semantics.js +0 -52
  568. package/src/ngtsc/typecheck/src/template_symbol_builder.js +0 -551
  569. package/src/ngtsc/typecheck/src/ts_util.js +0 -202
  570. package/src/ngtsc/typecheck/src/type_check_block.js +0 -2212
  571. package/src/ngtsc/typecheck/src/type_check_file.js +0 -115
  572. package/src/ngtsc/typecheck/src/type_constructor.js +0 -255
  573. package/src/ngtsc/typecheck/src/type_emitter.js +0 -164
  574. package/src/ngtsc/typecheck/src/type_parameter_emitter.js +0 -115
  575. package/src/ngtsc/util/src/path.js +0 -33
  576. package/src/ngtsc/util/src/typescript.js +0 -176
  577. package/src/ngtsc/util/src/visitor.js +0 -119
  578. package/src/ngtsc/xi18n/index.js +0 -22
  579. package/src/ngtsc/xi18n/src/context.js +0 -20
  580. package/src/perform_compile.js +0 -322
  581. package/src/perform_watch.js +0 -263
  582. package/src/tooling.js +0 -47
  583. package/src/transformers/api.js +0 -42
  584. package/src/transformers/compiler_host.js +0 -623
  585. package/src/transformers/downlevel_decorators_transform.js +0 -612
  586. package/src/transformers/entry_points.js +0 -25
  587. package/src/transformers/i18n.js +0 -76
  588. package/src/transformers/inline_resources.js +0 -287
  589. package/src/transformers/lower_expressions.js +0 -365
  590. package/src/transformers/metadata_cache.js +0 -96
  591. package/src/transformers/metadata_reader.js +0 -120
  592. package/src/transformers/node_emitter.js +0 -637
  593. package/src/transformers/node_emitter_transform.js +0 -88
  594. package/src/transformers/patch_alias_reference_resolution.js +0 -129
  595. package/src/transformers/program.js +0 -1000
  596. package/src/transformers/r3_metadata_transform.js +0 -73
  597. package/src/transformers/r3_transform.js +0 -44
  598. package/src/transformers/util.js +0 -122
  599. package/src/typescript_support.js +0 -74
  600. package/src/version.js +0 -28
@@ -0,0 +1,942 @@
1
+
2
+ import {createRequire as __cjsCompatRequire} from 'module';
3
+ const require = __cjsCompatRequire(import.meta.url);
4
+ const __ESM_IMPORT_META_URL__ = import.meta.url;
5
+
6
+ var __defProp = Object.defineProperty;
7
+ var __defProps = Object.defineProperties;
8
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
9
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
10
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
11
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
12
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
+ var __spreadValues = (a, b) => {
14
+ for (var prop in b || (b = {}))
15
+ if (__hasOwnProp.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ if (__getOwnPropSymbols)
18
+ for (var prop of __getOwnPropSymbols(b)) {
19
+ if (__propIsEnum.call(b, prop))
20
+ __defNormalProp(a, prop, b[prop]);
21
+ }
22
+ return a;
23
+ };
24
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
25
+
26
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/reflection/src/host.mjs
27
+ import ts from "typescript";
28
+ function isDecoratorIdentifier(exp) {
29
+ return ts.isIdentifier(exp) || ts.isPropertyAccessExpression(exp) && ts.isIdentifier(exp.expression) && ts.isIdentifier(exp.name);
30
+ }
31
+ var ClassMemberKind;
32
+ (function(ClassMemberKind2) {
33
+ ClassMemberKind2[ClassMemberKind2["Constructor"] = 0] = "Constructor";
34
+ ClassMemberKind2[ClassMemberKind2["Getter"] = 1] = "Getter";
35
+ ClassMemberKind2[ClassMemberKind2["Setter"] = 2] = "Setter";
36
+ ClassMemberKind2[ClassMemberKind2["Property"] = 3] = "Property";
37
+ ClassMemberKind2[ClassMemberKind2["Method"] = 4] = "Method";
38
+ })(ClassMemberKind || (ClassMemberKind = {}));
39
+ var KnownDeclaration;
40
+ (function(KnownDeclaration2) {
41
+ KnownDeclaration2[KnownDeclaration2["JsGlobalObject"] = 0] = "JsGlobalObject";
42
+ KnownDeclaration2[KnownDeclaration2["TsHelperAssign"] = 1] = "TsHelperAssign";
43
+ KnownDeclaration2[KnownDeclaration2["TsHelperSpread"] = 2] = "TsHelperSpread";
44
+ KnownDeclaration2[KnownDeclaration2["TsHelperSpreadArrays"] = 3] = "TsHelperSpreadArrays";
45
+ KnownDeclaration2[KnownDeclaration2["TsHelperSpreadArray"] = 4] = "TsHelperSpreadArray";
46
+ KnownDeclaration2[KnownDeclaration2["TsHelperRead"] = 5] = "TsHelperRead";
47
+ })(KnownDeclaration || (KnownDeclaration = {}));
48
+
49
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/reflection/src/type_to_value.mjs
50
+ import ts2 from "typescript";
51
+ function typeToValue(typeNode, checker) {
52
+ if (typeNode === null) {
53
+ return missingType();
54
+ }
55
+ if (!ts2.isTypeReferenceNode(typeNode)) {
56
+ return unsupportedType(typeNode);
57
+ }
58
+ const symbols = resolveTypeSymbols(typeNode, checker);
59
+ if (symbols === null) {
60
+ return unknownReference(typeNode);
61
+ }
62
+ const { local, decl } = symbols;
63
+ if (decl.valueDeclaration === void 0 || decl.flags & ts2.SymbolFlags.ConstEnum) {
64
+ let typeOnlyDecl = null;
65
+ if (decl.declarations !== void 0 && decl.declarations.length > 0) {
66
+ typeOnlyDecl = decl.declarations[0];
67
+ }
68
+ return noValueDeclaration(typeNode, typeOnlyDecl);
69
+ }
70
+ const firstDecl = local.declarations && local.declarations[0];
71
+ if (firstDecl !== void 0) {
72
+ if (ts2.isImportClause(firstDecl) && firstDecl.name !== void 0) {
73
+ if (firstDecl.isTypeOnly) {
74
+ return typeOnlyImport(typeNode, firstDecl);
75
+ }
76
+ return {
77
+ kind: 0,
78
+ expression: firstDecl.name,
79
+ defaultImportStatement: firstDecl.parent
80
+ };
81
+ } else if (ts2.isImportSpecifier(firstDecl)) {
82
+ if (firstDecl.parent.parent.isTypeOnly) {
83
+ return typeOnlyImport(typeNode, firstDecl.parent.parent);
84
+ }
85
+ const importedName = (firstDecl.propertyName || firstDecl.name).text;
86
+ const [_localName, ...nestedPath] = symbols.symbolNames;
87
+ const moduleName = extractModuleName(firstDecl.parent.parent.parent);
88
+ return {
89
+ kind: 1,
90
+ valueDeclaration: decl.valueDeclaration,
91
+ moduleName,
92
+ importedName,
93
+ nestedPath
94
+ };
95
+ } else if (ts2.isNamespaceImport(firstDecl)) {
96
+ if (firstDecl.parent.isTypeOnly) {
97
+ return typeOnlyImport(typeNode, firstDecl.parent);
98
+ }
99
+ if (symbols.symbolNames.length === 1) {
100
+ return namespaceImport(typeNode, firstDecl.parent);
101
+ }
102
+ const [_ns, importedName, ...nestedPath] = symbols.symbolNames;
103
+ const moduleName = extractModuleName(firstDecl.parent.parent);
104
+ return {
105
+ kind: 1,
106
+ valueDeclaration: decl.valueDeclaration,
107
+ moduleName,
108
+ importedName,
109
+ nestedPath
110
+ };
111
+ }
112
+ }
113
+ const expression = typeNodeToValueExpr(typeNode);
114
+ if (expression !== null) {
115
+ return {
116
+ kind: 0,
117
+ expression,
118
+ defaultImportStatement: null
119
+ };
120
+ } else {
121
+ return unsupportedType(typeNode);
122
+ }
123
+ }
124
+ function unsupportedType(typeNode) {
125
+ return {
126
+ kind: 2,
127
+ reason: { kind: 5, typeNode }
128
+ };
129
+ }
130
+ function noValueDeclaration(typeNode, decl) {
131
+ return {
132
+ kind: 2,
133
+ reason: { kind: 1, typeNode, decl }
134
+ };
135
+ }
136
+ function typeOnlyImport(typeNode, importClause) {
137
+ return {
138
+ kind: 2,
139
+ reason: { kind: 2, typeNode, importClause }
140
+ };
141
+ }
142
+ function unknownReference(typeNode) {
143
+ return {
144
+ kind: 2,
145
+ reason: { kind: 3, typeNode }
146
+ };
147
+ }
148
+ function namespaceImport(typeNode, importClause) {
149
+ return {
150
+ kind: 2,
151
+ reason: { kind: 4, typeNode, importClause }
152
+ };
153
+ }
154
+ function missingType() {
155
+ return {
156
+ kind: 2,
157
+ reason: { kind: 0 }
158
+ };
159
+ }
160
+ function typeNodeToValueExpr(node) {
161
+ if (ts2.isTypeReferenceNode(node)) {
162
+ return entityNameToValue(node.typeName);
163
+ } else {
164
+ return null;
165
+ }
166
+ }
167
+ function resolveTypeSymbols(typeRef, checker) {
168
+ const typeName = typeRef.typeName;
169
+ const typeRefSymbol = checker.getSymbolAtLocation(typeName);
170
+ if (typeRefSymbol === void 0) {
171
+ return null;
172
+ }
173
+ let local = typeRefSymbol;
174
+ let leftMost = typeName;
175
+ const symbolNames = [];
176
+ while (ts2.isQualifiedName(leftMost)) {
177
+ symbolNames.unshift(leftMost.right.text);
178
+ leftMost = leftMost.left;
179
+ }
180
+ symbolNames.unshift(leftMost.text);
181
+ if (leftMost !== typeName) {
182
+ const localTmp = checker.getSymbolAtLocation(leftMost);
183
+ if (localTmp !== void 0) {
184
+ local = localTmp;
185
+ }
186
+ }
187
+ let decl = typeRefSymbol;
188
+ if (typeRefSymbol.flags & ts2.SymbolFlags.Alias) {
189
+ decl = checker.getAliasedSymbol(typeRefSymbol);
190
+ }
191
+ return { local, decl, symbolNames };
192
+ }
193
+ function entityNameToValue(node) {
194
+ if (ts2.isQualifiedName(node)) {
195
+ const left = entityNameToValue(node.left);
196
+ return left !== null ? ts2.createPropertyAccess(left, node.right) : null;
197
+ } else if (ts2.isIdentifier(node)) {
198
+ return ts2.getMutableClone(node);
199
+ } else {
200
+ return null;
201
+ }
202
+ }
203
+ function extractModuleName(node) {
204
+ if (!ts2.isStringLiteral(node.moduleSpecifier)) {
205
+ throw new Error("not a module specifier");
206
+ }
207
+ return node.moduleSpecifier.text;
208
+ }
209
+
210
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/reflection/src/typescript.mjs
211
+ import ts4 from "typescript";
212
+
213
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/reflection/src/util.mjs
214
+ import ts3 from "typescript";
215
+ function isNamedClassDeclaration(node) {
216
+ return ts3.isClassDeclaration(node) && isIdentifier(node.name);
217
+ }
218
+ function isIdentifier(node) {
219
+ return node !== void 0 && ts3.isIdentifier(node);
220
+ }
221
+
222
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/reflection/src/typescript.mjs
223
+ var TypeScriptReflectionHost = class {
224
+ constructor(checker) {
225
+ this.checker = checker;
226
+ }
227
+ getDecoratorsOfDeclaration(declaration) {
228
+ if (declaration.decorators === void 0 || declaration.decorators.length === 0) {
229
+ return null;
230
+ }
231
+ return declaration.decorators.map((decorator) => this._reflectDecorator(decorator)).filter((dec) => dec !== null);
232
+ }
233
+ getMembersOfClass(clazz) {
234
+ const tsClazz = castDeclarationToClassOrDie(clazz);
235
+ return tsClazz.members.map((member) => this._reflectMember(member)).filter((member) => member !== null);
236
+ }
237
+ getConstructorParameters(clazz) {
238
+ const tsClazz = castDeclarationToClassOrDie(clazz);
239
+ const isDeclaration = tsClazz.getSourceFile().isDeclarationFile;
240
+ const ctor = tsClazz.members.find((member) => ts4.isConstructorDeclaration(member) && (isDeclaration || member.body !== void 0));
241
+ if (ctor === void 0) {
242
+ return null;
243
+ }
244
+ return ctor.parameters.map((node) => {
245
+ const name = parameterName(node.name);
246
+ const decorators = this.getDecoratorsOfDeclaration(node);
247
+ let originalTypeNode = node.type || null;
248
+ let typeNode = originalTypeNode;
249
+ if (typeNode && ts4.isUnionTypeNode(typeNode)) {
250
+ let childTypeNodes = typeNode.types.filter((childTypeNode) => !(ts4.isLiteralTypeNode(childTypeNode) && childTypeNode.literal.kind === ts4.SyntaxKind.NullKeyword));
251
+ if (childTypeNodes.length === 1) {
252
+ typeNode = childTypeNodes[0];
253
+ }
254
+ }
255
+ const typeValueReference = typeToValue(typeNode, this.checker);
256
+ return {
257
+ name,
258
+ nameNode: node.name,
259
+ typeValueReference,
260
+ typeNode: originalTypeNode,
261
+ decorators
262
+ };
263
+ });
264
+ }
265
+ getImportOfIdentifier(id) {
266
+ const directImport = this.getDirectImportOfIdentifier(id);
267
+ if (directImport !== null) {
268
+ return directImport;
269
+ } else if (ts4.isQualifiedName(id.parent) && id.parent.right === id) {
270
+ return this.getImportOfNamespacedIdentifier(id, getQualifiedNameRoot(id.parent));
271
+ } else if (ts4.isPropertyAccessExpression(id.parent) && id.parent.name === id) {
272
+ return this.getImportOfNamespacedIdentifier(id, getFarLeftIdentifier(id.parent));
273
+ } else {
274
+ return null;
275
+ }
276
+ }
277
+ getExportsOfModule(node) {
278
+ if (!ts4.isSourceFile(node)) {
279
+ throw new Error(`getExportsOfModule() called on non-SourceFile in TS code`);
280
+ }
281
+ const symbol = this.checker.getSymbolAtLocation(node);
282
+ if (symbol === void 0) {
283
+ return null;
284
+ }
285
+ const map = new Map();
286
+ this.checker.getExportsOfModule(symbol).forEach((exportSymbol) => {
287
+ const decl = this.getDeclarationOfSymbol(exportSymbol, null);
288
+ if (decl !== null) {
289
+ map.set(exportSymbol.name, decl);
290
+ }
291
+ });
292
+ return map;
293
+ }
294
+ isClass(node) {
295
+ return isNamedClassDeclaration(node);
296
+ }
297
+ hasBaseClass(clazz) {
298
+ return this.getBaseClassExpression(clazz) !== null;
299
+ }
300
+ getBaseClassExpression(clazz) {
301
+ if (!(ts4.isClassDeclaration(clazz) || ts4.isClassExpression(clazz)) || clazz.heritageClauses === void 0) {
302
+ return null;
303
+ }
304
+ const extendsClause = clazz.heritageClauses.find((clause) => clause.token === ts4.SyntaxKind.ExtendsKeyword);
305
+ if (extendsClause === void 0) {
306
+ return null;
307
+ }
308
+ const extendsType = extendsClause.types[0];
309
+ if (extendsType === void 0) {
310
+ return null;
311
+ }
312
+ return extendsType.expression;
313
+ }
314
+ getDeclarationOfIdentifier(id) {
315
+ let symbol = this.checker.getSymbolAtLocation(id);
316
+ if (symbol === void 0) {
317
+ return null;
318
+ }
319
+ return this.getDeclarationOfSymbol(symbol, id);
320
+ }
321
+ getDefinitionOfFunction(node) {
322
+ if (!ts4.isFunctionDeclaration(node) && !ts4.isMethodDeclaration(node) && !ts4.isFunctionExpression(node)) {
323
+ return null;
324
+ }
325
+ return {
326
+ node,
327
+ body: node.body !== void 0 ? Array.from(node.body.statements) : null,
328
+ parameters: node.parameters.map((param) => {
329
+ const name = parameterName(param.name);
330
+ const initializer = param.initializer || null;
331
+ return { name, node: param, initializer };
332
+ })
333
+ };
334
+ }
335
+ getGenericArityOfClass(clazz) {
336
+ if (!ts4.isClassDeclaration(clazz)) {
337
+ return null;
338
+ }
339
+ return clazz.typeParameters !== void 0 ? clazz.typeParameters.length : 0;
340
+ }
341
+ getVariableValue(declaration) {
342
+ return declaration.initializer || null;
343
+ }
344
+ getDtsDeclaration(_) {
345
+ return null;
346
+ }
347
+ getInternalNameOfClass(clazz) {
348
+ return clazz.name;
349
+ }
350
+ getAdjacentNameOfClass(clazz) {
351
+ return clazz.name;
352
+ }
353
+ isStaticallyExported(decl) {
354
+ let topLevel = decl;
355
+ if (ts4.isVariableDeclaration(decl) && ts4.isVariableDeclarationList(decl.parent)) {
356
+ topLevel = decl.parent.parent;
357
+ }
358
+ if (topLevel.modifiers !== void 0 && topLevel.modifiers.some((modifier) => modifier.kind === ts4.SyntaxKind.ExportKeyword)) {
359
+ return true;
360
+ }
361
+ if (topLevel.parent === void 0 || !ts4.isSourceFile(topLevel.parent)) {
362
+ return false;
363
+ }
364
+ const localExports = this.getLocalExportedDeclarationsOfSourceFile(decl.getSourceFile());
365
+ return localExports.has(decl);
366
+ }
367
+ getDirectImportOfIdentifier(id) {
368
+ const symbol = this.checker.getSymbolAtLocation(id);
369
+ if (symbol === void 0 || symbol.declarations === void 0 || symbol.declarations.length !== 1) {
370
+ return null;
371
+ }
372
+ const decl = symbol.declarations[0];
373
+ const importDecl = getContainingImportDeclaration(decl);
374
+ if (importDecl === null) {
375
+ return null;
376
+ }
377
+ if (!ts4.isStringLiteral(importDecl.moduleSpecifier)) {
378
+ return null;
379
+ }
380
+ return { from: importDecl.moduleSpecifier.text, name: getExportedName(decl, id) };
381
+ }
382
+ getImportOfNamespacedIdentifier(id, namespaceIdentifier) {
383
+ if (namespaceIdentifier === null) {
384
+ return null;
385
+ }
386
+ const namespaceSymbol = this.checker.getSymbolAtLocation(namespaceIdentifier);
387
+ if (!namespaceSymbol || namespaceSymbol.declarations === void 0) {
388
+ return null;
389
+ }
390
+ const declaration = namespaceSymbol.declarations.length === 1 ? namespaceSymbol.declarations[0] : null;
391
+ if (!declaration) {
392
+ return null;
393
+ }
394
+ const namespaceDeclaration = ts4.isNamespaceImport(declaration) ? declaration : null;
395
+ if (!namespaceDeclaration) {
396
+ return null;
397
+ }
398
+ const importDeclaration = namespaceDeclaration.parent.parent;
399
+ if (!ts4.isStringLiteral(importDeclaration.moduleSpecifier)) {
400
+ return null;
401
+ }
402
+ return {
403
+ from: importDeclaration.moduleSpecifier.text,
404
+ name: id.text
405
+ };
406
+ }
407
+ getDeclarationOfSymbol(symbol, originalId) {
408
+ let valueDeclaration = void 0;
409
+ if (symbol.valueDeclaration !== void 0) {
410
+ valueDeclaration = symbol.valueDeclaration;
411
+ } else if (symbol.declarations !== void 0 && symbol.declarations.length > 0) {
412
+ valueDeclaration = symbol.declarations[0];
413
+ }
414
+ if (valueDeclaration !== void 0 && ts4.isShorthandPropertyAssignment(valueDeclaration)) {
415
+ const shorthandSymbol = this.checker.getShorthandAssignmentValueSymbol(valueDeclaration);
416
+ if (shorthandSymbol === void 0) {
417
+ return null;
418
+ }
419
+ return this.getDeclarationOfSymbol(shorthandSymbol, originalId);
420
+ } else if (valueDeclaration !== void 0 && ts4.isExportSpecifier(valueDeclaration)) {
421
+ const targetSymbol = this.checker.getExportSpecifierLocalTargetSymbol(valueDeclaration);
422
+ if (targetSymbol === void 0) {
423
+ return null;
424
+ }
425
+ return this.getDeclarationOfSymbol(targetSymbol, originalId);
426
+ }
427
+ const importInfo = originalId && this.getImportOfIdentifier(originalId);
428
+ const viaModule = importInfo !== null && importInfo.from !== null && !importInfo.from.startsWith(".") ? importInfo.from : null;
429
+ while (symbol.flags & ts4.SymbolFlags.Alias) {
430
+ symbol = this.checker.getAliasedSymbol(symbol);
431
+ }
432
+ if (symbol.valueDeclaration !== void 0) {
433
+ return {
434
+ node: symbol.valueDeclaration,
435
+ known: null,
436
+ viaModule,
437
+ identity: null,
438
+ kind: 0
439
+ };
440
+ } else if (symbol.declarations !== void 0 && symbol.declarations.length > 0) {
441
+ return {
442
+ node: symbol.declarations[0],
443
+ known: null,
444
+ viaModule,
445
+ identity: null,
446
+ kind: 0
447
+ };
448
+ } else {
449
+ return null;
450
+ }
451
+ }
452
+ _reflectDecorator(node) {
453
+ let decoratorExpr = node.expression;
454
+ let args = null;
455
+ if (ts4.isCallExpression(decoratorExpr)) {
456
+ args = Array.from(decoratorExpr.arguments);
457
+ decoratorExpr = decoratorExpr.expression;
458
+ }
459
+ if (!isDecoratorIdentifier(decoratorExpr)) {
460
+ return null;
461
+ }
462
+ const decoratorIdentifier = ts4.isIdentifier(decoratorExpr) ? decoratorExpr : decoratorExpr.name;
463
+ const importDecl = this.getImportOfIdentifier(decoratorIdentifier);
464
+ return {
465
+ name: decoratorIdentifier.text,
466
+ identifier: decoratorExpr,
467
+ import: importDecl,
468
+ node,
469
+ args
470
+ };
471
+ }
472
+ _reflectMember(node) {
473
+ let kind = null;
474
+ let value = null;
475
+ let name = null;
476
+ let nameNode = null;
477
+ if (ts4.isPropertyDeclaration(node)) {
478
+ kind = ClassMemberKind.Property;
479
+ value = node.initializer || null;
480
+ } else if (ts4.isGetAccessorDeclaration(node)) {
481
+ kind = ClassMemberKind.Getter;
482
+ } else if (ts4.isSetAccessorDeclaration(node)) {
483
+ kind = ClassMemberKind.Setter;
484
+ } else if (ts4.isMethodDeclaration(node)) {
485
+ kind = ClassMemberKind.Method;
486
+ } else if (ts4.isConstructorDeclaration(node)) {
487
+ kind = ClassMemberKind.Constructor;
488
+ } else {
489
+ return null;
490
+ }
491
+ if (ts4.isConstructorDeclaration(node)) {
492
+ name = "constructor";
493
+ } else if (ts4.isIdentifier(node.name)) {
494
+ name = node.name.text;
495
+ nameNode = node.name;
496
+ } else if (ts4.isStringLiteral(node.name)) {
497
+ name = node.name.text;
498
+ nameNode = node.name;
499
+ } else {
500
+ return null;
501
+ }
502
+ const decorators = this.getDecoratorsOfDeclaration(node);
503
+ const isStatic = node.modifiers !== void 0 && node.modifiers.some((mod) => mod.kind === ts4.SyntaxKind.StaticKeyword);
504
+ return {
505
+ node,
506
+ implementation: node,
507
+ kind,
508
+ type: node.type || null,
509
+ name,
510
+ nameNode,
511
+ decorators,
512
+ value,
513
+ isStatic
514
+ };
515
+ }
516
+ getLocalExportedDeclarationsOfSourceFile(file) {
517
+ const cacheSf = file;
518
+ if (cacheSf[LocalExportedDeclarations] !== void 0) {
519
+ return cacheSf[LocalExportedDeclarations];
520
+ }
521
+ const exportSet = new Set();
522
+ cacheSf[LocalExportedDeclarations] = exportSet;
523
+ const sfSymbol = this.checker.getSymbolAtLocation(cacheSf);
524
+ if (sfSymbol === void 0 || sfSymbol.exports === void 0) {
525
+ return exportSet;
526
+ }
527
+ const iter = sfSymbol.exports.values();
528
+ let item = iter.next();
529
+ while (item.done !== true) {
530
+ let exportedSymbol = item.value;
531
+ if (exportedSymbol.flags & ts4.SymbolFlags.Alias) {
532
+ exportedSymbol = this.checker.getAliasedSymbol(exportedSymbol);
533
+ }
534
+ if (exportedSymbol.valueDeclaration !== void 0 && exportedSymbol.valueDeclaration.getSourceFile() === file) {
535
+ exportSet.add(exportedSymbol.valueDeclaration);
536
+ }
537
+ item = iter.next();
538
+ }
539
+ return exportSet;
540
+ }
541
+ };
542
+ function castDeclarationToClassOrDie(declaration) {
543
+ if (!ts4.isClassDeclaration(declaration)) {
544
+ throw new Error(`Reflecting on a ${ts4.SyntaxKind[declaration.kind]} instead of a ClassDeclaration.`);
545
+ }
546
+ return declaration;
547
+ }
548
+ function parameterName(name) {
549
+ if (ts4.isIdentifier(name)) {
550
+ return name.text;
551
+ } else {
552
+ return null;
553
+ }
554
+ }
555
+ function getQualifiedNameRoot(qualifiedName) {
556
+ while (ts4.isQualifiedName(qualifiedName.left)) {
557
+ qualifiedName = qualifiedName.left;
558
+ }
559
+ return ts4.isIdentifier(qualifiedName.left) ? qualifiedName.left : null;
560
+ }
561
+ function getFarLeftIdentifier(propertyAccess) {
562
+ while (ts4.isPropertyAccessExpression(propertyAccess.expression)) {
563
+ propertyAccess = propertyAccess.expression;
564
+ }
565
+ return ts4.isIdentifier(propertyAccess.expression) ? propertyAccess.expression : null;
566
+ }
567
+ function getContainingImportDeclaration(node) {
568
+ return ts4.isImportSpecifier(node) ? node.parent.parent.parent : ts4.isNamespaceImport(node) ? node.parent.parent : null;
569
+ }
570
+ function getExportedName(decl, originalId) {
571
+ return ts4.isImportSpecifier(decl) ? (decl.propertyName !== void 0 ? decl.propertyName : decl.name).text : originalId.text;
572
+ }
573
+ var LocalExportedDeclarations = Symbol("LocalExportedDeclarations");
574
+
575
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/transformers/downlevel_decorators_transform/downlevel_decorators_transform.mjs
576
+ import ts6 from "typescript";
577
+
578
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/transformers/downlevel_decorators_transform/patch_alias_reference_resolution.mjs
579
+ import ts5 from "typescript";
580
+ var patchedReferencedAliasesSymbol = Symbol("patchedReferencedAliases");
581
+ function loadIsReferencedAliasDeclarationPatch(context) {
582
+ if (!isTransformationContextWithEmitResolver(context)) {
583
+ throwIncompatibleTransformationContextError();
584
+ }
585
+ const emitResolver = context.getEmitResolver();
586
+ const existingReferencedAliases = emitResolver[patchedReferencedAliasesSymbol];
587
+ if (existingReferencedAliases !== void 0) {
588
+ return existingReferencedAliases;
589
+ }
590
+ const originalIsReferencedAliasDeclaration = emitResolver.isReferencedAliasDeclaration;
591
+ if (originalIsReferencedAliasDeclaration === void 0) {
592
+ throwIncompatibleTransformationContextError();
593
+ }
594
+ const referencedAliases = new Set();
595
+ emitResolver.isReferencedAliasDeclaration = function(node, ...args) {
596
+ if (isAliasImportDeclaration(node) && referencedAliases.has(node)) {
597
+ return true;
598
+ }
599
+ return originalIsReferencedAliasDeclaration.call(emitResolver, node, ...args);
600
+ };
601
+ return emitResolver[patchedReferencedAliasesSymbol] = referencedAliases;
602
+ }
603
+ function isAliasImportDeclaration(node) {
604
+ return ts5.isImportSpecifier(node) || ts5.isNamespaceImport(node) || ts5.isImportClause(node);
605
+ }
606
+ function isTransformationContextWithEmitResolver(context) {
607
+ return context.getEmitResolver !== void 0;
608
+ }
609
+ function throwIncompatibleTransformationContextError() {
610
+ throw Error("Unable to downlevel Angular decorators due to an incompatible TypeScript version.\nIf you recently updated TypeScript and this issue surfaces now, consider downgrading.\n\nPlease report an issue on the Angular repositories when this issue surfaces and you are using a supposedly compatible TypeScript version.");
611
+ }
612
+
613
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/transformers/downlevel_decorators_transform/downlevel_decorators_transform.mjs
614
+ function isAngularDecorator(decorator, isCore) {
615
+ return isCore || decorator.import !== null && decorator.import.from === "@angular/core";
616
+ }
617
+ var DECORATOR_INVOCATION_JSDOC_TYPE = "!Array<{type: !Function, args: (undefined|!Array<?>)}>";
618
+ function extractMetadataFromSingleDecorator(decorator, diagnostics) {
619
+ const metadataProperties = [];
620
+ const expr = decorator.expression;
621
+ switch (expr.kind) {
622
+ case ts6.SyntaxKind.Identifier:
623
+ metadataProperties.push(ts6.createPropertyAssignment("type", expr));
624
+ break;
625
+ case ts6.SyntaxKind.CallExpression:
626
+ const call = expr;
627
+ metadataProperties.push(ts6.createPropertyAssignment("type", call.expression));
628
+ if (call.arguments.length) {
629
+ const args = [];
630
+ for (const arg of call.arguments) {
631
+ args.push(arg);
632
+ }
633
+ const argsArrayLiteral = ts6.createArrayLiteral(ts6.createNodeArray(args, true));
634
+ metadataProperties.push(ts6.createPropertyAssignment("args", argsArrayLiteral));
635
+ }
636
+ break;
637
+ default:
638
+ diagnostics.push({
639
+ file: decorator.getSourceFile(),
640
+ start: decorator.getStart(),
641
+ length: decorator.getEnd() - decorator.getStart(),
642
+ messageText: `${ts6.SyntaxKind[decorator.kind]} not implemented in gathering decorator metadata.`,
643
+ category: ts6.DiagnosticCategory.Error,
644
+ code: 0
645
+ });
646
+ break;
647
+ }
648
+ return ts6.createObjectLiteral(metadataProperties);
649
+ }
650
+ function createCtorParametersClassProperty(diagnostics, entityNameToExpression, ctorParameters, isClosureCompilerEnabled) {
651
+ const params = [];
652
+ for (const ctorParam of ctorParameters) {
653
+ if (!ctorParam.type && ctorParam.decorators.length === 0) {
654
+ params.push(ts6.createNull());
655
+ continue;
656
+ }
657
+ const paramType = ctorParam.type ? typeReferenceToExpression(entityNameToExpression, ctorParam.type) : void 0;
658
+ const members = [ts6.createPropertyAssignment("type", paramType || ts6.createIdentifier("undefined"))];
659
+ const decorators = [];
660
+ for (const deco of ctorParam.decorators) {
661
+ decorators.push(extractMetadataFromSingleDecorator(deco, diagnostics));
662
+ }
663
+ if (decorators.length) {
664
+ members.push(ts6.createPropertyAssignment("decorators", ts6.createArrayLiteral(decorators)));
665
+ }
666
+ params.push(ts6.createObjectLiteral(members));
667
+ }
668
+ const initializer = ts6.createArrowFunction(void 0, void 0, [], void 0, ts6.createToken(ts6.SyntaxKind.EqualsGreaterThanToken), ts6.createArrayLiteral(params, true));
669
+ const ctorProp = ts6.createProperty(void 0, [ts6.createToken(ts6.SyntaxKind.StaticKeyword)], "ctorParameters", void 0, void 0, initializer);
670
+ if (isClosureCompilerEnabled) {
671
+ ts6.setSyntheticLeadingComments(ctorProp, [
672
+ {
673
+ kind: ts6.SyntaxKind.MultiLineCommentTrivia,
674
+ text: [
675
+ `*`,
676
+ ` * @type {function(): !Array<(null|{`,
677
+ ` * type: ?,`,
678
+ ` * decorators: (undefined|${DECORATOR_INVOCATION_JSDOC_TYPE}),`,
679
+ ` * })>}`,
680
+ ` * @nocollapse`,
681
+ ` `
682
+ ].join("\n"),
683
+ pos: -1,
684
+ end: -1,
685
+ hasTrailingNewLine: true
686
+ }
687
+ ]);
688
+ }
689
+ return ctorProp;
690
+ }
691
+ function typeReferenceToExpression(entityNameToExpression, node) {
692
+ let kind = node.kind;
693
+ if (ts6.isLiteralTypeNode(node)) {
694
+ kind = node.literal.kind;
695
+ }
696
+ switch (kind) {
697
+ case ts6.SyntaxKind.FunctionType:
698
+ case ts6.SyntaxKind.ConstructorType:
699
+ return ts6.createIdentifier("Function");
700
+ case ts6.SyntaxKind.ArrayType:
701
+ case ts6.SyntaxKind.TupleType:
702
+ return ts6.createIdentifier("Array");
703
+ case ts6.SyntaxKind.TypePredicate:
704
+ case ts6.SyntaxKind.TrueKeyword:
705
+ case ts6.SyntaxKind.FalseKeyword:
706
+ case ts6.SyntaxKind.BooleanKeyword:
707
+ return ts6.createIdentifier("Boolean");
708
+ case ts6.SyntaxKind.StringLiteral:
709
+ case ts6.SyntaxKind.StringKeyword:
710
+ return ts6.createIdentifier("String");
711
+ case ts6.SyntaxKind.ObjectKeyword:
712
+ return ts6.createIdentifier("Object");
713
+ case ts6.SyntaxKind.NumberKeyword:
714
+ case ts6.SyntaxKind.NumericLiteral:
715
+ return ts6.createIdentifier("Number");
716
+ case ts6.SyntaxKind.TypeReference:
717
+ const typeRef = node;
718
+ return entityNameToExpression(typeRef.typeName);
719
+ case ts6.SyntaxKind.UnionType:
720
+ const childTypeNodes = node.types.filter((t) => !(ts6.isLiteralTypeNode(t) && t.literal.kind === ts6.SyntaxKind.NullKeyword));
721
+ return childTypeNodes.length === 1 ? typeReferenceToExpression(entityNameToExpression, childTypeNodes[0]) : void 0;
722
+ default:
723
+ return void 0;
724
+ }
725
+ }
726
+ function symbolIsRuntimeValue(typeChecker, symbol) {
727
+ if (symbol.flags & ts6.SymbolFlags.Alias) {
728
+ symbol = typeChecker.getAliasedSymbol(symbol);
729
+ }
730
+ return (symbol.flags & ts6.SymbolFlags.Value & ts6.SymbolFlags.ConstEnumExcludes) !== 0;
731
+ }
732
+ function getDownlevelDecoratorsTransform(typeChecker, host, diagnostics, isCore, isClosureCompilerEnabled, skipClassDecorators) {
733
+ function addJSDocTypeAnnotation(node, jsdocType) {
734
+ if (!isClosureCompilerEnabled) {
735
+ return;
736
+ }
737
+ ts6.setSyntheticLeadingComments(node, [
738
+ {
739
+ kind: ts6.SyntaxKind.MultiLineCommentTrivia,
740
+ text: `* @type {${jsdocType}} `,
741
+ pos: -1,
742
+ end: -1,
743
+ hasTrailingNewLine: true
744
+ }
745
+ ]);
746
+ }
747
+ function createDecoratorClassProperty(decoratorList) {
748
+ const modifier = ts6.createToken(ts6.SyntaxKind.StaticKeyword);
749
+ const initializer = ts6.createArrayLiteral(decoratorList, true);
750
+ const prop = ts6.createProperty(void 0, [modifier], "decorators", void 0, void 0, initializer);
751
+ addJSDocTypeAnnotation(prop, DECORATOR_INVOCATION_JSDOC_TYPE);
752
+ return prop;
753
+ }
754
+ function createPropDecoratorsClassProperty(diagnostics2, properties) {
755
+ const entries = [];
756
+ for (const [name, decorators] of properties.entries()) {
757
+ entries.push(ts6.createPropertyAssignment(name, ts6.createArrayLiteral(decorators.map((deco) => extractMetadataFromSingleDecorator(deco, diagnostics2)))));
758
+ }
759
+ const initializer = ts6.createObjectLiteral(entries, true);
760
+ const prop = ts6.createProperty(void 0, [ts6.createToken(ts6.SyntaxKind.StaticKeyword)], "propDecorators", void 0, void 0, initializer);
761
+ addJSDocTypeAnnotation(prop, `!Object<string, ${DECORATOR_INVOCATION_JSDOC_TYPE}>`);
762
+ return prop;
763
+ }
764
+ return (context) => {
765
+ const referencedParameterTypes = loadIsReferencedAliasDeclarationPatch(context);
766
+ function entityNameToExpression(name) {
767
+ const symbol = typeChecker.getSymbolAtLocation(name);
768
+ if (!symbol || !symbolIsRuntimeValue(typeChecker, symbol) || !symbol.declarations || symbol.declarations.length === 0) {
769
+ return void 0;
770
+ }
771
+ if (ts6.isQualifiedName(name)) {
772
+ const containerExpr = entityNameToExpression(name.left);
773
+ if (containerExpr === void 0) {
774
+ return void 0;
775
+ }
776
+ return ts6.createPropertyAccess(containerExpr, name.right);
777
+ }
778
+ const decl = symbol.declarations[0];
779
+ if (isAliasImportDeclaration(decl)) {
780
+ referencedParameterTypes.add(decl);
781
+ if (decl.name !== void 0) {
782
+ return ts6.getMutableClone(decl.name);
783
+ }
784
+ }
785
+ return ts6.getMutableClone(name);
786
+ }
787
+ function transformClassElement(element) {
788
+ element = ts6.visitEachChild(element, decoratorDownlevelVisitor, context);
789
+ const decoratorsToKeep = [];
790
+ const toLower = [];
791
+ const decorators = host.getDecoratorsOfDeclaration(element) || [];
792
+ for (const decorator of decorators) {
793
+ const decoratorNode = decorator.node;
794
+ if (!isAngularDecorator(decorator, isCore)) {
795
+ decoratorsToKeep.push(decoratorNode);
796
+ continue;
797
+ }
798
+ toLower.push(decoratorNode);
799
+ }
800
+ if (!toLower.length)
801
+ return [void 0, element, []];
802
+ if (!element.name || !ts6.isIdentifier(element.name)) {
803
+ diagnostics.push({
804
+ file: element.getSourceFile(),
805
+ start: element.getStart(),
806
+ length: element.getEnd() - element.getStart(),
807
+ messageText: `Cannot process decorators for class element with non-analyzable name.`,
808
+ category: ts6.DiagnosticCategory.Error,
809
+ code: 0
810
+ });
811
+ return [void 0, element, []];
812
+ }
813
+ const name = element.name.text;
814
+ const mutable = ts6.getMutableClone(element);
815
+ mutable.decorators = decoratorsToKeep.length ? ts6.setTextRange(ts6.createNodeArray(decoratorsToKeep), mutable.decorators) : void 0;
816
+ return [name, mutable, toLower];
817
+ }
818
+ function transformConstructor(ctor) {
819
+ ctor = ts6.visitEachChild(ctor, decoratorDownlevelVisitor, context);
820
+ const newParameters = [];
821
+ const oldParameters = ts6.visitParameterList(ctor.parameters, decoratorDownlevelVisitor, context);
822
+ const parametersInfo = [];
823
+ for (const param of oldParameters) {
824
+ const decoratorsToKeep = [];
825
+ const paramInfo = { decorators: [], type: null };
826
+ const decorators = host.getDecoratorsOfDeclaration(param) || [];
827
+ for (const decorator of decorators) {
828
+ const decoratorNode = decorator.node;
829
+ if (!isAngularDecorator(decorator, isCore)) {
830
+ decoratorsToKeep.push(decoratorNode);
831
+ continue;
832
+ }
833
+ paramInfo.decorators.push(decoratorNode);
834
+ }
835
+ if (param.type) {
836
+ paramInfo.type = param.type;
837
+ }
838
+ parametersInfo.push(paramInfo);
839
+ const newParam = ts6.updateParameter(param, decoratorsToKeep.length ? decoratorsToKeep : void 0, param.modifiers, param.dotDotDotToken, param.name, param.questionToken, param.type, param.initializer);
840
+ newParameters.push(newParam);
841
+ }
842
+ const updated = ts6.updateConstructor(ctor, ctor.decorators, ctor.modifiers, newParameters, ts6.visitFunctionBody(ctor.body, decoratorDownlevelVisitor, context));
843
+ return [updated, parametersInfo];
844
+ }
845
+ function transformClassDeclaration(classDecl) {
846
+ classDecl = ts6.getMutableClone(classDecl);
847
+ const newMembers = [];
848
+ const decoratedProperties = new Map();
849
+ let classParameters = null;
850
+ for (const member of classDecl.members) {
851
+ switch (member.kind) {
852
+ case ts6.SyntaxKind.PropertyDeclaration:
853
+ case ts6.SyntaxKind.GetAccessor:
854
+ case ts6.SyntaxKind.SetAccessor:
855
+ case ts6.SyntaxKind.MethodDeclaration: {
856
+ const [name, newMember, decorators] = transformClassElement(member);
857
+ newMembers.push(newMember);
858
+ if (name)
859
+ decoratedProperties.set(name, decorators);
860
+ continue;
861
+ }
862
+ case ts6.SyntaxKind.Constructor: {
863
+ const ctor = member;
864
+ if (!ctor.body)
865
+ break;
866
+ const [newMember, parametersInfo] = transformConstructor(member);
867
+ classParameters = parametersInfo;
868
+ newMembers.push(newMember);
869
+ continue;
870
+ }
871
+ default:
872
+ break;
873
+ }
874
+ newMembers.push(ts6.visitEachChild(member, decoratorDownlevelVisitor, context));
875
+ }
876
+ const decoratorsToKeep = new Set(classDecl.decorators);
877
+ const possibleAngularDecorators = host.getDecoratorsOfDeclaration(classDecl) || [];
878
+ let hasAngularDecorator = false;
879
+ const decoratorsToLower = [];
880
+ for (const decorator of possibleAngularDecorators) {
881
+ const decoratorNode = decorator.node;
882
+ const isNgDecorator = isAngularDecorator(decorator, isCore);
883
+ if (isNgDecorator) {
884
+ hasAngularDecorator = true;
885
+ }
886
+ if (isNgDecorator && !skipClassDecorators) {
887
+ decoratorsToLower.push(extractMetadataFromSingleDecorator(decoratorNode, diagnostics));
888
+ decoratorsToKeep.delete(decoratorNode);
889
+ }
890
+ }
891
+ if (decoratorsToLower.length) {
892
+ newMembers.push(createDecoratorClassProperty(decoratorsToLower));
893
+ }
894
+ if (classParameters) {
895
+ if (hasAngularDecorator || classParameters.some((p) => !!p.decorators.length)) {
896
+ newMembers.push(createCtorParametersClassProperty(diagnostics, entityNameToExpression, classParameters, isClosureCompilerEnabled));
897
+ }
898
+ }
899
+ if (decoratedProperties.size) {
900
+ newMembers.push(createPropDecoratorsClassProperty(diagnostics, decoratedProperties));
901
+ }
902
+ const members = ts6.setTextRange(ts6.createNodeArray(newMembers, classDecl.members.hasTrailingComma), classDecl.members);
903
+ return ts6.updateClassDeclaration(classDecl, decoratorsToKeep.size ? Array.from(decoratorsToKeep) : void 0, classDecl.modifiers, classDecl.name, classDecl.typeParameters, classDecl.heritageClauses, members);
904
+ }
905
+ function decoratorDownlevelVisitor(node) {
906
+ if (ts6.isClassDeclaration(node)) {
907
+ return transformClassDeclaration(node);
908
+ }
909
+ return ts6.visitEachChild(node, decoratorDownlevelVisitor, context);
910
+ }
911
+ return (sf) => {
912
+ return ts6.visitEachChild(sf, decoratorDownlevelVisitor, context);
913
+ };
914
+ };
915
+ }
916
+
917
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/private/tooling.mjs
918
+ var GLOBAL_DEFS_FOR_TERSER = {
919
+ ngDevMode: false,
920
+ ngI18nClosureMode: false
921
+ };
922
+ var GLOBAL_DEFS_FOR_TERSER_WITH_AOT = __spreadProps(__spreadValues({}, GLOBAL_DEFS_FOR_TERSER), {
923
+ ngJitMode: false
924
+ });
925
+ function constructorParametersDownlevelTransform(program) {
926
+ const typeChecker = program.getTypeChecker();
927
+ const reflectionHost = new TypeScriptReflectionHost(typeChecker);
928
+ return getDownlevelDecoratorsTransform(typeChecker, reflectionHost, [], false, false, true);
929
+ }
930
+ export {
931
+ GLOBAL_DEFS_FOR_TERSER,
932
+ GLOBAL_DEFS_FOR_TERSER_WITH_AOT,
933
+ constructorParametersDownlevelTransform
934
+ };
935
+ /**
936
+ * @license
937
+ * Copyright Google LLC All Rights Reserved.
938
+ *
939
+ * Use of this source code is governed by an MIT-style license that can be
940
+ * found in the LICENSE file at https://angular.io/license
941
+ */
942
+ //# sourceMappingURL=tooling.js.map