@angular/compiler-cli 12.2.0-next.1 → 12.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (467) hide show
  1. package/linker/src/file_linker/emit_scopes/iife_emit_scope.js +1 -1
  2. package/linker/src/file_linker/partial_linkers/partial_linker_selector.js +2 -2
  3. package/ngcc/src/dependencies/commonjs_dependency_host.js +1 -1
  4. package/ngcc/src/dependencies/dts_dependency_host.js +1 -1
  5. package/ngcc/src/dependencies/esm_dependency_host.js +1 -1
  6. package/ngcc/src/dependencies/umd_dependency_host.js +1 -1
  7. package/ngcc/src/entry_point_finder/program_based_entry_point_finder.js +1 -1
  8. package/ngcc/src/entry_point_finder/targeted_entry_point_finder.js +1 -1
  9. package/ngcc/src/execution/tasks/queues/parallel_task_queue.js +1 -1
  10. package/ngcc/src/execution/tasks/queues/serial_task_queue.js +1 -1
  11. package/ngcc/src/host/commonjs_host.js +1 -1
  12. package/ngcc/src/host/esm2015_host.js +1 -1
  13. package/ngcc/src/host/esm5_host.js +1 -1
  14. package/ngcc/src/host/umd_host.js +1 -1
  15. package/ngcc/src/packages/build_marker.d.ts +1 -1
  16. package/ngcc/src/packages/build_marker.js +1 -1
  17. package/ngcc/src/packages/entry_point_manifest.js +1 -1
  18. package/ngcc/src/packages/ngcc_compiler_host.js +1 -1
  19. package/ngcc/src/rendering/commonjs_rendering_formatter.js +1 -1
  20. package/ngcc/src/rendering/esm5_rendering_formatter.js +1 -1
  21. package/ngcc/src/rendering/umd_rendering_formatter.js +1 -1
  22. package/ngcc/src/writing/new_entry_point_file_writer.js +1 -1
  23. package/package.json +2 -2
  24. package/src/ngtsc/annotations/src/component.js +1 -1
  25. package/src/ngtsc/annotations/src/directive.js +1 -1
  26. package/src/ngtsc/annotations/src/ng_module.js +1 -1
  27. package/src/ngtsc/annotations/src/pipe.js +1 -1
  28. package/src/ngtsc/core/src/compiler.js +1 -1
  29. package/src/ngtsc/cycles/src/analyzer.d.ts +7 -0
  30. package/src/ngtsc/cycles/src/analyzer.js +89 -4
  31. package/src/ngtsc/cycles/src/imports.d.ts +1 -6
  32. package/src/ngtsc/cycles/src/imports.js +5 -23
  33. package/src/ngtsc/diagnostics/src/error_code.d.ts +5 -0
  34. package/src/ngtsc/diagnostics/src/error_code.js +6 -1
  35. package/src/ngtsc/file_system/testing/src/mock_file_system_native.js +1 -1
  36. package/src/ngtsc/file_system/testing/src/mock_file_system_posix.js +1 -1
  37. package/src/ngtsc/file_system/testing/src/mock_file_system_windows.js +1 -1
  38. package/src/ngtsc/incremental/semantic_graph/src/graph.js +1 -1
  39. package/src/ngtsc/incremental/src/incremental.js +30 -4
  40. package/src/ngtsc/indexer/src/template.js +1 -1
  41. package/src/ngtsc/metadata/src/dts.js +4 -5
  42. package/src/ngtsc/metadata/src/util.d.ts +2 -2
  43. package/src/ngtsc/metadata/src/util.js +9 -6
  44. package/src/ngtsc/partial_evaluator/src/builtin.js +1 -1
  45. package/src/ngtsc/partial_evaluator/src/interpreter.js +6 -5
  46. package/src/ngtsc/partial_evaluator/src/ts_helpers.js +1 -1
  47. package/src/ngtsc/program_driver/src/api.d.ts +20 -1
  48. package/src/ngtsc/program_driver/src/api.js +3 -2
  49. package/src/ngtsc/program_driver/src/ts_create_program_driver.d.ts +2 -2
  50. package/src/ngtsc/program_driver/src/ts_create_program_driver.js +7 -3
  51. package/src/ngtsc/reflection/src/typescript.js +4 -1
  52. package/src/ngtsc/transform/src/compilation.d.ts +5 -0
  53. package/src/ngtsc/transform/src/compilation.js +95 -72
  54. package/src/ngtsc/transform/src/transform.js +1 -1
  55. package/src/ngtsc/typecheck/api/checker.d.ts +18 -1
  56. package/src/ngtsc/typecheck/api/checker.js +1 -1
  57. package/src/ngtsc/typecheck/diagnostics/src/diagnostic.d.ts +5 -3
  58. package/src/ngtsc/typecheck/diagnostics/src/diagnostic.js +48 -21
  59. package/src/ngtsc/typecheck/src/checker.d.ts +11 -1
  60. package/src/ngtsc/typecheck/src/checker.js +20 -5
  61. package/src/ngtsc/typecheck/src/completion.d.ts +3 -1
  62. package/src/ngtsc/typecheck/src/completion.js +52 -2
  63. package/src/ngtsc/typecheck/src/context.d.ts +2 -1
  64. package/src/ngtsc/typecheck/src/context.js +11 -3
  65. package/src/ngtsc/typecheck/src/oob.d.ts +7 -1
  66. package/src/ngtsc/typecheck/src/oob.js +48 -10
  67. package/src/ngtsc/typecheck/src/template_semantics.js +1 -1
  68. package/src/ngtsc/typecheck/src/template_symbol_builder.js +21 -1
  69. package/src/ngtsc/typecheck/src/type_check_block.js +35 -2
  70. package/src/ngtsc/typecheck/src/type_check_file.js +1 -1
  71. package/src/ngtsc/typecheck/src/type_emitter.js +25 -6
  72. package/src/ngtsc/util/src/visitor.d.ts +1 -1
  73. package/src/ngtsc/util/src/visitor.js +1 -8
  74. package/src/version.js +1 -1
  75. package/compiler-cli.externs.js +0 -0
  76. package/index.mjs +0 -20
  77. package/linker/babel/babel.externs.js +0 -0
  78. package/linker/babel/index.mjs +0 -11
  79. package/linker/babel/src/ast/babel_ast_factory.mjs +0 -137
  80. package/linker/babel/src/ast/babel_ast_host.mjs +0 -154
  81. package/linker/babel/src/babel_declaration_scope.mjs +0 -52
  82. package/linker/babel/src/babel_plugin.mjs +0 -23
  83. package/linker/babel/src/es2015_linker_plugin.mjs +0 -158
  84. package/linker/babel/src/linker_plugin_options.mjs +0 -2
  85. package/linker/index.mjs +0 -7
  86. package/linker/linker.externs.js +0 -0
  87. package/linker/src/ast/ast_host.mjs +0 -9
  88. package/linker/src/ast/ast_value.mjs +0 -256
  89. package/linker/src/ast/typescript/typescript_ast_host.mjs +0 -156
  90. package/linker/src/ast/utils.mjs +0 -17
  91. package/linker/src/fatal_linker_error.mjs +0 -30
  92. package/linker/src/file_linker/declaration_scope.mjs +0 -9
  93. package/linker/src/file_linker/emit_scopes/emit_scope.mjs +0 -41
  94. package/linker/src/file_linker/emit_scopes/iife_emit_scope.mjs +0 -33
  95. package/linker/src/file_linker/file_linker.mjs +0 -70
  96. package/linker/src/file_linker/get_source_file.mjs +0 -28
  97. package/linker/src/file_linker/linker_environment.mjs +0 -23
  98. package/linker/src/file_linker/linker_options.mjs +0 -16
  99. package/linker/src/file_linker/needs_linking.mjs +0 -27
  100. package/linker/src/file_linker/partial_linkers/partial_class_metadata_linker_1.mjs +0 -29
  101. package/linker/src/file_linker/partial_linkers/partial_component_linker_1.mjs +0 -194
  102. package/linker/src/file_linker/partial_linkers/partial_directive_linker_1.mjs +0 -137
  103. package/linker/src/file_linker/partial_linkers/partial_factory_linker_1.mjs +0 -52
  104. package/linker/src/file_linker/partial_linkers/partial_injectable_linker_1.mjs +0 -56
  105. package/linker/src/file_linker/partial_linkers/partial_injector_linker_1.mjs +0 -38
  106. package/linker/src/file_linker/partial_linkers/partial_linker.mjs +0 -2
  107. package/linker/src/file_linker/partial_linkers/partial_linker_selector.mjs +0 -166
  108. package/linker/src/file_linker/partial_linkers/partial_ng_module_linker_1.mjs +0 -110
  109. package/linker/src/file_linker/partial_linkers/partial_pipe_linker_1.mjs +0 -42
  110. package/linker/src/file_linker/partial_linkers/util.mjs +0 -78
  111. package/linker/src/file_linker/translator.mjs +0 -23
  112. package/linker/src/linker_import_generator.mjs +0 -28
  113. package/ngcc/index.mjs +0 -16
  114. package/ngcc/main-ivy-ngcc.mjs +0 -12
  115. package/ngcc/main-ngcc.mjs +0 -32
  116. package/ngcc/ngcc.externs.js +0 -0
  117. package/ngcc/src/analysis/decoration_analyzer.mjs +0 -215
  118. package/ngcc/src/analysis/migration_host.mjs +0 -80
  119. package/ngcc/src/analysis/module_with_providers_analyzer.mjs +0 -178
  120. package/ngcc/src/analysis/ngcc_references_registry.mjs +0 -45
  121. package/ngcc/src/analysis/ngcc_trait_compiler.mjs +0 -70
  122. package/ngcc/src/analysis/private_declarations_analyzer.mjs +0 -47
  123. package/ngcc/src/analysis/switch_marker_analyzer.mjs +0 -34
  124. package/ngcc/src/analysis/types.mjs +0 -2
  125. package/ngcc/src/analysis/util.mjs +0 -19
  126. package/ngcc/src/command_line_options.mjs +0 -142
  127. package/ngcc/src/constants.mjs +0 -10
  128. package/ngcc/src/dependencies/commonjs_dependency_host.mjs +0 -87
  129. package/ngcc/src/dependencies/dependency_host.mjs +0 -102
  130. package/ngcc/src/dependencies/dependency_resolver.mjs +0 -151
  131. package/ngcc/src/dependencies/dts_dependency_host.mjs +0 -18
  132. package/ngcc/src/dependencies/esm_dependency_host.mjs +0 -286
  133. package/ngcc/src/dependencies/module_resolver.mjs +0 -233
  134. package/ngcc/src/dependencies/umd_dependency_host.mjs +0 -33
  135. package/ngcc/src/entry_point_finder/directory_walker_entry_point_finder.mjs +0 -42
  136. package/ngcc/src/entry_point_finder/entry_point_collector.mjs +0 -120
  137. package/ngcc/src/entry_point_finder/interface.mjs +0 -2
  138. package/ngcc/src/entry_point_finder/program_based_entry_point_finder.mjs +0 -91
  139. package/ngcc/src/entry_point_finder/targeted_entry_point_finder.mjs +0 -216
  140. package/ngcc/src/entry_point_finder/tracing_entry_point_finder.mjs +0 -63
  141. package/ngcc/src/entry_point_finder/utils.mjs +0 -176
  142. package/ngcc/src/execution/analyze_entry_points.mjs +0 -130
  143. package/ngcc/src/execution/api.mjs +0 -2
  144. package/ngcc/src/execution/cluster/api.mjs +0 -9
  145. package/ngcc/src/execution/cluster/executor.mjs +0 -27
  146. package/ngcc/src/execution/cluster/master.mjs +0 -261
  147. package/ngcc/src/execution/cluster/package_json_updater.mjs +0 -45
  148. package/ngcc/src/execution/cluster/utils.mjs +0 -59
  149. package/ngcc/src/execution/cluster/worker.mjs +0 -81
  150. package/ngcc/src/execution/create_compile_function.mjs +0 -62
  151. package/ngcc/src/execution/single_process_executor.mjs +0 -57
  152. package/ngcc/src/execution/tasks/api.mjs +0 -22
  153. package/ngcc/src/execution/tasks/completion.mjs +0 -61
  154. package/ngcc/src/execution/tasks/queues/base_task_queue.mjs +0 -78
  155. package/ngcc/src/execution/tasks/queues/parallel_task_queue.mjs +0 -53
  156. package/ngcc/src/execution/tasks/queues/serial_task_queue.mjs +0 -29
  157. package/ngcc/src/execution/tasks/utils.mjs +0 -114
  158. package/ngcc/src/host/commonjs_host.mjs +0 -220
  159. package/ngcc/src/host/commonjs_umd_utils.mjs +0 -186
  160. package/ngcc/src/host/delegating_host.mjs +0 -140
  161. package/ngcc/src/host/esm2015_host.mjs +0 -2293
  162. package/ngcc/src/host/esm5_host.mjs +0 -721
  163. package/ngcc/src/host/ngcc_host.mjs +0 -15
  164. package/ngcc/src/host/umd_host.mjs +0 -486
  165. package/ngcc/src/host/utils.mjs +0 -12
  166. package/ngcc/src/locking/async_locker.mjs +0 -76
  167. package/ngcc/src/locking/lock_file.mjs +0 -4
  168. package/ngcc/src/locking/lock_file_with_child_process/index.mjs +0 -78
  169. package/ngcc/src/locking/lock_file_with_child_process/unlocker.mjs +0 -34
  170. package/ngcc/src/locking/lock_file_with_child_process/util.mjs +0 -29
  171. package/ngcc/src/locking/sync_locker.mjs +0 -52
  172. package/ngcc/src/main.mjs +0 -134
  173. package/ngcc/src/migrations/migration.mjs +0 -2
  174. package/ngcc/src/migrations/missing_injectable_migration.mjs +0 -164
  175. package/ngcc/src/migrations/undecorated_child_migration.mjs +0 -61
  176. package/ngcc/src/migrations/undecorated_parent_migration.mjs +0 -86
  177. package/ngcc/src/migrations/utils.mjs +0 -117
  178. package/ngcc/src/ngcc_options.mjs +0 -119
  179. package/ngcc/src/packages/build_marker.mjs +0 -84
  180. package/ngcc/src/packages/bundle_program.mjs +0 -52
  181. package/ngcc/src/packages/configuration.mjs +0 -255
  182. package/ngcc/src/packages/entry_point.mjs +0 -239
  183. package/ngcc/src/packages/entry_point_bundle.mjs +0 -68
  184. package/ngcc/src/packages/entry_point_manifest.mjs +0 -162
  185. package/ngcc/src/packages/ngcc_compiler_host.mjs +0 -77
  186. package/ngcc/src/packages/patch_ts_expando_initializer.mjs +0 -166
  187. package/ngcc/src/packages/source_file_cache.mjs +0 -187
  188. package/ngcc/src/packages/transformer.mjs +0 -140
  189. package/ngcc/src/path_mappings.mjs +0 -13
  190. package/ngcc/src/rendering/commonjs_rendering_formatter.mjs +0 -65
  191. package/ngcc/src/rendering/dts_renderer.mjs +0 -139
  192. package/ngcc/src/rendering/esm5_rendering_formatter.mjs +0 -50
  193. package/ngcc/src/rendering/esm_rendering_formatter.mjs +0 -251
  194. package/ngcc/src/rendering/ngcc_import_rewriter.mjs +0 -32
  195. package/ngcc/src/rendering/renderer.mjs +0 -170
  196. package/ngcc/src/rendering/rendering_formatter.mjs +0 -2
  197. package/ngcc/src/rendering/source_maps.mjs +0 -54
  198. package/ngcc/src/rendering/umd_rendering_formatter.mjs +0 -292
  199. package/ngcc/src/rendering/utils.mjs +0 -20
  200. package/ngcc/src/utils.mjs +0 -144
  201. package/ngcc/src/writing/cleaning/cleaning_strategies.mjs +0 -61
  202. package/ngcc/src/writing/cleaning/package_cleaner.mjs +0 -67
  203. package/ngcc/src/writing/cleaning/utils.mjs +0 -16
  204. package/ngcc/src/writing/file_writer.mjs +0 -2
  205. package/ngcc/src/writing/in_place_file_writer.mjs +0 -62
  206. package/ngcc/src/writing/new_entry_point_file_writer.mjs +0 -161
  207. package/ngcc/src/writing/package_json_updater.mjs +0 -144
  208. package/src/diagnostics/translate_diagnostics.mjs +0 -47
  209. package/src/diagnostics/typescript_version.mjs +0 -79
  210. package/src/extract_i18n.mjs +0 -46
  211. package/src/language_services.mjs +0 -18
  212. package/src/main.mjs +0 -185
  213. package/src/metadata/bundle_index_host.mjs +0 -107
  214. package/src/metadata/bundler.mjs +0 -556
  215. package/src/metadata/collector.mjs +0 -701
  216. package/src/metadata/evaluator.mjs +0 -643
  217. package/src/metadata/index.mjs +0 -11
  218. package/src/metadata/index_writer.mjs +0 -44
  219. package/src/metadata/schema.mjs +0 -102
  220. package/src/metadata/symbols.mjs +0 -117
  221. package/src/ngtsc/annotations/annotations.externs.js +0 -0
  222. package/src/ngtsc/annotations/index.mjs +0 -15
  223. package/src/ngtsc/annotations/src/api.mjs +0 -9
  224. package/src/ngtsc/annotations/src/component.mjs +0 -1068
  225. package/src/ngtsc/annotations/src/diagnostics.mjs +0 -147
  226. package/src/ngtsc/annotations/src/directive.mjs +0 -692
  227. package/src/ngtsc/annotations/src/factory.mjs +0 -17
  228. package/src/ngtsc/annotations/src/injectable.mjs +0 -260
  229. package/src/ngtsc/annotations/src/metadata.mjs +0 -145
  230. package/src/ngtsc/annotations/src/ng_module.mjs +0 -565
  231. package/src/ngtsc/annotations/src/pipe.mjs +0 -151
  232. package/src/ngtsc/annotations/src/references_registry.mjs +0 -16
  233. package/src/ngtsc/annotations/src/util.mjs +0 -495
  234. package/src/ngtsc/core/api/index.mjs +0 -12
  235. package/src/ngtsc/core/api/src/adapter.mjs +0 -9
  236. package/src/ngtsc/core/api/src/interfaces.mjs +0 -9
  237. package/src/ngtsc/core/api/src/options.mjs +0 -9
  238. package/src/ngtsc/core/api/src/public_options.mjs +0 -9
  239. package/src/ngtsc/core/api.externs.js +0 -0
  240. package/src/ngtsc/core/core.externs.js +0 -0
  241. package/src/ngtsc/core/index.mjs +0 -10
  242. package/src/ngtsc/core/src/compiler.mjs +0 -917
  243. package/src/ngtsc/core/src/config.mjs +0 -15
  244. package/src/ngtsc/core/src/host.mjs +0 -229
  245. package/src/ngtsc/cycles/cycles.externs.js +0 -0
  246. package/src/ngtsc/cycles/index.mjs +0 -10
  247. package/src/ngtsc/cycles/src/analyzer.mjs +0 -60
  248. package/src/ngtsc/cycles/src/imports.mjs +0 -152
  249. package/src/ngtsc/diagnostics/diagnostics.externs.js +0 -0
  250. package/src/ngtsc/diagnostics/index.mjs +0 -11
  251. package/src/ngtsc/diagnostics/src/error.mjs +0 -51
  252. package/src/ngtsc/diagnostics/src/error_code.mjs +0 -198
  253. package/src/ngtsc/diagnostics/src/util.mjs +0 -21
  254. package/src/ngtsc/entry_point/entry_point.externs.js +0 -0
  255. package/src/ngtsc/entry_point/index.mjs +0 -12
  256. package/src/ngtsc/entry_point/src/generator.mjs +0 -35
  257. package/src/ngtsc/entry_point/src/logic.mjs +0 -35
  258. package/src/ngtsc/entry_point/src/private_export_checker.mjs +0 -122
  259. package/src/ngtsc/entry_point/src/reference_graph.mjs +0 -73
  260. package/src/ngtsc/file_system/file_system.externs.js +0 -0
  261. package/src/ngtsc/file_system/index.mjs +0 -13
  262. package/src/ngtsc/file_system/src/compiler_host.mjs +0 -64
  263. package/src/ngtsc/file_system/src/helpers.mjs +0 -99
  264. package/src/ngtsc/file_system/src/invalid_file_system.mjs +0 -95
  265. package/src/ngtsc/file_system/src/logical.mjs +0 -84
  266. package/src/ngtsc/file_system/src/node_js_file_system.mjs +0 -142
  267. package/src/ngtsc/file_system/src/types.mjs +0 -9
  268. package/src/ngtsc/file_system/src/util.mjs +0 -22
  269. package/src/ngtsc/file_system/testing/index.mjs +0 -13
  270. package/src/ngtsc/file_system/testing/src/mock_file_system.mjs +0 -293
  271. package/src/ngtsc/file_system/testing/src/mock_file_system_native.mjs +0 -57
  272. package/src/ngtsc/file_system/testing/src/mock_file_system_posix.mjs +0 -38
  273. package/src/ngtsc/file_system/testing/src/mock_file_system_windows.mjs +0 -38
  274. package/src/ngtsc/file_system/testing/src/test_helper.mjs +0 -108
  275. package/src/ngtsc/file_system/testing/testing.externs.js +0 -0
  276. package/src/ngtsc/imports/imports.externs.js +0 -0
  277. package/src/ngtsc/imports/index.mjs +0 -14
  278. package/src/ngtsc/imports/src/alias.mjs +0 -137
  279. package/src/ngtsc/imports/src/core.mjs +0 -78
  280. package/src/ngtsc/imports/src/default.mjs +0 -135
  281. package/src/ngtsc/imports/src/emitter.mjs +0 -266
  282. package/src/ngtsc/imports/src/find_export.mjs +0 -56
  283. package/src/ngtsc/imports/src/reexport.mjs +0 -9
  284. package/src/ngtsc/imports/src/references.mjs +0 -137
  285. package/src/ngtsc/imports/src/resolver.mjs +0 -24
  286. package/src/ngtsc/incremental/api.externs.js +0 -0
  287. package/src/ngtsc/incremental/api.mjs +0 -9
  288. package/src/ngtsc/incremental/incremental.externs.js +0 -0
  289. package/src/ngtsc/incremental/index.mjs +0 -12
  290. package/src/ngtsc/incremental/semantic_graph/index.mjs +0 -12
  291. package/src/ngtsc/incremental/semantic_graph/semantic_graph.externs.js +0 -0
  292. package/src/ngtsc/incremental/semantic_graph/src/api.mjs +0 -36
  293. package/src/ngtsc/incremental/semantic_graph/src/graph.mjs +0 -237
  294. package/src/ngtsc/incremental/semantic_graph/src/type_parameters.mjs +0 -40
  295. package/src/ngtsc/incremental/semantic_graph/src/util.mjs +0 -69
  296. package/src/ngtsc/incremental/src/dependency_tracking.mjs +0 -117
  297. package/src/ngtsc/incremental/src/incremental.mjs +0 -271
  298. package/src/ngtsc/incremental/src/noop.mjs +0 -13
  299. package/src/ngtsc/incremental/src/state.mjs +0 -17
  300. package/src/ngtsc/incremental/src/strategy.mjs +0 -76
  301. package/src/ngtsc/indexer/index.mjs +0 -11
  302. package/src/ngtsc/indexer/indexer.externs.js +0 -0
  303. package/src/ngtsc/indexer/src/api.mjs +0 -30
  304. package/src/ngtsc/indexer/src/context.mjs +0 -25
  305. package/src/ngtsc/indexer/src/template.mjs +0 -303
  306. package/src/ngtsc/indexer/src/transform.mjs +0 -51
  307. package/src/ngtsc/logging/index.mjs +0 -10
  308. package/src/ngtsc/logging/logging.externs.js +0 -0
  309. package/src/ngtsc/logging/src/console_logger.mjs +0 -43
  310. package/src/ngtsc/logging/src/logger.mjs +0 -15
  311. package/src/ngtsc/logging/testing/index.mjs +0 -9
  312. package/src/ngtsc/logging/testing/src/mock_logger.mjs +0 -32
  313. package/src/ngtsc/logging/testing/testing.externs.js +0 -0
  314. package/src/ngtsc/metadata/index.mjs +0 -15
  315. package/src/ngtsc/metadata/metadata.externs.js +0 -0
  316. package/src/ngtsc/metadata/src/api.mjs +0 -13
  317. package/src/ngtsc/metadata/src/dts.mjs +0 -143
  318. package/src/ngtsc/metadata/src/inheritance.mjs +0 -71
  319. package/src/ngtsc/metadata/src/property_mapping.mjs +0 -136
  320. package/src/ngtsc/metadata/src/registry.mjs +0 -80
  321. package/src/ngtsc/metadata/src/resource_registry.mjs +0 -81
  322. package/src/ngtsc/metadata/src/util.mjs +0 -200
  323. package/src/ngtsc/partial_evaluator/index.mjs +0 -12
  324. package/src/ngtsc/partial_evaluator/partial_evaluator.externs.js +0 -0
  325. package/src/ngtsc/partial_evaluator/src/builtin.mjs +0 -65
  326. package/src/ngtsc/partial_evaluator/src/diagnostics.mjs +0 -174
  327. package/src/ngtsc/partial_evaluator/src/dynamic.mjs +0 -94
  328. package/src/ngtsc/partial_evaluator/src/interface.mjs +0 -27
  329. package/src/ngtsc/partial_evaluator/src/interpreter.mjs +0 -719
  330. package/src/ngtsc/partial_evaluator/src/known_declaration.mjs +0 -43
  331. package/src/ngtsc/partial_evaluator/src/result.mjs +0 -50
  332. package/src/ngtsc/partial_evaluator/src/ts_helpers.mjs +0 -72
  333. package/src/ngtsc/perf/index.mjs +0 -11
  334. package/src/ngtsc/perf/perf.externs.js +0 -0
  335. package/src/ngtsc/perf/src/api.mjs +0 -278
  336. package/src/ngtsc/perf/src/clock.mjs +0 -15
  337. package/src/ngtsc/perf/src/noop.mjs +0 -21
  338. package/src/ngtsc/perf/src/recorder.mjs +0 -125
  339. package/src/ngtsc/program.mjs +0 -271
  340. package/src/ngtsc/program_driver/index.mjs +0 -10
  341. package/src/ngtsc/program_driver/program_driver.externs.js +0 -0
  342. package/src/ngtsc/program_driver/src/api.mjs +0 -22
  343. package/src/ngtsc/program_driver/src/ts_create_program_driver.mjs +0 -164
  344. package/src/ngtsc/reflection/index.mjs +0 -12
  345. package/src/ngtsc/reflection/reflection.externs.js +0 -0
  346. package/src/ngtsc/reflection/src/host.mjs +0 -73
  347. package/src/ngtsc/reflection/src/type_to_value.mjs +0 -243
  348. package/src/ngtsc/reflection/src/typescript.mjs +0 -608
  349. package/src/ngtsc/reflection/src/util.mjs +0 -21
  350. package/src/ngtsc/resource/index.mjs +0 -9
  351. package/src/ngtsc/resource/resource.externs.js +0 -0
  352. package/src/ngtsc/resource/src/loader.mjs +0 -242
  353. package/src/ngtsc/routing/index.mjs +0 -11
  354. package/src/ngtsc/routing/routing.externs.js +0 -0
  355. package/src/ngtsc/routing/src/analyzer.mjs +0 -69
  356. package/src/ngtsc/routing/src/lazy.mjs +0 -168
  357. package/src/ngtsc/routing/src/route.mjs +0 -51
  358. package/src/ngtsc/scope/index.mjs +0 -12
  359. package/src/ngtsc/scope/scope.externs.js +0 -0
  360. package/src/ngtsc/scope/src/api.mjs +0 -9
  361. package/src/ngtsc/scope/src/component_scope.mjs +0 -31
  362. package/src/ngtsc/scope/src/dependency.mjs +0 -134
  363. package/src/ngtsc/scope/src/local.mjs +0 -531
  364. package/src/ngtsc/scope/src/typecheck.mjs +0 -83
  365. package/src/ngtsc/shims/api.externs.js +0 -0
  366. package/src/ngtsc/shims/api.mjs +0 -2
  367. package/src/ngtsc/shims/index.mjs +0 -14
  368. package/src/ngtsc/shims/shims.externs.js +0 -0
  369. package/src/ngtsc/shims/src/adapter.mjs +0 -188
  370. package/src/ngtsc/shims/src/expando.mjs +0 -102
  371. package/src/ngtsc/shims/src/factory_generator.mjs +0 -265
  372. package/src/ngtsc/shims/src/reference_tagger.mjs +0 -67
  373. package/src/ngtsc/shims/src/summary_generator.mjs +0 -64
  374. package/src/ngtsc/shims/src/util.mjs +0 -26
  375. package/src/ngtsc/sourcemaps/index.mjs +0 -11
  376. package/src/ngtsc/sourcemaps/sourcemaps.externs.js +0 -0
  377. package/src/ngtsc/sourcemaps/src/content_origin.mjs +0 -35
  378. package/src/ngtsc/sourcemaps/src/raw_source_map.mjs +0 -2
  379. package/src/ngtsc/sourcemaps/src/segment_marker.mjs +0 -40
  380. package/src/ngtsc/sourcemaps/src/source_file.mjs +0 -459
  381. package/src/ngtsc/sourcemaps/src/source_file_loader.mjs +0 -213
  382. package/src/ngtsc/switch/index.mjs +0 -9
  383. package/src/ngtsc/switch/src/switch.mjs +0 -115
  384. package/src/ngtsc/switch/switch.externs.js +0 -0
  385. package/src/ngtsc/transform/index.mjs +0 -14
  386. package/src/ngtsc/transform/src/alias.mjs +0 -30
  387. package/src/ngtsc/transform/src/api.mjs +0 -63
  388. package/src/ngtsc/transform/src/compilation.mjs +0 -514
  389. package/src/ngtsc/transform/src/declaration.mjs +0 -182
  390. package/src/ngtsc/transform/src/trait.mjs +0 -95
  391. package/src/ngtsc/transform/src/transform.mjs +0 -298
  392. package/src/ngtsc/transform/src/utils.mjs +0 -57
  393. package/src/ngtsc/transform/transform.externs.js +0 -0
  394. package/src/ngtsc/translator/index.mjs +0 -14
  395. package/src/ngtsc/translator/src/api/ast_factory.mjs +0 -9
  396. package/src/ngtsc/translator/src/api/import_generator.mjs +0 -9
  397. package/src/ngtsc/translator/src/context.mjs +0 -24
  398. package/src/ngtsc/translator/src/import_manager.mjs +0 -48
  399. package/src/ngtsc/translator/src/translator.mjs +0 -317
  400. package/src/ngtsc/translator/src/type_translator.mjs +0 -204
  401. package/src/ngtsc/translator/src/typescript_ast_factory.mjs +0 -211
  402. package/src/ngtsc/translator/src/typescript_translator.mjs +0 -17
  403. package/src/ngtsc/translator/translator.externs.js +0 -0
  404. package/src/ngtsc/tsc_plugin.mjs +0 -98
  405. package/src/ngtsc/typecheck/api/api.externs.js +0 -0
  406. package/src/ngtsc/typecheck/api/api.mjs +0 -9
  407. package/src/ngtsc/typecheck/api/checker.mjs +0 -31
  408. package/src/ngtsc/typecheck/api/completion.mjs +0 -16
  409. package/src/ngtsc/typecheck/api/context.mjs +0 -9
  410. package/src/ngtsc/typecheck/api/index.mjs +0 -14
  411. package/src/ngtsc/typecheck/api/scope.mjs +0 -9
  412. package/src/ngtsc/typecheck/api/symbols.mjs +0 -22
  413. package/src/ngtsc/typecheck/diagnostics/diagnostics.externs.js +0 -0
  414. package/src/ngtsc/typecheck/diagnostics/index.mjs +0 -10
  415. package/src/ngtsc/typecheck/diagnostics/src/diagnostic.mjs +0 -99
  416. package/src/ngtsc/typecheck/diagnostics/src/id.mjs +0 -23
  417. package/src/ngtsc/typecheck/index.mjs +0 -12
  418. package/src/ngtsc/typecheck/src/checker.mjs +0 -591
  419. package/src/ngtsc/typecheck/src/comments.mjs +0 -159
  420. package/src/ngtsc/typecheck/src/completion.mjs +0 -155
  421. package/src/ngtsc/typecheck/src/context.mjs +0 -350
  422. package/src/ngtsc/typecheck/src/diagnostics.mjs +0 -95
  423. package/src/ngtsc/typecheck/src/dom.mjs +0 -68
  424. package/src/ngtsc/typecheck/src/environment.mjs +0 -146
  425. package/src/ngtsc/typecheck/src/expression.mjs +0 -412
  426. package/src/ngtsc/typecheck/src/line_mappings.mjs +0 -60
  427. package/src/ngtsc/typecheck/src/oob.mjs +0 -112
  428. package/src/ngtsc/typecheck/src/shim.mjs +0 -37
  429. package/src/ngtsc/typecheck/src/source.mjs +0 -74
  430. package/src/ngtsc/typecheck/src/tcb_util.mjs +0 -135
  431. package/src/ngtsc/typecheck/src/template_semantics.mjs +0 -34
  432. package/src/ngtsc/typecheck/src/template_symbol_builder.mjs +0 -485
  433. package/src/ngtsc/typecheck/src/ts_util.mjs +0 -157
  434. package/src/ngtsc/typecheck/src/type_check_block.mjs +0 -1770
  435. package/src/ngtsc/typecheck/src/type_check_file.mjs +0 -65
  436. package/src/ngtsc/typecheck/src/type_constructor.mjs +0 -227
  437. package/src/ngtsc/typecheck/src/type_emitter.mjs +0 -127
  438. package/src/ngtsc/typecheck/src/type_parameter_emitter.mjs +0 -93
  439. package/src/ngtsc/typecheck/typecheck.externs.js +0 -0
  440. package/src/ngtsc/util/src/path.mjs +0 -18
  441. package/src/ngtsc/util/src/typescript.mjs +0 -143
  442. package/src/ngtsc/util/src/visitor.mjs +0 -107
  443. package/src/ngtsc/util/util.externs.js +0 -0
  444. package/src/ngtsc/xi18n/index.mjs +0 -9
  445. package/src/ngtsc/xi18n/src/context.mjs +0 -9
  446. package/src/ngtsc/xi18n/xi18n.externs.js +0 -0
  447. package/src/perform_compile.mjs +0 -275
  448. package/src/perform_watch.mjs +0 -247
  449. package/src/tooling.mjs +0 -32
  450. package/src/transformers/api.mjs +0 -27
  451. package/src/transformers/compiler_host.mjs +0 -593
  452. package/src/transformers/downlevel_decorators_transform.mjs +0 -507
  453. package/src/transformers/entry_points.mjs +0 -10
  454. package/src/transformers/i18n.mjs +0 -59
  455. package/src/transformers/inline_resources.mjs +0 -269
  456. package/src/transformers/lower_expressions.mjs +0 -336
  457. package/src/transformers/metadata_cache.mjs +0 -53
  458. package/src/transformers/metadata_reader.mjs +0 -104
  459. package/src/transformers/node_emitter.mjs +0 -606
  460. package/src/transformers/node_emitter_transform.mjs +0 -78
  461. package/src/transformers/patch_alias_reference_resolution.mjs +0 -109
  462. package/src/transformers/program.mjs +0 -887
  463. package/src/transformers/r3_metadata_transform.mjs +0 -46
  464. package/src/transformers/r3_transform.mjs +0 -29
  465. package/src/transformers/util.mjs +0 -89
  466. package/src/typescript_support.mjs +0 -57
  467. package/src/version.mjs +0 -15
