@angular/compiler-cli 12.1.1 → 12.1.5

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 (455) 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/file_system/testing/src/mock_file_system_native.js +1 -1
  34. package/src/ngtsc/file_system/testing/src/mock_file_system_posix.js +1 -1
  35. package/src/ngtsc/file_system/testing/src/mock_file_system_windows.js +1 -1
  36. package/src/ngtsc/incremental/semantic_graph/src/graph.js +1 -1
  37. package/src/ngtsc/incremental/src/incremental.js +30 -4
  38. package/src/ngtsc/indexer/src/template.js +1 -1
  39. package/src/ngtsc/metadata/src/dts.js +4 -5
  40. package/src/ngtsc/metadata/src/util.d.ts +2 -2
  41. package/src/ngtsc/metadata/src/util.js +9 -6
  42. package/src/ngtsc/partial_evaluator/src/builtin.js +1 -1
  43. package/src/ngtsc/partial_evaluator/src/interpreter.js +6 -5
  44. package/src/ngtsc/partial_evaluator/src/ts_helpers.js +1 -1
  45. package/src/ngtsc/program_driver/src/api.d.ts +20 -1
  46. package/src/ngtsc/program_driver/src/api.js +3 -2
  47. package/src/ngtsc/program_driver/src/ts_create_program_driver.d.ts +2 -2
  48. package/src/ngtsc/program_driver/src/ts_create_program_driver.js +7 -3
  49. package/src/ngtsc/reflection/src/typescript.js +4 -1
  50. package/src/ngtsc/transform/src/compilation.d.ts +5 -0
  51. package/src/ngtsc/transform/src/compilation.js +95 -72
  52. package/src/ngtsc/transform/src/transform.js +1 -1
  53. package/src/ngtsc/typecheck/src/context.d.ts +2 -1
  54. package/src/ngtsc/typecheck/src/context.js +11 -3
  55. package/src/ngtsc/typecheck/src/template_semantics.js +1 -1
  56. package/src/ngtsc/typecheck/src/template_symbol_builder.js +21 -1
  57. package/src/ngtsc/typecheck/src/type_check_block.js +2 -2
  58. package/src/ngtsc/typecheck/src/type_check_file.js +1 -1
  59. package/src/ngtsc/typecheck/src/type_emitter.js +25 -6
  60. package/src/ngtsc/util/src/visitor.d.ts +1 -1
  61. package/src/ngtsc/util/src/visitor.js +1 -8
  62. package/src/version.js +1 -1
  63. package/compiler-cli.externs.js +0 -0
  64. package/index.mjs +0 -20
  65. package/linker/babel/babel.externs.js +0 -0
  66. package/linker/babel/index.mjs +0 -11
  67. package/linker/babel/src/ast/babel_ast_factory.mjs +0 -137
  68. package/linker/babel/src/ast/babel_ast_host.mjs +0 -154
  69. package/linker/babel/src/babel_declaration_scope.mjs +0 -52
  70. package/linker/babel/src/babel_plugin.mjs +0 -23
  71. package/linker/babel/src/es2015_linker_plugin.mjs +0 -158
  72. package/linker/babel/src/linker_plugin_options.mjs +0 -2
  73. package/linker/index.mjs +0 -7
  74. package/linker/linker.externs.js +0 -0
  75. package/linker/src/ast/ast_host.mjs +0 -9
  76. package/linker/src/ast/ast_value.mjs +0 -256
  77. package/linker/src/ast/typescript/typescript_ast_host.mjs +0 -156
  78. package/linker/src/ast/utils.mjs +0 -17
  79. package/linker/src/fatal_linker_error.mjs +0 -30
  80. package/linker/src/file_linker/declaration_scope.mjs +0 -9
  81. package/linker/src/file_linker/emit_scopes/emit_scope.mjs +0 -41
  82. package/linker/src/file_linker/emit_scopes/iife_emit_scope.mjs +0 -33
  83. package/linker/src/file_linker/file_linker.mjs +0 -70
  84. package/linker/src/file_linker/get_source_file.mjs +0 -28
  85. package/linker/src/file_linker/linker_environment.mjs +0 -23
  86. package/linker/src/file_linker/linker_options.mjs +0 -16
  87. package/linker/src/file_linker/needs_linking.mjs +0 -27
  88. package/linker/src/file_linker/partial_linkers/partial_class_metadata_linker_1.mjs +0 -29
  89. package/linker/src/file_linker/partial_linkers/partial_component_linker_1.mjs +0 -194
  90. package/linker/src/file_linker/partial_linkers/partial_directive_linker_1.mjs +0 -137
  91. package/linker/src/file_linker/partial_linkers/partial_factory_linker_1.mjs +0 -52
  92. package/linker/src/file_linker/partial_linkers/partial_injectable_linker_1.mjs +0 -56
  93. package/linker/src/file_linker/partial_linkers/partial_injector_linker_1.mjs +0 -38
  94. package/linker/src/file_linker/partial_linkers/partial_linker.mjs +0 -2
  95. package/linker/src/file_linker/partial_linkers/partial_linker_selector.mjs +0 -166
  96. package/linker/src/file_linker/partial_linkers/partial_ng_module_linker_1.mjs +0 -110
  97. package/linker/src/file_linker/partial_linkers/partial_pipe_linker_1.mjs +0 -42
  98. package/linker/src/file_linker/partial_linkers/util.mjs +0 -78
  99. package/linker/src/file_linker/translator.mjs +0 -23
  100. package/linker/src/linker_import_generator.mjs +0 -28
  101. package/ngcc/index.mjs +0 -16
  102. package/ngcc/main-ivy-ngcc.mjs +0 -12
  103. package/ngcc/main-ngcc.mjs +0 -32
  104. package/ngcc/ngcc.externs.js +0 -0
  105. package/ngcc/src/analysis/decoration_analyzer.mjs +0 -215
  106. package/ngcc/src/analysis/migration_host.mjs +0 -80
  107. package/ngcc/src/analysis/module_with_providers_analyzer.mjs +0 -178
  108. package/ngcc/src/analysis/ngcc_references_registry.mjs +0 -45
  109. package/ngcc/src/analysis/ngcc_trait_compiler.mjs +0 -70
  110. package/ngcc/src/analysis/private_declarations_analyzer.mjs +0 -47
  111. package/ngcc/src/analysis/switch_marker_analyzer.mjs +0 -34
  112. package/ngcc/src/analysis/types.mjs +0 -2
  113. package/ngcc/src/analysis/util.mjs +0 -19
  114. package/ngcc/src/command_line_options.mjs +0 -142
  115. package/ngcc/src/constants.mjs +0 -10
  116. package/ngcc/src/dependencies/commonjs_dependency_host.mjs +0 -87
  117. package/ngcc/src/dependencies/dependency_host.mjs +0 -102
  118. package/ngcc/src/dependencies/dependency_resolver.mjs +0 -151
  119. package/ngcc/src/dependencies/dts_dependency_host.mjs +0 -18
  120. package/ngcc/src/dependencies/esm_dependency_host.mjs +0 -286
  121. package/ngcc/src/dependencies/module_resolver.mjs +0 -233
  122. package/ngcc/src/dependencies/umd_dependency_host.mjs +0 -33
  123. package/ngcc/src/entry_point_finder/directory_walker_entry_point_finder.mjs +0 -42
  124. package/ngcc/src/entry_point_finder/entry_point_collector.mjs +0 -120
  125. package/ngcc/src/entry_point_finder/interface.mjs +0 -2
  126. package/ngcc/src/entry_point_finder/program_based_entry_point_finder.mjs +0 -91
  127. package/ngcc/src/entry_point_finder/targeted_entry_point_finder.mjs +0 -216
  128. package/ngcc/src/entry_point_finder/tracing_entry_point_finder.mjs +0 -63
  129. package/ngcc/src/entry_point_finder/utils.mjs +0 -176
  130. package/ngcc/src/execution/analyze_entry_points.mjs +0 -130
  131. package/ngcc/src/execution/api.mjs +0 -2
  132. package/ngcc/src/execution/cluster/api.mjs +0 -9
  133. package/ngcc/src/execution/cluster/executor.mjs +0 -27
  134. package/ngcc/src/execution/cluster/master.mjs +0 -261
  135. package/ngcc/src/execution/cluster/package_json_updater.mjs +0 -45
  136. package/ngcc/src/execution/cluster/utils.mjs +0 -59
  137. package/ngcc/src/execution/cluster/worker.mjs +0 -81
  138. package/ngcc/src/execution/create_compile_function.mjs +0 -62
  139. package/ngcc/src/execution/single_process_executor.mjs +0 -57
  140. package/ngcc/src/execution/tasks/api.mjs +0 -22
  141. package/ngcc/src/execution/tasks/completion.mjs +0 -61
  142. package/ngcc/src/execution/tasks/queues/base_task_queue.mjs +0 -78
  143. package/ngcc/src/execution/tasks/queues/parallel_task_queue.mjs +0 -53
  144. package/ngcc/src/execution/tasks/queues/serial_task_queue.mjs +0 -29
  145. package/ngcc/src/execution/tasks/utils.mjs +0 -114
  146. package/ngcc/src/host/commonjs_host.mjs +0 -220
  147. package/ngcc/src/host/commonjs_umd_utils.mjs +0 -186
  148. package/ngcc/src/host/delegating_host.mjs +0 -140
  149. package/ngcc/src/host/esm2015_host.mjs +0 -2293
  150. package/ngcc/src/host/esm5_host.mjs +0 -721
  151. package/ngcc/src/host/ngcc_host.mjs +0 -15
  152. package/ngcc/src/host/umd_host.mjs +0 -486
  153. package/ngcc/src/host/utils.mjs +0 -12
  154. package/ngcc/src/locking/async_locker.mjs +0 -76
  155. package/ngcc/src/locking/lock_file.mjs +0 -4
  156. package/ngcc/src/locking/lock_file_with_child_process/index.mjs +0 -78
  157. package/ngcc/src/locking/lock_file_with_child_process/unlocker.mjs +0 -34
  158. package/ngcc/src/locking/lock_file_with_child_process/util.mjs +0 -29
  159. package/ngcc/src/locking/sync_locker.mjs +0 -52
  160. package/ngcc/src/main.mjs +0 -134
  161. package/ngcc/src/migrations/migration.mjs +0 -2
  162. package/ngcc/src/migrations/missing_injectable_migration.mjs +0 -164
  163. package/ngcc/src/migrations/undecorated_child_migration.mjs +0 -61
  164. package/ngcc/src/migrations/undecorated_parent_migration.mjs +0 -86
  165. package/ngcc/src/migrations/utils.mjs +0 -117
  166. package/ngcc/src/ngcc_options.mjs +0 -119
  167. package/ngcc/src/packages/build_marker.mjs +0 -84
  168. package/ngcc/src/packages/bundle_program.mjs +0 -52
  169. package/ngcc/src/packages/configuration.mjs +0 -255
  170. package/ngcc/src/packages/entry_point.mjs +0 -239
  171. package/ngcc/src/packages/entry_point_bundle.mjs +0 -68
  172. package/ngcc/src/packages/entry_point_manifest.mjs +0 -162
  173. package/ngcc/src/packages/ngcc_compiler_host.mjs +0 -77
  174. package/ngcc/src/packages/patch_ts_expando_initializer.mjs +0 -166
  175. package/ngcc/src/packages/source_file_cache.mjs +0 -187
  176. package/ngcc/src/packages/transformer.mjs +0 -140
  177. package/ngcc/src/path_mappings.mjs +0 -13
  178. package/ngcc/src/rendering/commonjs_rendering_formatter.mjs +0 -65
  179. package/ngcc/src/rendering/dts_renderer.mjs +0 -139
  180. package/ngcc/src/rendering/esm5_rendering_formatter.mjs +0 -50
  181. package/ngcc/src/rendering/esm_rendering_formatter.mjs +0 -251
  182. package/ngcc/src/rendering/ngcc_import_rewriter.mjs +0 -32
  183. package/ngcc/src/rendering/renderer.mjs +0 -170
  184. package/ngcc/src/rendering/rendering_formatter.mjs +0 -2
  185. package/ngcc/src/rendering/source_maps.mjs +0 -54
  186. package/ngcc/src/rendering/umd_rendering_formatter.mjs +0 -292
  187. package/ngcc/src/rendering/utils.mjs +0 -20
  188. package/ngcc/src/utils.mjs +0 -144
  189. package/ngcc/src/writing/cleaning/cleaning_strategies.mjs +0 -61
  190. package/ngcc/src/writing/cleaning/package_cleaner.mjs +0 -67
  191. package/ngcc/src/writing/cleaning/utils.mjs +0 -16
  192. package/ngcc/src/writing/file_writer.mjs +0 -2
  193. package/ngcc/src/writing/in_place_file_writer.mjs +0 -62
  194. package/ngcc/src/writing/new_entry_point_file_writer.mjs +0 -161
  195. package/ngcc/src/writing/package_json_updater.mjs +0 -144
  196. package/src/diagnostics/translate_diagnostics.mjs +0 -47
  197. package/src/diagnostics/typescript_version.mjs +0 -79
  198. package/src/extract_i18n.mjs +0 -46
  199. package/src/language_services.mjs +0 -18
  200. package/src/main.mjs +0 -185
  201. package/src/metadata/bundle_index_host.mjs +0 -107
  202. package/src/metadata/bundler.mjs +0 -556
  203. package/src/metadata/collector.mjs +0 -701
  204. package/src/metadata/evaluator.mjs +0 -643
  205. package/src/metadata/index.mjs +0 -11
  206. package/src/metadata/index_writer.mjs +0 -44
  207. package/src/metadata/schema.mjs +0 -102
  208. package/src/metadata/symbols.mjs +0 -117
  209. package/src/ngtsc/annotations/annotations.externs.js +0 -0
  210. package/src/ngtsc/annotations/index.mjs +0 -15
  211. package/src/ngtsc/annotations/src/api.mjs +0 -9
  212. package/src/ngtsc/annotations/src/component.mjs +0 -1068
  213. package/src/ngtsc/annotations/src/diagnostics.mjs +0 -147
  214. package/src/ngtsc/annotations/src/directive.mjs +0 -692
  215. package/src/ngtsc/annotations/src/factory.mjs +0 -17
  216. package/src/ngtsc/annotations/src/injectable.mjs +0 -260
  217. package/src/ngtsc/annotations/src/metadata.mjs +0 -145
  218. package/src/ngtsc/annotations/src/ng_module.mjs +0 -565
  219. package/src/ngtsc/annotations/src/pipe.mjs +0 -151
  220. package/src/ngtsc/annotations/src/references_registry.mjs +0 -16
  221. package/src/ngtsc/annotations/src/util.mjs +0 -495
  222. package/src/ngtsc/core/api/index.mjs +0 -12
  223. package/src/ngtsc/core/api/src/adapter.mjs +0 -9
  224. package/src/ngtsc/core/api/src/interfaces.mjs +0 -9
  225. package/src/ngtsc/core/api/src/options.mjs +0 -9
  226. package/src/ngtsc/core/api/src/public_options.mjs +0 -9
  227. package/src/ngtsc/core/api.externs.js +0 -0
  228. package/src/ngtsc/core/core.externs.js +0 -0
  229. package/src/ngtsc/core/index.mjs +0 -10
  230. package/src/ngtsc/core/src/compiler.mjs +0 -917
  231. package/src/ngtsc/core/src/config.mjs +0 -15
  232. package/src/ngtsc/core/src/host.mjs +0 -229
  233. package/src/ngtsc/cycles/cycles.externs.js +0 -0
  234. package/src/ngtsc/cycles/index.mjs +0 -10
  235. package/src/ngtsc/cycles/src/analyzer.mjs +0 -60
  236. package/src/ngtsc/cycles/src/imports.mjs +0 -152
  237. package/src/ngtsc/diagnostics/diagnostics.externs.js +0 -0
  238. package/src/ngtsc/diagnostics/index.mjs +0 -11
  239. package/src/ngtsc/diagnostics/src/error.mjs +0 -51
  240. package/src/ngtsc/diagnostics/src/error_code.mjs +0 -198
  241. package/src/ngtsc/diagnostics/src/util.mjs +0 -21
  242. package/src/ngtsc/entry_point/entry_point.externs.js +0 -0
  243. package/src/ngtsc/entry_point/index.mjs +0 -12
  244. package/src/ngtsc/entry_point/src/generator.mjs +0 -35
  245. package/src/ngtsc/entry_point/src/logic.mjs +0 -35
  246. package/src/ngtsc/entry_point/src/private_export_checker.mjs +0 -122
  247. package/src/ngtsc/entry_point/src/reference_graph.mjs +0 -73
  248. package/src/ngtsc/file_system/file_system.externs.js +0 -0
  249. package/src/ngtsc/file_system/index.mjs +0 -13
  250. package/src/ngtsc/file_system/src/compiler_host.mjs +0 -64
  251. package/src/ngtsc/file_system/src/helpers.mjs +0 -99
  252. package/src/ngtsc/file_system/src/invalid_file_system.mjs +0 -95
  253. package/src/ngtsc/file_system/src/logical.mjs +0 -84
  254. package/src/ngtsc/file_system/src/node_js_file_system.mjs +0 -142
  255. package/src/ngtsc/file_system/src/types.mjs +0 -9
  256. package/src/ngtsc/file_system/src/util.mjs +0 -22
  257. package/src/ngtsc/file_system/testing/index.mjs +0 -13
  258. package/src/ngtsc/file_system/testing/src/mock_file_system.mjs +0 -293
  259. package/src/ngtsc/file_system/testing/src/mock_file_system_native.mjs +0 -57
  260. package/src/ngtsc/file_system/testing/src/mock_file_system_posix.mjs +0 -38
  261. package/src/ngtsc/file_system/testing/src/mock_file_system_windows.mjs +0 -38
  262. package/src/ngtsc/file_system/testing/src/test_helper.mjs +0 -108
  263. package/src/ngtsc/file_system/testing/testing.externs.js +0 -0
  264. package/src/ngtsc/imports/imports.externs.js +0 -0
  265. package/src/ngtsc/imports/index.mjs +0 -14
  266. package/src/ngtsc/imports/src/alias.mjs +0 -137
  267. package/src/ngtsc/imports/src/core.mjs +0 -78
  268. package/src/ngtsc/imports/src/default.mjs +0 -135
  269. package/src/ngtsc/imports/src/emitter.mjs +0 -266
  270. package/src/ngtsc/imports/src/find_export.mjs +0 -56
  271. package/src/ngtsc/imports/src/reexport.mjs +0 -9
  272. package/src/ngtsc/imports/src/references.mjs +0 -137
  273. package/src/ngtsc/imports/src/resolver.mjs +0 -24
  274. package/src/ngtsc/incremental/api.externs.js +0 -0
  275. package/src/ngtsc/incremental/api.mjs +0 -9
  276. package/src/ngtsc/incremental/incremental.externs.js +0 -0
  277. package/src/ngtsc/incremental/index.mjs +0 -12
  278. package/src/ngtsc/incremental/semantic_graph/index.mjs +0 -12
  279. package/src/ngtsc/incremental/semantic_graph/semantic_graph.externs.js +0 -0
  280. package/src/ngtsc/incremental/semantic_graph/src/api.mjs +0 -36
  281. package/src/ngtsc/incremental/semantic_graph/src/graph.mjs +0 -237
  282. package/src/ngtsc/incremental/semantic_graph/src/type_parameters.mjs +0 -40
  283. package/src/ngtsc/incremental/semantic_graph/src/util.mjs +0 -69
  284. package/src/ngtsc/incremental/src/dependency_tracking.mjs +0 -117
  285. package/src/ngtsc/incremental/src/incremental.mjs +0 -271
  286. package/src/ngtsc/incremental/src/noop.mjs +0 -13
  287. package/src/ngtsc/incremental/src/state.mjs +0 -17
  288. package/src/ngtsc/incremental/src/strategy.mjs +0 -76
  289. package/src/ngtsc/indexer/index.mjs +0 -11
  290. package/src/ngtsc/indexer/indexer.externs.js +0 -0
  291. package/src/ngtsc/indexer/src/api.mjs +0 -30
  292. package/src/ngtsc/indexer/src/context.mjs +0 -25
  293. package/src/ngtsc/indexer/src/template.mjs +0 -303
  294. package/src/ngtsc/indexer/src/transform.mjs +0 -51
  295. package/src/ngtsc/logging/index.mjs +0 -10
  296. package/src/ngtsc/logging/logging.externs.js +0 -0
  297. package/src/ngtsc/logging/src/console_logger.mjs +0 -43
  298. package/src/ngtsc/logging/src/logger.mjs +0 -15
  299. package/src/ngtsc/logging/testing/index.mjs +0 -9
  300. package/src/ngtsc/logging/testing/src/mock_logger.mjs +0 -32
  301. package/src/ngtsc/logging/testing/testing.externs.js +0 -0
  302. package/src/ngtsc/metadata/index.mjs +0 -15
  303. package/src/ngtsc/metadata/metadata.externs.js +0 -0
  304. package/src/ngtsc/metadata/src/api.mjs +0 -13
  305. package/src/ngtsc/metadata/src/dts.mjs +0 -143
  306. package/src/ngtsc/metadata/src/inheritance.mjs +0 -71
  307. package/src/ngtsc/metadata/src/property_mapping.mjs +0 -136
  308. package/src/ngtsc/metadata/src/registry.mjs +0 -80
  309. package/src/ngtsc/metadata/src/resource_registry.mjs +0 -81
  310. package/src/ngtsc/metadata/src/util.mjs +0 -200
  311. package/src/ngtsc/partial_evaluator/index.mjs +0 -12
  312. package/src/ngtsc/partial_evaluator/partial_evaluator.externs.js +0 -0
  313. package/src/ngtsc/partial_evaluator/src/builtin.mjs +0 -65
  314. package/src/ngtsc/partial_evaluator/src/diagnostics.mjs +0 -174
  315. package/src/ngtsc/partial_evaluator/src/dynamic.mjs +0 -94
  316. package/src/ngtsc/partial_evaluator/src/interface.mjs +0 -27
  317. package/src/ngtsc/partial_evaluator/src/interpreter.mjs +0 -719
  318. package/src/ngtsc/partial_evaluator/src/known_declaration.mjs +0 -43
  319. package/src/ngtsc/partial_evaluator/src/result.mjs +0 -50
  320. package/src/ngtsc/partial_evaluator/src/ts_helpers.mjs +0 -72
  321. package/src/ngtsc/perf/index.mjs +0 -11
  322. package/src/ngtsc/perf/perf.externs.js +0 -0
  323. package/src/ngtsc/perf/src/api.mjs +0 -278
  324. package/src/ngtsc/perf/src/clock.mjs +0 -15
  325. package/src/ngtsc/perf/src/noop.mjs +0 -21
  326. package/src/ngtsc/perf/src/recorder.mjs +0 -125
  327. package/src/ngtsc/program.mjs +0 -271
  328. package/src/ngtsc/program_driver/index.mjs +0 -10
  329. package/src/ngtsc/program_driver/program_driver.externs.js +0 -0
  330. package/src/ngtsc/program_driver/src/api.mjs +0 -22
  331. package/src/ngtsc/program_driver/src/ts_create_program_driver.mjs +0 -164
  332. package/src/ngtsc/reflection/index.mjs +0 -12
  333. package/src/ngtsc/reflection/reflection.externs.js +0 -0
  334. package/src/ngtsc/reflection/src/host.mjs +0 -73
  335. package/src/ngtsc/reflection/src/type_to_value.mjs +0 -243
  336. package/src/ngtsc/reflection/src/typescript.mjs +0 -608
  337. package/src/ngtsc/reflection/src/util.mjs +0 -21
  338. package/src/ngtsc/resource/index.mjs +0 -9
  339. package/src/ngtsc/resource/resource.externs.js +0 -0
  340. package/src/ngtsc/resource/src/loader.mjs +0 -242
  341. package/src/ngtsc/routing/index.mjs +0 -11
  342. package/src/ngtsc/routing/routing.externs.js +0 -0
  343. package/src/ngtsc/routing/src/analyzer.mjs +0 -69
  344. package/src/ngtsc/routing/src/lazy.mjs +0 -168
  345. package/src/ngtsc/routing/src/route.mjs +0 -51
  346. package/src/ngtsc/scope/index.mjs +0 -12
  347. package/src/ngtsc/scope/scope.externs.js +0 -0
  348. package/src/ngtsc/scope/src/api.mjs +0 -9
  349. package/src/ngtsc/scope/src/component_scope.mjs +0 -31
  350. package/src/ngtsc/scope/src/dependency.mjs +0 -134
  351. package/src/ngtsc/scope/src/local.mjs +0 -531
  352. package/src/ngtsc/scope/src/typecheck.mjs +0 -83
  353. package/src/ngtsc/shims/api.externs.js +0 -0
  354. package/src/ngtsc/shims/api.mjs +0 -2
  355. package/src/ngtsc/shims/index.mjs +0 -14
  356. package/src/ngtsc/shims/shims.externs.js +0 -0
  357. package/src/ngtsc/shims/src/adapter.mjs +0 -188
  358. package/src/ngtsc/shims/src/expando.mjs +0 -102
  359. package/src/ngtsc/shims/src/factory_generator.mjs +0 -265
  360. package/src/ngtsc/shims/src/reference_tagger.mjs +0 -67
  361. package/src/ngtsc/shims/src/summary_generator.mjs +0 -64
  362. package/src/ngtsc/shims/src/util.mjs +0 -26
  363. package/src/ngtsc/sourcemaps/index.mjs +0 -11
  364. package/src/ngtsc/sourcemaps/sourcemaps.externs.js +0 -0
  365. package/src/ngtsc/sourcemaps/src/content_origin.mjs +0 -35
  366. package/src/ngtsc/sourcemaps/src/raw_source_map.mjs +0 -2
  367. package/src/ngtsc/sourcemaps/src/segment_marker.mjs +0 -40
  368. package/src/ngtsc/sourcemaps/src/source_file.mjs +0 -459
  369. package/src/ngtsc/sourcemaps/src/source_file_loader.mjs +0 -213
  370. package/src/ngtsc/switch/index.mjs +0 -9
  371. package/src/ngtsc/switch/src/switch.mjs +0 -115
  372. package/src/ngtsc/switch/switch.externs.js +0 -0
  373. package/src/ngtsc/transform/index.mjs +0 -14
  374. package/src/ngtsc/transform/src/alias.mjs +0 -30
  375. package/src/ngtsc/transform/src/api.mjs +0 -63
  376. package/src/ngtsc/transform/src/compilation.mjs +0 -514
  377. package/src/ngtsc/transform/src/declaration.mjs +0 -182
  378. package/src/ngtsc/transform/src/trait.mjs +0 -95
  379. package/src/ngtsc/transform/src/transform.mjs +0 -298
  380. package/src/ngtsc/transform/src/utils.mjs +0 -57
  381. package/src/ngtsc/transform/transform.externs.js +0 -0
  382. package/src/ngtsc/translator/index.mjs +0 -14
  383. package/src/ngtsc/translator/src/api/ast_factory.mjs +0 -9
  384. package/src/ngtsc/translator/src/api/import_generator.mjs +0 -9
  385. package/src/ngtsc/translator/src/context.mjs +0 -24
  386. package/src/ngtsc/translator/src/import_manager.mjs +0 -48
  387. package/src/ngtsc/translator/src/translator.mjs +0 -317
  388. package/src/ngtsc/translator/src/type_translator.mjs +0 -204
  389. package/src/ngtsc/translator/src/typescript_ast_factory.mjs +0 -211
  390. package/src/ngtsc/translator/src/typescript_translator.mjs +0 -17
  391. package/src/ngtsc/translator/translator.externs.js +0 -0
  392. package/src/ngtsc/tsc_plugin.mjs +0 -98
  393. package/src/ngtsc/typecheck/api/api.externs.js +0 -0
  394. package/src/ngtsc/typecheck/api/api.mjs +0 -9
  395. package/src/ngtsc/typecheck/api/checker.mjs +0 -31
  396. package/src/ngtsc/typecheck/api/completion.mjs +0 -16
  397. package/src/ngtsc/typecheck/api/context.mjs +0 -9
  398. package/src/ngtsc/typecheck/api/index.mjs +0 -14
  399. package/src/ngtsc/typecheck/api/scope.mjs +0 -9
  400. package/src/ngtsc/typecheck/api/symbols.mjs +0 -22
  401. package/src/ngtsc/typecheck/diagnostics/diagnostics.externs.js +0 -0
  402. package/src/ngtsc/typecheck/diagnostics/index.mjs +0 -10
  403. package/src/ngtsc/typecheck/diagnostics/src/diagnostic.mjs +0 -99
  404. package/src/ngtsc/typecheck/diagnostics/src/id.mjs +0 -23
  405. package/src/ngtsc/typecheck/index.mjs +0 -12
  406. package/src/ngtsc/typecheck/src/checker.mjs +0 -591
  407. package/src/ngtsc/typecheck/src/comments.mjs +0 -159
  408. package/src/ngtsc/typecheck/src/completion.mjs +0 -155
  409. package/src/ngtsc/typecheck/src/context.mjs +0 -350
  410. package/src/ngtsc/typecheck/src/diagnostics.mjs +0 -95
  411. package/src/ngtsc/typecheck/src/dom.mjs +0 -68
  412. package/src/ngtsc/typecheck/src/environment.mjs +0 -146
  413. package/src/ngtsc/typecheck/src/expression.mjs +0 -412
  414. package/src/ngtsc/typecheck/src/line_mappings.mjs +0 -60
  415. package/src/ngtsc/typecheck/src/oob.mjs +0 -112
  416. package/src/ngtsc/typecheck/src/shim.mjs +0 -37
  417. package/src/ngtsc/typecheck/src/source.mjs +0 -74
  418. package/src/ngtsc/typecheck/src/tcb_util.mjs +0 -135
  419. package/src/ngtsc/typecheck/src/template_semantics.mjs +0 -34
  420. package/src/ngtsc/typecheck/src/template_symbol_builder.mjs +0 -485
  421. package/src/ngtsc/typecheck/src/ts_util.mjs +0 -157
  422. package/src/ngtsc/typecheck/src/type_check_block.mjs +0 -1770
  423. package/src/ngtsc/typecheck/src/type_check_file.mjs +0 -65
  424. package/src/ngtsc/typecheck/src/type_constructor.mjs +0 -227
  425. package/src/ngtsc/typecheck/src/type_emitter.mjs +0 -127
  426. package/src/ngtsc/typecheck/src/type_parameter_emitter.mjs +0 -93
  427. package/src/ngtsc/typecheck/typecheck.externs.js +0 -0
  428. package/src/ngtsc/util/src/path.mjs +0 -18
  429. package/src/ngtsc/util/src/typescript.mjs +0 -143
  430. package/src/ngtsc/util/src/visitor.mjs +0 -107
  431. package/src/ngtsc/util/util.externs.js +0 -0
  432. package/src/ngtsc/xi18n/index.mjs +0 -9
  433. package/src/ngtsc/xi18n/src/context.mjs +0 -9
  434. package/src/ngtsc/xi18n/xi18n.externs.js +0 -0
  435. package/src/perform_compile.mjs +0 -275
  436. package/src/perform_watch.mjs +0 -247
  437. package/src/tooling.mjs +0 -32
  438. package/src/transformers/api.mjs +0 -27
  439. package/src/transformers/compiler_host.mjs +0 -593
  440. package/src/transformers/downlevel_decorators_transform.mjs +0 -507
  441. package/src/transformers/entry_points.mjs +0 -10
  442. package/src/transformers/i18n.mjs +0 -59
  443. package/src/transformers/inline_resources.mjs +0 -269
  444. package/src/transformers/lower_expressions.mjs +0 -336
  445. package/src/transformers/metadata_cache.mjs +0 -53
  446. package/src/transformers/metadata_reader.mjs +0 -104
  447. package/src/transformers/node_emitter.mjs +0 -606
  448. package/src/transformers/node_emitter_transform.mjs +0 -78
  449. package/src/transformers/patch_alias_reference_resolution.mjs +0 -109
  450. package/src/transformers/program.mjs +0 -887
  451. package/src/transformers/r3_metadata_transform.mjs +0 -46
  452. package/src/transformers/r3_transform.mjs +0 -29
  453. package/src/transformers/util.mjs +0 -89
  454. package/src/typescript_support.mjs +0 -57
  455. package/src/version.mjs +0 -15
