@angular/compiler-cli 12.2.7 → 13.0.0-next.10

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 (602) hide show
  1. package/bundles/index.js +20414 -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 +16043 -0
  8. package/bundles/ngcc/index.js.map +6 -0
  9. package/bundles/ngcc/main-ngcc.js +16131 -0
  10. package/bundles/ngcc/main-ngcc.js.map +6 -0
  11. package/bundles/ngcc/src/execution/cluster/ngcc_cluster_worker.js +13855 -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 +20466 -0
  24. package/bundles/src/bin/ng_xi18n.js.map +6 -0
  25. package/bundles/src/bin/ngc.js +20468 -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 +52 -11
  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 +6 -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 +14 -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/metadata.d.ts +2 -2
  114. package/src/ngtsc/annotations/src/ng_module.d.ts +2 -4
  115. package/src/ngtsc/annotations/src/pipe.d.ts +1 -1
  116. package/src/ngtsc/annotations/src/util.d.ts +2 -4
  117. package/src/ngtsc/core/api/src/adapter.d.ts +1 -1
  118. package/src/ngtsc/core/api/src/interfaces.d.ts +1 -12
  119. package/src/ngtsc/core/api/src/options.d.ts +1 -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/indexer/src/api.d.ts +5 -2
  142. package/src/ngtsc/metadata/src/api.d.ts +1 -1
  143. package/src/ngtsc/metadata/src/dts.d.ts +1 -1
  144. package/src/ngtsc/metadata/src/resource_registry.d.ts +1 -1
  145. package/src/ngtsc/metadata/src/util.d.ts +1 -1
  146. package/src/ngtsc/partial_evaluator/index.d.ts +1 -0
  147. package/src/ngtsc/partial_evaluator/src/builtin.d.ts +1 -1
  148. package/src/ngtsc/partial_evaluator/src/diagnostics.d.ts +1 -1
  149. package/src/ngtsc/partial_evaluator/src/dynamic.d.ts +1 -1
  150. package/src/ngtsc/partial_evaluator/src/interface.d.ts +1 -1
  151. package/src/ngtsc/partial_evaluator/src/interpreter.d.ts +1 -1
  152. package/src/ngtsc/partial_evaluator/src/result.d.ts +1 -1
  153. package/src/ngtsc/partial_evaluator/src/ts_helpers.d.ts +1 -1
  154. package/src/ngtsc/program.d.ts +1 -1
  155. package/src/ngtsc/program_driver/src/api.d.ts +1 -1
  156. package/src/ngtsc/program_driver/src/ts_create_program_driver.d.ts +1 -1
  157. package/src/ngtsc/reflection/src/host.d.ts +1 -1
  158. package/src/ngtsc/reflection/src/type_to_value.d.ts +1 -1
  159. package/src/ngtsc/reflection/src/typescript.d.ts +1 -1
  160. package/src/ngtsc/reflection/src/util.d.ts +1 -1
  161. package/src/ngtsc/resource/src/loader.d.ts +1 -1
  162. package/src/ngtsc/scope/src/local.d.ts +1 -1
  163. package/src/ngtsc/scope/src/typecheck.d.ts +1 -1
  164. package/src/ngtsc/shims/api.d.ts +1 -1
  165. package/src/ngtsc/shims/src/adapter.d.ts +1 -1
  166. package/src/ngtsc/shims/src/expando.d.ts +1 -1
  167. package/src/ngtsc/shims/src/factory_generator.d.ts +1 -1
  168. package/src/ngtsc/shims/src/reference_tagger.d.ts +1 -1
  169. package/src/ngtsc/shims/src/summary_generator.d.ts +1 -1
  170. package/src/ngtsc/switch/src/switch.d.ts +1 -1
  171. package/src/ngtsc/transform/src/alias.d.ts +1 -1
  172. package/src/ngtsc/transform/src/api.d.ts +1 -1
  173. package/src/ngtsc/transform/src/compilation.d.ts +1 -1
  174. package/src/ngtsc/transform/src/declaration.d.ts +1 -1
  175. package/src/ngtsc/transform/src/trait.d.ts +1 -1
  176. package/src/ngtsc/transform/src/transform.d.ts +1 -1
  177. package/src/ngtsc/transform/src/utils.d.ts +1 -1
  178. package/src/ngtsc/translator/src/import_manager.d.ts +1 -1
  179. package/src/ngtsc/translator/src/translator.d.ts +0 -1
  180. package/src/ngtsc/translator/src/type_translator.d.ts +1 -2
  181. package/src/ngtsc/translator/src/typescript_ast_factory.d.ts +1 -1
  182. package/src/ngtsc/translator/src/typescript_translator.d.ts +1 -1
  183. package/src/ngtsc/tsc_plugin.d.ts +1 -1
  184. package/src/ngtsc/typecheck/api/api.d.ts +1 -1
  185. package/src/ngtsc/typecheck/api/checker.d.ts +8 -5
  186. package/src/ngtsc/typecheck/api/context.d.ts +1 -1
  187. package/src/ngtsc/typecheck/api/scope.d.ts +1 -1
  188. package/src/ngtsc/typecheck/api/symbols.d.ts +1 -1
  189. package/src/ngtsc/typecheck/diagnostics/src/diagnostic.d.ts +1 -1
  190. package/src/ngtsc/typecheck/extended/api/api.d.ts +1 -1
  191. package/src/ngtsc/typecheck/extended/api/extended_template_checker.d.ts +1 -1
  192. package/src/ngtsc/typecheck/extended/checks/invalid_banana_in_box/index.d.ts +1 -1
  193. package/src/ngtsc/typecheck/extended/checks/nullish_coalescing_not_nullable/index.d.ts +1 -1
  194. package/src/ngtsc/typecheck/extended/src/extended_template_checker.d.ts +1 -1
  195. package/src/ngtsc/typecheck/src/checker.d.ts +5 -5
  196. package/src/ngtsc/typecheck/src/comments.d.ts +1 -1
  197. package/src/ngtsc/typecheck/src/completion.d.ts +4 -6
  198. package/src/ngtsc/typecheck/src/context.d.ts +1 -1
  199. package/src/ngtsc/typecheck/src/diagnostics.d.ts +1 -1
  200. package/src/ngtsc/typecheck/src/environment.d.ts +1 -1
  201. package/src/ngtsc/typecheck/src/expression.d.ts +1 -1
  202. package/src/ngtsc/typecheck/src/oob.d.ts +3 -4
  203. package/src/ngtsc/typecheck/src/shim.d.ts +1 -1
  204. package/src/ngtsc/typecheck/src/source.d.ts +1 -1
  205. package/src/ngtsc/typecheck/src/tcb_util.d.ts +1 -1
  206. package/src/ngtsc/typecheck/src/template_symbol_builder.d.ts +1 -1
  207. package/src/ngtsc/typecheck/src/ts_util.d.ts +1 -1
  208. package/src/ngtsc/typecheck/src/type_check_block.d.ts +1 -1
  209. package/src/ngtsc/typecheck/src/type_check_file.d.ts +1 -1
  210. package/src/ngtsc/typecheck/src/type_constructor.d.ts +1 -1
  211. package/src/ngtsc/typecheck/src/type_emitter.d.ts +1 -1
  212. package/src/ngtsc/typecheck/src/type_parameter_emitter.d.ts +1 -1
  213. package/src/ngtsc/util/src/typescript.d.ts +1 -1
  214. package/src/ngtsc/util/src/visitor.d.ts +1 -1
  215. package/src/perform_compile.d.ts +1 -1
  216. package/src/perform_watch.d.ts +1 -1
  217. package/src/transformers/api.d.ts +2 -5
  218. package/src/transformers/compiler_host.d.ts +1 -1
  219. package/src/transformers/{downlevel_decorators_transform.d.ts → downlevel_decorators_transform/downlevel_decorators_transform.d.ts} +3 -3
  220. package/src/{ngtsc/routing → transformers/downlevel_decorators_transform}/index.d.ts +2 -3
  221. package/src/transformers/{patch_alias_reference_resolution.d.ts → downlevel_decorators_transform/patch_alias_reference_resolution.d.ts} +2 -2
  222. package/src/transformers/i18n.d.ts +1 -1
  223. package/src/transformers/inline_resources.d.ts +1 -1
  224. package/src/transformers/lower_expressions.d.ts +1 -1
  225. package/src/transformers/metadata_cache.d.ts +1 -1
  226. package/src/transformers/node_emitter.d.ts +2 -3
  227. package/src/transformers/node_emitter_transform.d.ts +1 -1
  228. package/src/transformers/program.d.ts +1 -1
  229. package/src/transformers/r3_metadata_transform.d.ts +1 -1
  230. package/src/transformers/r3_transform.d.ts +1 -1
  231. package/src/transformers/util.d.ts +1 -1
  232. package/index.js +0 -40
  233. package/linker/babel/index.js +0 -25
  234. package/linker/babel/src/ast/babel_ast_factory.js +0 -153
  235. package/linker/babel/src/ast/babel_ast_host.js +0 -181
  236. package/linker/babel/src/babel_declaration_scope.js +0 -67
  237. package/linker/babel/src/babel_plugin.js +0 -38
  238. package/linker/babel/src/es2015_linker_plugin.js +0 -183
  239. package/linker/babel/src/linker_plugin_options.js +0 -13
  240. package/linker/index.js +0 -27
  241. package/linker/src/ast/ast_host.js +0 -20
  242. package/linker/src/ast/ast_value.js +0 -299
  243. package/linker/src/ast/typescript/typescript_ast_host.js +0 -183
  244. package/linker/src/ast/utils.js +0 -31
  245. package/linker/src/fatal_linker_error.js +0 -49
  246. package/linker/src/file_linker/declaration_scope.js +0 -20
  247. package/linker/src/file_linker/emit_scopes/emit_scope.js +0 -57
  248. package/linker/src/file_linker/emit_scopes/iife_emit_scope.js +0 -51
  249. package/linker/src/file_linker/file_linker.js +0 -97
  250. package/linker/src/file_linker/get_source_file.js +0 -42
  251. package/linker/src/file_linker/linker_environment.js +0 -38
  252. package/linker/src/file_linker/linker_options.js +0 -29
  253. package/linker/src/file_linker/needs_linking.js +0 -41
  254. package/linker/src/file_linker/partial_linkers/partial_class_metadata_linker_1.js +0 -47
  255. package/linker/src/file_linker/partial_linkers/partial_component_linker_1.js +0 -210
  256. package/linker/src/file_linker/partial_linkers/partial_directive_linker_1.js +0 -154
  257. package/linker/src/file_linker/partial_linkers/partial_factory_linker_1.js +0 -70
  258. package/linker/src/file_linker/partial_linkers/partial_injectable_linker_1.js +0 -74
  259. package/linker/src/file_linker/partial_linkers/partial_injector_linker_1.js +0 -56
  260. package/linker/src/file_linker/partial_linkers/partial_linker.js +0 -13
  261. package/linker/src/file_linker/partial_linkers/partial_linker_selector.js +0 -194
  262. package/linker/src/file_linker/partial_linkers/partial_ng_module_linker_1.js +0 -126
  263. package/linker/src/file_linker/partial_linkers/partial_pipe_linker_1.js +0 -59
  264. package/linker/src/file_linker/partial_linkers/util.js +0 -95
  265. package/linker/src/file_linker/translator.js +0 -40
  266. package/linker/src/linker_import_generator.js +0 -43
  267. package/ngcc/index.js +0 -33
  268. package/ngcc/main-ivy-ngcc.js +0 -12
  269. package/ngcc/main-ngcc.js +0 -54
  270. package/ngcc/src/analysis/decoration_analyzer.js +0 -268
  271. package/ngcc/src/analysis/migration_host.js +0 -108
  272. package/ngcc/src/analysis/module_with_providers_analyzer.js +0 -197
  273. package/ngcc/src/analysis/ngcc_references_registry.js +0 -65
  274. package/ngcc/src/analysis/ngcc_trait_compiler.js +0 -117
  275. package/ngcc/src/analysis/private_declarations_analyzer.js +0 -63
  276. package/ngcc/src/analysis/switch_marker_analyzer.js +0 -50
  277. package/ngcc/src/analysis/types.js +0 -15
  278. package/ngcc/src/analysis/util.js +0 -36
  279. package/ngcc/src/command_line_options.js +0 -156
  280. package/ngcc/src/constants.js +0 -23
  281. package/ngcc/src/dependencies/commonjs_dependency_host.js +0 -129
  282. package/ngcc/src/dependencies/dependency_host.js +0 -143
  283. package/ngcc/src/dependencies/dependency_resolver.js +0 -180
  284. package/ngcc/src/dependencies/dts_dependency_host.js +0 -35
  285. package/ngcc/src/dependencies/esm_dependency_host.js +0 -307
  286. package/ngcc/src/dependencies/module_resolver.js +0 -269
  287. package/ngcc/src/dependencies/umd_dependency_host.js +0 -53
  288. package/ngcc/src/entry_point_finder/directory_walker_entry_point_finder.js +0 -70
  289. package/ngcc/src/entry_point_finder/entry_point_collector.js +0 -157
  290. package/ngcc/src/entry_point_finder/interface.js +0 -13
  291. package/ngcc/src/entry_point_finder/program_based_entry_point_finder.js +0 -132
  292. package/ngcc/src/entry_point_finder/targeted_entry_point_finder.js +0 -268
  293. package/ngcc/src/entry_point_finder/tracing_entry_point_finder.js +0 -78
  294. package/ngcc/src/entry_point_finder/utils.js +0 -234
  295. package/ngcc/src/execution/analyze_entry_points.js +0 -197
  296. package/ngcc/src/execution/api.js +0 -13
  297. package/ngcc/src/execution/cluster/api.js +0 -20
  298. package/ngcc/src/execution/cluster/executor.js +0 -52
  299. package/ngcc/src/execution/cluster/master.js +0 -311
  300. package/ngcc/src/execution/cluster/package_json_updater.js +0 -79
  301. package/ngcc/src/execution/cluster/utils.js +0 -77
  302. package/ngcc/src/execution/cluster/worker.js +0 -123
  303. package/ngcc/src/execution/create_compile_function.js +0 -76
  304. package/ngcc/src/execution/single_process_executor.js +0 -91
  305. package/ngcc/src/execution/tasks/api.js +0 -35
  306. package/ngcc/src/execution/tasks/completion.js +0 -79
  307. package/ngcc/src/execution/tasks/queues/base_task_queue.js +0 -120
  308. package/ngcc/src/execution/tasks/queues/parallel_task_queue.js +0 -87
  309. package/ngcc/src/execution/tasks/queues/serial_task_queue.js +0 -49
  310. package/ngcc/src/execution/tasks/utils.js +0 -167
  311. package/ngcc/src/host/commonjs_host.js +0 -261
  312. package/ngcc/src/host/commonjs_umd_utils.js +0 -210
  313. package/ngcc/src/host/delegating_host.js +0 -156
  314. package/ngcc/src/host/esm2015_host.js +0 -2441
  315. package/ngcc/src/host/esm5_host.js +0 -744
  316. package/ngcc/src/host/ngcc_host.js +0 -29
  317. package/ngcc/src/host/umd_host.js +0 -539
  318. package/ngcc/src/host/utils.js +0 -26
  319. package/ngcc/src/locking/async_locker.js +0 -121
  320. package/ngcc/src/locking/lock_file.js +0 -18
  321. package/ngcc/src/locking/lock_file_with_child_process/index.js +0 -93
  322. package/ngcc/src/locking/lock_file_with_child_process/unlocker.js +0 -46
  323. package/ngcc/src/locking/lock_file_with_child_process/util.js +0 -43
  324. package/ngcc/src/locking/sync_locker.js +0 -67
  325. package/ngcc/src/main.js +0 -163
  326. package/ngcc/src/migrations/migration.js +0 -13
  327. package/ngcc/src/migrations/missing_injectable_migration.js +0 -227
  328. package/ngcc/src/migrations/undecorated_child_migration.js +0 -90
  329. package/ngcc/src/migrations/undecorated_parent_migration.js +0 -103
  330. package/ngcc/src/migrations/utils.js +0 -137
  331. package/ngcc/src/ngcc_options.js +0 -135
  332. package/ngcc/src/packages/build_marker.js +0 -124
  333. package/ngcc/src/packages/bundle_program.js +0 -80
  334. package/ngcc/src/packages/configuration.js +0 -277
  335. package/ngcc/src/packages/entry_point.js +0 -267
  336. package/ngcc/src/packages/entry_point_bundle.js +0 -96
  337. package/ngcc/src/packages/entry_point_manifest.js +0 -207
  338. package/ngcc/src/packages/ngcc_compiler_host.js +0 -101
  339. package/ngcc/src/packages/patch_ts_expando_initializer.js +0 -174
  340. package/ngcc/src/packages/source_file_cache.js +0 -207
  341. package/ngcc/src/packages/transformer.js +0 -157
  342. package/ngcc/src/path_mappings.js +0 -27
  343. package/ngcc/src/rendering/commonjs_rendering_formatter.js +0 -106
  344. package/ngcc/src/rendering/dts_renderer.js +0 -170
  345. package/ngcc/src/rendering/esm5_rendering_formatter.js +0 -70
  346. package/ngcc/src/rendering/esm_rendering_formatter.js +0 -291
  347. package/ngcc/src/rendering/ngcc_import_rewriter.js +0 -49
  348. package/ngcc/src/rendering/renderer.js +0 -204
  349. package/ngcc/src/rendering/rendering_formatter.js +0 -15
  350. package/ngcc/src/rendering/source_maps.js +0 -68
  351. package/ngcc/src/rendering/umd_rendering_formatter.js +0 -326
  352. package/ngcc/src/rendering/utils.js +0 -35
  353. package/ngcc/src/utils.js +0 -182
  354. package/ngcc/src/writing/cleaning/cleaning_strategies.js +0 -80
  355. package/ngcc/src/writing/cleaning/package_cleaner.js +0 -126
  356. package/ngcc/src/writing/cleaning/utils.js +0 -30
  357. package/ngcc/src/writing/file_writer.js +0 -13
  358. package/ngcc/src/writing/in_place_file_writer.js +0 -90
  359. package/ngcc/src/writing/new_entry_point_file_writer.js +0 -214
  360. package/ngcc/src/writing/package_json_updater.js +0 -182
  361. package/src/diagnostics/translate_diagnostics.js +0 -61
  362. package/src/diagnostics/typescript_version.js +0 -96
  363. package/src/extract_i18n.js +0 -62
  364. package/src/language_services.js +0 -34
  365. package/src/main.js +0 -210
  366. package/src/metadata/bundle_index_host.js +0 -133
  367. package/src/metadata/bundler.js +0 -624
  368. package/src/metadata/collector.js +0 -799
  369. package/src/metadata/evaluator.js +0 -677
  370. package/src/metadata/index.js +0 -24
  371. package/src/metadata/index_writer.js +0 -80
  372. package/src/metadata/schema.js +0 -136
  373. package/src/metadata/symbols.js +0 -149
  374. package/src/ngtsc/annotations/index.js +0 -35
  375. package/src/ngtsc/annotations/src/api.js +0 -20
  376. package/src/ngtsc/annotations/src/component.js +0 -1286
  377. package/src/ngtsc/annotations/src/diagnostics.js +0 -174
  378. package/src/ngtsc/annotations/src/directive.js +0 -724
  379. package/src/ngtsc/annotations/src/factory.js +0 -32
  380. package/src/ngtsc/annotations/src/injectable.js +0 -277
  381. package/src/ngtsc/annotations/src/metadata.js +0 -159
  382. package/src/ngtsc/annotations/src/ng_module.js +0 -677
  383. package/src/ngtsc/annotations/src/pipe.js +0 -171
  384. package/src/ngtsc/annotations/src/references_registry.js +0 -38
  385. package/src/ngtsc/annotations/src/util.js +0 -566
  386. package/src/ngtsc/core/api/index.js +0 -25
  387. package/src/ngtsc/core/api/src/adapter.js +0 -20
  388. package/src/ngtsc/core/api/src/interfaces.js +0 -20
  389. package/src/ngtsc/core/api/src/options.js +0 -20
  390. package/src/ngtsc/core/api/src/public_options.js +0 -20
  391. package/src/ngtsc/core/index.js +0 -25
  392. package/src/ngtsc/core/src/compiler.js +0 -1142
  393. package/src/ngtsc/core/src/host.js +0 -273
  394. package/src/ngtsc/cycles/index.js +0 -26
  395. package/src/ngtsc/cycles/src/analyzer.js +0 -163
  396. package/src/ngtsc/cycles/src/imports.js +0 -175
  397. package/src/ngtsc/diagnostics/index.js +0 -33
  398. package/src/ngtsc/diagnostics/src/error.js +0 -69
  399. package/src/ngtsc/diagnostics/src/error_code.js +0 -235
  400. package/src/ngtsc/diagnostics/src/util.js +0 -35
  401. package/src/ngtsc/entry_point/index.js +0 -29
  402. package/src/ngtsc/entry_point/src/generator.js +0 -45
  403. package/src/ngtsc/entry_point/src/logic.js +0 -61
  404. package/src/ngtsc/entry_point/src/private_export_checker.js +0 -137
  405. package/src/ngtsc/entry_point/src/reference_graph.js +0 -91
  406. package/src/ngtsc/file_system/index.js +0 -45
  407. package/src/ngtsc/file_system/src/compiler_host.js +0 -80
  408. package/src/ngtsc/file_system/src/helpers.js +0 -135
  409. package/src/ngtsc/file_system/src/invalid_file_system.js +0 -120
  410. package/src/ngtsc/file_system/src/logical.js +0 -100
  411. package/src/ngtsc/file_system/src/node_js_file_system.js +0 -179
  412. package/src/ngtsc/file_system/src/types.js +0 -20
  413. package/src/ngtsc/file_system/src/util.js +0 -38
  414. package/src/ngtsc/file_system/testing/index.d.ts +0 -13
  415. package/src/ngtsc/file_system/testing/index.js +0 -32
  416. package/src/ngtsc/file_system/testing/src/mock_file_system.d.ts +0 -72
  417. package/src/ngtsc/file_system/testing/src/mock_file_system.js +0 -333
  418. package/src/ngtsc/file_system/testing/src/mock_file_system_native.d.ts +0 -16
  419. package/src/ngtsc/file_system/testing/src/mock_file_system_native.js +0 -85
  420. package/src/ngtsc/file_system/testing/src/mock_file_system_posix.d.ts +0 -13
  421. package/src/ngtsc/file_system/testing/src/mock_file_system_posix.js +0 -68
  422. package/src/ngtsc/file_system/testing/src/mock_file_system_windows.d.ts +0 -13
  423. package/src/ngtsc/file_system/testing/src/mock_file_system_windows.js +0 -68
  424. package/src/ngtsc/file_system/testing/src/test_helper.d.ts +0 -17
  425. package/src/ngtsc/file_system/testing/src/test_helper.js +0 -142
  426. package/src/ngtsc/imports/index.js +0 -43
  427. package/src/ngtsc/imports/src/alias.js +0 -158
  428. package/src/ngtsc/imports/src/core.js +0 -98
  429. package/src/ngtsc/imports/src/default.js +0 -153
  430. package/src/ngtsc/imports/src/emitter.js +0 -317
  431. package/src/ngtsc/imports/src/find_export.js +0 -82
  432. package/src/ngtsc/imports/src/reexport.js +0 -20
  433. package/src/ngtsc/imports/src/references.js +0 -171
  434. package/src/ngtsc/imports/src/resolver.js +0 -39
  435. package/src/ngtsc/incremental/api.js +0 -20
  436. package/src/ngtsc/incremental/index.js +0 -29
  437. package/src/ngtsc/incremental/semantic_graph/index.js +0 -34
  438. package/src/ngtsc/incremental/semantic_graph/src/api.js +0 -51
  439. package/src/ngtsc/incremental/semantic_graph/src/graph.js +0 -302
  440. package/src/ngtsc/incremental/semantic_graph/src/type_parameters.js +0 -55
  441. package/src/ngtsc/incremental/semantic_graph/src/util.js +0 -111
  442. package/src/ngtsc/incremental/src/dependency_tracking.js +0 -165
  443. package/src/ngtsc/incremental/src/incremental.js +0 -393
  444. package/src/ngtsc/incremental/src/noop.js +0 -26
  445. package/src/ngtsc/incremental/src/state.js +0 -30
  446. package/src/ngtsc/incremental/src/strategy.js +0 -99
  447. package/src/ngtsc/indexer/index.js +0 -27
  448. package/src/ngtsc/indexer/src/api.js +0 -45
  449. package/src/ngtsc/indexer/src/context.js +0 -40
  450. package/src/ngtsc/indexer/src/template.js +0 -328
  451. package/src/ngtsc/indexer/src/transform.js +0 -66
  452. package/src/ngtsc/logging/index.js +0 -25
  453. package/src/ngtsc/logging/src/console_logger.js +0 -75
  454. package/src/ngtsc/logging/src/logger.js +0 -28
  455. package/src/ngtsc/logging/testing/index.js +0 -23
  456. package/src/ngtsc/logging/testing/src/mock_logger.d.ts +0 -20
  457. package/src/ngtsc/logging/testing/src/mock_logger.js +0 -64
  458. package/src/ngtsc/metadata/index.js +0 -39
  459. package/src/ngtsc/metadata/src/api.js +0 -26
  460. package/src/ngtsc/metadata/src/dts.js +0 -168
  461. package/src/ngtsc/metadata/src/inheritance.js +0 -122
  462. package/src/ngtsc/metadata/src/property_mapping.js +0 -244
  463. package/src/ngtsc/metadata/src/registry.js +0 -133
  464. package/src/ngtsc/metadata/src/resource_registry.js +0 -109
  465. package/src/ngtsc/metadata/src/util.js +0 -275
  466. package/src/ngtsc/partial_evaluator/index.js +0 -31
  467. package/src/ngtsc/partial_evaluator/src/builtin.js +0 -125
  468. package/src/ngtsc/partial_evaluator/src/diagnostics.js +0 -193
  469. package/src/ngtsc/partial_evaluator/src/dynamic.js +0 -109
  470. package/src/ngtsc/partial_evaluator/src/interface.js +0 -42
  471. package/src/ngtsc/partial_evaluator/src/interpreter.js +0 -780
  472. package/src/ngtsc/partial_evaluator/src/known_declaration.js +0 -57
  473. package/src/ngtsc/partial_evaluator/src/result.js +0 -72
  474. package/src/ngtsc/partial_evaluator/src/ts_helpers.js +0 -121
  475. package/src/ngtsc/perf/index.js +0 -28
  476. package/src/ngtsc/perf/src/api.js +0 -291
  477. package/src/ngtsc/perf/src/clock.js +0 -30
  478. package/src/ngtsc/perf/src/noop.js +0 -37
  479. package/src/ngtsc/perf/src/recorder.js +0 -143
  480. package/src/ngtsc/program.js +0 -360
  481. package/src/ngtsc/program_driver/index.js +0 -25
  482. package/src/ngtsc/program_driver/src/api.js +0 -36
  483. package/src/ngtsc/program_driver/src/ts_create_program_driver.js +0 -200
  484. package/src/ngtsc/reflection/index.js +0 -36
  485. package/src/ngtsc/reflection/src/host.js +0 -88
  486. package/src/ngtsc/reflection/src/type_to_value.js +0 -259
  487. package/src/ngtsc/reflection/src/typescript.js +0 -640
  488. package/src/ngtsc/reflection/src/util.js +0 -37
  489. package/src/ngtsc/resource/index.js +0 -23
  490. package/src/ngtsc/resource/src/loader.js +0 -285
  491. package/src/ngtsc/routing/index.js +0 -26
  492. package/src/ngtsc/routing/src/analyzer.d.ts +0 -37
  493. package/src/ngtsc/routing/src/analyzer.js +0 -82
  494. package/src/ngtsc/routing/src/lazy.d.ts +0 -19
  495. package/src/ngtsc/routing/src/lazy.js +0 -239
  496. package/src/ngtsc/routing/src/route.d.ts +0 -23
  497. package/src/ngtsc/routing/src/route.js +0 -77
  498. package/src/ngtsc/scope/index.js +0 -29
  499. package/src/ngtsc/scope/src/api.js +0 -20
  500. package/src/ngtsc/scope/src/component_scope.js +0 -69
  501. package/src/ngtsc/scope/src/dependency.js +0 -201
  502. package/src/ngtsc/scope/src/local.js +0 -665
  503. package/src/ngtsc/scope/src/typecheck.js +0 -120
  504. package/src/ngtsc/shims/api.js +0 -13
  505. package/src/ngtsc/shims/index.js +0 -39
  506. package/src/ngtsc/shims/src/adapter.js +0 -266
  507. package/src/ngtsc/shims/src/expando.js +0 -147
  508. package/src/ngtsc/shims/src/factory_generator.js +0 -292
  509. package/src/ngtsc/shims/src/reference_tagger.js +0 -94
  510. package/src/ngtsc/shims/src/summary_generator.js +0 -101
  511. package/src/ngtsc/shims/src/util.js +0 -41
  512. package/src/ngtsc/sourcemaps/index.js +0 -27
  513. package/src/ngtsc/sourcemaps/src/content_origin.js +0 -48
  514. package/src/ngtsc/sourcemaps/src/raw_source_map.js +0 -13
  515. package/src/ngtsc/sourcemaps/src/segment_marker.js +0 -55
  516. package/src/ngtsc/sourcemaps/src/source_file.js +0 -519
  517. package/src/ngtsc/sourcemaps/src/source_file_loader.js +0 -234
  518. package/src/ngtsc/switch/index.js +0 -23
  519. package/src/ngtsc/switch/src/switch.js +0 -141
  520. package/src/ngtsc/transform/index.js +0 -36
  521. package/src/ngtsc/transform/src/alias.js +0 -46
  522. package/src/ngtsc/transform/src/api.js +0 -76
  523. package/src/ngtsc/transform/src/compilation.js +0 -862
  524. package/src/ngtsc/transform/src/declaration.js +0 -234
  525. package/src/ngtsc/transform/src/trait.js +0 -111
  526. package/src/ngtsc/transform/src/transform.js +0 -333
  527. package/src/ngtsc/transform/src/utils.js +0 -73
  528. package/src/ngtsc/translator/index.js +0 -37
  529. package/src/ngtsc/translator/src/api/ast_factory.js +0 -20
  530. package/src/ngtsc/translator/src/api/import_generator.js +0 -20
  531. package/src/ngtsc/translator/src/context.js +0 -47
  532. package/src/ngtsc/translator/src/import_manager.js +0 -77
  533. package/src/ngtsc/translator/src/translator.js +0 -353
  534. package/src/ngtsc/translator/src/type_translator.js +0 -223
  535. package/src/ngtsc/translator/src/typescript_ast_factory.js +0 -251
  536. package/src/ngtsc/translator/src/typescript_translator.js +0 -34
  537. package/src/ngtsc/tsc_plugin.js +0 -129
  538. package/src/ngtsc/typecheck/api/api.js +0 -20
  539. package/src/ngtsc/typecheck/api/checker.js +0 -44
  540. package/src/ngtsc/typecheck/api/completion.js +0 -29
  541. package/src/ngtsc/typecheck/api/context.js +0 -20
  542. package/src/ngtsc/typecheck/api/index.js +0 -27
  543. package/src/ngtsc/typecheck/api/scope.js +0 -20
  544. package/src/ngtsc/typecheck/api/symbols.js +0 -35
  545. package/src/ngtsc/typecheck/diagnostics/index.js +0 -23
  546. package/src/ngtsc/typecheck/diagnostics/src/diagnostic.js +0 -141
  547. package/src/ngtsc/typecheck/diagnostics/src/id.js +0 -37
  548. package/src/ngtsc/typecheck/extended/api/api.js +0 -124
  549. package/src/ngtsc/typecheck/extended/api/extended_template_checker.js +0 -20
  550. package/src/ngtsc/typecheck/extended/api/index.js +0 -23
  551. package/src/ngtsc/typecheck/extended/checks/invalid_banana_in_box/index.js +0 -52
  552. package/src/ngtsc/typecheck/extended/checks/nullish_coalescing_not_nullable/index.js +0 -64
  553. package/src/ngtsc/typecheck/extended/index.js +0 -23
  554. package/src/ngtsc/typecheck/extended/src/extended_template_checker.js +0 -55
  555. package/src/ngtsc/typecheck/index.js +0 -29
  556. package/src/ngtsc/typecheck/src/checker.js +0 -764
  557. package/src/ngtsc/typecheck/src/comments.js +0 -181
  558. package/src/ngtsc/typecheck/src/completion.js +0 -232
  559. package/src/ngtsc/typecheck/src/context.js +0 -424
  560. package/src/ngtsc/typecheck/src/diagnostics.js +0 -114
  561. package/src/ngtsc/typecheck/src/dom.js +0 -87
  562. package/src/ngtsc/typecheck/src/environment.js +0 -160
  563. package/src/ngtsc/typecheck/src/expression.js +0 -441
  564. package/src/ngtsc/typecheck/src/line_mappings.js +0 -77
  565. package/src/ngtsc/typecheck/src/oob.js +0 -181
  566. package/src/ngtsc/typecheck/src/shim.js +0 -52
  567. package/src/ngtsc/typecheck/src/source.js +0 -91
  568. package/src/ngtsc/typecheck/src/tcb_util.js +0 -165
  569. package/src/ngtsc/typecheck/src/template_semantics.js +0 -52
  570. package/src/ngtsc/typecheck/src/template_symbol_builder.js +0 -546
  571. package/src/ngtsc/typecheck/src/ts_util.js +0 -202
  572. package/src/ngtsc/typecheck/src/type_check_block.js +0 -2210
  573. package/src/ngtsc/typecheck/src/type_check_file.js +0 -115
  574. package/src/ngtsc/typecheck/src/type_constructor.js +0 -255
  575. package/src/ngtsc/typecheck/src/type_emitter.js +0 -164
  576. package/src/ngtsc/typecheck/src/type_parameter_emitter.js +0 -115
  577. package/src/ngtsc/util/src/path.js +0 -33
  578. package/src/ngtsc/util/src/typescript.js +0 -176
  579. package/src/ngtsc/util/src/visitor.js +0 -119
  580. package/src/ngtsc/xi18n/index.js +0 -22
  581. package/src/ngtsc/xi18n/src/context.js +0 -20
  582. package/src/perform_compile.js +0 -322
  583. package/src/perform_watch.js +0 -263
  584. package/src/tooling.js +0 -47
  585. package/src/transformers/api.js +0 -42
  586. package/src/transformers/compiler_host.js +0 -623
  587. package/src/transformers/downlevel_decorators_transform.js +0 -612
  588. package/src/transformers/entry_points.js +0 -25
  589. package/src/transformers/i18n.js +0 -76
  590. package/src/transformers/inline_resources.js +0 -287
  591. package/src/transformers/lower_expressions.js +0 -365
  592. package/src/transformers/metadata_cache.js +0 -96
  593. package/src/transformers/metadata_reader.js +0 -120
  594. package/src/transformers/node_emitter.js +0 -643
  595. package/src/transformers/node_emitter_transform.js +0 -88
  596. package/src/transformers/patch_alias_reference_resolution.js +0 -129
  597. package/src/transformers/program.js +0 -1000
  598. package/src/transformers/r3_metadata_transform.js +0 -73
  599. package/src/transformers/r3_transform.js +0 -44
  600. package/src/transformers/util.js +0 -122
  601. package/src/typescript_support.js +0 -74
  602. package/src/version.js +0 -28