@@ -1,59 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- /// <reference types="node" />
9
- import * as cluster from 'cluster';
10
- /** Expose a `Promise` instance as well as APIs for resolving/rejecting it. */
11
- export class Deferred {
12
- constructor() {
13
- /** The `Promise` instance associated with this deferred. */
14
- this.promise = new Promise((resolve, reject) => {
15
- this.resolve = resolve;
16
- this.reject = reject;
17
- });
18
- }
19
- }
20
- /**
21
- * Send a message to the cluster master.
22
- * (This function should be invoked from cluster workers only.)
23
- *
24
- * @param msg The message to send to the cluster master.
25
- * @return A promise that is resolved once the message has been sent.
26
- */
27
- export const sendMessageToMaster = (msg) => {
28
- if (cluster.isMaster) {
29
- throw new Error('Unable to send message to the master process: Already on the master process.');
30
- }
31
- return new Promise((resolve, reject) => {
32
- if (process.send === undefined) {
33
- // Theoretically, this should never happen on a worker process.
34
- throw new Error('Unable to send message to the master process: Missing `process.send()`.');
35
- }
36
- process.send(msg, (err) => (err === null) ? resolve() : reject(err));
37
- });
38
- };
39
- /**
40
- * Send a message to a cluster worker.
41
- * (This function should be invoked from the cluster master only.)
42
- *
43
- * @param workerId The ID of the recipient worker.
44
- * @param msg The message to send to the worker.
45
- * @return A promise that is resolved once the message has been sent.
46
- */
47
- export const sendMessageToWorker = (workerId, msg) => {
48
- if (!cluster.isMaster) {
49
- throw new Error('Unable to send message to worker process: Sender is not the master process.');
50
- }
51
- const worker = cluster.workers[workerId];
52
- if ((worker === undefined) || worker.isDead() || !worker.isConnected()) {
53
- throw new Error('Unable to send message to worker process: Recipient does not exist or has disconnected.');
54
- }
55
- return new Promise((resolve, reject) => {
56
- worker.send(msg, (err) => (err === null) ? resolve() : reject(err));
57
- });
58
- };
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvbmdjYy9zcmMvZXhlY3V0aW9uL2NsdXN0ZXIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsOEJBQThCO0FBRTlCLE9BQU8sS0FBSyxPQUFPLE1BQU0sU0FBUyxDQUFDO0FBTW5DLDhFQUE4RTtBQUM5RSxNQUFNLE9BQU8sUUFBUTtJQUFyQjtRQWlCRSw0REFBNEQ7UUFDNUQsWUFBTyxHQUFHLElBQUksT0FBTyxDQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzNDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUFBO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxHQUFzQixFQUFpQixFQUFFO0lBQzNFLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRTtRQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDhFQUE4RSxDQUFDLENBQUM7S0FDakc7SUFFRCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ3JDLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDOUIsK0RBQStEO1lBQy9ELE1BQU0sSUFBSSxLQUFLLENBQUMseUVBQXlFLENBQUMsQ0FBQztTQUM1RjtRQUVELE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ25GLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsUUFBZ0IsRUFBRSxHQUFvQixFQUFpQixFQUFFO0lBQzNGLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1FBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkVBQTZFLENBQUMsQ0FBQztLQUNoRztJQUVELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFekMsSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLEVBQUU7UUFDdEUsTUFBTSxJQUFJLEtBQUssQ0FDWCx5RkFBeUYsQ0FBQyxDQUFDO0tBQ2hHO0lBRUQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUNyQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNsRixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG4vLy8gPHJlZmVyZW5jZSB0eXBlcz1cIm5vZGVcIiAvPlxuXG5pbXBvcnQgKiBhcyBjbHVzdGVyIGZyb20gJ2NsdXN0ZXInO1xuXG5pbXBvcnQge01lc3NhZ2VGcm9tV29ya2VyLCBNZXNzYWdlVG9Xb3JrZXJ9IGZyb20gJy4vYXBpJztcblxuXG5cbi8qKiBFeHBvc2UgYSBgUHJvbWlzZWAgaW5zdGFuY2UgYXMgd2VsbCBhcyBBUElzIGZvciByZXNvbHZpbmcvcmVqZWN0aW5nIGl0LiAqL1xuZXhwb3J0IGNsYXNzIERlZmVycmVkPFQ+IHtcbiAgLyoqXG4gICAqIFJlc29sdmUgdGhlIGFzc29jaWF0ZWQgcHJvbWlzZSB3aXRoIHRoZSBzcGVjaWZpZWQgdmFsdWUuXG4gICAqIElmIHRoZSB2YWx1ZSBpcyBhIHJlamVjdGlvbiAoY29uc3RydWN0ZWQgd2l0aCBgUHJvbWlzZS5yZWplY3QoKWApLCB0aGUgcHJvbWlzZSB3aWxsIGJlIHJlamVjdGVkXG4gICAqIGluc3RlYWQuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gcmVzb2x2ZSB0aGUgcHJvbWlzZSB3aXRoLlxuICAgKi9cbiAgcmVzb2x2ZSE6ICh2YWx1ZTogVCkgPT4gdm9pZDtcblxuICAvKipcbiAgICogUmVqZWN0cyB0aGUgYXNzb2NpYXRlZCBwcm9taXNlIHdpdGggdGhlIHNwZWNpZmllZCByZWFzb24uXG4gICAqXG4gICAqIEBwYXJhbSByZWFzb24gVGhlIHJlamVjdGlvbiByZWFzb24uXG4gICAqL1xuICByZWplY3QhOiAocmVhc29uOiBhbnkpID0+IHZvaWQ7XG5cbiAgLyoqIFRoZSBgUHJvbWlzZWAgaW5zdGFuY2UgYXNzb2NpYXRlZCB3aXRoIHRoaXMgZGVmZXJyZWQuICovXG4gIHByb21pc2UgPSBuZXcgUHJvbWlzZTxUPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgdGhpcy5yZXNvbHZlID0gcmVzb2x2ZTtcbiAgICB0aGlzLnJlamVjdCA9IHJlamVjdDtcbiAgfSk7XG59XG5cbi8qKlxuICogU2VuZCBhIG1lc3NhZ2UgdG8gdGhlIGNsdXN0ZXIgbWFzdGVyLlxuICogKFRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIGludm9rZWQgZnJvbSBjbHVzdGVyIHdvcmtlcnMgb25seS4pXG4gKlxuICogQHBhcmFtIG1zZyBUaGUgbWVzc2FnZSB0byBzZW5kIHRvIHRoZSBjbHVzdGVyIG1hc3Rlci5cbiAqIEByZXR1cm4gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgb25jZSB0aGUgbWVzc2FnZSBoYXMgYmVlbiBzZW50LlxuICovXG5leHBvcnQgY29uc3Qgc2VuZE1lc3NhZ2VUb01hc3RlciA9IChtc2c6IE1lc3NhZ2VGcm9tV29ya2VyKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIGlmIChjbHVzdGVyLmlzTWFzdGVyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gc2VuZCBtZXNzYWdlIHRvIHRoZSBtYXN0ZXIgcHJvY2VzczogQWxyZWFkeSBvbiB0aGUgbWFzdGVyIHByb2Nlc3MuJyk7XG4gIH1cblxuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGlmIChwcm9jZXNzLnNlbmQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gVGhlb3JldGljYWxseSwgdGhpcyBzaG91bGQgbmV2ZXIgaGFwcGVuIG9uIGEgd29ya2VyIHByb2Nlc3MuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byBzZW5kIG1lc3NhZ2UgdG8gdGhlIG1hc3RlciBwcm9jZXNzOiBNaXNzaW5nIGBwcm9jZXNzLnNlbmQoKWAuJyk7XG4gICAgfVxuXG4gICAgcHJvY2Vzcy5zZW5kKG1zZywgKGVycjogRXJyb3J8bnVsbCkgPT4gKGVyciA9PT0gbnVsbCkgPyByZXNvbHZlKCkgOiByZWplY3QoZXJyKSk7XG4gIH0pO1xufTtcblxuLyoqXG4gKiBTZW5kIGEgbWVzc2FnZSB0byBhIGNsdXN0ZXIgd29ya2VyLlxuICogKFRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIGludm9rZWQgZnJvbSB0aGUgY2x1c3RlciBtYXN0ZXIgb25seS4pXG4gKlxuICogQHBhcmFtIHdvcmtlcklkIFRoZSBJRCBvZiB0aGUgcmVjaXBpZW50IHdvcmtlci5cbiAqIEBwYXJhbSBtc2cgVGhlIG1lc3NhZ2UgdG8gc2VuZCB0byB0aGUgd29ya2VyLlxuICogQHJldHVybiBBIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCBvbmNlIHRoZSBtZXNzYWdlIGhhcyBiZWVuIHNlbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBzZW5kTWVzc2FnZVRvV29ya2VyID0gKHdvcmtlcklkOiBudW1iZXIsIG1zZzogTWVzc2FnZVRvV29ya2VyKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIGlmICghY2x1c3Rlci5pc01hc3Rlcikge1xuICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIHNlbmQgbWVzc2FnZSB0byB3b3JrZXIgcHJvY2VzczogU2VuZGVyIGlzIG5vdCB0aGUgbWFzdGVyIHByb2Nlc3MuJyk7XG4gIH1cblxuICBjb25zdCB3b3JrZXIgPSBjbHVzdGVyLndvcmtlcnNbd29ya2VySWRdO1xuXG4gIGlmICgod29ya2VyID09PSB1bmRlZmluZWQpIHx8IHdvcmtlci5pc0RlYWQoKSB8fCAhd29ya2VyLmlzQ29ubmVjdGVkKCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdVbmFibGUgdG8gc2VuZCBtZXNzYWdlIHRvIHdvcmtlciBwcm9jZXNzOiBSZWNpcGllbnQgZG9lcyBub3QgZXhpc3Qgb3IgaGFzIGRpc2Nvbm5lY3RlZC4nKTtcbiAgfVxuXG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgd29ya2VyLnNlbmQobXNnLCAoZXJyOiBFcnJvcnxudWxsKSA9PiAoZXJyID09PSBudWxsKSA/IHJlc29sdmUoKSA6IHJlamVjdChlcnIpKTtcbiAgfSk7XG59O1xuIl19
@@ -1,81 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- /// <reference types="node" />
9
- import { __awaiter } from "tslib";
10
- import * as cluster from 'cluster';
11
- import { parseCommandLineOptions } from '../../command_line_options';
12
- import { getSharedSetup } from '../../ngcc_options';
13
- import { getCreateCompileFn } from '../create_compile_function';
14
- import { stringifyTask } from '../tasks/utils';
15
- import { ClusterWorkerPackageJsonUpdater } from './package_json_updater';
16
- import { sendMessageToMaster } from './utils';
17
- // Cluster worker entry point
18
- if (require.main === module) {
19
- (() => __awaiter(void 0, void 0, void 0, function* () {
20
- process.title = 'ngcc (worker)';
21
- try {
22
- const { logger, pathMappings, enableI18nLegacyMessageIdFormat, fileSystem, tsConfig, getFileWriter, } = getSharedSetup(parseCommandLineOptions(process.argv.slice(2)));
23
- // NOTE: To avoid file corruption, `ngcc` invocation only creates _one_ instance of
24
- // `PackageJsonUpdater` that actually writes to disk (across all processes).
25
- // In cluster workers we use a `PackageJsonUpdater` that delegates to the cluster master.
26
- const pkgJsonUpdater = new ClusterWorkerPackageJsonUpdater();
27
- const fileWriter = getFileWriter(pkgJsonUpdater);
28
- // The function for creating the `compile()` function.
29
- const createCompileFn = getCreateCompileFn(fileSystem, logger, fileWriter, enableI18nLegacyMessageIdFormat, tsConfig, pathMappings);
30
- yield startWorker(logger, createCompileFn);
31
- process.exitCode = 0;
32
- }
33
- catch (e) {
34
- console.error(e.stack || e.message);
35
- process.exit(1);
36
- }
37
- }))();
38
- }
39
- export function startWorker(logger, createCompileFn) {
40
- return __awaiter(this, void 0, void 0, function* () {
41
- if (cluster.isMaster) {
42
- throw new Error('Tried to run cluster worker on the master process.');
43
- }
44
- const compile = createCompileFn(transformedFiles => sendMessageToMaster({
45
- type: 'transformed-files',
46
- files: transformedFiles.map(f => f.path),
47
- }), (_task, outcome, message) => sendMessageToMaster({ type: 'task-completed', outcome, message }));
48
- // Listen for `ProcessTaskMessage`s and process tasks.
49
- cluster.worker.on('message', (msg) => __awaiter(this, void 0, void 0, function* () {
50
- try {
51
- switch (msg.type) {
52
- case 'process-task':
53
- logger.debug(`[Worker #${cluster.worker.id}] Processing task: ${stringifyTask(msg.task)}`);
54
- return yield compile(msg.task);
55
- default:
56
- throw new Error(`[Worker #${cluster.worker.id}] Invalid message received: ${JSON.stringify(msg)}`);
57
- }
58
- }
59
- catch (err) {
60
- switch (err && err.code) {
61
- case 'ENOMEM':
62
- // Not being able to allocate enough memory is not necessarily a problem with processing
63
- // the current task. It could just mean that there are too many tasks being processed
64
- // simultaneously.
65
- //
66
- // Exit with an error and let the cluster master decide how to handle this.
67
- logger.warn(`[Worker #${cluster.worker.id}] ${err.stack || err.message}`);
68
- return process.exit(1);
69
- default:
70
- yield sendMessageToMaster({
71
- type: 'error',
72
- error: (err instanceof Error) ? (err.stack || err.message) : err,
73
- });
74
- }
75
- }
76
- }));
77
- // Return a promise that is never resolved.
78
- return new Promise(() => undefined);
79
- });
80
- }
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL25nY2Mvc3JjL2V4ZWN1dGlvbi9jbHVzdGVyL3dvcmtlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCw4QkFBOEI7O0FBRTlCLE9BQU8sS0FBSyxPQUFPLE1BQU0sU0FBUyxDQUFDO0FBR25DLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0MsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDdkUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sU0FBUyxDQUFDO0FBRTVDLDZCQUE2QjtBQUM3QixJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO0lBQzNCLENBQUMsR0FBUyxFQUFFO1FBQ1YsT0FBTyxDQUFDLEtBQUssR0FBRyxlQUFlLENBQUM7UUFFaEMsSUFBSTtZQUNGLE1BQU0sRUFDSixNQUFNLEVBQ04sWUFBWSxFQUNaLCtCQUErQixFQUMvQixVQUFVLEVBQ1YsUUFBUSxFQUNSLGFBQWEsR0FDZCxHQUFHLGNBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFbkUsbUZBQW1GO1lBQ25GLDRFQUE0RTtZQUM1RSx5RkFBeUY7WUFDekYsTUFBTSxjQUFjLEdBQUcsSUFBSSwrQkFBK0IsRUFBRSxDQUFDO1lBQzdELE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxjQUFjLENB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R0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdEMsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG4vLy8gPHJlZmVyZW5jZSB0eXBlcz1cIm5vZGVcIiAvPlxuXG5pbXBvcnQgKiBhcyBjbHVzdGVyIGZyb20gJ2NsdXN0ZXInO1xuXG5pbXBvcnQge0xvZ2dlcn0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjL25ndHNjL2xvZ2dpbmcnO1xuaW1wb3J0IHtwYXJzZUNvbW1hbmRMaW5lT3B0aW9uc30gZnJvbSAnLi4vLi4vY29tbWFuZF9saW5lX29wdGlvbnMnO1xuaW1wb3J0IHtnZXRTaGFyZWRTZXR1cH0gZnJvbSAnLi4vLi4vbmdjY19vcHRpb25zJztcbmltcG9ydCB7Q3JlYXRlQ29tcGlsZUZufSBmcm9tICcuLi9hcGknO1xuaW1wb3J0IHtnZXRDcmVhdGVDb21waWxlRm59IGZyb20gJy4uL2NyZWF0ZV9jb21waWxlX2Z1bmN0aW9uJztcbmltcG9ydCB7c3RyaW5naWZ5VGFza30gZnJvbSAnLi4vdGFza3MvdXRpbHMnO1xuXG5pbXBvcnQge01lc3NhZ2VUb1dvcmtlcn0gZnJvbSAnLi9hcGknO1xuaW1wb3J0IHtDbHVzdGVyV29ya2VyUGFja2FnZUpzb25VcGRhdGVyfSBmcm9tICcuL3BhY2thZ2VfanNvbl91cGRhdGVyJztcbmltcG9ydCB7c2VuZE1lc3NhZ2VUb01hc3Rlcn0gZnJvbSAnLi91dGlscyc7XG5cbi8vIENsdXN0ZXIgd29ya2VyIGVudHJ5IHBvaW50XG5pZiAocmVxdWlyZS5tYWluID09PSBtb2R1bGUpIHtcbiAgKGFzeW5jICgpID0+IHtcbiAgICBwcm9jZXNzLnRpdGxlID0gJ25nY2MgKHdvcmtlciknO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgbG9nZ2VyLFxuICAgICAgICBwYXRoTWFwcGluZ3MsXG4gICAgICAgIGVuYWJsZUkxOG5MZWdhY3lNZXNzYWdlSWRGb3JtYXQsXG4gICAgICAgIGZpbGVTeXN0ZW0sXG4gICAgICAgIHRzQ29uZmlnLFxuICAgICAgICBnZXRGaWxlV3JpdGVyLFxuICAgICAgfSA9IGdldFNoYXJlZFNldHVwKHBhcnNlQ29tbWFuZExpbmVPcHRpb25zKHByb2Nlc3MuYXJndi5zbGljZSgyKSkpO1xuXG4gICAgICAvLyBOT1RFOiBUbyBhdm9pZCBmaWxlIGNvcnJ1cHRpb24sIGBuZ2NjYCBpbnZvY2F0aW9uIG9ubHkgY3JlYXRlcyBfb25lXyBpbnN0YW5jZSBvZlxuICAgICAgLy8gYFBhY2thZ2VKc29uVXBkYXRlcmAgdGhhdCBhY3R1YWxseSB3cml0ZXMgdG8gZGlzayAoYWNyb3NzIGFsbCBwcm9jZXNzZXMpLlxuICAgICAgLy8gSW4gY2x1c3RlciB3b3JrZXJzIHdlIHVzZSBhIGBQYWNrYWdlSnNvblVwZGF0ZXJgIHRoYXQgZGVsZWdhdGVzIHRvIHRoZSBjbHVzdGVyIG1hc3Rlci5cbiAgICAgIGNvbnN0IHBrZ0pzb25VcGRhdGVyID0gbmV3IENsdXN0ZXJXb3JrZXJQYWNrYWdlSnNvblVwZGF0ZXIoKTtcbiAgICAgIGNvbnN0IGZpbGVXcml0ZXIgPSBnZXRGaWxlV3JpdGVyKHBrZ0pzb25VcGRhdGVyKTtcblxuICAgICAgLy8gVGhlIGZ1bmN0aW9uIGZvciBjcmVhdGluZyB0aGUgYGNvbXBpbGUoKWAgZnVuY3Rpb24uXG4gICAgICBjb25zdCBjcmVhdGVDb21waWxlRm4gPSBnZXRDcmVhdGVDb21waWxlRm4oXG4gICAgICAgICAgZmlsZVN5c3RlbSwgbG9nZ2VyLCBmaWxlV3JpdGVyLCBlbmFibGVJMThuTGVnYWN5TWVzc2FnZUlkRm9ybWF0LCB0c0NvbmZpZywgcGF0aE1hcHBpbmdzKTtcblxuICAgICAgYXdhaXQgc3RhcnRXb3JrZXIobG9nZ2VyLCBjcmVhdGVDb21waWxlRm4pO1xuICAgICAgcHJvY2Vzcy5leGl0Q29kZSA9IDA7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcihlLnN0YWNrIHx8IGUubWVzc2FnZSk7XG4gICAgICBwcm9jZXNzLmV4aXQoMSk7XG4gICAgfVxuICB9KSgpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3RhcnRXb3JrZXIobG9nZ2VyOiBMb2dnZXIsIGNyZWF0ZUNvbXBpbGVGbjogQ3JlYXRlQ29tcGlsZUZuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmIChjbHVzdGVyLmlzTWFzdGVyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUcmllZCB0byBydW4gY2x1c3RlciB3b3JrZXIgb24gdGhlIG1hc3RlciBwcm9jZXNzLicpO1xuICB9XG5cbiAgY29uc3QgY29tcGlsZSA9IGNyZWF0ZUNvbXBpbGVGbihcbiAgICAgIHRyYW5zZm9ybWVkRmlsZXMgPT4gc2VuZE1lc3NhZ2VUb01hc3Rlcih7XG4gICAgICAgIHR5cGU6ICd0cmFuc2Zvcm1lZC1maWxlcycsXG4gICAgICAgIGZpbGVzOiB0cmFuc2Zvcm1lZEZpbGVzLm1hcChmID0+IGYucGF0aCksXG4gICAgICB9KSxcbiAgICAgIChfdGFzaywgb3V0Y29tZSwgbWVzc2FnZSkgPT4gc2VuZE1lc3NhZ2VUb01hc3Rlcih7dHlwZTogJ3Rhc2stY29tcGxldGVkJywgb3V0Y29tZSwgbWVzc2FnZX0pKTtcblxuXG4gIC8vIExpc3RlbiBmb3IgYFByb2Nlc3NUYXNrTWVzc2FnZWBzIGFuZCBwcm9jZXNzIHRhc2tzLlxuICBjbHVzdGVyLndvcmtlci5vbignbWVzc2FnZScsIGFzeW5jIChtc2c6IE1lc3NhZ2VUb1dvcmtlcikgPT4ge1xuICAgIHRyeSB7XG4gICAgICBzd2l0Y2ggKG1zZy50eXBlKSB7XG4gICAgICAgIGNhc2UgJ3Byb2Nlc3MtdGFzayc6XG4gICAgICAgICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgICAgICAgICBgW1dvcmtlciAjJHtjbHVzdGVyLndvcmtlci5pZH1dIFByb2Nlc3NpbmcgdGFzazogJHtzdHJpbmdpZnlUYXNrKG1zZy50YXNrKX1gKTtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgY29tcGlsZShtc2cudGFzayk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICBgW1dvcmtlciAjJHtjbHVzdGVyLndvcmtlci5pZH1dIEludmFsaWQgbWVzc2FnZSByZWNlaXZlZDogJHtKU09OLnN0cmluZ2lmeShtc2cpfWApO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgc3dpdGNoIChlcnIgJiYgZXJyLmNvZGUpIHtcbiAgICAgICAgY2FzZSAnRU5PTUVNJzpcbiAgICAgICAgICAvLyBOb3QgYmVpbmcgYWJsZSB0byBhbGxvY2F0ZSBlbm91Z2ggbWVtb3J5IGlzIG5vdCBuZWNlc3NhcmlseSBhIHByb2JsZW0gd2l0aCBwcm9jZXNzaW5nXG4gICAgICAgICAgLy8gdGhlIGN1cnJlbnQgdGFzay4gSXQgY291bGQganVzdCBtZWFuIHRoYXQgdGhlcmUgYXJlIHRvbyBtYW55IHRhc2tzIGJlaW5nIHByb2Nlc3NlZFxuICAgICAgICAgIC8vIHNpbXVsdGFuZW91c2x5LlxuICAgICAgICAgIC8vXG4gICAgICAgICAgLy8gRXhpdCB3aXRoIGFuIGVycm9yIGFuZCBsZXQgdGhlIGNsdXN0ZXIgbWFzdGVyIGRlY2lkZSBob3cgdG8gaGFuZGxlIHRoaXMuXG4gICAgICAgICAgbG9nZ2VyLndhcm4oYFtXb3JrZXIgIyR7Y2x1c3Rlci53b3JrZXIuaWR9XSAke2Vyci5zdGFjayB8fCBlcnIubWVzc2FnZX1gKTtcbiAgICAgICAgICByZXR1cm4gcHJvY2Vzcy5leGl0KDEpO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGF3YWl0IHNlbmRNZXNzYWdlVG9NYXN0ZXIoe1xuICAgICAgICAgICAgdHlwZTogJ2Vycm9yJyxcbiAgICAgICAgICAgIGVycm9yOiAoZXJyIGluc3RhbmNlb2YgRXJyb3IpID8gKGVyci5zdGFjayB8fCBlcnIubWVzc2FnZSkgOiBlcnIsXG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICAvLyBSZXR1cm4gYSBwcm9taXNlIHRoYXQgaXMgbmV2ZXIgcmVzb2x2ZWQuXG4gIHJldHVybiBuZXcgUHJvbWlzZSgoKSA9PiB1bmRlZmluZWQpO1xufVxuIl19
@@ -1,62 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- import * as ts from 'typescript';
9
- import { replaceTsWithNgInErrors } from '../../../src/ngtsc/diagnostics';
10
- import { getEntryPointFormat } from '../packages/entry_point';
11
- import { makeEntryPointBundle } from '../packages/entry_point_bundle';
12
- import { createModuleResolutionCache, SharedFileCache } from '../packages/source_file_cache';
13
- /**
14
- * The function for creating the `compile()` function.
15
- */
16
- export function getCreateCompileFn(fileSystem, logger, fileWriter, enableI18nLegacyMessageIdFormat, tsConfig, pathMappings) {
17
- return (beforeWritingFiles, onTaskCompleted) => {
18
- const { Transformer } = require('../packages/transformer');
19
- const transformer = new Transformer(fileSystem, logger, tsConfig);
20
- const sharedFileCache = new SharedFileCache(fileSystem);
21
- const moduleResolutionCache = createModuleResolutionCache(fileSystem);
22
- return (task) => {
23
- const { entryPoint, formatProperty, formatPropertiesToMarkAsProcessed, processDts } = task;
24
- const isCore = entryPoint.name === '@angular/core'; // Are we compiling the Angular core?
25
- const packageJson = entryPoint.packageJson;
26
- const formatPath = packageJson[formatProperty];
27
- const format = getEntryPointFormat(fileSystem, entryPoint, formatProperty);
28
- // All properties listed in `propertiesToProcess` are guaranteed to point to a format-path
29
- // (i.e. they are defined in `entryPoint.packageJson`). Furthermore, they are also guaranteed
30
- // to be among `SUPPORTED_FORMAT_PROPERTIES`.
31
- // Based on the above, `formatPath` should always be defined and `getEntryPointFormat()`
32
- // should always return a format here (and not `undefined`) unless `formatPath` points to a
33
- // missing or empty file.
34
- if (!formatPath || !format) {
35
- onTaskCompleted(task, 1 /* Failed */, `property \`${formatProperty}\` pointing to a missing or empty file: ${formatPath}`);
36
- return;
37
- }
38
- logger.info(`Compiling ${entryPoint.name} : ${formatProperty} as ${format}`);
39
- const bundle = makeEntryPointBundle(fileSystem, entryPoint, sharedFileCache, moduleResolutionCache, formatPath, isCore, format, processDts, pathMappings, true, enableI18nLegacyMessageIdFormat);
40
- const result = transformer.transform(bundle);
41
- if (result.success) {
42
- if (result.diagnostics.length > 0) {
43
- logger.warn(replaceTsWithNgInErrors(ts.formatDiagnosticsWithColorAndContext(result.diagnostics, bundle.src.host)));
44
- }
45
- const writeBundle = () => {
46
- fileWriter.writeBundle(bundle, result.transformedFiles, formatPropertiesToMarkAsProcessed);
47
- logger.debug(` Successfully compiled ${entryPoint.name} : ${formatProperty}`);
48
- onTaskCompleted(task, 0 /* Processed */, null);
49
- };
50
- const beforeWritingResult = beforeWritingFiles(result.transformedFiles);
51
- return (beforeWritingResult instanceof Promise) ?
52
- beforeWritingResult.then(writeBundle) :
53
- writeBundle();
54
- }
55
- else {
56
- const errors = replaceTsWithNgInErrors(ts.formatDiagnosticsWithColorAndContext(result.diagnostics, bundle.src.host));
57
- onTaskCompleted(task, 1 /* Failed */, `compilation errors:\n${errors}`);
58
- }
59
- };
60
- };
61
- }
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX2NvbXBpbGVfZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvbmdjYy9zcmMvZXhlY3V0aW9uL2NyZWF0ZV9jb21waWxlX2Z1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBOzs7Ozs7R0FNRztBQUNILE9BQU8sS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRWpDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBSXZFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBQywyQkFBMkIsRUFBRSxlQUFlLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQU8zRjs7R0FFRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FDOUIsVUFBc0IsRUFBRSxNQUFjLEVBQUUsVUFBc0IsRUFDOUQsK0JBQXdDLEVBQUUsUUFBa0MsRUFDNUUsWUFBb0M7SUFDdEMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxFQUFFO1FBQzdDLE1BQU0sRUFBQyxXQUFXLEVBQUMsR0FBRyxPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUN6RCxNQUFNLFdBQVcsR0FBRyxJQUFJLFdBQVcsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sZUFBZSxHQUFHLElBQUksZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hELE1BQU0scUJBQXFCLEdBQUcsMkJBQTJCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFdEUsT0FBTyxDQUFDLElBQVUsRUFBRSxFQUFFO1lBQ3BCLE1BQU0sRUFBQyxVQUFVLEVBQUUsY0FBYyxFQUFFLGlDQUFpQyxFQUFFLFVBQVUsRUFBQyxHQUFHLElBQUksQ0FBQztZQUV6RixNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxDQUFFLHFDQUFxQztZQUMxRixNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDO1lBQzNDLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUMvQyxNQUFNLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1lBRTNFLDBGQUEwRjtZQUMxRiw2RkFBNkY7WUFDN0YsNkNBQTZDO1lBQzdDLHdGQUF3RjtZQUN4RiwyRkFBMkY7WUFDM0YseUJBQXlCO1lBQ3pCLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQzFCLGVBQWUsQ0FDWCxJQUFJLGtCQUNKLGNBQWMsY0FBYywyQ0FBMkMsVUFBVSxFQUFFLENBQUMsQ0FBQztnQkFDekYsT0FBTzthQUNSO1lBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLFVBQVUsQ0FBQyxJQUFJLE1BQU0sY0FBYyxPQUFPLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFFN0UsTUFBTSxNQUFNLEdBQUcsb0JBQW9CLENBQy9CLFVBQVUsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQ2xGLE1BQU0sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSwrQkFBK0IsQ0FBQyxDQUFDO1lBRTdFLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDN0MsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFO2dCQUNsQixJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDakMsTUFBTSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FDL0IsRUFBRSxDQUFDLG9DQUFvQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3BGO2dCQUVELE1BQU0sV0FBVyxHQUFHLEdBQUcsRUFBRTtvQkFDdkIsVUFBVSxDQUFDLFdBQVcsQ0FDbEIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxpQ0FBaUMsQ0FBQyxDQUFDO29CQUV4RSxNQUFNLENBQUMsS0FBSyxDQUFDLDJCQUEyQixVQUFVLENBQUMsSUFBSSxNQUFNLGNBQWMsRUFBRSxDQUFDLENBQUM7b0JBQy9FLGVBQWUsQ0FBQyxJQUFJLHFCQUFtQyxJQUFJLENBQUMsQ0FBQztnQkFDL0QsQ0FBQyxDQUFDO2dCQUVGLE1BQU0sbUJBQW1CLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBRXhFLE9BQU8sQ0FBQyxtQkFBbUIsWUFBWSxPQUFPLENBQUMsQ0FBQyxDQUFDO29CQUM3QyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUEwQyxDQUFBLENBQUM7b0JBQy9FLFdBQVcsRUFBRSxDQUFDO2FBQ25CO2lCQUFNO2dCQUNMLE1BQU0sTUFBTSxHQUFHLHVCQUF1QixDQUNsQyxFQUFFLENBQUMsb0NBQW9DLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ2xGLGVBQWUsQ0FBQyxJQUFJLGtCQUFnQyx3QkFBd0IsTUFBTSxFQUFFLENBQUMsQ0FBQzthQUN2RjtRQUNILENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7cmVwbGFjZVRzV2l0aE5nSW5FcnJvcnN9IGZyb20gJy4uLy4uLy4uL3NyYy9uZ3RzYy9kaWFnbm9zdGljcyc7XG5pbXBvcnQge0ZpbGVTeXN0ZW19IGZyb20gJy4uLy4uLy4uL3NyYy9uZ3RzYy9maWxlX3N5c3RlbSc7XG5pbXBvcnQge0xvZ2dlcn0gZnJvbSAnLi4vLi4vLi4vc3JjL25ndHNjL2xvZ2dpbmcnO1xuaW1wb3J0IHtQYXJzZWRDb25maWd1cmF0aW9ufSBmcm9tICcuLi8uLi8uLi9zcmMvcGVyZm9ybV9jb21waWxlJztcbmltcG9ydCB7Z2V0RW50cnlQb2ludEZvcm1hdH0gZnJvbSAnLi4vcGFja2FnZXMvZW50cnlfcG9pbnQnO1xuaW1wb3J0IHttYWtlRW50cnlQb2ludEJ1bmRsZX0gZnJvbSAnLi4vcGFja2FnZXMvZW50cnlfcG9pbnRfYnVuZGxlJztcbmltcG9ydCB7Y3JlYXRlTW9kdWxlUmVzb2x1dGlvbkNhY2hlLCBTaGFyZWRGaWxlQ2FjaGV9IGZyb20gJy4uL3BhY2thZ2VzL3NvdXJjZV9maWxlX2NhY2hlJztcbmltcG9ydCB7UGF0aE1hcHBpbmdzfSBmcm9tICcuLi9wYXRoX21hcHBpbmdzJztcbmltcG9ydCB7RmlsZVdyaXRlcn0gZnJvbSAnLi4vd3JpdGluZy9maWxlX3dyaXRlcic7XG5cbmltcG9ydCB7Q3JlYXRlQ29tcGlsZUZufSBmcm9tICcuL2FwaSc7XG5pbXBvcnQge1Rhc2ssIFRhc2tQcm9jZXNzaW5nT3V0Y29tZX0gZnJvbSAnLi90YXNrcy9hcGknO1xuXG4vKipcbiAqIFRoZSBmdW5jdGlvbiBmb3IgY3JlYXRpbmcgdGhlIGBjb21waWxlKClgIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q3JlYXRlQ29tcGlsZUZuKFxuICAgIGZpbGVTeXN0ZW06IEZpbGVTeXN0ZW0sIGxvZ2dlcjogTG9nZ2VyLCBmaWxlV3JpdGVyOiBGaWxlV3JpdGVyLFxuICAgIGVuYWJsZUkxOG5MZWdhY3lNZXNzYWdlSWRGb3JtYXQ6IGJvb2xlYW4sIHRzQ29uZmlnOiBQYXJzZWRDb25maWd1cmF0aW9ufG51bGwsXG4gICAgcGF0aE1hcHBpbmdzOiBQYXRoTWFwcGluZ3N8dW5kZWZpbmVkKTogQ3JlYXRlQ29tcGlsZUZuIHtcbiAgcmV0dXJuIChiZWZvcmVXcml0aW5nRmlsZXMsIG9uVGFza0NvbXBsZXRlZCkgPT4ge1xuICAgIGNvbnN0IHtUcmFuc2Zvcm1lcn0gPSByZXF1aXJlKCcuLi9wYWNrYWdlcy90cmFuc2Zvcm1lcicpO1xuICAgIGNvbnN0IHRyYW5zZm9ybWVyID0gbmV3IFRyYW5zZm9ybWVyKGZpbGVTeXN0ZW0sIGxvZ2dlciwgdHNDb25maWcpO1xuICAgIGNvbnN0IHNoYXJlZEZpbGVDYWNoZSA9IG5ldyBTaGFyZWRGaWxlQ2FjaGUoZmlsZVN5c3RlbSk7XG4gICAgY29uc3QgbW9kdWxlUmVzb2x1dGlvbkNhY2hlID0gY3JlYXRlTW9kdWxlUmVzb2x1dGlvbkNhY2hlKGZpbGVTeXN0ZW0pO1xuXG4gICAgcmV0dXJuICh0YXNrOiBUYXNrKSA9PiB7XG4gICAgICBjb25zdCB7ZW50cnlQb2ludCwgZm9ybWF0UHJvcGVydHksIGZvcm1hdFByb3BlcnRpZXNUb01hcmtBc1Byb2Nlc3NlZCwgcHJvY2Vzc0R0c30gPSB0YXNrO1xuXG4gICAgICBjb25zdCBpc0NvcmUgPSBlbnRyeVBvaW50Lm5hbWUgPT09ICdAYW5ndWxhci9jb3JlJzsgIC8vIEFyZSB3ZSBjb21waWxpbmcgdGhlIEFuZ3VsYXIgY29yZT9cbiAgICAgIGNvbnN0IHBhY2thZ2VKc29uID0gZW50cnlQb2ludC5wYWNrYWdlSnNvbjtcbiAgICAgIGNvbnN0IGZvcm1hdFBhdGggPSBwYWNrYWdlSnNvbltmb3JtYXRQcm9wZXJ0eV07XG4gICAgICBjb25zdCBmb3JtYXQgPSBnZXRFbnRyeVBvaW50Rm9ybWF0KGZpbGVTeXN0ZW0sIGVudHJ5UG9pbnQsIGZvcm1hdFByb3BlcnR5KTtcblxuICAgICAgLy8gQWxsIHByb3BlcnRpZXMgbGlzdGVkIGluIGBwcm9wZXJ0aWVzVG9Qcm9jZXNzYCBhcmUgZ3VhcmFudGVlZCB0byBwb2ludCB0byBhIGZvcm1hdC1wYXRoXG4gICAgICAvLyAoaS5lLiB0aGV5IGFyZSBkZWZpbmVkIGluIGBlbnRyeVBvaW50LnBhY2thZ2VKc29uYCkuIEZ1cnRoZXJtb3JlLCB0aGV5IGFyZSBhbHNvIGd1YXJhbnRlZWRcbiAgICAgIC8vIHRvIGJlIGFtb25nIGBTVVBQT1JURURfRk9STUFUX1BST1BFUlRJRVNgLlxuICAgICAgLy8gQmFzZWQgb24gdGhlIGFib3ZlLCBgZm9ybWF0UGF0aGAgc2hvdWxkIGFsd2F5cyBiZSBkZWZpbmVkIGFuZCBgZ2V0RW50cnlQb2ludEZvcm1hdCgpYFxuICAgICAgLy8gc2hvdWxkIGFsd2F5cyByZXR1cm4gYSBmb3JtYXQgaGVyZSAoYW5kIG5vdCBgdW5kZWZpbmVkYCkgdW5sZXNzIGBmb3JtYXRQYXRoYCBwb2ludHMgdG8gYVxuICAgICAgLy8gbWlzc2luZyBvciBlbXB0eSBmaWxlLlxuICAgICAgaWYgKCFmb3JtYXRQYXRoIHx8ICFmb3JtYXQpIHtcbiAgICAgICAgb25UYXNrQ29tcGxldGVkKFxuICAgICAgICAgICAgdGFzaywgVGFza1Byb2Nlc3NpbmdPdXRjb21lLkZhaWxlZCxcbiAgICAgICAgICAgIGBwcm9wZXJ0eSBcXGAke2Zvcm1hdFByb3BlcnR5fVxcYCBwb2ludGluZyB0byBhIG1pc3Npbmcgb3IgZW1wdHkgZmlsZTogJHtmb3JtYXRQYXRofWApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGxvZ2dlci5pbmZvKGBDb21waWxpbmcgJHtlbnRyeVBvaW50Lm5hbWV9IDogJHtmb3JtYXRQcm9wZXJ0eX0gYXMgJHtmb3JtYXR9YCk7XG5cbiAgICAgIGNvbnN0IGJ1bmRsZSA9IG1ha2VFbnRyeVBvaW50QnVuZGxlKFxuICAgICAgICAgIGZpbGVTeXN0ZW0sIGVudHJ5UG9pbnQsIHNoYXJlZEZpbGVDYWNoZSwgbW9kdWxlUmVzb2x1dGlvbkNhY2hlLCBmb3JtYXRQYXRoLCBpc0NvcmUsXG4gICAgICAgICAgZm9ybWF0LCBwcm9jZXNzRHRzLCBwYXRoTWFwcGluZ3MsIHRydWUsIGVuYWJsZUkxOG5MZWdhY3lNZXNzYWdlSWRGb3JtYXQpO1xuXG4gICAgICBjb25zdCByZXN1bHQgPSB0cmFuc2Zvcm1lci50cmFuc2Zvcm0oYnVuZGxlKTtcbiAgICAgIGlmIChyZXN1bHQuc3VjY2Vzcykge1xuICAgICAgICBpZiAocmVzdWx0LmRpYWdub3N0aWNzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBsb2dnZXIud2FybihyZXBsYWNlVHNXaXRoTmdJbkVycm9ycyhcbiAgICAgICAgICAgICAgdHMuZm9ybWF0RGlhZ25vc3RpY3NXaXRoQ29sb3JBbmRDb250ZXh0KHJlc3VsdC5kaWFnbm9zdGljcywgYnVuZGxlLnNyYy5ob3N0KSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgd3JpdGVCdW5kbGUgPSAoKSA9PiB7XG4gICAgICAgICAgZmlsZVdyaXRlci53cml0ZUJ1bmRsZShcbiAgICAgICAgICAgICAgYnVuZGxlLCByZXN1bHQudHJhbnNmb3JtZWRGaWxlcywgZm9ybWF0UHJvcGVydGllc1RvTWFya0FzUHJvY2Vzc2VkKTtcblxuICAgICAgICAgIGxvZ2dlci5kZWJ1ZyhgICBTdWNjZXNzZnVsbHkgY29tcGlsZWQgJHtlbnRyeVBvaW50Lm5hbWV9IDogJHtmb3JtYXRQcm9wZXJ0eX1gKTtcbiAgICAgICAgICBvblRhc2tDb21wbGV0ZWQodGFzaywgVGFza1Byb2Nlc3NpbmdPdXRjb21lLlByb2Nlc3NlZCwgbnVsbCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgYmVmb3JlV3JpdGluZ1Jlc3VsdCA9IGJlZm9yZVdyaXRpbmdGaWxlcyhyZXN1bHQudHJhbnNmb3JtZWRGaWxlcyk7XG5cbiAgICAgICAgcmV0dXJuIChiZWZvcmVXcml0aW5nUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSkgP1xuICAgICAgICAgICAgYmVmb3JlV3JpdGluZ1Jlc3VsdC50aGVuKHdyaXRlQnVuZGxlKSBhcyBSZXR1cm5UeXBlPHR5cGVvZiBiZWZvcmVXcml0aW5nRmlsZXM+OlxuICAgICAgICAgICAgd3JpdGVCdW5kbGUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGVycm9ycyA9IHJlcGxhY2VUc1dpdGhOZ0luRXJyb3JzKFxuICAgICAgICAgICAgdHMuZm9ybWF0RGlhZ25vc3RpY3NXaXRoQ29sb3JBbmRDb250ZXh0KHJlc3VsdC5kaWFnbm9zdGljcywgYnVuZGxlLnNyYy5ob3N0KSk7XG4gICAgICAgIG9uVGFza0NvbXBsZXRlZCh0YXNrLCBUYXNrUHJvY2Vzc2luZ091dGNvbWUuRmFpbGVkLCBgY29tcGlsYXRpb24gZXJyb3JzOlxcbiR7ZXJyb3JzfWApO1xuICAgICAgfVxuICAgIH07XG4gIH07XG59XG4iXX0=
@@ -1,57 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- import { __awaiter } from "tslib";
9
- export class SingleProcessorExecutorBase {
10
- constructor(logger, createTaskCompletedCallback) {
11
- this.logger = logger;
12
- this.createTaskCompletedCallback = createTaskCompletedCallback;
13
- }
14
- doExecute(analyzeEntryPoints, createCompileFn) {
15
- this.logger.debug(`Running ngcc on ${this.constructor.name}.`);
16
- const taskQueue = analyzeEntryPoints();
17
- const onTaskCompleted = this.createTaskCompletedCallback(taskQueue);
18
- const compile = createCompileFn(() => { }, onTaskCompleted);
19
- // Process all tasks.
20
- this.logger.debug('Processing tasks...');
21
- const startTime = Date.now();
22
- while (!taskQueue.allTasksCompleted) {
23
- const task = taskQueue.getNextTask();
24
- compile(task);
25
- taskQueue.markAsCompleted(task);
26
- }
27
- const duration = Math.round((Date.now() - startTime) / 1000);
28
- this.logger.debug(`Processed tasks in ${duration}s.`);
29
- }
30
- }
31
- /**
32
- * An `Executor` that processes all tasks serially and completes synchronously.
33
- */
34
- export class SingleProcessExecutorSync extends SingleProcessorExecutorBase {
35
- constructor(logger, lockFile, createTaskCompletedCallback) {
36
- super(logger, createTaskCompletedCallback);
37
- this.lockFile = lockFile;
38
- }
39
- execute(analyzeEntryPoints, createCompileFn) {
40
- this.lockFile.lock(() => this.doExecute(analyzeEntryPoints, createCompileFn));
41
- }
42
- }
43
- /**
44
- * An `Executor` that processes all tasks serially, but still completes asynchronously.
45
- */
46
- export class SingleProcessExecutorAsync extends SingleProcessorExecutorBase {
47
- constructor(logger, lockFile, createTaskCompletedCallback) {
48
- super(logger, createTaskCompletedCallback);
49
- this.lockFile = lockFile;
50
- }
51
- execute(analyzeEntryPoints, createCompileFn) {
52
- return __awaiter(this, void 0, void 0, function* () {
53
- yield this.lockFile.lock(() => __awaiter(this, void 0, void 0, function* () { return this.doExecute(analyzeEntryPoints, createCompileFn); }));
54
- });
55
- }
56
- }
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlX3Byb2Nlc3NfZXhlY3V0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvbmdjYy9zcmMvZXhlY3V0aW9uL3NpbmdsZV9wcm9jZXNzX2V4ZWN1dG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7QUFTSCxNQUFNLE9BQWdCLDJCQUEyQjtJQUMvQyxZQUNZLE1BQWMsRUFBVSwyQkFBd0Q7UUFBaEYsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLGdDQUEyQixHQUEzQiwyQkFBMkIsQ0FBNkI7SUFBRyxDQUFDO0lBRWhHLFNBQVMsQ0FBQyxrQkFBd0MsRUFBRSxlQUFnQztRQUVsRixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBRS9ELE1BQU0sU0FBUyxHQUFHLGtCQUFrQixFQUFFLENBQUM7UUFDdkMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFFM0QscUJBQXFCO1FBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDekMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRTdCLE9BQU8sQ0FBQyxTQUFTLENBQUMsaUJBQWlCLEVBQUU7WUFDbkMsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLFdBQVcsRUFBRyxDQUFDO1lBQ3RDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNkLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakM7UUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHNCQUFzQixRQUFRLElBQUksQ0FBQyxDQUFDO0lBQ3hELENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHlCQUEwQixTQUFRLDJCQUEyQjtJQUN4RSxZQUNJLE1BQWMsRUFBVSxRQUFvQixFQUM1QywyQkFBd0Q7UUFDMUQsS0FBSyxDQUFDLE1BQU0sRUFBRSwyQkFBMkIsQ0FBQyxDQUFDO1FBRmpCLGFBQVEsR0FBUixRQUFRLENBQVk7SUFHaEQsQ0FBQztJQUNELE9BQU8sQ0FBQyxrQkFBd0MsRUFBRSxlQUFnQztRQUNoRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsMkJBQTJCO0lBQ3pFLFlBQ0ksTUFBYyxFQUFVLFFBQXFCLEVBQzdDLDJCQUF3RDtRQUMxRCxLQUFLLENBQUMsTUFBTSxFQUFFLDJCQUEyQixDQUFDLENBQUM7UUFGakIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtJQUdqRCxDQUFDO0lBQ0ssT0FBTyxDQUFDLGtCQUF3QyxFQUFFLGVBQWdDOztZQUV0RixNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQVMsRUFBRSxnREFBQyxPQUFBLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLEVBQUUsZUFBZSxDQUFDLENBQUEsR0FBQSxDQUFDLENBQUM7UUFDNUYsQ0FBQztLQUFBO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtMb2dnZXJ9IGZyb20gJy4uLy4uLy4uL3NyYy9uZ3RzYy9sb2dnaW5nJztcbmltcG9ydCB7QXN5bmNMb2NrZXJ9IGZyb20gJy4uL2xvY2tpbmcvYXN5bmNfbG9ja2VyJztcbmltcG9ydCB7U3luY0xvY2tlcn0gZnJvbSAnLi4vbG9ja2luZy9zeW5jX2xvY2tlcic7XG5cbmltcG9ydCB7QW5hbHl6ZUVudHJ5UG9pbnRzRm4sIENyZWF0ZUNvbXBpbGVGbiwgRXhlY3V0b3J9IGZyb20gJy4vYXBpJztcbmltcG9ydCB7Q3JlYXRlVGFza0NvbXBsZXRlZENhbGxiYWNrfSBmcm9tICcuL3Rhc2tzL2FwaSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTaW5nbGVQcm9jZXNzb3JFeGVjdXRvckJhc2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXIsIHByaXZhdGUgY3JlYXRlVGFza0NvbXBsZXRlZENhbGxiYWNrOiBDcmVhdGVUYXNrQ29tcGxldGVkQ2FsbGJhY2spIHt9XG5cbiAgZG9FeGVjdXRlKGFuYWx5emVFbnRyeVBvaW50czogQW5hbHl6ZUVudHJ5UG9pbnRzRm4sIGNyZWF0ZUNvbXBpbGVGbjogQ3JlYXRlQ29tcGlsZUZuKTpcbiAgICAgIHZvaWR8UHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoYFJ1bm5pbmcgbmdjYyBvbiAke3RoaXMuY29uc3RydWN0b3IubmFtZX0uYCk7XG5cbiAgICBjb25zdCB0YXNrUXVldWUgPSBhbmFseXplRW50cnlQb2ludHMoKTtcbiAgICBjb25zdCBvblRhc2tDb21wbGV0ZWQgPSB0aGlzLmNyZWF0ZVRhc2tDb21wbGV0ZWRDYWxsYmFjayh0YXNrUXVldWUpO1xuICAgIGNvbnN0IGNvbXBpbGUgPSBjcmVhdGVDb21waWxlRm4oKCkgPT4ge30sIG9uVGFza0NvbXBsZXRlZCk7XG5cbiAgICAvLyBQcm9jZXNzIGFsbCB0YXNrcy5cbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnUHJvY2Vzc2luZyB0YXNrcy4uLicpO1xuICAgIGNvbnN0IHN0YXJ0VGltZSA9IERhdGUubm93KCk7XG5cbiAgICB3aGlsZSAoIXRhc2tRdWV1ZS5hbGxUYXNrc0NvbXBsZXRlZCkge1xuICAgICAgY29uc3QgdGFzayA9IHRhc2tRdWV1ZS5nZXROZXh0VGFzaygpITtcbiAgICAgIGNvbXBpbGUodGFzayk7XG4gICAgICB0YXNrUXVldWUubWFya0FzQ29tcGxldGVkKHRhc2spO1xuICAgIH1cblxuICAgIGNvbnN0IGR1cmF0aW9uID0gTWF0aC5yb3VuZCgoRGF0ZS5ub3coKSAtIHN0YXJ0VGltZSkgLyAxMDAwKTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgUHJvY2Vzc2VkIHRhc2tzIGluICR7ZHVyYXRpb259cy5gKTtcbiAgfVxufVxuXG4vKipcbiAqIEFuIGBFeGVjdXRvcmAgdGhhdCBwcm9jZXNzZXMgYWxsIHRhc2tzIHNlcmlhbGx5IGFuZCBjb21wbGV0ZXMgc3luY2hyb25vdXNseS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNpbmdsZVByb2Nlc3NFeGVjdXRvclN5bmMgZXh0ZW5kcyBTaW5nbGVQcm9jZXNzb3JFeGVjdXRvckJhc2UgaW1wbGVtZW50cyBFeGVjdXRvciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgICAgbG9nZ2VyOiBMb2dnZXIsIHByaXZhdGUgbG9ja0ZpbGU6IFN5bmNMb2NrZXIsXG4gICAgICBjcmVhdGVUYXNrQ29tcGxldGVkQ2FsbGJhY2s6IENyZWF0ZVRhc2tDb21wbGV0ZWRDYWxsYmFjaykge1xuICAgIHN1cGVyKGxvZ2dlciwgY3JlYXRlVGFza0NvbXBsZXRlZENhbGxiYWNrKTtcbiAgfVxuICBleGVjdXRlKGFuYWx5emVFbnRyeVBvaW50czogQW5hbHl6ZUVudHJ5UG9pbnRzRm4sIGNyZWF0ZUNvbXBpbGVGbjogQ3JlYXRlQ29tcGlsZUZuKTogdm9pZCB7XG4gICAgdGhpcy5sb2NrRmlsZS5sb2NrKCgpID0+IHRoaXMuZG9FeGVjdXRlKGFuYWx5emVFbnRyeVBvaW50cywgY3JlYXRlQ29tcGlsZUZuKSk7XG4gIH1cbn1cblxuLyoqXG4gKiBBbiBgRXhlY3V0b3JgIHRoYXQgcHJvY2Vzc2VzIGFsbCB0YXNrcyBzZXJpYWxseSwgYnV0IHN0aWxsIGNvbXBsZXRlcyBhc3luY2hyb25vdXNseS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNpbmdsZVByb2Nlc3NFeGVjdXRvckFzeW5jIGV4dGVuZHMgU2luZ2xlUHJvY2Vzc29yRXhlY3V0b3JCYXNlIGltcGxlbWVudHMgRXhlY3V0b3Ige1xuICBjb25zdHJ1Y3RvcihcbiAgICAgIGxvZ2dlcjogTG9nZ2VyLCBwcml2YXRlIGxvY2tGaWxlOiBBc3luY0xvY2tlcixcbiAgICAgIGNyZWF0ZVRhc2tDb21wbGV0ZWRDYWxsYmFjazogQ3JlYXRlVGFza0NvbXBsZXRlZENhbGxiYWNrKSB7XG4gICAgc3VwZXIobG9nZ2VyLCBjcmVhdGVUYXNrQ29tcGxldGVkQ2FsbGJhY2spO1xuICB9XG4gIGFzeW5jIGV4ZWN1dGUoYW5hbHl6ZUVudHJ5UG9pbnRzOiBBbmFseXplRW50cnlQb2ludHNGbiwgY3JlYXRlQ29tcGlsZUZuOiBDcmVhdGVDb21waWxlRm4pOlxuICAgICAgUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5sb2NrRmlsZS5sb2NrKGFzeW5jICgpID0+IHRoaXMuZG9FeGVjdXRlKGFuYWx5emVFbnRyeVBvaW50cywgY3JlYXRlQ29tcGlsZUZuKSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,22 +0,0 @@
1
- /**
2
- * The options for processing Typescript typings (.d.ts) files.
3
- */
4
- export var DtsProcessing;
5
- (function (DtsProcessing) {
6
- /**
7
- * Yes, process the typings for this entry point as part of the task.
8
- */
9
- DtsProcessing[DtsProcessing["Yes"] = 0] = "Yes";
10
- /**
11
- * No, do not process the typings as part of this task - they must have already been processed by
12
- * another task or previous ngcc process.
13
- */
14
- DtsProcessing[DtsProcessing["No"] = 1] = "No";
15
- /**
16
- * Only process the typings for this entry-point; do not render any JavaScript files for the
17
- * `formatProperty` of this task.
18
- */
19
- DtsProcessing[DtsProcessing["Only"] = 2] = "Only";
20
- })(DtsProcessing || (DtsProcessing = {}));
21
- export const TaskDependencies = Map;
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL25nY2Mvc3JjL2V4ZWN1dGlvbi90YXNrcy9hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0NBOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksYUFlWDtBQWZELFdBQVksYUFBYTtJQUN2Qjs7T0FFRztJQUNILCtDQUFHLENBQUE7SUFDSDs7O09BR0c7SUFDSCw2Q0FBRSxDQUFBO0lBQ0Y7OztPQUdHO0lBQ0gsaURBQUksQ0FBQTtBQUNOLENBQUMsRUFmVyxhQUFhLEtBQWIsYUFBYSxRQWV4QjtBQXFCRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7RW50cnlQb2ludCwgRW50cnlQb2ludEpzb25Qcm9wZXJ0eSwgSnNvbk9iamVjdH0gZnJvbSAnLi4vLi4vcGFja2FnZXMvZW50cnlfcG9pbnQnO1xuaW1wb3J0IHtQYXJ0aWFsbHlPcmRlcmVkTGlzdH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSB1bml0IG9mIHdvcmsgdG8gYmUgdW5kZXJ0YWtlbiBieSBhbiBgRXhlY3V0b3JgLlxuICpcbiAqIEEgdGFzayBjb25zaXN0cyBvZiBwcm9jZXNzaW5nIGEgc3BlY2lmaWMgZm9ybWF0IHByb3BlcnR5IG9mIGFuIGVudHJ5LXBvaW50LlxuICogVGhpcyBtYXkgb3IgbWF5IG5vdCBhbHNvIGluY2x1ZGUgcHJvY2Vzc2luZyB0aGUgdHlwaW5ncyBmb3IgdGhhdCBlbnRyeS1wb2ludCwgd2hpY2ggb25seSBuZWVkcyB0b1xuICogaGFwcGVuIG9uY2UgYWNyb3NzIGFsbCB0aGUgZm9ybWF0cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYXNrIGV4dGVuZHMgSnNvbk9iamVjdCB7XG4gIC8qKiBUaGUgYEVudHJ5UG9pbnRgIHdoaWNoIG5lZWRzIHRvIGJlIHByb2Nlc3NlZCBhcyBwYXJ0IG9mIHRoZSB0YXNrLiAqL1xuICBlbnRyeVBvaW50OiBFbnRyeVBvaW50O1xuXG4gIC8qKlxuICAgKiBUaGUgYHBhY2thZ2UuanNvbmAgZm9ybWF0IHByb3BlcnR5IHRvIHByb2Nlc3MgKGkuZS4gdGhlIHByb3BlcnR5IHdoaWNoIHBvaW50cyB0byB0aGUgZmlsZSB0aGF0XG4gICAqIGlzIHRoZSBwcm9ncmFtIGVudHJ5LXBvaW50KS5cbiAgICovXG4gIGZvcm1hdFByb3BlcnR5OiBFbnRyeVBvaW50SnNvblByb3BlcnR5O1xuXG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiBhbGwgZm9ybWF0IHByb3BlcnRpZXMgKGluY2x1ZGluZyBgdGFzay5mb3JtYXRQcm9wZXJ0eWApIHRoYXQgc2hvdWxkIGJlIG1hcmtlZCBhc1xuICAgKiBwcm9jZXNzZWQgb25jZSB0aGUgdGFzayBoYXMgYmVlbiBjb21wbGV0ZWQsIGJlY2F1c2UgdGhleSBwb2ludCB0byB0aGUgZm9ybWF0LXBhdGggdGhhdCB3aWxsIGJlXG4gICAqIHByb2Nlc3NlZCBhcyBwYXJ0IG9mIHRoZSB0YXNrLlxuICAgKi9cbiAgZm9ybWF0UHJvcGVydGllc1RvTWFya0FzUHJvY2Vzc2VkOiBFbnRyeVBvaW50SnNvblByb3BlcnR5W107XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcHJvY2VzcyB0eXBpbmdzIGZvciB0aGlzIGVudHJ5LXBvaW50IGFzIHBhcnQgb2YgdGhlIHRhc2suXG4gICAqL1xuICBwcm9jZXNzRHRzOiBEdHNQcm9jZXNzaW5nO1xufVxuXG4vKipcbiAqIFRoZSBvcHRpb25zIGZvciBwcm9jZXNzaW5nIFR5cGVzY3JpcHQgdHlwaW5ncyAoLmQudHMpIGZpbGVzLlxuICovXG5leHBvcnQgZW51bSBEdHNQcm9jZXNzaW5nIHtcbiAgLyoqXG4gICAqIFllcywgcHJvY2VzcyB0aGUgdHlwaW5ncyBmb3IgdGhpcyBlbnRyeSBwb2ludCBhcyBwYXJ0IG9mIHRoZSB0YXNrLlxuICAgKi9cbiAgWWVzLFxuICAvKipcbiAgICogTm8sIGRvIG5vdCBwcm9jZXNzIHRoZSB0eXBpbmdzIGFzIHBhcnQgb2YgdGhpcyB0YXNrIC0gdGhleSBtdXN0IGhhdmUgYWxyZWFkeSBiZWVuIHByb2Nlc3NlZCBieVxuICAgKiBhbm90aGVyIHRhc2sgb3IgcHJldmlvdXMgbmdjYyBwcm9jZXNzLlxuICAgKi9cbiAgTm8sXG4gIC8qKlxuICAgKiBPbmx5IHByb2Nlc3MgdGhlIHR5cGluZ3MgZm9yIHRoaXMgZW50cnktcG9pbnQ7IGRvIG5vdCByZW5kZXIgYW55IEphdmFTY3JpcHQgZmlsZXMgZm9yIHRoZVxuICAgKiBgZm9ybWF0UHJvcGVydHlgIG9mIHRoaXMgdGFzay5cbiAgICovXG4gIE9ubHksXG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHBhcnRpYWxseSBvcmRlcmVkIGxpc3Qgb2YgdGFza3MuXG4gKlxuICogVGhlIG9yZGVyaW5nL3ByZWNlZGVuY2Ugb2YgdGFza3MgaXMgZGV0ZXJtaW5lZCBieSB0aGUgaW50ZXItZGVwZW5kZW5jaWVzIGJldHdlZW4gdGhlaXIgYXNzb2NpYXRlZFxuICogZW50cnktcG9pbnRzLiBTcGVjaWZpY2FsbHksIHRoZSB0YXNrcycgb3JkZXIvcHJlY2VkZW5jZSBpcyBzdWNoIHRoYXQgdGFza3MgYXNzb2NpYXRlZCB0b1xuICogZGVwZW5kZW50IGVudHJ5LXBvaW50cyBhbHdheXMgY29tZSBhZnRlciB0YXNrcyBhc3NvY2lhdGVkIHdpdGggdGhlaXIgZGVwZW5kZW5jaWVzLlxuICpcbiAqIEFzIHJlc3VsdCBvZiB0aGlzIG9yZGVyaW5nLCBpdCBpcyBndWFyYW50ZWVkIHRoYXQgLSBieSBwcm9jZXNzaW5nIHRhc2tzIGluIHRoZSBvcmRlciBpbiB3aGljaFxuICogdGhleSBhcHBlYXIgaW4gdGhlIGxpc3QgLSBhIHRhc2sncyBkZXBlbmRlbmNpZXMgd2lsbCBhbHdheXMgaGF2ZSBiZWVuIHByb2Nlc3NlZCBiZWZvcmUgcHJvY2Vzc2luZ1xuICogdGhlIHRhc2sgaXRzZWxmLlxuICpcbiAqIFNlZSBgRGVwZW5kZW5jeVJlc29sdmVyI3NvcnRFbnRyeVBvaW50c0J5RGVwZW5kZW5jeSgpYC5cbiAqL1xuZXhwb3J0IHR5cGUgUGFydGlhbGx5T3JkZXJlZFRhc2tzID0gUGFydGlhbGx5T3JkZXJlZExpc3Q8VGFzaz47XG5cbi8qKlxuICogQSBtYXBwaW5nIGZyb20gVGFza3MgdG8gdGhlIFRhc2tzIHRoYXQgZGVwZW5kIHVwb24gdGhlbSAoZGVwZW5kZW50cykuXG4gKi9cbmV4cG9ydCB0eXBlIFRhc2tEZXBlbmRlbmNpZXMgPSBNYXA8VGFzaywgU2V0PFRhc2s+PjtcbmV4cG9ydCBjb25zdCBUYXNrRGVwZW5kZW5jaWVzID0gTWFwO1xuXG4vKipcbiAqIEEgZnVuY3Rpb24gdG8gY3JlYXRlIGEgVGFza0NvbXBsZXRlZENhbGxiYWNrIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgdHlwZSBDcmVhdGVUYXNrQ29tcGxldGVkQ2FsbGJhY2sgPSAodGFza1F1ZXVlOiBUYXNrUXVldWUpID0+IFRhc2tDb21wbGV0ZWRDYWxsYmFjaztcblxuLyoqXG4gKiBBIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCBvbmNlIGEgdGFzayBoYXMgYmVlbiBwcm9jZXNzZWQuXG4gKi9cbmV4cG9ydCB0eXBlIFRhc2tDb21wbGV0ZWRDYWxsYmFjayA9XG4gICAgKHRhc2s6IFRhc2ssIG91dGNvbWU6IFRhc2tQcm9jZXNzaW5nT3V0Y29tZSwgbWVzc2FnZTogc3RyaW5nfG51bGwpID0+IHZvaWQ7XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgb3V0Y29tZSBvZiBwcm9jZXNzaW5nIGEgYFRhc2tgLlxuICovXG5leHBvcnQgY29uc3QgZW51bSBUYXNrUHJvY2Vzc2luZ091dGNvbWUge1xuICAvKiogU3VjY2Vzc2Z1bGx5IHByb2Nlc3NlZCB0aGUgdGFyZ2V0IGZvcm1hdCBwcm9wZXJ0eS4gKi9cbiAgUHJvY2Vzc2VkLFxuICAvKiogRmFpbGVkIHRvIHByb2Nlc3MgdGhlIHRhcmdldCBmb3JtYXQuICovXG4gIEZhaWxlZCxcbn1cblxuLyoqXG4gKiBBIHdyYXBwZXIgYXJvdW5kIGEgbGlzdCBvZiB0YXNrcyBhbmQgcHJvdmlkaW5nIHV0aWxpdHkgbWV0aG9kcyBmb3IgZ2V0dGluZyB0aGUgbmV4dCB0YXNrIG9mXG4gKiBpbnRlcmVzdCBhbmQgZGV0ZXJtaW5pbmcgd2hlbiBhbGwgdGFza3MgaGF2ZSBiZWVuIGNvbXBsZXRlZC5cbiAqXG4gKiAoVGhpcyBhbGxvd3MgZGlmZmVyZW50IGltcGxlbWVudGF0aW9ucyB0byBpbXBvc2UgZGlmZmVyZW50IGNvbnN0cmFpbnRzIG9uIHdoZW4gYSB0YXNrJ3NcbiAqIHByb2Nlc3NpbmcgY2FuIHN0YXJ0LilcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYXNrUXVldWUge1xuICAvKiogV2hldGhlciBhbGwgdGFza3MgaGF2ZSBiZWVuIGNvbXBsZXRlZC4gKi9cbiAgYWxsVGFza3NDb21wbGV0ZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbmV4dCB0YXNrIHdob3NlIHByb2Nlc3NpbmcgY2FuIHN0YXJ0IChpZiBhbnkpLlxuICAgKlxuICAgKiBUaGlzIGltcGxpY2l0bHkgbWFya3MgdGhlIHRhc2sgYXMgaW4tcHJvZ3Jlc3MuXG4gICAqIChUaGlzIGluZm9ybWF0aW9uIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgYWxsIHRhc2tzIGhhdmUgYmVlbiBjb21wbGV0ZWQuKVxuICAgKlxuICAgKiBAcmV0dXJuIFRoZSBuZXh0IHRhc2sgYXZhaWxhYmxlIGZvciBwcm9jZXNzaW5nIG9yIGBudWxsYCwgaWYgbm8gdGFzayBjYW4gYmUgcHJvY2Vzc2VkIGF0IHRoZVxuICAgKiAgICAgICAgIG1vbWVudCAoaW5jbHVkaW5nIGlmIHRoZXJlIGFyZSBubyBtb3JlIHVucHJvY2Vzc2VkIHRhc2tzKS5cbiAgICovXG4gIGdldE5leHRUYXNrKCk6IFRhc2t8bnVsbDtcblxuICAvKipcbiAgICogTWFyayBhIHRhc2sgYXMgY29tcGxldGVkLlxuICAgKlxuICAgKiBUaGlzIHJlbW92ZXMgdGhlIHRhc2sgZnJvbSB0aGUgaW50ZXJuYWwgbGlzdCBvZiBpbi1wcm9ncmVzcyB0YXNrcy5cbiAgICogKFRoaXMgaW5mb3JtYXRpb24gaXMgdXNlZCB0byBkZXRlcm1pbmUgd2hldGhlciBhbGwgdGFza3MgaGF2ZSBiZWVuIGNvbXBsZXRlZC4pXG4gICAqXG4gICAqIEBwYXJhbSB0YXNrIFRoZSB0YXNrIHRvIG1hcmsgYXMgY29tcGxldGVkLlxuICAgKi9cbiAgbWFya0FzQ29tcGxldGVkKHRhc2s6IFRhc2spOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBNYXJrIGEgdGFzayBhcyBmYWlsZWQuXG4gICAqXG4gICAqIERvIG5vdCBwcm9jZXNzIHRoZSB0YXNrcyB0aGF0IGRlcGVuZCB1cG9uIHRoZSBnaXZlbiB0YXNrLlxuICAgKi9cbiAgbWFya0FzRmFpbGVkKHRhc2s6IFRhc2spOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBNYXJrIGEgdGFzayBhcyBub3QgcHJvY2Vzc2VkIChpLmUuIGFkZCBhbiBpbi1wcm9ncmVzcyB0YXNrIGJhY2sgdG8gdGhlIHF1ZXVlKS5cbiAgICpcbiAgICogVGhpcyByZW1vdmVzIHRoZSB0YXNrIGZyb20gdGhlIGludGVybmFsIGxpc3Qgb2YgaW4tcHJvZ3Jlc3MgdGFza3MgYW5kIGFkZHMgaXQgYmFjayB0byB0aGUgbGlzdFxuICAgKiBvZiBwZW5kaW5nIHRhc2tzLlxuICAgKlxuICAgKiBAcGFyYW0gdGFzayBUaGUgdGFzayB0byBtYXJrIGFzIG5vdCBwcm9jZXNzZWQuXG4gICAqL1xuICBtYXJrQXNVbnByb2Nlc3NlZCh0YXNrOiBUYXNrKTogdm9pZDtcblxuICAvKipcbiAgICogUmV0dXJuIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB0YXNrIHF1ZXVlIChmb3IgZGVidWdnaW5nIHB1cnBvc2VzKS5cbiAgICpcbiAgICogQHJldHVybiBBIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdGFzayBxdWV1ZS5cbiAgICovXG4gIHRvU3RyaW5nKCk6IHN0cmluZztcbn1cbiJdfQ==
@@ -1,61 +0,0 @@
1
- import { markAsProcessed } from '../../packages/build_marker';
2
- import { getEntryPointFormat } from '../../packages/entry_point';
3
- import { DtsProcessing } from './api';
4
- /**
5
- * Compose a group of TaskCompletedHandlers into a single TaskCompletedCallback.
6
- *
7
- * The compose callback will receive an outcome and will delegate to the appropriate handler based
8
- * on this outcome.
9
- *
10
- * @param callbacks a map of outcomes to handlers.
11
- */
12
- export function composeTaskCompletedCallbacks(callbacks) {
13
- return (task, outcome, message) => {
14
- const callback = callbacks[outcome];
15
- if (callback === undefined) {
16
- throw new Error(`Unknown task outcome: "${outcome}" - supported outcomes: ${JSON.stringify(Object.keys(callbacks))}`);
17
- }
18
- callback(task, message);
19
- };
20
- }
21
- /**
22
- * Create a handler that will mark the entry-points in a package as being processed.
23
- *
24
- * @param pkgJsonUpdater The service used to update the package.json
25
- */
26
- export function createMarkAsProcessedHandler(fs, pkgJsonUpdater) {
27
- return (task) => {
28
- const { entryPoint, formatPropertiesToMarkAsProcessed, processDts } = task;
29
- const packageJsonPath = fs.resolve(entryPoint.path, 'package.json');
30
- const propsToMarkAsProcessed = [...formatPropertiesToMarkAsProcessed];
31
- if (processDts !== DtsProcessing.No) {
32
- propsToMarkAsProcessed.push('typings');
33
- }
34
- markAsProcessed(pkgJsonUpdater, entryPoint.packageJson, packageJsonPath, propsToMarkAsProcessed);
35
- };
36
- }
37
- /**
38
- * Create a handler that will throw an error.
39
- */
40
- export function createThrowErrorHandler(fs) {
41
- return (task, message) => {
42
- throw new Error(createErrorMessage(fs, task, message));
43
- };
44
- }
45
- /**
46
- * Create a handler that logs an error and marks the task as failed.
47
- */
48
- export function createLogErrorHandler(logger, fs, taskQueue) {
49
- return (task, message) => {
50
- taskQueue.markAsFailed(task);
51
- logger.error(createErrorMessage(fs, task, message));
52
- };
53
- }
54
- function createErrorMessage(fs, task, message) {
55
- var _a;
56
- const jsFormat = `\`${task.formatProperty}\` as ${(_a = getEntryPointFormat(fs, task.entryPoint, task.formatProperty)) !== null && _a !== void 0 ? _a : 'unknown format'}`;
57
- const format = task.typingsOnly ? `typings only using ${jsFormat}` : jsFormat;
58
- message = message !== null ? ` due to ${message}` : '';
59
- return `Failed to compile entry-point ${task.entryPoint.name} (${format})` + message;
60
- }
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyLWNsaS9uZ2NjL3NyYy9leGVjdXRpb24vdGFza3MvY29tcGxldGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFDLG1CQUFtQixFQUE4QixNQUFNLDRCQUE0QixDQUFDO0FBRzVGLE9BQU8sRUFBQyxhQUFhLEVBQWdFLE1BQU0sT0FBTyxDQUFDO0FBVW5HOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUsNkJBQTZCLENBQ3pDLFNBQThEO0lBQ2hFLE9BQU8sQ0FBQyxJQUFVLEVBQUUsT0FBOEIsRUFBRSxPQUFvQixFQUFRLEVBQUU7UUFDaEYsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLElBQUksUUFBUSxLQUFLLFNBQVMsRUFBRTtZQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixPQUFPLDJCQUM3QyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDL0M7UUFDRCxRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzFCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLDRCQUE0QixDQUN4QyxFQUFvQixFQUFFLGNBQWtDO0lBQzFELE9BQU8sQ0FBQyxJQUFVLEVBQVEsRUFBRTtRQUMxQixNQUFNLEVBQUMsVUFBVSxFQUFFLGlDQUFpQyxFQUFFLFVBQVUsRUFBQyxHQUFHLElBQUksQ0FBQztRQUN6RSxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDcEUsTUFBTSxzQkFBc0IsR0FDeEIsQ0FBQyxHQUFHLGlDQUFpQyxDQUFDLENBQUM7UUFDM0MsSUFBSSxVQUFVLEtBQUssYUFBYSxDQUFDLEVBQUUsRUFBRTtZQUNuQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDeEM7UUFDRCxlQUFlLENBQ1gsY0FBYyxFQUFFLFVBQVUsQ0FBQyxXQUFXLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixDQUFDLENBQUM7SUFDdkYsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUFDLEVBQXNCO0lBQzVELE9BQU8sQ0FBQyxJQUFVLEVBQUUsT0FBb0IsRUFBUSxFQUFFO1FBQ2hELE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FDakMsTUFBYyxFQUFFLEVBQXNCLEVBQUUsU0FBb0I7SUFDOUQsT0FBTyxDQUFDLElBQVUsRUFBRSxPQUFvQixFQUFRLEVBQUU7UUFDaEQsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixNQUFNLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxrQkFBa0IsQ0FBQyxFQUFzQixFQUFFLElBQVUsRUFBRSxPQUFvQjs7SUFDbEYsTUFBTSxRQUFRLEdBQUcsS0FBSyxJQUFJLENBQUMsY0FBYyxTQUNyQyxNQUFBLG1CQUFtQixDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsbUNBQUksZ0JBQWdCLEVBQUUsQ0FBQztJQUN4RixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUM5RSxPQUFPLEdBQUcsT0FBTyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3ZELE9BQU8saUNBQWlDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQztBQUN2RixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQge1BhdGhNYW5pcHVsYXRpb24sIFJlYWRvbmx5RmlsZVN5c3RlbX0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjL25ndHNjL2ZpbGVfc3lzdGVtJztcbmltcG9ydCB7TG9nZ2VyfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvbmd0c2MvbG9nZ2luZyc7XG5pbXBvcnQge21hcmtBc1Byb2Nlc3NlZH0gZnJvbSAnLi4vLi4vcGFja2FnZXMvYnVpbGRfbWFya2VyJztcbmltcG9ydCB7Z2V0RW50cnlQb2ludEZvcm1hdCwgUGFja2FnZUpzb25Gb3JtYXRQcm9wZXJ0aWVzfSBmcm9tICcuLi8uLi9wYWNrYWdlcy9lbnRyeV9wb2ludCc7XG5pbXBvcnQge1BhY2thZ2VKc29uVXBkYXRlcn0gZnJvbSAnLi4vLi4vd3JpdGluZy9wYWNrYWdlX2pzb25fdXBkYXRlcic7XG5cbmltcG9ydCB7RHRzUHJvY2Vzc2luZywgVGFzaywgVGFza0NvbXBsZXRlZENhbGxiYWNrLCBUYXNrUHJvY2Vzc2luZ091dGNvbWUsIFRhc2tRdWV1ZX0gZnJvbSAnLi9hcGknO1xuXG4vKipcbiAqIEEgZnVuY3Rpb24gdGhhdCBjYW4gaGFuZGxlIGEgc3BlY2lmaWMgb3V0Y29tZSBvZiBhIHRhc2sgY29tcGxldGlvbi5cbiAqXG4gKiBUaGVzZSBmdW5jdGlvbnMgY2FuIGJlIGNvbXBvc2VkIHVzaW5nIHRoZSBgY29tcG9zZVRhc2tDb21wbGV0ZWRDYWxsYmFja3MoKWBcbiAqIHRvIGNyZWF0ZSBhIGBUYXNrQ29tcGxldGVkQ2FsbGJhY2tgIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIHBhc3NlZCB0byBhbiBgRXhlY3V0b3JgLlxuICovXG5leHBvcnQgdHlwZSBUYXNrQ29tcGxldGVkSGFuZGxlciA9ICh0YXNrOiBUYXNrLCBtZXNzYWdlOiBzdHJpbmd8bnVsbCkgPT4gdm9pZDtcblxuLyoqXG4gKiBDb21wb3NlIGEgZ3JvdXAgb2YgVGFza0NvbXBsZXRlZEhhbmRsZXJzIGludG8gYSBzaW5nbGUgVGFza0NvbXBsZXRlZENhbGxiYWNrLlxuICpcbiAqIFRoZSBjb21wb3NlIGNhbGxiYWNrIHdpbGwgcmVjZWl2ZSBhbiBvdXRjb21lIGFuZCB3aWxsIGRlbGVnYXRlIHRvIHRoZSBhcHByb3ByaWF0ZSBoYW5kbGVyIGJhc2VkXG4gKiBvbiB0aGlzIG91dGNvbWUuXG4gKlxuICogQHBhcmFtIGNhbGxiYWNrcyBhIG1hcCBvZiBvdXRjb21lcyB0byBoYW5kbGVycy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbXBvc2VUYXNrQ29tcGxldGVkQ2FsbGJhY2tzKFxuICAgIGNhbGxiYWNrczogUmVjb3JkPFRhc2tQcm9jZXNzaW5nT3V0Y29tZSwgVGFza0NvbXBsZXRlZEhhbmRsZXI+KTogVGFza0NvbXBsZXRlZENhbGxiYWNrIHtcbiAgcmV0dXJuICh0YXNrOiBUYXNrLCBvdXRjb21lOiBUYXNrUHJvY2Vzc2luZ091dGNvbWUsIG1lc3NhZ2U6IHN0cmluZ3xudWxsKTogdm9pZCA9PiB7XG4gICAgY29uc3QgY2FsbGJhY2sgPSBjYWxsYmFja3Nbb3V0Y29tZV07XG4gICAgaWYgKGNhbGxiYWNrID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biB0YXNrIG91dGNvbWU6IFwiJHtvdXRjb21lfVwiIC0gc3VwcG9ydGVkIG91dGNvbWVzOiAke1xuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KE9iamVjdC5rZXlzKGNhbGxiYWNrcykpfWApO1xuICAgIH1cbiAgICBjYWxsYmFjayh0YXNrLCBtZXNzYWdlKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBoYW5kbGVyIHRoYXQgd2lsbCBtYXJrIHRoZSBlbnRyeS1wb2ludHMgaW4gYSBwYWNrYWdlIGFzIGJlaW5nIHByb2Nlc3NlZC5cbiAqXG4gKiBAcGFyYW0gcGtnSnNvblVwZGF0ZXIgVGhlIHNlcnZpY2UgdXNlZCB0byB1cGRhdGUgdGhlIHBhY2thZ2UuanNvblxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTWFya0FzUHJvY2Vzc2VkSGFuZGxlcihcbiAgICBmczogUGF0aE1hbmlwdWxhdGlvbiwgcGtnSnNvblVwZGF0ZXI6IFBhY2thZ2VKc29uVXBkYXRlcik6IFRhc2tDb21wbGV0ZWRIYW5kbGVyIHtcbiAgcmV0dXJuICh0YXNrOiBUYXNrKTogdm9pZCA9PiB7XG4gICAgY29uc3Qge2VudHJ5UG9pbnQsIGZvcm1hdFByb3BlcnRpZXNUb01hcmtBc1Byb2Nlc3NlZCwgcHJvY2Vzc0R0c30gPSB0YXNrO1xuICAgIGNvbnN0IHBhY2thZ2VKc29uUGF0aCA9IGZzLnJlc29sdmUoZW50cnlQb2ludC5wYXRoLCAncGFja2FnZS5qc29uJyk7XG4gICAgY29uc3QgcHJvcHNUb01hcmtBc1Byb2Nlc3NlZDogUGFja2FnZUpzb25Gb3JtYXRQcm9wZXJ0aWVzW10gPVxuICAgICAgICBbLi4uZm9ybWF0UHJvcGVydGllc1RvTWFya0FzUHJvY2Vzc2VkXTtcbiAgICBpZiAocHJvY2Vzc0R0cyAhPT0gRHRzUHJvY2Vzc2luZy5Obykge1xuICAgICAgcHJvcHNUb01hcmtBc1Byb2Nlc3NlZC5wdXNoKCd0eXBpbmdzJyk7XG4gICAgfVxuICAgIG1hcmtBc1Byb2Nlc3NlZChcbiAgICAgICAgcGtnSnNvblVwZGF0ZXIsIGVudHJ5UG9pbnQucGFja2FnZUpzb24sIHBhY2thZ2VKc29uUGF0aCwgcHJvcHNUb01hcmtBc1Byb2Nlc3NlZCk7XG4gIH07XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgaGFuZGxlciB0aGF0IHdpbGwgdGhyb3cgYW4gZXJyb3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUaHJvd0Vycm9ySGFuZGxlcihmczogUmVhZG9ubHlGaWxlU3lzdGVtKTogVGFza0NvbXBsZXRlZEhhbmRsZXIge1xuICByZXR1cm4gKHRhc2s6IFRhc2ssIG1lc3NhZ2U6IHN0cmluZ3xudWxsKTogdm9pZCA9PiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGNyZWF0ZUVycm9yTWVzc2FnZShmcywgdGFzaywgbWVzc2FnZSkpO1xuICB9O1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIGhhbmRsZXIgdGhhdCBsb2dzIGFuIGVycm9yIGFuZCBtYXJrcyB0aGUgdGFzayBhcyBmYWlsZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMb2dFcnJvckhhbmRsZXIoXG4gICAgbG9nZ2VyOiBMb2dnZXIsIGZzOiBSZWFkb25seUZpbGVTeXN0ZW0sIHRhc2tRdWV1ZTogVGFza1F1ZXVlKTogVGFza0NvbXBsZXRlZEhhbmRsZXIge1xuICByZXR1cm4gKHRhc2s6IFRhc2ssIG1lc3NhZ2U6IHN0cmluZ3xudWxsKTogdm9pZCA9PiB7XG4gICAgdGFza1F1ZXVlLm1hcmtBc0ZhaWxlZCh0YXNrKTtcbiAgICBsb2dnZXIuZXJyb3IoY3JlYXRlRXJyb3JNZXNzYWdlKGZzLCB0YXNrLCBtZXNzYWdlKSk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUVycm9yTWVzc2FnZShmczogUmVhZG9ubHlGaWxlU3lzdGVtLCB0YXNrOiBUYXNrLCBtZXNzYWdlOiBzdHJpbmd8bnVsbCk6IHN0cmluZyB7XG4gIGNvbnN0IGpzRm9ybWF0ID0gYFxcYCR7dGFzay5mb3JtYXRQcm9wZXJ0eX1cXGAgYXMgJHtcbiAgICAgIGdldEVudHJ5UG9pbnRGb3JtYXQoZnMsIHRhc2suZW50cnlQb2ludCwgdGFzay5mb3JtYXRQcm9wZXJ0eSkgPz8gJ3Vua25vd24gZm9ybWF0J31gO1xuICBjb25zdCBmb3JtYXQgPSB0YXNrLnR5cGluZ3NPbmx5ID8gYHR5cGluZ3Mgb25seSB1c2luZyAke2pzRm9ybWF0fWAgOiBqc0Zvcm1hdDtcbiAgbWVzc2FnZSA9IG1lc3NhZ2UgIT09IG51bGwgPyBgIGR1ZSB0byAke21lc3NhZ2V9YCA6ICcnO1xuICByZXR1cm4gYEZhaWxlZCB0byBjb21waWxlIGVudHJ5LXBvaW50ICR7dGFzay5lbnRyeVBvaW50Lm5hbWV9ICgke2Zvcm1hdH0pYCArIG1lc3NhZ2U7XG59XG4iXX0=
@@ -1,78 +0,0 @@
1
- import { stringifyTask } from '../utils';
2
- /**
3
- * A base `TaskQueue` implementation to be used as base for concrete implementations.
4
- */
5
- export class BaseTaskQueue {
6
- constructor(logger, tasks, dependencies) {
7
- this.logger = logger;
8
- this.tasks = tasks;
9
- this.dependencies = dependencies;
10
- this.inProgressTasks = new Set();
11
- /**
12
- * A map of tasks that should be skipped, mapped to the task that caused them to be skipped.
13
- */
14
- this.tasksToSkip = new Map();
15
- }
16
- get allTasksCompleted() {
17
- return (this.tasks.length === 0) && (this.inProgressTasks.size === 0);
18
- }
19
- getNextTask() {
20
- let nextTask = this.computeNextTask();
21
- while (nextTask !== null) {
22
- if (!this.tasksToSkip.has(nextTask)) {
23
- break;
24
- }
25
- // We are skipping this task so mark it as complete
26
- this.markAsCompleted(nextTask);
27
- const failedTask = this.tasksToSkip.get(nextTask);
28
- this.logger.warn(`Skipping processing of ${nextTask.entryPoint.name} because its dependency ${failedTask.entryPoint.name} failed to compile.`);
29
- nextTask = this.computeNextTask();
30
- }
31
- return nextTask;
32
- }
33
- markAsCompleted(task) {
34
- if (!this.inProgressTasks.has(task)) {
35
- throw new Error(`Trying to mark task that was not in progress as completed: ${stringifyTask(task)}`);
36
- }
37
- this.inProgressTasks.delete(task);
38
- }
39
- markAsFailed(task) {
40
- if (this.dependencies.has(task)) {
41
- for (const dependentTask of this.dependencies.get(task)) {
42
- this.skipDependentTasks(dependentTask, task);
43
- }
44
- }
45
- }
46
- markAsUnprocessed(task) {
47
- if (!this.inProgressTasks.has(task)) {
48
- throw new Error(`Trying to mark task that was not in progress as unprocessed: ${stringifyTask(task)}`);
49
- }
50
- this.inProgressTasks.delete(task);
51
- this.tasks.unshift(task);
52
- }
53
- toString() {
54
- const inProgTasks = Array.from(this.inProgressTasks);
55
- return `${this.constructor.name}\n` +
56
- ` All tasks completed: ${this.allTasksCompleted}\n` +
57
- ` Unprocessed tasks (${this.tasks.length}): ${this.stringifyTasks(this.tasks, ' ')}\n` +
58
- ` In-progress tasks (${inProgTasks.length}): ${this.stringifyTasks(inProgTasks, ' ')}`;
59
- }
60
- /**
61
- * Mark the given `task` as to be skipped, then recursive skip all its dependents.
62
- *
63
- * @param task The task to skip
64
- * @param failedTask The task that failed, causing this task to be skipped
65
- */
66
- skipDependentTasks(task, failedTask) {
67
- this.tasksToSkip.set(task, failedTask);
68
- if (this.dependencies.has(task)) {
69
- for (const dependentTask of this.dependencies.get(task)) {
70
- this.skipDependentTasks(dependentTask, failedTask);
71
- }
72
- }
73
- }
74
- stringifyTasks(tasks, indentation) {
75
- return tasks.map(task => `\n${indentation}- ${stringifyTask(task)}`).join('');
76
- }
77
- }
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV90YXNrX3F1ZXVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL25nY2Mvc3JjL2V4ZWN1dGlvbi90YXNrcy9xdWV1ZXMvYmFzZV90YXNrX3F1ZXVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNBLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFHdkM7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLGFBQWE7SUFXakMsWUFDYyxNQUFjLEVBQVksS0FBNEIsRUFDdEQsWUFBOEI7UUFEOUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFZLFVBQUssR0FBTCxLQUFLLENBQXVCO1FBQ3RELGlCQUFZLEdBQVosWUFBWSxDQUFrQjtRQVRsQyxvQkFBZSxHQUFHLElBQUksR0FBRyxFQUFRLENBQUM7UUFFNUM7O1dBRUc7UUFDSyxnQkFBVyxHQUFHLElBQUksR0FBRyxFQUFjLENBQUM7SUFJRyxDQUFDO0lBWmhELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFjRCxXQUFXO1FBQ1QsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3RDLE9BQU8sUUFBUSxLQUFLLElBQUksRUFBRTtZQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ25DLE1BQU07YUFDUDtZQUNELG1EQUFtRDtZQUNuRCxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQy9CLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FB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QyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7TG9nZ2VyfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zcmMvbmd0c2MvbG9nZ2luZyc7XG5pbXBvcnQge1BhcnRpYWxseU9yZGVyZWRUYXNrcywgVGFzaywgVGFza0RlcGVuZGVuY2llcywgVGFza1F1ZXVlfSBmcm9tICcuLi9hcGknO1xuaW1wb3J0IHtzdHJpbmdpZnlUYXNrfSBmcm9tICcuLi91dGlscyc7XG5cblxuLyoqXG4gKiBBIGJhc2UgYFRhc2tRdWV1ZWAgaW1wbGVtZW50YXRpb24gdG8gYmUgdXNlZCBhcyBiYXNlIGZvciBjb25jcmV0ZSBpbXBsZW1lbnRhdGlvbnMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlVGFza1F1ZXVlIGltcGxlbWVudHMgVGFza1F1ZXVlIHtcbiAgZ2V0IGFsbFRhc2tzQ29tcGxldGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy50YXNrcy5sZW5ndGggPT09IDApICYmICh0aGlzLmluUHJvZ3Jlc3NUYXNrcy5zaXplID09PSAwKTtcbiAgfVxuICBwcm90ZWN0ZWQgaW5Qcm9ncmVzc1Rhc2tzID0gbmV3IFNldDxUYXNrPigpO1xuXG4gIC8qKlxuICAgKiBBIG1hcCBvZiB0YXNrcyB0aGF0IHNob3VsZCBiZSBza2lwcGVkLCBtYXBwZWQgdG8gdGhlIHRhc2sgdGhhdCBjYXVzZWQgdGhlbSB0byBiZSBza2lwcGVkLlxuICAgKi9cbiAgcHJpdmF0ZSB0YXNrc1RvU2tpcCA9IG5ldyBNYXA8VGFzaywgVGFzaz4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByb3RlY3RlZCBsb2dnZXI6IExvZ2dlciwgcHJvdGVjdGVkIHRhc2tzOiBQYXJ0aWFsbHlPcmRlcmVkVGFza3MsXG4gICAgICBwcm90ZWN0ZWQgZGVwZW5kZW5jaWVzOiBUYXNrRGVwZW5kZW5jaWVzKSB7fVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBjb21wdXRlTmV4dFRhc2soKTogVGFza3xudWxsO1xuXG4gIGdldE5leHRUYXNrKCk6IFRhc2t8bnVsbCB7XG4gICAgbGV0IG5leHRUYXNrID0gdGhpcy5jb21wdXRlTmV4dFRhc2soKTtcbiAgICB3aGlsZSAobmV4dFRhc2sgIT09IG51bGwpIHtcbiAgICAgIGlmICghdGhpcy50YXNrc1RvU2tpcC5oYXMobmV4dFRhc2spKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgLy8gV2UgYXJlIHNraXBwaW5nIHRoaXMgdGFzayBzbyBtYXJrIGl0IGFzIGNvbXBsZXRlXG4gICAgICB0aGlzLm1hcmtBc0NvbXBsZXRlZChuZXh0VGFzayk7XG4gICAgICBjb25zdCBmYWlsZWRUYXNrID0gdGhpcy50YXNrc1RvU2tpcC5nZXQobmV4dFRhc2spITtcbiAgICAgIHRoaXMubG9nZ2VyLndhcm4oYFNraXBwaW5nIHByb2Nlc3Npbmcgb2YgJHtuZXh0VGFzay5lbnRyeVBvaW50Lm5hbWV9IGJlY2F1c2UgaXRzIGRlcGVuZGVuY3kgJHtcbiAgICAgICAgICBmYWlsZWRUYXNrLmVudHJ5UG9pbnQubmFtZX0gZmFpbGVkIHRvIGNvbXBpbGUuYCk7XG4gICAgICBuZXh0VGFzayA9IHRoaXMuY29tcHV0ZU5leHRUYXNrKCk7XG4gICAgfVxuICAgIHJldHVybiBuZXh0VGFzaztcbiAgfVxuXG4gIG1hcmtBc0NvbXBsZXRlZCh0YXNrOiBUYXNrKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmluUHJvZ3Jlc3NUYXNrcy5oYXModGFzaykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgVHJ5aW5nIHRvIG1hcmsgdGFzayB0aGF0IHdhcyBub3QgaW4gcHJvZ3Jlc3MgYXMgY29tcGxldGVkOiAke3N0cmluZ2lmeVRhc2sodGFzayl9YCk7XG4gICAgfVxuXG4gICAgdGhpcy5pblByb2dyZXNzVGFza3MuZGVsZXRlKHRhc2spO1xuICB9XG5cbiAgbWFya0FzRmFpbGVkKHRhc2s6IFRhc2spOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kZXBlbmRlbmNpZXMuaGFzKHRhc2spKSB7XG4gICAgICBmb3IgKGNvbnN0IGRlcGVuZGVudFRhc2sgb2YgdGhpcy5kZXBlbmRlbmNpZXMuZ2V0KHRhc2spISkge1xuICAgICAgICB0aGlzLnNraXBEZXBlbmRlbnRUYXNrcyhkZXBlbmRlbnRUYXNrLCB0YXNrKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBtYXJrQXNVbnByb2Nlc3NlZCh0YXNrOiBUYXNrKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmluUHJvZ3Jlc3NUYXNrcy5oYXModGFzaykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgVHJ5aW5nIHRvIG1hcmsgdGFzayB0aGF0IHdhcyBub3QgaW4gcHJvZ3Jlc3MgYXMgdW5wcm9jZXNzZWQ6ICR7c3RyaW5naWZ5VGFzayh0YXNrKX1gKTtcbiAgICB9XG5cbiAgICB0aGlzLmluUHJvZ3Jlc3NUYXNrcy5kZWxldGUodGFzayk7XG4gICAgdGhpcy50YXNrcy51bnNoaWZ0KHRhc2spO1xuICB9XG5cbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICBjb25zdCBpblByb2dUYXNrcyA9IEFycmF5LmZyb20odGhpcy5pblByb2dyZXNzVGFza3MpO1xuXG4gICAgcmV0dXJuIGAke3RoaXMuY29uc3RydWN0b3IubmFtZX1cXG5gICtcbiAgICAgICAgYCAgQWxsIHRhc2tzIGNvbXBsZXRlZDogJHt0aGlzLmFsbFRhc2tzQ29tcGxldGVkfVxcbmAgK1xuICAgICAgICBgICBVbnByb2Nlc3NlZCB0YXNrcyAoJHt0aGlzLnRhc2tzLmxlbmd0aH0pOiAke3RoaXMuc3RyaW5naWZ5VGFza3ModGhpcy50YXNrcywgJyAgICAnKX1cXG5gICtcbiAgICAgICAgYCAgSW4tcHJvZ3Jlc3MgdGFza3MgKCR7aW5Qcm9nVGFza3MubGVuZ3RofSk6ICR7dGhpcy5zdHJpbmdpZnlUYXNrcyhpblByb2dUYXNrcywgJyAgICAnKX1gO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hcmsgdGhlIGdpdmVuIGB0YXNrYCBhcyB0byBiZSBza2lwcGVkLCB0aGVuIHJlY3Vyc2l2ZSBza2lwIGFsbCBpdHMgZGVwZW5kZW50cy5cbiAgICpcbiAgICogQHBhcmFtIHRhc2sgVGhlIHRhc2sgdG8gc2tpcFxuICAgKiBAcGFyYW0gZmFpbGVkVGFzayBUaGUgdGFzayB0aGF0IGZhaWxlZCwgY2F1c2luZyB0aGlzIHRhc2sgdG8gYmUgc2tpcHBlZFxuICAgKi9cbiAgcHJvdGVjdGVkIHNraXBEZXBlbmRlbnRUYXNrcyh0YXNrOiBUYXNrLCBmYWlsZWRUYXNrOiBUYXNrKSB7XG4gICAgdGhpcy50YXNrc1RvU2tpcC5zZXQodGFzaywgZmFpbGVkVGFzayk7XG4gICAgaWYgKHRoaXMuZGVwZW5kZW5jaWVzLmhhcyh0YXNrKSkge1xuICAgICAgZm9yIChjb25zdCBkZXBlbmRlbnRUYXNrIG9mIHRoaXMuZGVwZW5kZW5jaWVzLmdldCh0YXNrKSEpIHtcbiAgICAgICAgdGhpcy5za2lwRGVwZW5kZW50VGFza3MoZGVwZW5kZW50VGFzaywgZmFpbGVkVGFzayk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHN0cmluZ2lmeVRhc2tzKHRhc2tzOiBUYXNrW10sIGluZGVudGF0aW9uOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0YXNrcy5tYXAodGFzayA9PiBgXFxuJHtpbmRlbnRhdGlvbn0tICR7c3RyaW5naWZ5VGFzayh0YXNrKX1gKS5qb2luKCcnKTtcbiAgfVxufVxuIl19
@@ -1,53 +0,0 @@
1
- import { getBlockedTasks, sortTasksByPriority, stringifyTask } from '../utils';
2
- import { BaseTaskQueue } from './base_task_queue';
3
- /**
4
- * A `TaskQueue` implementation that assumes tasks are processed in parallel, thus has to ensure a
5
- * task's dependencies have been processed before processing the task.
6
- */
7
- export class ParallelTaskQueue extends BaseTaskQueue {
8
- constructor(logger, tasks, dependencies) {
9
- super(logger, sortTasksByPriority(tasks, dependencies), dependencies);
10
- this.blockedTasks = getBlockedTasks(dependencies);
11
- }
12
- computeNextTask() {
13
- // Look for the first available (i.e. not blocked) task.
14
- // (NOTE: Since tasks are sorted by priority, the first available one is the best choice.)
15
- const nextTaskIdx = this.tasks.findIndex(task => !this.blockedTasks.has(task));
16
- if (nextTaskIdx === -1)
17
- return null;
18
- // Remove the task from the list of available tasks and add it to the list of in-progress tasks.
19
- const nextTask = this.tasks[nextTaskIdx];
20
- this.tasks.splice(nextTaskIdx, 1);
21
- this.inProgressTasks.add(nextTask);
22
- return nextTask;
23
- }
24
- markAsCompleted(task) {
25
- super.markAsCompleted(task);
26
- if (!this.dependencies.has(task)) {
27
- return;
28
- }
29
- // Unblock the tasks that are dependent upon `task`
30
- for (const dependentTask of this.dependencies.get(task)) {
31
- if (this.blockedTasks.has(dependentTask)) {
32
- const blockingTasks = this.blockedTasks.get(dependentTask);
33
- // Remove the completed task from the lists of tasks blocking other tasks.
34
- blockingTasks.delete(task);
35
- if (blockingTasks.size === 0) {
36
- // If the dependent task is not blocked any more, mark it for unblocking.
37
- this.blockedTasks.delete(dependentTask);
38
- }
39
- }
40
- }
41
- }
42
- toString() {
43
- return `${super.toString()}\n` +
44
- ` Blocked tasks (${this.blockedTasks.size}): ${this.stringifyBlockedTasks(' ')}`;
45
- }
46
- stringifyBlockedTasks(indentation) {
47
- return Array.from(this.blockedTasks)
48
- .map(([task, blockingTasks]) => `\n${indentation}- ${stringifyTask(task)} (${blockingTasks.size}): ` +
49
- this.stringifyTasks(Array.from(blockingTasks), `${indentation} `))
50
- .join('');
51
- }
52
- }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWxsZWxfdGFza19xdWV1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyLWNsaS9uZ2NjL3NyYy9leGVjdXRpb24vdGFza3MvcXVldWVzL3BhcmFsbGVsX3Rhc2tfcXVldWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsT0FBTyxFQUFDLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDN0UsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRWhEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxhQUFhO0lBUWxELFlBQVksTUFBYyxFQUFFLEtBQTRCLEVBQUUsWUFBOEI7UUFDdEYsS0FBSyxDQUFDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLFlBQVksR0FBRyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELGVBQWU7UUFDYix3REFBd0Q7UUFDeEQsMEZBQTBGO1FBQzFGLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQy9FLElBQUksV0FBVyxLQUFLLENBQUMsQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRXBDLGdHQUFnRztRQUNoRyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVuQyxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsZUFBZSxDQUFDLElBQVU7UUFDeEIsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU1QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDaEMsT0FBTztTQUNSO1FBRUQsbURBQW1EO1FBQ25ELEtBQUssTUFBTSxhQUFhLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFFLEVBQUU7WUFDeEQsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRTtnQkFDeEMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFFLENBQUM7Z0JBQzVELDBFQUEwRTtnQkFDMUUsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDM0IsSUFBSSxhQUFhLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRTtvQkFDNUIseUVBQXlFO29CQUN6RSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztpQkFDekM7YUFDRjtTQUNGO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxJQUFJO1lBQzFCLG9CQUFvQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksTUFBTSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztJQUMzRixDQUFDO0lBRU8scUJBQXFCLENBQUMsV0FBbUI7UUFDL0MsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7YUFDL0IsR0FBRyxDQUNBLENBQUMsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLEVBQUUsRUFBRSxDQUN0QixLQUFLLFdBQVcsS0FBSyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssYUFBYSxDQUFDLElBQUksS0FBSztZQUNwRSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsR0FBRyxXQUFXLE1BQU0sQ0FBQyxDQUFDO2FBQzVFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7TG9nZ2VyfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zcmMvbmd0c2MvbG9nZ2luZyc7XG5pbXBvcnQge1BhcnRpYWxseU9yZGVyZWRUYXNrcywgVGFzaywgVGFza0RlcGVuZGVuY2llc30gZnJvbSAnLi4vYXBpJztcbmltcG9ydCB7Z2V0QmxvY2tlZFRhc2tzLCBzb3J0VGFza3NCeVByaW9yaXR5LCBzdHJpbmdpZnlUYXNrfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQge0Jhc2VUYXNrUXVldWV9IGZyb20gJy4vYmFzZV90YXNrX3F1ZXVlJztcblxuLyoqXG4gKiBBIGBUYXNrUXVldWVgIGltcGxlbWVudGF0aW9uIHRoYXQgYXNzdW1lcyB0YXNrcyBhcmUgcHJvY2Vzc2VkIGluIHBhcmFsbGVsLCB0aHVzIGhhcyB0byBlbnN1cmUgYVxuICogdGFzaydzIGRlcGVuZGVuY2llcyBoYXZlIGJlZW4gcHJvY2Vzc2VkIGJlZm9yZSBwcm9jZXNzaW5nIHRoZSB0YXNrLlxuICovXG5leHBvcnQgY2xhc3MgUGFyYWxsZWxUYXNrUXVldWUgZXh0ZW5kcyBCYXNlVGFza1F1ZXVlIHtcbiAgLyoqXG4gICAqIEEgbWFwIGZyb20gVGFza3MgdG8gdGhlIFRhc2tzIHRoYXQgaXQgZGVwZW5kcyB1cG9uLlxuICAgKlxuICAgKiBUaGlzIGlzIHRoZSByZXZlcnNlIG1hcHBpbmcgb2YgYFRhc2tEZXBlbmRlbmNpZXNgLlxuICAgKi9cbiAgcHJpdmF0ZSBibG9ja2VkVGFza3M6IE1hcDxUYXNrLCBTZXQ8VGFzaz4+O1xuXG4gIGNvbnN0cnVjdG9yKGxvZ2dlcjogTG9nZ2VyLCB0YXNrczogUGFydGlhbGx5T3JkZXJlZFRhc2tzLCBkZXBlbmRlbmNpZXM6IFRhc2tEZXBlbmRlbmNpZXMpIHtcbiAgICBzdXBlcihsb2dnZXIsIHNvcnRUYXNrc0J5UHJpb3JpdHkodGFza3MsIGRlcGVuZGVuY2llcyksIGRlcGVuZGVuY2llcyk7XG4gICAgdGhpcy5ibG9ja2VkVGFza3MgPSBnZXRCbG9ja2VkVGFza3MoZGVwZW5kZW5jaWVzKTtcbiAgfVxuXG4gIGNvbXB1dGVOZXh0VGFzaygpOiBUYXNrfG51bGwge1xuICAgIC8vIExvb2sgZm9yIHRoZSBmaXJzdCBhdmFpbGFibGUgKGkuZS4gbm90IGJsb2NrZWQpIHRhc2suXG4gICAgLy8gKE5PVEU6IFNpbmNlIHRhc2tzIGFyZSBzb3J0ZWQgYnkgcHJpb3JpdHksIHRoZSBmaXJzdCBhdmFpbGFibGUgb25lIGlzIHRoZSBiZXN0IGNob2ljZS4pXG4gICAgY29uc3QgbmV4dFRhc2tJZHggPSB0aGlzLnRhc2tzLmZpbmRJbmRleCh0YXNrID0+ICF0aGlzLmJsb2NrZWRUYXNrcy5oYXModGFzaykpO1xuICAgIGlmIChuZXh0VGFza0lkeCA9PT0gLTEpIHJldHVybiBudWxsO1xuXG4gICAgLy8gUmVtb3ZlIHRoZSB0YXNrIGZyb20gdGhlIGxpc3Qgb2YgYXZhaWxhYmxlIHRhc2tzIGFuZCBhZGQgaXQgdG8gdGhlIGxpc3Qgb2YgaW4tcHJvZ3Jlc3MgdGFza3MuXG4gICAgY29uc3QgbmV4dFRhc2sgPSB0aGlzLnRhc2tzW25leHRUYXNrSWR4XTtcbiAgICB0aGlzLnRhc2tzLnNwbGljZShuZXh0VGFza0lkeCwgMSk7XG4gICAgdGhpcy5pblByb2dyZXNzVGFza3MuYWRkKG5leHRUYXNrKTtcblxuICAgIHJldHVybiBuZXh0VGFzaztcbiAgfVxuXG4gIG1hcmtBc0NvbXBsZXRlZCh0YXNrOiBUYXNrKTogdm9pZCB7XG4gICAgc3VwZXIubWFya0FzQ29tcGxldGVkKHRhc2spO1xuXG4gICAgaWYgKCF0aGlzLmRlcGVuZGVuY2llcy5oYXModGFzaykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBVbmJsb2NrIHRoZSB0YXNrcyB0aGF0IGFyZSBkZXBlbmRlbnQgdXBvbiBgdGFza2BcbiAgICBmb3IgKGNvbnN0IGRlcGVuZGVudFRhc2sgb2YgdGhpcy5kZXBlbmRlbmNpZXMuZ2V0KHRhc2spISkge1xuICAgICAgaWYgKHRoaXMuYmxvY2tlZFRhc2tzLmhhcyhkZXBlbmRlbnRUYXNrKSkge1xuICAgICAgICBjb25zdCBibG9ja2luZ1Rhc2tzID0gdGhpcy5ibG9ja2VkVGFza3MuZ2V0KGRlcGVuZGVudFRhc2spITtcbiAgICAgICAgLy8gUmVtb3ZlIHRoZSBjb21wbGV0ZWQgdGFzayBmcm9tIHRoZSBsaXN0cyBvZiB0YXNrcyBibG9ja2luZyBvdGhlciB0YXNrcy5cbiAgICAgICAgYmxvY2tpbmdUYXNrcy5kZWxldGUodGFzayk7XG4gICAgICAgIGlmIChibG9ja2luZ1Rhc2tzLnNpemUgPT09IDApIHtcbiAgICAgICAgICAvLyBJZiB0aGUgZGVwZW5kZW50IHRhc2sgaXMgbm90IGJsb2NrZWQgYW55IG1vcmUsIG1hcmsgaXQgZm9yIHVuYmxvY2tpbmcuXG4gICAgICAgICAgdGhpcy5ibG9ja2VkVGFza3MuZGVsZXRlKGRlcGVuZGVudFRhc2spO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7c3VwZXIudG9TdHJpbmcoKX1cXG5gICtcbiAgICAgICAgYCAgQmxvY2tlZCB0YXNrcyAoJHt0aGlzLmJsb2NrZWRUYXNrcy5zaXplfSk6ICR7dGhpcy5zdHJpbmdpZnlCbG9ja2VkVGFza3MoJyAgICAnKX1gO1xuICB9XG5cbiAgcHJpdmF0ZSBzdHJpbmdpZnlCbG9ja2VkVGFza3MoaW5kZW50YXRpb246IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5ibG9ja2VkVGFza3MpXG4gICAgICAgIC5tYXAoXG4gICAgICAgICAgICAoW3Rhc2ssIGJsb2NraW5nVGFza3NdKSA9PlxuICAgICAgICAgICAgICAgIGBcXG4ke2luZGVudGF0aW9ufS0gJHtzdHJpbmdpZnlUYXNrKHRhc2spfSAoJHtibG9ja2luZ1Rhc2tzLnNpemV9KTogYCArXG4gICAgICAgICAgICAgICAgdGhpcy5zdHJpbmdpZnlUYXNrcyhBcnJheS5mcm9tKGJsb2NraW5nVGFza3MpLCBgJHtpbmRlbnRhdGlvbn0gICAgYCkpXG4gICAgICAgIC5qb2luKCcnKTtcbiAgfVxufVxuIl19
@@ -1,29 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- import { stringifyTask } from '../utils';
9
- import { BaseTaskQueue } from './base_task_queue';
10
- /**
11
- * A `TaskQueue` implementation that assumes tasks are processed serially and each one is completed
12
- * before requesting the next one.
13
- */
14
- export class SerialTaskQueue extends BaseTaskQueue {
15
- computeNextTask() {
16
- const nextTask = this.tasks.shift() || null;
17
- if (nextTask) {
18
- if (this.inProgressTasks.size > 0) {
19
- // `SerialTaskQueue` can have max one in-progress task.
20
- const inProgressTask = this.inProgressTasks.values().next().value;
21
- throw new Error('Trying to get next task, while there is already a task in progress: ' +
22
- stringifyTask(inProgressTask));
23
- }
24
- this.inProgressTasks.add(nextTask);
25
- }
26
- return nextTask;
27
- }
28
- }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsX3Rhc2tfcXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvbmdjYy9zcmMvZXhlY3V0aW9uL3Rhc2tzL3F1ZXVlcy9zZXJpYWxfdGFza19xdWV1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFHSCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRXZDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUdoRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxhQUFhO0lBQ2hELGVBQWU7UUFDYixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQztRQUU1QyxJQUFJLFFBQVEsRUFBRTtZQUNaLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFO2dCQUNqQyx1REFBdUQ7Z0JBQ3ZELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDO2dCQUNsRSxNQUFNLElBQUksS0FBSyxDQUNYLHNFQUFzRTtvQkFDdEUsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7YUFDcEM7WUFFRCxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNwQztRQUVELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge1Rhc2t9IGZyb20gJy4uL2FwaSc7XG5pbXBvcnQge3N0cmluZ2lmeVRhc2t9IGZyb20gJy4uL3V0aWxzJztcblxuaW1wb3J0IHtCYXNlVGFza1F1ZXVlfSBmcm9tICcuL2Jhc2VfdGFza19xdWV1ZSc7XG5cblxuLyoqXG4gKiBBIGBUYXNrUXVldWVgIGltcGxlbWVudGF0aW9uIHRoYXQgYXNzdW1lcyB0YXNrcyBhcmUgcHJvY2Vzc2VkIHNlcmlhbGx5IGFuZCBlYWNoIG9uZSBpcyBjb21wbGV0ZWRcbiAqIGJlZm9yZSByZXF1ZXN0aW5nIHRoZSBuZXh0IG9uZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNlcmlhbFRhc2tRdWV1ZSBleHRlbmRzIEJhc2VUYXNrUXVldWUge1xuICBjb21wdXRlTmV4dFRhc2soKTogVGFza3xudWxsIHtcbiAgICBjb25zdCBuZXh0VGFzayA9IHRoaXMudGFza3Muc2hpZnQoKSB8fCBudWxsO1xuXG4gICAgaWYgKG5leHRUYXNrKSB7XG4gICAgICBpZiAodGhpcy5pblByb2dyZXNzVGFza3Muc2l6ZSA+IDApIHtcbiAgICAgICAgLy8gYFNlcmlhbFRhc2tRdWV1ZWAgY2FuIGhhdmUgbWF4IG9uZSBpbi1wcm9ncmVzcyB0YXNrLlxuICAgICAgICBjb25zdCBpblByb2dyZXNzVGFzayA9IHRoaXMuaW5Qcm9ncmVzc1Rhc2tzLnZhbHVlcygpLm5leHQoKS52YWx1ZTtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgJ1RyeWluZyB0byBnZXQgbmV4dCB0YXNrLCB3aGlsZSB0aGVyZSBpcyBhbHJlYWR5IGEgdGFzayBpbiBwcm9ncmVzczogJyArXG4gICAgICAgICAgICBzdHJpbmdpZnlUYXNrKGluUHJvZ3Jlc3NUYXNrKSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuaW5Qcm9ncmVzc1Rhc2tzLmFkZChuZXh0VGFzayk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5leHRUYXNrO1xuICB9XG59XG4iXX0=