@angular/compiler-cli 9.1.0 → 9.1.4
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/ngcc/index.d.ts +3 -4
- package/ngcc/index.js +2 -3
- package/ngcc/main-ngcc.js +10 -114
- package/ngcc/src/analysis/decoration_analyzer.js +14 -6
- package/ngcc/src/analysis/module_with_providers_analyzer.js +5 -5
- package/ngcc/src/analysis/ngcc_references_registry.js +4 -2
- package/ngcc/src/analysis/ngcc_trait_compiler.js +7 -3
- package/ngcc/src/analysis/private_declarations_analyzer.js +1 -1
- package/ngcc/src/analysis/util.js +3 -2
- package/ngcc/src/command_line_options.d.ts +4 -0
- package/ngcc/src/command_line_options.js +134 -0
- package/ngcc/src/dependencies/commonjs_dependency_host.js +4 -2
- package/ngcc/src/dependencies/dependency_host.d.ts +5 -0
- package/ngcc/src/dependencies/dependency_host.js +1 -1
- package/ngcc/src/dependencies/dependency_resolver.d.ts +3 -3
- package/ngcc/src/dependencies/dependency_resolver.js +17 -14
- package/ngcc/src/dependencies/dts_dependency_host.d.ts +1 -1
- package/ngcc/src/dependencies/dts_dependency_host.js +1 -1
- package/ngcc/src/dependencies/module_resolver.d.ts +1 -1
- package/ngcc/src/dependencies/module_resolver.js +1 -1
- package/ngcc/src/dependencies/umd_dependency_host.js +4 -2
- package/ngcc/src/entry_point_finder/directory_walker_entry_point_finder.d.ts +21 -15
- package/ngcc/src/entry_point_finder/directory_walker_entry_point_finder.js +118 -101
- package/ngcc/src/entry_point_finder/targeted_entry_point_finder.d.ts +1 -1
- package/ngcc/src/entry_point_finder/targeted_entry_point_finder.js +41 -19
- package/ngcc/src/entry_point_finder/utils.d.ts +11 -2
- package/ngcc/src/entry_point_finder/utils.js +39 -6
- package/ngcc/src/execution/analyze_entry_points.d.ts +10 -0
- package/ngcc/src/execution/analyze_entry_points.js +187 -0
- package/ngcc/src/execution/cluster/api.js +1 -1
- package/ngcc/src/execution/cluster/executor.d.ts +5 -3
- package/ngcc/src/execution/cluster/executor.js +10 -28
- package/ngcc/src/execution/cluster/master.d.ts +4 -2
- package/ngcc/src/execution/cluster/master.js +11 -9
- package/ngcc/src/execution/cluster/package_json_updater.d.ts +7 -4
- package/ngcc/src/execution/cluster/package_json_updater.js +15 -16
- package/ngcc/src/execution/cluster/utils.js +1 -1
- package/ngcc/src/execution/cluster/worker.d.ts +1 -10
- package/ngcc/src/execution/cluster/worker.js +68 -40
- package/ngcc/src/execution/create_compile_function.d.ts +11 -0
- package/ngcc/src/execution/create_compile_function.js +74 -0
- package/ngcc/src/execution/single_process_executor.js +1 -1
- package/ngcc/src/execution/tasks/api.js +1 -1
- package/ngcc/src/execution/tasks/completion.js +1 -1
- package/ngcc/src/execution/tasks/queues/base_task_queue.js +1 -1
- package/ngcc/src/execution/tasks/queues/parallel_task_queue.js +1 -1
- package/ngcc/src/execution/tasks/utils.js +2 -4
- package/ngcc/src/host/commonjs_host.js +6 -3
- package/ngcc/src/host/commonjs_umd_utils.js +1 -1
- package/ngcc/src/host/delegating_host.d.ts +3 -0
- package/ngcc/src/host/delegating_host.js +11 -3
- package/ngcc/src/host/esm2015_host.d.ts +66 -2
- package/ngcc/src/host/esm2015_host.js +226 -22
- package/ngcc/src/host/esm5_host.d.ts +8 -4
- package/ngcc/src/host/esm5_host.js +29 -21
- package/ngcc/src/host/ngcc_host.d.ts +9 -1
- package/ngcc/src/host/ngcc_host.js +1 -1
- package/ngcc/src/host/umd_host.d.ts +2 -1
- package/ngcc/src/host/umd_host.js +16 -6
- package/{src/transformers/nocollapse_hack.d.ts → ngcc/src/host/utils.d.ts} +3 -2
- package/ngcc/src/host/utils.js +25 -0
- package/ngcc/src/locking/async_locker.js +3 -2
- package/ngcc/src/locking/lock_file_with_child_process/index.js +10 -9
- package/ngcc/src/locking/lock_file_with_child_process/unlocker.js +4 -2
- package/ngcc/src/locking/sync_locker.js +1 -1
- package/ngcc/src/logging/console_logger.d.ts +1 -1
- package/ngcc/src/logging/console_logger.js +1 -1
- package/ngcc/src/main.d.ts +1 -109
- package/ngcc/src/main.js +19 -257
- package/ngcc/src/migrations/missing_injectable_migration.js +1 -1
- package/ngcc/src/migrations/utils.js +3 -2
- package/ngcc/src/ngcc_options.d.ts +142 -0
- package/ngcc/src/ngcc_options.js +74 -0
- package/ngcc/src/packages/build_marker.d.ts +1 -1
- package/ngcc/src/packages/build_marker.js +1 -1
- package/ngcc/src/packages/bundle_program.d.ts +7 -7
- package/ngcc/src/packages/bundle_program.js +1 -1
- package/ngcc/src/packages/configuration.js +7 -7
- package/ngcc/src/packages/entry_point.d.ts +7 -5
- package/ngcc/src/packages/entry_point.js +31 -14
- package/ngcc/src/packages/entry_point_bundle.d.ts +1 -1
- package/ngcc/src/packages/entry_point_bundle.js +7 -2
- package/ngcc/src/packages/entry_point_manifest.d.ts +9 -8
- package/ngcc/src/packages/entry_point_manifest.js +44 -9
- package/ngcc/src/packages/patch_ts_expando_initializer.js +37 -21
- package/ngcc/src/packages/transformer.js +8 -3
- package/ngcc/src/rendering/commonjs_rendering_formatter.d.ts +1 -1
- package/ngcc/src/rendering/commonjs_rendering_formatter.js +1 -1
- package/ngcc/src/rendering/dts_renderer.d.ts +4 -4
- package/ngcc/src/rendering/dts_renderer.js +3 -3
- package/ngcc/src/rendering/esm5_rendering_formatter.js +1 -1
- package/ngcc/src/rendering/esm_rendering_formatter.d.ts +3 -3
- package/ngcc/src/rendering/esm_rendering_formatter.js +3 -3
- package/ngcc/src/rendering/renderer.d.ts +2 -2
- package/ngcc/src/rendering/renderer.js +4 -2
- package/ngcc/src/rendering/rendering_formatter.d.ts +1 -1
- package/ngcc/src/rendering/rendering_formatter.js +1 -1
- package/ngcc/src/rendering/source_maps.d.ts +1 -1
- package/ngcc/src/rendering/source_maps.js +2 -2
- package/ngcc/src/rendering/umd_rendering_formatter.d.ts +2 -2
- package/ngcc/src/rendering/umd_rendering_formatter.js +1 -1
- package/ngcc/src/rendering/utils.js +1 -1
- package/ngcc/src/sourcemaps/segment_marker.d.ts +5 -5
- package/ngcc/src/sourcemaps/segment_marker.js +1 -1
- package/ngcc/src/sourcemaps/source_file.js +3 -2
- package/ngcc/src/sourcemaps/source_file_loader.d.ts +33 -10
- package/ngcc/src/sourcemaps/source_file_loader.js +60 -31
- package/ngcc/src/utils.d.ts +2 -7
- package/ngcc/src/utils.js +7 -4
- package/ngcc/src/writing/cleaning/cleaning_strategies.d.ts +2 -2
- package/ngcc/src/writing/cleaning/cleaning_strategies.js +4 -2
- package/ngcc/src/writing/in_place_file_writer.js +1 -1
- package/ngcc/src/writing/new_entry_point_file_writer.js +1 -1
- package/ngcc/src/writing/package_json_updater.js +1 -1
- package/package.json +2 -2
- package/src/diagnostics/translate_diagnostics.js +3 -2
- package/src/language_services.d.ts +1 -1
- package/src/language_services.js +1 -1
- package/src/main.js +9 -4
- package/src/metadata/bundle_index_host.js +1 -1
- package/src/metadata/bundler.js +6 -3
- package/src/metadata/collector.js +13 -9
- package/src/metadata/evaluator.js +4 -3
- package/src/metadata/schema.js +1 -1
- package/src/metadata/symbols.js +7 -3
- package/src/ngtsc/annotations/src/component.d.ts +1 -1
- package/src/ngtsc/annotations/src/component.js +7 -4
- package/src/ngtsc/annotations/src/diagnostics.js +4 -2
- package/src/ngtsc/annotations/src/directive.js +54 -38
- package/src/ngtsc/annotations/src/factory.js +1 -1
- package/src/ngtsc/annotations/src/injectable.js +6 -3
- package/src/ngtsc/annotations/src/metadata.js +1 -1
- package/src/ngtsc/annotations/src/ng_module.js +8 -5
- package/src/ngtsc/annotations/src/pipe.js +3 -2
- package/src/ngtsc/annotations/src/util.d.ts +3 -1
- package/src/ngtsc/annotations/src/util.js +39 -9
- package/src/ngtsc/core/api/src/interfaces.js +1 -1
- package/src/ngtsc/core/api/src/options.d.ts +2 -1
- package/src/ngtsc/core/api/src/options.js +1 -1
- package/src/ngtsc/core/src/compiler.js +19 -6
- package/src/ngtsc/core/src/host.js +1 -1
- package/src/ngtsc/cycles/src/imports.js +4 -2
- package/src/ngtsc/diagnostics/src/error.js +3 -2
- package/src/ngtsc/entry_point/src/generator.js +4 -2
- package/src/ngtsc/entry_point/src/private_export_checker.js +1 -1
- package/src/ngtsc/entry_point/src/reference_graph.js +1 -1
- package/src/ngtsc/file_system/index.d.ts +1 -2
- package/src/ngtsc/file_system/index.js +3 -4
- package/src/ngtsc/file_system/src/compiler_host.js +10 -4
- package/src/ngtsc/file_system/src/helpers.d.ts +6 -2
- package/src/ngtsc/file_system/src/helpers.js +10 -3
- package/src/ngtsc/file_system/src/invalid_file_system.js +73 -25
- package/src/ngtsc/file_system/src/logical.js +1 -1
- package/src/ngtsc/file_system/src/node_js_file_system.js +52 -18
- package/src/ngtsc/file_system/src/types.js +1 -1
- package/src/ngtsc/file_system/src/util.js +1 -1
- package/src/ngtsc/imports/index.d.ts +1 -1
- package/src/ngtsc/imports/index.js +1 -1
- package/src/ngtsc/imports/src/alias.js +4 -2
- package/src/ngtsc/imports/src/core.js +13 -5
- package/src/ngtsc/imports/src/default.d.ts +6 -6
- package/src/ngtsc/imports/src/default.js +10 -8
- package/src/ngtsc/imports/src/emitter.js +1 -1
- package/src/ngtsc/imports/src/references.js +10 -4
- package/src/ngtsc/incremental/api.js +1 -1
- package/src/ngtsc/incremental/src/dependency_tracking.js +4 -2
- package/src/ngtsc/incremental/src/state.js +7 -3
- package/src/ngtsc/indexer/src/api.js +1 -1
- package/src/ngtsc/indexer/src/context.js +4 -2
- package/src/ngtsc/indexer/src/template.js +17 -7
- package/src/ngtsc/metadata/src/dts.js +1 -1
- package/src/ngtsc/metadata/src/inheritance.js +1 -1
- package/src/ngtsc/metadata/src/registry.js +13 -5
- package/src/ngtsc/metadata/src/util.js +1 -1
- package/src/ngtsc/modulewithproviders/src/scanner.js +1 -1
- package/src/ngtsc/partial_evaluator/src/builtin.js +1 -1
- package/src/ngtsc/partial_evaluator/src/interface.js +3 -2
- package/src/ngtsc/partial_evaluator/src/interpreter.d.ts +1 -0
- package/src/ngtsc/partial_evaluator/src/interpreter.js +43 -20
- package/src/ngtsc/partial_evaluator/src/result.d.ts +2 -2
- package/src/ngtsc/partial_evaluator/src/result.js +4 -2
- package/src/ngtsc/perf/src/noop.js +4 -2
- package/src/ngtsc/perf/src/tracking.js +7 -3
- package/src/ngtsc/program.js +10 -15
- package/src/ngtsc/reflection/src/host.d.ts +45 -1
- package/src/ngtsc/reflection/src/host.js +1 -1
- package/src/ngtsc/reflection/src/type_to_value.js +88 -72
- package/src/ngtsc/reflection/src/typescript.js +31 -11
- package/src/ngtsc/resource/src/loader.js +1 -1
- package/src/ngtsc/routing/src/analyzer.js +6 -2
- package/src/ngtsc/routing/src/lazy.js +4 -2
- package/src/ngtsc/routing/src/route.js +7 -3
- package/src/ngtsc/scope/src/dependency.js +1 -1
- package/src/ngtsc/scope/src/local.js +9 -6
- package/src/ngtsc/shims/src/factory_generator.js +11 -7
- package/src/ngtsc/shims/src/factory_tracker.js +1 -1
- package/src/ngtsc/shims/src/summary_generator.js +7 -3
- package/src/ngtsc/shims/src/typecheck_shim.js +4 -2
- package/src/ngtsc/switch/src/switch.js +1 -1
- package/src/ngtsc/transform/src/alias.js +1 -1
- package/src/ngtsc/transform/src/compilation.js +10 -4
- package/src/ngtsc/transform/src/declaration.js +1 -1
- package/src/ngtsc/transform/src/trait.js +1 -1
- package/src/ngtsc/transform/src/transform.js +12 -3
- package/src/ngtsc/translator/src/translator.d.ts +1 -1
- package/src/ngtsc/translator/src/translator.js +17 -8
- package/src/ngtsc/tsc_plugin.js +10 -4
- package/src/ngtsc/typecheck/src/api.js +1 -1
- package/src/ngtsc/typecheck/src/context.js +7 -3
- package/src/ngtsc/typecheck/src/diagnostics.js +3 -2
- package/src/ngtsc/typecheck/src/dom.js +7 -5
- package/src/ngtsc/typecheck/src/environment.js +3 -2
- package/src/ngtsc/typecheck/src/expression.js +61 -21
- package/src/ngtsc/typecheck/src/host.js +13 -5
- package/src/ngtsc/typecheck/src/oob.js +6 -3
- package/src/ngtsc/typecheck/src/source.js +1 -1
- package/src/ngtsc/typecheck/src/type_check_block.d.ts +1 -1
- package/src/ngtsc/typecheck/src/type_check_block.js +10 -4
- package/src/ngtsc/typecheck/src/type_check_file.js +4 -2
- package/src/ngtsc/typecheck/src/type_constructor.js +3 -2
- package/src/ngtsc/typecheck/src/type_emitter.js +4 -2
- package/src/ngtsc/typecheck/src/type_parameter_emitter.js +1 -1
- package/src/ngtsc/util/src/ts_source_map_bug_29300.js +31 -11
- package/src/ngtsc/util/src/typescript.js +1 -1
- package/src/ngtsc/util/src/visitor.js +6 -3
- package/src/perform_compile.js +2 -6
- package/src/perform_watch.js +1 -1
- package/src/transformers/api.js +1 -1
- package/src/transformers/compiler_host.js +3 -2
- package/src/transformers/inline_resources.js +1 -1
- package/src/transformers/lower_expressions.js +12 -7
- package/src/transformers/node_emitter.d.ts +5 -1
- package/src/transformers/node_emitter.js +39 -17
- package/src/transformers/node_emitter_transform.d.ts +1 -1
- package/src/transformers/node_emitter_transform.js +3 -3
- package/src/transformers/program.js +20 -20
- package/src/transformers/r3_metadata_transform.js +1 -1
- package/src/transformers/r3_strip_decorators.js +1 -1
- package/src/transformers/r3_transform.d.ts +1 -1
- package/src/transformers/r3_transform.js +3 -3
- package/src/transformers/util.js +6 -3
- package/src/typescript_support.js +1 -1
- package/src/version.js +1 -1
- package/src/ngtsc/file_system/src/cached_file_system.d.ts +0 -49
- package/src/ngtsc/file_system/src/cached_file_system.js +0 -180
- package/src/transformers/nocollapse_hack.js +0 -61
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
this.pathMappings = pathMappings;
|
|
40
40
|
this.unprocessedPaths = [];
|
|
41
41
|
this.unsortedEntryPoints = new Map();
|
|
42
|
-
this.basePaths = utils_1.getBasePaths(this.basePath, this.pathMappings);
|
|
42
|
+
this.basePaths = utils_1.getBasePaths(this.logger, this.basePath, this.pathMappings);
|
|
43
43
|
}
|
|
44
44
|
TargetedEntryPointFinder.prototype.findEntryPoints = function () {
|
|
45
45
|
var _this = this;
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
this.processNextPath();
|
|
49
49
|
}
|
|
50
50
|
var targetEntryPoint = this.unsortedEntryPoints.get(this.targetPath);
|
|
51
|
-
var entryPoints = this.resolver.sortEntryPointsByDependency(Array.from(this.unsortedEntryPoints.values()), targetEntryPoint);
|
|
51
|
+
var entryPoints = this.resolver.sortEntryPointsByDependency(Array.from(this.unsortedEntryPoints.values()), targetEntryPoint === null || targetEntryPoint === void 0 ? void 0 : targetEntryPoint.entryPoint);
|
|
52
52
|
var invalidTarget = entryPoints.invalidEntryPoints.find(function (i) { return i.entryPoint.path === _this.targetPath; });
|
|
53
53
|
if (invalidTarget !== undefined) {
|
|
54
54
|
throw new Error("The target entry-point \"" + invalidTarget.entryPoint.name + "\" has missing dependencies:\n" +
|
|
@@ -95,9 +95,9 @@
|
|
|
95
95
|
if (entryPoint === null || !entryPoint.compiledByAngular) {
|
|
96
96
|
return;
|
|
97
97
|
}
|
|
98
|
-
this.
|
|
99
|
-
|
|
100
|
-
|
|
98
|
+
var entryPointWithDeps = this.resolver.getEntryPointWithDependencies(entryPoint);
|
|
99
|
+
this.unsortedEntryPoints.set(entryPoint.path, entryPointWithDeps);
|
|
100
|
+
entryPointWithDeps.depInfo.dependencies.forEach(function (dep) {
|
|
101
101
|
if (!_this.unsortedEntryPoints.has(dep)) {
|
|
102
102
|
_this.unprocessedPaths.push(dep);
|
|
103
103
|
}
|
|
@@ -106,7 +106,7 @@
|
|
|
106
106
|
TargetedEntryPointFinder.prototype.getEntryPoint = function (entryPointPath) {
|
|
107
107
|
var packagePath = this.computePackagePath(entryPointPath);
|
|
108
108
|
var entryPoint = entry_point_1.getEntryPointInfo(this.fs, this.config, this.logger, packagePath, entryPointPath);
|
|
109
|
-
if (entryPoint === entry_point_1.NO_ENTRY_POINT || entryPoint === entry_point_1.
|
|
109
|
+
if (entryPoint === entry_point_1.NO_ENTRY_POINT || entryPoint === entry_point_1.INCOMPATIBLE_ENTRY_POINT) {
|
|
110
110
|
return null;
|
|
111
111
|
}
|
|
112
112
|
return entryPoint;
|
|
@@ -128,21 +128,21 @@
|
|
|
128
128
|
for (var _c = tslib_1.__values(this.basePaths), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
129
129
|
var basePath = _d.value;
|
|
130
130
|
if (entryPointPath.startsWith(basePath)) {
|
|
131
|
-
var
|
|
131
|
+
var packagePath_1 = basePath;
|
|
132
132
|
var segments = this.splitPath(file_system_1.relative(basePath, entryPointPath));
|
|
133
133
|
var nodeModulesIndex = segments.lastIndexOf(file_system_1.relativeFrom('node_modules'));
|
|
134
134
|
// If there are no `node_modules` in the relative path between the `basePath` and the
|
|
135
135
|
// `entryPointPath` then just try the `basePath` as the `packagePath`.
|
|
136
136
|
// (This can be the case with path-mapped entry-points.)
|
|
137
137
|
if (nodeModulesIndex === -1) {
|
|
138
|
-
if (this.fs.exists(file_system_1.join(
|
|
139
|
-
return
|
|
138
|
+
if (this.fs.exists(file_system_1.join(packagePath_1, 'package.json'))) {
|
|
139
|
+
return packagePath_1;
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
142
|
// Start the search at the deepest nested `node_modules` folder that is below the `basePath`
|
|
143
143
|
// but above the `entryPointPath`, if there are any.
|
|
144
144
|
while (nodeModulesIndex >= 0) {
|
|
145
|
-
|
|
145
|
+
packagePath_1 = file_system_1.join(packagePath_1, segments.shift());
|
|
146
146
|
nodeModulesIndex--;
|
|
147
147
|
}
|
|
148
148
|
try {
|
|
@@ -151,9 +151,9 @@
|
|
|
151
151
|
// no `package.json`.
|
|
152
152
|
for (var segments_1 = (e_3 = void 0, tslib_1.__values(segments)), segments_1_1 = segments_1.next(); !segments_1_1.done; segments_1_1 = segments_1.next()) {
|
|
153
153
|
var segment = segments_1_1.value;
|
|
154
|
-
|
|
155
|
-
if (this.fs.exists(file_system_1.join(
|
|
156
|
-
return
|
|
154
|
+
packagePath_1 = file_system_1.join(packagePath_1, segment);
|
|
155
|
+
if (this.fs.exists(file_system_1.join(packagePath_1, 'package.json'))) {
|
|
156
|
+
return packagePath_1;
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
159
|
}
|
|
@@ -178,11 +178,33 @@
|
|
|
178
178
|
}
|
|
179
179
|
finally { if (e_2) throw e_2.error; }
|
|
180
180
|
}
|
|
181
|
-
//
|
|
182
|
-
//
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
181
|
+
// We couldn't find a `packagePath` using `basePaths` so try to find the nearest `node_modules`
|
|
182
|
+
// that contains the `entryPointPath`, if there is one, and use it as a `basePath`.
|
|
183
|
+
var packagePath = entryPointPath;
|
|
184
|
+
var scopedPackagePath = packagePath;
|
|
185
|
+
var containerPath = this.fs.dirname(packagePath);
|
|
186
|
+
while (!this.fs.isRoot(containerPath) && !containerPath.endsWith('node_modules')) {
|
|
187
|
+
scopedPackagePath = packagePath;
|
|
188
|
+
packagePath = containerPath;
|
|
189
|
+
containerPath = this.fs.dirname(containerPath);
|
|
190
|
+
}
|
|
191
|
+
if (this.fs.exists(file_system_1.join(packagePath, 'package.json'))) {
|
|
192
|
+
// The directory directly below `node_modules` is a package - use it
|
|
193
|
+
return packagePath;
|
|
194
|
+
}
|
|
195
|
+
else if (this.fs.basename(packagePath).startsWith('@') &&
|
|
196
|
+
this.fs.exists(file_system_1.join(scopedPackagePath, 'package.json'))) {
|
|
197
|
+
// The directory directly below the `node_modules` is a scope and the directory directly
|
|
198
|
+
// below that is a scoped package - use it
|
|
199
|
+
return scopedPackagePath;
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
// If we get here then none of the `basePaths` contained the `entryPointPath` and the
|
|
203
|
+
// `entryPointPath` contains no `node_modules` that contains a package or a scoped
|
|
204
|
+
// package. All we can do is assume that this entry-point is a primary entry-point to a
|
|
205
|
+
// package.
|
|
206
|
+
return entryPointPath;
|
|
207
|
+
}
|
|
186
208
|
};
|
|
187
209
|
/**
|
|
188
210
|
* Split the given `path` into path segments using an FS independent algorithm.
|
|
@@ -200,4 +222,4 @@
|
|
|
200
222
|
}());
|
|
201
223
|
exports.TargetedEntryPointFinder = TargetedEntryPointFinder;
|
|
202
224
|
});
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0ZWRfZW50cnlfcG9pbnRfZmluZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL25nY2Mvc3JjL2VudHJ5X3BvaW50X2ZpbmRlci90YXJnZXRlZF9lbnRyeV9wb2ludF9maW5kZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQUE7Ozs7OztPQU1HO0lBQ0gsMkVBQXFIO0lBR3JILHFGQUEwRDtJQUUxRCxtRkFBbUk7SUFHbkksaUZBQXFDO0lBRXJDOzs7Ozs7T0FNRztJQUNIO1FBS0Usa0NBQ1ksRUFBYyxFQUFVLE1BQXlCLEVBQVUsTUFBYyxFQUN6RSxRQUE0QixFQUFVLFFBQXdCLEVBQzlELFVBQTBCLEVBQVUsWUFBb0M7WUFGeEUsT0FBRSxHQUFGLEVBQUUsQ0FBWTtZQUFVLFdBQU0sR0FBTixNQUFNLENBQW1CO1lBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtZQUN6RSxhQUFRLEdBQVIsUUFBUSxDQUFvQjtZQUFVLGFBQVEsR0FBUixRQUFRLENBQWdCO1lBQzlELGVBQVUsR0FBVixVQUFVLENBQWdCO1lBQVUsaUJBQVksR0FBWixZQUFZLENBQXdCO1lBUDVFLHFCQUFnQixHQUFxQixFQUFFLENBQUM7WUFDeEMsd0JBQW1CLEdBQUcsSUFBSSxHQUFHLEVBQThCLENBQUM7WUFDNUQsY0FBUyxHQUFHLG9CQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFLb0IsQ0FBQztRQUV4RixrREFBZSxHQUFmO1lBQUEsaUJBaUJDO1lBaEJDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMxQyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUN2QyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7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QGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7QWJzb2x1dGVGc1BhdGgsIEZpbGVTeXN0ZW0sIFBhdGhTZWdtZW50LCBqb2luLCByZWxhdGl2ZSwgcmVsYXRpdmVGcm9tfSBmcm9tICcuLi8uLi8uLi9zcmMvbmd0c2MvZmlsZV9zeXN0ZW0nO1xuaW1wb3J0IHtEZXBlbmRlbmN5UmVzb2x2ZXIsIFNvcnRlZEVudHJ5UG9pbnRzSW5mb30gZnJvbSAnLi4vZGVwZW5kZW5jaWVzL2RlcGVuZGVuY3lfcmVzb2x2ZXInO1xuaW1wb3J0IHtMb2dnZXJ9IGZyb20gJy4uL2xvZ2dpbmcvbG9nZ2VyJztcbmltcG9ydCB7aGFzQmVlblByb2Nlc3NlZH0gZnJvbSAnLi4vcGFja2FnZXMvYnVpbGRfbWFya2VyJztcbmltcG9ydCB7TmdjY0NvbmZpZ3VyYXRpb259IGZyb20gJy4uL3BhY2thZ2VzL2NvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHtFbnRyeVBvaW50LCBFbnRyeVBvaW50SnNvblByb3BlcnR5LCBJTlZBTElEX0VOVFJZX1BPSU5ULCBOT19FTlRSWV9QT0lOVCwgZ2V0RW50cnlQb2ludEluZm99IGZyb20gJy4uL3BhY2thZ2VzL2VudHJ5X3BvaW50JztcbmltcG9ydCB7UGF0aE1hcHBpbmdzfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQge0VudHJ5UG9pbnRGaW5kZXJ9IGZyb20gJy4vaW50ZXJmYWNlJztcbmltcG9ydCB7Z2V0QmFzZVBhdGhzfSBmcm9tICcuL3V0aWxzJztcblxuLyoqXG4gKiBBbiBFbnRyeVBvaW50RmluZGVyIHRoYXQgc3RhcnRzIGZyb20gYSB0YXJnZXQgZW50cnktcG9pbnQgYW5kIG9ubHkgZmluZHNcbiAqIGVudHJ5LXBvaW50cyB0aGF0IGFyZSBkZXBlbmRlbmNpZXMgb2YgdGhlIHRhcmdldC5cbiAqXG4gKiBUaGlzIGlzIGZhc3RlciB0aGFuIHNlYXJjaGluZyB0aGUgZW50aXJlIGZpbGUtc3lzdGVtIGZvciBhbGwgdGhlIGVudHJ5LXBvaW50cyxcbiAqIGFuZCBpcyB1c2VkIHByaW1hcmlseSBieSB0aGUgQ0xJIGludGVncmF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgVGFyZ2V0ZWRFbnRyeVBvaW50RmluZGVyIGltcGxlbWVudHMgRW50cnlQb2ludEZpbmRlciB7XG4gIHByaXZhdGUgdW5wcm9jZXNzZWRQYXRoczogQWJzb2x1dGVGc1BhdGhbXSA9IFtdO1xuICBwcml2YXRlIHVuc29ydGVkRW50cnlQb2ludHMgPSBuZXcgTWFwPEFic29sdXRlRnNQYXRoLCBFbnRyeVBvaW50PigpO1xuICBwcml2YXRlIGJhc2VQYXRocyA9IGdldEJhc2VQYXRocyh0aGlzLmJhc2VQYXRoLCB0aGlzLnBhdGhNYXBwaW5ncyk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGZzOiBGaWxlU3lzdGVtLCBwcml2YXRlIGNvbmZpZzogTmdjY0NvbmZpZ3VyYXRpb24sIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXIsXG4gICAgICBwcml2YXRlIHJlc29sdmVyOiBEZXBlbmRlbmN5UmVzb2x2ZXIsIHByaXZhdGUgYmFzZVBhdGg6IEFic29sdXRlRnNQYXRoLFxuICAgICAgcHJpdmF0ZSB0YXJnZXRQYXRoOiBBYnNvbHV0ZUZzUGF0aCwgcHJpdmF0ZSBwYXRoTWFwcGluZ3M6IFBhdGhNYXBwaW5nc3x1bmRlZmluZWQpIHt9XG5cbiAgZmluZEVudHJ5UG9pbnRzKCk6IFNvcnRlZEVudHJ5UG9pbnRzSW5mbyB7XG4gICAgdGhpcy51bnByb2Nlc3NlZFBhdGhzID0gW3RoaXMudGFyZ2V0UGF0aF07XG4gICAgd2hpbGUgKHRoaXMudW5wcm9jZXNzZWRQYXRocy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnByb2Nlc3NOZXh0UGF0aCgpO1xuICAgIH1cbiAgICBjb25zdCB0YXJnZXRFbnRyeVBvaW50ID0gdGhpcy51bnNvcnRlZEVudHJ5UG9pbnRzLmdldCh0aGlzLnRhcmdldFBhdGgpO1xuICAgIGNvbnN0IGVudHJ5UG9pbnRzID0gdGhpcy5yZXNvbHZlci5zb3J0RW50cnlQb2ludHNCeURlcGVuZGVuY3koXG4gICAgICAgIEFycmF5LmZyb20odGhpcy51bnNvcnRlZEVudHJ5UG9pbnRzLnZhbHVlcygpKSwgdGFyZ2V0RW50cnlQb2ludCk7XG5cbiAgICBjb25zdCBpbnZhbGlkVGFyZ2V0ID1cbiAgICAgICAgZW50cnlQb2ludHMuaW52YWxpZEVudHJ5UG9pbnRzLmZpbmQoaSA9PiBpLmVudHJ5UG9pbnQucGF0aCA9PT0gdGhpcy50YXJnZXRQYXRoKTtcbiAgICBpZiAoaW52YWxpZFRhcmdldCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYFRoZSB0YXJnZXQgZW50cnktcG9pbnQgXCIke2ludmFsaWRUYXJnZXQuZW50cnlQb2ludC5uYW1lfVwiIGhhcyBtaXNzaW5nIGRlcGVuZGVuY2llczpcXG5gICtcbiAgICAgICAgICBpbnZhbGlkVGFyZ2V0Lm1pc3NpbmdEZXBlbmRlbmNpZXMubWFwKGRlcCA9PiBgIC0gJHtkZXB9XFxuYCkuam9pbignJykpO1xuICAgIH1cbiAgICByZXR1cm4gZW50cnlQb2ludHM7XG4gIH1cblxuICB0YXJnZXROZWVkc1Byb2Nlc3NpbmdPckNsZWFuaW5nKFxuICAgICAgcHJvcGVydGllc1RvQ29uc2lkZXI6IEVudHJ5UG9pbnRKc29uUHJvcGVydHlbXSwgY29tcGlsZUFsbEZvcm1hdHM6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICBjb25zdCBlbnRyeVBvaW50ID0gdGhpcy5nZXRFbnRyeVBvaW50KHRoaXMudGFyZ2V0UGF0aCk7XG4gICAgaWYgKGVudHJ5UG9pbnQgPT09IG51bGwgfHwgIWVudHJ5UG9pbnQuY29tcGlsZWRCeUFuZ3VsYXIpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IG9mIHByb3BlcnRpZXNUb0NvbnNpZGVyKSB7XG4gICAgICBpZiAoZW50cnlQb2ludC5wYWNrYWdlSnNvbltwcm9wZXJ0eV0pIHtcbiAgICAgICAgLy8gSGVyZSBpcyBhIHByb3BlcnR5IHRoYXQgc2hvdWxkIGJlIHByb2Nlc3NlZC5cbiAgICAgICAgaWYgKCFoYXNCZWVuUHJvY2Vzc2VkKGVudHJ5UG9pbnQucGFja2FnZUpzb24sIHByb3BlcnR5KSkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghY29tcGlsZUFsbEZvcm1hdHMpIHtcbiAgICAgICAgICAvLyBUaGlzIHByb3BlcnR5IGhhcyBiZWVuIHByb2Nlc3NlZCwgYW5kIHdlIG9ubHkgbmVlZCBvbmUuXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8vIEFsbCBgcHJvcGVydGllc1RvQ29uc2lkZXJgIHRoYXQgYXBwZWFyIGluIHRoaXMgZW50cnktcG9pbnQgaGF2ZSBiZWVuIHByb2Nlc3NlZC5cbiAgICAvLyBJbiBvdGhlciB3b3JkcywgdGhlcmUgd2VyZSBubyBwcm9wZXJ0aWVzIHRoYXQgbmVlZCBwcm9jZXNzaW5nLlxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgcHJvY2Vzc05leHRQYXRoKCk6IHZvaWQge1xuICAgIGNvbnN0IHBhdGggPSB0aGlzLnVucHJvY2Vzc2VkUGF0aHMuc2hpZnQoKSAhO1xuICAgIGNvbnN0IGVudHJ5UG9pbnQgPSB0aGlzLmdldEVudHJ5UG9pbnQocGF0aCk7XG4gICAgaWYgKGVudHJ5UG9pbnQgPT09IG51bGwgfHwgIWVudHJ5UG9pbnQuY29tcGlsZWRCeUFuZ3VsYXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy51bnNvcnRlZEVudHJ5UG9pbnRzLnNldChlbnRyeVBvaW50LnBhdGgsIGVudHJ5UG9pbnQpO1xuICAgIGNvbnN0IGRlcHMgPSB0aGlzLnJlc29sdmVyLmdldEVudHJ5UG9pbnREZXBlbmRlbmNpZXMoZW50cnlQb2ludCk7XG4gICAgZGVwcy5kZXBlbmRlbmNpZXMuZm9yRWFjaChkZXAgPT4ge1xuICAgICAgaWYgKCF0aGlzLnVuc29ydGVkRW50cnlQb2ludHMuaGFzKGRlcCkpIHtcbiAgICAgICAgdGhpcy51bnByb2Nlc3NlZFBhdGhzLnB1c2goZGVwKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RW50cnlQb2ludChlbnRyeVBvaW50UGF0aDogQWJzb2x1dGVGc1BhdGgpOiBFbnRyeVBvaW50fG51bGwge1xuICAgIGNvbnN0IHBhY2thZ2VQYXRoID0gdGhpcy5jb21wdXRlUGFja2FnZVBhdGgoZW50cnlQb2ludFBhdGgpO1xuICAgIGNvbnN0IGVudHJ5UG9pbnQgPVxuICAgICAgICBnZXRFbnRyeVBvaW50SW5mbyh0aGlzLmZzLCB0aGlzLmNvbmZpZywgdGhpcy5sb2dnZXIsIHBhY2thZ2VQYXRoLCBlbnRyeVBvaW50UGF0aCk7XG4gICAgaWYgKGVudHJ5UG9pbnQgPT09IE5PX0VOVFJZX1BPSU5UIHx8IGVudHJ5UG9pbnQgPT09IElOVkFMSURfRU5UUllfUE9JTlQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gZW50cnlQb2ludDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWFyY2ggZG93biB0byB0aGUgYGVudHJ5UG9pbnRQYXRoYCBmcm9tIGVhY2ggYGJhc2VQYXRoYCBmb3IgdGhlIGZpcnN0IGBwYWNrYWdlLmpzb25gIHRoYXQgd2VcbiAgICogY29tZSB0by4gVGhpcyBpcyB0aGUgcGF0aCB0byB0aGUgZW50cnktcG9pbnQncyBjb250YWluaW5nIHBhY2thZ2UuIEZvciBleGFtcGxlIGlmIGBiYXNlUGF0aGAgaXNcbiAgICogYC9hL2IvY2AgYW5kIGBlbnRyeVBvaW50UGF0aGAgaXMgYC9hL2IvYy9kL2VgIGFuZCB0aGVyZSBleGlzdHMgYC9hL2IvYy9kL3BhY2thZ2UuanNvbmAgYW5kXG4gICAqIGAvYS9iL2MvZC9lL3BhY2thZ2UuanNvbmAsIHRoZW4gd2Ugd2lsbCByZXR1cm4gYC9hL2IvYy9kYC5cbiAgICpcbiAgICogVG8gYWNjb3VudCBmb3IgbmVzdGVkIGBub2RlX21vZHVsZXNgIHdlIGFjdHVhbGx5IHN0YXJ0IHRoZSBzZWFyY2ggYXQgdGhlIGxhc3QgYG5vZGVfbW9kdWxlc2AgaW5cbiAgICogdGhlIGBlbnRyeVBvaW50UGF0aGAgdGhhdCBpcyBiZWxvdyB0aGUgYGJhc2VQYXRoYC4gRS5nLiBpZiBgYmFzZVBhdGhgIGlzIGAvYS9iL2NgIGFuZFxuICAgKiBgZW50cnlQb2ludFBhdGhgIGlzIGAvYS9iL2MvZC9ub2RlX21vZHVsZXMveC95L3pgLCB3ZSBzdGFydCB0aGUgc2VhcmNoIGF0XG4gICAqIGAvYS9iL2MvZC9ub2RlX21vZHVsZXNgLlxuICAgKi9cbiAgcHJpdmF0ZSBjb21wdXRlUGFja2FnZVBhdGgoZW50cnlQb2ludFBhdGg6IEFic29sdXRlRnNQYXRoKTogQWJzb2x1dGVGc1BhdGgge1xuICAgIGZvciAoY29uc3QgYmFzZVBhdGggb2YgdGhpcy5iYXNlUGF0aHMpIHtcbiAgICAgIGlmIChlbnRyeVBvaW50UGF0aC5zdGFydHNXaXRoKGJhc2VQYXRoKSkge1xuICAgICAgICBsZXQgcGFja2FnZVBhdGggPSBiYXNlUGF0aDtcbiAgICAgICAgY29uc3Qgc2VnbWVudHMgPSB0aGlzLnNwbGl0UGF0aChyZWxhdGl2ZShiYXNlUGF0aCwgZW50cnlQb2ludFBhdGgpKTtcbiAgICAgICAgbGV0IG5vZGVNb2R1bGVzSW5kZXggPSBzZWdtZW50cy5sYXN0SW5kZXhPZihyZWxhdGl2ZUZyb20oJ25vZGVfbW9kdWxlcycpKTtcblxuICAgICAgICAvLyBJZiB0aGVyZSBhcmUgbm8gYG5vZGVfbW9kdWxlc2AgaW4gdGhlIHJlbGF0aXZlIHBhdGggYmV0d2VlbiB0aGUgYGJhc2VQYXRoYCBhbmQgdGhlXG4gICAgICAgIC8vIGBlbnRyeVBvaW50UGF0aGAgdGhlbiBqdXN0IHRyeSB0aGUgYGJhc2VQYXRoYCBhcyB0aGUgYHBhY2thZ2VQYXRoYC5cbiAgICAgICAgLy8gKFRoaXMgY2FuIGJlIHRoZSBjYXNlIHdpdGggcGF0aC1tYXBwZWQgZW50cnktcG9pbnRzLilcbiAgICAgICAgaWYgKG5vZGVNb2R1bGVzSW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgaWYgKHRoaXMuZnMuZXhpc3RzKGpvaW4ocGFja2FnZVBhdGgsICdwYWNrYWdlLmpzb24nKSkpIHtcbiAgICAgICAgICAgIHJldHVybiBwYWNrYWdlUGF0aDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTdGFydCB0aGUgc2VhcmNoIGF0IHRoZSBkZWVwZXN0IG5lc3RlZCBgbm9kZV9tb2R1bGVzYCBmb2xkZXIgdGhhdCBpcyBiZWxvdyB0aGUgYGJhc2VQYXRoYFxuICAgICAgICAvLyBidXQgYWJvdmUgdGhlIGBlbnRyeVBvaW50UGF0aGAsIGlmIHRoZXJlIGFyZSBhbnkuXG4gICAgICAgIHdoaWxlIChub2RlTW9kdWxlc0luZGV4ID49IDApIHtcbiAgICAgICAgICBwYWNrYWdlUGF0aCA9IGpvaW4ocGFja2FnZVBhdGgsIHNlZ21lbnRzLnNoaWZ0KCkgISk7XG4gICAgICAgICAgbm9kZU1vZHVsZXNJbmRleC0tO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTm90ZSB0aGF0IHdlIHN0YXJ0IGF0IHRoZSBmb2xkZXIgYmVsb3cgdGhlIGN1cnJlbnQgY2FuZGlkYXRlIGBwYWNrYWdlUGF0aGAgYmVjYXVzZSB0aGVcbiAgICAgICAgLy8gaW5pdGlhbCBjYW5kaWRhdGUgYHBhY2thZ2VQYXRoYCBpcyBlaXRoZXIgYSBgbm9kZV9tb2R1bGVzYCBmb2xkZXIgb3IgdGhlIGBiYXNlUGF0aGAgd2l0aFxuICAgICAgICAvLyBubyBgcGFja2FnZS5qc29uYC5cbiAgICAgICAgZm9yIChjb25zdCBzZWdtZW50IG9mIHNlZ21lbnRzKSB7XG4gICAgICAgICAgcGFja2FnZVBhdGggPSBqb2luKHBhY2thZ2VQYXRoLCBzZWdtZW50KTtcbiAgICAgICAgICBpZiAodGhpcy5mcy5leGlzdHMoam9pbihwYWNrYWdlUGF0aCwgJ3BhY2thZ2UuanNvbicpKSkge1xuICAgICAgICAgICAgcmV0dXJuIHBhY2thZ2VQYXRoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIHdlIGdvdCBoZXJlIHRoZW4gd2UgY291bGRuJ3QgZmluZCBhIGBwYWNrYWdlUGF0aGAgZm9yIHRoZSBjdXJyZW50IGBiYXNlUGF0aGAuXG4gICAgICAgIC8vIFNpbmNlIGBiYXNlUGF0aGBzIGFyZSBndWFyYW50ZWVkIG5vdCB0byBiZSBhIHN1Yi1kaXJlY3Rvcnkgb2YgZWFjaCBvdGhlciB0aGVuIG5vIG90aGVyXG4gICAgICAgIC8vIGBiYXNlUGF0aGAgd2lsbCBtYXRjaCBlaXRoZXIuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBJZiB3ZSBnZXQgaGVyZSB0aGVuIG5vbmUgb2YgdGhlIGBiYXNlUGF0aHNgIG1hdGNoZWQgdGhlIGBlbnRyeVBvaW50UGF0aGAsIHdoaWNoXG4gICAgLy8gaXMgc29tZXdoYXQgdW5leHBlY3RlZCBhbmQgbWVhbnMgdGhhdCB0aGlzIGVudHJ5LXBvaW50IGxpdmVzIGNvbXBsZXRlbHkgb3V0c2lkZVxuICAgIC8vIGFueSBvZiB0aGUgYGJhc2VQYXRoc2AuXG4gICAgLy8gQWxsIHdlIGNhbiBkbyBpcyBhc3N1bWUgdGhhdCBoaXMgZW50cnktcG9pbnQgaXMgYSBwcmltYXJ5IGVudHJ5LXBvaW50IHRvIGEgcGFja2FnZS5cbiAgICByZXR1cm4gZW50cnlQb2ludFBhdGg7XG4gIH1cblxuXG4gIC8qKlxuICAgKiBTcGxpdCB0aGUgZ2l2ZW4gYHBhdGhgIGludG8gcGF0aCBzZWdtZW50cyB1c2luZyBhbiBGUyBpbmRlcGVuZGVudCBhbGdvcml0aG0uXG4gICAqIEBwYXJhbSBwYXRoIFRoZSBwYXRoIHRvIHNwbGl0LlxuICAgKi9cbiAgcHJpdmF0ZSBzcGxpdFBhdGgocGF0aDogUGF0aFNlZ21lbnQpIHtcbiAgICBjb25zdCBzZWdtZW50cyA9IFtdO1xuICAgIHdoaWxlIChwYXRoICE9PSAnLicpIHtcbiAgICAgIHNlZ21lbnRzLnVuc2hpZnQodGhpcy5mcy5iYXNlbmFtZShwYXRoKSk7XG4gICAgICBwYXRoID0gdGhpcy5mcy5kaXJuYW1lKHBhdGgpO1xuICAgIH1cbiAgICByZXR1cm4gc2VnbWVudHM7XG4gIH1cbn1cbiJdfQ==
|
|
225
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0ZWRfZW50cnlfcG9pbnRfZmluZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL25nY2Mvc3JjL2VudHJ5X3BvaW50X2ZpbmRlci90YXJnZXRlZF9lbnRyeV9wb2ludF9maW5kZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQUE7Ozs7OztPQU1HO0lBQ0gsMkVBQXFIO0lBS3JILHFGQUEwRDtJQUUxRCxtRkFBd0k7SUFHeEksaUZBQXFDO0lBRXJDOzs7Ozs7T0FNRztJQUNIO1FBS0Usa0NBQ1ksRUFBYyxFQUFVLE1BQXlCLEVBQVUsTUFBYyxFQUN6RSxRQUE0QixFQUFVLFFBQXdCLEVBQzlELFVBQTBCLEVBQVUsWUFBb0M7WUFGeEUsT0FBRSxHQUFGLEVBQUUsQ0FBWTtZQUFVLFdBQU0sR0FBTixNQUFNLENBQW1CO1lBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtZQUN6RSxhQUFRLEdBQVIsUUFBUSxDQUFvQjtZQUFVLGFBQVEsR0FBUixRQUFRLENBQWdCO1lBQzlELGVBQVUsR0FBVixVQUFVLENBQWdCO1lBQVUsaUJBQVksR0FBWixZQUFZLENBQXdCO1lBUDVFLHFCQUFnQixHQUFxQixFQUFFLENBQUM7WUFDeEMsd0JBQW1CLEdBQUcsSUFBSSxHQUFHLEVBQThDLENBQUM7WUFDNUUsY0FBUyxHQUFHLG9CQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUtPLENBQUM7UUFFeEYsa0RBQWUsR0FBZjtZQUFBLGlCQWlCQztZQWhCQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDMUMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDdkMsSUFBSSxD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Q0FBQyxDQUFDO2FBQ2hEO1lBRUQsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxrQkFBSSxDQUFDLFdBQVcsRUFBRSxjQUFjLENBQUMsQ0FBQyxFQUFFO2dCQUNyRCxvRUFBb0U7Z0JBQ3BFLE9BQU8sV0FBVyxDQUFDO2FBQ3BCO2lCQUFNLElBQ0gsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsa0JBQUksQ0FBQyxpQkFBaUIsRUFBRSxjQUFjLENBQUMsQ0FBQyxFQUFFO2dCQUMzRCx3RkFBd0Y7Z0JBQ3hGLDBDQUEwQztnQkFDMUMsT0FBTyxpQkFBaUIsQ0FBQzthQUMxQjtpQkFBTTtnQkFDTCxxRkFBcUY7Z0JBQ3JGLGtGQUFrRjtnQkFDbEYsdUZBQXVGO2dCQUN2RixXQUFXO2dCQUNYLE9BQU8sY0FBYyxDQUFDO2FBQ3ZCO1FBQ0gsQ0FBQztRQUVEOzs7V0FHRztRQUNLLDRDQUFTLEdBQWpCLFVBQWtCLElBQWlCO1lBQ2pDLElBQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQztZQUNwQixPQUFPLElBQUksS0FBSyxHQUFHLEVBQUU7Z0JBQ25CLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDekMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzlCO1lBQ0QsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztRQUNILCtCQUFDO0lBQUQsQ0FBQyxBQTFLRCxJQTBLQztJQTFLWSw0REFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQge0Fic29sdXRlRnNQYXRoLCBGaWxlU3lzdGVtLCBqb2luLCBQYXRoU2VnbWVudCwgcmVsYXRpdmUsIHJlbGF0aXZlRnJvbX0gZnJvbSAnLi4vLi4vLi4vc3JjL25ndHNjL2ZpbGVfc3lzdGVtJztcbmltcG9ydCB7RW50cnlQb2ludFdpdGhEZXBlbmRlbmNpZXN9IGZyb20gJy4uL2RlcGVuZGVuY2llcy9kZXBlbmRlbmN5X2hvc3QnO1xuaW1wb3J0IHtEZXBlbmRlbmN5UmVzb2x2ZXIsIFNvcnRlZEVudHJ5UG9pbnRzSW5mb30gZnJvbSAnLi4vZGVwZW5kZW5jaWVzL2RlcGVuZGVuY3lfcmVzb2x2ZXInO1xuaW1wb3J0IHtMb2dnZXJ9IGZyb20gJy4uL2xvZ2dpbmcvbG9nZ2VyJztcbmltcG9ydCB7UGF0aE1hcHBpbmdzfSBmcm9tICcuLi9uZ2NjX29wdGlvbnMnO1xuaW1wb3J0IHtoYXNCZWVuUHJvY2Vzc2VkfSBmcm9tICcuLi9wYWNrYWdlcy9idWlsZF9tYXJrZXInO1xuaW1wb3J0IHtOZ2NjQ29uZmlndXJhdGlvbn0gZnJvbSAnLi4vcGFja2FnZXMvY29uZmlndXJhdGlvbic7XG5pbXBvcnQge0VudHJ5UG9pbnQsIEVudHJ5UG9pbnRKc29uUHJvcGVydHksIGdldEVudHJ5UG9pbnRJbmZvLCBJTkNPTVBBVElCTEVfRU5UUllfUE9JTlQsIE5PX0VOVFJZX1BPSU5UfSBmcm9tICcuLi9wYWNrYWdlcy9lbnRyeV9wb2ludCc7XG5cbmltcG9ydCB7RW50cnlQb2ludEZpbmRlcn0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuaW1wb3J0IHtnZXRCYXNlUGF0aHN9IGZyb20gJy4vdXRpbHMnO1xuXG4vKipcbiAqIEFuIEVudHJ5UG9pbnRGaW5kZXIgdGhhdCBzdGFydHMgZnJvbSBhIHRhcmdldCBlbnRyeS1wb2ludCBhbmQgb25seSBmaW5kc1xuICogZW50cnktcG9pbnRzIHRoYXQgYXJlIGRlcGVuZGVuY2llcyBvZiB0aGUgdGFyZ2V0LlxuICpcbiAqIFRoaXMgaXMgZmFzdGVyIHRoYW4gc2VhcmNoaW5nIHRoZSBlbnRpcmUgZmlsZS1zeXN0ZW0gZm9yIGFsbCB0aGUgZW50cnktcG9pbnRzLFxuICogYW5kIGlzIHVzZWQgcHJpbWFyaWx5IGJ5IHRoZSBDTEkgaW50ZWdyYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBUYXJnZXRlZEVudHJ5UG9pbnRGaW5kZXIgaW1wbGVtZW50cyBFbnRyeVBvaW50RmluZGVyIHtcbiAgcHJpdmF0ZSB1bnByb2Nlc3NlZFBhdGhzOiBBYnNvbHV0ZUZzUGF0aFtdID0gW107XG4gIHByaXZhdGUgdW5zb3J0ZWRFbnRyeVBvaW50cyA9IG5ldyBNYXA8QWJzb2x1dGVGc1BhdGgsIEVudHJ5UG9pbnRXaXRoRGVwZW5kZW5jaWVzPigpO1xuICBwcml2YXRlIGJhc2VQYXRocyA9IGdldEJhc2VQYXRocyh0aGlzLmxvZ2dlciwgdGhpcy5iYXNlUGF0aCwgdGhpcy5wYXRoTWFwcGluZ3MpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBmczogRmlsZVN5c3RlbSwgcHJpdmF0ZSBjb25maWc6IE5nY2NDb25maWd1cmF0aW9uLCBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyLFxuICAgICAgcHJpdmF0ZSByZXNvbHZlcjogRGVwZW5kZW5jeVJlc29sdmVyLCBwcml2YXRlIGJhc2VQYXRoOiBBYnNvbHV0ZUZzUGF0aCxcbiAgICAgIHByaXZhdGUgdGFyZ2V0UGF0aDogQWJzb2x1dGVGc1BhdGgsIHByaXZhdGUgcGF0aE1hcHBpbmdzOiBQYXRoTWFwcGluZ3N8dW5kZWZpbmVkKSB7fVxuXG4gIGZpbmRFbnRyeVBvaW50cygpOiBTb3J0ZWRFbnRyeVBvaW50c0luZm8ge1xuICAgIHRoaXMudW5wcm9jZXNzZWRQYXRocyA9IFt0aGlzLnRhcmdldFBhdGhdO1xuICAgIHdoaWxlICh0aGlzLnVucHJvY2Vzc2VkUGF0aHMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5wcm9jZXNzTmV4dFBhdGgoKTtcbiAgICB9XG4gICAgY29uc3QgdGFyZ2V0RW50cnlQb2ludCA9IHRoaXMudW5zb3J0ZWRFbnRyeVBvaW50cy5nZXQodGhpcy50YXJnZXRQYXRoKTtcbiAgICBjb25zdCBlbnRyeVBvaW50cyA9IHRoaXMucmVzb2x2ZXIuc29ydEVudHJ5UG9pbnRzQnlEZXBlbmRlbmN5KFxuICAgICAgICBBcnJheS5mcm9tKHRoaXMudW5zb3J0ZWRFbnRyeVBvaW50cy52YWx1ZXMoKSksIHRhcmdldEVudHJ5UG9pbnQ/LmVudHJ5UG9pbnQpO1xuXG4gICAgY29uc3QgaW52YWxpZFRhcmdldCA9XG4gICAgICAgIGVudHJ5UG9pbnRzLmludmFsaWRFbnRyeVBvaW50cy5maW5kKGkgPT4gaS5lbnRyeVBvaW50LnBhdGggPT09IHRoaXMudGFyZ2V0UGF0aCk7XG4gICAgaWYgKGludmFsaWRUYXJnZXQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBUaGUgdGFyZ2V0IGVudHJ5LXBvaW50IFwiJHtpbnZhbGlkVGFyZ2V0LmVudHJ5UG9pbnQubmFtZX1cIiBoYXMgbWlzc2luZyBkZXBlbmRlbmNpZXM6XFxuYCArXG4gICAgICAgICAgaW52YWxpZFRhcmdldC5taXNzaW5nRGVwZW5kZW5jaWVzLm1hcChkZXAgPT4gYCAtICR7ZGVwfVxcbmApLmpvaW4oJycpKTtcbiAgICB9XG4gICAgcmV0dXJuIGVudHJ5UG9pbnRzO1xuICB9XG5cbiAgdGFyZ2V0TmVlZHNQcm9jZXNzaW5nT3JDbGVhbmluZyhcbiAgICAgIHByb3BlcnRpZXNUb0NvbnNpZGVyOiBFbnRyeVBvaW50SnNvblByb3BlcnR5W10sIGNvbXBpbGVBbGxGb3JtYXRzOiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZW50cnlQb2ludCA9IHRoaXMuZ2V0RW50cnlQb2ludCh0aGlzLnRhcmdldFBhdGgpO1xuICAgIGlmIChlbnRyeVBvaW50ID09PSBudWxsIHx8ICFlbnRyeVBvaW50LmNvbXBpbGVkQnlBbmd1bGFyKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBwcm9wZXJ0aWVzVG9Db25zaWRlcikge1xuICAgICAgaWYgKGVudHJ5UG9pbnQucGFja2FnZUpzb25bcHJvcGVydHldKSB7XG4gICAgICAgIC8vIEhlcmUgaXMgYSBwcm9wZXJ0eSB0aGF0IHNob3VsZCBiZSBwcm9jZXNzZWQuXG4gICAgICAgIGlmICghaGFzQmVlblByb2Nlc3NlZChlbnRyeVBvaW50LnBhY2thZ2VKc29uLCBwcm9wZXJ0eSkpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWNvbXBpbGVBbGxGb3JtYXRzKSB7XG4gICAgICAgICAgLy8gVGhpcyBwcm9wZXJ0eSBoYXMgYmVlbiBwcm9jZXNzZWQsIGFuZCB3ZSBvbmx5IG5lZWQgb25lLlxuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAvLyBBbGwgYHByb3BlcnRpZXNUb0NvbnNpZGVyYCB0aGF0IGFwcGVhciBpbiB0aGlzIGVudHJ5LXBvaW50IGhhdmUgYmVlbiBwcm9jZXNzZWQuXG4gICAgLy8gSW4gb3RoZXIgd29yZHMsIHRoZXJlIHdlcmUgbm8gcHJvcGVydGllcyB0aGF0IG5lZWQgcHJvY2Vzc2luZy5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NOZXh0UGF0aCgpOiB2b2lkIHtcbiAgICBjb25zdCBwYXRoID0gdGhpcy51bnByb2Nlc3NlZFBhdGhzLnNoaWZ0KCkhO1xuICAgIGNvbnN0IGVudHJ5UG9pbnQgPSB0aGlzLmdldEVudHJ5UG9pbnQocGF0aCk7XG4gICAgaWYgKGVudHJ5UG9pbnQgPT09IG51bGwgfHwgIWVudHJ5UG9pbnQuY29tcGlsZWRCeUFuZ3VsYXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZW50cnlQb2ludFdpdGhEZXBzID0gdGhpcy5yZXNvbHZlci5nZXRFbnRyeVBvaW50V2l0aERlcGVuZGVuY2llcyhlbnRyeVBvaW50KTtcbiAgICB0aGlzLnVuc29ydGVkRW50cnlQb2ludHMuc2V0KGVudHJ5UG9pbnQucGF0aCwgZW50cnlQb2ludFdpdGhEZXBzKTtcbiAgICBlbnRyeVBvaW50V2l0aERlcHMuZGVwSW5mby5kZXBlbmRlbmNpZXMuZm9yRWFjaChkZXAgPT4ge1xuICAgICAgaWYgKCF0aGlzLnVuc29ydGVkRW50cnlQb2ludHMuaGFzKGRlcCkpIHtcbiAgICAgICAgdGhpcy51bnByb2Nlc3NlZFBhdGhzLnB1c2goZGVwKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RW50cnlQb2ludChlbnRyeVBvaW50UGF0aDogQWJzb2x1dGVGc1BhdGgpOiBFbnRyeVBvaW50fG51bGwge1xuICAgIGNvbnN0IHBhY2thZ2VQYXRoID0gdGhpcy5jb21wdXRlUGFja2FnZVBhdGgoZW50cnlQb2ludFBhdGgpO1xuICAgIGNvbnN0IGVudHJ5UG9pbnQgPVxuICAgICAgICBnZXRFbnRyeVBvaW50SW5mbyh0aGlzLmZzLCB0aGlzLmNvbmZpZywgdGhpcy5sb2dnZXIsIHBhY2thZ2VQYXRoLCBlbnRyeVBvaW50UGF0aCk7XG4gICAgaWYgKGVudHJ5UG9pbnQgPT09IE5PX0VOVFJZX1BPSU5UIHx8IGVudHJ5UG9pbnQgPT09IElOQ09NUEFUSUJMRV9FTlRSWV9QT0lOVCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBlbnRyeVBvaW50O1xuICB9XG5cbiAgLyoqXG4gICAqIFNlYXJjaCBkb3duIHRvIHRoZSBgZW50cnlQb2ludFBhdGhgIGZyb20gZWFjaCBgYmFzZVBhdGhgIGZvciB0aGUgZmlyc3QgYHBhY2thZ2UuanNvbmAgdGhhdCB3ZVxuICAgKiBjb21lIHRvLiBUaGlzIGlzIHRoZSBwYXRoIHRvIHRoZSBlbnRyeS1wb2ludCdzIGNvbnRhaW5pbmcgcGFja2FnZS4gRm9yIGV4YW1wbGUgaWYgYGJhc2VQYXRoYCBpc1xuICAgKiBgL2EvYi9jYCBhbmQgYGVudHJ5UG9pbnRQYXRoYCBpcyBgL2EvYi9jL2QvZWAgYW5kIHRoZXJlIGV4aXN0cyBgL2EvYi9jL2QvcGFja2FnZS5qc29uYCBhbmRcbiAgICogYC9hL2IvYy9kL2UvcGFja2FnZS5qc29uYCwgdGhlbiB3ZSB3aWxsIHJldHVybiBgL2EvYi9jL2RgLlxuICAgKlxuICAgKiBUbyBhY2NvdW50IGZvciBuZXN0ZWQgYG5vZGVfbW9kdWxlc2Agd2UgYWN0dWFsbHkgc3RhcnQgdGhlIHNlYXJjaCBhdCB0aGUgbGFzdCBgbm9kZV9tb2R1bGVzYCBpblxuICAgKiB0aGUgYGVudHJ5UG9pbnRQYXRoYCB0aGF0IGlzIGJlbG93IHRoZSBgYmFzZVBhdGhgLiBFLmcuIGlmIGBiYXNlUGF0aGAgaXMgYC9hL2IvY2AgYW5kXG4gICAqIGBlbnRyeVBvaW50UGF0aGAgaXMgYC9hL2IvYy9kL25vZGVfbW9kdWxlcy94L3kvemAsIHdlIHN0YXJ0IHRoZSBzZWFyY2ggYXRcbiAgICogYC9hL2IvYy9kL25vZGVfbW9kdWxlc2AuXG4gICAqL1xuICBwcml2YXRlIGNvbXB1dGVQYWNrYWdlUGF0aChlbnRyeVBvaW50UGF0aDogQWJzb2x1dGVGc1BhdGgpOiBBYnNvbHV0ZUZzUGF0aCB7XG4gICAgZm9yIChjb25zdCBiYXNlUGF0aCBvZiB0aGlzLmJhc2VQYXRocykge1xuICAgICAgaWYgKGVudHJ5UG9pbnRQYXRoLnN0YXJ0c1dpdGgoYmFzZVBhdGgpKSB7XG4gICAgICAgIGxldCBwYWNrYWdlUGF0aCA9IGJhc2VQYXRoO1xuICAgICAgICBjb25zdCBzZWdtZW50cyA9IHRoaXMuc3BsaXRQYXRoKHJlbGF0aXZlKGJhc2VQYXRoLCBlbnRyeVBvaW50UGF0aCkpO1xuICAgICAgICBsZXQgbm9kZU1vZHVsZXNJbmRleCA9IHNlZ21lbnRzLmxhc3RJbmRleE9mKHJlbGF0aXZlRnJvbSgnbm9kZV9tb2R1bGVzJykpO1xuXG4gICAgICAgIC8vIElmIHRoZXJlIGFyZSBubyBgbm9kZV9tb2R1bGVzYCBpbiB0aGUgcmVsYXRpdmUgcGF0aCBiZXR3ZWVuIHRoZSBgYmFzZVBhdGhgIGFuZCB0aGVcbiAgICAgICAgLy8gYGVudHJ5UG9pbnRQYXRoYCB0aGVuIGp1c3QgdHJ5IHRoZSBgYmFzZVBhdGhgIGFzIHRoZSBgcGFja2FnZVBhdGhgLlxuICAgICAgICAvLyAoVGhpcyBjYW4gYmUgdGhlIGNhc2Ugd2l0aCBwYXRoLW1hcHBlZCBlbnRyeS1wb2ludHMuKVxuICAgICAgICBpZiAobm9kZU1vZHVsZXNJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICBpZiAodGhpcy5mcy5leGlzdHMoam9pbihwYWNrYWdlUGF0aCwgJ3BhY2thZ2UuanNvbicpKSkge1xuICAgICAgICAgICAgcmV0dXJuIHBhY2thZ2VQYXRoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFN0YXJ0IHRoZSBzZWFyY2ggYXQgdGhlIGRlZXBlc3QgbmVzdGVkIGBub2RlX21vZHVsZXNgIGZvbGRlciB0aGF0IGlzIGJlbG93IHRoZSBgYmFzZVBhdGhgXG4gICAgICAgIC8vIGJ1dCBhYm92ZSB0aGUgYGVudHJ5UG9pbnRQYXRoYCwgaWYgdGhlcmUgYXJlIGFueS5cbiAgICAgICAgd2hpbGUgKG5vZGVNb2R1bGVzSW5kZXggPj0gMCkge1xuICAgICAgICAgIHBhY2thZ2VQYXRoID0gam9pbihwYWNrYWdlUGF0aCwgc2VnbWVudHMuc2hpZnQoKSEpO1xuICAgICAgICAgIG5vZGVNb2R1bGVzSW5kZXgtLTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE5vdGUgdGhhdCB3ZSBzdGFydCBhdCB0aGUgZm9sZGVyIGJlbG93IHRoZSBjdXJyZW50IGNhbmRpZGF0ZSBgcGFja2FnZVBhdGhgIGJlY2F1c2UgdGhlXG4gICAgICAgIC8vIGluaXRpYWwgY2FuZGlkYXRlIGBwYWNrYWdlUGF0aGAgaXMgZWl0aGVyIGEgYG5vZGVfbW9kdWxlc2AgZm9sZGVyIG9yIHRoZSBgYmFzZVBhdGhgIHdpdGhcbiAgICAgICAgLy8gbm8gYHBhY2thZ2UuanNvbmAuXG4gICAgICAgIGZvciAoY29uc3Qgc2VnbWVudCBvZiBzZWdtZW50cykge1xuICAgICAgICAgIHBhY2thZ2VQYXRoID0gam9pbihwYWNrYWdlUGF0aCwgc2VnbWVudCk7XG4gICAgICAgICAgaWYgKHRoaXMuZnMuZXhpc3RzKGpvaW4ocGFja2FnZVBhdGgsICdwYWNrYWdlLmpzb24nKSkpIHtcbiAgICAgICAgICAgIHJldHVybiBwYWNrYWdlUGF0aDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiB3ZSBnb3QgaGVyZSB0aGVuIHdlIGNvdWxkbid0IGZpbmQgYSBgcGFja2FnZVBhdGhgIGZvciB0aGUgY3VycmVudCBgYmFzZVBhdGhgLlxuICAgICAgICAvLyBTaW5jZSBgYmFzZVBhdGhgcyBhcmUgZ3VhcmFudGVlZCBub3QgdG8gYmUgYSBzdWItZGlyZWN0b3J5IG9mIGVhY2ggb3RoZXIgdGhlbiBubyBvdGhlclxuICAgICAgICAvLyBgYmFzZVBhdGhgIHdpbGwgbWF0Y2ggZWl0aGVyLlxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBXZSBjb3VsZG4ndCBmaW5kIGEgYHBhY2thZ2VQYXRoYCB1c2luZyBgYmFzZVBhdGhzYCBzbyB0cnkgdG8gZmluZCB0aGUgbmVhcmVzdCBgbm9kZV9tb2R1bGVzYFxuICAgIC8vIHRoYXQgY29udGFpbnMgdGhlIGBlbnRyeVBvaW50UGF0aGAsIGlmIHRoZXJlIGlzIG9uZSwgYW5kIHVzZSBpdCBhcyBhIGBiYXNlUGF0aGAuXG4gICAgbGV0IHBhY2thZ2VQYXRoID0gZW50cnlQb2ludFBhdGg7XG4gICAgbGV0IHNjb3BlZFBhY2thZ2VQYXRoID0gcGFja2FnZVBhdGg7XG4gICAgbGV0IGNvbnRhaW5lclBhdGggPSB0aGlzLmZzLmRpcm5hbWUocGFja2FnZVBhdGgpO1xuICAgIHdoaWxlICghdGhpcy5mcy5pc1Jvb3QoY29udGFpbmVyUGF0aCkgJiYgIWNvbnRhaW5lclBhdGguZW5kc1dpdGgoJ25vZGVfbW9kdWxlcycpKSB7XG4gICAgICBzY29wZWRQYWNrYWdlUGF0aCA9IHBhY2thZ2VQYXRoO1xuICAgICAgcGFja2FnZVBhdGggPSBjb250YWluZXJQYXRoO1xuICAgICAgY29udGFpbmVyUGF0aCA9IHRoaXMuZnMuZGlybmFtZShjb250YWluZXJQYXRoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5mcy5leGlzdHMoam9pbihwYWNrYWdlUGF0aCwgJ3BhY2thZ2UuanNvbicpKSkge1xuICAgICAgLy8gVGhlIGRpcmVjdG9yeSBkaXJlY3RseSBiZWxvdyBgbm9kZV9tb2R1bGVzYCBpcyBhIHBhY2thZ2UgLSB1c2UgaXRcbiAgICAgIHJldHVybiBwYWNrYWdlUGF0aDtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgICB0aGlzLmZzLmJhc2VuYW1lKHBhY2thZ2VQYXRoKS5zdGFydHNXaXRoKCdAJykgJiZcbiAgICAgICAgdGhpcy5mcy5leGlzdHMoam9pbihzY29wZWRQYWNrYWdlUGF0aCwgJ3BhY2thZ2UuanNvbicpKSkge1xuICAgICAgLy8gVGhlIGRpcmVjdG9yeSBkaXJlY3RseSBiZWxvdyB0aGUgYG5vZGVfbW9kdWxlc2AgaXMgYSBzY29wZSBhbmQgdGhlIGRpcmVjdG9yeSBkaXJlY3RseVxuICAgICAgLy8gYmVsb3cgdGhhdCBpcyBhIHNjb3BlZCBwYWNrYWdlIC0gdXNlIGl0XG4gICAgICByZXR1cm4gc2NvcGVkUGFja2FnZVBhdGg7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIElmIHdlIGdldCBoZXJlIHRoZW4gbm9uZSBvZiB0aGUgYGJhc2VQYXRoc2AgY29udGFpbmVkIHRoZSBgZW50cnlQb2ludFBhdGhgIGFuZCB0aGVcbiAgICAgIC8vIGBlbnRyeVBvaW50UGF0aGAgY29udGFpbnMgbm8gYG5vZGVfbW9kdWxlc2AgdGhhdCBjb250YWlucyBhIHBhY2thZ2Ugb3IgYSBzY29wZWRcbiAgICAgIC8vIHBhY2thZ2UuIEFsbCB3ZSBjYW4gZG8gaXMgYXNzdW1lIHRoYXQgdGhpcyBlbnRyeS1wb2ludCBpcyBhIHByaW1hcnkgZW50cnktcG9pbnQgdG8gYVxuICAgICAgLy8gcGFja2FnZS5cbiAgICAgIHJldHVybiBlbnRyeVBvaW50UGF0aDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU3BsaXQgdGhlIGdpdmVuIGBwYXRoYCBpbnRvIHBhdGggc2VnbWVudHMgdXNpbmcgYW4gRlMgaW5kZXBlbmRlbnQgYWxnb3JpdGhtLlxuICAgKiBAcGFyYW0gcGF0aCBUaGUgcGF0aCB0byBzcGxpdC5cbiAgICovXG4gIHByaXZhdGUgc3BsaXRQYXRoKHBhdGg6IFBhdGhTZWdtZW50KSB7XG4gICAgY29uc3Qgc2VnbWVudHMgPSBbXTtcbiAgICB3aGlsZSAocGF0aCAhPT0gJy4nKSB7XG4gICAgICBzZWdtZW50cy51bnNoaWZ0KHRoaXMuZnMuYmFzZW5hbWUocGF0aCkpO1xuICAgICAgcGF0aCA9IHRoaXMuZnMuZGlybmFtZShwYXRoKTtcbiAgICB9XG4gICAgcmV0dXJuIHNlZ21lbnRzO1xuICB9XG59XG4iXX0=
|
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
* found in the LICENSE file at https://angular.io/license
|
|
8
8
|
*/
|
|
9
9
|
import { AbsoluteFsPath } from '../../../src/ngtsc/file_system';
|
|
10
|
-
import {
|
|
10
|
+
import { Logger } from '../logging/logger';
|
|
11
|
+
import { PathMappings } from '../ngcc_options';
|
|
11
12
|
/**
|
|
12
13
|
* Extract all the base-paths that we need to search for entry-points.
|
|
13
14
|
*
|
|
@@ -27,4 +28,12 @@ import { PathMappings } from '../utils';
|
|
|
27
28
|
* @param sourceDirectory The standard base-path (e.g. node_modules).
|
|
28
29
|
* @param pathMappings Path mapping configuration, from which to extract additional base-paths.
|
|
29
30
|
*/
|
|
30
|
-
export declare function getBasePaths(sourceDirectory: AbsoluteFsPath, pathMappings: PathMappings | undefined): AbsoluteFsPath[];
|
|
31
|
+
export declare function getBasePaths(logger: Logger, sourceDirectory: AbsoluteFsPath, pathMappings: PathMappings | undefined): AbsoluteFsPath[];
|
|
32
|
+
/**
|
|
33
|
+
* Run a task and track how long it takes.
|
|
34
|
+
*
|
|
35
|
+
* @param task The task whose duration we are tracking
|
|
36
|
+
* @param log The function to call with the duration of the task
|
|
37
|
+
* @returns The result of calling `task`.
|
|
38
|
+
*/
|
|
39
|
+
export declare function trackDuration<T = void>(task: () => T extends Promise<unknown> ? never : T, log: (duration: number) => void): T;
|
|
@@ -36,22 +36,40 @@
|
|
|
36
36
|
* @param sourceDirectory The standard base-path (e.g. node_modules).
|
|
37
37
|
* @param pathMappings Path mapping configuration, from which to extract additional base-paths.
|
|
38
38
|
*/
|
|
39
|
-
function getBasePaths(sourceDirectory, pathMappings) {
|
|
39
|
+
function getBasePaths(logger, sourceDirectory, pathMappings) {
|
|
40
40
|
var fs = file_system_1.getFileSystem();
|
|
41
41
|
var basePaths = [sourceDirectory];
|
|
42
42
|
if (pathMappings) {
|
|
43
43
|
var baseUrl_1 = file_system_1.resolve(pathMappings.baseUrl);
|
|
44
|
+
if (fs.isRoot(baseUrl_1)) {
|
|
45
|
+
logger.warn("The provided pathMappings baseUrl is the root path " + baseUrl_1 + ".\n" +
|
|
46
|
+
"This is likely to mess up how ngcc finds entry-points and is probably not correct.\n" +
|
|
47
|
+
"Please check your path mappings configuration such as in the tsconfig.json file.");
|
|
48
|
+
}
|
|
44
49
|
Object.values(pathMappings.paths).forEach(function (paths) { return paths.forEach(function (path) {
|
|
45
50
|
// We only want base paths that exist and are not files
|
|
46
|
-
var basePath =
|
|
47
|
-
|
|
51
|
+
var basePath = fs.resolve(baseUrl_1, extractPathPrefix(path));
|
|
52
|
+
if (fs.exists(basePath) && fs.stat(basePath).isFile()) {
|
|
48
53
|
basePath = fs.dirname(basePath);
|
|
49
54
|
}
|
|
50
|
-
|
|
55
|
+
if (fs.exists(basePath)) {
|
|
56
|
+
basePaths.push(basePath);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
logger.debug("The basePath \"" + basePath + "\" computed from baseUrl \"" + baseUrl_1 + "\" and path mapping \"" + path + "\" does not exist in the file-system.\n" +
|
|
60
|
+
"It will not be scanned for entry-points.");
|
|
61
|
+
}
|
|
51
62
|
}); });
|
|
52
63
|
}
|
|
53
64
|
basePaths.sort().reverse(); // Get the paths in order with the longer ones first.
|
|
54
|
-
|
|
65
|
+
var dedupedBasePaths = basePaths.filter(removeContainedPaths);
|
|
66
|
+
// We want to ensure that the `sourceDirectory` is included when it is a node_modules folder.
|
|
67
|
+
// Otherwise our entry-point finding algorithm would fail to walk that folder.
|
|
68
|
+
if (fs.basename(sourceDirectory) === 'node_modules' &&
|
|
69
|
+
!dedupedBasePaths.includes(sourceDirectory)) {
|
|
70
|
+
dedupedBasePaths.unshift(sourceDirectory);
|
|
71
|
+
}
|
|
72
|
+
return dedupedBasePaths;
|
|
55
73
|
}
|
|
56
74
|
exports.getBasePaths = getBasePaths;
|
|
57
75
|
/**
|
|
@@ -86,5 +104,20 @@
|
|
|
86
104
|
}
|
|
87
105
|
return true;
|
|
88
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* Run a task and track how long it takes.
|
|
109
|
+
*
|
|
110
|
+
* @param task The task whose duration we are tracking
|
|
111
|
+
* @param log The function to call with the duration of the task
|
|
112
|
+
* @returns The result of calling `task`.
|
|
113
|
+
*/
|
|
114
|
+
function trackDuration(task, log) {
|
|
115
|
+
var startTime = Date.now();
|
|
116
|
+
var result = task();
|
|
117
|
+
var duration = Math.round((Date.now() - startTime) / 100) / 10;
|
|
118
|
+
log(duration);
|
|
119
|
+
return result;
|
|
120
|
+
}
|
|
121
|
+
exports.trackDuration = trackDuration;
|
|
89
122
|
});
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvbmdjYy9zcmMvZW50cnlfcG9pbnRfZmluZGVyL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBQUE7Ozs7OztPQU1HO0lBQ0gsMkVBQWdHO0lBSWhHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FrQkc7SUFDSCxTQUFnQixZQUFZLENBQ3hCLE1BQWMsRUFBRSxlQUErQixFQUMvQyxZQUFvQztRQUN0QyxJQUFNLEVBQUUsR0FBRywyQkFBYSxFQUFFLENBQUM7UUFDM0IsSUFBTSxTQUFTLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNwQyxJQUFJLFlBQVksRUFBRTtZQUNoQixJQUFNLFNBQU8sR0FBRyxxQkFBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM5QyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBTyxDQUFDLEVBQUU7Z0JBQ3RCLE1BQU0sQ0FBQyxJQUFJLENBQ1Asd0RBQXNELFNBQU8sUUFBSztvQkFDbEUsc0ZBQXNGO29CQUN0RixrRkFBa0YsQ0FBQyxDQUFDO2FBQ3pGO1lBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFBLElBQUk7Z0JBQ25FLHVEQUF1RDtnQkFDdkQsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFPLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDNUQsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7b0JBQ3JELFFBQVEsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUNqQztnQkFDRCxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUU7b0JBQ3ZCLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQzFCO3FCQUFNO29CQUNMLE1BQU0sQ0FBQyxLQUFLLENBQ1Isb0JBQWlCLFFBQVEsbUNBQTRCLFNBQU8sOEJBQ3hELElBQUksNENBQXdDO3dCQUNoRCwwQ0FBMEMsQ0FBQyxDQUFDO2lCQUNqRDtZQUNILENBQUMsQ0FBQyxFQWRpRCxDQWNqRCxDQUFDLENBQUM7U0FDTDtRQUNELFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFFLHFEQUFxRDtRQUNsRixJQUFNLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUVoRSw2RkFBNkY7UUFDN0YsOEVBQThFO1FBQzlFLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxjQUFjO1lBQy9DLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQy9DLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUMzQztRQUVELE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQXhDRCxvQ0F3Q0M7SUFFRDs7OztPQUlHO0lBQ0gsU0FBUyxpQkFBaUIsQ0FBQyxJQUFZO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILFNBQVMsb0JBQW9CLENBQUMsS0FBcUIsRUFBRSxLQUFhLEVBQUUsS0FBdUI7UUFDekYsOEZBQThGO1FBQzlGLFNBQVM7UUFDVCxLQUFLLElBQUksQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDN0MsNEZBQTRGO1lBQzVGLDRDQUE0QztZQUM1QyxJQUFJLENBQUMsc0JBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztnQkFBRSxPQUFPLEtBQUssQ0FBQztTQUMvRDtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFNBQWdCLGFBQWEsQ0FBVyxJQUFpRCxFQUMzQixHQUErQjtRQUMzRixJQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDN0IsSUFBTSxNQUFNLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxTQUFTLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDakUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQVBELHNDQU9DIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0IHtBYnNvbHV0ZUZzUGF0aCwgZ2V0RmlsZVN5c3RlbSwgcmVsYXRpdmUsIHJlc29sdmV9IGZyb20gJy4uLy4uLy4uL3NyYy9uZ3RzYy9maWxlX3N5c3RlbSc7XG5pbXBvcnQge0xvZ2dlcn0gZnJvbSAnLi4vbG9nZ2luZy9sb2dnZXInO1xuaW1wb3J0IHtQYXRoTWFwcGluZ3N9IGZyb20gJy4uL25nY2Nfb3B0aW9ucyc7XG5cbi8qKlxuICogRXh0cmFjdCBhbGwgdGhlIGJhc2UtcGF0aHMgdGhhdCB3ZSBuZWVkIHRvIHNlYXJjaCBmb3IgZW50cnktcG9pbnRzLlxuICpcbiAqIFRoaXMgYWx3YXlzIGNvbnRhaW5zIHRoZSBzdGFuZGFyZCBiYXNlLXBhdGggKGBzb3VyY2VEaXJlY3RvcnlgKS5cbiAqIEJ1dCBpdCBhbHNvIHBhcnNlcyB0aGUgYHBhdGhzYCBtYXBwaW5ncyBvYmplY3QgdG8gZ3Vlc3MgYWRkaXRpb25hbCBiYXNlLXBhdGhzLlxuICpcbiAqIEZvciBleGFtcGxlOlxuICpcbiAqIGBgYFxuICogZ2V0QmFzZVBhdGhzKCcvbm9kZV9tb2R1bGVzJywge2Jhc2VVcmw6ICcvZGlzdCcsIHBhdGhzOiB7JyonOiBbJ2xpYi8qJywgJ2xpYi9nZW5lcmF0ZWQvKiddfX0pXG4gKiA+IFsnL25vZGVfbW9kdWxlcycsICcvZGlzdC9saWInXVxuICogYGBgXG4gKlxuICogTm90aWNlIHRoYXQgYCcvZGlzdCdgIGlzIG5vdCBpbmNsdWRlZCBhcyB0aGVyZSBpcyBubyBgJyonYCBwYXRoLFxuICogYW5kIGAnL2Rpc3QvbGliL2dlbmVyYXRlZCdgIGlzIG5vdCBpbmNsdWRlZCBhcyBpdCBpcyBjb3ZlcmVkIGJ5IGAnL2Rpc3QvbGliJ2AuXG4gKlxuICogQHBhcmFtIHNvdXJjZURpcmVjdG9yeSBUaGUgc3RhbmRhcmQgYmFzZS1wYXRoIChlLmcuIG5vZGVfbW9kdWxlcykuXG4gKiBAcGFyYW0gcGF0aE1hcHBpbmdzIFBhdGggbWFwcGluZyBjb25maWd1cmF0aW9uLCBmcm9tIHdoaWNoIHRvIGV4dHJhY3QgYWRkaXRpb25hbCBiYXNlLXBhdGhzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QmFzZVBhdGhzKFxuICAgIGxvZ2dlcjogTG9nZ2VyLCBzb3VyY2VEaXJlY3Rvcnk6IEFic29sdXRlRnNQYXRoLFxuICAgIHBhdGhNYXBwaW5nczogUGF0aE1hcHBpbmdzfHVuZGVmaW5lZCk6IEFic29sdXRlRnNQYXRoW10ge1xuICBjb25zdCBmcyA9IGdldEZpbGVTeXN0ZW0oKTtcbiAgY29uc3QgYmFzZVBhdGhzID0gW3NvdXJjZURpcmVjdG9yeV07XG4gIGlmIChwYXRoTWFwcGluZ3MpIHtcbiAgICBjb25zdCBiYXNlVXJsID0gcmVzb2x2ZShwYXRoTWFwcGluZ3MuYmFzZVVybCk7XG4gICAgaWYgKGZzLmlzUm9vdChiYXNlVXJsKSkge1xuICAgICAgbG9nZ2VyLndhcm4oXG4gICAgICAgICAgYFRoZSBwcm92aWRlZCBwYXRoTWFwcGluZ3MgYmFzZVVybCBpcyB0aGUgcm9vdCBwYXRoICR7YmFzZVVybH0uXFxuYCArXG4gICAgICAgICAgYFRoaXMgaXMgbGlrZWx5IHRvIG1lc3MgdXAgaG93IG5nY2MgZmluZHMgZW50cnktcG9pbnRzIGFuZCBpcyBwcm9iYWJseSBub3QgY29ycmVjdC5cXG5gICtcbiAgICAgICAgICBgUGxlYXNlIGNoZWNrIHlvdXIgcGF0aCBtYXBwaW5ncyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgaW4gdGhlIHRzY29uZmlnLmpzb24gZmlsZS5gKTtcbiAgICB9XG4gICAgT2JqZWN0LnZhbHVlcyhwYXRoTWFwcGluZ3MucGF0aHMpLmZvckVhY2gocGF0aHMgPT4gcGF0aHMuZm9yRWFjaChwYXRoID0+IHtcbiAgICAgIC8vIFdlIG9ubHkgd2FudCBiYXNlIHBhdGhzIHRoYXQgZXhpc3QgYW5kIGFyZSBub3QgZmlsZXNcbiAgICAgIGxldCBiYXNlUGF0aCA9IGZzLnJlc29sdmUoYmFzZVVybCwgZXh0cmFjdFBhdGhQcmVmaXgocGF0aCkpO1xuICAgICAgaWYgKGZzLmV4aXN0cyhiYXNlUGF0aCkgJiYgZnMuc3RhdChiYXNlUGF0aCkuaXNGaWxlKCkpIHtcbiAgICAgICAgYmFzZVBhdGggPSBmcy5kaXJuYW1lKGJhc2VQYXRoKTtcbiAgICAgIH1cbiAgICAgIGlmIChmcy5leGlzdHMoYmFzZVBhdGgpKSB7XG4gICAgICAgIGJhc2VQYXRocy5wdXNoKGJhc2VQYXRoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICAgIGBUaGUgYmFzZVBhdGggXCIke2Jhc2VQYXRofVwiIGNvbXB1dGVkIGZyb20gYmFzZVVybCBcIiR7YmFzZVVybH1cIiBhbmQgcGF0aCBtYXBwaW5nIFwiJHtcbiAgICAgICAgICAgICAgICBwYXRofVwiIGRvZXMgbm90IGV4aXN0IGluIHRoZSBmaWxlLXN5c3RlbS5cXG5gICtcbiAgICAgICAgICAgIGBJdCB3aWxsIG5vdCBiZSBzY2FubmVkIGZvciBlbnRyeS1wb2ludHMuYCk7XG4gICAgICB9XG4gICAgfSkpO1xuICB9XG4gIGJhc2VQYXRocy5zb3J0KCkucmV2ZXJzZSgpOyAgLy8gR2V0IHRoZSBwYXRocyBpbiBvcmRlciB3aXRoIHRoZSBsb25nZXIgb25lcyBmaXJzdC5cbiAgY29uc3QgZGVkdXBlZEJhc2VQYXRocyA9IGJhc2VQYXRocy5maWx0ZXIocmVtb3ZlQ29udGFpbmVkUGF0aHMpO1xuXG4gIC8vIFdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgdGhlIGBzb3VyY2VEaXJlY3RvcnlgIGlzIGluY2x1ZGVkIHdoZW4gaXQgaXMgYSBub2RlX21vZHVsZXMgZm9sZGVyLlxuICAvLyBPdGhlcndpc2Ugb3VyIGVudHJ5LXBvaW50IGZpbmRpbmcgYWxnb3JpdGhtIHdvdWxkIGZhaWwgdG8gd2FsayB0aGF0IGZvbGRlci5cbiAgaWYgKGZzLmJhc2VuYW1lKHNvdXJjZURpcmVjdG9yeSkgPT09ICdub2RlX21vZHVsZXMnICYmXG4gICAgICAhZGVkdXBlZEJhc2VQYXRocy5pbmNsdWRlcyhzb3VyY2VEaXJlY3RvcnkpKSB7XG4gICAgZGVkdXBlZEJhc2VQYXRocy51bnNoaWZ0KHNvdXJjZURpcmVjdG9yeSk7XG4gIH1cblxuICByZXR1cm4gZGVkdXBlZEJhc2VQYXRocztcbn1cblxuLyoqXG4gKiBFeHRyYWN0IGV2ZXJ5dGhpbmcgaW4gdGhlIGBwYXRoYCB1cCB0byB0aGUgZmlyc3QgYCpgLlxuICogQHBhcmFtIHBhdGggVGhlIHBhdGggdG8gcGFyc2UuXG4gKiBAcmV0dXJucyBUaGUgZXh0cmFjdGVkIHByZWZpeC5cbiAqL1xuZnVuY3Rpb24gZXh0cmFjdFBhdGhQcmVmaXgocGF0aDogc3RyaW5nKSB7XG4gIHJldHVybiBwYXRoLnNwbGl0KCcqJywgMSlbMF07XG59XG5cbi8qKlxuICogQSBmaWx0ZXIgZnVuY3Rpb24gdGhhdCByZW1vdmVzIHBhdGhzIHRoYXQgYXJlIGNvbnRhaW5lZCBieSBvdGhlciBwYXRocy5cbiAqXG4gKiBGb3IgZXhhbXBsZTpcbiAqIEdpdmVuIGBbJ2EvYi9jJywgJ2EvYi94JywgJ2EvYicsICdkL2UnLCAnZC9mJ11gIHdlIHdpbGwgZW5kIHVwIHdpdGggYFsnYS9iJywgJ2QvZScsICdkL2ZdYC5cbiAqIChOb3RlIHRoYXQgd2UgZG8gbm90IGdldCBgZGAgZXZlbiB0aG91Z2ggYGQvZWAgYW5kIGBkL2ZgIHNoYXJlIGEgYmFzZSBkaXJlY3RvcnksIHNpbmNlIGBkYCBpcyBub3RcbiAqIG9uZSBvZiB0aGUgYmFzZSBwYXRocy4pXG4gKlxuICogQHBhcmFtIHZhbHVlIFRoZSBjdXJyZW50IHBhdGguXG4gKiBAcGFyYW0gaW5kZXggVGhlIGluZGV4IG9mIHRoZSBjdXJyZW50IHBhdGguXG4gKiBAcGFyYW0gYXJyYXkgVGhlIGFycmF5IG9mIHBhdGhzIChzb3J0ZWQgaW4gcmV2ZXJzZSBhbHBoYWJldGljYWwgb3JkZXIpLlxuICogQHJldHVybnMgdHJ1ZSBpZiB0aGlzIHBhdGggaXMgbm90IGNvbnRhaW5lZCBieSBhbm90aGVyIHBhdGguXG4gKi9cbmZ1bmN0aW9uIHJlbW92ZUNvbnRhaW5lZFBhdGhzKHZhbHVlOiBBYnNvbHV0ZUZzUGF0aCwgaW5kZXg6IG51bWJlciwgYXJyYXk6IEFic29sdXRlRnNQYXRoW10pIHtcbiAgLy8gV2Ugb25seSBuZWVkIHRvIGNoZWNrIHRoZSBmb2xsb3dpbmcgcGF0aHMgc2luY2UgdGhlIGBhcnJheWAgaXMgc29ydGVkIGluIHJldmVyc2UgYWxwaGFiZXRpY1xuICAvLyBvcmRlci5cbiAgZm9yIChsZXQgaSA9IGluZGV4ICsgMTsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgLy8gV2UgbmVlZCB0byB1c2UgYHJlbGF0aXZlKCkuc3RhcnRzV2l0aCgpYCByYXRoZXIgdGhhbiBhIHNpbXBsZSBgc3RhcnRzV2l0aCgpYCB0byBlbnN1cmUgd2VcbiAgICAvLyBkb24ndCBhc3N1bWUgdGhhdCBgYS9iYCBjb250YWlucyBgYS9iLTJgLlxuICAgIGlmICghcmVsYXRpdmUoYXJyYXlbaV0sIHZhbHVlKS5zdGFydHNXaXRoKCcuLicpKSByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59XG5cbi8qKlxuICogUnVuIGEgdGFzayBhbmQgdHJhY2sgaG93IGxvbmcgaXQgdGFrZXMuXG4gKlxuICogQHBhcmFtIHRhc2sgVGhlIHRhc2sgd2hvc2UgZHVyYXRpb24gd2UgYXJlIHRyYWNraW5nXG4gKiBAcGFyYW0gbG9nIFRoZSBmdW5jdGlvbiB0byBjYWxsIHdpdGggdGhlIGR1cmF0aW9uIG9mIHRoZSB0YXNrXG4gKiBAcmV0dXJucyBUaGUgcmVzdWx0IG9mIGNhbGxpbmcgYHRhc2tgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdHJhY2tEdXJhdGlvbjxUID0gdm9pZD4odGFzazogKCkgPT4gVCBleHRlbmRzIFByb21pc2U8dW5rbm93bj4/IG5ldmVyIDogVCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nOiAoZHVyYXRpb246IG51bWJlcikgPT4gdm9pZCk6IFQge1xuICBjb25zdCBzdGFydFRpbWUgPSBEYXRlLm5vdygpO1xuICBjb25zdCByZXN1bHQgPSB0YXNrKCk7XG4gIGNvbnN0IGR1cmF0aW9uID0gTWF0aC5yb3VuZCgoRGF0ZS5ub3coKSAtIHN0YXJ0VGltZSkgLyAxMDApIC8gMTA7XG4gIGxvZyhkdXJhdGlvbik7XG4gIHJldHVybiByZXN1bHQ7XG59XG4iXX0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <amd-module name="@angular/compiler-cli/ngcc/src/execution/analyze_entry_points" />
|
|
2
|
+
import { FileSystem } from '../../../src/ngtsc/file_system';
|
|
3
|
+
import { EntryPointFinder } from '../entry_point_finder/interface';
|
|
4
|
+
import { Logger } from '../logging/logger';
|
|
5
|
+
import { EntryPointJsonProperty } from '../packages/entry_point';
|
|
6
|
+
import { AnalyzeEntryPointsFn } from './api';
|
|
7
|
+
/**
|
|
8
|
+
* Create the function for performing the analysis of the entry-points.
|
|
9
|
+
*/
|
|
10
|
+
export declare function getAnalyzeEntryPointsFn(logger: Logger, finder: EntryPointFinder, fileSystem: FileSystem, supportedPropertiesToConsider: EntryPointJsonProperty[], compileAllFormats: boolean, propertiesToConsider: string[], inParallel: boolean): AnalyzeEntryPointsFn;
|
|
@@ -0,0 +1,187 @@
|
|
|
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/execution/analyze_entry_points", ["require", "exports", "tslib", "@angular/compiler-cli/ngcc/src/execution/tasks/queues/parallel_task_queue", "@angular/compiler-cli/ngcc/src/execution/tasks/queues/serial_task_queue", "@angular/compiler-cli/ngcc/src/execution/tasks/utils", "@angular/compiler-cli/ngcc/src/packages/build_marker", "@angular/compiler-cli/ngcc/src/packages/entry_point", "@angular/compiler-cli/ngcc/src/writing/cleaning/package_cleaner"], factory);
|
|
8
|
+
}
|
|
9
|
+
})(function (require, exports) {
|
|
10
|
+
"use strict";
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
var tslib_1 = require("tslib");
|
|
13
|
+
var parallel_task_queue_1 = require("@angular/compiler-cli/ngcc/src/execution/tasks/queues/parallel_task_queue");
|
|
14
|
+
var serial_task_queue_1 = require("@angular/compiler-cli/ngcc/src/execution/tasks/queues/serial_task_queue");
|
|
15
|
+
var utils_1 = require("@angular/compiler-cli/ngcc/src/execution/tasks/utils");
|
|
16
|
+
var build_marker_1 = require("@angular/compiler-cli/ngcc/src/packages/build_marker");
|
|
17
|
+
var entry_point_1 = require("@angular/compiler-cli/ngcc/src/packages/entry_point");
|
|
18
|
+
var package_cleaner_1 = require("@angular/compiler-cli/ngcc/src/writing/cleaning/package_cleaner");
|
|
19
|
+
/**
|
|
20
|
+
* Create the function for performing the analysis of the entry-points.
|
|
21
|
+
*/
|
|
22
|
+
function getAnalyzeEntryPointsFn(logger, finder, fileSystem, supportedPropertiesToConsider, compileAllFormats, propertiesToConsider, inParallel) {
|
|
23
|
+
return function () {
|
|
24
|
+
var e_1, _a, e_2, _b;
|
|
25
|
+
logger.debug('Analyzing entry-points...');
|
|
26
|
+
var startTime = Date.now();
|
|
27
|
+
var entryPointInfo = finder.findEntryPoints();
|
|
28
|
+
var cleaned = package_cleaner_1.cleanOutdatedPackages(fileSystem, entryPointInfo.entryPoints);
|
|
29
|
+
if (cleaned) {
|
|
30
|
+
// If we had to clean up one or more packages then we must read in the entry-points again.
|
|
31
|
+
entryPointInfo = finder.findEntryPoints();
|
|
32
|
+
}
|
|
33
|
+
var entryPoints = entryPointInfo.entryPoints, invalidEntryPoints = entryPointInfo.invalidEntryPoints, graph = entryPointInfo.graph;
|
|
34
|
+
logInvalidEntryPoints(logger, invalidEntryPoints);
|
|
35
|
+
var unprocessableEntryPointPaths = [];
|
|
36
|
+
// The tasks are partially ordered by virtue of the entry-points being partially ordered too.
|
|
37
|
+
var tasks = [];
|
|
38
|
+
try {
|
|
39
|
+
for (var entryPoints_1 = tslib_1.__values(entryPoints), entryPoints_1_1 = entryPoints_1.next(); !entryPoints_1_1.done; entryPoints_1_1 = entryPoints_1.next()) {
|
|
40
|
+
var entryPoint = entryPoints_1_1.value;
|
|
41
|
+
var packageJson = entryPoint.packageJson;
|
|
42
|
+
var hasProcessedTypings = build_marker_1.hasBeenProcessed(packageJson, 'typings');
|
|
43
|
+
var _c = getPropertiesToProcess(packageJson, supportedPropertiesToConsider, compileAllFormats), propertiesToProcess = _c.propertiesToProcess, equivalentPropertiesMap = _c.equivalentPropertiesMap;
|
|
44
|
+
var processDts = !hasProcessedTypings;
|
|
45
|
+
if (propertiesToProcess.length === 0) {
|
|
46
|
+
// This entry-point is unprocessable (i.e. there is no format property that is of interest
|
|
47
|
+
// and can be processed). This will result in an error, but continue looping over
|
|
48
|
+
// entry-points in order to collect all unprocessable ones and display a more informative
|
|
49
|
+
// error.
|
|
50
|
+
unprocessableEntryPointPaths.push(entryPoint.path);
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
try {
|
|
54
|
+
for (var propertiesToProcess_1 = (e_2 = void 0, tslib_1.__values(propertiesToProcess)), propertiesToProcess_1_1 = propertiesToProcess_1.next(); !propertiesToProcess_1_1.done; propertiesToProcess_1_1 = propertiesToProcess_1.next()) {
|
|
55
|
+
var formatProperty = propertiesToProcess_1_1.value;
|
|
56
|
+
if (build_marker_1.hasBeenProcessed(entryPoint.packageJson, formatProperty)) {
|
|
57
|
+
// The format-path which the property maps to is already processed - nothing to do.
|
|
58
|
+
logger.debug("Skipping " + entryPoint.name + " : " + formatProperty + " (already compiled).");
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
var formatPropertiesToMarkAsProcessed = equivalentPropertiesMap.get(formatProperty);
|
|
62
|
+
tasks.push({ entryPoint: entryPoint, formatProperty: formatProperty, formatPropertiesToMarkAsProcessed: formatPropertiesToMarkAsProcessed, processDts: processDts });
|
|
63
|
+
// Only process typings for the first property (if not already processed).
|
|
64
|
+
processDts = false;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
68
|
+
finally {
|
|
69
|
+
try {
|
|
70
|
+
if (propertiesToProcess_1_1 && !propertiesToProcess_1_1.done && (_b = propertiesToProcess_1.return)) _b.call(propertiesToProcess_1);
|
|
71
|
+
}
|
|
72
|
+
finally { if (e_2) throw e_2.error; }
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
77
|
+
finally {
|
|
78
|
+
try {
|
|
79
|
+
if (entryPoints_1_1 && !entryPoints_1_1.done && (_a = entryPoints_1.return)) _a.call(entryPoints_1);
|
|
80
|
+
}
|
|
81
|
+
finally { if (e_1) throw e_1.error; }
|
|
82
|
+
}
|
|
83
|
+
// Check for entry-points for which we could not process any format at all.
|
|
84
|
+
if (unprocessableEntryPointPaths.length > 0) {
|
|
85
|
+
throw new Error('Unable to process any formats for the following entry-points (tried ' +
|
|
86
|
+
(propertiesToConsider.join(', ') + "): ") +
|
|
87
|
+
unprocessableEntryPointPaths.map(function (path) { return "\n - " + path; }).join(''));
|
|
88
|
+
}
|
|
89
|
+
var duration = Math.round((Date.now() - startTime) / 100) / 10;
|
|
90
|
+
logger.debug("Analyzed " + entryPoints.length + " entry-points in " + duration + "s. " +
|
|
91
|
+
("(Total tasks: " + tasks.length + ")"));
|
|
92
|
+
return getTaskQueue(logger, inParallel, tasks, graph);
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
exports.getAnalyzeEntryPointsFn = getAnalyzeEntryPointsFn;
|
|
96
|
+
function logInvalidEntryPoints(logger, invalidEntryPoints) {
|
|
97
|
+
invalidEntryPoints.forEach(function (invalidEntryPoint) {
|
|
98
|
+
logger.debug("Invalid entry-point " + invalidEntryPoint.entryPoint.path + ".", "It is missing required dependencies:\n" +
|
|
99
|
+
invalidEntryPoint.missingDependencies.map(function (dep) { return " - " + dep; }).join('\n'));
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* This function computes and returns the following:
|
|
104
|
+
* - `propertiesToProcess`: An (ordered) list of properties that exist and need to be processed,
|
|
105
|
+
* based on the provided `propertiesToConsider`, the properties in `package.json` and their
|
|
106
|
+
* corresponding format-paths. NOTE: Only one property per format-path needs to be processed.
|
|
107
|
+
* - `equivalentPropertiesMap`: A mapping from each property in `propertiesToProcess` to the list of
|
|
108
|
+
* other format properties in `package.json` that need to be marked as processed as soon as the
|
|
109
|
+
* former has been processed.
|
|
110
|
+
*/
|
|
111
|
+
function getPropertiesToProcess(packageJson, propertiesToConsider, compileAllFormats) {
|
|
112
|
+
var e_3, _a, e_4, _b, e_5, _c;
|
|
113
|
+
var formatPathsToConsider = new Set();
|
|
114
|
+
var propertiesToProcess = [];
|
|
115
|
+
try {
|
|
116
|
+
for (var propertiesToConsider_1 = tslib_1.__values(propertiesToConsider), propertiesToConsider_1_1 = propertiesToConsider_1.next(); !propertiesToConsider_1_1.done; propertiesToConsider_1_1 = propertiesToConsider_1.next()) {
|
|
117
|
+
var prop = propertiesToConsider_1_1.value;
|
|
118
|
+
var formatPath = packageJson[prop];
|
|
119
|
+
// Ignore properties that are not defined in `package.json`.
|
|
120
|
+
if (typeof formatPath !== 'string')
|
|
121
|
+
continue;
|
|
122
|
+
// Ignore properties that map to the same format-path as a preceding property.
|
|
123
|
+
if (formatPathsToConsider.has(formatPath))
|
|
124
|
+
continue;
|
|
125
|
+
// Process this property, because it is the first one to map to this format-path.
|
|
126
|
+
formatPathsToConsider.add(formatPath);
|
|
127
|
+
propertiesToProcess.push(prop);
|
|
128
|
+
// If we only need one format processed, there is no need to process any more properties.
|
|
129
|
+
if (!compileAllFormats)
|
|
130
|
+
break;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
134
|
+
finally {
|
|
135
|
+
try {
|
|
136
|
+
if (propertiesToConsider_1_1 && !propertiesToConsider_1_1.done && (_a = propertiesToConsider_1.return)) _a.call(propertiesToConsider_1);
|
|
137
|
+
}
|
|
138
|
+
finally { if (e_3) throw e_3.error; }
|
|
139
|
+
}
|
|
140
|
+
var formatPathToProperties = {};
|
|
141
|
+
try {
|
|
142
|
+
for (var SUPPORTED_FORMAT_PROPERTIES_1 = tslib_1.__values(entry_point_1.SUPPORTED_FORMAT_PROPERTIES), SUPPORTED_FORMAT_PROPERTIES_1_1 = SUPPORTED_FORMAT_PROPERTIES_1.next(); !SUPPORTED_FORMAT_PROPERTIES_1_1.done; SUPPORTED_FORMAT_PROPERTIES_1_1 = SUPPORTED_FORMAT_PROPERTIES_1.next()) {
|
|
143
|
+
var prop = SUPPORTED_FORMAT_PROPERTIES_1_1.value;
|
|
144
|
+
var formatPath = packageJson[prop];
|
|
145
|
+
// Ignore properties that are not defined in `package.json`.
|
|
146
|
+
if (typeof formatPath !== 'string')
|
|
147
|
+
continue;
|
|
148
|
+
// Ignore properties that do not map to a format-path that will be considered.
|
|
149
|
+
if (!formatPathsToConsider.has(formatPath))
|
|
150
|
+
continue;
|
|
151
|
+
// Add this property to the map.
|
|
152
|
+
var list = formatPathToProperties[formatPath] || (formatPathToProperties[formatPath] = []);
|
|
153
|
+
list.push(prop);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
157
|
+
finally {
|
|
158
|
+
try {
|
|
159
|
+
if (SUPPORTED_FORMAT_PROPERTIES_1_1 && !SUPPORTED_FORMAT_PROPERTIES_1_1.done && (_b = SUPPORTED_FORMAT_PROPERTIES_1.return)) _b.call(SUPPORTED_FORMAT_PROPERTIES_1);
|
|
160
|
+
}
|
|
161
|
+
finally { if (e_4) throw e_4.error; }
|
|
162
|
+
}
|
|
163
|
+
var equivalentPropertiesMap = new Map();
|
|
164
|
+
try {
|
|
165
|
+
for (var propertiesToConsider_2 = tslib_1.__values(propertiesToConsider), propertiesToConsider_2_1 = propertiesToConsider_2.next(); !propertiesToConsider_2_1.done; propertiesToConsider_2_1 = propertiesToConsider_2.next()) {
|
|
166
|
+
var prop = propertiesToConsider_2_1.value;
|
|
167
|
+
var formatPath = packageJson[prop];
|
|
168
|
+
var equivalentProperties = formatPathToProperties[formatPath];
|
|
169
|
+
equivalentPropertiesMap.set(prop, equivalentProperties);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
catch (e_5_1) { e_5 = { error: e_5_1 }; }
|
|
173
|
+
finally {
|
|
174
|
+
try {
|
|
175
|
+
if (propertiesToConsider_2_1 && !propertiesToConsider_2_1.done && (_c = propertiesToConsider_2.return)) _c.call(propertiesToConsider_2);
|
|
176
|
+
}
|
|
177
|
+
finally { if (e_5) throw e_5.error; }
|
|
178
|
+
}
|
|
179
|
+
return { propertiesToProcess: propertiesToProcess, equivalentPropertiesMap: equivalentPropertiesMap };
|
|
180
|
+
}
|
|
181
|
+
function getTaskQueue(logger, inParallel, tasks, graph) {
|
|
182
|
+
var dependencies = utils_1.computeTaskDependencies(tasks, graph);
|
|
183
|
+
return inParallel ? new parallel_task_queue_1.ParallelTaskQueue(logger, tasks, dependencies) :
|
|
184
|
+
new serial_task_queue_1.SerialTaskQueue(logger, tasks, dependencies);
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZV9lbnRyeV9wb2ludHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvbmdjYy9zcmMvZXhlY3V0aW9uL2FuYWx5emVfZW50cnlfcG9pbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQVlBLGlIQUFnRjtJQUNoRiw2R0FBNEU7SUFDNUUsOEVBQWlFO0lBRWpFLHFGQUEwRDtJQUMxRCxtRkFBK0g7SUFDL0gsbUdBQTBFO0lBSzFFOztPQUVHO0lBQ0gsU0FBZ0IsdUJBQXVCLENBQ25DLE1BQWMsRUFBRSxNQUF3QixFQUFFLFVBQXNCLEVBQ2hFLDZCQUF1RCxFQUFFLGlCQUEwQixFQUNuRixvQkFBOEIsRUFBRSxVQUFtQjtRQUNyRCxPQUFPOztZQUNMLE1BQU0sQ0FBQyxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztZQUMxQyxJQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFFN0IsSUFBSSxjQUFjLEdBQUcsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzlDLElBQU0sT0FBTyxHQUFHLHVDQUFxQixDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDOUUsSUFBSSxPQUFPLEVBQUU7Z0JBQ1gsMEZBQTBGO2dCQUMxRixjQUFjLEdBQUcsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO2FBQzNDO1lBRU0sSUFBQSx3Q0FBVyxFQUFFLHNEQUFrQixFQUFFLDRCQUFLLENBQW1CO1lBQ2hFLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1lBRWxELElBQU0sNEJBQTRCLEdBQWEsRUFBRSxDQUFDO1lBQ2xELDZGQUE2RjtZQUM3RixJQUFNLEtBQUssR0FBMEIsRUFBUyxDQUFDOztnQkFFL0MsS0FBeUIsSUFBQSxnQkFBQSxpQkFBQSxXQUFXLENBQUEsd0NBQUEs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LEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQzdGLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDakI7Ozs7Ozs7OztRQUVELElBQU0sdUJBQXVCLEdBQUcsSUFBSSxHQUFHLEVBQW9ELENBQUM7O1lBQzVGLEtBQW1CLElBQUEseUJBQUEsaUJBQUEsb0JBQW9CLENBQUEsMERBQUEsNEZBQUU7Z0JBQXBDLElBQU0sSUFBSSxpQ0FBQTtnQkFDYixJQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFFLENBQUM7Z0JBQ3RDLElBQU0sb0JBQW9CLEdBQUcsc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ2hFLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLENBQUMsQ0FBQzthQUN6RDs7Ozs7Ozs7O1FBRUQsT0FBTyxFQUFDLG1CQUFtQixxQkFBQSxFQUFFLHVCQUF1Qix5QkFBQSxFQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFNBQVMsWUFBWSxDQUNqQixNQUFjLEVBQUUsVUFBbUIsRUFBRSxLQUE0QixFQUNqRSxLQUEyQjtRQUM3QixJQUFNLFlBQVksR0FBRywrQkFBdUIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0QsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksdUNBQWlCLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO1lBQ3BELElBQUksbUNBQWUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3ZFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQge0RlcEdyYXBofSBmcm9tICdkZXBlbmRlbmN5LWdyYXBoJztcblxuaW1wb3J0IHtGaWxlU3lzdGVtfSBmcm9tICcuLi8uLi8uLi9zcmMvbmd0c2MvZmlsZV9zeXN0ZW0nO1xuaW1wb3J0IHtJbnZhbGlkRW50cnlQb2ludH0gZnJvbSAnLi4vZGVwZW5kZW5jaWVzL2RlcGVuZGVuY3lfcmVzb2x2ZXInO1xuaW1wb3J0IHtFbnRyeVBvaW50RmluZGVyfSBmcm9tICcuLi9lbnRyeV9wb2ludF9maW5kZXIvaW50ZXJmYWNlJztcbmltcG9ydCB7UGFyYWxsZWxUYXNrUXVldWV9IGZyb20gJy4uL2V4ZWN1dGlvbi90YXNrcy9xdWV1ZXMvcGFyYWxsZWxfdGFza19xdWV1ZSc7XG5pbXBvcnQge1NlcmlhbFRhc2tRdWV1ZX0gZnJvbSAnLi4vZXhlY3V0aW9uL3Rhc2tzL3F1ZXVlcy9zZXJpYWxfdGFza19xdWV1ZSc7XG5pbXBvcnQge2NvbXB1dGVUYXNrRGVwZW5kZW5jaWVzfSBmcm9tICcuLi9leGVjdXRpb24vdGFza3MvdXRpbHMnO1xuaW1wb3J0IHtMb2dnZXJ9IGZyb20gJy4uL2xvZ2dpbmcvbG9nZ2VyJztcbmltcG9ydCB7aGFzQmVlblByb2Nlc3NlZH0gZnJvbSAnLi4vcGFja2FnZXMvYnVpbGRfbWFya2VyJztcbmltcG9ydCB7RW50cnlQb2ludCwgRW50cnlQb2ludEpzb25Qcm9wZXJ0eSwgRW50cnlQb2ludFBhY2thZ2VKc29uLCBTVVBQT1JURURfRk9STUFUX1BST1BFUlRJRVN9IGZyb20gJy4uL3BhY2thZ2VzL2VudHJ5X3BvaW50JztcbmltcG9ydCB7Y2xlYW5PdXRkYXRlZFBhY2thZ2VzfSBmcm9tICcuLi93cml0aW5nL2NsZWFuaW5nL3BhY2thZ2VfY2xlYW5lcic7XG5cbmltcG9ydCB7QW5hbHl6ZUVudHJ5UG9pbnRzRm59IGZyb20gJy4vYXBpJztcbmltcG9ydCB7UGFydGlhbGx5T3JkZXJlZFRhc2tzLCBUYXNrUXVldWV9IGZyb20gJy4vdGFza3MvYXBpJztcblxuLyoqXG4gKiBDcmVhdGUgdGhlIGZ1bmN0aW9uIGZvciBwZXJmb3JtaW5nIHRoZSBhbmFseXNpcyBvZiB0aGUgZW50cnktcG9pbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QW5hbHl6ZUVudHJ5UG9pbnRzRm4oXG4gICAgbG9nZ2VyOiBMb2dnZXIsIGZpbmRlcjogRW50cnlQb2ludEZpbmRlciwgZmlsZVN5c3RlbTogRmlsZVN5c3RlbSxcbiAgICBzdXBwb3J0ZWRQcm9wZXJ0aWVzVG9Db25zaWRlcjogRW50cnlQb2ludEpzb25Qcm9wZXJ0eVtdLCBjb21waWxlQWxsRm9ybWF0czogYm9vbGVhbixcbiAgICBwcm9wZXJ0aWVzVG9Db25zaWRlcjogc3RyaW5nW10sIGluUGFyYWxsZWw6IGJvb2xlYW4pOiBBbmFseXplRW50cnlQb2ludHNGbiB7XG4gIHJldHVybiAoKSA9PiB7XG4gICAgbG9nZ2VyLmRlYnVnKCdBbmFseXppbmcgZW50cnktcG9pbnRzLi4uJyk7XG4gICAgY29uc3Qgc3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcblxuICAgIGxldCBlbnRyeVBvaW50SW5mbyA9IGZpbmRlci5maW5kRW50cnlQb2ludHMoKTtcbiAgICBjb25zdCBjbGVhbmVkID0gY2xlYW5PdXRkYXRlZFBhY2thZ2VzKGZpbGVTeXN0ZW0sIGVudHJ5UG9pbnRJbmZvLmVudHJ5UG9pbnRzKTtcbiAgICBpZiAoY2xlYW5lZCkge1xuICAgICAgLy8gSWYgd2UgaGFkIHRvIGNsZWFuIHVwIG9uZSBvciBtb3JlIHBhY2thZ2VzIHRoZW4gd2UgbXVzdCByZWFkIGluIHRoZSBlbnRyeS1wb2ludHMgYWdhaW4uXG4gICAgICBlbnRyeVBvaW50SW5mbyA9IGZpbmRlci5maW5kRW50cnlQb2ludHMoKTtcbiAgICB9XG5cbiAgICBjb25zdCB7ZW50cnlQb2ludHMsIGludmFsaWRFbnRyeVBvaW50cywgZ3JhcGh9ID0gZW50cnlQb2ludEluZm87XG4gICAgbG9nSW52YWxpZEVudHJ5UG9pbnRzKGxvZ2dlciwgaW52YWxpZEVudHJ5UG9pbnRzKTtcblxuICAgIGNvbnN0IHVucHJvY2Vzc2FibGVFbnRyeVBvaW50UGF0aHM6IHN0cmluZ1tdID0gW107XG4gICAgLy8gVGhlIHRhc2tzIGFyZSBwYXJ0aWFsbHkgb3JkZXJlZCBieSB2aXJ0dWUgb2YgdGhlIGVudHJ5LXBvaW50cyBiZWluZyBwYXJ0aWFsbHkgb3JkZXJlZCB0b28uXG4gICAgY29uc3QgdGFza3M6IFBhcnRpYWxseU9yZGVyZWRUYXNrcyA9IFtdIGFzIGFueTtcblxuICAgIGZvciAoY29uc3QgZW50cnlQb2ludCBvZiBlbnRyeVBvaW50cykge1xuICAgICAgY29uc3QgcGFja2FnZUpzb24gPSBlbnRyeVBvaW50LnBhY2thZ2VKc29uO1xuICAgICAgY29uc3QgaGFzUHJvY2Vzc2VkVHlwaW5ncyA9IGhhc0JlZW5Qcm9jZXNzZWQocGFja2FnZUpzb24sICd0eXBpbmdzJyk7XG4gICAgICBjb25zdCB7cHJvcGVydGllc1RvUHJvY2VzcywgZXF1aXZhbGVudFByb3BlcnRpZXNNYXB9ID1cbiAgICAgICAgICBnZXRQcm9wZXJ0aWVzVG9Qcm9jZXNzKHBhY2thZ2VKc29uLCBzdXBwb3J0ZWRQcm9wZXJ0aWVzVG9Db25zaWRlciwgY29tcGlsZUFsbEZvcm1hdHMpO1xuICAgICAgbGV0IHByb2Nlc3NEdHMgPSAhaGFzUHJvY2Vzc2VkVHlwaW5ncztcblxuICAgICAgaWYgKHByb3BlcnRpZXNUb1Byb2Nlc3MubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIC8vIFRoaXMgZW50cnktcG9pbnQgaXMgdW5wcm9jZXNzYWJsZSAoaS5lLiB0aGVyZSBpcyBubyBmb3JtYXQgcHJvcGVydHkgdGhhdCBpcyBvZiBpbnRlcmVzdFxuICAgICAgICAvLyBhbmQgY2FuIGJlIHByb2Nlc3NlZCkuIFRoaXMgd2lsbCByZXN1bHQgaW4gYW4gZXJyb3IsIGJ1dCBjb250aW51ZSBsb29waW5nIG92ZXJcbiAgICAgICAgLy8gZW50cnktcG9pbnRzIGluIG9yZGVyIHRvIGNvbGxlY3QgYWxsIHVucHJvY2Vzc2FibGUgb25lcyBhbmQgZGlzcGxheSBhIG1vcmUgaW5mb3JtYXRpdmVcbiAgICAgICAgLy8gZXJyb3IuXG4gICAgICAgIHVucHJvY2Vzc2FibGVFbnRyeVBvaW50UGF0aHMucHVzaChlbnRyeVBvaW50LnBhdGgpO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgZm9yIChjb25zdCBmb3JtYXRQcm9wZXJ0eSBvZiBwcm9wZXJ0aWVzVG9Qcm9jZXNzKSB7XG4gICAgICAgIGlmIChoYXNCZWVuUHJvY2Vzc2VkKGVudHJ5UG9pbnQucGFja2FnZUpzb24sIGZvcm1hdFByb3BlcnR5KSkge1xuICAgICAgICAgIC8vIFRoZSBmb3JtYXQtcGF0aCB3aGljaCB0aGUgcHJvcGVydHkgbWFwcyB0byBpcyBhbHJlYWR5IHByb2Nlc3NlZCAtIG5vdGhpbmcgdG8gZG8uXG4gICAgICAgICAgbG9nZ2VyLmRlYnVnKGBTa2lwcGluZyAke2VudHJ5UG9pbnQubmFtZX0gOiAke2Zvcm1hdFByb3BlcnR5fSAoYWxyZWFkeSBjb21waWxlZCkuYCk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmb3JtYXRQcm9wZXJ0aWVzVG9NYXJrQXNQcm9jZXNzZWQgPSBlcXVpdmFsZW50UHJvcGVydGllc01hcC5nZXQoZm9ybWF0UHJvcGVydHkpITtcbiAgICAgICAgdGFza3MucHVzaCh7ZW50cnlQb2ludCwgZm9ybWF0UHJvcGVydHksIGZvcm1hdFByb3BlcnRpZXNUb01hcmtBc1Byb2Nlc3NlZCwgcHJvY2Vzc0R0c30pO1xuXG4gICAgICAgIC8vIE9ubHkgcHJvY2VzcyB0eXBpbmdzIGZvciB0aGUgZmlyc3QgcHJvcGVydHkgKGlmIG5vdCBhbHJlYWR5IHByb2Nlc3NlZCkuXG4gICAgICAgIHByb2Nlc3NEdHMgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZW50cnktcG9pbnRzIGZvciB3aGljaCB3ZSBjb3VsZCBub3QgcHJvY2VzcyBhbnkgZm9ybWF0IGF0IGFsbC5cbiAgICBpZiAodW5wcm9jZXNzYWJsZUVudHJ5UG9pbnRQYXRocy5sZW5ndGggPiAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgJ1VuYWJsZSB0byBwcm9jZXNzIGFueSBmb3JtYXRzIGZvciB0aGUgZm9sbG93aW5nIGVudHJ5LXBvaW50cyAodHJpZWQgJyArXG4gICAgICAgICAgYCR7cHJvcGVydGllc1RvQ29uc2lkZXIuam9pbignLCAnKX0pOiBgICtcbiAgICAgICAgICB1bnByb2Nlc3NhYmxlRW50cnlQb2ludFBhdGhzLm1hcChwYXRoID0+IGBcXG4gIC0gJHtwYXRofWApLmpvaW4oJycpKTtcbiAgICB9XG5cbiAgICBjb25zdCBkdXJhdGlvbiA9IE1hdGgucm91bmQoKERhdGUubm93KCkgLSBzdGFydFRpbWUpIC8gMTAwKSAvIDEwO1xuICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgYEFuYWx5emVkICR7ZW50cnlQb2ludHMubGVuZ3RofSBlbnRyeS1wb2ludHMgaW4gJHtkdXJhdGlvbn1zLiBgICtcbiAgICAgICAgYChUb3RhbCB0YXNrczogJHt0YXNrcy5sZW5ndGh9KWApO1xuXG4gICAgcmV0dXJuIGdldFRhc2tRdWV1ZShsb2dnZXIsIGluUGFyYWxsZWwsIHRhc2tzLCBncmFwaCk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIGxvZ0ludmFsaWRFbnRyeVBvaW50cyhsb2dnZXI6IExvZ2dlciwgaW52YWxpZEVudHJ5UG9pbnRzOiBJbnZhbGlkRW50cnlQb2ludFtdKTogdm9pZCB7XG4gIGludmFsaWRFbnRyeVBvaW50cy5mb3JFYWNoKGludmFsaWRFbnRyeVBvaW50ID0+IHtcbiAgICBsb2dnZXIuZGVidWcoXG4gICAgICAgIGBJbnZhbGlkIGVudHJ5LXBvaW50ICR7aW52YWxpZEVudHJ5UG9pbnQuZW50cnlQb2ludC5wYXRofS5gLFxuICAgICAgICBgSXQgaXMgbWlzc2luZyByZXF1aXJlZCBkZXBlbmRlbmNpZXM6XFxuYCArXG4gICAgICAgICAgICBpbnZhbGlkRW50cnlQb2ludC5taXNzaW5nRGVwZW5kZW5jaWVzLm1hcChkZXAgPT4gYCAtICR7ZGVwfWApLmpvaW4oJ1xcbicpKTtcbiAgfSk7XG59XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgZm9sbG93aW5nOlxuICogLSBgcHJvcGVydGllc1RvUHJvY2Vzc2A6IEFuIChvcmRlcmVkKSBsaXN0IG9mIHByb3BlcnRpZXMgdGhhdCBleGlzdCBhbmQgbmVlZCB0byBiZSBwcm9jZXNzZWQsXG4gKiAgIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBgcHJvcGVydGllc1RvQ29uc2lkZXJgLCB0aGUgcHJvcGVydGllcyBpbiBgcGFja2FnZS5qc29uYCBhbmQgdGhlaXJcbiAqICAgY29ycmVzcG9uZGluZyBmb3JtYXQtcGF0aHMuIE5PVEU6IE9ubHkgb25lIHByb3BlcnR5IHBlciBmb3JtYXQtcGF0aCBuZWVkcyB0byBiZSBwcm9jZXNzZWQuXG4gKiAtIGBlcXVpdmFsZW50UHJvcGVydGllc01hcGA6IEEgbWFwcGluZyBmcm9tIGVhY2ggcHJvcGVydHkgaW4gYHByb3BlcnRpZXNUb1Byb2Nlc3NgIHRvIHRoZSBsaXN0IG9mXG4gKiAgIG90aGVyIGZvcm1hdCBwcm9wZXJ0aWVzIGluIGBwYWNrYWdlLmpzb25gIHRoYXQgbmVlZCB0byBiZSBtYXJrZWQgYXMgcHJvY2Vzc2VkIGFzIHNvb24gYXMgdGhlXG4gKiAgIGZvcm1lciBoYXMgYmVlbiBwcm9jZXNzZWQuXG4gKi9cbmZ1bmN0aW9uIGdldFByb3BlcnRpZXNUb1Byb2Nlc3MoXG4gICAgcGFja2FnZUpzb246IEVudHJ5UG9pbnRQYWNrYWdlSnNvbiwgcHJvcGVydGllc1RvQ29uc2lkZXI6IEVudHJ5UG9pbnRKc29uUHJvcGVydHlbXSxcbiAgICBjb21waWxlQWxsRm9ybWF0czogYm9vbGVhbik6IHtcbiAgcHJvcGVydGllc1RvUHJvY2VzczogRW50cnlQb2ludEpzb25Qcm9wZXJ0eVtdO1xuICBlcXVpdmFsZW50UHJvcGVydGllc01hcDogTWFwPEVudHJ5UG9pbnRKc29uUHJvcGVydHksIEVudHJ5UG9pbnRKc29uUHJvcGVydHlbXT47XG59IHtcbiAgY29uc3QgZm9ybWF0UGF0aHNUb0NvbnNpZGVyID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgY29uc3QgcHJvcGVydGllc1RvUHJvY2VzczogRW50cnlQb2ludEpzb25Qcm9wZXJ0eVtdID0gW107XG4gIGZvciAoY29uc3QgcHJvcCBvZiBwcm9wZXJ0aWVzVG9Db25zaWRlcikge1xuICAgIGNvbnN0IGZvcm1hdFBhdGggPSBwYWNrYWdlSnNvbltwcm9wXTtcblxuICAgIC8vIElnbm9yZSBwcm9wZXJ0aWVzIHRoYXQgYXJlIG5vdCBkZWZpbmVkIGluIGBwYWNrYWdlLmpzb25gLlxuICAgIGlmICh0eXBlb2YgZm9ybWF0UGF0aCAhPT0gJ3N0cmluZycpIGNvbnRpbnVlO1xuXG4gICAgLy8gSWdub3JlIHByb3BlcnRpZXMgdGhhdCBtYXAgdG8gdGhlIHNhbWUgZm9ybWF0LXBhdGggYXMgYSBwcmVjZWRpbmcgcHJvcGVydHkuXG4gICAgaWYgKGZvcm1hdFBhdGhzVG9Db25zaWRlci5oYXMoZm9ybWF0UGF0aCkpIGNvbnRpbnVlO1xuXG4gICAgLy8gUHJvY2VzcyB0aGlzIHByb3BlcnR5LCBiZWNhdXNlIGl0IGlzIHRoZSBmaXJzdCBvbmUgdG8gbWFwIHRvIHRoaXMgZm9ybWF0LXBhdGguXG4gICAgZm9ybWF0UGF0aHNUb0NvbnNpZGVyLmFkZChmb3JtYXRQYXRoKTtcbiAgICBwcm9wZXJ0aWVzVG9Qcm9jZXNzLnB1c2gocHJvcCk7XG5cbiAgICAvLyBJZiB3ZSBvbmx5IG5lZWQgb25lIGZvcm1hdCBwcm9jZXNzZWQsIHRoZXJlIGlzIG5vIG5lZWQgdG8gcHJvY2VzcyBhbnkgbW9yZSBwcm9wZXJ0aWVzLlxuICAgIGlmICghY29tcGlsZUFsbEZvcm1hdHMpIGJyZWFrO1xuICB9XG5cbiAgY29uc3QgZm9ybWF0UGF0aFRvUHJvcGVydGllczoge1tmb3JtYXRQYXRoOiBzdHJpbmddOiBFbnRyeVBvaW50SnNvblByb3BlcnR5W119ID0ge307XG4gIGZvciAoY29uc3QgcHJvcCBvZiBTVVBQT1JURURfRk9STUFUX1BST1BFUlRJRVMpIHtcbiAgICBjb25zdCBmb3JtYXRQYXRoID0gcGFja2FnZUpzb25bcHJvcF07XG5cbiAgICAvLyBJZ25vcmUgcHJvcGVydGllcyB0aGF0IGFyZSBub3QgZGVmaW5lZCBpbiBgcGFja2FnZS5qc29uYC5cbiAgICBpZiAodHlwZW9mIGZvcm1hdFBhdGggIT09ICdzdHJpbmcnKSBjb250aW51ZTtcblxuICAgIC8vIElnbm9yZSBwcm9wZXJ0aWVzIHRoYXQgZG8gbm90IG1hcCB0byBhIGZvcm1hdC1wYXRoIHRoYXQgd2lsbCBiZSBjb25zaWRlcmVkLlxuICAgIGlmICghZm9ybWF0UGF0aHNUb0NvbnNpZGVyLmhhcyhmb3JtYXRQYXRoKSkgY29udGludWU7XG5cbiAgICAvLyBBZGQgdGhpcyBwcm9wZXJ0eSB0byB0aGUgbWFwLlxuICAgIGNvbnN0IGxpc3QgPSBmb3JtYXRQYXRoVG9Qcm9wZXJ0aWVzW2Zvcm1hdFBhdGhdIHx8IChmb3JtYXRQYXRoVG9Qcm9wZXJ0aWVzW2Zvcm1hdFBhdGhdID0gW10pO1xuICAgIGxpc3QucHVzaChwcm9wKTtcbiAgfVxuXG4gIGNvbnN0IGVxdWl2YWxlbnRQcm9wZXJ0aWVzTWFwID0gbmV3IE1hcDxFbnRyeVBvaW50SnNvblByb3BlcnR5LCBFbnRyeVBvaW50SnNvblByb3BlcnR5W10+KCk7XG4gIGZvciAoY29uc3QgcHJvcCBvZiBwcm9wZXJ0aWVzVG9Db25zaWRlcikge1xuICAgIGNvbnN0IGZvcm1hdFBhdGggPSBwYWNrYWdlSnNvbltwcm9wXSE7XG4gICAgY29uc3QgZXF1aXZhbGVudFByb3BlcnRpZXMgPSBmb3JtYXRQYXRoVG9Qcm9wZXJ0aWVzW2Zvcm1hdFBhdGhdO1xuICAgIGVxdWl2YWxlbnRQcm9wZXJ0aWVzTWFwLnNldChwcm9wLCBlcXVpdmFsZW50UHJvcGVydGllcyk7XG4gIH1cblxuICByZXR1cm4ge3Byb3BlcnRpZXNUb1Byb2Nlc3MsIGVxdWl2YWxlbnRQcm9wZXJ0aWVzTWFwfTtcbn1cblxuZnVuY3Rpb24gZ2V0VGFza1F1ZXVlKFxuICAgIGxvZ2dlcjogTG9nZ2VyLCBpblBhcmFsbGVsOiBib29sZWFuLCB0YXNrczogUGFydGlhbGx5T3JkZXJlZFRhc2tzLFxuICAgIGdyYXBoOiBEZXBHcmFwaDxFbnRyeVBvaW50Pik6IFRhc2tRdWV1ZSB7XG4gIGNvbnN0IGRlcGVuZGVuY2llcyA9IGNvbXB1dGVUYXNrRGVwZW5kZW5jaWVzKHRhc2tzLCBncmFwaCk7XG4gIHJldHVybiBpblBhcmFsbGVsID8gbmV3IFBhcmFsbGVsVGFza1F1ZXVlKGxvZ2dlciwgdGFza3MsIGRlcGVuZGVuY2llcykgOlxuICAgICAgICAgICAgICAgICAgICAgIG5ldyBTZXJpYWxUYXNrUXVldWUobG9nZ2VyLCB0YXNrcywgZGVwZW5kZW5jaWVzKTtcbn1cbiJdfQ==
|
|
@@ -17,4 +17,4 @@
|
|
|
17
17
|
"use strict";
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
19
|
});
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL25nY2Mvc3JjL2V4ZWN1dGlvbi9jbHVzdGVyL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7QWJzb2x1dGVGc1BhdGh9IGZyb20gJy4uLy4uLy4uLy4uL3NyYy9uZ3RzYy9maWxlX3N5c3RlbSc7XG5pbXBvcnQge0pzb25PYmplY3R9IGZyb20gJy4uLy4uL3BhY2thZ2VzL2VudHJ5X3BvaW50JztcbmltcG9ydCB7UGFja2FnZUpzb25DaGFuZ2V9IGZyb20gJy4uLy4uL3dyaXRpbmcvcGFja2FnZV9qc29uX3VwZGF0ZXInO1xuaW1wb3J0IHtUYXNrLCBUYXNrUHJvY2Vzc2luZ091dGNvbWV9IGZyb20gJy4uL3Rhc2tzL2FwaSc7XG5cblxuLyoqIEEgbWVzc2FnZSByZXBvcnRpbmcgdGhhdCBhbiB1bnJlY292ZXJhYmxlIGVycm9yIG9jY3VycmVkLiAqL1xuZXhwb3J0IGludGVyZmFjZSBFcnJvck1lc3NhZ2UgZXh0ZW5kcyBKc29uT2JqZWN0IHtcbiAgdHlwZTogJ2Vycm9yJztcbiAgZXJyb3I6IHN0cmluZztcbn1cblxuLyoqIEEgbWVzc2FnZSByZXF1ZXN0aW5nIHRoZSBwcm9jZXNzaW5nIG9mIGEgdGFzay4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvY2Vzc1Rhc2tNZXNzYWdlIGV4dGVuZHMgSnNvbk9iamVjdCB7XG4gIHR5cGU6ICdwcm9jZXNzLXRhc2snO1xuICB0YXNrOiBUYXNrO1xufVxuXG4vKipcbiAqIEEgbWVzc2FnZSByZXBvcnRpbmcgdGhlIHJlc3VsdCBvZiBwcm9jZXNzaW5nIHRoZSBjdXJyZW50bHkgYXNzaWduZWQgdGFzay5cbiAqXG4gKiBOT1RFOiBUbyBhdm9pZCB0aGUgY29tbXVuaWNhdGlvbiBvdmVyaGVhZCwgdGhlIHRhc2sgaXMgbm90IGluY2x1ZGVkIGluIHRoZSBtZXNzYWdlLiBJbnN0ZWFkLCB0aGVcbiAqICAgICAgIG1hc3RlciBpcyByZXNwb25zaWJsZSBmb3Iga2VlcGluZyBhIG1hcHBpbmcgb2Ygd29ya2VycyB0byB0aGVpciBjdXJyZW50bHkgYXNzaWduZWQgdGFza3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFza0NvbXBsZXRlZE1lc3NhZ2UgZXh0ZW5kcyBKc29uT2JqZWN0IHtcbiAgdHlwZTogJ3Rhc2stY29tcGxldGVkJztcbiAgb3V0Y29tZTogVGFza1Byb2Nlc3NpbmdPdXRjb21lO1xuICBtZXNzYWdlOiBzdHJpbmd8bnVsbDtcbn1cblxuLyoqIEEgbWVzc2FnZSByZXF1ZXN0aW5nIHRoZSB1cGRhdGUgb2YgYSBgcGFja2FnZS5qc29uYCBmaWxlLiAqL1xuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVQYWNrYWdlSnNvbk1lc3NhZ2UgZXh0ZW5kcyBKc29uT2JqZWN0IHtcbiAgdHlwZTogJ3VwZGF0ZS1wYWNrYWdlLWpzb24nO1xuICBwYWNrYWdlSnNvblBhdGg6IEFic29sdXRlRnNQYXRoO1xuICBjaGFuZ2VzOiBQYWNrYWdlSnNvbkNoYW5nZVtdO1xufVxuXG4vKiogVGhlIHR5cGUgb2YgbWVzc2FnZXMgc2VudCBmcm9tIGNsdXN0ZXIgd29ya2VycyB0byB0aGUgY2x1c3RlciBtYXN0ZXIuICovXG5leHBvcnQgdHlwZSBNZXNzYWdlRnJvbVdvcmtlciA9IEVycm9yTWVzc2FnZXxUYXNrQ29tcGxldGVkTWVzc2FnZXxVcGRhdGVQYWNrYWdlSnNvbk1lc3NhZ2U7XG5cbi8qKiBUaGUgdHlwZSBvZiBtZXNzYWdlcyBzZW50IGZyb20gdGhlIGNsdXN0ZXIgbWFzdGVyIHRvIGNsdXN0ZXIgd29ya2Vycy4gKi9cbmV4cG9ydCB0eXBlIE1lc3NhZ2VUb1dvcmtlciA9IFByb2Nlc3NUYXNrTWVzc2FnZTtcbiJdfQ==
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <amd-module name="@angular/compiler-cli/ngcc/src/execution/cluster/executor" />
|
|
1
2
|
/**
|
|
2
3
|
* @license
|
|
3
4
|
* Copyright Google Inc. All Rights Reserved.
|
|
@@ -5,7 +6,7 @@
|
|
|
5
6
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
7
|
* found in the LICENSE file at https://angular.io/license
|
|
7
8
|
*/
|
|
8
|
-
|
|
9
|
+
import { FileSystem } from '../../../../src/ngtsc/file_system';
|
|
9
10
|
import { AsyncLocker } from '../../locking/async_locker';
|
|
10
11
|
import { Logger } from '../../logging/logger';
|
|
11
12
|
import { PackageJsonUpdater } from '../../writing/package_json_updater';
|
|
@@ -17,10 +18,11 @@ import { CreateTaskCompletedCallback } from '../tasks/api';
|
|
|
17
18
|
*/
|
|
18
19
|
export declare class ClusterExecutor implements Executor {
|
|
19
20
|
private workerCount;
|
|
21
|
+
private fileSystem;
|
|
20
22
|
private logger;
|
|
21
23
|
private pkgJsonUpdater;
|
|
22
24
|
private lockFile;
|
|
23
25
|
private createTaskCompletedCallback;
|
|
24
|
-
constructor(workerCount: number, logger: Logger, pkgJsonUpdater: PackageJsonUpdater, lockFile: AsyncLocker, createTaskCompletedCallback: CreateTaskCompletedCallback);
|
|
25
|
-
execute(analyzeEntryPoints: AnalyzeEntryPointsFn,
|
|
26
|
+
constructor(workerCount: number, fileSystem: FileSystem, logger: Logger, pkgJsonUpdater: PackageJsonUpdater, lockFile: AsyncLocker, createTaskCompletedCallback: CreateTaskCompletedCallback);
|
|
27
|
+
execute(analyzeEntryPoints: AnalyzeEntryPointsFn, _createCompileFn: CreateCompileFn): Promise<void>;
|
|
26
28
|
}
|