@angular/compiler-cli 13.0.0-next.9 → 13.0.0-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/index.js +20413 -0
- package/bundles/index.js.map +6 -0
- package/bundles/linker/babel/index.js +2384 -0
- package/bundles/linker/babel/index.js.map +6 -0
- package/bundles/linker/index.js +1849 -0
- package/bundles/linker/index.js.map +6 -0
- package/bundles/ngcc/index.js +16038 -0
- package/bundles/ngcc/index.js.map +6 -0
- package/bundles/ngcc/main-ngcc.js +16126 -0
- package/bundles/ngcc/main-ngcc.js.map +6 -0
- package/bundles/ngcc/src/execution/cluster/ngcc_cluster_worker.js +13850 -0
- package/bundles/ngcc/src/execution/cluster/ngcc_cluster_worker.js.map +6 -0
- package/bundles/ngcc/src/locking/lock_file_with_child_process/ngcc_lock_unlocker.js +334 -0
- package/bundles/ngcc/src/locking/lock_file_with_child_process/ngcc_lock_unlocker.js.map +6 -0
- package/bundles/private/bazel.js +97 -0
- package/bundles/private/bazel.js.map +6 -0
- package/bundles/private/localize.js +911 -0
- package/bundles/private/localize.js.map +6 -0
- package/bundles/private/migrations.js +2183 -0
- package/bundles/private/migrations.js.map +6 -0
- package/bundles/private/tooling.js +942 -0
- package/bundles/private/tooling.js.map +6 -0
- package/bundles/src/bin/ng_xi18n.js +20463 -0
- package/bundles/src/bin/ng_xi18n.js.map +6 -0
- package/bundles/src/bin/ngc.js +20465 -0
- package/bundles/src/bin/ngc.js.map +6 -0
- package/bundles_metadata.json +1 -0
- package/import_meta_url.d.ts +14 -0
- package/index.d.ts +4 -1
- package/linker/babel/src/ast/babel_ast_factory.d.ts +1 -8
- package/linker/babel/src/ast/babel_ast_host.d.ts +1 -1
- package/linker/babel/src/babel_core.d.ts +36 -0
- package/linker/babel/src/babel_declaration_scope.d.ts +1 -1
- package/linker/babel/src/babel_plugin.d.ts +1 -8
- package/linker/babel/src/es2015_linker_plugin.d.ts +2 -2
- package/linker/src/ast/typescript/typescript_ast_host.d.ts +1 -1
- package/linker/src/file_linker/emit_scopes/emit_scope.d.ts +1 -2
- package/linker/src/file_linker/emit_scopes/iife_emit_scope.d.ts +1 -1
- package/linker/src/file_linker/partial_linkers/partial_class_metadata_linker_1.d.ts +1 -2
- package/linker/src/file_linker/partial_linkers/partial_component_linker_1.d.ts +1 -2
- package/linker/src/file_linker/partial_linkers/partial_directive_linker_1.d.ts +1 -2
- package/linker/src/file_linker/partial_linkers/partial_factory_linker_1.d.ts +1 -2
- package/linker/src/file_linker/partial_linkers/partial_injectable_linker_1.d.ts +1 -2
- package/linker/src/file_linker/partial_linkers/partial_injector_linker_1.d.ts +1 -2
- package/linker/src/file_linker/partial_linkers/partial_linker.d.ts +1 -2
- package/linker/src/file_linker/partial_linkers/partial_linker_selector.d.ts +2 -2
- package/linker/src/file_linker/partial_linkers/partial_ng_module_linker_1.d.ts +1 -2
- package/linker/src/file_linker/partial_linkers/partial_pipe_linker_1.d.ts +1 -2
- package/linker/src/file_linker/partial_linkers/util.d.ts +1 -2
- package/ngcc/index.d.ts +15 -0
- package/ngcc/src/analysis/decoration_analyzer.d.ts +1 -1
- package/ngcc/src/analysis/module_with_providers_analyzer.d.ts +1 -1
- package/ngcc/src/analysis/ngcc_references_registry.d.ts +1 -1
- package/ngcc/src/analysis/ngcc_trait_compiler.d.ts +1 -1
- package/ngcc/src/analysis/private_declarations_analyzer.d.ts +1 -1
- package/ngcc/src/analysis/switch_marker_analyzer.d.ts +1 -1
- package/ngcc/src/analysis/types.d.ts +1 -1
- package/ngcc/src/dependencies/esm_dependency_host.d.ts +1 -1
- package/ngcc/src/execution/cluster/api.d.ts +5 -1
- package/ngcc/src/execution/cluster/master.d.ts +5 -3
- package/{src/ngtsc/logging/testing/index.d.ts → ngcc/src/execution/cluster/ngcc_cluster_worker.d.ts} +2 -2
- package/ngcc/src/host/commonjs_host.d.ts +1 -1
- package/ngcc/src/host/commonjs_umd_utils.d.ts +1 -1
- package/ngcc/src/host/delegating_host.d.ts +1 -1
- package/ngcc/src/host/esm2015_host.d.ts +1 -1
- package/ngcc/src/host/esm5_host.d.ts +1 -1
- package/ngcc/src/host/ngcc_host.d.ts +1 -1
- package/ngcc/src/host/umd_host.d.ts +1 -1
- package/ngcc/src/host/utils.d.ts +1 -1
- package/ngcc/src/locking/lock_file.d.ts +1 -1
- package/ngcc/src/locking/lock_file_with_child_process/index.d.ts +2 -0
- package/ngcc/src/locking/lock_file_with_child_process/{unlocker.d.ts → ngcc_lock_unlocker.d.ts} +1 -1
- package/ngcc/src/migrations/migration.d.ts +1 -1
- package/ngcc/src/migrations/missing_injectable_migration.d.ts +1 -1
- package/ngcc/src/migrations/undecorated_child_migration.d.ts +1 -1
- package/ngcc/src/migrations/undecorated_parent_migration.d.ts +1 -1
- package/ngcc/src/migrations/utils.d.ts +1 -1
- package/ngcc/src/packages/build_marker.d.ts +1 -1
- package/ngcc/src/packages/bundle_program.d.ts +1 -1
- package/ngcc/src/packages/entry_point_bundle.d.ts +1 -1
- package/ngcc/src/packages/ngcc_compiler_host.d.ts +1 -1
- package/ngcc/src/packages/source_file_cache.d.ts +1 -1
- package/ngcc/src/packages/transformer.d.ts +1 -1
- package/ngcc/src/rendering/commonjs_rendering_formatter.d.ts +1 -1
- package/ngcc/src/rendering/dts_renderer.d.ts +1 -1
- package/ngcc/src/rendering/esm5_rendering_formatter.d.ts +1 -1
- package/ngcc/src/rendering/esm_rendering_formatter.d.ts +1 -1
- package/ngcc/src/rendering/renderer.d.ts +1 -1
- package/ngcc/src/rendering/rendering_formatter.d.ts +1 -1
- package/ngcc/src/rendering/source_maps.d.ts +3 -3
- package/ngcc/src/rendering/umd_rendering_formatter.d.ts +1 -1
- package/ngcc/src/rendering/utils.d.ts +1 -1
- package/ngcc/src/utils.d.ts +1 -1
- package/package.json +52 -13
- package/private/bazel.d.ts +13 -0
- package/private/localize.d.ts +15 -0
- package/private/migrations.d.ts +16 -0
- package/{src → private}/tooling.d.ts +2 -2
- package/src/bin/ng_xi18n.d.ts +10 -0
- package/{ngcc/main-ivy-ngcc.d.ts → src/bin/ngc.d.ts} +2 -1
- package/src/diagnostics/translate_diagnostics.d.ts +1 -1
- package/src/extract_i18n.d.ts +0 -5
- package/src/main.d.ts +9 -6
- package/src/metadata/bundle_index_host.d.ts +1 -1
- package/src/metadata/bundler.d.ts +1 -1
- package/src/metadata/collector.d.ts +1 -1
- package/src/metadata/evaluator.d.ts +1 -1
- package/src/metadata/symbols.d.ts +1 -1
- package/src/ngtsc/annotations/src/component.d.ts +1 -1
- package/src/ngtsc/annotations/src/diagnostics.d.ts +1 -1
- package/src/ngtsc/annotations/src/directive.d.ts +1 -1
- package/src/ngtsc/annotations/src/ng_module.d.ts +2 -3
- package/src/ngtsc/annotations/src/pipe.d.ts +1 -1
- package/src/ngtsc/annotations/src/util.d.ts +2 -4
- package/src/ngtsc/core/api/src/adapter.d.ts +1 -1
- package/src/ngtsc/core/api/src/interfaces.d.ts +1 -1
- package/src/ngtsc/core/api/src/options.d.ts +1 -1
- package/src/ngtsc/core/api/src/public_options.d.ts +5 -1
- package/src/ngtsc/core/src/compiler.d.ts +1 -1
- package/src/ngtsc/core/src/host.d.ts +1 -1
- package/src/ngtsc/cycles/src/analyzer.d.ts +1 -1
- package/src/ngtsc/cycles/src/imports.d.ts +1 -1
- package/src/ngtsc/diagnostics/index.d.ts +4 -2
- package/src/ngtsc/diagnostics/src/docs.d.ts +14 -0
- package/src/ngtsc/diagnostics/src/error.d.ts +1 -1
- package/src/ngtsc/diagnostics/src/error_details_base_url.d.ts +16 -0
- package/src/ngtsc/diagnostics/src/util.d.ts +2 -0
- package/src/ngtsc/entry_point/src/generator.d.ts +1 -1
- package/src/ngtsc/entry_point/src/private_export_checker.d.ts +1 -1
- package/src/ngtsc/file_system/src/compiler_host.d.ts +1 -1
- package/src/ngtsc/file_system/src/logical.d.ts +1 -1
- package/src/ngtsc/file_system/src/util.d.ts +1 -1
- package/src/ngtsc/imports/src/alias.d.ts +1 -1
- package/src/ngtsc/imports/src/default.d.ts +1 -1
- package/src/ngtsc/imports/src/emitter.d.ts +1 -1
- package/src/ngtsc/imports/src/find_export.d.ts +1 -1
- package/src/ngtsc/imports/src/references.d.ts +1 -1
- package/src/ngtsc/imports/src/resolver.d.ts +1 -1
- package/src/ngtsc/incremental/api.d.ts +1 -1
- package/src/ngtsc/incremental/src/dependency_tracking.d.ts +1 -1
- package/src/ngtsc/incremental/src/incremental.d.ts +1 -1
- package/src/ngtsc/incremental/src/state.d.ts +1 -1
- package/src/ngtsc/incremental/src/strategy.d.ts +1 -1
- package/src/ngtsc/metadata/src/api.d.ts +1 -1
- package/src/ngtsc/metadata/src/dts.d.ts +1 -1
- package/src/ngtsc/metadata/src/resource_registry.d.ts +1 -1
- package/src/ngtsc/metadata/src/util.d.ts +1 -1
- package/src/ngtsc/partial_evaluator/index.d.ts +1 -0
- package/src/ngtsc/partial_evaluator/src/builtin.d.ts +1 -1
- package/src/ngtsc/partial_evaluator/src/diagnostics.d.ts +1 -1
- package/src/ngtsc/partial_evaluator/src/dynamic.d.ts +1 -1
- package/src/ngtsc/partial_evaluator/src/interface.d.ts +1 -1
- package/src/ngtsc/partial_evaluator/src/interpreter.d.ts +1 -1
- package/src/ngtsc/partial_evaluator/src/result.d.ts +1 -1
- package/src/ngtsc/partial_evaluator/src/ts_helpers.d.ts +1 -1
- package/src/ngtsc/program.d.ts +1 -1
- package/src/ngtsc/program_driver/src/api.d.ts +1 -1
- package/src/ngtsc/program_driver/src/ts_create_program_driver.d.ts +1 -1
- package/src/ngtsc/reflection/src/host.d.ts +1 -1
- package/src/ngtsc/reflection/src/type_to_value.d.ts +1 -1
- package/src/ngtsc/reflection/src/typescript.d.ts +1 -1
- package/src/ngtsc/reflection/src/util.d.ts +1 -1
- package/src/ngtsc/resource/src/loader.d.ts +1 -1
- package/src/ngtsc/scope/src/local.d.ts +1 -1
- package/src/ngtsc/scope/src/typecheck.d.ts +1 -1
- package/src/ngtsc/shims/api.d.ts +1 -1
- package/src/ngtsc/shims/src/adapter.d.ts +1 -1
- package/src/ngtsc/shims/src/expando.d.ts +1 -1
- package/src/ngtsc/shims/src/factory_generator.d.ts +1 -1
- package/src/ngtsc/shims/src/reference_tagger.d.ts +1 -1
- package/src/ngtsc/shims/src/summary_generator.d.ts +1 -1
- package/src/ngtsc/switch/src/switch.d.ts +1 -1
- package/src/ngtsc/transform/src/alias.d.ts +1 -1
- package/src/ngtsc/transform/src/api.d.ts +1 -1
- package/src/ngtsc/transform/src/compilation.d.ts +1 -1
- package/src/ngtsc/transform/src/declaration.d.ts +1 -1
- package/src/ngtsc/transform/src/trait.d.ts +1 -1
- package/src/ngtsc/transform/src/transform.d.ts +1 -1
- package/src/ngtsc/transform/src/utils.d.ts +1 -1
- package/src/ngtsc/translator/src/import_manager.d.ts +1 -1
- package/src/ngtsc/translator/src/type_translator.d.ts +1 -1
- package/src/ngtsc/translator/src/typescript_ast_factory.d.ts +1 -1
- package/src/ngtsc/translator/src/typescript_translator.d.ts +1 -1
- package/src/ngtsc/tsc_plugin.d.ts +1 -1
- package/src/ngtsc/typecheck/api/api.d.ts +1 -1
- package/src/ngtsc/typecheck/api/checker.d.ts +3 -4
- package/src/ngtsc/typecheck/api/context.d.ts +1 -1
- package/src/ngtsc/typecheck/api/scope.d.ts +1 -1
- package/src/ngtsc/typecheck/api/symbols.d.ts +1 -1
- package/src/ngtsc/typecheck/diagnostics/src/diagnostic.d.ts +1 -1
- package/src/ngtsc/typecheck/extended/api/api.d.ts +1 -1
- package/src/ngtsc/typecheck/extended/api/extended_template_checker.d.ts +1 -1
- package/src/ngtsc/typecheck/extended/checks/invalid_banana_in_box/index.d.ts +1 -1
- package/src/ngtsc/typecheck/extended/checks/nullish_coalescing_not_nullable/index.d.ts +1 -1
- package/src/ngtsc/typecheck/extended/src/extended_template_checker.d.ts +1 -1
- package/src/ngtsc/typecheck/src/checker.d.ts +3 -4
- package/src/ngtsc/typecheck/src/comments.d.ts +1 -1
- package/src/ngtsc/typecheck/src/completion.d.ts +3 -5
- package/src/ngtsc/typecheck/src/context.d.ts +1 -1
- package/src/ngtsc/typecheck/src/diagnostics.d.ts +1 -1
- package/src/ngtsc/typecheck/src/environment.d.ts +1 -1
- package/src/ngtsc/typecheck/src/expression.d.ts +1 -1
- package/src/ngtsc/typecheck/src/oob.d.ts +3 -4
- package/src/ngtsc/typecheck/src/shim.d.ts +1 -1
- package/src/ngtsc/typecheck/src/source.d.ts +1 -1
- package/src/ngtsc/typecheck/src/tcb_util.d.ts +1 -1
- package/src/ngtsc/typecheck/src/template_symbol_builder.d.ts +1 -1
- package/src/ngtsc/typecheck/src/ts_util.d.ts +1 -1
- package/src/ngtsc/typecheck/src/type_check_block.d.ts +1 -1
- package/src/ngtsc/typecheck/src/type_check_file.d.ts +1 -1
- package/src/ngtsc/typecheck/src/type_constructor.d.ts +1 -1
- package/src/ngtsc/typecheck/src/type_emitter.d.ts +1 -1
- package/src/ngtsc/typecheck/src/type_parameter_emitter.d.ts +1 -1
- package/src/ngtsc/util/src/typescript.d.ts +1 -1
- package/src/ngtsc/util/src/visitor.d.ts +1 -1
- package/src/perform_compile.d.ts +1 -2
- package/src/perform_watch.d.ts +1 -1
- package/src/transformers/api.d.ts +1 -1
- package/src/transformers/compiler_host.d.ts +1 -1
- package/src/transformers/{downlevel_decorators_transform.d.ts → downlevel_decorators_transform/downlevel_decorators_transform.d.ts} +3 -3
- package/src/transformers/downlevel_decorators_transform/index.d.ts +9 -0
- package/src/transformers/{patch_alias_reference_resolution.d.ts → downlevel_decorators_transform/patch_alias_reference_resolution.d.ts} +2 -2
- package/src/transformers/i18n.d.ts +1 -1
- package/src/transformers/inline_resources.d.ts +1 -1
- package/src/transformers/lower_expressions.d.ts +1 -1
- package/src/transformers/metadata_cache.d.ts +1 -1
- package/src/transformers/node_emitter.d.ts +1 -1
- package/src/transformers/node_emitter_transform.d.ts +1 -1
- package/src/transformers/program.d.ts +1 -1
- package/src/transformers/r3_metadata_transform.d.ts +1 -1
- package/src/transformers/r3_transform.d.ts +1 -1
- package/src/transformers/util.d.ts +1 -1
- package/index.js +0 -40
- package/linker/babel/index.js +0 -25
- package/linker/babel/src/ast/babel_ast_factory.js +0 -153
- package/linker/babel/src/ast/babel_ast_host.js +0 -181
- package/linker/babel/src/babel_declaration_scope.js +0 -67
- package/linker/babel/src/babel_plugin.js +0 -38
- package/linker/babel/src/es2015_linker_plugin.js +0 -183
- package/linker/babel/src/linker_plugin_options.js +0 -13
- package/linker/index.js +0 -27
- package/linker/src/ast/ast_host.js +0 -20
- package/linker/src/ast/ast_value.js +0 -299
- package/linker/src/ast/typescript/typescript_ast_host.js +0 -183
- package/linker/src/ast/utils.js +0 -31
- package/linker/src/fatal_linker_error.js +0 -49
- package/linker/src/file_linker/declaration_scope.js +0 -20
- package/linker/src/file_linker/emit_scopes/emit_scope.js +0 -57
- package/linker/src/file_linker/emit_scopes/iife_emit_scope.js +0 -51
- package/linker/src/file_linker/file_linker.js +0 -97
- package/linker/src/file_linker/get_source_file.js +0 -42
- package/linker/src/file_linker/linker_environment.js +0 -38
- package/linker/src/file_linker/linker_options.js +0 -29
- package/linker/src/file_linker/needs_linking.js +0 -41
- package/linker/src/file_linker/partial_linkers/partial_class_metadata_linker_1.js +0 -47
- package/linker/src/file_linker/partial_linkers/partial_component_linker_1.js +0 -210
- package/linker/src/file_linker/partial_linkers/partial_directive_linker_1.js +0 -154
- package/linker/src/file_linker/partial_linkers/partial_factory_linker_1.js +0 -70
- package/linker/src/file_linker/partial_linkers/partial_injectable_linker_1.js +0 -74
- package/linker/src/file_linker/partial_linkers/partial_injector_linker_1.js +0 -56
- package/linker/src/file_linker/partial_linkers/partial_linker.js +0 -13
- package/linker/src/file_linker/partial_linkers/partial_linker_selector.js +0 -194
- package/linker/src/file_linker/partial_linkers/partial_ng_module_linker_1.js +0 -126
- package/linker/src/file_linker/partial_linkers/partial_pipe_linker_1.js +0 -59
- package/linker/src/file_linker/partial_linkers/util.js +0 -95
- package/linker/src/file_linker/translator.js +0 -40
- package/linker/src/linker_import_generator.js +0 -43
- package/ngcc/index.js +0 -33
- package/ngcc/main-ivy-ngcc.js +0 -12
- package/ngcc/main-ngcc.js +0 -54
- package/ngcc/src/analysis/decoration_analyzer.js +0 -268
- package/ngcc/src/analysis/migration_host.js +0 -108
- package/ngcc/src/analysis/module_with_providers_analyzer.js +0 -197
- package/ngcc/src/analysis/ngcc_references_registry.js +0 -65
- package/ngcc/src/analysis/ngcc_trait_compiler.js +0 -117
- package/ngcc/src/analysis/private_declarations_analyzer.js +0 -63
- package/ngcc/src/analysis/switch_marker_analyzer.js +0 -50
- package/ngcc/src/analysis/types.js +0 -15
- package/ngcc/src/analysis/util.js +0 -36
- package/ngcc/src/command_line_options.js +0 -156
- package/ngcc/src/constants.js +0 -23
- package/ngcc/src/dependencies/commonjs_dependency_host.js +0 -129
- package/ngcc/src/dependencies/dependency_host.js +0 -143
- package/ngcc/src/dependencies/dependency_resolver.js +0 -180
- package/ngcc/src/dependencies/dts_dependency_host.js +0 -35
- package/ngcc/src/dependencies/esm_dependency_host.js +0 -307
- package/ngcc/src/dependencies/module_resolver.js +0 -269
- package/ngcc/src/dependencies/umd_dependency_host.js +0 -53
- package/ngcc/src/entry_point_finder/directory_walker_entry_point_finder.js +0 -70
- package/ngcc/src/entry_point_finder/entry_point_collector.js +0 -157
- package/ngcc/src/entry_point_finder/interface.js +0 -13
- package/ngcc/src/entry_point_finder/program_based_entry_point_finder.js +0 -132
- package/ngcc/src/entry_point_finder/targeted_entry_point_finder.js +0 -268
- package/ngcc/src/entry_point_finder/tracing_entry_point_finder.js +0 -78
- package/ngcc/src/entry_point_finder/utils.js +0 -234
- package/ngcc/src/execution/analyze_entry_points.js +0 -197
- package/ngcc/src/execution/api.js +0 -13
- package/ngcc/src/execution/cluster/api.js +0 -20
- package/ngcc/src/execution/cluster/executor.js +0 -52
- package/ngcc/src/execution/cluster/master.js +0 -311
- package/ngcc/src/execution/cluster/package_json_updater.js +0 -79
- package/ngcc/src/execution/cluster/utils.js +0 -77
- package/ngcc/src/execution/cluster/worker.js +0 -123
- package/ngcc/src/execution/create_compile_function.js +0 -76
- package/ngcc/src/execution/single_process_executor.js +0 -91
- package/ngcc/src/execution/tasks/api.js +0 -35
- package/ngcc/src/execution/tasks/completion.js +0 -79
- package/ngcc/src/execution/tasks/queues/base_task_queue.js +0 -120
- package/ngcc/src/execution/tasks/queues/parallel_task_queue.js +0 -87
- package/ngcc/src/execution/tasks/queues/serial_task_queue.js +0 -49
- package/ngcc/src/execution/tasks/utils.js +0 -167
- package/ngcc/src/host/commonjs_host.js +0 -261
- package/ngcc/src/host/commonjs_umd_utils.js +0 -210
- package/ngcc/src/host/delegating_host.js +0 -156
- package/ngcc/src/host/esm2015_host.js +0 -2441
- package/ngcc/src/host/esm5_host.js +0 -745
- package/ngcc/src/host/ngcc_host.js +0 -29
- package/ngcc/src/host/umd_host.js +0 -539
- package/ngcc/src/host/utils.js +0 -26
- package/ngcc/src/locking/async_locker.js +0 -121
- package/ngcc/src/locking/lock_file.js +0 -18
- package/ngcc/src/locking/lock_file_with_child_process/index.js +0 -93
- package/ngcc/src/locking/lock_file_with_child_process/unlocker.js +0 -46
- package/ngcc/src/locking/lock_file_with_child_process/util.js +0 -43
- package/ngcc/src/locking/sync_locker.js +0 -67
- package/ngcc/src/main.js +0 -163
- package/ngcc/src/migrations/migration.js +0 -13
- package/ngcc/src/migrations/missing_injectable_migration.js +0 -227
- package/ngcc/src/migrations/undecorated_child_migration.js +0 -90
- package/ngcc/src/migrations/undecorated_parent_migration.js +0 -103
- package/ngcc/src/migrations/utils.js +0 -137
- package/ngcc/src/ngcc_options.js +0 -135
- package/ngcc/src/packages/build_marker.js +0 -124
- package/ngcc/src/packages/bundle_program.js +0 -80
- package/ngcc/src/packages/configuration.js +0 -334
- package/ngcc/src/packages/entry_point.js +0 -267
- package/ngcc/src/packages/entry_point_bundle.js +0 -96
- package/ngcc/src/packages/entry_point_manifest.js +0 -207
- package/ngcc/src/packages/ngcc_compiler_host.js +0 -101
- package/ngcc/src/packages/patch_ts_expando_initializer.js +0 -174
- package/ngcc/src/packages/source_file_cache.js +0 -207
- package/ngcc/src/packages/transformer.js +0 -157
- package/ngcc/src/path_mappings.js +0 -27
- package/ngcc/src/rendering/commonjs_rendering_formatter.js +0 -106
- package/ngcc/src/rendering/dts_renderer.js +0 -170
- package/ngcc/src/rendering/esm5_rendering_formatter.js +0 -70
- package/ngcc/src/rendering/esm_rendering_formatter.js +0 -291
- package/ngcc/src/rendering/ngcc_import_rewriter.js +0 -49
- package/ngcc/src/rendering/renderer.js +0 -204
- package/ngcc/src/rendering/rendering_formatter.js +0 -15
- package/ngcc/src/rendering/source_maps.js +0 -68
- package/ngcc/src/rendering/umd_rendering_formatter.js +0 -326
- package/ngcc/src/rendering/utils.js +0 -35
- package/ngcc/src/utils.js +0 -182
- package/ngcc/src/writing/cleaning/cleaning_strategies.js +0 -80
- package/ngcc/src/writing/cleaning/package_cleaner.js +0 -126
- package/ngcc/src/writing/cleaning/utils.js +0 -30
- package/ngcc/src/writing/file_writer.js +0 -13
- package/ngcc/src/writing/in_place_file_writer.js +0 -90
- package/ngcc/src/writing/new_entry_point_file_writer.js +0 -214
- package/ngcc/src/writing/package_json_updater.js +0 -182
- package/src/diagnostics/translate_diagnostics.js +0 -61
- package/src/diagnostics/typescript_version.js +0 -96
- package/src/extract_i18n.js +0 -62
- package/src/language_services.js +0 -34
- package/src/main.js +0 -210
- package/src/metadata/bundle_index_host.js +0 -133
- package/src/metadata/bundler.js +0 -624
- package/src/metadata/collector.js +0 -799
- package/src/metadata/evaluator.js +0 -677
- package/src/metadata/index.js +0 -24
- package/src/metadata/index_writer.js +0 -80
- package/src/metadata/schema.js +0 -136
- package/src/metadata/symbols.js +0 -149
- package/src/ngtsc/annotations/index.js +0 -35
- package/src/ngtsc/annotations/src/api.js +0 -20
- package/src/ngtsc/annotations/src/component.js +0 -1338
- package/src/ngtsc/annotations/src/diagnostics.js +0 -174
- package/src/ngtsc/annotations/src/directive.js +0 -724
- package/src/ngtsc/annotations/src/factory.js +0 -32
- package/src/ngtsc/annotations/src/injectable.js +0 -284
- package/src/ngtsc/annotations/src/metadata.js +0 -160
- package/src/ngtsc/annotations/src/ng_module.js +0 -671
- package/src/ngtsc/annotations/src/pipe.js +0 -171
- package/src/ngtsc/annotations/src/references_registry.js +0 -38
- package/src/ngtsc/annotations/src/util.js +0 -566
- package/src/ngtsc/core/api/index.js +0 -25
- package/src/ngtsc/core/api/src/adapter.js +0 -20
- package/src/ngtsc/core/api/src/interfaces.js +0 -20
- package/src/ngtsc/core/api/src/options.js +0 -20
- package/src/ngtsc/core/api/src/public_options.js +0 -20
- package/src/ngtsc/core/index.js +0 -25
- package/src/ngtsc/core/src/compiler.js +0 -1105
- package/src/ngtsc/core/src/host.js +0 -273
- package/src/ngtsc/cycles/index.js +0 -26
- package/src/ngtsc/cycles/src/analyzer.js +0 -163
- package/src/ngtsc/cycles/src/imports.js +0 -175
- package/src/ngtsc/diagnostics/index.js +0 -33
- package/src/ngtsc/diagnostics/src/error.js +0 -69
- package/src/ngtsc/diagnostics/src/error_code.js +0 -235
- package/src/ngtsc/diagnostics/src/util.js +0 -35
- package/src/ngtsc/entry_point/index.js +0 -29
- package/src/ngtsc/entry_point/src/generator.js +0 -45
- package/src/ngtsc/entry_point/src/logic.js +0 -61
- package/src/ngtsc/entry_point/src/private_export_checker.js +0 -137
- package/src/ngtsc/entry_point/src/reference_graph.js +0 -91
- package/src/ngtsc/file_system/index.js +0 -45
- package/src/ngtsc/file_system/src/compiler_host.js +0 -80
- package/src/ngtsc/file_system/src/helpers.js +0 -135
- package/src/ngtsc/file_system/src/invalid_file_system.js +0 -120
- package/src/ngtsc/file_system/src/logical.js +0 -100
- package/src/ngtsc/file_system/src/node_js_file_system.js +0 -179
- package/src/ngtsc/file_system/src/types.js +0 -20
- package/src/ngtsc/file_system/src/util.js +0 -38
- package/src/ngtsc/file_system/testing/index.d.ts +0 -13
- package/src/ngtsc/file_system/testing/index.js +0 -32
- package/src/ngtsc/file_system/testing/src/mock_file_system.d.ts +0 -72
- package/src/ngtsc/file_system/testing/src/mock_file_system.js +0 -333
- package/src/ngtsc/file_system/testing/src/mock_file_system_native.d.ts +0 -16
- package/src/ngtsc/file_system/testing/src/mock_file_system_native.js +0 -85
- package/src/ngtsc/file_system/testing/src/mock_file_system_posix.d.ts +0 -13
- package/src/ngtsc/file_system/testing/src/mock_file_system_posix.js +0 -68
- package/src/ngtsc/file_system/testing/src/mock_file_system_windows.d.ts +0 -13
- package/src/ngtsc/file_system/testing/src/mock_file_system_windows.js +0 -68
- package/src/ngtsc/file_system/testing/src/test_helper.d.ts +0 -17
- package/src/ngtsc/file_system/testing/src/test_helper.js +0 -143
- package/src/ngtsc/imports/index.js +0 -43
- package/src/ngtsc/imports/src/alias.js +0 -158
- package/src/ngtsc/imports/src/core.js +0 -98
- package/src/ngtsc/imports/src/default.js +0 -153
- package/src/ngtsc/imports/src/emitter.js +0 -317
- package/src/ngtsc/imports/src/find_export.js +0 -82
- package/src/ngtsc/imports/src/reexport.js +0 -20
- package/src/ngtsc/imports/src/references.js +0 -171
- package/src/ngtsc/imports/src/resolver.js +0 -39
- package/src/ngtsc/incremental/api.js +0 -20
- package/src/ngtsc/incremental/index.js +0 -29
- package/src/ngtsc/incremental/semantic_graph/index.js +0 -34
- package/src/ngtsc/incremental/semantic_graph/src/api.js +0 -51
- package/src/ngtsc/incremental/semantic_graph/src/graph.js +0 -302
- package/src/ngtsc/incremental/semantic_graph/src/type_parameters.js +0 -55
- package/src/ngtsc/incremental/semantic_graph/src/util.js +0 -111
- package/src/ngtsc/incremental/src/dependency_tracking.js +0 -165
- package/src/ngtsc/incremental/src/incremental.js +0 -393
- package/src/ngtsc/incremental/src/noop.js +0 -26
- package/src/ngtsc/incremental/src/state.js +0 -30
- package/src/ngtsc/incremental/src/strategy.js +0 -99
- package/src/ngtsc/indexer/index.js +0 -27
- package/src/ngtsc/indexer/src/api.js +0 -45
- package/src/ngtsc/indexer/src/context.js +0 -40
- package/src/ngtsc/indexer/src/template.js +0 -324
- package/src/ngtsc/indexer/src/transform.js +0 -66
- package/src/ngtsc/logging/index.js +0 -25
- package/src/ngtsc/logging/src/console_logger.js +0 -75
- package/src/ngtsc/logging/src/logger.js +0 -28
- package/src/ngtsc/logging/testing/index.js +0 -23
- package/src/ngtsc/logging/testing/src/mock_logger.d.ts +0 -20
- package/src/ngtsc/logging/testing/src/mock_logger.js +0 -64
- package/src/ngtsc/metadata/index.js +0 -39
- package/src/ngtsc/metadata/src/api.js +0 -26
- package/src/ngtsc/metadata/src/dts.js +0 -168
- package/src/ngtsc/metadata/src/inheritance.js +0 -122
- package/src/ngtsc/metadata/src/property_mapping.js +0 -244
- package/src/ngtsc/metadata/src/registry.js +0 -133
- package/src/ngtsc/metadata/src/resource_registry.js +0 -109
- package/src/ngtsc/metadata/src/util.js +0 -275
- package/src/ngtsc/partial_evaluator/index.js +0 -31
- package/src/ngtsc/partial_evaluator/src/builtin.js +0 -125
- package/src/ngtsc/partial_evaluator/src/diagnostics.js +0 -193
- package/src/ngtsc/partial_evaluator/src/dynamic.js +0 -109
- package/src/ngtsc/partial_evaluator/src/interface.js +0 -42
- package/src/ngtsc/partial_evaluator/src/interpreter.js +0 -780
- package/src/ngtsc/partial_evaluator/src/known_declaration.js +0 -57
- package/src/ngtsc/partial_evaluator/src/result.js +0 -72
- package/src/ngtsc/partial_evaluator/src/ts_helpers.js +0 -121
- package/src/ngtsc/perf/index.js +0 -28
- package/src/ngtsc/perf/src/api.js +0 -291
- package/src/ngtsc/perf/src/clock.js +0 -31
- package/src/ngtsc/perf/src/noop.js +0 -37
- package/src/ngtsc/perf/src/recorder.js +0 -143
- package/src/ngtsc/program.js +0 -360
- package/src/ngtsc/program_driver/index.js +0 -25
- package/src/ngtsc/program_driver/src/api.js +0 -36
- package/src/ngtsc/program_driver/src/ts_create_program_driver.js +0 -200
- package/src/ngtsc/reflection/index.js +0 -36
- package/src/ngtsc/reflection/src/host.js +0 -88
- package/src/ngtsc/reflection/src/type_to_value.js +0 -259
- package/src/ngtsc/reflection/src/typescript.js +0 -640
- package/src/ngtsc/reflection/src/util.js +0 -37
- package/src/ngtsc/resource/index.js +0 -23
- package/src/ngtsc/resource/src/loader.js +0 -285
- package/src/ngtsc/scope/index.js +0 -29
- package/src/ngtsc/scope/src/api.js +0 -20
- package/src/ngtsc/scope/src/component_scope.js +0 -69
- package/src/ngtsc/scope/src/dependency.js +0 -201
- package/src/ngtsc/scope/src/local.js +0 -665
- package/src/ngtsc/scope/src/typecheck.js +0 -120
- package/src/ngtsc/shims/api.js +0 -13
- package/src/ngtsc/shims/index.js +0 -39
- package/src/ngtsc/shims/src/adapter.js +0 -266
- package/src/ngtsc/shims/src/expando.js +0 -147
- package/src/ngtsc/shims/src/factory_generator.js +0 -292
- package/src/ngtsc/shims/src/reference_tagger.js +0 -94
- package/src/ngtsc/shims/src/summary_generator.js +0 -101
- package/src/ngtsc/shims/src/util.js +0 -41
- package/src/ngtsc/sourcemaps/index.js +0 -27
- package/src/ngtsc/sourcemaps/src/content_origin.js +0 -48
- package/src/ngtsc/sourcemaps/src/raw_source_map.js +0 -13
- package/src/ngtsc/sourcemaps/src/segment_marker.js +0 -55
- package/src/ngtsc/sourcemaps/src/source_file.js +0 -519
- package/src/ngtsc/sourcemaps/src/source_file_loader.js +0 -234
- package/src/ngtsc/switch/index.js +0 -23
- package/src/ngtsc/switch/src/switch.js +0 -141
- package/src/ngtsc/transform/index.js +0 -36
- package/src/ngtsc/transform/src/alias.js +0 -46
- package/src/ngtsc/transform/src/api.js +0 -76
- package/src/ngtsc/transform/src/compilation.js +0 -862
- package/src/ngtsc/transform/src/declaration.js +0 -234
- package/src/ngtsc/transform/src/trait.js +0 -111
- package/src/ngtsc/transform/src/transform.js +0 -333
- package/src/ngtsc/transform/src/utils.js +0 -73
- package/src/ngtsc/translator/index.js +0 -37
- package/src/ngtsc/translator/src/api/ast_factory.js +0 -20
- package/src/ngtsc/translator/src/api/import_generator.js +0 -20
- package/src/ngtsc/translator/src/context.js +0 -47
- package/src/ngtsc/translator/src/import_manager.js +0 -77
- package/src/ngtsc/translator/src/translator.js +0 -347
- package/src/ngtsc/translator/src/type_translator.js +0 -220
- package/src/ngtsc/translator/src/typescript_ast_factory.js +0 -251
- package/src/ngtsc/translator/src/typescript_translator.js +0 -34
- package/src/ngtsc/tsc_plugin.js +0 -129
- package/src/ngtsc/typecheck/api/api.js +0 -20
- package/src/ngtsc/typecheck/api/checker.js +0 -44
- package/src/ngtsc/typecheck/api/completion.js +0 -29
- package/src/ngtsc/typecheck/api/context.js +0 -20
- package/src/ngtsc/typecheck/api/index.js +0 -27
- package/src/ngtsc/typecheck/api/scope.js +0 -20
- package/src/ngtsc/typecheck/api/symbols.js +0 -35
- package/src/ngtsc/typecheck/diagnostics/index.js +0 -23
- package/src/ngtsc/typecheck/diagnostics/src/diagnostic.js +0 -141
- package/src/ngtsc/typecheck/diagnostics/src/id.js +0 -37
- package/src/ngtsc/typecheck/extended/api/api.js +0 -124
- package/src/ngtsc/typecheck/extended/api/extended_template_checker.js +0 -20
- package/src/ngtsc/typecheck/extended/api/index.js +0 -23
- package/src/ngtsc/typecheck/extended/checks/invalid_banana_in_box/index.js +0 -52
- package/src/ngtsc/typecheck/extended/checks/nullish_coalescing_not_nullable/index.js +0 -64
- package/src/ngtsc/typecheck/extended/index.js +0 -23
- package/src/ngtsc/typecheck/extended/src/extended_template_checker.js +0 -55
- package/src/ngtsc/typecheck/index.js +0 -29
- package/src/ngtsc/typecheck/src/checker.js +0 -767
- package/src/ngtsc/typecheck/src/comments.js +0 -181
- package/src/ngtsc/typecheck/src/completion.js +0 -230
- package/src/ngtsc/typecheck/src/context.js +0 -424
- package/src/ngtsc/typecheck/src/diagnostics.js +0 -114
- package/src/ngtsc/typecheck/src/dom.js +0 -87
- package/src/ngtsc/typecheck/src/environment.js +0 -160
- package/src/ngtsc/typecheck/src/expression.js +0 -417
- package/src/ngtsc/typecheck/src/line_mappings.js +0 -77
- package/src/ngtsc/typecheck/src/oob.js +0 -181
- package/src/ngtsc/typecheck/src/shim.js +0 -52
- package/src/ngtsc/typecheck/src/source.js +0 -91
- package/src/ngtsc/typecheck/src/tcb_util.js +0 -165
- package/src/ngtsc/typecheck/src/template_semantics.js +0 -52
- package/src/ngtsc/typecheck/src/template_symbol_builder.js +0 -551
- package/src/ngtsc/typecheck/src/ts_util.js +0 -202
- package/src/ngtsc/typecheck/src/type_check_block.js +0 -2212
- package/src/ngtsc/typecheck/src/type_check_file.js +0 -115
- package/src/ngtsc/typecheck/src/type_constructor.js +0 -255
- package/src/ngtsc/typecheck/src/type_emitter.js +0 -164
- package/src/ngtsc/typecheck/src/type_parameter_emitter.js +0 -115
- package/src/ngtsc/util/src/path.js +0 -33
- package/src/ngtsc/util/src/typescript.js +0 -176
- package/src/ngtsc/util/src/visitor.js +0 -119
- package/src/ngtsc/xi18n/index.js +0 -22
- package/src/ngtsc/xi18n/src/context.js +0 -20
- package/src/perform_compile.js +0 -322
- package/src/perform_watch.js +0 -263
- package/src/tooling.js +0 -47
- package/src/transformers/api.js +0 -42
- package/src/transformers/compiler_host.js +0 -623
- package/src/transformers/downlevel_decorators_transform.js +0 -611
- package/src/transformers/entry_points.js +0 -25
- package/src/transformers/i18n.js +0 -76
- package/src/transformers/inline_resources.js +0 -287
- package/src/transformers/lower_expressions.js +0 -365
- package/src/transformers/metadata_cache.js +0 -96
- package/src/transformers/metadata_reader.js +0 -120
- package/src/transformers/node_emitter.js +0 -637
- package/src/transformers/node_emitter_transform.js +0 -88
- package/src/transformers/patch_alias_reference_resolution.js +0 -129
- package/src/transformers/program.js +0 -998
- package/src/transformers/r3_metadata_transform.js +0 -73
- package/src/transformers/r3_transform.js +0 -44
- package/src/transformers/util.js +0 -122
- package/src/typescript_support.js +0 -74
- package/src/version.js +0 -28
package/ngcc/src/host/utils.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
(function (factory) {
|
|
2
|
-
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
-
var v = factory(require, exports);
|
|
4
|
-
if (v !== undefined) module.exports = v;
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define("@angular/compiler-cli/ngcc/src/host/utils", ["require", "exports", "typescript"], factory);
|
|
8
|
-
}
|
|
9
|
-
})(function (require, exports) {
|
|
10
|
-
"use strict";
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.stripParentheses = void 0;
|
|
13
|
-
/**
|
|
14
|
-
* @license
|
|
15
|
-
* Copyright Google LLC All Rights Reserved.
|
|
16
|
-
*
|
|
17
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
18
|
-
* found in the LICENSE file at https://angular.io/license
|
|
19
|
-
*/
|
|
20
|
-
var ts = require("typescript");
|
|
21
|
-
function stripParentheses(node) {
|
|
22
|
-
return ts.isParenthesizedExpression(node) ? node.expression : node;
|
|
23
|
-
}
|
|
24
|
-
exports.stripParentheses = stripParentheses;
|
|
25
|
-
});
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvbmdjYy9zcmMvaG9zdC91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFBQTs7Ozs7O09BTUc7SUFDSCwrQkFBaUM7SUFFakMsU0FBZ0IsZ0JBQWdCLENBQUMsSUFBYTtRQUM1QyxPQUFPLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3JFLENBQUM7SUFGRCw0Q0FFQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpcFBhcmVudGhlc2VzKG5vZGU6IHRzLk5vZGUpOiB0cy5Ob2RlIHtcbiAgcmV0dXJuIHRzLmlzUGFyZW50aGVzaXplZEV4cHJlc3Npb24obm9kZSkgPyBub2RlLmV4cHJlc3Npb24gOiBub2RlO1xufVxuIl19
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
(function (factory) {
|
|
2
|
-
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
-
var v = factory(require, exports);
|
|
4
|
-
if (v !== undefined) module.exports = v;
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define("@angular/compiler-cli/ngcc/src/locking/async_locker", ["require", "exports", "tslib", "@angular/compiler-cli/ngcc/src/constants"], factory);
|
|
8
|
-
}
|
|
9
|
-
})(function (require, exports) {
|
|
10
|
-
"use strict";
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.AsyncLocker = void 0;
|
|
13
|
-
var tslib_1 = require("tslib");
|
|
14
|
-
var constants_1 = require("@angular/compiler-cli/ngcc/src/constants");
|
|
15
|
-
var TimeoutError = /** @class */ (function (_super) {
|
|
16
|
-
(0, tslib_1.__extends)(TimeoutError, _super);
|
|
17
|
-
function TimeoutError() {
|
|
18
|
-
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
19
|
-
_this.code = constants_1.NGCC_TIMED_OUT_EXIT_CODE;
|
|
20
|
-
return _this;
|
|
21
|
-
}
|
|
22
|
-
return TimeoutError;
|
|
23
|
-
}(Error));
|
|
24
|
-
/**
|
|
25
|
-
* AsyncLocker is used to prevent more than one instance of ngcc executing at the same time,
|
|
26
|
-
* when being called in an asynchronous context.
|
|
27
|
-
*
|
|
28
|
-
* * When ngcc starts executing, it creates a file in the `compiler-cli/ngcc` folder.
|
|
29
|
-
* * If it finds one is already there then it pauses and waits for the file to be removed by the
|
|
30
|
-
* other process. If the file is not removed within a set timeout period given by
|
|
31
|
-
* `retryDelay*retryAttempts` an error is thrown with a suitable error message.
|
|
32
|
-
* * If the process locking the file changes, then we restart the timeout.
|
|
33
|
-
* * When ngcc completes executing, it removes the file so that future ngcc executions can start.
|
|
34
|
-
*/
|
|
35
|
-
var AsyncLocker = /** @class */ (function () {
|
|
36
|
-
function AsyncLocker(lockFile, logger, retryDelay, retryAttempts) {
|
|
37
|
-
this.lockFile = lockFile;
|
|
38
|
-
this.logger = logger;
|
|
39
|
-
this.retryDelay = retryDelay;
|
|
40
|
-
this.retryAttempts = retryAttempts;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Run a function guarded by the lock file.
|
|
44
|
-
*
|
|
45
|
-
* @param fn The function to run.
|
|
46
|
-
*/
|
|
47
|
-
AsyncLocker.prototype.lock = function (fn) {
|
|
48
|
-
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
49
|
-
return (0, tslib_1.__generator)(this, function (_a) {
|
|
50
|
-
switch (_a.label) {
|
|
51
|
-
case 0: return [4 /*yield*/, this.create()];
|
|
52
|
-
case 1:
|
|
53
|
-
_a.sent();
|
|
54
|
-
_a.label = 2;
|
|
55
|
-
case 2:
|
|
56
|
-
_a.trys.push([2, , 4, 5]);
|
|
57
|
-
return [4 /*yield*/, fn()];
|
|
58
|
-
case 3: return [2 /*return*/, _a.sent()];
|
|
59
|
-
case 4:
|
|
60
|
-
this.lockFile.remove();
|
|
61
|
-
return [7 /*endfinally*/];
|
|
62
|
-
case 5: return [2 /*return*/];
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
});
|
|
66
|
-
};
|
|
67
|
-
AsyncLocker.prototype.create = function () {
|
|
68
|
-
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
69
|
-
var pid, attempts, e_1, newPid;
|
|
70
|
-
var _this = this;
|
|
71
|
-
return (0, tslib_1.__generator)(this, function (_a) {
|
|
72
|
-
switch (_a.label) {
|
|
73
|
-
case 0:
|
|
74
|
-
pid = '';
|
|
75
|
-
attempts = 0;
|
|
76
|
-
_a.label = 1;
|
|
77
|
-
case 1:
|
|
78
|
-
if (!(attempts < this.retryAttempts)) return [3 /*break*/, 6];
|
|
79
|
-
_a.label = 2;
|
|
80
|
-
case 2:
|
|
81
|
-
_a.trys.push([2, 3, , 5]);
|
|
82
|
-
return [2 /*return*/, this.lockFile.write()];
|
|
83
|
-
case 3:
|
|
84
|
-
e_1 = _a.sent();
|
|
85
|
-
if (e_1.code !== 'EEXIST') {
|
|
86
|
-
throw e_1;
|
|
87
|
-
}
|
|
88
|
-
newPid = this.lockFile.read();
|
|
89
|
-
if (newPid !== pid) {
|
|
90
|
-
// The process locking the file has changed, so restart the timeout
|
|
91
|
-
attempts = 0;
|
|
92
|
-
pid = newPid;
|
|
93
|
-
}
|
|
94
|
-
if (attempts === 0) {
|
|
95
|
-
this.logger.info("Another process, with id " + pid + ", is currently running ngcc.\n" +
|
|
96
|
-
("Waiting up to " + this.retryDelay * this.retryAttempts / 1000 + "s for it to finish.\n") +
|
|
97
|
-
("(If you are sure no ngcc process is running then you should delete the lock-file at " + this.lockFile.path + ".)"));
|
|
98
|
-
}
|
|
99
|
-
// The file is still locked by another process so wait for a bit and retry
|
|
100
|
-
return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, _this.retryDelay); })];
|
|
101
|
-
case 4:
|
|
102
|
-
// The file is still locked by another process so wait for a bit and retry
|
|
103
|
-
_a.sent();
|
|
104
|
-
return [3 /*break*/, 5];
|
|
105
|
-
case 5:
|
|
106
|
-
attempts++;
|
|
107
|
-
return [3 /*break*/, 1];
|
|
108
|
-
case 6:
|
|
109
|
-
// If we fall out of the loop then we ran out of rety attempts
|
|
110
|
-
throw new TimeoutError("Timed out waiting " + this.retryAttempts * this.retryDelay /
|
|
111
|
-
1000 + "s for another ngcc process, with id " + pid + ", to complete.\n" +
|
|
112
|
-
("(If you are sure no ngcc process is running then you should delete the lock-file at " + this.lockFile.path + ".)"));
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
});
|
|
116
|
-
};
|
|
117
|
-
return AsyncLocker;
|
|
118
|
-
}());
|
|
119
|
-
exports.AsyncLocker = AsyncLocker;
|
|
120
|
-
});
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmNfbG9ja2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL25nY2Mvc3JjL2xvY2tpbmcvYXN5bmNfbG9ja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7SUFRQSxzRUFBc0Q7SUFJdEQ7UUFBMkIsNkNBQUs7UUFBaEM7WUFBQSxxRUFFQztZQURDLFVBQUksR0FBRyxvQ0FBd0IsQ0FBQzs7UUFDbEMsQ0FBQztRQUFELG1CQUFDO0lBQUQsQ0FBQyxBQUZELENBQTJCLEtBQUssR0FFL0I7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0g7UUFDRSxxQkFDWSxRQUFrQixFQUFZLE1BQWMsRUFBVSxVQUFrQixFQUN4RSxhQUFxQjtZQURyQixhQUFRLEdBQVIsUUFBUSxDQUFVO1lBQVksV0FBTSxHQUFOLE1BQU0sQ0FBUTtZQUFVLGVBQVUsR0FBVixVQUFVLENBQVE7WUFDeEUsa0JBQWEsR0FBYixhQUFhLENBQVE7UUFBRyxDQUFDO1FBRXJDOzs7O1dBSUc7UUFDRywwQkFBSSxHQUFWLFVBQWMsRUFBb0I7Ozs7Z0NBQ2hDLHFCQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBQTs7NEJBQW5CLFNBQW1CLENBQUM7Ozs7NEJBRVgscUJBQU0sRUFBRSxFQUFFLEVBQUE7Z0NBQWpCLHNCQUFPLFNBQVUsRUFBQzs7NEJBRWxCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7Ozs7OztTQUUxQjtRQUVlLDRCQUFNLEdBQXRCOzs7Ozs7OzRCQUNNLEdBQUcsR0FBVyxFQUFFLENBQUM7NEJBQ1osUUFBUSxHQUFHLENBQUM7OztpQ0FBRSxDQUFBLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFBOzs7OzRCQUVoRCxzQkFBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFDOzs7NEJBRTdCLElBQUksR0FBQyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7Z0NBQ3ZCLE1BQU0sR0FBQyxDQUFDOzZCQUNUOzRCQUNLLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDOzRCQUNwQyxJQUFJLE1BQU0sS0FBSyxHQUFHLEVBQUU7Z0NBQ2xCLG1FQUFtRTtnQ0FDbkUsUUFBUSxHQUFHLENBQUMsQ0FBQztnQ0FDYixHQUFHLEdBQUcsTUFBTSxDQUFDOzZCQUNkOzRCQUNELElBQUksUUFBUSxLQUFLLENBQUMsRUFBRTtnQ0FDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ1osOEJBQTRCLEdBQUcsbUNBQWdDO3FDQUMvRCxtQkFBaUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksMEJBQXVCLENBQUE7cUNBQ25GLHlGQUNJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxPQUFJLENBQUEsQ0FBQyxDQUFDOzZCQUNqQzs0QkFDRCwwRUFBMEU7NEJBQzFFLHFCQUFNLElBQUksT0FBTyxDQUFDLFVBQUEsT0FBTyxJQUFJLE9BQUEsVUFBVSxDQUFDLE9BQU8sRUFBRSxLQUFJLENBQUMsVUFBVSxDQUFDLEVBQXBDLENBQW9DLENBQUMsRUFBQTs7NEJBRGxFLDBFQUEwRTs0QkFDMUUsU0FBa0UsQ0FBQzs7OzRCQXJCakIsUUFBUSxFQUFFLENBQUE7Ozt3QkF3QmhFLDhEQUE4RDt3QkFDOUQsTUFBTSxJQUFJLFlBQVksQ0FDbEIsdUJBQ0ksSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVTs0QkFDcEMsSUFBSSw0Q0FBdUMsR0FBRyxxQkFBa0I7NkJBQ3BFLHlGQUNJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxPQUFJLENBQUEsQ0FBQyxDQUFDOzs7O1NBQ2pDO1FBQ0gsa0JBQUM7SUFBRCxDQUFDLEFBckRELElBcURDO0lBckRZLGtDQUFXIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQge0xvZ2dlcn0gZnJvbSAnLi4vLi4vLi4vc3JjL25ndHNjL2xvZ2dpbmcnO1xuaW1wb3J0IHtOR0NDX1RJTUVEX09VVF9FWElUX0NPREV9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5cbmltcG9ydCB7TG9ja0ZpbGV9IGZyb20gJy4vbG9ja19maWxlJztcblxuY2xhc3MgVGltZW91dEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb2RlID0gTkdDQ19USU1FRF9PVVRfRVhJVF9DT0RFO1xufVxuXG4vKipcbiAqIEFzeW5jTG9ja2VyIGlzIHVzZWQgdG8gcHJldmVudCBtb3JlIHRoYW4gb25lIGluc3RhbmNlIG9mIG5nY2MgZXhlY3V0aW5nIGF0IHRoZSBzYW1lIHRpbWUsXG4gKiB3aGVuIGJlaW5nIGNhbGxlZCBpbiBhbiBhc3luY2hyb25vdXMgY29udGV4dC5cbiAqXG4gKiAqIFdoZW4gbmdjYyBzdGFydHMgZXhlY3V0aW5nLCBpdCBjcmVhdGVzIGEgZmlsZSBpbiB0aGUgYGNvbXBpbGVyLWNsaS9uZ2NjYCBmb2xkZXIuXG4gKiAqIElmIGl0IGZpbmRzIG9uZSBpcyBhbHJlYWR5IHRoZXJlIHRoZW4gaXQgcGF1c2VzIGFuZCB3YWl0cyBmb3IgdGhlIGZpbGUgdG8gYmUgcmVtb3ZlZCBieSB0aGVcbiAqICAgb3RoZXIgcHJvY2Vzcy4gSWYgdGhlIGZpbGUgaXMgbm90IHJlbW92ZWQgd2l0aGluIGEgc2V0IHRpbWVvdXQgcGVyaW9kIGdpdmVuIGJ5XG4gKiAgIGByZXRyeURlbGF5KnJldHJ5QXR0ZW1wdHNgIGFuIGVycm9yIGlzIHRocm93biB3aXRoIGEgc3VpdGFibGUgZXJyb3IgbWVzc2FnZS5cbiAqICogSWYgdGhlIHByb2Nlc3MgbG9ja2luZyB0aGUgZmlsZSBjaGFuZ2VzLCB0aGVuIHdlIHJlc3RhcnQgdGhlIHRpbWVvdXQuXG4gKiAqIFdoZW4gbmdjYyBjb21wbGV0ZXMgZXhlY3V0aW5nLCBpdCByZW1vdmVzIHRoZSBmaWxlIHNvIHRoYXQgZnV0dXJlIG5nY2MgZXhlY3V0aW9ucyBjYW4gc3RhcnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBBc3luY0xvY2tlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBsb2NrRmlsZTogTG9ja0ZpbGUsIHByb3RlY3RlZCBsb2dnZXI6IExvZ2dlciwgcHJpdmF0ZSByZXRyeURlbGF5OiBudW1iZXIsXG4gICAgICBwcml2YXRlIHJldHJ5QXR0ZW1wdHM6IG51bWJlcikge31cblxuICAvKipcbiAgICogUnVuIGEgZnVuY3Rpb24gZ3VhcmRlZCBieSB0aGUgbG9jayBmaWxlLlxuICAgKlxuICAgKiBAcGFyYW0gZm4gVGhlIGZ1bmN0aW9uIHRvIHJ1bi5cbiAgICovXG4gIGFzeW5jIGxvY2s8VD4oZm46ICgpID0+IFByb21pc2U8VD4pOiBQcm9taXNlPFQ+IHtcbiAgICBhd2FpdCB0aGlzLmNyZWF0ZSgpO1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgZm4oKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5sb2NrRmlsZS5yZW1vdmUoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgY3JlYXRlKCkge1xuICAgIGxldCBwaWQ6IHN0cmluZyA9ICcnO1xuICAgIGZvciAobGV0IGF0dGVtcHRzID0gMDsgYXR0ZW1wdHMgPCB0aGlzLnJldHJ5QXR0ZW1wdHM7IGF0dGVtcHRzKyspIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvY2tGaWxlLndyaXRlKCk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGlmIChlLmNvZGUgIT09ICdFRVhJU1QnKSB7XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdQaWQgPSB0aGlzLmxvY2tGaWxlLnJlYWQoKTtcbiAgICAgICAgaWYgKG5ld1BpZCAhPT0gcGlkKSB7XG4gICAgICAgICAgLy8gVGhlIHByb2Nlc3MgbG9ja2luZyB0aGUgZmlsZSBoYXMgY2hhbmdlZCwgc28gcmVzdGFydCB0aGUgdGltZW91dFxuICAgICAgICAgIGF0dGVtcHRzID0gMDtcbiAgICAgICAgICBwaWQgPSBuZXdQaWQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGF0dGVtcHRzID09PSAwKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuaW5mbyhcbiAgICAgICAgICAgICAgYEFub3RoZXIgcHJvY2Vzcywgd2l0aCBpZCAke3BpZH0sIGlzIGN1cnJlbnRseSBydW5uaW5nIG5nY2MuXFxuYCArXG4gICAgICAgICAgICAgIGBXYWl0aW5nIHVwIHRvICR7dGhpcy5yZXRyeURlbGF5ICogdGhpcy5yZXRyeUF0dGVtcHRzIC8gMTAwMH1zIGZvciBpdCB0byBmaW5pc2guXFxuYCArXG4gICAgICAgICAgICAgIGAoSWYgeW91IGFyZSBzdXJlIG5vIG5nY2MgcHJvY2VzcyBpcyBydW5uaW5nIHRoZW4geW91IHNob3VsZCBkZWxldGUgdGhlIGxvY2stZmlsZSBhdCAke1xuICAgICAgICAgICAgICAgICAgdGhpcy5sb2NrRmlsZS5wYXRofS4pYCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gVGhlIGZpbGUgaXMgc3RpbGwgbG9ja2VkIGJ5IGFub3RoZXIgcHJvY2VzcyBzbyB3YWl0IGZvciBhIGJpdCBhbmQgcmV0cnlcbiAgICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIHRoaXMucmV0cnlEZWxheSkpO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBJZiB3ZSBmYWxsIG91dCBvZiB0aGUgbG9vcCB0aGVuIHdlIHJhbiBvdXQgb2YgcmV0eSBhdHRlbXB0c1xuICAgIHRocm93IG5ldyBUaW1lb3V0RXJyb3IoXG4gICAgICAgIGBUaW1lZCBvdXQgd2FpdGluZyAke1xuICAgICAgICAgICAgdGhpcy5yZXRyeUF0dGVtcHRzICogdGhpcy5yZXRyeURlbGF5IC9cbiAgICAgICAgICAgIDEwMDB9cyBmb3IgYW5vdGhlciBuZ2NjIHByb2Nlc3MsIHdpdGggaWQgJHtwaWR9LCB0byBjb21wbGV0ZS5cXG5gICtcbiAgICAgICAgYChJZiB5b3UgYXJlIHN1cmUgbm8gbmdjYyBwcm9jZXNzIGlzIHJ1bm5pbmcgdGhlbiB5b3Ugc2hvdWxkIGRlbGV0ZSB0aGUgbG9jay1maWxlIGF0ICR7XG4gICAgICAgICAgICB0aGlzLmxvY2tGaWxlLnBhdGh9LilgKTtcbiAgfVxufVxuIl19
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
(function (factory) {
|
|
2
|
-
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
-
var v = factory(require, exports);
|
|
4
|
-
if (v !== undefined) module.exports = v;
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define("@angular/compiler-cli/ngcc/src/locking/lock_file", ["require", "exports"], factory);
|
|
8
|
-
}
|
|
9
|
-
})(function (require, exports) {
|
|
10
|
-
"use strict";
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.getLockFilePath = void 0;
|
|
13
|
-
function getLockFilePath(fs) {
|
|
14
|
-
return fs.resolve(require.resolve('@angular/compiler-cli/ngcc'), '../__ngcc_lock_file__');
|
|
15
|
-
}
|
|
16
|
-
exports.getLockFilePath = getLockFilePath;
|
|
17
|
-
});
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9ja19maWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL25nY2Mvc3JjL2xvY2tpbmcvbG9ja19maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQVNBLFNBQWdCLGVBQWUsQ0FBQyxFQUFvQjtRQUNsRCxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQyxFQUFFLHVCQUF1QixDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUZELDBDQUVDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQge0Fic29sdXRlRnNQYXRoLCBQYXRoTWFuaXB1bGF0aW9ufSBmcm9tICcuLi8uLi8uLi9zcmMvbmd0c2MvZmlsZV9zeXN0ZW0nO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TG9ja0ZpbGVQYXRoKGZzOiBQYXRoTWFuaXB1bGF0aW9uKSB7XG4gIHJldHVybiBmcy5yZXNvbHZlKHJlcXVpcmUucmVzb2x2ZSgnQGFuZ3VsYXIvY29tcGlsZXItY2xpL25nY2MnKSwgJy4uL19fbmdjY19sb2NrX2ZpbGVfXycpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvY2tGaWxlIHtcbiAgcGF0aDogQWJzb2x1dGVGc1BhdGg7XG4gIC8qKlxuICAgKiBXcml0ZSBhIGxvY2sgZmlsZSB0byBkaXNrIGNvbnRhaW5pbmcgdGhlIFBJRCBvZiB0aGUgY3VycmVudCBwcm9jZXNzLlxuICAgKi9cbiAgd3JpdGUoKTogdm9pZDtcblxuICAvKipcbiAgICogUmVhZCB0aGUgUElELCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrLCBmcm9tIHRoZSBsb2NrLWZpbGUuXG4gICAqXG4gICAqIEl0IGlzIGZlYXNpYmxlIHRoYXQgdGhlIGxvY2stZmlsZSB3YXMgcmVtb3ZlZCBiZXR3ZWVuIHRoZSBjYWxsIHRvIGB3cml0ZSgpYCB0aGF0IGVmZmVjdGl2ZWx5XG4gICAqIGNoZWNrcyBmb3IgZXhpc3RlbmNlIGFuZCB0aGlzIGF0dGVtcHQgdG8gcmVhZCB0aGUgZmlsZS4gSWYgc28gdGhlbiB0aGlzIG1ldGhvZCBzaG91bGQganVzdFxuICAgKiBncmFjZWZ1bGx5IHJldHVybiBgXCJ7dW5rbm93bn1cImAuXG4gICAqL1xuICByZWFkKCk6IHN0cmluZztcblxuICAvKipcbiAgICogUmVtb3ZlIHRoZSBsb2NrIGZpbGUgZnJvbSBkaXNrLCB3aGV0aGVyIG9yIG5vdCBpdCBleGlzdHMuXG4gICAqL1xuICByZW1vdmUoKTogdm9pZDtcbn1cbiJdfQ==
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
(function (factory) {
|
|
2
|
-
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
-
var v = factory(require, exports);
|
|
4
|
-
if (v !== undefined) module.exports = v;
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define("@angular/compiler-cli/ngcc/src/locking/lock_file_with_child_process/index", ["require", "exports", "child_process", "@angular/compiler-cli/src/ngtsc/logging", "@angular/compiler-cli/ngcc/src/locking/lock_file", "@angular/compiler-cli/ngcc/src/locking/lock_file_with_child_process/util"], factory);
|
|
8
|
-
}
|
|
9
|
-
})(function (require, exports) {
|
|
10
|
-
"use strict";
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.LockFileWithChildProcess = void 0;
|
|
13
|
-
/**
|
|
14
|
-
* @license
|
|
15
|
-
* Copyright Google LLC All Rights Reserved.
|
|
16
|
-
*
|
|
17
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
18
|
-
* found in the LICENSE file at https://angular.io/license
|
|
19
|
-
*/
|
|
20
|
-
var child_process_1 = require("child_process");
|
|
21
|
-
var logging_1 = require("@angular/compiler-cli/src/ngtsc/logging");
|
|
22
|
-
var lock_file_1 = require("@angular/compiler-cli/ngcc/src/locking/lock_file");
|
|
23
|
-
var util_1 = require("@angular/compiler-cli/ngcc/src/locking/lock_file_with_child_process/util");
|
|
24
|
-
/// <reference types="node" />
|
|
25
|
-
/**
|
|
26
|
-
* This `LockFile` implementation uses a child-process to remove the lock file when the main process
|
|
27
|
-
* exits (for whatever reason).
|
|
28
|
-
*
|
|
29
|
-
* There are a few milliseconds between the child-process being forked and it registering its
|
|
30
|
-
* `disconnect` event, which is responsible for tidying up the lock-file in the event that the main
|
|
31
|
-
* process exits unexpectedly.
|
|
32
|
-
*
|
|
33
|
-
* We eagerly create the unlocker child-process so that it maximizes the time before the lock-file
|
|
34
|
-
* is actually written, which makes it very unlikely that the unlocker would not be ready in the
|
|
35
|
-
* case that the developer hits Ctrl-C or closes the terminal within a fraction of a second of the
|
|
36
|
-
* lock-file being created.
|
|
37
|
-
*
|
|
38
|
-
* The worst case scenario is that ngcc is killed too quickly and leaves behind an orphaned
|
|
39
|
-
* lock-file. In which case the next ngcc run will display a helpful error message about deleting
|
|
40
|
-
* the lock-file.
|
|
41
|
-
*/
|
|
42
|
-
var LockFileWithChildProcess = /** @class */ (function () {
|
|
43
|
-
function LockFileWithChildProcess(fs, logger) {
|
|
44
|
-
this.fs = fs;
|
|
45
|
-
this.logger = logger;
|
|
46
|
-
this.path = (0, lock_file_1.getLockFilePath)(fs);
|
|
47
|
-
this.unlocker = this.createUnlocker(this.path);
|
|
48
|
-
}
|
|
49
|
-
LockFileWithChildProcess.prototype.write = function () {
|
|
50
|
-
if (this.unlocker === null) {
|
|
51
|
-
// In case we already disconnected the previous unlocker child-process, perhaps by calling
|
|
52
|
-
// `remove()`. Normally the LockFile should only be used once per instance.
|
|
53
|
-
this.unlocker = this.createUnlocker(this.path);
|
|
54
|
-
}
|
|
55
|
-
this.logger.debug("Attemping to write lock-file at " + this.path + " with PID " + process.pid);
|
|
56
|
-
// To avoid race conditions, check for existence of the lock-file by trying to create it.
|
|
57
|
-
// This will throw an error if the file already exists.
|
|
58
|
-
this.fs.writeFile(this.path, process.pid.toString(), /* exclusive */ true);
|
|
59
|
-
this.logger.debug("Written lock-file at " + this.path + " with PID " + process.pid);
|
|
60
|
-
};
|
|
61
|
-
LockFileWithChildProcess.prototype.read = function () {
|
|
62
|
-
try {
|
|
63
|
-
return this.fs.readFile(this.path);
|
|
64
|
-
}
|
|
65
|
-
catch (_a) {
|
|
66
|
-
return '{unknown}';
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
LockFileWithChildProcess.prototype.remove = function () {
|
|
70
|
-
(0, util_1.removeLockFile)(this.fs, this.logger, this.path, process.pid.toString());
|
|
71
|
-
if (this.unlocker !== null) {
|
|
72
|
-
// If there is an unlocker child-process then disconnect from it so that it can exit itself.
|
|
73
|
-
this.unlocker.disconnect();
|
|
74
|
-
this.unlocker = null;
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
LockFileWithChildProcess.prototype.createUnlocker = function (path) {
|
|
78
|
-
var _a, _b;
|
|
79
|
-
this.logger.debug('Forking unlocker child-process');
|
|
80
|
-
var logLevel = this.logger.level !== undefined ? this.logger.level.toString() : logging_1.LogLevel.info.toString();
|
|
81
|
-
var isWindows = process.platform === 'win32';
|
|
82
|
-
var unlocker = (0, child_process_1.fork)(__dirname + '/unlocker.js', [path, logLevel], { detached: true, stdio: isWindows ? 'pipe' : 'inherit' });
|
|
83
|
-
if (isWindows) {
|
|
84
|
-
(_a = unlocker.stdout) === null || _a === void 0 ? void 0 : _a.on('data', process.stdout.write.bind(process.stdout));
|
|
85
|
-
(_b = unlocker.stderr) === null || _b === void 0 ? void 0 : _b.on('data', process.stderr.write.bind(process.stderr));
|
|
86
|
-
}
|
|
87
|
-
return unlocker;
|
|
88
|
-
};
|
|
89
|
-
return LockFileWithChildProcess;
|
|
90
|
-
}());
|
|
91
|
-
exports.LockFileWithChildProcess = LockFileWithChildProcess;
|
|
92
|
-
});
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvbmdjYy9zcmMvbG9ja2luZy9sb2NrX2ZpbGVfd2l0aF9jaGlsZF9wcm9jZXNzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUFBOzs7Ozs7T0FNRztJQUNILCtDQUFpRDtJQUdqRCxtRUFBK0Q7SUFDL0QsOEVBQXVEO0lBRXZELGlHQUFzQztJQUV0Qyw4QkFBOEI7SUFFOUI7Ozs7Ozs7Ozs7Ozs7Ozs7T0FnQkc7SUFDSDtRQUlFLGtDQUFzQixFQUFjLEVBQVksTUFBYztZQUF4QyxPQUFFLEdBQUYsRUFBRSxDQUFZO1lBQVksV0FBTSxHQUFOLE1BQU0sQ0FBUTtZQUM1RCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUEsMkJBQWUsRUFBQyxFQUFFLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFHRCx3Q0FBSyxHQUFMO1lBQ0UsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksRUFBRTtnQkFDMUIsMEZBQTBGO2dCQUMxRiwyRUFBMkU7Z0JBQzNFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDaEQ7WUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxxQ0FBbUMsSUFBSSxDQUFDLElBQUksa0JBQWEsT0FBTyxDQUFDLEdBQUssQ0FBQyxDQUFDO1lBQzFGLHlGQUF5RjtZQUN6Rix1REFBdUQ7WUFDdkQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxFQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywwQkFBd0IsSUFBSSxDQUFDLElBQUksa0JBQWEsT0FBTyxDQUFDLEdBQUssQ0FBQyxDQUFDO1FBQ2pGLENBQUM7UUFFRCx1Q0FBSSxHQUFKO1lBQ0UsSUFBSTtnQkFDRixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNwQztZQUFDLFdBQU07Z0JBQ04sT0FBTyxXQUFXLENBQUM7YUFDcEI7UUFDSCxDQUFDO1FBRUQseUNBQU0sR0FBTjtZQUNFLElBQUEscUJBQWMsRUFBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDeEUsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksRUFBRTtnQkFDMUIsNEZBQTRGO2dCQUM1RixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQzthQUN0QjtRQUNILENBQUM7UUFFUyxpREFBYyxHQUF4QixVQUF5QixJQUFvQjs7WUFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztZQUNwRCxJQUFNLFFBQVEsR0FDVixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxrQkFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM5RixJQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsUUFBUSxLQUFLLE9BQU8sQ0FBQztZQUMvQyxJQUFNLFFBQVEsR0FBRyxJQUFBLG9CQUFJLEVBQ2pCLFNBQVMsR0FBRyxjQUFjLEVBQUUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQzVDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBQyxDQUFDLENBQUM7WUFDN0QsSUFBSSxTQUFTLEVBQUU7Z0JBQ2IsTUFBQSxRQUFRLENBQUMsTUFBTSwwQ0FBRSxFQUFFLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDdkUsTUFBQSxRQUFRLENBQUMsTUFBTSwwQ0FBRSxFQUFFLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQzthQUN4RTtZQUNELE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7UUFDSCwrQkFBQztJQUFELENBQUMsQUF0REQsSUFzREM7SUF0RFksNERBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQge0NoaWxkUHJvY2VzcywgZm9ya30gZnJvbSAnY2hpbGRfcHJvY2Vzcyc7XG5cbmltcG9ydCB7QWJzb2x1dGVGc1BhdGgsIEZpbGVTeXN0ZW19IGZyb20gJy4uLy4uLy4uLy4uL3NyYy9uZ3RzYy9maWxlX3N5c3RlbSc7XG5pbXBvcnQge0xvZ2dlciwgTG9nTGV2ZWx9IGZyb20gJy4uLy4uLy4uLy4uL3NyYy9uZ3RzYy9sb2dnaW5nJztcbmltcG9ydCB7Z2V0TG9ja0ZpbGVQYXRoLCBMb2NrRmlsZX0gZnJvbSAnLi4vbG9ja19maWxlJztcblxuaW1wb3J0IHtyZW1vdmVMb2NrRmlsZX0gZnJvbSAnLi91dGlsJztcblxuLy8vIDxyZWZlcmVuY2UgdHlwZXM9XCJub2RlXCIgLz5cblxuLyoqXG4gKiBUaGlzIGBMb2NrRmlsZWAgaW1wbGVtZW50YXRpb24gdXNlcyBhIGNoaWxkLXByb2Nlc3MgdG8gcmVtb3ZlIHRoZSBsb2NrIGZpbGUgd2hlbiB0aGUgbWFpbiBwcm9jZXNzXG4gKiBleGl0cyAoZm9yIHdoYXRldmVyIHJlYXNvbikuXG4gKlxuICogVGhlcmUgYXJlIGEgZmV3IG1pbGxpc2Vjb25kcyBiZXR3ZWVuIHRoZSBjaGlsZC1wcm9jZXNzIGJlaW5nIGZvcmtlZCBhbmQgaXQgcmVnaXN0ZXJpbmcgaXRzXG4gKiBgZGlzY29ubmVjdGAgZXZlbnQsIHdoaWNoIGlzIHJlc3BvbnNpYmxlIGZvciB0aWR5aW5nIHVwIHRoZSBsb2NrLWZpbGUgaW4gdGhlIGV2ZW50IHRoYXQgdGhlIG1haW5cbiAqIHByb2Nlc3MgZXhpdHMgdW5leHBlY3RlZGx5LlxuICpcbiAqIFdlIGVhZ2VybHkgY3JlYXRlIHRoZSB1bmxvY2tlciBjaGlsZC1wcm9jZXNzIHNvIHRoYXQgaXQgbWF4aW1pemVzIHRoZSB0aW1lIGJlZm9yZSB0aGUgbG9jay1maWxlXG4gKiBpcyBhY3R1YWxseSB3cml0dGVuLCB3aGljaCBtYWtlcyBpdCB2ZXJ5IHVubGlrZWx5IHRoYXQgdGhlIHVubG9ja2VyIHdvdWxkIG5vdCBiZSByZWFkeSBpbiB0aGVcbiAqIGNhc2UgdGhhdCB0aGUgZGV2ZWxvcGVyIGhpdHMgQ3RybC1DIG9yIGNsb3NlcyB0aGUgdGVybWluYWwgd2l0aGluIGEgZnJhY3Rpb24gb2YgYSBzZWNvbmQgb2YgdGhlXG4gKiBsb2NrLWZpbGUgYmVpbmcgY3JlYXRlZC5cbiAqXG4gKiBUaGUgd29yc3QgY2FzZSBzY2VuYXJpbyBpcyB0aGF0IG5nY2MgaXMga2lsbGVkIHRvbyBxdWlja2x5IGFuZCBsZWF2ZXMgYmVoaW5kIGFuIG9ycGhhbmVkXG4gKiBsb2NrLWZpbGUuIEluIHdoaWNoIGNhc2UgdGhlIG5leHQgbmdjYyBydW4gd2lsbCBkaXNwbGF5IGEgaGVscGZ1bCBlcnJvciBtZXNzYWdlIGFib3V0IGRlbGV0aW5nXG4gKiB0aGUgbG9jay1maWxlLlxuICovXG5leHBvcnQgY2xhc3MgTG9ja0ZpbGVXaXRoQ2hpbGRQcm9jZXNzIGltcGxlbWVudHMgTG9ja0ZpbGUge1xuICBwYXRoOiBBYnNvbHV0ZUZzUGF0aDtcbiAgcHJpdmF0ZSB1bmxvY2tlcjogQ2hpbGRQcm9jZXNzfG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGZzOiBGaWxlU3lzdGVtLCBwcm90ZWN0ZWQgbG9nZ2VyOiBMb2dnZXIpIHtcbiAgICB0aGlzLnBhdGggPSBnZXRMb2NrRmlsZVBhdGgoZnMpO1xuICAgIHRoaXMudW5sb2NrZXIgPSB0aGlzLmNyZWF0ZVVubG9ja2VyKHRoaXMucGF0aCk7XG4gIH1cblxuXG4gIHdyaXRlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnVubG9ja2VyID09PSBudWxsKSB7XG4gICAgICAvLyBJbiBjYXNlIHdlIGFscmVhZHkgZGlzY29ubmVjdGVkIHRoZSBwcmV2aW91cyB1bmxvY2tlciBjaGlsZC1wcm9jZXNzLCBwZXJoYXBzIGJ5IGNhbGxpbmdcbiAgICAgIC8vIGByZW1vdmUoKWAuIE5vcm1hbGx5IHRoZSBMb2NrRmlsZSBzaG91bGQgb25seSBiZSB1c2VkIG9uY2UgcGVyIGluc3RhbmNlLlxuICAgICAgdGhpcy51bmxvY2tlciA9IHRoaXMuY3JlYXRlVW5sb2NrZXIodGhpcy5wYXRoKTtcbiAgICB9XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoYEF0dGVtcGluZyB0byB3cml0ZSBsb2NrLWZpbGUgYXQgJHt0aGlzLnBhdGh9IHdpdGggUElEICR7cHJvY2Vzcy5waWR9YCk7XG4gICAgLy8gVG8gYXZvaWQgcmFjZSBjb25kaXRpb25zLCBjaGVjayBmb3IgZXhpc3RlbmNlIG9mIHRoZSBsb2NrLWZpbGUgYnkgdHJ5aW5nIHRvIGNyZWF0ZSBpdC5cbiAgICAvLyBUaGlzIHdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlIGZpbGUgYWxyZWFkeSBleGlzdHMuXG4gICAgdGhpcy5mcy53cml0ZUZpbGUodGhpcy5wYXRoLCBwcm9jZXNzLnBpZC50b1N0cmluZygpLCAvKiBleGNsdXNpdmUgKi8gdHJ1ZSk7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoYFdyaXR0ZW4gbG9jay1maWxlIGF0ICR7dGhpcy5wYXRofSB3aXRoIFBJRCAke3Byb2Nlc3MucGlkfWApO1xuICB9XG5cbiAgcmVhZCgpOiBzdHJpbmcge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gdGhpcy5mcy5yZWFkRmlsZSh0aGlzLnBhdGgpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuICd7dW5rbm93bn0nO1xuICAgIH1cbiAgfVxuXG4gIHJlbW92ZSgpIHtcbiAgICByZW1vdmVMb2NrRmlsZSh0aGlzLmZzLCB0aGlzLmxvZ2dlciwgdGhpcy5wYXRoLCBwcm9jZXNzLnBpZC50b1N0cmluZygpKTtcbiAgICBpZiAodGhpcy51bmxvY2tlciAhPT0gbnVsbCkge1xuICAgICAgLy8gSWYgdGhlcmUgaXMgYW4gdW5sb2NrZXIgY2hpbGQtcHJvY2VzcyB0aGVuIGRpc2Nvbm5lY3QgZnJvbSBpdCBzbyB0aGF0IGl0IGNhbiBleGl0IGl0c2VsZi5cbiAgICAgIHRoaXMudW5sb2NrZXIuZGlzY29ubmVjdCgpO1xuICAgICAgdGhpcy51bmxvY2tlciA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZVVubG9ja2VyKHBhdGg6IEFic29sdXRlRnNQYXRoKTogQ2hpbGRQcm9jZXNzIHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnRm9ya2luZyB1bmxvY2tlciBjaGlsZC1wcm9jZXNzJyk7XG4gICAgY29uc3QgbG9nTGV2ZWwgPVxuICAgICAgICB0aGlzLmxvZ2dlci5sZXZlbCAhPT0gdW5kZWZpbmVkID8gdGhpcy5sb2dnZXIubGV2ZWwudG9TdHJpbmcoKSA6IExvZ0xldmVsLmluZm8udG9TdHJpbmcoKTtcbiAgICBjb25zdCBpc1dpbmRvd3MgPSBwcm9jZXNzLnBsYXRmb3JtID09PSAnd2luMzInO1xuICAgIGNvbnN0IHVubG9ja2VyID0gZm9yayhcbiAgICAgICAgX19kaXJuYW1lICsgJy91bmxvY2tlci5qcycsIFtwYXRoLCBsb2dMZXZlbF0sXG4gICAgICAgIHtkZXRhY2hlZDogdHJ1ZSwgc3RkaW86IGlzV2luZG93cyA/ICdwaXBlJyA6ICdpbmhlcml0J30pO1xuICAgIGlmIChpc1dpbmRvd3MpIHtcbiAgICAgIHVubG9ja2VyLnN0ZG91dD8ub24oJ2RhdGEnLCBwcm9jZXNzLnN0ZG91dC53cml0ZS5iaW5kKHByb2Nlc3Muc3Rkb3V0KSk7XG4gICAgICB1bmxvY2tlci5zdGRlcnI/Lm9uKCdkYXRhJywgcHJvY2Vzcy5zdGRlcnIud3JpdGUuYmluZChwcm9jZXNzLnN0ZGVycikpO1xuICAgIH1cbiAgICByZXR1cm4gdW5sb2NrZXI7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
(function (factory) {
|
|
2
|
-
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
-
var v = factory(require, exports);
|
|
4
|
-
if (v !== undefined) module.exports = v;
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define("@angular/compiler-cli/ngcc/src/locking/lock_file_with_child_process/unlocker", ["require", "exports", "@angular/compiler-cli/src/ngtsc/file_system", "@angular/compiler-cli/src/ngtsc/logging", "@angular/compiler-cli/ngcc/src/locking/lock_file_with_child_process/util"], factory);
|
|
8
|
-
}
|
|
9
|
-
})(function (require, exports) {
|
|
10
|
-
"use strict";
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
/**
|
|
13
|
-
* @license
|
|
14
|
-
* Copyright Google LLC All Rights Reserved.
|
|
15
|
-
*
|
|
16
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
17
|
-
* found in the LICENSE file at https://angular.io/license
|
|
18
|
-
*/
|
|
19
|
-
var file_system_1 = require("@angular/compiler-cli/src/ngtsc/file_system");
|
|
20
|
-
var logging_1 = require("@angular/compiler-cli/src/ngtsc/logging");
|
|
21
|
-
var util_1 = require("@angular/compiler-cli/ngcc/src/locking/lock_file_with_child_process/util");
|
|
22
|
-
/// <reference types="node" />
|
|
23
|
-
// This file is an entry-point for the child-process that is started by `LockFileWithChildProcess`
|
|
24
|
-
// to ensure that the lock-file is removed when the primary process exits unexpectedly.
|
|
25
|
-
// We have no choice but to use the node.js file-system here since we are in a separate process
|
|
26
|
-
// from the main ngcc run, which may be running a mock file-system from within a test.
|
|
27
|
-
var fs = new file_system_1.NodeJSFileSystem();
|
|
28
|
-
// We create a logger that has the same logging level as the parent process, since it should have
|
|
29
|
-
// been passed through as one of the args
|
|
30
|
-
var logLevel = parseInt(process.argv.pop(), 10);
|
|
31
|
-
var logger = new logging_1.ConsoleLogger(logLevel);
|
|
32
|
-
// We must store the parent PID now as it changes if the parent process is killed early
|
|
33
|
-
var ppid = process.ppid.toString();
|
|
34
|
-
// The path to the lock-file to remove should have been passed as one of the args
|
|
35
|
-
var lockFilePath = fs.resolve(process.argv.pop());
|
|
36
|
-
logger.debug("Starting unlocker at process " + process.pid + " on behalf of process " + ppid);
|
|
37
|
-
logger.debug("The lock-file path is " + lockFilePath);
|
|
38
|
-
/**
|
|
39
|
-
* When the parent process exits (for whatever reason) remove the loc-file if it exists and as long
|
|
40
|
-
* as it was one that was created by the parent process.
|
|
41
|
-
*/
|
|
42
|
-
process.on('disconnect', function () {
|
|
43
|
-
(0, util_1.removeLockFile)(fs, logger, lockFilePath, ppid);
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5sb2NrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvbmdjYy9zcmMvbG9ja2luZy9sb2NrX2ZpbGVfd2l0aF9jaGlsZF9wcm9jZXNzL3VubG9ja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBQUE7Ozs7OztPQU1HO0lBQ0gsMkVBQW1FO0lBQ25FLG1FQUE0RDtJQUM1RCxpR0FBc0M7SUFFdEMsOEJBQThCO0lBRTlCLGtHQUFrRztJQUNsRyx1RkFBdUY7SUFFdkYsK0ZBQStGO0lBQy9GLHNGQUFzRjtJQUN0RixJQUFNLEVBQUUsR0FBRyxJQUFJLDhCQUFnQixFQUFFLENBQUM7SUFFbEMsaUdBQWlHO0lBQ2pHLHlDQUF5QztJQUN6QyxJQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNuRCxJQUFNLE1BQU0sR0FBRyxJQUFJLHVCQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFM0MsdUZBQXVGO0lBQ3ZGLElBQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFFckMsaUZBQWlGO0lBQ2pGLElBQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUcsQ0FBQyxDQUFDO0lBRXJELE1BQU0sQ0FBQyxLQUFLLENBQUMsa0NBQWdDLE9BQU8sQ0FBQyxHQUFHLDhCQUF5QixJQUFNLENBQUMsQ0FBQztJQUN6RixNQUFNLENBQUMsS0FBSyxDQUFDLDJCQUF5QixZQUFjLENBQUMsQ0FBQztJQUV0RDs7O09BR0c7SUFDSCxPQUFPLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRTtRQUN2QixJQUFBLHFCQUFjLEVBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakQsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7Tm9kZUpTRmlsZVN5c3RlbX0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjL25ndHNjL2ZpbGVfc3lzdGVtJztcbmltcG9ydCB7Q29uc29sZUxvZ2dlcn0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjL25ndHNjL2xvZ2dpbmcnO1xuaW1wb3J0IHtyZW1vdmVMb2NrRmlsZX0gZnJvbSAnLi91dGlsJztcblxuLy8vIDxyZWZlcmVuY2UgdHlwZXM9XCJub2RlXCIgLz5cblxuLy8gVGhpcyBmaWxlIGlzIGFuIGVudHJ5LXBvaW50IGZvciB0aGUgY2hpbGQtcHJvY2VzcyB0aGF0IGlzIHN0YXJ0ZWQgYnkgYExvY2tGaWxlV2l0aENoaWxkUHJvY2Vzc2Bcbi8vIHRvIGVuc3VyZSB0aGF0IHRoZSBsb2NrLWZpbGUgaXMgcmVtb3ZlZCB3aGVuIHRoZSBwcmltYXJ5IHByb2Nlc3MgZXhpdHMgdW5leHBlY3RlZGx5LlxuXG4vLyBXZSBoYXZlIG5vIGNob2ljZSBidXQgdG8gdXNlIHRoZSBub2RlLmpzIGZpbGUtc3lzdGVtIGhlcmUgc2luY2Ugd2UgYXJlIGluIGEgc2VwYXJhdGUgcHJvY2Vzc1xuLy8gZnJvbSB0aGUgbWFpbiBuZ2NjIHJ1biwgd2hpY2ggbWF5IGJlIHJ1bm5pbmcgYSBtb2NrIGZpbGUtc3lzdGVtIGZyb20gd2l0aGluIGEgdGVzdC5cbmNvbnN0IGZzID0gbmV3IE5vZGVKU0ZpbGVTeXN0ZW0oKTtcblxuLy8gV2UgY3JlYXRlIGEgbG9nZ2VyIHRoYXQgaGFzIHRoZSBzYW1lIGxvZ2dpbmcgbGV2ZWwgYXMgdGhlIHBhcmVudCBwcm9jZXNzLCBzaW5jZSBpdCBzaG91bGQgaGF2ZVxuLy8gYmVlbiBwYXNzZWQgdGhyb3VnaCBhcyBvbmUgb2YgdGhlIGFyZ3NcbmNvbnN0IGxvZ0xldmVsID0gcGFyc2VJbnQocHJvY2Vzcy5hcmd2LnBvcCgpISwgMTApO1xuY29uc3QgbG9nZ2VyID0gbmV3IENvbnNvbGVMb2dnZXIobG9nTGV2ZWwpO1xuXG4vLyBXZSBtdXN0IHN0b3JlIHRoZSBwYXJlbnQgUElEIG5vdyBhcyBpdCBjaGFuZ2VzIGlmIHRoZSBwYXJlbnQgcHJvY2VzcyBpcyBraWxsZWQgZWFybHlcbmNvbnN0IHBwaWQgPSBwcm9jZXNzLnBwaWQudG9TdHJpbmcoKTtcblxuLy8gVGhlIHBhdGggdG8gdGhlIGxvY2stZmlsZSB0byByZW1vdmUgc2hvdWxkIGhhdmUgYmVlbiBwYXNzZWQgYXMgb25lIG9mIHRoZSBhcmdzXG5jb25zdCBsb2NrRmlsZVBhdGggPSBmcy5yZXNvbHZlKHByb2Nlc3MuYXJndi5wb3AoKSEpO1xuXG5sb2dnZXIuZGVidWcoYFN0YXJ0aW5nIHVubG9ja2VyIGF0IHByb2Nlc3MgJHtwcm9jZXNzLnBpZH0gb24gYmVoYWxmIG9mIHByb2Nlc3MgJHtwcGlkfWApO1xubG9nZ2VyLmRlYnVnKGBUaGUgbG9jay1maWxlIHBhdGggaXMgJHtsb2NrRmlsZVBhdGh9YCk7XG5cbi8qKlxuICogV2hlbiB0aGUgcGFyZW50IHByb2Nlc3MgZXhpdHMgKGZvciB3aGF0ZXZlciByZWFzb24pIHJlbW92ZSB0aGUgbG9jLWZpbGUgaWYgaXQgZXhpc3RzIGFuZCBhcyBsb25nXG4gKiBhcyBpdCB3YXMgb25lIHRoYXQgd2FzIGNyZWF0ZWQgYnkgdGhlIHBhcmVudCBwcm9jZXNzLlxuICovXG5wcm9jZXNzLm9uKCdkaXNjb25uZWN0JywgKCkgPT4ge1xuICByZW1vdmVMb2NrRmlsZShmcywgbG9nZ2VyLCBsb2NrRmlsZVBhdGgsIHBwaWQpO1xufSk7XG4iXX0=
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
(function (factory) {
|
|
2
|
-
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
-
var v = factory(require, exports);
|
|
4
|
-
if (v !== undefined) module.exports = v;
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define("@angular/compiler-cli/ngcc/src/locking/lock_file_with_child_process/util", ["require", "exports"], factory);
|
|
8
|
-
}
|
|
9
|
-
})(function (require, exports) {
|
|
10
|
-
"use strict";
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.removeLockFile = void 0;
|
|
13
|
-
/**
|
|
14
|
-
* Remove the lock-file at the provided `lockFilePath` from the given file-system.
|
|
15
|
-
*
|
|
16
|
-
* It only removes the file if the pid stored in the file matches the provided `pid`.
|
|
17
|
-
* The provided `pid` is of the process that is exiting and so no longer needs to hold the lock.
|
|
18
|
-
*/
|
|
19
|
-
function removeLockFile(fs, logger, lockFilePath, pid) {
|
|
20
|
-
try {
|
|
21
|
-
logger.debug("Attempting to remove lock-file at " + lockFilePath + ".");
|
|
22
|
-
var lockFilePid = fs.readFile(lockFilePath);
|
|
23
|
-
if (lockFilePid === pid) {
|
|
24
|
-
logger.debug("PIDs match (" + pid + "), so removing " + lockFilePath + ".");
|
|
25
|
-
fs.removeFile(lockFilePath);
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
logger.debug("PIDs do not match (" + pid + " and " + lockFilePid + "), so not removing " + lockFilePath + ".");
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
catch (e) {
|
|
32
|
-
if (e.code === 'ENOENT') {
|
|
33
|
-
logger.debug("The lock-file at " + lockFilePath + " was already removed.");
|
|
34
|
-
// File already removed so quietly exit
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
throw e;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
exports.removeLockFile = removeLockFile;
|
|
42
|
-
});
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyLWNsaS9uZ2NjL3NyYy9sb2NraW5nL2xvY2tfZmlsZV93aXRoX2NoaWxkX3Byb2Nlc3MvdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFVQTs7Ozs7T0FLRztJQUNILFNBQWdCLGNBQWMsQ0FDMUIsRUFBYyxFQUFFLE1BQWMsRUFBRSxZQUE0QixFQUFFLEdBQVc7UUFDM0UsSUFBSTtZQUNGLE1BQU0sQ0FBQyxLQUFLLENBQUMsdUNBQXFDLFlBQVksTUFBRyxDQUFDLENBQUM7WUFDbkUsSUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUM5QyxJQUFJLFdBQVcsS0FBSyxHQUFHLEVBQUU7Z0JBQ3ZCLE1BQU0sQ0FBQyxLQUFLLENBQUMsaUJBQWUsR0FBRyx1QkFBa0IsWUFBWSxNQUFHLENBQUMsQ0FBQztnQkFDbEUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUM3QjtpQkFBTTtnQkFDTCxNQUFNLENBQUMsS0FBSyxDQUNSLHdCQUFzQixHQUFHLGFBQVEsV0FBVywyQkFBc0IsWUFBWSxNQUFHLENBQUMsQ0FBQzthQUN4RjtTQUNGO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO2dCQUN2QixNQUFNLENBQUMsS0FBSyxDQUFDLHNCQUFvQixZQUFZLDBCQUF1QixDQUFDLENBQUM7Z0JBQ3RFLHVDQUF1QzthQUN4QztpQkFBTTtnQkFDTCxNQUFNLENBQUMsQ0FBQzthQUNUO1NBQ0Y7SUFDSCxDQUFDO0lBcEJELHdDQW9CQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0IHtBYnNvbHV0ZUZzUGF0aCwgRmlsZVN5c3RlbX0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjL25ndHNjL2ZpbGVfc3lzdGVtJztcbmltcG9ydCB7TG9nZ2VyfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvbmd0c2MvbG9nZ2luZyc7XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBsb2NrLWZpbGUgYXQgdGhlIHByb3ZpZGVkIGBsb2NrRmlsZVBhdGhgIGZyb20gdGhlIGdpdmVuIGZpbGUtc3lzdGVtLlxuICpcbiAqIEl0IG9ubHkgcmVtb3ZlcyB0aGUgZmlsZSBpZiB0aGUgcGlkIHN0b3JlZCBpbiB0aGUgZmlsZSBtYXRjaGVzIHRoZSBwcm92aWRlZCBgcGlkYC5cbiAqIFRoZSBwcm92aWRlZCBgcGlkYCBpcyBvZiB0aGUgcHJvY2VzcyB0aGF0IGlzIGV4aXRpbmcgYW5kIHNvIG5vIGxvbmdlciBuZWVkcyB0byBob2xkIHRoZSBsb2NrLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlTG9ja0ZpbGUoXG4gICAgZnM6IEZpbGVTeXN0ZW0sIGxvZ2dlcjogTG9nZ2VyLCBsb2NrRmlsZVBhdGg6IEFic29sdXRlRnNQYXRoLCBwaWQ6IHN0cmluZykge1xuICB0cnkge1xuICAgIGxvZ2dlci5kZWJ1ZyhgQXR0ZW1wdGluZyB0byByZW1vdmUgbG9jay1maWxlIGF0ICR7bG9ja0ZpbGVQYXRofS5gKTtcbiAgICBjb25zdCBsb2NrRmlsZVBpZCA9IGZzLnJlYWRGaWxlKGxvY2tGaWxlUGF0aCk7XG4gICAgaWYgKGxvY2tGaWxlUGlkID09PSBwaWQpIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhgUElEcyBtYXRjaCAoJHtwaWR9KSwgc28gcmVtb3ZpbmcgJHtsb2NrRmlsZVBhdGh9LmApO1xuICAgICAgZnMucmVtb3ZlRmlsZShsb2NrRmlsZVBhdGgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2dnZXIuZGVidWcoXG4gICAgICAgICAgYFBJRHMgZG8gbm90IG1hdGNoICgke3BpZH0gYW5kICR7bG9ja0ZpbGVQaWR9KSwgc28gbm90IHJlbW92aW5nICR7bG9ja0ZpbGVQYXRofS5gKTtcbiAgICB9XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoZS5jb2RlID09PSAnRU5PRU5UJykge1xuICAgICAgbG9nZ2VyLmRlYnVnKGBUaGUgbG9jay1maWxlIGF0ICR7bG9ja0ZpbGVQYXRofSB3YXMgYWxyZWFkeSByZW1vdmVkLmApO1xuICAgICAgLy8gRmlsZSBhbHJlYWR5IHJlbW92ZWQgc28gcXVpZXRseSBleGl0XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
(function (factory) {
|
|
2
|
-
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
-
var v = factory(require, exports);
|
|
4
|
-
if (v !== undefined) module.exports = v;
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define("@angular/compiler-cli/ngcc/src/locking/sync_locker", ["require", "exports"], factory);
|
|
8
|
-
}
|
|
9
|
-
})(function (require, exports) {
|
|
10
|
-
"use strict";
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.SyncLocker = void 0;
|
|
13
|
-
/**
|
|
14
|
-
* SyncLocker is used to prevent more than one instance of ngcc executing at the same time,
|
|
15
|
-
* when being called in a synchronous context.
|
|
16
|
-
*
|
|
17
|
-
* * When ngcc starts executing, it creates a file in the `compiler-cli/ngcc` folder.
|
|
18
|
-
* * If it finds one is already there then it fails with a suitable error message.
|
|
19
|
-
* * When ngcc completes executing, it removes the file so that future ngcc executions can start.
|
|
20
|
-
*/
|
|
21
|
-
var SyncLocker = /** @class */ (function () {
|
|
22
|
-
function SyncLocker(lockFile) {
|
|
23
|
-
this.lockFile = lockFile;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Run the given function guarded by the lock file.
|
|
27
|
-
*
|
|
28
|
-
* @param fn the function to run.
|
|
29
|
-
* @returns the value returned from the `fn` call.
|
|
30
|
-
*/
|
|
31
|
-
SyncLocker.prototype.lock = function (fn) {
|
|
32
|
-
this.create();
|
|
33
|
-
try {
|
|
34
|
-
return fn();
|
|
35
|
-
}
|
|
36
|
-
finally {
|
|
37
|
-
this.lockFile.remove();
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
/**
|
|
41
|
-
* Write a lock file to disk, or error if there is already one there.
|
|
42
|
-
*/
|
|
43
|
-
SyncLocker.prototype.create = function () {
|
|
44
|
-
try {
|
|
45
|
-
this.lockFile.write();
|
|
46
|
-
}
|
|
47
|
-
catch (e) {
|
|
48
|
-
if (e.code !== 'EEXIST') {
|
|
49
|
-
throw e;
|
|
50
|
-
}
|
|
51
|
-
this.handleExistingLockFile();
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
/**
|
|
55
|
-
* The lock-file already exists so raise a helpful error.
|
|
56
|
-
*/
|
|
57
|
-
SyncLocker.prototype.handleExistingLockFile = function () {
|
|
58
|
-
var pid = this.lockFile.read();
|
|
59
|
-
throw new Error("ngcc is already running at process with id " + pid + ".\n" +
|
|
60
|
-
"If you are running multiple builds in parallel then you might try pre-processing your node_modules via the command line ngcc tool before starting the builds.\n" +
|
|
61
|
-
("(If you are sure no ngcc process is running then you should delete the lock-file at " + this.lockFile.path + ".)"));
|
|
62
|
-
};
|
|
63
|
-
return SyncLocker;
|
|
64
|
-
}());
|
|
65
|
-
exports.SyncLocker = SyncLocker;
|
|
66
|
-
});
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luY19sb2NrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvbmdjYy9zcmMvbG9ja2luZy9zeW5jX2xvY2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFTQTs7Ozs7OztPQU9HO0lBQ0g7UUFDRSxvQkFBb0IsUUFBa0I7WUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFHLENBQUM7UUFFMUM7Ozs7O1dBS0c7UUFDSCx5QkFBSSxHQUFKLFVBQVEsRUFBVztZQUNqQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDZCxJQUFJO2dCQUNGLE9BQU8sRUFBRSxFQUFFLENBQUM7YUFDYjtvQkFBUztnQkFDUixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ3hCO1FBQ0gsQ0FBQztRQUVEOztXQUVHO1FBQ08sMkJBQU0sR0FBaEI7WUFDRSxJQUFJO2dCQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDdkI7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDVixJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO29CQUN2QixNQUFNLENBQUMsQ0FBQztpQkFDVDtnQkFDRCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQzthQUMvQjtRQUNILENBQUM7UUFFRDs7V0FFRztRQUNPLDJDQUFzQixHQUFoQztZQUNFLElBQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDakMsTUFBTSxJQUFJLEtBQUssQ0FDWCxnREFBOEMsR0FBRyxRQUFLO2dCQUN0RCxpS0FBaUs7aUJBQ2pLLHlGQUNJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxPQUFJLENBQUEsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7UUFDSCxpQkFBQztJQUFELENBQUMsQUEzQ0QsSUEyQ0M7SUEzQ1ksZ0NBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7TG9ja0ZpbGV9IGZyb20gJy4vbG9ja19maWxlJztcblxuLyoqXG4gKiBTeW5jTG9ja2VyIGlzIHVzZWQgdG8gcHJldmVudCBtb3JlIHRoYW4gb25lIGluc3RhbmNlIG9mIG5nY2MgZXhlY3V0aW5nIGF0IHRoZSBzYW1lIHRpbWUsXG4gKiB3aGVuIGJlaW5nIGNhbGxlZCBpbiBhIHN5bmNocm9ub3VzIGNvbnRleHQuXG4gKlxuICogKiBXaGVuIG5nY2Mgc3RhcnRzIGV4ZWN1dGluZywgaXQgY3JlYXRlcyBhIGZpbGUgaW4gdGhlIGBjb21waWxlci1jbGkvbmdjY2AgZm9sZGVyLlxuICogKiBJZiBpdCBmaW5kcyBvbmUgaXMgYWxyZWFkeSB0aGVyZSB0aGVuIGl0IGZhaWxzIHdpdGggYSBzdWl0YWJsZSBlcnJvciBtZXNzYWdlLlxuICogKiBXaGVuIG5nY2MgY29tcGxldGVzIGV4ZWN1dGluZywgaXQgcmVtb3ZlcyB0aGUgZmlsZSBzbyB0aGF0IGZ1dHVyZSBuZ2NjIGV4ZWN1dGlvbnMgY2FuIHN0YXJ0LlxuICovXG5leHBvcnQgY2xhc3MgU3luY0xvY2tlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbG9ja0ZpbGU6IExvY2tGaWxlKSB7fVxuXG4gIC8qKlxuICAgKiBSdW4gdGhlIGdpdmVuIGZ1bmN0aW9uIGd1YXJkZWQgYnkgdGhlIGxvY2sgZmlsZS5cbiAgICpcbiAgICogQHBhcmFtIGZuIHRoZSBmdW5jdGlvbiB0byBydW4uXG4gICAqIEByZXR1cm5zIHRoZSB2YWx1ZSByZXR1cm5lZCBmcm9tIHRoZSBgZm5gIGNhbGwuXG4gICAqL1xuICBsb2NrPFQ+KGZuOiAoKSA9PiBUKTogVCB7XG4gICAgdGhpcy5jcmVhdGUoKTtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGZuKCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMubG9ja0ZpbGUucmVtb3ZlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdyaXRlIGEgbG9jayBmaWxlIHRvIGRpc2ssIG9yIGVycm9yIGlmIHRoZXJlIGlzIGFscmVhZHkgb25lIHRoZXJlLlxuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZSgpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5sb2NrRmlsZS53cml0ZSgpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmIChlLmNvZGUgIT09ICdFRVhJU1QnKSB7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG4gICAgICB0aGlzLmhhbmRsZUV4aXN0aW5nTG9ja0ZpbGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhlIGxvY2stZmlsZSBhbHJlYWR5IGV4aXN0cyBzbyByYWlzZSBhIGhlbHBmdWwgZXJyb3IuXG4gICAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlRXhpc3RpbmdMb2NrRmlsZSgpOiB2b2lkIHtcbiAgICBjb25zdCBwaWQgPSB0aGlzLmxvY2tGaWxlLnJlYWQoKTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBuZ2NjIGlzIGFscmVhZHkgcnVubmluZyBhdCBwcm9jZXNzIHdpdGggaWQgJHtwaWR9LlxcbmAgK1xuICAgICAgICBgSWYgeW91IGFyZSBydW5uaW5nIG11bHRpcGxlIGJ1aWxkcyBpbiBwYXJhbGxlbCB0aGVuIHlvdSBtaWdodCB0cnkgcHJlLXByb2Nlc3NpbmcgeW91ciBub2RlX21vZHVsZXMgdmlhIHRoZSBjb21tYW5kIGxpbmUgbmdjYyB0b29sIGJlZm9yZSBzdGFydGluZyB0aGUgYnVpbGRzLlxcbmAgK1xuICAgICAgICBgKElmIHlvdSBhcmUgc3VyZSBubyBuZ2NjIHByb2Nlc3MgaXMgcnVubmluZyB0aGVuIHlvdSBzaG91bGQgZGVsZXRlIHRoZSBsb2NrLWZpbGUgYXQgJHtcbiAgICAgICAgICAgIHRoaXMubG9ja0ZpbGUucGF0aH0uKWApO1xuICB9XG59XG4iXX0=
|