@@ -1,207 +0,0 @@
1
- (function (factory) {
2
- if (typeof module === "object" && typeof module.exports === "object") {
3
- var v = factory(require, exports);
4
- if (v !== undefined) module.exports = v;
5
- }
6
- else if (typeof define === "function" && define.amd) {
7
- define("@angular/compiler-cli/ngcc/src/packages/entry_point_manifest", ["require", "exports", "tslib", "crypto", "@angular/compiler-cli/ngcc/src/packages/build_marker", "@angular/compiler-cli/ngcc/src/packages/entry_point"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.InvalidatingEntryPointManifest = exports.EntryPointManifest = void 0;
13
- var tslib_1 = require("tslib");
14
- /**
15
- * @license
16
- * Copyright Google LLC All Rights Reserved.
17
- *
18
- * Use of this source code is governed by an MIT-style license that can be
19
- * found in the LICENSE file at https://angular.io/license
20
- */
21
- var crypto_1 = require("crypto");
22
- var build_marker_1 = require("@angular/compiler-cli/ngcc/src/packages/build_marker");
23
- var entry_point_1 = require("@angular/compiler-cli/ngcc/src/packages/entry_point");
24
- /**
25
- * Manages reading and writing a manifest file that contains a list of all the entry-points that
26
- * were found below a given basePath.
27
- *
28
- * This is a super-set of the entry-points that are actually processed for a given run of ngcc,
29
- * since some may already be processed, or excluded if they do not have the required format.
30
- */
31
- var EntryPointManifest = /** @class */ (function () {
32
- function EntryPointManifest(fs, config, logger) {
33
- this.fs = fs;
34
- this.config = config;
35
- this.logger = logger;
36
- }
37
- /**
38
- * Try to get the entry-point info from a manifest file for the given `basePath` if it exists and
39
- * is not out of date.
40
- *
41
- * Reasons for the manifest to be out of date are:
42
- *
43
- * * the file does not exist
44
- * * the ngcc version has changed
45
- * * the package lock-file (i.e. yarn.lock or package-lock.json) has changed
46
- * * the project configuration has changed
47
- * * one or more entry-points in the manifest are not valid
48
- *
49
- * @param basePath The path that would contain the entry-points and the manifest file.
50
- * @returns an array of entry-point information for all entry-points found below the given
51
- * `basePath` or `null` if the manifest was out of date.
52
- */
53
- EntryPointManifest.prototype.readEntryPointsUsingManifest = function (basePath) {
54
- var e_1, _a;
55
- try {
56
- if (this.fs.basename(basePath) !== 'node_modules') {
57
- return null;
58
- }
59
- var manifestPath = this.getEntryPointManifestPath(basePath);
60
- if (!this.fs.exists(manifestPath)) {
61
- return null;
62
- }
63
- var computedLockFileHash = this.computeLockFileHash(basePath);
64
- if (computedLockFileHash === null) {
65
- return null;
66
- }
67
- var _b = JSON.parse(this.fs.readFile(manifestPath)), ngccVersion = _b.ngccVersion, configFileHash = _b.configFileHash, lockFileHash = _b.lockFileHash, entryPointPaths = _b.entryPointPaths;
68
- if (ngccVersion !== build_marker_1.NGCC_VERSION || configFileHash !== this.config.hash ||
69
- lockFileHash !== computedLockFileHash) {
70
- return null;
71
- }
72
- this.logger.debug("Entry-point manifest found for " + basePath + " so loading entry-point information directly.");
73
- var startTime = Date.now();
74
- var entryPoints = [];
75
- try {
76
- for (var entryPointPaths_1 = tslib_1.__values(entryPointPaths), entryPointPaths_1_1 = entryPointPaths_1.next(); !entryPointPaths_1_1.done; entryPointPaths_1_1 = entryPointPaths_1.next()) {
77
- var _c = tslib_1.__read(entryPointPaths_1_1.value, 5), packagePath = _c[0], entryPointPath = _c[1], _d = _c[2], dependencyPaths = _d === void 0 ? [] : _d, _e = _c[3], missingPaths = _e === void 0 ? [] : _e, _f = _c[4], deepImportPaths = _f === void 0 ? [] : _f;
78
- var result = entry_point_1.getEntryPointInfo(this.fs, this.config, this.logger, this.fs.resolve(basePath, packagePath), this.fs.resolve(basePath, entryPointPath));
79
- if (!entry_point_1.isEntryPoint(result)) {
80
- throw new Error("The entry-point manifest at " + manifestPath + " contained an invalid pair of package paths: [" + packagePath + ", " + entryPointPath + "]");
81
- }
82
- else {
83
- entryPoints.push({
84
- entryPoint: result,
85
- depInfo: {
86
- dependencies: new Set(dependencyPaths),
87
- missing: new Set(missingPaths),
88
- deepImports: new Set(deepImportPaths),
89
- }
90
- });
91
- }
92
- }
93
- }
94
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
95
- finally {
96
- try {
97
- if (entryPointPaths_1_1 && !entryPointPaths_1_1.done && (_a = entryPointPaths_1.return)) _a.call(entryPointPaths_1);
98
- }
99
- finally { if (e_1) throw e_1.error; }
100
- }
101
- var duration = Math.round((Date.now() - startTime) / 100) / 10;
102
- this.logger.debug("Reading entry-points using the manifest entries took " + duration + "s.");
103
- return entryPoints;
104
- }
105
- catch (e) {
106
- this.logger.warn("Unable to read the entry-point manifest for " + basePath + ":\n", e.stack || e.toString());
107
- return null;
108
- }
109
- };
110
- /**
111
- * Write a manifest file at the given `basePath`.
112
- *
113
- * The manifest includes the current ngcc version and hashes of the package lock-file and current
114
- * project config. These will be used to check whether the manifest file is out of date. See
115
- * `readEntryPointsUsingManifest()`.
116
- *
117
- * @param basePath The path where the manifest file is to be written.
118
- * @param entryPoints A collection of entry-points to record in the manifest.
119
- */
120
- EntryPointManifest.prototype.writeEntryPointManifest = function (basePath, entryPoints) {
121
- var _this = this;
122
- if (this.fs.basename(basePath) !== 'node_modules') {
123
- return;
124
- }
125
- var lockFileHash = this.computeLockFileHash(basePath);
126
- if (lockFileHash === null) {
127
- return;
128
- }
129
- var manifest = {
130
- ngccVersion: build_marker_1.NGCC_VERSION,
131
- configFileHash: this.config.hash,
132
- lockFileHash: lockFileHash,
133
- entryPointPaths: entryPoints.map(function (e) {
134
- var entryPointPaths = [
135
- _this.fs.relative(basePath, e.entryPoint.packagePath),
136
- _this.fs.relative(basePath, e.entryPoint.path),
137
- ];
138
- // Only add depInfo arrays if needed.
139
- if (e.depInfo.dependencies.size > 0) {
140
- entryPointPaths[2] = Array.from(e.depInfo.dependencies);
141
- }
142
- else if (e.depInfo.missing.size > 0 || e.depInfo.deepImports.size > 0) {
143
- entryPointPaths[2] = [];
144
- }
145
- if (e.depInfo.missing.size > 0) {
146
- entryPointPaths[3] = Array.from(e.depInfo.missing);
147
- }
148
- else if (e.depInfo.deepImports.size > 0) {
149
- entryPointPaths[3] = [];
150
- }
151
- if (e.depInfo.deepImports.size > 0) {
152
- entryPointPaths[4] = Array.from(e.depInfo.deepImports);
153
- }
154
- return entryPointPaths;
155
- }),
156
- };
157
- this.fs.writeFile(this.getEntryPointManifestPath(basePath), JSON.stringify(manifest));
158
- };
159
- EntryPointManifest.prototype.getEntryPointManifestPath = function (basePath) {
160
- return this.fs.resolve(basePath, '__ngcc_entry_points__.json');
161
- };
162
- EntryPointManifest.prototype.computeLockFileHash = function (basePath) {
163
- var e_2, _a;
164
- var directory = this.fs.dirname(basePath);
165
- try {
166
- for (var _b = tslib_1.__values(['yarn.lock', 'package-lock.json']), _c = _b.next(); !_c.done; _c = _b.next()) {
167
- var lockFileName = _c.value;
168
- var lockFilePath = this.fs.resolve(directory, lockFileName);
169
- if (this.fs.exists(lockFilePath)) {
170
- var lockFileContents = this.fs.readFile(lockFilePath);
171
- return crypto_1.createHash(this.config.hashAlgorithm).update(lockFileContents).digest('hex');
172
- }
173
- }
174
- }
175
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
176
- finally {
177
- try {
178
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
179
- }
180
- finally { if (e_2) throw e_2.error; }
181
- }
182
- return null;
183
- };
184
- return EntryPointManifest;
185
- }());
186
- exports.EntryPointManifest = EntryPointManifest;
187
- /**
188
- * A specialized implementation of the `EntryPointManifest` that can be used to invalidate the
189
- * current manifest file.
190
- *
191
- * It always returns `null` from the `readEntryPointsUsingManifest()` method, which forces a new
192
- * manifest to be created, which will overwrite the current file when `writeEntryPointManifest()`
193
- * is called.
194
- */
195
- var InvalidatingEntryPointManifest = /** @class */ (function (_super) {
196
- tslib_1.__extends(InvalidatingEntryPointManifest, _super);
197
- function InvalidatingEntryPointManifest() {
198
- return _super !== null && _super.apply(this, arguments) || this;
199
- }
200
- InvalidatingEntryPointManifest.prototype.readEntryPointsUsingManifest = function (_basePath) {
201
- return null;
202
- };
203
- return InvalidatingEntryPointManifest;
204
- }(EntryPointManifest));
205
- exports.InvalidatingEntryPointManifest = InvalidatingEntryPointManifest;
206
- });
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnlfcG9pbnRfbWFuaWZlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvbmdjYy9zcmMvcGFja2FnZXMvZW50cnlfcG9pbnRfbWFuaWZlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztJQUFBOzs7Ozs7T0FNRztJQUNILGlDQUFrQztJQU1sQyxxRkFBNEM7SUFFNUMsbUZBQTJGO0lBRTNGOzs7Ozs7T0FNRztJQUNIO1FBQ0UsNEJBQW9CLEVBQWMsRUFBVSxNQUF5QixFQUFVLE1BQWM7WUFBekUsT0FBRSxHQUFGLEVBQUUsQ0FBWTtZQUFVLFdBQU0sR0FBTixNQUFNLENBQW1CO1lBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFHLENBQUM7UUFFakc7Ozs7Ozs7Ozs7Ozs7OztXQWVHO1FBQ0gseURBQTRCLEdBQTVCLFVBQTZCLFFBQXdCOztZQUNuRCxJQUFJO2dCQUNGLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssY0FBYyxFQUFFO29CQUNqRCxPQUFPLElBQUksQ0FBQztpQkFDYjtnQkFFRCxJQUFNLFlBQVksR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzlELElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRTtvQkFDakMsT0FBTyxJQUFJLENBQUM7aUJBQ2I7Z0JBRUQsSUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2hFLElBQUksb0JBQW9CLEtBQUssSUFBSSxFQUFFO29CQUNqQyxPQUFPLElBQUksQ0FBQztpQkFDYjtnQkFFSyxJQUFBLEtBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBMkIsRUFEakUsV0FBVyxpQkFBQSxFQUFFLGNBQWMsb0JBQUEsRUFBRSxZQUFZLGtCQUFBLEVBQUUsZUFBZSxxQkFDTyxDQUFDO2dCQUN6RSxJQUFJLFdBQVcsS0FBSywyQkFBWSxJQUFJLGNBQWMsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7b0JBQ25FLFlBQVksS0FBSyxvQkFBb0IsRUFBRTtvQkFDekMsT0FBTyxJQUFJLENBQUM7aUJBQ2I7Z0JBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsb0NBQ2QsUUFBUSxrREFBK0MsQ0FBQyxDQUFDO2dCQUM3RCxJQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBRTdCLElBQU0sV0FBVyxHQUFpQyxFQUFFLENBQUM7O29CQUNyRCxLQUVnRSxJQUFBLG9CQUFBLGlCQUFBLGVBQWUsQ0FBQSxnREFBQSw2RUFBRTt3QkFEeEUsSUFBQSxLQUFBLDRDQUNtRCxFQURsRCxXQUFXLFFBQUEsRUFBRSxjQUFjLFFBQUEsRUFBRSxVQUFvQixFQUFwQixlQUFlLG1CQUFHLEVBQUUsS0FBQSxFQUFFLFVBQWlCLEVBQWpCLFlBQVksbUJBQUcsRUFBRSxLQUFBLEVBQ3ZDLFVBQW9CLEVBQXBCLGVBQWUsbUJBQUcsRUFBRSxLQUFBO3dCQUN6RCxJQUFNLE1BQU0sR0FBRywrQkFBaUIsQ0FDNUIsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxFQUN6RSxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQzt3QkFDL0MsSUFBSSxDQUFDLDBCQUFZLENBQUMsTUFBTSxDQUFDLEVBQUU7NEJBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQ1osWUFBWSxzREFBaUQsV0FBVyxVQUN4RSxjQUFjLE1BQUcsQ0FBQyxDQUFDO3lCQUN4Qjs2QkFBTTs0QkFDTCxXQUFXLENBQUMsSUFBSSxDQUFDO2dDQUNmLFVBQVUsRUFBRSxNQUFNO2dDQUNsQixPQUFPLEVBQUU7b0NBQ1AsWUFBWSxFQUFFLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztvQ0FDdEMsT0FBTyxFQUFFLElBQUksR0FBRyxDQUFDLFlBQVksQ0FBQztvQ0FDOUIsV0FBVyxFQUFFLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztpQ0FDdEM7NkJBQ0YsQ0FBQyxDQUFDO3lCQUNKO3FCQUNGOzs7Ozs7Ozs7Z0JBQ0QsSUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxTQUFTLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ2pFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDBEQUF3RCxRQUFRLE9BQUksQ0FBQyxDQUFDO2dCQUN4RixPQUFPLFdBQVcsQ0FBQzthQUNwQjtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNaLGlEQUErQyxRQUFRLFFBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUMzRixPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztRQUVEOzs7Ozs7Ozs7V0FTRztRQUNILG9EQUF1QixHQUF2QixVQUF3QixRQUF3QixFQUFFLFdBQXlDO1lBQTNGLGlCQXFDQztZQW5DQyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLGNBQWMsRUFBRTtnQkFDakQsT0FBTzthQUNSO1lBRUQsSUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3hELElBQUksWUFBWSxLQUFLLElBQUksRUFBRTtnQkFDekIsT0FBTzthQUNSO1lBQ0QsSUFBTSxRQUFRLEdBQTJCO2dCQUN2QyxXQUFXLEVBQUUsMkJBQVk7Z0JBQ3pCLGNBQWMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7Z0JBQ2hDLFlBQVksRUFBRSxZQUFZO2dCQUMxQixlQUFlLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFBLENBQUM7b0JBQ2hDLElBQU0sZUFBZSxHQUFvQjt3QkFDdkMsS0FBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDO3dCQUNwRCxLQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7cUJBQzlDLENBQUM7b0JBQ0YscUNBQXFDO29CQUNyQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUU7d0JBQ25DLGVBQWUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7cUJBQ3pEO3lCQUFNLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFO3dCQUN2RSxlQUFlLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO3FCQUN6QjtvQkFDRCxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUU7d0JBQzlCLGVBQWUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7cUJBQ3BEO3lCQUFNLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRTt3QkFDekMsZUFBZSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztxQkFDekI7b0JBQ0QsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFO3dCQUNsQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO3FCQUN4RDtvQkFDRCxPQUFPLGVBQWUsQ0FBQztnQkFDekIsQ0FBQyxDQUFDO2FBQ0gsQ0FBQztZQUNGLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDeEYsQ0FBQztRQUVPLHNEQUF5QixHQUFqQyxVQUFrQyxRQUF3QjtZQUN4RCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSw0QkFBNEIsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFFTyxnREFBbUIsR0FBM0IsVUFBNEIsUUFBd0I7O1lBQ2xELElBQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDOztnQkFDNUMsS0FBMkIsSUFBQSxLQUFBLGlCQUFBLENBQUMsV0FBVyxFQUFFLG1CQUFtQixDQUFDLENBQUEsZ0JBQUEsNEJBQUU7b0JBQTFELElBQU0sWUFBWSxXQUFBO29CQUNyQixJQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUM7b0JBQzlELElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUU7d0JBQ2hDLElBQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7d0JBQ3hELE9BQU8sbUJBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztxQkFDckY7aUJBQ0Y7Ozs7Ozs7OztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNILHlCQUFDO0lBQUQsQ0FBQyxBQTlJRCxJQThJQztJQTlJWSxnREFBa0I7SUFnSi9COzs7Ozs7O09BT0c7SUFDSDtRQUFvRCwwREFBa0I7UUFBdEU7O1FBS0EsQ0FBQztRQUpVLHFFQUE0QixHQUFyQyxVQUFzQyxTQUF5QjtZQUU3RCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDSCxxQ0FBQztJQUFELENBQUMsQUFMRCxDQUFvRCxrQkFBa0IsR0FLckU7SUFMWSx3RUFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7Y3JlYXRlSGFzaH0gZnJvbSAnY3J5cHRvJztcblxuaW1wb3J0IHtBYnNvbHV0ZUZzUGF0aCwgRmlsZVN5c3RlbSwgUGF0aFNlZ21lbnR9IGZyb20gJy4uLy4uLy4uL3NyYy9uZ3RzYy9maWxlX3N5c3RlbSc7XG5pbXBvcnQge0xvZ2dlcn0gZnJvbSAnLi4vLi4vLi4vc3JjL25ndHNjL2xvZ2dpbmcnO1xuaW1wb3J0IHtFbnRyeVBvaW50V2l0aERlcGVuZGVuY2llc30gZnJvbSAnLi4vZGVwZW5kZW5jaWVzL2RlcGVuZGVuY3lfaG9zdCc7XG5cbmltcG9ydCB7TkdDQ19WRVJTSU9OfSBmcm9tICcuL2J1aWxkX21hcmtlcic7XG5pbXBvcnQge05nY2NDb25maWd1cmF0aW9ufSBmcm9tICcuL2NvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHtnZXRFbnRyeVBvaW50SW5mbywgaXNFbnRyeVBvaW50LCBQYWNrYWdlSnNvbkZvcm1hdFByb3BlcnRpZXN9IGZyb20gJy4vZW50cnlfcG9pbnQnO1xuXG4vKipcbiAqIE1hbmFnZXMgcmVhZGluZyBhbmQgd3JpdGluZyBhIG1hbmlmZXN0IGZpbGUgdGhhdCBjb250YWlucyBhIGxpc3Qgb2YgYWxsIHRoZSBlbnRyeS1wb2ludHMgdGhhdFxuICogd2VyZSBmb3VuZCBiZWxvdyBhIGdpdmVuIGJhc2VQYXRoLlxuICpcbiAqIFRoaXMgaXMgYSBzdXBlci1zZXQgb2YgdGhlIGVudHJ5LXBvaW50cyB0aGF0IGFyZSBhY3R1YWxseSBwcm9jZXNzZWQgZm9yIGEgZ2l2ZW4gcnVuIG9mIG5nY2MsXG4gKiBzaW5jZSBzb21lIG1heSBhbHJlYWR5IGJlIHByb2Nlc3NlZCwgb3IgZXhjbHVkZWQgaWYgdGhleSBkbyBub3QgaGF2ZSB0aGUgcmVxdWlyZWQgZm9ybWF0LlxuICovXG5leHBvcnQgY2xhc3MgRW50cnlQb2ludE1hbmlmZXN0IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmczogRmlsZVN5c3RlbSwgcHJpdmF0ZSBjb25maWc6IE5nY2NDb25maWd1cmF0aW9uLCBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyKSB7fVxuXG4gIC8qKlxuICAgKiBUcnkgdG8gZ2V0IHRoZSBlbnRyeS1wb2ludCBpbmZvIGZyb20gYSBtYW5pZmVzdCBmaWxlIGZvciB0aGUgZ2l2ZW4gYGJhc2VQYXRoYCBpZiBpdCBleGlzdHMgYW5kXG4gICAqIGlzIG5vdCBvdXQgb2YgZGF0ZS5cbiAgICpcbiAgICogUmVhc29ucyBmb3IgdGhlIG1hbmlmZXN0IHRvIGJlIG91dCBvZiBkYXRlIGFyZTpcbiAgICpcbiAgICogKiB0aGUgZmlsZSBkb2VzIG5vdCBleGlzdFxuICAgKiAqIHRoZSBuZ2NjIHZlcnNpb24gaGFzIGNoYW5nZWRcbiAgICogKiB0aGUgcGFja2FnZSBsb2NrLWZpbGUgKGkuZS4geWFybi5sb2NrIG9yIHBhY2thZ2UtbG9jay5qc29uKSBoYXMgY2hhbmdlZFxuICAgKiAqIHRoZSBwcm9qZWN0IGNvbmZpZ3VyYXRpb24gaGFzIGNoYW5nZWRcbiAgICogKiBvbmUgb3IgbW9yZSBlbnRyeS1wb2ludHMgaW4gdGhlIG1hbmlmZXN0IGFyZSBub3QgdmFsaWRcbiAgICpcbiAgICogQHBhcmFtIGJhc2VQYXRoIFRoZSBwYXRoIHRoYXQgd291bGQgY29udGFpbiB0aGUgZW50cnktcG9pbnRzIGFuZCB0aGUgbWFuaWZlc3QgZmlsZS5cbiAgICogQHJldHVybnMgYW4gYXJyYXkgb2YgZW50cnktcG9pbnQgaW5mb3JtYXRpb24gZm9yIGFsbCBlbnRyeS1wb2ludHMgZm91bmQgYmVsb3cgdGhlIGdpdmVuXG4gICAqIGBiYXNlUGF0aGAgb3IgYG51bGxgIGlmIHRoZSBtYW5pZmVzdCB3YXMgb3V0IG9mIGRhdGUuXG4gICAqL1xuICByZWFkRW50cnlQb2ludHNVc2luZ01hbmlmZXN0KGJhc2VQYXRoOiBBYnNvbHV0ZUZzUGF0aCk6IEVudHJ5UG9pbnRXaXRoRGVwZW5kZW5jaWVzW118bnVsbCB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICh0aGlzLmZzLmJhc2VuYW1lKGJhc2VQYXRoKSAhPT0gJ25vZGVfbW9kdWxlcycpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1hbmlmZXN0UGF0aCA9IHRoaXMuZ2V0RW50cnlQb2ludE1hbmlmZXN0UGF0aChiYXNlUGF0aCk7XG4gICAgICBpZiAoIXRoaXMuZnMuZXhpc3RzKG1hbmlmZXN0UGF0aCkpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNvbXB1dGVkTG9ja0ZpbGVIYXNoID0gdGhpcy5jb21wdXRlTG9ja0ZpbGVIYXNoKGJhc2VQYXRoKTtcbiAgICAgIGlmIChjb21wdXRlZExvY2tGaWxlSGFzaCA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgY29uc3Qge25nY2NWZXJzaW9uLCBjb25maWdGaWxlSGFzaCwgbG9ja0ZpbGVIYXNoLCBlbnRyeVBvaW50UGF0aHN9ID1cbiAgICAgICAgICBKU09OLnBhcnNlKHRoaXMuZnMucmVhZEZpbGUobWFuaWZlc3RQYXRoKSkgYXMgRW50cnlQb2ludE1hbmlmZXN0RmlsZTtcbiAgICAgIGlmIChuZ2NjVmVyc2lvbiAhPT0gTkdDQ19WRVJTSU9OIHx8IGNvbmZpZ0ZpbGVIYXNoICE9PSB0aGlzLmNvbmZpZy5oYXNoIHx8XG4gICAgICAgICAgbG9ja0ZpbGVIYXNoICE9PSBjb21wdXRlZExvY2tGaWxlSGFzaCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYEVudHJ5LXBvaW50IG1hbmlmZXN0IGZvdW5kIGZvciAke1xuICAgICAgICAgIGJhc2VQYXRofSBzbyBsb2FkaW5nIGVudHJ5LXBvaW50IGluZm9ybWF0aW9uIGRpcmVjdGx5LmApO1xuICAgICAgY29uc3Qgc3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcblxuICAgICAgY29uc3QgZW50cnlQb2ludHM6IEVudHJ5UG9pbnRXaXRoRGVwZW5kZW5jaWVzW10gPSBbXTtcbiAgICAgIGZvciAoY29uc3RcbiAgICAgICAgICAgICAgIFtwYWNrYWdlUGF0aCwgZW50cnlQb2ludFBhdGgsIGRlcGVuZGVuY3lQYXRocyA9IFtdLCBtaXNzaW5nUGF0aHMgPSBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZXBJbXBvcnRQYXRocyA9IFtdXSBvZiBlbnRyeVBvaW50UGF0aHMpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gZ2V0RW50cnlQb2ludEluZm8oXG4gICAgICAgICAgICB0aGlzLmZzLCB0aGlzLmNvbmZpZywgdGhpcy5sb2dnZXIsIHRoaXMuZnMucmVzb2x2ZShiYXNlUGF0aCwgcGFja2FnZVBhdGgpLFxuICAgICAgICAgICAgdGhpcy5mcy5yZXNvbHZlKGJhc2VQYXRoLCBlbnRyeVBvaW50UGF0aCkpO1xuICAgICAgICBpZiAoIWlzRW50cnlQb2ludChyZXN1bHQpKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgZW50cnktcG9pbnQgbWFuaWZlc3QgYXQgJHtcbiAgICAgICAgICAgICAgbWFuaWZlc3RQYXRofSBjb250YWluZWQgYW4gaW52YWxpZCBwYWlyIG9mIHBhY2thZ2UgcGF0aHM6IFske3BhY2thZ2VQYXRofSwgJHtcbiAgICAgICAgICAgICAgZW50cnlQb2ludFBhdGh9XWApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGVudHJ5UG9pbnRzLnB1c2goe1xuICAgICAgICAgICAgZW50cnlQb2ludDogcmVzdWx0LFxuICAgICAgICAgICAgZGVwSW5mbzoge1xuICAgICAgICAgICAgICBkZXBlbmRlbmNpZXM6IG5ldyBTZXQoZGVwZW5kZW5jeVBhdGhzKSxcbiAgICAgICAgICAgICAgbWlzc2luZzogbmV3IFNldChtaXNzaW5nUGF0aHMpLFxuICAgICAgICAgICAgICBkZWVwSW1wb3J0czogbmV3IFNldChkZWVwSW1wb3J0UGF0aHMpLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCBkdXJhdGlvbiA9IE1hdGgucm91bmQoKERhdGUubm93KCkgLSBzdGFydFRpbWUpIC8gMTAwKSAvIDEwO1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYFJlYWRpbmcgZW50cnktcG9pbnRzIHVzaW5nIHRoZSBtYW5pZmVzdCBlbnRyaWVzIHRvb2sgJHtkdXJhdGlvbn1zLmApO1xuICAgICAgcmV0dXJuIGVudHJ5UG9pbnRzO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLndhcm4oXG4gICAgICAgICAgYFVuYWJsZSB0byByZWFkIHRoZSBlbnRyeS1wb2ludCBtYW5pZmVzdCBmb3IgJHtiYXNlUGF0aH06XFxuYCwgZS5zdGFjayB8fCBlLnRvU3RyaW5nKCkpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdyaXRlIGEgbWFuaWZlc3QgZmlsZSBhdCB0aGUgZ2l2ZW4gYGJhc2VQYXRoYC5cbiAgICpcbiAgICogVGhlIG1hbmlmZXN0IGluY2x1ZGVzIHRoZSBjdXJyZW50IG5nY2MgdmVyc2lvbiBhbmQgaGFzaGVzIG9mIHRoZSBwYWNrYWdlIGxvY2stZmlsZSBhbmQgY3VycmVudFxuICAgKiBwcm9qZWN0IGNvbmZpZy4gVGhlc2Ugd2lsbCBiZSB1c2VkIHRvIGNoZWNrIHdoZXRoZXIgdGhlIG1hbmlmZXN0IGZpbGUgaXMgb3V0IG9mIGRhdGUuIFNlZVxuICAgKiBgcmVhZEVudHJ5UG9pbnRzVXNpbmdNYW5pZmVzdCgpYC5cbiAgICpcbiAgICogQHBhcmFtIGJhc2VQYXRoIFRoZSBwYXRoIHdoZXJlIHRoZSBtYW5pZmVzdCBmaWxlIGlzIHRvIGJlIHdyaXR0ZW4uXG4gICAqIEBwYXJhbSBlbnRyeVBvaW50cyBBIGNvbGxlY3Rpb24gb2YgZW50cnktcG9pbnRzIHRvIHJlY29yZCBpbiB0aGUgbWFuaWZlc3QuXG4gICAqL1xuICB3cml0ZUVudHJ5UG9pbnRNYW5pZmVzdChiYXNlUGF0aDogQWJzb2x1dGVGc1BhdGgsIGVudHJ5UG9pbnRzOiBFbnRyeVBvaW50V2l0aERlcGVuZGVuY2llc1tdKTpcbiAgICAgIHZvaWQge1xuICAgIGlmICh0aGlzLmZzLmJhc2VuYW1lKGJhc2VQYXRoKSAhPT0gJ25vZGVfbW9kdWxlcycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsb2NrRmlsZUhhc2ggPSB0aGlzLmNvbXB1dGVMb2NrRmlsZUhhc2goYmFzZVBhdGgpO1xuICAgIGlmIChsb2NrRmlsZUhhc2ggPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgbWFuaWZlc3Q6IEVudHJ5UG9pbnRNYW5pZmVzdEZpbGUgPSB7XG4gICAgICBuZ2NjVmVyc2lvbjogTkdDQ19WRVJTSU9OLFxuICAgICAgY29uZmlnRmlsZUhhc2g6IHRoaXMuY29uZmlnLmhhc2gsXG4gICAgICBsb2NrRmlsZUhhc2g6IGxvY2tGaWxlSGFzaCxcbiAgICAgIGVudHJ5UG9pbnRQYXRoczogZW50cnlQb2ludHMubWFwKGUgPT4ge1xuICAgICAgICBjb25zdCBlbnRyeVBvaW50UGF0aHM6IEVudHJ5UG9pbnRQYXRocyA9IFtcbiAgICAgICAgICB0aGlzLmZzLnJlbGF0aXZlKGJhc2VQYXRoLCBlLmVudHJ5UG9pbnQucGFja2FnZVBhdGgpLFxuICAgICAgICAgIHRoaXMuZnMucmVsYXRpdmUoYmFzZVBhdGgsIGUuZW50cnlQb2ludC5wYXRoKSxcbiAgICAgICAgXTtcbiAgICAgICAgLy8gT25seSBhZGQgZGVwSW5mbyBhcnJheXMgaWYgbmVlZGVkLlxuICAgICAgICBpZiAoZS5kZXBJbmZvLmRlcGVuZGVuY2llcy5zaXplID4gMCkge1xuICAgICAgICAgIGVudHJ5UG9pbnRQYXRoc1syXSA9IEFycmF5LmZyb20oZS5kZXBJbmZvLmRlcGVuZGVuY2llcyk7XG4gICAgICAgIH0gZWxzZSBpZiAoZS5kZXBJbmZvLm1pc3Npbmcuc2l6ZSA+IDAgfHwgZS5kZXBJbmZvLmRlZXBJbXBvcnRzLnNpemUgPiAwKSB7XG4gICAgICAgICAgZW50cnlQb2ludFBhdGhzWzJdID0gW107XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGUuZGVwSW5mby5taXNzaW5nLnNpemUgPiAwKSB7XG4gICAgICAgICAgZW50cnlQb2ludFBhdGhzWzNdID0gQXJyYXkuZnJvbShlLmRlcEluZm8ubWlzc2luZyk7XG4gICAgICAgIH0gZWxzZSBpZiAoZS5kZXBJbmZvLmRlZXBJbXBvcnRzLnNpemUgPiAwKSB7XG4gICAgICAgICAgZW50cnlQb2ludFBhdGhzWzNdID0gW107XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGUuZGVwSW5mby5kZWVwSW1wb3J0cy5zaXplID4gMCkge1xuICAgICAgICAgIGVudHJ5UG9pbnRQYXRoc1s0XSA9IEFycmF5LmZyb20oZS5kZXBJbmZvLmRlZXBJbXBvcnRzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZW50cnlQb2ludFBhdGhzO1xuICAgICAgfSksXG4gICAgfTtcbiAgICB0aGlzLmZzLndyaXRlRmlsZSh0aGlzLmdldEVudHJ5UG9pbnRNYW5pZmVzdFBhdGgoYmFzZVBhdGgpLCBKU09OLnN0cmluZ2lmeShtYW5pZmVzdCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFbnRyeVBvaW50TWFuaWZlc3RQYXRoKGJhc2VQYXRoOiBBYnNvbHV0ZUZzUGF0aCkge1xuICAgIHJldHVybiB0aGlzLmZzLnJlc29sdmUoYmFzZVBhdGgsICdfX25nY2NfZW50cnlfcG9pbnRzX18uanNvbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wdXRlTG9ja0ZpbGVIYXNoKGJhc2VQYXRoOiBBYnNvbHV0ZUZzUGF0aCk6IHN0cmluZ3xudWxsIHtcbiAgICBjb25zdCBkaXJlY3RvcnkgPSB0aGlzLmZzLmRpcm5hbWUoYmFzZVBhdGgpO1xuICAgIGZvciAoY29uc3QgbG9ja0ZpbGVOYW1lIG9mIFsneWFybi5sb2NrJywgJ3BhY2thZ2UtbG9jay5qc29uJ10pIHtcbiAgICAgIGNvbnN0IGxvY2tGaWxlUGF0aCA9IHRoaXMuZnMucmVzb2x2ZShkaXJlY3RvcnksIGxvY2tGaWxlTmFtZSk7XG4gICAgICBpZiAodGhpcy5mcy5leGlzdHMobG9ja0ZpbGVQYXRoKSkge1xuICAgICAgICBjb25zdCBsb2NrRmlsZUNvbnRlbnRzID0gdGhpcy5mcy5yZWFkRmlsZShsb2NrRmlsZVBhdGgpO1xuICAgICAgICByZXR1cm4gY3JlYXRlSGFzaCh0aGlzLmNvbmZpZy5oYXNoQWxnb3JpdGhtKS51cGRhdGUobG9ja0ZpbGVDb250ZW50cykuZGlnZXN0KCdoZXgnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuLyoqXG4gKiBBIHNwZWNpYWxpemVkIGltcGxlbWVudGF0aW9uIG9mIHRoZSBgRW50cnlQb2ludE1hbmlmZXN0YCB0aGF0IGNhbiBiZSB1c2VkIHRvIGludmFsaWRhdGUgdGhlXG4gKiBjdXJyZW50IG1hbmlmZXN0IGZpbGUuXG4gKlxuICogSXQgYWx3YXlzIHJldHVybnMgYG51bGxgIGZyb20gdGhlIGByZWFkRW50cnlQb2ludHNVc2luZ01hbmlmZXN0KClgIG1ldGhvZCwgd2hpY2ggZm9yY2VzIGEgbmV3XG4gKiBtYW5pZmVzdCB0byBiZSBjcmVhdGVkLCB3aGljaCB3aWxsIG92ZXJ3cml0ZSB0aGUgY3VycmVudCBmaWxlIHdoZW4gYHdyaXRlRW50cnlQb2ludE1hbmlmZXN0KClgXG4gKiBpcyBjYWxsZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbnZhbGlkYXRpbmdFbnRyeVBvaW50TWFuaWZlc3QgZXh0ZW5kcyBFbnRyeVBvaW50TWFuaWZlc3Qge1xuICBvdmVycmlkZSByZWFkRW50cnlQb2ludHNVc2luZ01hbmlmZXN0KF9iYXNlUGF0aDogQWJzb2x1dGVGc1BhdGgpOlxuICAgICAgRW50cnlQb2ludFdpdGhEZXBlbmRlbmNpZXNbXXxudWxsIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBFbnRyeVBvaW50UGF0aHMgPSBbXG4gIHN0cmluZyxcbiAgc3RyaW5nLFxuICBBcnJheTxBYnNvbHV0ZUZzUGF0aD4/LFxuICBBcnJheTxBYnNvbHV0ZUZzUGF0aHxQYXRoU2VnbWVudD4/LFxuICBBcnJheTxBYnNvbHV0ZUZzUGF0aD4/LFxuXTtcblxuLyoqXG4gKiBUaGUgSlNPTiBmb3JtYXQgb2YgdGhlIG1hbmlmZXN0IGZpbGUgdGhhdCBpcyB3cml0dGVuIHRvIGRpc2suXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW50cnlQb2ludE1hbmlmZXN0RmlsZSB7XG4gIG5nY2NWZXJzaW9uOiBzdHJpbmc7XG4gIGNvbmZpZ0ZpbGVIYXNoOiBzdHJpbmc7XG4gIGxvY2tGaWxlSGFzaDogc3RyaW5nO1xuICBlbnRyeVBvaW50UGF0aHM6IEVudHJ5UG9pbnRQYXRoc1tdO1xufVxuXG5cbi8qKiBUaGUgSlNPTiBmb3JtYXQgb2YgdGhlIGVudHJ5cG9pbnQgcHJvcGVydGllcy4gKi9cbmV4cG9ydCB0eXBlIE5ld0VudHJ5UG9pbnRQcm9wZXJ0aWVzTWFwID0ge1xuICBbUHJvcGVydHkgaW4gUGFja2FnZUpzb25Gb3JtYXRQcm9wZXJ0aWVzIGFzIGAke1Byb3BlcnR5fV9pdnlfbmdjY2BdPzogc3RyaW5nO1xufTtcbiJdfQ==
@@ -1,101 +0,0 @@
1
- (function (factory) {
2
- if (typeof module === "object" && typeof module.exports === "object") {
3
- var v = factory(require, exports);
4
- if (v !== undefined) module.exports = v;
5
- }
6
- else if (typeof define === "function" && define.amd) {
7
- define("@angular/compiler-cli/ngcc/src/packages/ngcc_compiler_host", ["require", "exports", "tslib", "typescript", "@angular/compiler-cli/src/ngtsc/file_system", "@angular/compiler-cli/ngcc/src/analysis/util", "@angular/compiler-cli/ngcc/src/utils"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.NgccDtsCompilerHost = exports.NgccSourcesCompilerHost = void 0;
13
- var tslib_1 = require("tslib");
14
- /**
15
- * @license
16
- * Copyright Google LLC All Rights Reserved.
17
- *
18
- * Use of this source code is governed by an MIT-style license that can be
19
- * found in the LICENSE file at https://angular.io/license
20
- */
21
- var ts = require("typescript");
22
- var file_system_1 = require("@angular/compiler-cli/src/ngtsc/file_system");
23
- var util_1 = require("@angular/compiler-cli/ngcc/src/analysis/util");
24
- var utils_1 = require("@angular/compiler-cli/ngcc/src/utils");
25
- /**
26
- * Represents a compiler host that resolves a module import as a JavaScript source file if
27
- * available, instead of the .d.ts typings file that would have been resolved by TypeScript. This
28
- * is necessary for packages that have their typings in the same directory as the sources, which
29
- * would otherwise let TypeScript prefer the .d.ts file instead of the JavaScript source file.
30
- */
31
- var NgccSourcesCompilerHost = /** @class */ (function (_super) {
32
- tslib_1.__extends(NgccSourcesCompilerHost, _super);
33
- function NgccSourcesCompilerHost(fs, options, cache, moduleResolutionCache, packagePath) {
34
- var _this = _super.call(this, fs, options) || this;
35
- _this.cache = cache;
36
- _this.moduleResolutionCache = moduleResolutionCache;
37
- _this.packagePath = packagePath;
38
- return _this;
39
- }
40
- NgccSourcesCompilerHost.prototype.getSourceFile = function (fileName, languageVersion) {
41
- return this.cache.getCachedSourceFile(fileName, languageVersion);
42
- };
43
- NgccSourcesCompilerHost.prototype.resolveModuleNames = function (moduleNames, containingFile, reusedNames, redirectedReference) {
44
- var _this = this;
45
- return moduleNames.map(function (moduleName) {
46
- var resolvedModule = ts.resolveModuleName(moduleName, containingFile, _this.options, _this, _this.moduleResolutionCache, redirectedReference).resolvedModule;
47
- // If the module request originated from a relative import in a JavaScript source file,
48
- // TypeScript may have resolved the module to its .d.ts declaration file if the .js source
49
- // file was in the same directory. This is undesirable, as we need to have the actual
50
- // JavaScript being present in the program. This logic recognizes this scenario and rewrites
51
- // the resolved .d.ts declaration file to its .js counterpart, if it exists.
52
- if ((resolvedModule === null || resolvedModule === void 0 ? void 0 : resolvedModule.extension) === ts.Extension.Dts && containingFile.endsWith('.js') &&
53
- utils_1.isRelativePath(moduleName)) {
54
- var jsFile = resolvedModule.resolvedFileName.replace(/\.d\.ts$/, '.js');
55
- if (_this.fileExists(jsFile)) {
56
- return tslib_1.__assign(tslib_1.__assign({}, resolvedModule), { resolvedFileName: jsFile, extension: ts.Extension.Js });
57
- }
58
- }
59
- // Prevent loading JavaScript source files outside of the package root, which would happen for
60
- // packages that don't have .d.ts files. As ngcc should only operate on the .js files
61
- // contained within the package, any files outside the package are simply discarded. This does
62
- // result in a partial program with error diagnostics, however ngcc won't gather diagnostics
63
- // for the program it creates so these diagnostics won't be reported.
64
- if ((resolvedModule === null || resolvedModule === void 0 ? void 0 : resolvedModule.extension) === ts.Extension.Js &&
65
- !util_1.isWithinPackage(_this.packagePath, _this.fs.resolve(resolvedModule.resolvedFileName))) {
66
- return undefined;
67
- }
68
- return resolvedModule;
69
- });
70
- };
71
- return NgccSourcesCompilerHost;
72
- }(file_system_1.NgtscCompilerHost));
73
- exports.NgccSourcesCompilerHost = NgccSourcesCompilerHost;
74
- /**
75
- * A compiler host implementation that is used for the typings program. It leverages the entry-point
76
- * cache for source files and module resolution, as these results can be reused across the sources
77
- * program.
78
- */
79
- var NgccDtsCompilerHost = /** @class */ (function (_super) {
80
- tslib_1.__extends(NgccDtsCompilerHost, _super);
81
- function NgccDtsCompilerHost(fs, options, cache, moduleResolutionCache) {
82
- var _this = _super.call(this, fs, options) || this;
83
- _this.cache = cache;
84
- _this.moduleResolutionCache = moduleResolutionCache;
85
- return _this;
86
- }
87
- NgccDtsCompilerHost.prototype.getSourceFile = function (fileName, languageVersion) {
88
- return this.cache.getCachedSourceFile(fileName, languageVersion);
89
- };
90
- NgccDtsCompilerHost.prototype.resolveModuleNames = function (moduleNames, containingFile, reusedNames, redirectedReference) {
91
- var _this = this;
92
- return moduleNames.map(function (moduleName) {
93
- var resolvedModule = ts.resolveModuleName(moduleName, containingFile, _this.options, _this, _this.moduleResolutionCache, redirectedReference).resolvedModule;
94
- return resolvedModule;
95
- });
96
- };
97
- return NgccDtsCompilerHost;
98
- }(file_system_1.NgtscCompilerHost));
99
- exports.NgccDtsCompilerHost = NgccDtsCompilerHost;
100
- });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdjY19jb21waWxlcl9ob3N0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL25nY2Mvc3JjL3BhY2thZ2VzL25nY2NfY29tcGlsZXJfaG9zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0lBQUE7Ozs7OztPQU1HO0lBQ0gsK0JBQWlDO0lBRWpDLDJFQUE2RjtJQUM3RixxRUFBaUQ7SUFDakQsOERBQXdDO0lBR3hDOzs7OztPQUtHO0lBQ0g7UUFBNkMsbURBQWlCO1FBQzVELGlDQUNJLEVBQWMsRUFBRSxPQUEyQixFQUFVLEtBQTBCLEVBQ3ZFLHFCQUErQyxFQUM3QyxXQUEyQjtZQUh6QyxZQUlFLGtCQUFNLEVBQUUsRUFBRSxPQUFPLENBQUMsU0FDbkI7WUFKd0QsV0FBSyxHQUFMLEtBQUssQ0FBcUI7WUFDdkUsMkJBQXFCLEdBQXJCLHFCQUFxQixDQUEwQjtZQUM3QyxpQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7O1FBRXpDLENBQUM7UUFFUSwrQ0FBYSxHQUF0QixVQUF1QixRQUFnQixFQUFFLGVBQWdDO1lBRXZFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDbkUsQ0FBQztRQUVELG9EQUFrQixHQUFsQixVQUNJLFdBQXFCLEVBQUUsY0FBc0IsRUFBRSxXQUFzQixFQUNyRSxtQkFBaUQ7WUFGckQsaUJBaUNDO1lBOUJDLE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFBLFVBQVU7Z0JBQ3hCLElBQUEsY0FBYyxHQUFJLEVBQUUsQ0FBQyxpQkFBaUIsQ0FDekMsVUFBVSxFQUFFLGNBQWMsRUFBRSxLQUFJLENBQUMsT0FBTyxFQUFFLEtBQUksRUFBRSxLQUFJLENBQUMscUJBQXFCLEVBQzFFLG1CQUFtQixDQUFDLGVBRkgsQ0FFSTtnQkFFekIsdUZBQXVGO2dCQUN2RiwwRkFBMEY7Z0JBQzFGLHFGQUFxRjtnQkFDckYsNEZBQTRGO2dCQUM1Riw0RUFBNEU7Z0JBQzVFLElBQUksQ0FBQSxjQUFjLGFBQWQsY0FBYyx1QkFBZCxjQUFjLENBQUUsU0FBUyxNQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO29CQUNoRixzQkFBYyxDQUFDLFVBQVUsQ0FBQyxFQUFFO29CQUM5QixJQUFNLE1BQU0sR0FBRyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDMUUsSUFBSSxLQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFO3dCQUMzQiw2Q0FBVyxjQUFjLEtBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBRTtxQkFDbEY7aUJBQ0Y7Z0JBRUQsOEZBQThGO2dCQUM5RixxRkFBcUY7Z0JBQ3JGLDhGQUE4RjtnQkFDOUYsNEZBQTRGO2dCQUM1RixxRUFBcUU7Z0JBQ3JFLElBQUksQ0FBQSxjQUFjLGFBQWQsY0FBYyx1QkFBZCxjQUFjLENBQUUsU0FBUyxNQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRTtvQkFDN0MsQ0FBQyxzQkFBZSxDQUFDLEtBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQUMsRUFBRTtvQkFDeEYsT0FBTyxTQUFTLENBQUM7aUJBQ2xCO2dCQUVELE9BQU8sY0FBYyxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNILDhCQUFDO0lBQUQsQ0FBQyxBQS9DRCxDQUE2QywrQkFBaUIsR0ErQzdEO0lBL0NZLDBEQUF1QjtJQWlEcEM7Ozs7T0FJRztJQUNIO1FBQXlDLCtDQUFpQjtRQUN4RCw2QkFDSSxFQUFjLEVBQUUsT0FBMkIsRUFBVSxLQUEwQixFQUN2RSxxQkFBK0M7WUFGM0QsWUFHRSxrQkFBTSxFQUFFLEVBQUUsT0FBTyxDQUFDLFNBQ25CO1lBSHdELFdBQUssR0FBTCxLQUFLLENBQXFCO1lBQ3ZFLDJCQUFxQixHQUFyQixxQkFBcUIsQ0FBMEI7O1FBRTNELENBQUM7UUFFUSwyQ0FBYSxHQUF0QixVQUF1QixRQUFnQixFQUFFLGVBQWdDO1lBRXZFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDbkUsQ0FBQztRQUVELGdEQUFrQixHQUFsQixVQUNJLFdBQXFCLEVBQUUsY0FBc0IsRUFBRSxXQUFzQixFQUNyRSxtQkFBaUQ7WUFGckQsaUJBU0M7WUFOQyxPQUFPLFdBQVcsQ0FBQyxHQUFHLENBQUMsVUFBQSxVQUFVO2dCQUN4QixJQUFBLGNBQWMsR0FBSSxFQUFFLENBQUMsaUJBQWlCLENBQ3pDLFVBQVUsRUFBRSxjQUFjLEVBQUUsS0FBSSxDQUFDLE9BQU8sRUFBRSxLQUFJLEVBQUUsS0FBSSxDQUFDLHFCQUFxQixFQUMxRSxtQkFBbUIsQ0FBQyxlQUZILENBRUk7Z0JBQ3pCLE9BQU8sY0FBYyxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNILDBCQUFDO0lBQUQsQ0FBQyxBQXRCRCxDQUF5QywrQkFBaUIsR0FzQnpEO0lBdEJZLGtEQUFtQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7QWJzb2x1dGVGc1BhdGgsIEZpbGVTeXN0ZW0sIE5ndHNjQ29tcGlsZXJIb3N0fSBmcm9tICcuLi8uLi8uLi9zcmMvbmd0c2MvZmlsZV9zeXN0ZW0nO1xuaW1wb3J0IHtpc1dpdGhpblBhY2thZ2V9IGZyb20gJy4uL2FuYWx5c2lzL3V0aWwnO1xuaW1wb3J0IHtpc1JlbGF0aXZlUGF0aH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHtFbnRyeVBvaW50RmlsZUNhY2hlfSBmcm9tICcuL3NvdXJjZV9maWxlX2NhY2hlJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgY29tcGlsZXIgaG9zdCB0aGF0IHJlc29sdmVzIGEgbW9kdWxlIGltcG9ydCBhcyBhIEphdmFTY3JpcHQgc291cmNlIGZpbGUgaWZcbiAqIGF2YWlsYWJsZSwgaW5zdGVhZCBvZiB0aGUgLmQudHMgdHlwaW5ncyBmaWxlIHRoYXQgd291bGQgaGF2ZSBiZWVuIHJlc29sdmVkIGJ5IFR5cGVTY3JpcHQuIFRoaXNcbiAqIGlzIG5lY2Vzc2FyeSBmb3IgcGFja2FnZXMgdGhhdCBoYXZlIHRoZWlyIHR5cGluZ3MgaW4gdGhlIHNhbWUgZGlyZWN0b3J5IGFzIHRoZSBzb3VyY2VzLCB3aGljaFxuICogd291bGQgb3RoZXJ3aXNlIGxldCBUeXBlU2NyaXB0IHByZWZlciB0aGUgLmQudHMgZmlsZSBpbnN0ZWFkIG9mIHRoZSBKYXZhU2NyaXB0IHNvdXJjZSBmaWxlLlxuICovXG5leHBvcnQgY2xhc3MgTmdjY1NvdXJjZXNDb21waWxlckhvc3QgZXh0ZW5kcyBOZ3RzY0NvbXBpbGVySG9zdCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgICAgZnM6IEZpbGVTeXN0ZW0sIG9wdGlvbnM6IHRzLkNvbXBpbGVyT3B0aW9ucywgcHJpdmF0ZSBjYWNoZTogRW50cnlQb2ludEZpbGVDYWNoZSxcbiAgICAgIHByaXZhdGUgbW9kdWxlUmVzb2x1dGlvbkNhY2hlOiB0cy5Nb2R1bGVSZXNvbHV0aW9uQ2FjaGUsXG4gICAgICBwcm90ZWN0ZWQgcGFja2FnZVBhdGg6IEFic29sdXRlRnNQYXRoKSB7XG4gICAgc3VwZXIoZnMsIG9wdGlvbnMpO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0U291cmNlRmlsZShmaWxlTmFtZTogc3RyaW5nLCBsYW5ndWFnZVZlcnNpb246IHRzLlNjcmlwdFRhcmdldCk6IHRzLlNvdXJjZUZpbGVcbiAgICAgIHx1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmNhY2hlLmdldENhY2hlZFNvdXJjZUZpbGUoZmlsZU5hbWUsIGxhbmd1YWdlVmVyc2lvbik7XG4gIH1cblxuICByZXNvbHZlTW9kdWxlTmFtZXMoXG4gICAgICBtb2R1bGVOYW1lczogc3RyaW5nW10sIGNvbnRhaW5pbmdGaWxlOiBzdHJpbmcsIHJldXNlZE5hbWVzPzogc3RyaW5nW10sXG4gICAgICByZWRpcmVjdGVkUmVmZXJlbmNlPzogdHMuUmVzb2x2ZWRQcm9qZWN0UmVmZXJlbmNlKTogQXJyYXk8dHMuUmVzb2x2ZWRNb2R1bGV8dW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIG1vZHVsZU5hbWVzLm1hcChtb2R1bGVOYW1lID0+IHtcbiAgICAgIGNvbnN0IHtyZXNvbHZlZE1vZHVsZX0gPSB0cy5yZXNvbHZlTW9kdWxlTmFtZShcbiAgICAgICAgICBtb2R1bGVOYW1lLCBjb250YWluaW5nRmlsZSwgdGhpcy5vcHRpb25zLCB0aGlzLCB0aGlzLm1vZHVsZVJlc29sdXRpb25DYWNoZSxcbiAgICAgICAgICByZWRpcmVjdGVkUmVmZXJlbmNlKTtcblxuICAgICAgLy8gSWYgdGhlIG1vZHVsZSByZXF1ZXN0IG9yaWdpbmF0ZWQgZnJvbSBhIHJlbGF0aXZlIGltcG9ydCBpbiBhIEphdmFTY3JpcHQgc291cmNlIGZpbGUsXG4gICAgICAvLyBUeXBlU2NyaXB0IG1heSBoYXZlIHJlc29sdmVkIHRoZSBtb2R1bGUgdG8gaXRzIC5kLnRzIGRlY2xhcmF0aW9uIGZpbGUgaWYgdGhlIC5qcyBzb3VyY2VcbiAgICAgIC8vIGZpbGUgd2FzIGluIHRoZSBzYW1lIGRpcmVjdG9yeS4gVGhpcyBpcyB1bmRlc2lyYWJsZSwgYXMgd2UgbmVlZCB0byBoYXZlIHRoZSBhY3R1YWxcbiAgICAgIC8vIEphdmFTY3JpcHQgYmVpbmcgcHJlc2VudCBpbiB0aGUgcHJvZ3JhbS4gVGhpcyBsb2dpYyByZWNvZ25pemVzIHRoaXMgc2NlbmFyaW8gYW5kIHJld3JpdGVzXG4gICAgICAvLyB0aGUgcmVzb2x2ZWQgLmQudHMgZGVjbGFyYXRpb24gZmlsZSB0byBpdHMgLmpzIGNvdW50ZXJwYXJ0LCBpZiBpdCBleGlzdHMuXG4gICAgICBpZiAocmVzb2x2ZWRNb2R1bGU/LmV4dGVuc2lvbiA9PT0gdHMuRXh0ZW5zaW9uLkR0cyAmJiBjb250YWluaW5nRmlsZS5lbmRzV2l0aCgnLmpzJykgJiZcbiAgICAgICAgICBpc1JlbGF0aXZlUGF0aChtb2R1bGVOYW1lKSkge1xuICAgICAgICBjb25zdCBqc0ZpbGUgPSByZXNvbHZlZE1vZHVsZS5yZXNvbHZlZEZpbGVOYW1lLnJlcGxhY2UoL1xcLmRcXC50cyQvLCAnLmpzJyk7XG4gICAgICAgIGlmICh0aGlzLmZpbGVFeGlzdHMoanNGaWxlKSkge1xuICAgICAgICAgIHJldHVybiB7Li4ucmVzb2x2ZWRNb2R1bGUsIHJlc29sdmVkRmlsZU5hbWU6IGpzRmlsZSwgZXh0ZW5zaW9uOiB0cy5FeHRlbnNpb24uSnN9O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFByZXZlbnQgbG9hZGluZyBKYXZhU2NyaXB0IHNvdXJjZSBmaWxlcyBvdXRzaWRlIG9mIHRoZSBwYWNrYWdlIHJvb3QsIHdoaWNoIHdvdWxkIGhhcHBlbiBmb3JcbiAgICAgIC8vIHBhY2thZ2VzIHRoYXQgZG9uJ3QgaGF2ZSAuZC50cyBmaWxlcy4gQXMgbmdjYyBzaG91bGQgb25seSBvcGVyYXRlIG9uIHRoZSAuanMgZmlsZXNcbiAgICAgIC8vIGNvbnRhaW5lZCB3aXRoaW4gdGhlIHBhY2thZ2UsIGFueSBmaWxlcyBvdXRzaWRlIHRoZSBwYWNrYWdlIGFyZSBzaW1wbHkgZGlzY2FyZGVkLiBUaGlzIGRvZXNcbiAgICAgIC8vIHJlc3VsdCBpbiBhIHBhcnRpYWwgcHJvZ3JhbSB3aXRoIGVycm9yIGRpYWdub3N0aWNzLCBob3dldmVyIG5nY2Mgd29uJ3QgZ2F0aGVyIGRpYWdub3N0aWNzXG4gICAgICAvLyBmb3IgdGhlIHByb2dyYW0gaXQgY3JlYXRlcyBzbyB0aGVzZSBkaWFnbm9zdGljcyB3b24ndCBiZSByZXBvcnRlZC5cbiAgICAgIGlmIChyZXNvbHZlZE1vZHVsZT8uZXh0ZW5zaW9uID09PSB0cy5FeHRlbnNpb24uSnMgJiZcbiAgICAgICAgICAhaXNXaXRoaW5QYWNrYWdlKHRoaXMucGFja2FnZVBhdGgsIHRoaXMuZnMucmVzb2x2ZShyZXNvbHZlZE1vZHVsZS5yZXNvbHZlZEZpbGVOYW1lKSkpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc29sdmVkTW9kdWxlO1xuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogQSBjb21waWxlciBob3N0IGltcGxlbWVudGF0aW9uIHRoYXQgaXMgdXNlZCBmb3IgdGhlIHR5cGluZ3MgcHJvZ3JhbS4gSXQgbGV2ZXJhZ2VzIHRoZSBlbnRyeS1wb2ludFxuICogY2FjaGUgZm9yIHNvdXJjZSBmaWxlcyBhbmQgbW9kdWxlIHJlc29sdXRpb24sIGFzIHRoZXNlIHJlc3VsdHMgY2FuIGJlIHJldXNlZCBhY3Jvc3MgdGhlIHNvdXJjZXNcbiAqIHByb2dyYW0uXG4gKi9cbmV4cG9ydCBjbGFzcyBOZ2NjRHRzQ29tcGlsZXJIb3N0IGV4dGVuZHMgTmd0c2NDb21waWxlckhvc3Qge1xuICBjb25zdHJ1Y3RvcihcbiAgICAgIGZzOiBGaWxlU3lzdGVtLCBvcHRpb25zOiB0cy5Db21waWxlck9wdGlvbnMsIHByaXZhdGUgY2FjaGU6IEVudHJ5UG9pbnRGaWxlQ2FjaGUsXG4gICAgICBwcml2YXRlIG1vZHVsZVJlc29sdXRpb25DYWNoZTogdHMuTW9kdWxlUmVzb2x1dGlvbkNhY2hlKSB7XG4gICAgc3VwZXIoZnMsIG9wdGlvbnMpO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0U291cmNlRmlsZShmaWxlTmFtZTogc3RyaW5nLCBsYW5ndWFnZVZlcnNpb246IHRzLlNjcmlwdFRhcmdldCk6IHRzLlNvdXJjZUZpbGVcbiAgICAgIHx1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmNhY2hlLmdldENhY2hlZFNvdXJjZUZpbGUoZmlsZU5hbWUsIGxhbmd1YWdlVmVyc2lvbik7XG4gIH1cblxuICByZXNvbHZlTW9kdWxlTmFtZXMoXG4gICAgICBtb2R1bGVOYW1lczogc3RyaW5nW10sIGNvbnRhaW5pbmdGaWxlOiBzdHJpbmcsIHJldXNlZE5hbWVzPzogc3RyaW5nW10sXG4gICAgICByZWRpcmVjdGVkUmVmZXJlbmNlPzogdHMuUmVzb2x2ZWRQcm9qZWN0UmVmZXJlbmNlKTogQXJyYXk8dHMuUmVzb2x2ZWRNb2R1bGV8dW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIG1vZHVsZU5hbWVzLm1hcChtb2R1bGVOYW1lID0+IHtcbiAgICAgIGNvbnN0IHtyZXNvbHZlZE1vZHVsZX0gPSB0cy5yZXNvbHZlTW9kdWxlTmFtZShcbiAgICAgICAgICBtb2R1bGVOYW1lLCBjb250YWluaW5nRmlsZSwgdGhpcy5vcHRpb25zLCB0aGlzLCB0aGlzLm1vZHVsZVJlc29sdXRpb25DYWNoZSxcbiAgICAgICAgICByZWRpcmVjdGVkUmVmZXJlbmNlKTtcbiAgICAgIHJldHVybiByZXNvbHZlZE1vZHVsZTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,174 +0,0 @@
1
- (function (factory) {
2
- if (typeof module === "object" && typeof module.exports === "object") {
3
- var v = factory(require, exports);
4
- if (v !== undefined) module.exports = v;
5
- }
6
- else if (typeof define === "function" && define.amd) {
7
- define("@angular/compiler-cli/ngcc/src/packages/patch_ts_expando_initializer", ["require", "exports", "typescript", "@angular/compiler-cli/ngcc/src/utils"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.restoreGetExpandoInitializer = exports.patchTsGetExpandoInitializer = void 0;
13
- /**
14
- * @license
15
- * Copyright Google LLC All Rights Reserved.
16
- *
17
- * Use of this source code is governed by an MIT-style license that can be
18
- * found in the LICENSE file at https://angular.io/license
19
- */
20
- var ts = require("typescript");
21
- var utils_1 = require("@angular/compiler-cli/ngcc/src/utils");
22
- /**
23
- * Consider the following ES5 code that may have been generated for a class:
24
- *
25
- * ```
26
- * var A = (function(){
27
- * function A() {}
28
- * return A;
29
- * }());
30
- * A.staticProp = true;
31
- * ```
32
- *
33
- * Here, TypeScript marks the symbol for "A" as a so-called "expando symbol", which causes
34
- * "staticProp" to be added as an export of the "A" symbol.
35
- *
36
- * In the example above, symbol "A" has been assigned some flags to indicate that it represents a
37
- * class. Due to this flag, the symbol is considered an expando symbol and as such, "staticProp" is
38
- * stored in `ts.Symbol.exports`.
39
- *
40
- * A problem arises when "A" is not at the top-level, i.e. in UMD bundles. In that case, the symbol
41
- * does not have the flag that marks the symbol as a class. Therefore, TypeScript inspects "A"'s
42
- * initializer expression, which is an IIFE in the above example. Unfortunately however, only IIFEs
43
- * of the form `(function(){})()` qualify as initializer for an "expando symbol"; the slightly
44
- * different form seen in the example above, `(function(){}())`, does not. This prevents the "A"
45
- * symbol from being considered an expando symbol, in turn preventing "staticProp" from being stored
46
- * in `ts.Symbol.exports`.
47
- *
48
- * The logic for identifying symbols as "expando symbols" can be found here:
49
- * https://github.com/microsoft/TypeScript/blob/v3.4.5/src/compiler/binder.ts#L2656-L2685
50
- *
51
- * Notice how the `getExpandoInitializer` function is available on the "ts" namespace in the
52
- * compiled bundle, so we are able to override this function to accommodate for the alternative
53
- * IIFE notation. The original implementation can be found at:
54
- * https://github.com/Microsoft/TypeScript/blob/v3.4.5/src/compiler/utilities.ts#L1864-L1887
55
- *
56
- * Issue tracked in https://github.com/microsoft/TypeScript/issues/31778
57
- *
58
- * @returns the function to pass to `restoreGetExpandoInitializer` to undo the patch, or null if
59
- * the issue is known to have been fixed.
60
- */
61
- function patchTsGetExpandoInitializer() {
62
- if (isTs31778GetExpandoInitializerFixed()) {
63
- return null;
64
- }
65
- var originalGetExpandoInitializer = ts.getExpandoInitializer;
66
- if (originalGetExpandoInitializer === undefined) {
67
- throw makeUnsupportedTypeScriptError();
68
- }
69
- // Override the function to add support for recognizing the IIFE structure used in ES5 bundles.
70
- ts.getExpandoInitializer = function (initializer, isPrototypeAssignment) {
71
- // If the initializer is a call expression within parenthesis, unwrap the parenthesis
72
- // upfront such that unsupported IIFE syntax `(function(){}())` becomes `function(){}()`,
73
- // which is supported.
74
- if (ts.isParenthesizedExpression(initializer) && ts.isCallExpression(initializer.expression)) {
75
- initializer = initializer.expression;
76
- }
77
- return originalGetExpandoInitializer(initializer, isPrototypeAssignment);
78
- };
79
- return originalGetExpandoInitializer;
80
- }
81
- exports.patchTsGetExpandoInitializer = patchTsGetExpandoInitializer;
82
- function restoreGetExpandoInitializer(originalGetExpandoInitializer) {
83
- if (originalGetExpandoInitializer !== null) {
84
- ts.getExpandoInitializer = originalGetExpandoInitializer;
85
- }
86
- }
87
- exports.restoreGetExpandoInitializer = restoreGetExpandoInitializer;
88
- var ts31778FixedResult = null;
89
- function isTs31778GetExpandoInitializerFixed() {
90
- // If the result has already been computed, return early.
91
- if (ts31778FixedResult !== null) {
92
- return ts31778FixedResult;
93
- }
94
- // Determine if the issue has been fixed by checking if an expando property is present in a
95
- // minimum reproduction using unpatched TypeScript.
96
- ts31778FixedResult = checkIfExpandoPropertyIsPresent();
97
- // If the issue does not appear to have been fixed, verify that applying the patch has the desired
98
- // effect.
99
- if (!ts31778FixedResult) {
100
- var originalGetExpandoInitializer = patchTsGetExpandoInitializer();
101
- try {
102
- var patchIsSuccessful = checkIfExpandoPropertyIsPresent();
103
- if (!patchIsSuccessful) {
104
- throw makeUnsupportedTypeScriptError();
105
- }
106
- }
107
- finally {
108
- restoreGetExpandoInitializer(originalGetExpandoInitializer);
109
- }
110
- }
111
- return ts31778FixedResult;
112
- }
113
- /**
114
- * Verifies whether TS issue 31778 has been fixed by inspecting a symbol from a minimum
115
- * reproduction. If the symbol does in fact have the "expando" as export, the issue has been fixed.
116
- *
117
- * See https://github.com/microsoft/TypeScript/issues/31778 for details.
118
- */
119
- function checkIfExpandoPropertyIsPresent() {
120
- var sourceText = "\n (function() {\n var A = (function() {\n function A() {}\n return A;\n }());\n A.expando = true;\n }());";
121
- var sourceFile = ts.createSourceFile('test.js', sourceText, ts.ScriptTarget.ES5, true, ts.ScriptKind.JS);
122
- var host = {
123
- getSourceFile: function () {
124
- return sourceFile;
125
- },
126
- fileExists: function () {
127
- return true;
128
- },
129
- readFile: function () {
130
- return '';
131
- },
132
- writeFile: function () { },
133
- getDefaultLibFileName: function () {
134
- return '';
135
- },
136
- getCurrentDirectory: function () {
137
- return '';
138
- },
139
- getDirectories: function () {
140
- return [];
141
- },
142
- getCanonicalFileName: function (fileName) {
143
- return fileName;
144
- },
145
- useCaseSensitiveFileNames: function () {
146
- return true;
147
- },
148
- getNewLine: function () {
149
- return '\n';
150
- },
151
- };
152
- var options = { noResolve: true, noLib: true, noEmit: true, allowJs: true };
153
- var program = ts.createProgram(['test.js'], options, host);
154
- function visitor(node) {
155
- if (ts.isVariableDeclaration(node) && utils_1.hasNameIdentifier(node) && node.name.text === 'A') {
156
- return node;
157
- }
158
- return ts.forEachChild(node, visitor);
159
- }
160
- var declaration = ts.forEachChild(sourceFile, visitor);
161
- if (declaration === undefined) {
162
- throw new Error('Unable to find declaration of outer A');
163
- }
164
- var symbol = program.getTypeChecker().getSymbolAtLocation(declaration.name);
165
- if (symbol === undefined) {
166
- throw new Error('Unable to resolve symbol of outer A');
167
- }
168
- return symbol.exports !== undefined && symbol.exports.has('expando');
169
- }
170
- function makeUnsupportedTypeScriptError() {
171
- return new Error('The TypeScript version used is not supported by ngcc.');
172
- }
173
- });
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2hfdHNfZXhwYW5kb19pbml0aWFsaXplci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyLWNsaS9uZ2NjL3NyYy9wYWNrYWdlcy9wYXRjaF90c19leHBhbmRvX2luaXRpYWxpemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUFBOzs7Ozs7T0FNRztJQUNILCtCQUFpQztJQUNqQyw4REFBMkM7SUFFM0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Bc0NHO0lBQ0gsU0FBZ0IsNEJBQTRCO1FBQzFDLElBQUksbUNBQW1DLEVBQUUsRUFBRTtZQUN6QyxPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsSUFBTSw2QkFBNkIsR0FBSSxFQUFVLENBQUMscUJBQXFCLENBQUM7UUFDeEUsSUFBSSw2QkFBNkIsS0FBSyxTQUFTLEVBQUU7WUFDL0MsTUFBTSw4QkFBOEIsRUFBRSxDQUFDO1NBQ3hDO1FBRUQsK0ZBQStGO1FBQzlGLEVBQVUsQ0FBQyxxQkFBcUIsR0FBRyxVQUFDLFdBQW9CLEVBQ3BCLHFCQUE4QjtZQUNqRSxxRkFBcUY7WUFDckYseUZBQXlGO1lBQ3pGLHNCQUFzQjtZQUN0QixJQUFJLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUM1RixXQUFXLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQzthQUN0QztZQUNELE9BQU8sNkJBQTZCLENBQUMsV0FBVyxFQUFFLHFCQUFxQixDQUFDLENBQUM7UUFDM0UsQ0FBQyxDQUFDO1FBQ0YsT0FBTyw2QkFBNkIsQ0FBQztJQUN2QyxDQUFDO0lBdEJELG9FQXNCQztJQUVELFNBQWdCLDRCQUE0QixDQUFDLDZCQUFzQztRQUNqRixJQUFJLDZCQUE2QixLQUFLLElBQUksRUFB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Q0FBdUMsQ0FBQyxDQUFDO1NBQzFEO1FBRUQsSUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5RSxJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUU7WUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1NBQ3hEO1FBQ0QsT0FBTyxNQUFNLENBQUMsT0FBTyxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUF3QixDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVELFNBQVMsOEJBQThCO1FBQ3JDLE9BQU8sSUFBSSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQztJQUM1RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQgKiBhcyB0cyBmcm9tICd0eXBlc2NyaXB0JztcbmltcG9ydCB7aGFzTmFtZUlkZW50aWZpZXJ9IGZyb20gJy4uL3V0aWxzJztcblxuLyoqXG4gKiBDb25zaWRlciB0aGUgZm9sbG93aW5nIEVTNSBjb2RlIHRoYXQgbWF5IGhhdmUgYmVlbiBnZW5lcmF0ZWQgZm9yIGEgY2xhc3M6XG4gKlxuICogYGBgXG4gKiB2YXIgQSA9IChmdW5jdGlvbigpe1xuICogICBmdW5jdGlvbiBBKCkge31cbiAqICAgcmV0dXJuIEE7XG4gKiB9KCkpO1xuICogQS5zdGF0aWNQcm9wID0gdHJ1ZTtcbiAqIGBgYFxuICpcbiAqIEhlcmUsIFR5cGVTY3JpcHQgbWFya3MgdGhlIHN5bWJvbCBmb3IgXCJBXCIgYXMgYSBzby1jYWxsZWQgXCJleHBhbmRvIHN5bWJvbFwiLCB3aGljaCBjYXVzZXNcbiAqIFwic3RhdGljUHJvcFwiIHRvIGJlIGFkZGVkIGFzIGFuIGV4cG9ydCBvZiB0aGUgXCJBXCIgc3ltYm9sLlxuICpcbiAqIEluIHRoZSBleGFtcGxlIGFib3ZlLCBzeW1ib2wgXCJBXCIgaGFzIGJlZW4gYXNzaWduZWQgc29tZSBmbGFncyB0byBpbmRpY2F0ZSB0aGF0IGl0IHJlcHJlc2VudHMgYVxuICogY2xhc3MuIER1ZSB0byB0aGlzIGZsYWcsIHRoZSBzeW1ib2wgaXMgY29uc2lkZXJlZCBhbiBleHBhbmRvIHN5bWJvbCBhbmQgYXMgc3VjaCwgXCJzdGF0aWNQcm9wXCIgaXNcbiAqIHN0b3JlZCBpbiBgdHMuU3ltYm9sLmV4cG9ydHNgLlxuICpcbiAqIEEgcHJvYmxlbSBhcmlzZXMgd2hlbiBcIkFcIiBpcyBub3QgYXQgdGhlIHRvcC1sZXZlbCwgaS5lLiBpbiBVTUQgYnVuZGxlcy4gSW4gdGhhdCBjYXNlLCB0aGUgc3ltYm9sXG4gKiBkb2VzIG5vdCBoYXZlIHRoZSBmbGFnIHRoYXQgbWFya3MgdGhlIHN5bWJvbCBhcyBhIGNsYXNzLiBUaGVyZWZvcmUsIFR5cGVTY3JpcHQgaW5zcGVjdHMgXCJBXCInc1xuICogaW5pdGlhbGl6ZXIgZXhwcmVzc2lvbiwgd2hpY2ggaXMgYW4gSUlGRSBpbiB0aGUgYWJvdmUgZXhhbXBsZS4gVW5mb3J0dW5hdGVseSBob3dldmVyLCBvbmx5IElJRkVzXG4gKiBvZiB0aGUgZm9ybSBgKGZ1bmN0aW9uKCl7fSkoKWAgcXVhbGlmeSBhcyBpbml0aWFsaXplciBmb3IgYW4gXCJleHBhbmRvIHN5bWJvbFwiOyB0aGUgc2xpZ2h0bHlcbiAqIGRpZmZlcmVudCBmb3JtIHNlZW4gaW4gdGhlIGV4YW1wbGUgYWJvdmUsIGAoZnVuY3Rpb24oKXt9KCkpYCwgZG9lcyBub3QuIFRoaXMgcHJldmVudHMgdGhlIFwiQVwiXG4gKiBzeW1ib2wgZnJvbSBiZWluZyBjb25zaWRlcmVkIGFuIGV4cGFuZG8gc3ltYm9sLCBpbiB0dXJuIHByZXZlbnRpbmcgXCJzdGF0aWNQcm9wXCIgZnJvbSBiZWluZyBzdG9yZWRcbiAqIGluIGB0cy5TeW1ib2wuZXhwb3J0c2AuXG4gKlxuICogVGhlIGxvZ2ljIGZvciBpZGVudGlmeWluZyBzeW1ib2xzIGFzIFwiZXhwYW5kbyBzeW1ib2xzXCIgY2FuIGJlIGZvdW5kIGhlcmU6XG4gKiBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQvYmxvYi92My40LjUvc3JjL2NvbXBpbGVyL2JpbmRlci50cyNMMjY1Ni1MMjY4NVxuICpcbiAqIE5vdGljZSBob3cgdGhlIGBnZXRFeHBhbmRvSW5pdGlhbGl6ZXJgIGZ1bmN0aW9uIGlzIGF2YWlsYWJsZSBvbiB0aGUgXCJ0c1wiIG5hbWVzcGFjZSBpbiB0aGVcbiAqIGNvbXBpbGVkIGJ1bmRsZSwgc28gd2UgYXJlIGFibGUgdG8gb3ZlcnJpZGUgdGhpcyBmdW5jdGlvbiB0byBhY2NvbW1vZGF0ZSBmb3IgdGhlIGFsdGVybmF0aXZlXG4gKiBJSUZFIG5vdGF0aW9uLiBUaGUgb3JpZ2luYWwgaW1wbGVtZW50YXRpb24gY2FuIGJlIGZvdW5kIGF0OlxuICogaHR0cHM6Ly9naXRodWIuY29tL01pY3Jvc29mdC9UeXBlU2NyaXB0L2Jsb2IvdjMuNC41L3NyYy9jb21waWxlci91dGlsaXRpZXMudHMjTDE4NjQtTDE4ODdcbiAqXG4gKiBJc3N1ZSB0cmFja2VkIGluIGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvVHlwZVNjcmlwdC9pc3N1ZXMvMzE3NzhcbiAqXG4gKiBAcmV0dXJucyB0aGUgZnVuY3Rpb24gdG8gcGFzcyB0byBgcmVzdG9yZUdldEV4cGFuZG9Jbml0aWFsaXplcmAgdG8gdW5kbyB0aGUgcGF0Y2gsIG9yIG51bGwgaWZcbiAqIHRoZSBpc3N1ZSBpcyBrbm93biB0byBoYXZlIGJlZW4gZml4ZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXRjaFRzR2V0RXhwYW5kb0luaXRpYWxpemVyKCk6IHVua25vd24ge1xuICBpZiAoaXNUczMxNzc4R2V0RXhwYW5kb0luaXRpYWxpemVyRml4ZWQoKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3Qgb3JpZ2luYWxHZXRFeHBhbmRvSW5pdGlhbGl6ZXIgPSAodHMgYXMgYW55KS5nZXRFeHBhbmRvSW5pdGlhbGl6ZXI7XG4gIGlmIChvcmlnaW5hbEdldEV4cGFuZG9Jbml0aWFsaXplciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgbWFrZVVuc3VwcG9ydGVkVHlwZVNjcmlwdEVycm9yKCk7XG4gIH1cblxuICAvLyBPdmVycmlkZSB0aGUgZnVuY3Rpb24gdG8gYWRkIHN1cHBvcnQgZm9yIHJlY29nbml6aW5nIHRoZSBJSUZFIHN0cnVjdHVyZSB1c2VkIGluIEVTNSBidW5kbGVzLlxuICAodHMgYXMgYW55KS5nZXRFeHBhbmRvSW5pdGlhbGl6ZXIgPSAoaW5pdGlhbGl6ZXI6IHRzLk5vZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1Byb3RvdHlwZUFzc2lnbm1lbnQ6IGJvb2xlYW4pOiB0cy5FeHByZXNzaW9ufHVuZGVmaW5lZCA9PiB7XG4gICAgLy8gSWYgdGhlIGluaXRpYWxpemVyIGlzIGEgY2FsbCBleHByZXNzaW9uIHdpdGhpbiBwYXJlbnRoZXNpcywgdW53cmFwIHRoZSBwYXJlbnRoZXNpc1xuICAgIC8vIHVwZnJvbnQgc3VjaCB0aGF0IHVuc3VwcG9ydGVkIElJRkUgc3ludGF4IGAoZnVuY3Rpb24oKXt9KCkpYCBiZWNvbWVzIGBmdW5jdGlvbigpe30oKWAsXG4gICAgLy8gd2hpY2ggaXMgc3VwcG9ydGVkLlxuICAgIGlmICh0cy5pc1BhcmVudGhlc2l6ZWRFeHByZXNzaW9uKGluaXRpYWxpemVyKSAmJiB0cy5pc0NhbGxFeHByZXNzaW9uKGluaXRpYWxpemVyLmV4cHJlc3Npb24pKSB7XG4gICAgICBpbml0aWFsaXplciA9IGluaXRpYWxpemVyLmV4cHJlc3Npb247XG4gICAgfVxuICAgIHJldHVybiBvcmlnaW5hbEdldEV4cGFuZG9Jbml0aWFsaXplcihpbml0aWFsaXplciwgaXNQcm90b3R5cGVBc3NpZ25tZW50KTtcbiAgfTtcbiAgcmV0dXJuIG9yaWdpbmFsR2V0RXhwYW5kb0luaXRpYWxpemVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzdG9yZUdldEV4cGFuZG9Jbml0aWFsaXplcihvcmlnaW5hbEdldEV4cGFuZG9Jbml0aWFsaXplcjogdW5rbm93bik6IHZvaWQge1xuICBpZiAob3JpZ2luYWxHZXRFeHBhbmRvSW5pdGlhbGl6ZXIgIT09IG51bGwpIHtcbiAgICAodHMgYXMgYW55KS5nZXRFeHBhbmRvSW5pdGlhbGl6ZXIgPSBvcmlnaW5hbEdldEV4cGFuZG9Jbml0aWFsaXplcjtcbiAgfVxufVxuXG5sZXQgdHMzMTc3OEZpeGVkUmVzdWx0OiBib29sZWFufG51bGwgPSBudWxsO1xuXG5mdW5jdGlvbiBpc1RzMzE3NzhHZXRFeHBhbmRvSW5pdGlhbGl6ZXJGaXhlZCgpOiBib29sZWFuIHtcbiAgLy8gSWYgdGhlIHJlc3VsdCBoYXMgYWxyZWFkeSBiZWVuIGNvbXB1dGVkLCByZXR1cm4gZWFybHkuXG4gIGlmICh0czMxNzc4Rml4ZWRSZXN1bHQgIT09IG51bGwpIHtcbiAgICByZXR1cm4gdHMzMTc3OEZpeGVkUmVzdWx0O1xuICB9XG5cbiAgLy8gRGV0ZXJtaW5lIGlmIHRoZSBpc3N1ZSBoYXMgYmVlbiBmaXhlZCBieSBjaGVja2luZyBpZiBhbiBleHBhbmRvIHByb3BlcnR5IGlzIHByZXNlbnQgaW4gYVxuICAvLyBtaW5pbXVtIHJlcHJvZHVjdGlvbiB1c2luZyB1bnBhdGNoZWQgVHlwZVNjcmlwdC5cbiAgdHMzMTc3OEZpeGVkUmVzdWx0ID0gY2hlY2tJZkV4cGFuZG9Qcm9wZXJ0eUlzUHJlc2VudCgpO1xuXG4gIC8vIElmIHRoZSBpc3N1ZSBkb2VzIG5vdCBhcHBlYXIgdG8gaGF2ZSBiZWVuIGZpeGVkLCB2ZXJpZnkgdGhhdCBhcHBseWluZyB0aGUgcGF0Y2ggaGFzIHRoZSBkZXNpcmVkXG4gIC8vIGVmZmVjdC5cbiAgaWYgKCF0czMxNzc4Rml4ZWRSZXN1bHQpIHtcbiAgICBjb25zdCBvcmlnaW5hbEdldEV4cGFuZG9Jbml0aWFsaXplciA9IHBhdGNoVHNHZXRFeHBhbmRvSW5pdGlhbGl6ZXIoKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGF0Y2hJc1N1Y2Nlc3NmdWwgPSBjaGVja0lmRXhwYW5kb1Byb3BlcnR5SXNQcmVzZW50KCk7XG4gICAgICBpZiAoIXBhdGNoSXNTdWNjZXNzZnVsKSB7XG4gICAgICAgIHRocm93IG1ha2VVbnN1cHBvcnRlZFR5cGVTY3JpcHRFcnJvcigpO1xuICAgICAgfVxuICAgIH0gZmluYWxseSB7XG4gICAgICByZXN0b3JlR2V0RXhwYW5kb0luaXRpYWxpemVyKG9yaWdpbmFsR2V0RXhwYW5kb0luaXRpYWxpemVyKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdHMzMTc3OEZpeGVkUmVzdWx0O1xufVxuXG4vKipcbiAqIFZlcmlmaWVzIHdoZXRoZXIgVFMgaXNzdWUgMzE3NzggaGFzIGJlZW4gZml4ZWQgYnkgaW5zcGVjdGluZyBhIHN5bWJvbCBmcm9tIGEgbWluaW11bVxuICogcmVwcm9kdWN0aW9uLiBJZiB0aGUgc3ltYm9sIGRvZXMgaW4gZmFjdCBoYXZlIHRoZSBcImV4cGFuZG9cIiBhcyBleHBvcnQsIHRoZSBpc3N1ZSBoYXMgYmVlbiBmaXhlZC5cbiAqXG4gKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC9UeXBlU2NyaXB0L2lzc3Vlcy8zMTc3OCBmb3IgZGV0YWlscy5cbiAqL1xuZnVuY3Rpb24gY2hlY2tJZkV4cGFuZG9Qcm9wZXJ0eUlzUHJlc2VudCgpOiBib29sZWFuIHtcbiAgY29uc3Qgc291cmNlVGV4dCA9IGBcbiAgICAoZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgQSA9IChmdW5jdGlvbigpIHtcbiAgICAgICAgZnVuY3Rpb24gQSgpIHt9XG4gICAgICAgIHJldHVybiBBO1xuICAgICAgfSgpKTtcbiAgICAgIEEuZXhwYW5kbyA9IHRydWU7XG4gICAgfSgpKTtgO1xuICBjb25zdCBzb3VyY2VGaWxlID1cbiAgICAgIHRzLmNyZWF0ZVNvdXJjZUZpbGUoJ3Rlc3QuanMnLCBzb3VyY2VUZXh0LCB0cy5TY3JpcHRUYXJnZXQuRVM1LCB0cnVlLCB0cy5TY3JpcHRLaW5kLkpTKTtcbiAgY29uc3QgaG9zdDogdHMuQ29tcGlsZXJIb3N0ID0ge1xuICAgIGdldFNvdXJjZUZpbGUoKTogdHMuU291cmNlRmlsZSB8XG4gICAgICAgIHVuZGVmaW5lZCB7XG4gICAgICAgICAgcmV0dXJuIHNvdXJjZUZpbGU7XG4gICAgICAgIH0sXG4gICAgZmlsZUV4aXN0cygpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0sXG4gICAgcmVhZEZpbGUoKTogc3RyaW5nIHxcbiAgICAgICAgdW5kZWZpbmVkIHtcbiAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH0sXG4gICAgd3JpdGVGaWxlKCkge30sXG4gICAgZ2V0RGVmYXVsdExpYkZpbGVOYW1lKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfSxcbiAgICBnZXRDdXJyZW50RGlyZWN0b3J5KCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfSxcbiAgICBnZXREaXJlY3RvcmllcygpOiBzdHJpbmdbXSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfSxcbiAgICBnZXRDYW5vbmljYWxGaWxlTmFtZShmaWxlTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiBmaWxlTmFtZTtcbiAgICB9LFxuICAgIHVzZUNhc2VTZW5zaXRpdmVGaWxlTmFtZXMoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9LFxuICAgIGdldE5ld0xpbmUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiAnXFxuJztcbiAgICB9LFxuICB9O1xuICBjb25zdCBvcHRpb25zID0ge25vUmVzb2x2ZTogdHJ1ZSwgbm9MaWI6IHRydWUsIG5vRW1pdDogdHJ1ZSwgYWxsb3dKczogdHJ1ZX07XG4gIGNvbnN0IHByb2dyYW0gPSB0cy5jcmVhdGVQcm9ncmFtKFsndGVzdC5qcyddLCBvcHRpb25zLCBob3N0KTtcblxuICBmdW5jdGlvbiB2aXNpdG9yKG5vZGU6IHRzLk5vZGUpOiB0cy5WYXJpYWJsZURlY2xhcmF0aW9ufHVuZGVmaW5lZCB7XG4gICAgaWYgKHRzLmlzVmFyaWFibGVEZWNsYXJhdGlvbihub2RlKSAmJiBoYXNOYW1lSWRlbnRpZmllcihub2RlKSAmJiBub2RlLm5hbWUudGV4dCA9PT0gJ0EnKSB7XG4gICAgICByZXR1cm4gbm9kZTtcbiAgICB9XG4gICAgcmV0dXJuIHRzLmZvckVhY2hDaGlsZChub2RlLCB2aXNpdG9yKTtcbiAgfVxuXG4gIGNvbnN0IGRlY2xhcmF0aW9uID0gdHMuZm9yRWFjaENoaWxkKHNvdXJjZUZpbGUsIHZpc2l0b3IpO1xuICBpZiAoZGVjbGFyYXRpb24gPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGZpbmQgZGVjbGFyYXRpb24gb2Ygb3V0ZXIgQScpO1xuICB9XG5cbiAgY29uc3Qgc3ltYm9sID0gcHJvZ3JhbS5nZXRUeXBlQ2hlY2tlcigpLmdldFN5bWJvbEF0TG9jYXRpb24oZGVjbGFyYXRpb24ubmFtZSk7XG4gIGlmIChzeW1ib2wgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIHJlc29sdmUgc3ltYm9sIG9mIG91dGVyIEEnKTtcbiAgfVxuICByZXR1cm4gc3ltYm9sLmV4cG9ydHMgIT09IHVuZGVmaW5lZCAmJiBzeW1ib2wuZXhwb3J0cy5oYXMoJ2V4cGFuZG8nIGFzIHRzLl9fU3RyaW5nKTtcbn1cblxuZnVuY3Rpb24gbWFrZVVuc3VwcG9ydGVkVHlwZVNjcmlwdEVycm9yKCk6IEVycm9yIHtcbiAgcmV0dXJuIG5ldyBFcnJvcignVGhlIFR5cGVTY3JpcHQgdmVyc2lvbiB1c2VkIGlzIG5vdCBzdXBwb3J0ZWQgYnkgbmdjYy4nKTtcbn1cbiJdfQ==