@@ -1,70 +0,0 @@
1
- import { NOOP_PERF_RECORDER } from '../../../src/ngtsc/perf';
2
- import { CompilationMode, DtsTransformRegistry, TraitCompiler } from '../../../src/ngtsc/transform';
3
- import { isDefined } from '../utils';
4
- /**
5
- * Specializes the `TraitCompiler` for ngcc purposes. Mainly, this includes an alternative way of
6
- * scanning for classes to compile using the reflection host's `findClassSymbols`, together with
7
- * support to inject synthetic decorators into the compilation for ad-hoc migrations that ngcc
8
- * performs.
9
- */
10
- export class NgccTraitCompiler extends TraitCompiler {
11
- constructor(handlers, ngccReflector) {
12
- super(handlers, ngccReflector, NOOP_PERF_RECORDER, new NoIncrementalBuild(),
13
- /* compileNonExportedClasses */ true, CompilationMode.FULL, new DtsTransformRegistry(),
14
- /* semanticDepGraphUpdater */ null);
15
- this.ngccReflector = ngccReflector;
16
- }
17
- get analyzedFiles() {
18
- return Array.from(this.fileToClasses.keys());
19
- }
20
- /**
21
- * Analyzes the source file in search for classes to process. For any class that is found in the
22
- * file, a `ClassRecord` is created and the source file is included in the `analyzedFiles` array.
23
- */
24
- analyzeFile(sf) {
25
- const ngccClassSymbols = this.ngccReflector.findClassSymbols(sf);
26
- for (const classSymbol of ngccClassSymbols) {
27
- this.analyzeClass(classSymbol.declaration.valueDeclaration, null);
28
- }
29
- return undefined;
30
- }
31
- /**
32
- * Associate a new synthesized decorator, which did not appear in the original source, with a
33
- * given class.
34
- * @param clazz the class to receive the new decorator.
35
- * @param decorator the decorator to inject.
36
- * @param flags optional bitwise flag to influence the compilation of the decorator.
37
- */
38
- injectSyntheticDecorator(clazz, decorator, flags) {
39
- const migratedTraits = this.detectTraits(clazz, [decorator]);
40
- if (migratedTraits === null) {
41
- return [];
42
- }
43
- for (const trait of migratedTraits) {
44
- this.analyzeTrait(clazz, trait, flags);
45
- }
46
- return migratedTraits;
47
- }
48
- /**
49
- * Returns all decorators that have been recognized for the provided class, including any
50
- * synthetically injected decorators.
51
- * @param clazz the declaration for which the decorators are returned.
52
- */
53
- getAllDecorators(clazz) {
54
- const record = this.recordFor(clazz);
55
- if (record === null) {
56
- return null;
57
- }
58
- return record.traits.map(trait => trait.detected.decorator).filter(isDefined);
59
- }
60
- }
61
- class NoIncrementalBuild {
62
- priorAnalysisFor(sf) {
63
- return null;
64
- }
65
- priorTypeCheckingResultsFor() {
66
- return null;
67
- }
68
- recordSuccessfulTypeCheck() { }
69
- }
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdjY190cmFpdF9jb21waWxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyLWNsaS9uZ2NjL3NyYy9hbmFseXNpcy9uZ2NjX3RyYWl0X2NvbXBpbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdBLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRTNELE9BQU8sRUFBQyxlQUFlLEVBQW9CLG9CQUFvQixFQUF1QixhQUFhLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUV6SSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRW5DOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGFBQWE7SUFDbEQsWUFDSSxRQUE0RSxFQUNwRSxhQUFpQztRQUMzQyxLQUFLLENBQ0QsUUFBUSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLGtCQUFrQixFQUFFO1FBQ3JFLCtCQUErQixDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksb0JBQW9CLEVBQUU7UUFDdEYsNkJBQTZCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFKOUIsa0JBQWEsR0FBYixhQUFhLENBQW9CO0lBSzdDLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXLENBQUMsRUFBaUI7UUFDM0IsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLEtBQUssTUFBTSxXQUFXLElBQUksZ0JBQWdCLEVBQUU7WUFDMUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ25FO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILHdCQUF3QixDQUFDLEtBQXVCLEVBQUUsU0FBb0IsRUFBRSxLQUFvQjtRQUUxRixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDN0QsSUFBSSxjQUFjLEtBQUssSUFBSSxFQUFFO1lBQzNCLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFFRCxLQUFLLE1BQU0sS0FBSyxJQUFJLGNBQWMsRUFBRTtZQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDeEM7UUFFRCxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGdCQUFnQixDQUFDLEtBQXVCO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsSUFBSSxNQUFNLEtBQUssSUFBSSxFQUFFO1lBQ25CLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEYsQ0FBQztDQUNGO0FBRUQsTUFBTSxrQkFBa0I7SUFDdEIsZ0JBQWdCLENBQUMsRUFBaUI7UUFDaEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsMkJBQTJCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELHlCQUF5QixLQUFVLENBQUM7Q0FDckMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCAqIGFzIHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuXG5pbXBvcnQge0luY3JlbWVudGFsQnVpbGR9IGZyb20gJy4uLy4uLy4uL3NyYy9uZ3RzYy9pbmNyZW1lbnRhbC9hcGknO1xuaW1wb3J0IHtTZW1hbnRpY1N5bWJvbH0gZnJvbSAnLi4vLi4vLi4vc3JjL25ndHNjL2luY3JlbWVudGFsL3NlbWFudGljX2dyYXBoJztcbmltcG9ydCB7Tk9PUF9QRVJGX1JFQ09SREVSfSBmcm9tICcuLi8uLi8uLi9zcmMvbmd0c2MvcGVyZic7XG5pbXBvcnQge0NsYXNzRGVjbGFyYXRpb24sIERlY29yYXRvcn0gZnJvbSAnLi4vLi4vLi4vc3JjL25ndHNjL3JlZmxlY3Rpb24nO1xuaW1wb3J0IHtDb21waWxhdGlvbk1vZGUsIERlY29yYXRvckhhbmRsZXIsIER0c1RyYW5zZm9ybVJlZ2lzdHJ5LCBIYW5kbGVyRmxhZ3MsIFRyYWl0LCBUcmFpdENvbXBpbGVyfSBmcm9tICcuLi8uLi8uLi9zcmMvbmd0c2MvdHJhbnNmb3JtJztcbmltcG9ydCB7TmdjY1JlZmxlY3Rpb25Ib3N0fSBmcm9tICcuLi9ob3N0L25nY2NfaG9zdCc7XG5pbXBvcnQge2lzRGVmaW5lZH0gZnJvbSAnLi4vdXRpbHMnO1xuXG4vKipcbiAqIFNwZWNpYWxpemVzIHRoZSBgVHJhaXRDb21waWxlcmAgZm9yIG5nY2MgcHVycG9zZXMuIE1haW5seSwgdGhpcyBpbmNsdWRlcyBhbiBhbHRlcm5hdGl2ZSB3YXkgb2ZcbiAqIHNjYW5uaW5nIGZvciBjbGFzc2VzIHRvIGNvbXBpbGUgdXNpbmcgdGhlIHJlZmxlY3Rpb24gaG9zdCdzIGBmaW5kQ2xhc3NTeW1ib2xzYCwgdG9nZXRoZXIgd2l0aFxuICogc3VwcG9ydCB0byBpbmplY3Qgc3ludGhldGljIGRlY29yYXRvcnMgaW50byB0aGUgY29tcGlsYXRpb24gZm9yIGFkLWhvYyBtaWdyYXRpb25zIHRoYXQgbmdjY1xuICogcGVyZm9ybXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBOZ2NjVHJhaXRDb21waWxlciBleHRlbmRzIFRyYWl0Q29tcGlsZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICAgIGhhbmRsZXJzOiBEZWNvcmF0b3JIYW5kbGVyPHVua25vd24sIHVua25vd24sIFNlbWFudGljU3ltYm9sfG51bGwsIHVua25vd24+W10sXG4gICAgICBwcml2YXRlIG5nY2NSZWZsZWN0b3I6IE5nY2NSZWZsZWN0aW9uSG9zdCkge1xuICAgIHN1cGVyKFxuICAgICAgICBoYW5kbGVycywgbmdjY1JlZmxlY3RvciwgTk9PUF9QRVJGX1JFQ09SREVSLCBuZXcgTm9JbmNyZW1lbnRhbEJ1aWxkKCksXG4gICAgICAgIC8qIGNvbXBpbGVOb25FeHBvcnRlZENsYXNzZXMgKi8gdHJ1ZSwgQ29tcGlsYXRpb25Nb2RlLkZVTEwsIG5ldyBEdHNUcmFuc2Zvcm1SZWdpc3RyeSgpLFxuICAgICAgICAvKiBzZW1hbnRpY0RlcEdyYXBoVXBkYXRlciAqLyBudWxsKTtcbiAgfVxuXG4gIGdldCBhbmFseXplZEZpbGVzKCk6IHRzLlNvdXJjZUZpbGVbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5maWxlVG9DbGFzc2VzLmtleXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogQW5hbHl6ZXMgdGhlIHNvdXJjZSBmaWxlIGluIHNlYXJjaCBmb3IgY2xhc3NlcyB0byBwcm9jZXNzLiBGb3IgYW55IGNsYXNzIHRoYXQgaXMgZm91bmQgaW4gdGhlXG4gICAqIGZpbGUsIGEgYENsYXNzUmVjb3JkYCBpcyBjcmVhdGVkIGFuZCB0aGUgc291cmNlIGZpbGUgaXMgaW5jbHVkZWQgaW4gdGhlIGBhbmFseXplZEZpbGVzYCBhcnJheS5cbiAgICovXG4gIGFuYWx5emVGaWxlKHNmOiB0cy5Tb3VyY2VGaWxlKTogdm9pZCB7XG4gICAgY29uc3QgbmdjY0NsYXNzU3ltYm9scyA9IHRoaXMubmdjY1JlZmxlY3Rvci5maW5kQ2xhc3NTeW1ib2xzKHNmKTtcbiAgICBmb3IgKGNvbnN0IGNsYXNzU3ltYm9sIG9mIG5nY2NDbGFzc1N5bWJvbHMpIHtcbiAgICAgIHRoaXMuYW5hbHl6ZUNsYXNzKGNsYXNzU3ltYm9sLmRlY2xhcmF0aW9uLnZhbHVlRGVjbGFyYXRpb24sIG51bGwpO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogQXNzb2NpYXRlIGEgbmV3IHN5bnRoZXNpemVkIGRlY29yYXRvciwgd2hpY2ggZGlkIG5vdCBhcHBlYXIgaW4gdGhlIG9yaWdpbmFsIHNvdXJjZSwgd2l0aCBhXG4gICAqIGdpdmVuIGNsYXNzLlxuICAgKiBAcGFyYW0gY2xhenogdGhlIGNsYXNzIHRvIHJlY2VpdmUgdGhlIG5ldyBkZWNvcmF0b3IuXG4gICAqIEBwYXJhbSBkZWNvcmF0b3IgdGhlIGRlY29yYXRvciB0byBpbmplY3QuXG4gICAqIEBwYXJhbSBmbGFncyBvcHRpb25hbCBiaXR3aXNlIGZsYWcgdG8gaW5mbHVlbmNlIHRoZSBjb21waWxhdGlvbiBvZiB0aGUgZGVjb3JhdG9yLlxuICAgKi9cbiAgaW5qZWN0U3ludGhldGljRGVjb3JhdG9yKGNsYXp6OiBDbGFzc0RlY2xhcmF0aW9uLCBkZWNvcmF0b3I6IERlY29yYXRvciwgZmxhZ3M/OiBIYW5kbGVyRmxhZ3MpOlxuICAgICAgVHJhaXQ8dW5rbm93biwgdW5rbm93biwgU2VtYW50aWNTeW1ib2x8bnVsbCwgdW5rbm93bj5bXSB7XG4gICAgY29uc3QgbWlncmF0ZWRUcmFpdHMgPSB0aGlzLmRldGVjdFRyYWl0cyhjbGF6eiwgW2RlY29yYXRvcl0pO1xuICAgIGlmIChtaWdyYXRlZFRyYWl0cyA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgdHJhaXQgb2YgbWlncmF0ZWRUcmFpdHMpIHtcbiAgICAgIHRoaXMuYW5hbHl6ZVRyYWl0KGNsYXp6LCB0cmFpdCwgZmxhZ3MpO1xuICAgIH1cblxuICAgIHJldHVybiBtaWdyYXRlZFRyYWl0cztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFsbCBkZWNvcmF0b3JzIHRoYXQgaGF2ZSBiZWVuIHJlY29nbml6ZWQgZm9yIHRoZSBwcm92aWRlZCBjbGFzcywgaW5jbHVkaW5nIGFueVxuICAgKiBzeW50aGV0aWNhbGx5IGluamVjdGVkIGRlY29yYXRvcnMuXG4gICAqIEBwYXJhbSBjbGF6eiB0aGUgZGVjbGFyYXRpb24gZm9yIHdoaWNoIHRoZSBkZWNvcmF0b3JzIGFyZSByZXR1cm5lZC5cbiAgICovXG4gIGdldEFsbERlY29yYXRvcnMoY2xheno6IENsYXNzRGVjbGFyYXRpb24pOiBEZWNvcmF0b3JbXXxudWxsIHtcbiAgICBjb25zdCByZWNvcmQgPSB0aGlzLnJlY29yZEZvcihjbGF6eik7XG4gICAgaWYgKHJlY29yZCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlY29yZC50cmFpdHMubWFwKHRyYWl0ID0+IHRyYWl0LmRldGVjdGVkLmRlY29yYXRvcikuZmlsdGVyKGlzRGVmaW5lZCk7XG4gIH1cbn1cblxuY2xhc3MgTm9JbmNyZW1lbnRhbEJ1aWxkIGltcGxlbWVudHMgSW5jcmVtZW50YWxCdWlsZDxhbnksIGFueT4ge1xuICBwcmlvckFuYWx5c2lzRm9yKHNmOiB0cy5Tb3VyY2VGaWxlKTogYW55W118bnVsbCB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcmlvclR5cGVDaGVja2luZ1Jlc3VsdHNGb3IoKTogbnVsbCB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZWNvcmRTdWNjZXNzZnVsVHlwZUNoZWNrKCk6IHZvaWQge31cbn1cbiJdfQ==
@@ -1,47 +0,0 @@
1
- import { absoluteFromSourceFile } from '../../../src/ngtsc/file_system';
2
- import { hasNameIdentifier, isDefined } from '../utils';
3
- /**
4
- * This class will analyze a program to find all the declared classes
5
- * (i.e. on an NgModule) that are not publicly exported via an entry-point.
6
- */
7
- export class PrivateDeclarationsAnalyzer {
8
- constructor(host, referencesRegistry) {
9
- this.host = host;
10
- this.referencesRegistry = referencesRegistry;
11
- }
12
- analyzeProgram(program) {
13
- const rootFiles = this.getRootFiles(program);
14
- return this.getPrivateDeclarations(rootFiles, this.referencesRegistry.getDeclarationMap());
15
- }
16
- getRootFiles(program) {
17
- return program.getRootFileNames().map(f => program.getSourceFile(f)).filter(isDefined);
18
- }
19
- getPrivateDeclarations(rootFiles, declarations) {
20
- const privateDeclarations = new Map(declarations);
21
- rootFiles.forEach(f => {
22
- const exports = this.host.getExportsOfModule(f);
23
- if (exports) {
24
- exports.forEach((declaration, exportedName) => {
25
- if (declaration.node !== null && hasNameIdentifier(declaration.node)) {
26
- if (privateDeclarations.has(declaration.node.name)) {
27
- const privateDeclaration = privateDeclarations.get(declaration.node.name);
28
- if (privateDeclaration.node !== declaration.node) {
29
- throw new Error(`${declaration.node.name.text} is declared multiple times.`);
30
- }
31
- // This declaration is public so we can remove it from the list
32
- privateDeclarations.delete(declaration.node.name);
33
- }
34
- }
35
- });
36
- }
37
- });
38
- return Array.from(privateDeclarations.keys()).map(id => {
39
- const from = absoluteFromSourceFile(id.getSourceFile());
40
- const declaration = privateDeclarations.get(id);
41
- const dtsDeclaration = this.host.getDtsDeclaration(declaration.node);
42
- const dtsFrom = dtsDeclaration && absoluteFromSourceFile(dtsDeclaration.getSourceFile());
43
- return { identifier: id.text, from, dtsFrom };
44
- });
45
- }
46
- }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9kZWNsYXJhdGlvbnNfYW5hbHl6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvbmdjYy9zcmMvYW5hbHlzaXMvcHJpdmF0ZV9kZWNsYXJhdGlvbnNfYW5hbHl6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsT0FBTyxFQUFDLHNCQUFzQixFQUFpQixNQUFNLGdDQUFnQyxDQUFDO0FBR3RGLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFXdEQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLDJCQUEyQjtJQUN0QyxZQUNZLElBQXdCLEVBQVUsa0JBQTBDO1FBQTVFLFNBQUksR0FBSixJQUFJLENBQW9CO1FBQVUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUF3QjtJQUFHLENBQUM7SUFFNUYsY0FBYyxDQUFDLE9BQW1CO1FBQ2hDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0MsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVPLFlBQVksQ0FBQyxPQUFtQjtRQUN0QyxPQUFPLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVPLHNCQUFzQixDQUMxQixTQUEwQixFQUMxQixZQUE2QztRQUMvQyxNQUFNLG1CQUFtQixHQUFvQyxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVuRixTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3BCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEQsSUFBSSxPQUFPLEVBQUU7Z0JBQ1gsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxZQUFZLEVBQUUsRUFBRTtvQkFDNUMsSUFBSSxXQUFXLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUU7d0JBQ3BFLElBQUksbUJBQW1CLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7NEJBQ2xELE1BQU0sa0JBQWtCLEdBQUcsbUJBQW1CLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFFLENBQUM7NEJBQzNFLElBQUksa0JBQWtCLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxJQUFJLEVBQUU7Z0NBQ2hELE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLDhCQUE4QixDQUFDLENBQUM7NkJBQzlFOzRCQUNELCtEQUErRDs0QkFDL0QsbUJBQW1CLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7eUJBQ25EO3FCQUNGO2dCQUNILENBQUMsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNyRCxNQUFNLElBQUksR0FBRyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztZQUN4RCxNQUFNLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLENBQUM7WUFDakQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDckUsTUFBTSxPQUFPLEdBQUcsY0FBYyxJQUFJLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1lBRXpGLE9BQU8sRUFBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCAqIGFzIHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuXG5pbXBvcnQge2Fic29sdXRlRnJvbVNvdXJjZUZpbGUsIEFic29sdXRlRnNQYXRofSBmcm9tICcuLi8uLi8uLi9zcmMvbmd0c2MvZmlsZV9zeXN0ZW0nO1xuaW1wb3J0IHtEZWNsYXJhdGlvbn0gZnJvbSAnLi4vLi4vLi4vc3JjL25ndHNjL3JlZmxlY3Rpb24nO1xuaW1wb3J0IHtOZ2NjUmVmbGVjdGlvbkhvc3R9IGZyb20gJy4uL2hvc3QvbmdjY19ob3N0JztcbmltcG9ydCB7aGFzTmFtZUlkZW50aWZpZXIsIGlzRGVmaW5lZH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQge05nY2NSZWZlcmVuY2VzUmVnaXN0cnl9IGZyb20gJy4vbmdjY19yZWZlcmVuY2VzX3JlZ2lzdHJ5JztcblxuZXhwb3J0IGludGVyZmFjZSBFeHBvcnRJbmZvIHtcbiAgaWRlbnRpZmllcjogc3RyaW5nO1xuICBmcm9tOiBBYnNvbHV0ZUZzUGF0aDtcbiAgZHRzRnJvbT86IEFic29sdXRlRnNQYXRofG51bGw7XG59XG5leHBvcnQgdHlwZSBQcml2YXRlRGVjbGFyYXRpb25zQW5hbHlzZXMgPSBFeHBvcnRJbmZvW107XG5cbi8qKlxuICogVGhpcyBjbGFzcyB3aWxsIGFuYWx5emUgYSBwcm9ncmFtIHRvIGZpbmQgYWxsIHRoZSBkZWNsYXJlZCBjbGFzc2VzXG4gKiAoaS5lLiBvbiBhbiBOZ01vZHVsZSkgdGhhdCBhcmUgbm90IHB1YmxpY2x5IGV4cG9ydGVkIHZpYSBhbiBlbnRyeS1wb2ludC5cbiAqL1xuZXhwb3J0IGNsYXNzIFByaXZhdGVEZWNsYXJhdGlvbnNBbmFseXplciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBob3N0OiBOZ2NjUmVmbGVjdGlvbkhvc3QsIHByaXZhdGUgcmVmZXJlbmNlc1JlZ2lzdHJ5OiBOZ2NjUmVmZXJlbmNlc1JlZ2lzdHJ5KSB7fVxuXG4gIGFuYWx5emVQcm9ncmFtKHByb2dyYW06IHRzLlByb2dyYW0pOiBQcml2YXRlRGVjbGFyYXRpb25zQW5hbHlzZXMge1xuICAgIGNvbnN0IHJvb3RGaWxlcyA9IHRoaXMuZ2V0Um9vdEZpbGVzKHByb2dyYW0pO1xuICAgIHJldHVybiB0aGlzLmdldFByaXZhdGVEZWNsYXJhdGlvbnMocm9vdEZpbGVzLCB0aGlzLnJlZmVyZW5jZXNSZWdpc3RyeS5nZXREZWNsYXJhdGlvbk1hcCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Um9vdEZpbGVzKHByb2dyYW06IHRzLlByb2dyYW0pOiB0cy5Tb3VyY2VGaWxlW10ge1xuICAgIHJldHVybiBwcm9ncmFtLmdldFJvb3RGaWxlTmFtZXMoKS5tYXAoZiA9PiBwcm9ncmFtLmdldFNvdXJjZUZpbGUoZikpLmZpbHRlcihpc0RlZmluZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQcml2YXRlRGVjbGFyYXRpb25zKFxuICAgICAgcm9vdEZpbGVzOiB0cy5Tb3VyY2VGaWxlW10sXG4gICAgICBkZWNsYXJhdGlvbnM6IE1hcDx0cy5JZGVudGlmaWVyLCBEZWNsYXJhdGlvbj4pOiBQcml2YXRlRGVjbGFyYXRpb25zQW5hbHlzZXMge1xuICAgIGNvbnN0IHByaXZhdGVEZWNsYXJhdGlvbnM6IE1hcDx0cy5JZGVudGlmaWVyLCBEZWNsYXJhdGlvbj4gPSBuZXcgTWFwKGRlY2xhcmF0aW9ucyk7XG5cbiAgICByb290RmlsZXMuZm9yRWFjaChmID0+IHtcbiAgICAgIGNvbnN0IGV4cG9ydHMgPSB0aGlzLmhvc3QuZ2V0RXhwb3J0c09mTW9kdWxlKGYpO1xuICAgICAgaWYgKGV4cG9ydHMpIHtcbiAgICAgICAgZXhwb3J0cy5mb3JFYWNoKChkZWNsYXJhdGlvbiwgZXhwb3J0ZWROYW1lKSA9PiB7XG4gICAgICAgICAgaWYgKGRlY2xhcmF0aW9uLm5vZGUgIT09IG51bGwgJiYgaGFzTmFtZUlkZW50aWZpZXIoZGVjbGFyYXRpb24ubm9kZSkpIHtcbiAgICAgICAgICAgIGlmIChwcml2YXRlRGVjbGFyYXRpb25zLmhhcyhkZWNsYXJhdGlvbi5ub2RlLm5hbWUpKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHByaXZhdGVEZWNsYXJhdGlvbiA9IHByaXZhdGVEZWNsYXJhdGlvbnMuZ2V0KGRlY2xhcmF0aW9uLm5vZGUubmFtZSkhO1xuICAgICAgICAgICAgICBpZiAocHJpdmF0ZURlY2xhcmF0aW9uLm5vZGUgIT09IGRlY2xhcmF0aW9uLm5vZGUpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7ZGVjbGFyYXRpb24ubm9kZS5uYW1lLnRleHR9IGlzIGRlY2xhcmVkIG11bHRpcGxlIHRpbWVzLmApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8vIFRoaXMgZGVjbGFyYXRpb24gaXMgcHVibGljIHNvIHdlIGNhbiByZW1vdmUgaXQgZnJvbSB0aGUgbGlzdFxuICAgICAgICAgICAgICBwcml2YXRlRGVjbGFyYXRpb25zLmRlbGV0ZShkZWNsYXJhdGlvbi5ub2RlLm5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gQXJyYXkuZnJvbShwcml2YXRlRGVjbGFyYXRpb25zLmtleXMoKSkubWFwKGlkID0+IHtcbiAgICAgIGNvbnN0IGZyb20gPSBhYnNvbHV0ZUZyb21Tb3VyY2VGaWxlKGlkLmdldFNvdXJjZUZpbGUoKSk7XG4gICAgICBjb25zdCBkZWNsYXJhdGlvbiA9IHByaXZhdGVEZWNsYXJhdGlvbnMuZ2V0KGlkKSE7XG4gICAgICBjb25zdCBkdHNEZWNsYXJhdGlvbiA9IHRoaXMuaG9zdC5nZXREdHNEZWNsYXJhdGlvbihkZWNsYXJhdGlvbi5ub2RlKTtcbiAgICAgIGNvbnN0IGR0c0Zyb20gPSBkdHNEZWNsYXJhdGlvbiAmJiBhYnNvbHV0ZUZyb21Tb3VyY2VGaWxlKGR0c0RlY2xhcmF0aW9uLmdldFNvdXJjZUZpbGUoKSk7XG5cbiAgICAgIHJldHVybiB7aWRlbnRpZmllcjogaWQudGV4dCwgZnJvbSwgZHRzRnJvbX07XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,34 +0,0 @@
1
- import { absoluteFromSourceFile } from '../../../src/ngtsc/file_system';
2
- import { isWithinPackage } from './util';
3
- export const SwitchMarkerAnalyses = Map;
4
- /**
5
- * This Analyzer will analyse the files that have an R3 switch marker in them
6
- * that will be replaced.
7
- */
8
- export class SwitchMarkerAnalyzer {
9
- constructor(host, packagePath) {
10
- this.host = host;
11
- this.packagePath = packagePath;
12
- }
13
- /**
14
- * Analyze the files in the program to identify declarations that contain R3
15
- * switch markers.
16
- * @param program The program to analyze.
17
- * @return A map of source files to analysis objects. The map will contain only the
18
- * source files that had switch markers, and the analysis will contain an array of
19
- * the declarations in that source file that contain the marker.
20
- */
21
- analyzeProgram(program) {
22
- const analyzedFiles = new SwitchMarkerAnalyses();
23
- program.getSourceFiles()
24
- .filter(sourceFile => isWithinPackage(this.packagePath, absoluteFromSourceFile(sourceFile)))
25
- .forEach(sourceFile => {
26
- const declarations = this.host.getSwitchableDeclarations(sourceFile);
27
- if (declarations.length) {
28
- analyzedFiles.set(sourceFile, { sourceFile, declarations });
29
- }
30
- });
31
- return analyzedFiles;
32
- }
33
- }
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoX21hcmtlcl9hbmFseXplci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyLWNsaS9uZ2NjL3NyYy9hbmFseXNpcy9zd2l0Y2hfbWFya2VyX2FuYWx5emVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sRUFBQyxzQkFBc0IsRUFBaUIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV0RixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBUXZDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQztBQUV4Qzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBQW9CLElBQXdCLEVBQVUsV0FBMkI7UUFBN0QsU0FBSSxHQUFKLElBQUksQ0FBb0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7SUFBRyxDQUFDO0lBQ3JGOzs7Ozs7O09BT0c7SUFDSCxjQUFjLENBQUMsT0FBbUI7UUFDaEMsTUFBTSxhQUFhLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1FBQ2pELE9BQU8sQ0FBQyxjQUFjLEVBQUU7YUFDbkIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQzthQUMzRixPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDcEIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNyRSxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUU7Z0JBQ3ZCLGFBQWEsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLEVBQUMsVUFBVSxFQUFFLFlBQVksRUFBQyxDQUFDLENBQUM7YUFDM0Q7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNQLE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQge2Fic29sdXRlRnJvbVNvdXJjZUZpbGUsIEFic29sdXRlRnNQYXRofSBmcm9tICcuLi8uLi8uLi9zcmMvbmd0c2MvZmlsZV9zeXN0ZW0nO1xuaW1wb3J0IHtOZ2NjUmVmbGVjdGlvbkhvc3QsIFN3aXRjaGFibGVWYXJpYWJsZURlY2xhcmF0aW9ufSBmcm9tICcuLi9ob3N0L25nY2NfaG9zdCc7XG5pbXBvcnQge2lzV2l0aGluUGFja2FnZX0gZnJvbSAnLi91dGlsJztcblxuZXhwb3J0IGludGVyZmFjZSBTd2l0Y2hNYXJrZXJBbmFseXNpcyB7XG4gIHNvdXJjZUZpbGU6IHRzLlNvdXJjZUZpbGU7XG4gIGRlY2xhcmF0aW9uczogU3dpdGNoYWJsZVZhcmlhYmxlRGVjbGFyYXRpb25bXTtcbn1cblxuZXhwb3J0IHR5cGUgU3dpdGNoTWFya2VyQW5hbHlzZXMgPSBNYXA8dHMuU291cmNlRmlsZSwgU3dpdGNoTWFya2VyQW5hbHlzaXM+O1xuZXhwb3J0IGNvbnN0IFN3aXRjaE1hcmtlckFuYWx5c2VzID0gTWFwO1xuXG4vKipcbiAqIFRoaXMgQW5hbHl6ZXIgd2lsbCBhbmFseXNlIHRoZSBmaWxlcyB0aGF0IGhhdmUgYW4gUjMgc3dpdGNoIG1hcmtlciBpbiB0aGVtXG4gKiB0aGF0IHdpbGwgYmUgcmVwbGFjZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTd2l0Y2hNYXJrZXJBbmFseXplciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaG9zdDogTmdjY1JlZmxlY3Rpb25Ib3N0LCBwcml2YXRlIHBhY2thZ2VQYXRoOiBBYnNvbHV0ZUZzUGF0aCkge31cbiAgLyoqXG4gICAqIEFuYWx5emUgdGhlIGZpbGVzIGluIHRoZSBwcm9ncmFtIHRvIGlkZW50aWZ5IGRlY2xhcmF0aW9ucyB0aGF0IGNvbnRhaW4gUjNcbiAgICogc3dpdGNoIG1hcmtlcnMuXG4gICAqIEBwYXJhbSBwcm9ncmFtIFRoZSBwcm9ncmFtIHRvIGFuYWx5emUuXG4gICAqIEByZXR1cm4gQSBtYXAgb2Ygc291cmNlIGZpbGVzIHRvIGFuYWx5c2lzIG9iamVjdHMuIFRoZSBtYXAgd2lsbCBjb250YWluIG9ubHkgdGhlXG4gICAqIHNvdXJjZSBmaWxlcyB0aGF0IGhhZCBzd2l0Y2ggbWFya2VycywgYW5kIHRoZSBhbmFseXNpcyB3aWxsIGNvbnRhaW4gYW4gYXJyYXkgb2ZcbiAgICogdGhlIGRlY2xhcmF0aW9ucyBpbiB0aGF0IHNvdXJjZSBmaWxlIHRoYXQgY29udGFpbiB0aGUgbWFya2VyLlxuICAgKi9cbiAgYW5hbHl6ZVByb2dyYW0ocHJvZ3JhbTogdHMuUHJvZ3JhbSk6IFN3aXRjaE1hcmtlckFuYWx5c2VzIHtcbiAgICBjb25zdCBhbmFseXplZEZpbGVzID0gbmV3IFN3aXRjaE1hcmtlckFuYWx5c2VzKCk7XG4gICAgcHJvZ3JhbS5nZXRTb3VyY2VGaWxlcygpXG4gICAgICAgIC5maWx0ZXIoc291cmNlRmlsZSA9PiBpc1dpdGhpblBhY2thZ2UodGhpcy5wYWNrYWdlUGF0aCwgYWJzb2x1dGVGcm9tU291cmNlRmlsZShzb3VyY2VGaWxlKSkpXG4gICAgICAgIC5mb3JFYWNoKHNvdXJjZUZpbGUgPT4ge1xuICAgICAgICAgIGNvbnN0IGRlY2xhcmF0aW9ucyA9IHRoaXMuaG9zdC5nZXRTd2l0Y2hhYmxlRGVjbGFyYXRpb25zKHNvdXJjZUZpbGUpO1xuICAgICAgICAgIGlmIChkZWNsYXJhdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICBhbmFseXplZEZpbGVzLnNldChzb3VyY2VGaWxlLCB7c291cmNlRmlsZSwgZGVjbGFyYXRpb25zfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICByZXR1cm4gYW5hbHl6ZWRGaWxlcztcbiAgfVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export const DecorationAnalyses = Map;
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvbmdjYy9zcmMvYW5hbHlzaXMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0NBLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLEdBQUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0IHtDb25zdGFudFBvb2x9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyJztcbmltcG9ydCAqIGFzIHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuaW1wb3J0IHtSZWV4cG9ydH0gZnJvbSAnLi4vLi4vLi4vc3JjL25ndHNjL2ltcG9ydHMnO1xuaW1wb3J0IHtDbGFzc0RlY2xhcmF0aW9uLCBEZWNvcmF0b3J9IGZyb20gJy4uLy4uLy4uL3NyYy9uZ3RzYy9yZWZsZWN0aW9uJztcbmltcG9ydCB7Q29tcGlsZVJlc3VsdH0gZnJvbSAnLi4vLi4vLi4vc3JjL25ndHNjL3RyYW5zZm9ybSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGlsZWRDbGFzcyB7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVjb3JhdG9yczogRGVjb3JhdG9yW118bnVsbDtcbiAgZGVjbGFyYXRpb246IENsYXNzRGVjbGFyYXRpb247XG4gIGNvbXBpbGF0aW9uOiBDb21waWxlUmVzdWx0W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGlsZWRGaWxlIHtcbiAgY29tcGlsZWRDbGFzc2VzOiBDb21waWxlZENsYXNzW107XG4gIHNvdXJjZUZpbGU6IHRzLlNvdXJjZUZpbGU7XG4gIGNvbnN0YW50UG9vbDogQ29uc3RhbnRQb29sO1xuXG4gIC8qKlxuICAgKiBBbnkgcmUtZXhwb3J0cyB3aGljaCBzaG91bGQgYmUgYWRkZWQgbmV4dCB0byB0aGlzIGNsYXNzLCBib3RoIGluIC5qcyBhbmQgKGlmIHBvc3NpYmxlKSAuZC50cy5cbiAgICovXG4gIHJlZXhwb3J0czogUmVleHBvcnRbXTtcbn1cblxuZXhwb3J0IHR5cGUgRGVjb3JhdGlvbkFuYWx5c2VzID0gTWFwPHRzLlNvdXJjZUZpbGUsIENvbXBpbGVkRmlsZT47XG5leHBvcnQgY29uc3QgRGVjb3JhdGlvbkFuYWx5c2VzID0gTWFwO1xuIl19
@@ -1,19 +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 { isLocalRelativePath, relative } from '../../../src/ngtsc/file_system';
9
- export function isWithinPackage(packagePath, filePath) {
10
- const relativePath = relative(packagePath, filePath);
11
- return isLocalRelativePath(relativePath) && !relativePath.startsWith('node_modules/');
12
- }
13
- class NoopDependencyTracker {
14
- addDependency() { }
15
- addResourceDependency() { }
16
- recordDependencyAnalysisFailure() { }
17
- }
18
- export const NOOP_DEPENDENCY_TRACKER = new NoopDependencyTracker();
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyLWNsaS9uZ2NjL3NyYy9hbmFseXNpcy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNILE9BQU8sRUFBaUIsbUJBQW1CLEVBQUUsUUFBUSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFHN0YsTUFBTSxVQUFVLGVBQWUsQ0FBQyxXQUEyQixFQUFFLFFBQXdCO0lBQ25GLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDckQsT0FBTyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDeEYsQ0FBQztBQUVELE1BQU0scUJBQXFCO0lBQ3pCLGFBQWEsS0FBVSxDQUFDO0lBQ3hCLHFCQUFxQixLQUFVLENBQUM7SUFDaEMsK0JBQStCLEtBQVUsQ0FBQztDQUMzQztBQUVELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFzQixJQUFJLHFCQUFxQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7QWJzb2x1dGVGc1BhdGgsIGlzTG9jYWxSZWxhdGl2ZVBhdGgsIHJlbGF0aXZlfSBmcm9tICcuLi8uLi8uLi9zcmMvbmd0c2MvZmlsZV9zeXN0ZW0nO1xuaW1wb3J0IHtEZXBlbmRlbmN5VHJhY2tlcn0gZnJvbSAnLi4vLi4vLi4vc3JjL25ndHNjL2luY3JlbWVudGFsL2FwaSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1dpdGhpblBhY2thZ2UocGFja2FnZVBhdGg6IEFic29sdXRlRnNQYXRoLCBmaWxlUGF0aDogQWJzb2x1dGVGc1BhdGgpOiBib29sZWFuIHtcbiAgY29uc3QgcmVsYXRpdmVQYXRoID0gcmVsYXRpdmUocGFja2FnZVBhdGgsIGZpbGVQYXRoKTtcbiAgcmV0dXJuIGlzTG9jYWxSZWxhdGl2ZVBhdGgocmVsYXRpdmVQYXRoKSAmJiAhcmVsYXRpdmVQYXRoLnN0YXJ0c1dpdGgoJ25vZGVfbW9kdWxlcy8nKTtcbn1cblxuY2xhc3MgTm9vcERlcGVuZGVuY3lUcmFja2VyIGltcGxlbWVudHMgRGVwZW5kZW5jeVRyYWNrZXIge1xuICBhZGREZXBlbmRlbmN5KCk6IHZvaWQge31cbiAgYWRkUmVzb3VyY2VEZXBlbmRlbmN5KCk6IHZvaWQge31cbiAgcmVjb3JkRGVwZW5kZW5jeUFuYWx5c2lzRmFpbHVyZSgpOiB2b2lkIHt9XG59XG5cbmV4cG9ydCBjb25zdCBOT09QX0RFUEVOREVOQ1lfVFJBQ0tFUjogRGVwZW5kZW5jeVRyYWNrZXIgPSBuZXcgTm9vcERlcGVuZGVuY3lUcmFja2VyKCk7XG4iXX0=
@@ -1,142 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * @license
4
- * Copyright Google LLC All Rights Reserved.
5
- *
6
- * Use of this source code is governed by an MIT-style license that can be
7
- * found in the LICENSE file at https://angular.io/license
8
- */
9
- import * as yargs from 'yargs';
10
- import { setFileSystem, NodeJSFileSystem } from '../../src/ngtsc/file_system';
11
- import { ConsoleLogger, LogLevel } from '../../src/ngtsc/logging';
12
- export function parseCommandLineOptions(args) {
13
- var _a;
14
- const options = yargs
15
- .option('s', {
16
- alias: 'source',
17
- describe: 'A path (relative to the working directory) of the `node_modules` folder to process.',
18
- default: './node_modules',
19
- type: 'string',
20
- })
21
- .option('f', { alias: 'formats', hidden: true, array: true, type: 'string' })
22
- .option('p', {
23
- alias: 'properties',
24
- array: true,
25
- describe: 'An array of names of properties in package.json to compile (e.g. `module` or `main`)\n' +
26
- 'Each of these properties should hold the path to a bundle-format.\n' +
27
- 'If provided, only the specified properties are considered for processing.\n' +
28
- 'If not provided, all the supported format properties (e.g. fesm2015, fesm5, es2015, esm2015, esm5, main, module) in the package.json are considered.',
29
- type: 'string',
30
- })
31
- .option('t', {
32
- alias: 'target',
33
- describe: 'A relative path (from the `source` path) to a single entry-point to process (plus its dependencies).\n' +
34
- 'If this property is provided then `error-on-failed-entry-point` is forced to true.\n' +
35
- 'This option overrides the `--use-program-dependencies` option.',
36
- type: 'string',
37
- })
38
- .option('use-program-dependencies', {
39
- type: 'boolean',
40
- describe: 'If this property is provided then the entry-points to process are parsed from the program defined by the loaded tsconfig.json. See `--tsconfig`.\n' +
41
- 'This option is overridden by the `--target` option.',
42
- })
43
- .option('first-only', {
44
- describe: 'If specified then only the first matching package.json property will be compiled.\n' +
45
- 'This option is overridden by `--typings-only`.',
46
- type: 'boolean',
47
- })
48
- .option('typings-only', {
49
- describe: 'If specified then only the typings files are processed, and no JS source files will be modified.\n' +
50
- 'Setting this option will force `--first-only` to be set, since only one format is needed to process the typings',
51
- type: 'boolean',
52
- })
53
- .option('create-ivy-entry-points', {
54
- describe: 'If specified then new `*_ivy_ngcc` entry-points will be added to package.json rather than modifying the ones in-place.\n' +
55
- 'For this to work you need to have custom resolution set up (e.g. in webpack) to look for these new entry-points.\n' +
56
- 'The Angular CLI does this already, so it is safe to use this option if the project is being built via the CLI.',
57
- type: 'boolean',
58
- })
59
- .option('legacy-message-ids', {
60
- describe: 'Render `$localize` messages with legacy format ids.\n' +
61
- 'The default value is `true`. Only set this to `false` if you do not want legacy message ids to\n' +
62
- 'be rendered. For example, if you are not using legacy message ids in your translation files\n' +
63
- 'AND are not doing compile-time inlining of translations, in which case the extra message ids\n' +
64
- 'would add unwanted size to the final source bundle.\n' +
65
- 'It is safe to leave this set to true if you are doing compile-time inlining because the extra\n' +
66
- 'legacy message ids will all be stripped during translation.',
67
- type: 'boolean',
68
- default: true,
69
- })
70
- .option('async', {
71
- describe: 'Whether to compile asynchronously. This is enabled by default as it allows compilations to be parallelized.\n' +
72
- 'Disabling asynchronous compilation may be useful for debugging.',
73
- type: 'boolean',
74
- default: true,
75
- })
76
- .option('l', {
77
- alias: 'loglevel',
78
- describe: 'The lowest severity logging message that should be output.',
79
- choices: ['debug', 'info', 'warn', 'error'],
80
- type: 'string',
81
- })
82
- .option('invalidate-entry-point-manifest', {
83
- describe: 'If this is set then ngcc will not read an entry-point manifest file from disk.\n' +
84
- 'Instead it will walk the directory tree as normal looking for entry-points, and then write a new manifest file.',
85
- type: 'boolean',
86
- default: false,
87
- })
88
- .option('error-on-failed-entry-point', {
89
- describe: 'Set this option in order to terminate immediately with an error code if an entry-point fails to be processed.\n' +
90
- 'If `-t`/`--target` is provided then this property is always true and cannot be changed. Otherwise the default is false.\n' +
91
- 'When set to false, ngcc will continue to process entry-points after a failure. In which case it will log an error and resume processing other entry-points.',
92
- type: 'boolean',
93
- default: false,
94
- })
95
- .option('tsconfig', {
96
- describe: 'A path to a tsconfig.json file that will be used to configure the Angular compiler and module resolution used by ngcc.\n' +
97
- 'If not provided, ngcc will attempt to read a `tsconfig.json` file from the folder above that given by the `-s` option.\n' +
98
- 'Set to false (via `--no-tsconfig`) if you do not want ngcc to use any `tsconfig.json` file.',
99
- type: 'string',
100
- })
101
- .strict()
102
- .help()
103
- .parse(args);
104
- if ((_a = options.f) === null || _a === void 0 ? void 0 : _a.length) {
105
- console.error('The formats option (-f/--formats) has been removed. Consider the properties option (-p/--properties) instead.');
106
- process.exit(1);
107
- }
108
- const fs = new NodeJSFileSystem();
109
- setFileSystem(fs);
110
- const baseSourcePath = fs.resolve(options.s || './node_modules');
111
- const propertiesToConsider = options.p;
112
- const targetEntryPointPath = options.t;
113
- const compileAllFormats = !options['first-only'];
114
- const typingsOnly = options['typings-only'];
115
- const createNewEntryPointFormats = options['create-ivy-entry-points'];
116
- const logLevel = options.l;
117
- const enableI18nLegacyMessageIdFormat = options['legacy-message-ids'];
118
- const invalidateEntryPointManifest = options['invalidate-entry-point-manifest'];
119
- const errorOnFailedEntryPoint = options['error-on-failed-entry-point'];
120
- const findEntryPointsFromTsConfigProgram = options['use-program-dependencies'];
121
- // yargs is not so great at mixed string+boolean types, so we have to test tsconfig against a
122
- // string "false" to capture the `tsconfig=false` option.
123
- // And we have to convert the option to a string to handle `no-tsconfig`, which will be `false`.
124
- const tsConfigPath = `${options.tsconfig}` === 'false' ? null : options.tsconfig;
125
- const logger = logLevel && new ConsoleLogger(LogLevel[logLevel]);
126
- return {
127
- basePath: baseSourcePath,
128
- propertiesToConsider,
129
- targetEntryPointPath,
130
- typingsOnly,
131
- compileAllFormats,
132
- createNewEntryPointFormats,
133
- logger,
134
- enableI18nLegacyMessageIdFormat,
135
- async: options.async,
136
- invalidateEntryPointManifest,
137
- errorOnFailedEntryPoint,
138
- tsConfigPath,
139
- findEntryPointsFromTsConfigProgram,
140
- };
141
- }
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZF9saW5lX29wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvbmdjYy9zcmMvY29tbWFuZF9saW5lX29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBOzs7Ozs7R0FNRztBQUNILE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRS9CLE9BQU8sRUFBQyxhQUFhLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RSxPQUFPLEVBQUMsYUFBYSxFQUFFLFFBQVEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBR2hFLE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxJQUFjOztJQUNwRCxNQUFNLE9BQU8sR0FDVCxLQUFLO1NBQ0EsTUFBTSxDQUFDLEdBQUcsRUFBRTtRQUNYLEtBQUssRUFBRSxRQUFRO1FBQ2YsUUFBUSxFQUNKLHFGQUFxRjtRQUN6RixPQUFPLEVBQUUsZ0JBQWdCO1FBQ3pCLElBQUksRUFBRSxRQUFRO0tBQ2YsQ0FBQztTQUNELE1BQU0sQ0FBQyxHQUFHLEVBQUUsRUFBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFDLENBQUM7U0FDMUUsTUFBTSxDQUFDLEdBQUcsRUFBRTtRQUNYLEtBQUssRUFBRSxZQUFZO1FBQ25CLEtBQUssRUFBRSxJQUFJO1FBQ1gsUUFBUSxFQUNKLHdGQUF3RjtZQUN4RixxRUFBcUU7WUFDckUsNkVBQTZFO1lBQzdFLHNKQUFzSjtRQUMxSixJQUFJLEVBQUUsUUFBUTtLQUNmLENBQUM7U0FDRCxNQUFNLENBQUMsR0FBRyxFQUFFO1FBQ1gsS0FBSyxFQUFFLFFBQVE7UUFDZixRQUFRLEVBQ0osd0dBQXdHO1lBQ3hHLHNGQUFzRjtZQUN0RixnRUFBZ0U7UUFDcEUsSUFBSSxFQUFFLFFBQVE7S0FDZixDQUFDO1NBQ0QsTUFBTSxDQUFDLDBCQUEwQixFQUFFO1FBQ2xDLElBQUksRUFBRSxTQUFTO1FBQ2YsUUFBUSxFQUNKLG9KQUFvSjtZQUNwSixxREFBcUQ7S0FDMUQsQ0FBQztTQUNELE1BQU0sQ0FBQyxZQUFZLEVBQUU7UUFDcEIsUUFBUSxFQUNKLHFGQUFxRjtZQUNyRixnREFBZ0Q7UUFDcEQsSUFBSSxFQUFFLFNBQVM7S0FDaEIsQ0FBQztTQUNELE1BQU0sQ0FBQyxjQUFjLEVBQUU7UUFDdEIsUUFBUSxFQUNKLG9HQUFvRztZQUNwRyxpSEFBaUg7UUFDckgsSUFBSSxFQUFFLFNBQVM7S0FDaEIsQ0FBQztTQUNELE1BQU0sQ0FBQyx5QkFBeUIsRUFBRTtRQUNqQyxRQUFRLEVBQ0osMEhBQTBIO1lBQzFILG9IQUFvSDtZQUNwSCxnSEFBZ0g7UUFDcEgsSUFBSSxFQUFFLFNBQVM7S0FDaEIsQ0FBQztTQUNELE1BQU0sQ0FBQyxvQkFBb0IsRUFBRTtRQUM1QixRQUFRLEVBQUUsdURBQXVEO1lBQzdELGtHQUFrRztZQUNsRywrRkFBK0Y7WUFDL0YsZ0dBQWdHO1lBQ2hHLHVEQUF1RDtZQUN2RCxpR0FBaUc7WUFDakcsNkRBQTZEO1FBQ2pFLElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLElBQUk7S0FDZCxDQUFDO1NBQ0QsTUFBTSxDQUFDLE9BQU8sRUFBRTtRQUNmLFFBQVEsRUFDSiwrR0FBK0c7WUFDL0csaUVBQWlFO1FBQ3JFLElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLElBQUk7S0FDZCxDQUFDO1NBQ0QsTUFBTSxDQUFDLEdBQUcsRUFBRTtRQUNYLEtBQUssRUFBRSxVQUFVO1FBQ2pCLFFBQVEsRUFBRSw0REFBNEQ7UUFDdEUsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDO1FBQzNDLElBQUksRUFBRSxRQUFRO0tBQ2YsQ0FBQztTQUNELE1BQU0sQ0FBQyxpQ0FBaUMsRUFBRTtRQUN6QyxRQUFRLEVBQ0osa0ZBQWtGO1lBQ2xGLGlIQUFpSDtRQUNySCxJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxLQUFLO0tBQ2YsQ0FBQztTQUNELE1BQU0sQ0FBQyw2QkFBNkIsRUFBRTtRQUNyQyxRQUFRLEVBQ0osaUhBQWlIO1lBQ2pILDJIQUEySDtZQUMzSCw2SkFBNko7UUFDakssSUFBSSxFQUFFLFNBQVM7UUFDZixPQUFPLEVBQUUsS0FBSztLQUNmLENBQUM7U0FDRCxNQUFNLENBQUMsVUFBVSxFQUFFO1FBQ2xCLFFBQVEsRUFDSiwwSEFBMEg7WUFDMUgsMEhBQTBIO1lBQzFILDZGQUE2RjtRQUNqRyxJQUFJLEVBQUUsUUFBUTtLQUNmLENBQUM7U0FDRCxNQUFNLEVBQUU7U0FDUixJQUFJLEVBQUU7U0FDTixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFckIsSUFBSSxNQUFBLE9BQU8sQ0FBQyxDQUFDLDBDQUFFLE1BQU0sRUFBRTtRQUNyQixPQUFPLENBQUMsS0FBSyxDQUNULCtHQUErRyxDQUFDLENBQUM7UUFDckgsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNqQjtJQUVELE1BQU0sRUFBRSxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztJQUNsQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFbEIsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLGdCQUFnQixDQUFDLENBQUM7SUFDakUsTUFBTSxvQkFBb0IsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sb0JBQW9CLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN2QyxNQUFNLGlCQUFpQixHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2pELE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM1QyxNQUFNLDBCQUEwQixHQUFHLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxDQUFzQyxDQUFDO0lBQ2hFLE1BQU0sK0JBQStCLEdBQUcsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDdEUsTUFBTSw0QkFBNEIsR0FBRyxPQUFPLENBQUMsaUNBQWlDLENBQUMsQ0FBQztJQUNoRixNQUFNLHVCQUF1QixHQUFHLE9BQU8sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQ3ZFLE1BQU0sa0NBQWtDLEdBQUcsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFDL0UsNkZBQTZGO0lBQzdGLHlEQUF5RDtJQUN6RCxnR0FBZ0c7SUFDaEcsTUFBTSxZQUFZLEdBQUcsR0FBRyxPQUFPLENBQUMsUUFBUSxFQUFFLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFFakYsTUFBTSxNQUFNLEdBQUcsUUFBUSxJQUFJLElBQUksYUFBYSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBRWpFLE9BQU87UUFDTCxRQUFRLEVBQUUsY0FBYztRQUN4QixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLFdBQVc7UUFDWCxpQkFBaUI7UUFDakIsMEJBQTBCO1FBQzFCLE1BQU07UUFDTiwrQkFBK0I7UUFDL0IsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1FBQ3BCLDRCQUE0QjtRQUM1Qix1QkFBdUI7UUFDdkIsWUFBWTtRQUNaLGtDQUFrQztLQUNuQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0ICogYXMgeWFyZ3MgZnJvbSAneWFyZ3MnO1xuXG5pbXBvcnQge3NldEZpbGVTeXN0ZW0sIE5vZGVKU0ZpbGVTeXN0ZW19IGZyb20gJy4uLy4uL3NyYy9uZ3RzYy9maWxlX3N5c3RlbSc7XG5pbXBvcnQge0NvbnNvbGVMb2dnZXIsIExvZ0xldmVsfSBmcm9tICcuLi8uLi9zcmMvbmd0c2MvbG9nZ2luZyc7XG5pbXBvcnQge05nY2NPcHRpb25zfSBmcm9tICcuL25nY2Nfb3B0aW9ucyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUNvbW1hbmRMaW5lT3B0aW9ucyhhcmdzOiBzdHJpbmdbXSk6IE5nY2NPcHRpb25zIHtcbiAgY29uc3Qgb3B0aW9ucyA9XG4gICAgICB5YXJnc1xuICAgICAgICAgIC5vcHRpb24oJ3MnLCB7XG4gICAgICAgICAgICBhbGlhczogJ3NvdXJjZScsXG4gICAgICAgICAgICBkZXNjcmliZTpcbiAgICAgICAgICAgICAgICAnQSBwYXRoIChyZWxhdGl2ZSB0byB0aGUgd29ya2luZyBkaXJlY3RvcnkpIG9mIHRoZSBgbm9kZV9tb2R1bGVzYCBmb2xkZXIgdG8gcHJvY2Vzcy4nLFxuICAgICAgICAgICAgZGVmYXVsdDogJy4vbm9kZV9tb2R1bGVzJyxcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgLm9wdGlvbignZicsIHthbGlhczogJ2Zvcm1hdHMnLCBoaWRkZW46wqB0cnVlLCBhcnJheTogdHJ1ZSwgdHlwZTogJ3N0cmluZyd9KVxuICAgICAgICAgIC5vcHRpb24oJ3AnLCB7XG4gICAgICAgICAgICBhbGlhczogJ3Byb3BlcnRpZXMnLFxuICAgICAgICAgICAgYXJyYXk6IHRydWUsXG4gICAgICAgICAgICBkZXNjcmliZTpcbiAgICAgICAgICAgICAgICAnQW4gYXJyYXkgb2YgbmFtZXMgb2YgcHJvcGVydGllcyBpbiBwYWNrYWdlLmpzb24gdG8gY29tcGlsZSAoZS5nLiBgbW9kdWxlYCBvciBgbWFpbmApXFxuJyArXG4gICAgICAgICAgICAgICAgJ0VhY2ggb2YgdGhlc2UgcHJvcGVydGllcyBzaG91bGQgaG9sZCB0aGUgcGF0aCB0byBhIGJ1bmRsZS1mb3JtYXQuXFxuJyArXG4gICAgICAgICAgICAgICAgJ0lmIHByb3ZpZGVkLCBvbmx5IHRoZSBzcGVjaWZpZWQgcHJvcGVydGllcyBhcmUgY29uc2lkZXJlZCBmb3IgcHJvY2Vzc2luZy5cXG4nICtcbiAgICAgICAgICAgICAgICAnSWYgbm90IHByb3ZpZGVkLCBhbGwgdGhlIHN1cHBvcnRlZCBmb3JtYXQgcHJvcGVydGllcyAoZS5nLiBmZXNtMjAxNSwgZmVzbTUsIGVzMjAxNSwgZXNtMjAxNSwgZXNtNSwgbWFpbiwgbW9kdWxlKSBpbiB0aGUgcGFja2FnZS5qc29uIGFyZSBjb25zaWRlcmVkLicsXG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5vcHRpb24oJ3QnLCB7XG4gICAgICAgICAgICBhbGlhczogJ3RhcmdldCcsXG4gICAgICAgICAgICBkZXNjcmliZTpcbiAgICAgICAgICAgICAgICAnQSByZWxhdGl2ZSBwYXRoIChmcm9tIHRoZSBgc291cmNlYCBwYXRoKSB0byBhIHNpbmdsZSBlbnRyeS1wb2ludCB0byBwcm9jZXNzIChwbHVzIGl0cyBkZXBlbmRlbmNpZXMpLlxcbicgK1xuICAgICAgICAgICAgICAgICdJZiB0aGlzIHByb3BlcnR5IGlzIHByb3ZpZGVkIHRoZW4gYGVycm9yLW9uLWZhaWxlZC1lbnRyeS1wb2ludGAgaXMgZm9yY2VkIHRvIHRydWUuXFxuJyArXG4gICAgICAgICAgICAgICAgJ1RoaXMgb3B0aW9uIG92ZXJyaWRlcyB0aGUgYC0tdXNlLXByb2dyYW0tZGVwZW5kZW5jaWVzYCBvcHRpb24uJyxcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgLm9wdGlvbigndXNlLXByb2dyYW0tZGVwZW5kZW5jaWVzJywge1xuICAgICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICAgICAgZGVzY3JpYmU6XG4gICAgICAgICAgICAgICAgJ0lmIHRoaXMgcHJvcGVydHkgaXMgcHJvdmlkZWQgdGhlbiB0aGUgZW50cnktcG9pbnRzIHRvIHByb2Nlc3MgYXJlIHBhcnNlZCBmcm9tIHRoZSBwcm9ncmFtIGRlZmluZWQgYnkgdGhlIGxvYWRlZCB0c2NvbmZpZy5qc29uLiBTZWUgYC0tdHNjb25maWdgLlxcbicgK1xuICAgICAgICAgICAgICAgICdUaGlzIG9wdGlvbiBpcyBvdmVycmlkZGVuIGJ5IHRoZSBgLS10YXJnZXRgIG9wdGlvbi4nLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgLm9wdGlvbignZmlyc3Qtb25seScsIHtcbiAgICAgICAgICAgIGRlc2NyaWJlOlxuICAgICAgICAgICAgICAgICdJZiBzcGVjaWZpZWQgdGhlbiBvbmx5IHRoZSBmaXJzdCBtYXRjaGluZyBwYWNrYWdlLmpzb24gcHJvcGVydHkgd2lsbCBiZSBjb21waWxlZC5cXG4nICtcbiAgICAgICAgICAgICAgICAnVGhpcyBvcHRpb24gaXMgb3ZlcnJpZGRlbiBieSBgLS10eXBpbmdzLW9ubHlgLicsXG4gICAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgfSlcbiAgICAgICAgICAub3B0aW9uKCd0eXBpbmdzLW9ubHknLCB7XG4gICAgICAgICAgICBkZXNjcmliZTpcbiAgICAgICAgICAgICAgICAnSWYgc3BlY2lmaWVkIHRoZW4gb25seSB0aGUgdHlwaW5ncyBmaWxlcyBhcmUgcHJvY2Vzc2VkLCBhbmQgbm8gSlMgc291cmNlIGZpbGVzIHdpbGwgYmUgbW9kaWZpZWQuXFxuJyArXG4gICAgICAgICAgICAgICAgJ1NldHRpbmcgdGhpcyBvcHRpb24gd2lsbCBmb3JjZSBgLS1maXJzdC1vbmx5YCB0byBiZSBzZXQsIHNpbmNlIG9ubHkgb25lIGZvcm1hdCBpcyBuZWVkZWQgdG8gcHJvY2VzcyB0aGUgdHlwaW5ncycsXG4gICAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgfSlcbiAgICAgICAgICAub3B0aW9uKCdjcmVhdGUtaXZ5LWVudHJ5LXBvaW50cycsIHtcbiAgICAgICAgICAgIGRlc2NyaWJlOlxuICAgICAgICAgICAgICAgICdJZiBzcGVjaWZpZWQgdGhlbiBuZXcgYCpfaXZ5X25nY2NgIGVudHJ5LXBvaW50cyB3aWxsIGJlIGFkZGVkIHRvIHBhY2thZ2UuanNvbiByYXRoZXIgdGhhbiBtb2RpZnlpbmcgdGhlIG9uZXMgaW4tcGxhY2UuXFxuJyArXG4gICAgICAgICAgICAgICAgJ0ZvciB0aGlzIHRvIHdvcmsgeW91IG5lZWQgdG8gaGF2ZSBjdXN0b20gcmVzb2x1dGlvbiBzZXQgdXAgKGUuZy4gaW4gd2VicGFjaykgdG8gbG9vayBmb3IgdGhlc2UgbmV3IGVudHJ5LXBvaW50cy5cXG4nICtcbiAgICAgICAgICAgICAgICAnVGhlIEFuZ3VsYXIgQ0xJIGRvZXMgdGhpcyBhbHJlYWR5LCBzbyBpdCBpcyBzYWZlIHRvIHVzZSB0aGlzIG9wdGlvbiBpZiB0aGUgcHJvamVjdCBpcyBiZWluZyBidWlsdCB2aWEgdGhlIENMSS4nLFxuICAgICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgLm9wdGlvbignbGVnYWN5LW1lc3NhZ2UtaWRzJywge1xuICAgICAgICAgICAgZGVzY3JpYmU6ICdSZW5kZXIgYCRsb2NhbGl6ZWAgbWVzc2FnZXMgd2l0aCBsZWdhY3kgZm9ybWF0IGlkcy5cXG4nICtcbiAgICAgICAgICAgICAgICAnVGhlIGRlZmF1bHQgdmFsdWUgaXMgYHRydWVgLiBPbmx5IHNldCB0aGlzIHRvIGBmYWxzZWAgaWYgeW91IGRvIG5vdCB3YW50IGxlZ2FjeSBtZXNzYWdlIGlkcyB0b1xcbicgK1xuICAgICAgICAgICAgICAgICdiZSByZW5kZXJlZC4gRm9yIGV4YW1wbGUsIGlmIHlvdSBhcmUgbm90IHVzaW5nIGxlZ2FjeSBtZXNzYWdlIGlkcyBpbiB5b3VyIHRyYW5zbGF0aW9uIGZpbGVzXFxuJyArXG4gICAgICAgICAgICAgICAgJ0FORCBhcmUgbm90IGRvaW5nIGNvbXBpbGUtdGltZSBpbmxpbmluZyBvZiB0cmFuc2xhdGlvbnMsIGluIHdoaWNoIGNhc2UgdGhlIGV4dHJhIG1lc3NhZ2UgaWRzXFxuJyArXG4gICAgICAgICAgICAgICAgJ3dvdWxkIGFkZCB1bndhbnRlZCBzaXplIHRvIHRoZSBmaW5hbCBzb3VyY2UgYnVuZGxlLlxcbicgK1xuICAgICAgICAgICAgICAgICdJdCBpcyBzYWZlIHRvIGxlYXZlIHRoaXMgc2V0IHRvIHRydWUgaWYgeW91IGFyZSBkb2luZyBjb21waWxlLXRpbWUgaW5saW5pbmcgYmVjYXVzZSB0aGUgZXh0cmFcXG4nICtcbiAgICAgICAgICAgICAgICAnbGVnYWN5IG1lc3NhZ2UgaWRzIHdpbGwgYWxsIGJlIHN0cmlwcGVkIGR1cmluZyB0cmFuc2xhdGlvbi4nLFxuICAgICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICAgICAgZGVmYXVsdDogdHJ1ZSxcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5vcHRpb24oJ2FzeW5jJywge1xuICAgICAgICAgICAgZGVzY3JpYmU6XG4gICAgICAgICAgICAgICAgJ1doZXRoZXIgdG8gY29tcGlsZSBhc3luY2hyb25vdXNseS4gVGhpcyBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgYXMgaXQgYWxsb3dzIGNvbXBpbGF0aW9ucyB0byBiZSBwYXJhbGxlbGl6ZWQuXFxuJyArXG4gICAgICAgICAgICAgICAgJ0Rpc2FibGluZyBhc3luY2hyb25vdXMgY29tcGlsYXRpb24gbWF5IGJlIHVzZWZ1bCBmb3IgZGVidWdnaW5nLicsXG4gICAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgICBkZWZhdWx0OiB0cnVlLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgLm9wdGlvbignbCcsIHtcbiAgICAgICAgICAgIGFsaWFzOiAnbG9nbGV2ZWwnLFxuICAgICAgICAgICAgZGVzY3JpYmU6ICdUaGUgbG93ZXN0IHNldmVyaXR5IGxvZ2dpbmcgbWVzc2FnZSB0aGF0IHNob3VsZCBiZSBvdXRwdXQuJyxcbiAgICAgICAgICAgIGNob2ljZXM6IFsnZGVidWcnLCAnaW5mbycsICd3YXJuJywgJ2Vycm9yJ10sXG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5vcHRpb24oJ2ludmFsaWRhdGUtZW50cnktcG9pbnQtbWFuaWZlc3QnLCB7XG4gICAgICAgICAgICBkZXNjcmliZTpcbiAgICAgICAgICAgICAgICAnSWYgdGhpcyBpcyBzZXQgdGhlbiBuZ2NjIHdpbGwgbm90IHJlYWQgYW4gZW50cnktcG9pbnQgbWFuaWZlc3QgZmlsZSBmcm9tIGRpc2suXFxuJyArXG4gICAgICAgICAgICAgICAgJ0luc3RlYWQgaXQgd2lsbCB3YWxrIHRoZSBkaXJlY3RvcnkgdHJlZSBhcyBub3JtYWwgbG9va2luZyBmb3IgZW50cnktcG9pbnRzLCBhbmQgdGhlbiB3cml0ZSBhIG5ldyBtYW5pZmVzdCBmaWxlLicsXG4gICAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5vcHRpb24oJ2Vycm9yLW9uLWZhaWxlZC1lbnRyeS1wb2ludCcsIHtcbiAgICAgICAgICAgIGRlc2NyaWJlOlxuICAgICAgICAgICAgICAgICdTZXQgdGhpcyBvcHRpb24gaW4gb3JkZXIgdG8gdGVybWluYXRlIGltbWVkaWF0ZWx5IHdpdGggYW4gZXJyb3IgY29kZSBpZiBhbiBlbnRyeS1wb2ludCBmYWlscyB0byBiZSBwcm9jZXNzZWQuXFxuJyArXG4gICAgICAgICAgICAgICAgJ0lmIGAtdGAvYC0tdGFyZ2V0YCBpcyBwcm92aWRlZCB0aGVuIHRoaXMgcHJvcGVydHkgaXMgYWx3YXlzIHRydWUgYW5kIGNhbm5vdCBiZSBjaGFuZ2VkLiBPdGhlcndpc2UgdGhlIGRlZmF1bHQgaXMgZmFsc2UuXFxuJyArXG4gICAgICAgICAgICAgICAgJ1doZW4gc2V0IHRvIGZhbHNlLCBuZ2NjIHdpbGwgY29udGludWUgdG8gcHJvY2VzcyBlbnRyeS1wb2ludHMgYWZ0ZXIgYSBmYWlsdXJlLiBJbiB3aGljaCBjYXNlIGl0IHdpbGwgbG9nIGFuIGVycm9yIGFuZCByZXN1bWUgcHJvY2Vzc2luZyBvdGhlciBlbnRyeS1wb2ludHMuJyxcbiAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgLm9wdGlvbigndHNjb25maWcnLCB7XG4gICAgICAgICAgICBkZXNjcmliZTpcbiAgICAgICAgICAgICAgICAnQSBwYXRoIHRvIGEgdHNjb25maWcuanNvbiBmaWxlIHRoYXQgd2lsbCBiZSB1c2VkIHRvIGNvbmZpZ3VyZSB0aGUgQW5ndWxhciBjb21waWxlciBhbmQgbW9kdWxlIHJlc29sdXRpb24gdXNlZCBieSBuZ2NjLlxcbicgK1xuICAgICAgICAgICAgICAgICdJZiBub3QgcHJvdmlkZWQsIG5nY2Mgd2lsbCBhdHRlbXB0IHRvIHJlYWQgYSBgdHNjb25maWcuanNvbmAgZmlsZSBmcm9tIHRoZSBmb2xkZXIgYWJvdmUgdGhhdCBnaXZlbiBieSB0aGUgYC1zYCBvcHRpb24uXFxuJyArXG4gICAgICAgICAgICAgICAgJ1NldCB0byBmYWxzZSAodmlhIGAtLW5vLXRzY29uZmlnYCkgaWYgeW91IGRvIG5vdCB3YW50IG5nY2MgdG8gdXNlIGFueSBgdHNjb25maWcuanNvbmAgZmlsZS4nLFxuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgfSlcbiAgICAgICAgICAuc3RyaWN0KClcbiAgICAgICAgICAuaGVscCgpXG4gICAgICAgICAgLnBhcnNlKGFyZ3MpO1xuXG4gIGlmIChvcHRpb25zLmY/Lmxlbmd0aCkge1xuICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICdUaGUgZm9ybWF0cyBvcHRpb24gKC1mLy0tZm9ybWF0cykgaGFzIGJlZW4gcmVtb3ZlZC4gQ29uc2lkZXIgdGhlIHByb3BlcnRpZXMgb3B0aW9uICgtcC8tLXByb3BlcnRpZXMpIGluc3RlYWQuJyk7XG4gICAgcHJvY2Vzcy5leGl0KDEpO1xuICB9XG5cbiAgY29uc3QgZnMgPSBuZXcgTm9kZUpTRmlsZVN5c3RlbSgpO1xuICBzZXRGaWxlU3lzdGVtKGZzKTtcblxuICBjb25zdCBiYXNlU291cmNlUGF0aCA9IGZzLnJlc29sdmUob3B0aW9ucy5zIHx8ICcuL25vZGVfbW9kdWxlcycpO1xuICBjb25zdCBwcm9wZXJ0aWVzVG9Db25zaWRlciA9IG9wdGlvbnMucDtcbiAgY29uc3QgdGFyZ2V0RW50cnlQb2ludFBhdGggPSBvcHRpb25zLnQ7XG4gIGNvbnN0IGNvbXBpbGVBbGxGb3JtYXRzID0gIW9wdGlvbnNbJ2ZpcnN0LW9ubHknXTtcbiAgY29uc3QgdHlwaW5nc09ubHkgPSBvcHRpb25zWyd0eXBpbmdzLW9ubHknXTtcbiAgY29uc3QgY3JlYXRlTmV3RW50cnlQb2ludEZvcm1hdHMgPSBvcHRpb25zWydjcmVhdGUtaXZ5LWVudHJ5LXBvaW50cyddO1xuICBjb25zdCBsb2dMZXZlbCA9IG9wdGlvbnMubCBhcyBrZXlvZiB0eXBlb2YgTG9nTGV2ZWwgfCB1bmRlZmluZWQ7XG4gIGNvbnN0IGVuYWJsZUkxOG5MZWdhY3lNZXNzYWdlSWRGb3JtYXQgPSBvcHRpb25zWydsZWdhY3ktbWVzc2FnZS1pZHMnXTtcbiAgY29uc3QgaW52YWxpZGF0ZUVudHJ5UG9pbnRNYW5pZmVzdCA9IG9wdGlvbnNbJ2ludmFsaWRhdGUtZW50cnktcG9pbnQtbWFuaWZlc3QnXTtcbiAgY29uc3QgZXJyb3JPbkZhaWxlZEVudHJ5UG9pbnQgPSBvcHRpb25zWydlcnJvci1vbi1mYWlsZWQtZW50cnktcG9pbnQnXTtcbiAgY29uc3QgZmluZEVudHJ5UG9pbnRzRnJvbVRzQ29uZmlnUHJvZ3JhbSA9IG9wdGlvbnNbJ3VzZS1wcm9ncmFtLWRlcGVuZGVuY2llcyddO1xuICAvLyB5YXJncyBpcyBub3Qgc28gZ3JlYXQgYXQgbWl4ZWQgc3RyaW5nK2Jvb2xlYW4gdHlwZXMsIHNvIHdlIGhhdmUgdG8gdGVzdCB0c2NvbmZpZyBhZ2FpbnN0IGFcbiAgLy8gc3RyaW5nIFwiZmFsc2VcIiB0byBjYXB0dXJlIHRoZSBgdHNjb25maWc9ZmFsc2VgIG9wdGlvbi5cbiAgLy8gQW5kIHdlIGhhdmUgdG8gY29udmVydCB0aGUgb3B0aW9uIHRvIGEgc3RyaW5nIHRvIGhhbmRsZSBgbm8tdHNjb25maWdgLCB3aGljaCB3aWxsIGJlIGBmYWxzZWAuXG4gIGNvbnN0IHRzQ29uZmlnUGF0aCA9IGAke29wdGlvbnMudHNjb25maWd9YCA9PT0gJ2ZhbHNlJyA/IG51bGwgOiBvcHRpb25zLnRzY29uZmlnO1xuXG4gIGNvbnN0IGxvZ2dlciA9IGxvZ0xldmVsICYmIG5ldyBDb25zb2xlTG9nZ2VyKExvZ0xldmVsW2xvZ0xldmVsXSk7XG5cbiAgcmV0dXJuIHtcbiAgICBiYXNlUGF0aDogYmFzZVNvdXJjZVBhdGgsXG4gICAgcHJvcGVydGllc1RvQ29uc2lkZXIsXG4gICAgdGFyZ2V0RW50cnlQb2ludFBhdGgsXG4gICAgdHlwaW5nc09ubHksXG4gICAgY29tcGlsZUFsbEZvcm1hdHMsXG4gICAgY3JlYXRlTmV3RW50cnlQb2ludEZvcm1hdHMsXG4gICAgbG9nZ2VyLFxuICAgIGVuYWJsZUkxOG5MZWdhY3lNZXNzYWdlSWRGb3JtYXQsXG4gICAgYXN5bmM6IG9wdGlvbnMuYXN5bmMsXG4gICAgaW52YWxpZGF0ZUVudHJ5UG9pbnRNYW5pZmVzdCxcbiAgICBlcnJvck9uRmFpbGVkRW50cnlQb2ludCxcbiAgICB0c0NvbmZpZ1BhdGgsXG4gICAgZmluZEVudHJ5UG9pbnRzRnJvbVRzQ29uZmlnUHJvZ3JhbSxcbiAgfTtcbn1cbiJdfQ==
@@ -1,10 +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
- export const IMPORT_PREFIX = 'ɵngcc';
9
- export const NGCC_TIMED_OUT_EXIT_CODE = 177;
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL25nY2Mvc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDO0FBQ3JDLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLEdBQUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5leHBvcnQgY29uc3QgSU1QT1JUX1BSRUZJWCA9ICfJtW5nY2MnO1xuZXhwb3J0IGNvbnN0IE5HQ0NfVElNRURfT1VUX0VYSVRfQ09ERSA9IDE3NztcbiJdfQ==
@@ -1,87 +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 { isRequireCall, isWildcardReexportStatement } from '../host/commonjs_umd_utils';
10
- import { DependencyHostBase } from './dependency_host';
11
- /**
12
- * Helper functions for computing dependencies.
13
- */
14
- export class CommonJsDependencyHost extends DependencyHostBase {
15
- canSkipFile(fileContents) {
16
- return !hasRequireCalls(fileContents);
17
- }
18
- extractImports(file, fileContents) {
19
- // Parse the source into a TypeScript AST and then walk it looking for imports and re-exports.
20
- const sf = ts.createSourceFile(file, fileContents, ts.ScriptTarget.ES2015, false, ts.ScriptKind.JS);
21
- const requireCalls = [];
22
- for (const stmt of sf.statements) {
23
- if (ts.isVariableStatement(stmt)) {
24
- // Regular import(s):
25
- // `var foo = require('...')` or `var foo = require('...'), bar = require('...')`
26
- const declarations = stmt.declarationList.declarations;
27
- for (const declaration of declarations) {
28
- if ((declaration.initializer !== undefined) && isRequireCall(declaration.initializer)) {
29
- requireCalls.push(declaration.initializer);
30
- }
31
- }
32
- }
33
- else if (ts.isExpressionStatement(stmt)) {
34
- if (isRequireCall(stmt.expression)) {
35
- // Import for the side-effects only:
36
- // `require('...')`
37
- requireCalls.push(stmt.expression);
38
- }
39
- else if (isWildcardReexportStatement(stmt)) {
40
- // Re-export in one of the following formats:
41
- // - `__export(require('...'))`
42
- // - `__export(<identifier>)`
43
- // - `tslib_1.__exportStar(require('...'), exports)`
44
- // - `tslib_1.__exportStar(<identifier>, exports)`
45
- const firstExportArg = stmt.expression.arguments[0];
46
- if (isRequireCall(firstExportArg)) {
47
- // Re-export with `require()` call:
48
- // `__export(require('...'))` or `tslib_1.__exportStar(require('...'), exports)`
49
- requireCalls.push(firstExportArg);
50
- }
51
- }
52
- else if (ts.isBinaryExpression(stmt.expression) &&
53
- (stmt.expression.operatorToken.kind === ts.SyntaxKind.EqualsToken)) {
54
- if (isRequireCall(stmt.expression.right)) {
55
- // Import with assignment. E.g.:
56
- // `exports.foo = require('...')`
57
- requireCalls.push(stmt.expression.right);
58
- }
59
- else if (ts.isObjectLiteralExpression(stmt.expression.right)) {
60
- // Import in object literal. E.g.:
61
- // `module.exports = {foo: require('...')}`
62
- stmt.expression.right.properties.forEach(prop => {
63
- if (ts.isPropertyAssignment(prop) && isRequireCall(prop.initializer)) {
64
- requireCalls.push(prop.initializer);
65
- }
66
- });
67
- }
68
- }
69
- }
70
- }
71
- return new Set(requireCalls.map(call => call.arguments[0].text));
72
- }
73
- }
74
- /**
75
- * Check whether a source file needs to be parsed for imports.
76
- * This is a performance short-circuit, which saves us from creating
77
- * a TypeScript AST unnecessarily.
78
- *
79
- * @param source The content of the source file to check.
80
- *
81
- * @returns false if there are definitely no require calls
82
- * in this file, true otherwise.
83
- */
84
- export function hasRequireCalls(source) {
85
- return /require\(['"]/.test(source);
86
- }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uanNfZGVwZW5kZW5jeV9ob3N0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL25nY2Mvc3JjL2RlcGVuZGVuY2llcy9jb21tb25qc19kZXBlbmRlbmN5X2hvc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBQ0gsT0FBTyxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHakMsT0FBTyxFQUFDLGFBQWEsRUFBRSwyQkFBMkIsRUFBYyxNQUFNLDRCQUE0QixDQUFDO0FBRW5HLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRXJEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGtCQUFrQjtJQUNsRCxXQUFXLENBQUMsWUFBb0I7UUFDeEMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRVMsY0FBYyxDQUFDLElBQW9CLEVBQUUsWUFBb0I7UUFDakUsOEZBQThGO1FBQzlGLE1BQU0sRUFBRSxHQUNKLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdGLE1BQU0sWUFBWSxHQUFrQixFQUFFLENBQUM7UUFFdkMsS0FBSyxNQUFNLElBQUksSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFO1lBQ2hDLElBQUksRUFBRSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNoQyxxQkFBcUI7Z0JBQ3JCLGlGQUFpRjtnQkFDakYsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUM7Z0JBQ3ZELEtBQUssTUFBTSxXQUFXLElBQUksWUFBWSxFQUFFO29CQUN0QyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsS0FBSyxTQUFTLENBQUMsSUFBSSxhQUFhLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUFFO3dCQUNyRixZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztxQkFDNUM7aUJBQ0Y7YUFDRjtpQkFBTSxJQUFJLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDekMsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO29CQUNsQyxvQ0FBb0M7b0JBQ3BDLG1CQUFtQjtvQkFDbkIsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7aUJBQ3BDO3FCQUFNLElBQUksMkJBQTJCLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQzVDLDZDQUE2QztvQkFDN0MsK0JBQStCO29CQUMvQiw2QkFBNkI7b0JBQzdCLG9EQUFvRDtvQkFDcEQsa0RBQWtEO29CQUNsRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFFcEQsSUFBSSxhQUFhLENBQUMsY0FBYyxDQUFDLEVBQUU7d0JBQ2pDLG1DQUFtQzt3QkFDbkMsZ0ZBQWdGO3dCQUNoRixZQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO3FCQUNuQztpQkFDRjtxQkFBTSxJQUNILEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO29CQUN0QyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFO29CQUN0RSxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO3dCQUN4QyxnQ0FBZ0M7d0JBQ2hDLGlDQUFpQzt3QkFDakMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUMxQzt5QkFBTSxJQUFJLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO3dCQUM5RCxrQ0FBa0M7d0JBQ2xDLDJDQUEyQzt3QkFDM0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTs0QkFDOUMsSUFBSSxFQUFFLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRTtnQ0FDcEUsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7NkJBQ3JDO3dCQUNILENBQUMsQ0FBQyxDQUFDO3FCQUNKO2lCQUNGO2FBQ0Y7U0FDRjtRQUVELE9BQU8sSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0NBQ0Y7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLE1BQWM7SUFDNUMsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3RDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCAqIGFzIHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuXG5pbXBvcnQge0Fic29sdXRlRnNQYXRofSBmcm9tICcuLi8uLi8uLi9zcmMvbmd0c2MvZmlsZV9zeXN0ZW0nO1xuaW1wb3J0IHtpc1JlcXVpcmVDYWxsLCBpc1dpbGRjYXJkUmVleHBvcnRTdGF0ZW1lbnQsIFJlcXVpcmVDYWxsfSBmcm9tICcuLi9ob3N0L2NvbW1vbmpzX3VtZF91dGlscyc7XG5cbmltcG9ydCB7RGVwZW5kZW5jeUhvc3RCYXNlfSBmcm9tICcuL2RlcGVuZGVuY3lfaG9zdCc7XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9ucyBmb3IgY29tcHV0aW5nIGRlcGVuZGVuY2llcy5cbiAqL1xuZXhwb3J0IGNsYXNzIENvbW1vbkpzRGVwZW5kZW5jeUhvc3QgZXh0ZW5kcyBEZXBlbmRlbmN5SG9zdEJhc2Uge1xuICBwcm90ZWN0ZWQgY2FuU2tpcEZpbGUoZmlsZUNvbnRlbnRzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIWhhc1JlcXVpcmVDYWxscyhmaWxlQ29udGVudHMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGV4dHJhY3RJbXBvcnRzKGZpbGU6IEFic29sdXRlRnNQYXRoLCBmaWxlQ29udGVudHM6IHN0cmluZyk6IFNldDxzdHJpbmc+IHtcbiAgICAvLyBQYXJzZSB0aGUgc291cmNlIGludG8gYSBUeXBlU2NyaXB0IEFTVCBhbmQgdGhlbiB3YWxrIGl0IGxvb2tpbmcgZm9yIGltcG9ydHMgYW5kIHJlLWV4cG9ydHMuXG4gICAgY29uc3Qgc2YgPVxuICAgICAgICB0cy5jcmVhdGVTb3VyY2VGaWxlKGZpbGUsIGZpbGVDb250ZW50cywgdHMuU2NyaXB0VGFyZ2V0LkVTMjAxNSwgZmFsc2UsIHRzLlNjcmlwdEtpbmQuSlMpO1xuICAgIGNvbnN0IHJlcXVpcmVDYWxsczogUmVxdWlyZUNhbGxbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBzdG10IG9mIHNmLnN0YXRlbWVudHMpIHtcbiAgICAgIGlmICh0cy5pc1ZhcmlhYmxlU3RhdGVtZW50KHN0bXQpKSB7XG4gICAgICAgIC8vIFJlZ3VsYXIgaW1wb3J0KHMpOlxuICAgICAgICAvLyBgdmFyIGZvbyA9IHJlcXVpcmUoJy4uLicpYCBvciBgdmFyIGZvbyA9IHJlcXVpcmUoJy4uLicpLCBiYXIgPSByZXF1aXJlKCcuLi4nKWBcbiAgICAgICAgY29uc3QgZGVjbGFyYXRpb25zID0gc3RtdC5kZWNsYXJhdGlvbkxpc3QuZGVjbGFyYXRpb25zO1xuICAgICAgICBmb3IgKGNvbnN0IGRlY2xhcmF0aW9uIG9mIGRlY2xhcmF0aW9ucykge1xuICAgICAgICAgIGlmICgoZGVjbGFyYXRpb24uaW5pdGlhbGl6ZXIgIT09IHVuZGVmaW5lZCkgJiYgaXNSZXF1aXJlQ2FsbChkZWNsYXJhdGlvbi5pbml0aWFsaXplcikpIHtcbiAgICAgICAgICAgIHJlcXVpcmVDYWxscy5wdXNoKGRlY2xhcmF0aW9uLmluaXRpYWxpemVyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodHMuaXNFeHByZXNzaW9uU3RhdGVtZW50KHN0bXQpKSB7XG4gICAgICAgIGlmIChpc1JlcXVpcmVDYWxsKHN0bXQuZXhwcmVzc2lvbikpIHtcbiAgICAgICAgICAvLyBJbXBvcnQgZm9yIHRoZSBzaWRlLWVmZmVjdHMgb25seTpcbiAgICAgICAgICAvLyBgcmVxdWlyZSgnLi4uJylgXG4gICAgICAgICAgcmVxdWlyZUNhbGxzLnB1c2goc3RtdC5leHByZXNzaW9uKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc1dpbGRjYXJkUmVleHBvcnRTdGF0ZW1lbnQoc3RtdCkpIHtcbiAgICAgICAgICAvLyBSZS1leHBvcnQgaW4gb25lIG9mIHRoZSBmb2xsb3dpbmcgZm9ybWF0czpcbiAgICAgICAgICAvLyAtIGBfX2V4cG9ydChyZXF1aXJlKCcuLi4nKSlgXG4gICAgICAgICAgLy8gLSBgX19leHBvcnQoPGlkZW50aWZpZXI+KWBcbiAgICAgICAgICAvLyAtIGB0c2xpYl8xLl9fZXhwb3J0U3RhcihyZXF1aXJlKCcuLi4nKSwgZXhwb3J0cylgXG4gICAgICAgICAgLy8gLSBgdHNsaWJfMS5fX2V4cG9ydFN0YXIoPGlkZW50aWZpZXI+LCBleHBvcnRzKWBcbiAgICAgICAgICBjb25zdCBmaXJzdEV4cG9ydEFyZyA9IHN0bXQuZXhwcmVzc2lvbi5hcmd1bWVudHNbMF07XG5cbiAgICAgICAgICBpZiAoaXNSZXF1aXJlQ2FsbChmaXJzdEV4cG9ydEFyZykpIHtcbiAgICAgICAgICAgIC8vIFJlLWV4cG9ydCB3aXRoIGByZXF1aXJlKClgIGNhbGw6XG4gICAgICAgICAgICAvLyBgX19leHBvcnQocmVxdWlyZSgnLi4uJykpYCBvciBgdHNsaWJfMS5fX2V4cG9ydFN0YXIocmVxdWlyZSgnLi4uJyksIGV4cG9ydHMpYFxuICAgICAgICAgICAgcmVxdWlyZUNhbGxzLnB1c2goZmlyc3RFeHBvcnRBcmcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgIHRzLmlzQmluYXJ5RXhwcmVzc2lvbihzdG10LmV4cHJlc3Npb24pICYmXG4gICAgICAgICAgICAoc3RtdC5leHByZXNzaW9uLm9wZXJhdG9yVG9rZW4ua2luZCA9PT0gdHMuU3ludGF4S2luZC5FcXVhbHNUb2tlbikpIHtcbiAgICAgICAgICBpZiAoaXNSZXF1aXJlQ2FsbChzdG10LmV4cHJlc3Npb24ucmlnaHQpKSB7XG4gICAgICAgICAgICAvLyBJbXBvcnQgd2l0aCBhc3NpZ25tZW50LiBFLmcuOlxuICAgICAgICAgICAgLy8gYGV4cG9ydHMuZm9vID0gcmVxdWlyZSgnLi4uJylgXG4gICAgICAgICAgICByZXF1aXJlQ2FsbHMucHVzaChzdG10LmV4cHJlc3Npb24ucmlnaHQpO1xuICAgICAgICAgIH0gZWxzZSBpZiAodHMuaXNPYmplY3RMaXRlcmFsRXhwcmVzc2lvbihzdG10LmV4cHJlc3Npb24ucmlnaHQpKSB7XG4gICAgICAgICAgICAvLyBJbXBvcnQgaW4gb2JqZWN0IGxpdGVyYWwuIEUuZy46XG4gICAgICAgICAgICAvLyBgbW9kdWxlLmV4cG9ydHMgPSB7Zm9vOiByZXF1aXJlKCcuLi4nKX1gXG4gICAgICAgICAgICBzdG10LmV4cHJlc3Npb24ucmlnaHQucHJvcGVydGllcy5mb3JFYWNoKHByb3AgPT4ge1xuICAgICAgICAgICAgICBpZiAodHMuaXNQcm9wZXJ0eUFzc2lnbm1lbnQocHJvcCkgJiYgaXNSZXF1aXJlQ2FsbChwcm9wLmluaXRpYWxpemVyKSkge1xuICAgICAgICAgICAgICAgIHJlcXVpcmVDYWxscy5wdXNoKHByb3AuaW5pdGlhbGl6ZXIpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFNldChyZXF1aXJlQ2FsbHMubWFwKGNhbGwgPT4gY2FsbC5hcmd1bWVudHNbMF0udGV4dCkpO1xuICB9XG59XG5cbi8qKlxuICogQ2hlY2sgd2hldGhlciBhIHNvdXJjZSBmaWxlIG5lZWRzIHRvIGJlIHBhcnNlZCBmb3IgaW1wb3J0cy5cbiAqIFRoaXMgaXMgYSBwZXJmb3JtYW5jZSBzaG9ydC1jaXJjdWl0LCB3aGljaCBzYXZlcyB1cyBmcm9tIGNyZWF0aW5nXG4gKiBhIFR5cGVTY3JpcHQgQVNUIHVubmVjZXNzYXJpbHkuXG4gKlxuICogQHBhcmFtIHNvdXJjZSBUaGUgY29udGVudCBvZiB0aGUgc291cmNlIGZpbGUgdG8gY2hlY2suXG4gKlxuICogQHJldHVybnMgZmFsc2UgaWYgdGhlcmUgYXJlIGRlZmluaXRlbHkgbm8gcmVxdWlyZSBjYWxsc1xuICogaW4gdGhpcyBmaWxlLCB0cnVlIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc1JlcXVpcmVDYWxscyhzb3VyY2U6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gL3JlcXVpcmVcXChbJ1wiXS8udGVzdChzb3VyY2UpO1xufVxuIl19
@@ -1,102 +0,0 @@
1
- import { resolveFileWithPostfixes } from '../utils';
2
- import { ResolvedDeepImport, ResolvedRelativeModule } from './module_resolver';
3
- export function createDependencyInfo() {
4
- return { dependencies: new Set(), missing: new Set(), deepImports: new Set() };
5
- }
6
- export class DependencyHostBase {
7
- constructor(fs, moduleResolver) {
8
- this.fs = fs;
9
- this.moduleResolver = moduleResolver;
10
- }
11
- /**
12
- * Find all the dependencies for the entry-point at the given path.
13
- *
14
- * @param entryPointPath The absolute path to the JavaScript file that represents an entry-point.
15
- * @param dependencyInfo An object containing information about the dependencies of the
16
- * entry-point, including those that were missing or deep imports into other entry-points. The
17
- * sets in this object will be updated with new information about the entry-point's dependencies.
18
- */
19
- collectDependencies(entryPointPath, { dependencies, missing, deepImports }) {
20
- const resolvedFile = resolveFileWithPostfixes(this.fs, entryPointPath, this.moduleResolver.relativeExtensions);
21
- if (resolvedFile !== null) {
22
- const alreadySeen = new Set();
23
- this.recursivelyCollectDependencies(resolvedFile, dependencies, missing, deepImports, alreadySeen);
24
- }
25
- }
26
- /**
27
- * Find all the dependencies for the provided paths.
28
- *
29
- * @param files The list of absolute paths of JavaScript files to scan for dependencies.
30
- * @param dependencyInfo An object containing information about the dependencies of the
31
- * entry-point, including those that were missing or deep imports into other entry-points. The
32
- * sets in this object will be updated with new information about the entry-point's dependencies.
33
- */
34
- collectDependenciesInFiles(files, { dependencies, missing, deepImports }) {
35
- const alreadySeen = new Set();
36
- for (const file of files) {
37
- this.processFile(file, dependencies, missing, deepImports, alreadySeen);
38
- }
39
- }
40
- /**
41
- * Compute the dependencies of the given file.
42
- *
43
- * @param file An absolute path to the file whose dependencies we want to get.
44
- * @param dependencies A set that will have the absolute paths of resolved entry points added to
45
- * it.
46
- * @param missing A set that will have the dependencies that could not be found added to it.
47
- * @param deepImports A set that will have the import paths that exist but cannot be mapped to
48
- * entry-points, i.e. deep-imports.
49
- * @param alreadySeen A set that is used to track internal dependencies to prevent getting stuck
50
- * in a circular dependency loop.
51
- */
52
- recursivelyCollectDependencies(file, dependencies, missing, deepImports, alreadySeen) {
53
- const fromContents = this.fs.readFile(file);
54
- if (this.canSkipFile(fromContents)) {
55
- return;
56
- }
57
- const imports = this.extractImports(file, fromContents);
58
- for (const importPath of imports) {
59
- const resolved = this.processImport(importPath, file, dependencies, missing, deepImports, alreadySeen);
60
- if (!resolved) {
61
- missing.add(importPath);
62
- }
63
- }
64
- }
65
- /**
66
- * Resolve the given `importPath` from `file` and add it to the appropriate set.
67
- *
68
- * If the import is local to this package then follow it by calling
69
- * `recursivelyCollectDependencies()`.
70
- *
71
- * @returns `true` if the import was resolved (to an entry-point, a local import, or a
72
- * deep-import), `false` otherwise.
73
- */
74
- processImport(importPath, file, dependencies, missing, deepImports, alreadySeen) {
75
- const resolvedModule = this.moduleResolver.resolveModuleImport(importPath, file);
76
- if (resolvedModule === null) {
77
- return false;
78
- }
79
- if (resolvedModule instanceof ResolvedRelativeModule) {
80
- this.processFile(resolvedModule.modulePath, dependencies, missing, deepImports, alreadySeen);
81
- }
82
- else if (resolvedModule instanceof ResolvedDeepImport) {
83
- deepImports.add(resolvedModule.importPath);
84
- }
85
- else {
86
- dependencies.add(resolvedModule.entryPointPath);
87
- }
88
- return true;
89
- }
90
- /**
91
- * Processes the file if it has not already been seen. This will also recursively process
92
- * all files that are imported from the file, while taking the set of already seen files
93
- * into account.
94
- */
95
- processFile(file, dependencies, missing, deepImports, alreadySeen) {
96
- if (!alreadySeen.has(file)) {
97
- alreadySeen.add(file);
98
- this.recursivelyCollectDependencies(file, dependencies, missing, deepImports, alreadySeen);
99
- }
100
- }
101
- }
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kZW5jeV9ob3N0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL25nY2Mvc3JjL2RlcGVuZGVuY2llcy9kZXBlbmRlbmN5X2hvc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRWxELE9BQU8sRUFBaUIsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQWtCN0YsTUFBTSxVQUFVLG9CQUFvQjtJQUNsQyxPQUFPLEVBQUMsWUFBWSxFQUFFLElBQUksR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksR0FBRyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksR0FBRyxFQUFFLEVBQUMsQ0FBQztBQUMvRSxDQUFDO0FBRUQsTUFBTSxPQUFnQixrQkFBa0I7SUFDdEMsWUFBc0IsRUFBc0IsRUFBWSxjQUE4QjtRQUFoRSxPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUFZLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUFHLENBQUM7SUFFMUY7Ozs7Ozs7T0FPRztJQUNILG1CQUFtQixDQUNmLGNBQThCLEVBQUUsRUFBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBaUI7UUFDdEYsTUFBTSxZQUFZLEdBQ2Qsd0JBQXdCLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzlGLElBQUksWUFBWSxLQUFLLElBQUksRUFBRTtZQUN6QixNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztZQUM5QyxJQUFJLENBQUMsOEJBQThCLENBQy9CLFlBQVksRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztTQUNwRTtJQUNILENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsMEJBQTBCLENBQ3RCLEtBQXVCLEVBQUUsRUFBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBaUI7UUFDL0UsTUFBTSxXQUFXLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7UUFDOUMsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDekU7SUFDSCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDTyw4QkFBOEIsQ0FDcEMsSUFBb0IsRUFBRSxZQUFpQyxFQUFFLE9BQW9CLEVBQzdFLFdBQXdCLEVBQUUsV0FBZ0M7UUFDNUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ2xDLE9BQU87U0FDUjtRQUNELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3hELEtBQUssTUFBTSxVQUFVLElBQUksT0FBTyxFQUFFO1lBQ2hDLE1BQU0sUUFBUSxHQUNWLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUMxRixJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNiLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDekI7U0FDRjtJQUNILENBQUM7SUFLRDs7Ozs7Ozs7T0FRRztJQUNPLGFBQWEsQ0FDbkIsVUFBa0IsRUFBRSxJQUFvQixFQUFFLFlBQWlDLEVBQzNFLE9BQW9CLEVBQUUsV0FBd0IsRUFBRSxXQUFnQztRQUNsRixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqRixJQUFJLGNBQWMsS0FBSyxJQUFJLEVBQUU7WUFDM0IsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELElBQUksY0FBYyxZQUFZLHNCQUFzQixFQUFFO1lBQ3BELElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztTQUM5RjthQUFNLElBQUksY0FBYyxZQUFZLGtCQUFrQixFQUFFO1lBQ3ZELFdBQVcsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzVDO2FBQU07WUFDTCxZQUFZLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUNqRDtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7O09BSUc7SUFDTyxXQUFXLENBQ2pCLElBQW9CLEVBQUUsWUFBaUMsRUFBRSxPQUFvQixFQUM3RSxXQUF3QixFQUFFLFdBQWdDO1FBQzVELElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzFCLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEIsSUFBSSxDQUFDLDhCQUE4QixDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztTQUM1RjtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0IHtBYnNvbHV0ZUZzUGF0aCwgUGF0aFNlZ21lbnQsIFJlYWRvbmx5RmlsZVN5c3RlbX0gZnJvbSAnLi4vLi4vLi4vc3JjL25ndHNjL2ZpbGVfc3lzdGVtJztcbmltcG9ydCB7RW50cnlQb2ludH0gZnJvbSAnLi4vcGFja2FnZXMvZW50cnlfcG9pbnQnO1xuaW1wb3J0IHtyZXNvbHZlRmlsZVdpdGhQb3N0Zml4ZXN9IGZyb20gJy4uL3V0aWxzJztcblxuaW1wb3J0IHtNb2R1bGVSZXNvbHZlciwgUmVzb2x2ZWREZWVwSW1wb3J0LCBSZXNvbHZlZFJlbGF0aXZlTW9kdWxlfSBmcm9tICcuL21vZHVsZV9yZXNvbHZlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVwZW5kZW5jeUhvc3Qge1xuICBjb2xsZWN0RGVwZW5kZW5jaWVzKFxuICAgICAgZW50cnlQb2ludFBhdGg6IEFic29sdXRlRnNQYXRoLCB7ZGVwZW5kZW5jaWVzLCBtaXNzaW5nLCBkZWVwSW1wb3J0c306IERlcGVuZGVuY3lJbmZvKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXBlbmRlbmN5SW5mbyB7XG4gIGRlcGVuZGVuY2llczogU2V0PEFic29sdXRlRnNQYXRoPjtcbiAgbWlzc2luZzogU2V0PEFic29sdXRlRnNQYXRofFBhdGhTZWdtZW50PjtcbiAgZGVlcEltcG9ydHM6IFNldDxBYnNvbHV0ZUZzUGF0aD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50cnlQb2ludFdpdGhEZXBlbmRlbmNpZXMge1xuICBlbnRyeVBvaW50OiBFbnRyeVBvaW50O1xuICBkZXBJbmZvOiBEZXBlbmRlbmN5SW5mbztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURlcGVuZGVuY3lJbmZvKCk6IERlcGVuZGVuY3lJbmZvIHtcbiAgcmV0dXJuIHtkZXBlbmRlbmNpZXM6IG5ldyBTZXQoKSwgbWlzc2luZzogbmV3IFNldCgpLCBkZWVwSW1wb3J0czogbmV3IFNldCgpfTtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERlcGVuZGVuY3lIb3N0QmFzZSBpbXBsZW1lbnRzIERlcGVuZGVuY3lIb3N0IHtcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGZzOiBSZWFkb25seUZpbGVTeXN0ZW0sIHByb3RlY3RlZCBtb2R1bGVSZXNvbHZlcjogTW9kdWxlUmVzb2x2ZXIpIHt9XG5cbiAgLyoqXG4gICAqIEZpbmQgYWxsIHRoZSBkZXBlbmRlbmNpZXMgZm9yIHRoZSBlbnRyeS1wb2ludCBhdCB0aGUgZ2l2ZW4gcGF0aC5cbiAgICpcbiAgICogQHBhcmFtIGVudHJ5UG9pbnRQYXRoIFRoZSBhYnNvbHV0ZSBwYXRoIHRvIHRoZSBKYXZhU2NyaXB0IGZpbGUgdGhhdCByZXByZXNlbnRzIGFuIGVudHJ5LXBvaW50LlxuICAgKiBAcGFyYW0gZGVwZW5kZW5jeUluZm8gQW4gb2JqZWN0IGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGRlcGVuZGVuY2llcyBvZiB0aGVcbiAgICogZW50cnktcG9pbnQsIGluY2x1ZGluZyB0aG9zZSB0aGF0IHdlcmUgbWlzc2luZyBvciBkZWVwIGltcG9ydHMgaW50byBvdGhlciBlbnRyeS1wb2ludHMuIFRoZVxuICAgKiBzZXRzIGluIHRoaXMgb2JqZWN0IHdpbGwgYmUgdXBkYXRlZCB3aXRoIG5ldyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZW50cnktcG9pbnQncyBkZXBlbmRlbmNpZXMuXG4gICAqL1xuICBjb2xsZWN0RGVwZW5kZW5jaWVzKFxuICAgICAgZW50cnlQb2ludFBhdGg6IEFic29sdXRlRnNQYXRoLCB7ZGVwZW5kZW5jaWVzLCBtaXNzaW5nLCBkZWVwSW1wb3J0c306IERlcGVuZGVuY3lJbmZvKTogdm9pZCB7XG4gICAgY29uc3QgcmVzb2x2ZWRGaWxlID1cbiAgICAgICAgcmVzb2x2ZUZpbGVXaXRoUG9zdGZpeGVzKHRoaXMuZnMsIGVudHJ5UG9pbnRQYXRoLCB0aGlzLm1vZHVsZVJlc29sdmVyLnJlbGF0aXZlRXh0ZW5zaW9ucyk7XG4gICAgaWYgKHJlc29sdmVkRmlsZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgYWxyZWFkeVNlZW4gPSBuZXcgU2V0PEFic29sdXRlRnNQYXRoPigpO1xuICAgICAgdGhpcy5yZWN1cnNpdmVseUNvbGxlY3REZXBlbmRlbmNpZXMoXG4gICAgICAgICAgcmVzb2x2ZWRGaWxlLCBkZXBlbmRlbmNpZXMsIG1pc3NpbmcsIGRlZXBJbXBvcnRzLCBhbHJlYWR5U2Vlbik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgYWxsIHRoZSBkZXBlbmRlbmNpZXMgZm9yIHRoZSBwcm92aWRlZCBwYXRocy5cbiAgICpcbiAgICogQHBhcmFtIGZpbGVzIFRoZSBsaXN0IG9mIGFic29sdXRlIHBhdGhzIG9mIEphdmFTY3JpcHQgZmlsZXMgdG8gc2NhbiBmb3IgZGVwZW5kZW5jaWVzLlxuICAgKiBAcGFyYW0gZGVwZW5kZW5jeUluZm8gQW4gb2JqZWN0IGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGRlcGVuZGVuY2llcyBvZiB0aGVcbiAgICogZW50cnktcG9pbnQsIGluY2x1ZGluZyB0aG9zZSB0aGF0IHdlcmUgbWlzc2luZyBvciBkZWVwIGltcG9ydHMgaW50byBvdGhlciBlbnRyeS1wb2ludHMuIFRoZVxuICAgKiBzZXRzIGluIHRoaXMgb2JqZWN0IHdpbGwgYmUgdXBkYXRlZCB3aXRoIG5ldyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZW50cnktcG9pbnQncyBkZXBlbmRlbmNpZXMuXG4gICAqL1xuICBjb2xsZWN0RGVwZW5kZW5jaWVzSW5GaWxlcyhcbiAgICAgIGZpbGVzOiBBYnNvbHV0ZUZzUGF0aFtdLCB7ZGVwZW5kZW5jaWVzLCBtaXNzaW5nLCBkZWVwSW1wb3J0c306IERlcGVuZGVuY3lJbmZvKTogdm9pZCB7XG4gICAgY29uc3QgYWxyZWFkeVNlZW4gPSBuZXcgU2V0PEFic29sdXRlRnNQYXRoPigpO1xuICAgIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xuICAgICAgdGhpcy5wcm9jZXNzRmlsZShmaWxlLCBkZXBlbmRlbmNpZXMsIG1pc3NpbmcsIGRlZXBJbXBvcnRzLCBhbHJlYWR5U2Vlbik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENvbXB1dGUgdGhlIGRlcGVuZGVuY2llcyBvZiB0aGUgZ2l2ZW4gZmlsZS5cbiAgICpcbiAgICogQHBhcmFtIGZpbGUgQW4gYWJzb2x1dGUgcGF0aCB0byB0aGUgZmlsZSB3aG9zZSBkZXBlbmRlbmNpZXMgd2Ugd2FudCB0byBnZXQuXG4gICAqIEBwYXJhbSBkZXBlbmRlbmNpZXMgQSBzZXQgdGhhdCB3aWxsIGhhdmUgdGhlIGFic29sdXRlIHBhdGhzIG9mIHJlc29sdmVkIGVudHJ5IHBvaW50cyBhZGRlZCB0b1xuICAgKiBpdC5cbiAgICogQHBhcmFtIG1pc3NpbmcgQSBzZXQgdGhhdCB3aWxsIGhhdmUgdGhlIGRlcGVuZGVuY2llcyB0aGF0IGNvdWxkIG5vdCBiZSBmb3VuZCBhZGRlZCB0byBpdC5cbiAgICogQHBhcmFtIGRlZXBJbXBvcnRzIEEgc2V0IHRoYXQgd2lsbCBoYXZlIHRoZSBpbXBvcnQgcGF0aHMgdGhhdCBleGlzdCBidXQgY2Fubm90IGJlIG1hcHBlZCB0b1xuICAgKiBlbnRyeS1wb2ludHMsIGkuZS4gZGVlcC1pbXBvcnRzLlxuICAgKiBAcGFyYW0gYWxyZWFkeVNlZW4gQSBzZXQgdGhhdCBpcyB1c2VkIHRvIHRyYWNrIGludGVybmFsIGRlcGVuZGVuY2llcyB0byBwcmV2ZW50IGdldHRpbmcgc3R1Y2tcbiAgICogaW4gYSBjaXJjdWxhciBkZXBlbmRlbmN5IGxvb3AuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVjdXJzaXZlbHlDb2xsZWN0RGVwZW5kZW5jaWVzKFxuICAgICAgZmlsZTogQWJzb2x1dGVGc1BhdGgsIGRlcGVuZGVuY2llczogU2V0PEFic29sdXRlRnNQYXRoPiwgbWlzc2luZzogU2V0PHN0cmluZz4sXG4gICAgICBkZWVwSW1wb3J0czogU2V0PHN0cmluZz4sIGFscmVhZHlTZWVuOiBTZXQ8QWJzb2x1dGVGc1BhdGg+KTogdm9pZCB7XG4gICAgY29uc3QgZnJvbUNvbnRlbnRzID0gdGhpcy5mcy5yZWFkRmlsZShmaWxlKTtcbiAgICBpZiAodGhpcy5jYW5Ta2lwRmlsZShmcm9tQ29udGVudHMpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGltcG9ydHMgPSB0aGlzLmV4dHJhY3RJbXBvcnRzKGZpbGUsIGZyb21Db250ZW50cyk7XG4gICAgZm9yIChjb25zdCBpbXBvcnRQYXRoIG9mIGltcG9ydHMpIHtcbiAgICAgIGNvbnN0IHJlc29sdmVkID1cbiAgICAgICAgICB0aGlzLnByb2Nlc3NJbXBvcnQoaW1wb3J0UGF0aCwgZmlsZSwgZGVwZW5kZW5jaWVzLCBtaXNzaW5nLCBkZWVwSW1wb3J0cywgYWxyZWFkeVNlZW4pO1xuICAgICAgaWYgKCFyZXNvbHZlZCkge1xuICAgICAgICBtaXNzaW5nLmFkZChpbXBvcnRQYXRoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgY2FuU2tpcEZpbGUoZmlsZUNvbnRlbnRzOiBzdHJpbmcpOiBib29sZWFuO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZXh0cmFjdEltcG9ydHMoZmlsZTogQWJzb2x1dGVGc1BhdGgsIGZpbGVDb250ZW50czogc3RyaW5nKTogU2V0PHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFJlc29sdmUgdGhlIGdpdmVuIGBpbXBvcnRQYXRoYCBmcm9tIGBmaWxlYCBhbmQgYWRkIGl0IHRvIHRoZSBhcHByb3ByaWF0ZSBzZXQuXG4gICAqXG4gICAqIElmIHRoZSBpbXBvcnQgaXMgbG9jYWwgdG8gdGhpcyBwYWNrYWdlIHRoZW4gZm9sbG93IGl0IGJ5IGNhbGxpbmdcbiAgICogYHJlY3Vyc2l2ZWx5Q29sbGVjdERlcGVuZGVuY2llcygpYC5cbiAgICpcbiAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBpbXBvcnQgd2FzIHJlc29sdmVkICh0byBhbiBlbnRyeS1wb2ludCwgYSBsb2NhbCBpbXBvcnQsIG9yIGFcbiAgICogZGVlcC1pbXBvcnQpLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAgICovXG4gIHByb3RlY3RlZCBwcm9jZXNzSW1wb3J0KFxuICAgICAgaW1wb3J0UGF0aDogc3RyaW5nLCBmaWxlOiBBYnNvbHV0ZUZzUGF0aCwgZGVwZW5kZW5jaWVzOiBTZXQ8QWJzb2x1dGVGc1BhdGg+LFxuICAgICAgbWlzc2luZzogU2V0PHN0cmluZz4sIGRlZXBJbXBvcnRzOiBTZXQ8c3RyaW5nPiwgYWxyZWFkeVNlZW46IFNldDxBYnNvbHV0ZUZzUGF0aD4pOiBib29sZWFuIHtcbiAgICBjb25zdCByZXNvbHZlZE1vZHVsZSA9IHRoaXMubW9kdWxlUmVzb2x2ZXIucmVzb2x2ZU1vZHVsZUltcG9ydChpbXBvcnRQYXRoLCBmaWxlKTtcbiAgICBpZiAocmVzb2x2ZWRNb2R1bGUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHJlc29sdmVkTW9kdWxlIGluc3RhbmNlb2YgUmVzb2x2ZWRSZWxhdGl2ZU1vZHVsZSkge1xuICAgICAgdGhpcy5wcm9jZXNzRmlsZShyZXNvbHZlZE1vZHVsZS5tb2R1bGVQYXRoLCBkZXBlbmRlbmNpZXMsIG1pc3NpbmcsIGRlZXBJbXBvcnRzLCBhbHJlYWR5U2Vlbik7XG4gICAgfSBlbHNlIGlmIChyZXNvbHZlZE1vZHVsZSBpbnN0YW5jZW9mIFJlc29sdmVkRGVlcEltcG9ydCkge1xuICAgICAgZGVlcEltcG9ydHMuYWRkKHJlc29sdmVkTW9kdWxlLmltcG9ydFBhdGgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZXBlbmRlbmNpZXMuYWRkKHJlc29sdmVkTW9kdWxlLmVudHJ5UG9pbnRQYXRoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogUHJvY2Vzc2VzIHRoZSBmaWxlIGlmIGl0IGhhcyBub3QgYWxyZWFkeSBiZWVuIHNlZW4uIFRoaXMgd2lsbCBhbHNvIHJlY3Vyc2l2ZWx5IHByb2Nlc3NcbiAgICogYWxsIGZpbGVzIHRoYXQgYXJlIGltcG9ydGVkIGZyb20gdGhlIGZpbGUsIHdoaWxlIHRha2luZyB0aGUgc2V0IG9mIGFscmVhZHkgc2VlbiBmaWxlc1xuICAgKiBpbnRvIGFjY291bnQuXG4gICAqL1xuICBwcm90ZWN0ZWQgcHJvY2Vzc0ZpbGUoXG4gICAgICBmaWxlOiBBYnNvbHV0ZUZzUGF0aCwgZGVwZW5kZW5jaWVzOiBTZXQ8QWJzb2x1dGVGc1BhdGg+LCBtaXNzaW5nOiBTZXQ8c3RyaW5nPixcbiAgICAgIGRlZXBJbXBvcnRzOiBTZXQ8c3RyaW5nPiwgYWxyZWFkeVNlZW46IFNldDxBYnNvbHV0ZUZzUGF0aD4pOiB2b2lkIHtcbiAgICBpZiAoIWFscmVhZHlTZWVuLmhhcyhmaWxlKSkge1xuICAgICAgYWxyZWFkeVNlZW4uYWRkKGZpbGUpO1xuICAgICAgdGhpcy5yZWN1cnNpdmVseUNvbGxlY3REZXBlbmRlbmNpZXMoZmlsZSwgZGVwZW5kZW5jaWVzLCBtaXNzaW5nLCBkZWVwSW1wb3J0cywgYWxyZWFkeVNlZW4pO1xuICAgIH1cbiAgfVxufVxuIl19