@angular/compiler-cli 9.0.0-rc.6 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ngcc/src/analysis/decoration_analyzer.d.ts +13 -26
- package/ngcc/src/analysis/decoration_analyzer.js +100 -134
- package/ngcc/src/analysis/migration_host.d.ts +5 -16
- package/ngcc/src/analysis/migration_host.js +20 -91
- package/ngcc/src/analysis/module_with_providers_analyzer.js +2 -2
- package/ngcc/src/analysis/ngcc_trait_compiler.d.ts +42 -0
- package/ngcc/src/analysis/ngcc_trait_compiler.js +107 -0
- package/ngcc/src/analysis/private_declarations_analyzer.d.ts +0 -1
- package/ngcc/src/analysis/private_declarations_analyzer.js +4 -35
- package/ngcc/src/analysis/types.d.ts +6 -21
- package/ngcc/src/analysis/types.js +1 -1
- package/ngcc/src/analysis/util.d.ts +2 -5
- package/ngcc/src/analysis/util.js +11 -94
- package/ngcc/src/dependencies/commonjs_dependency_host.d.ts +1 -1
- package/ngcc/src/dependencies/commonjs_dependency_host.js +90 -39
- package/ngcc/src/dependencies/dependency_host.d.ts +7 -5
- package/ngcc/src/dependencies/dependency_host.js +12 -10
- package/ngcc/src/dependencies/dependency_resolver.d.ts +2 -1
- package/ngcc/src/dependencies/dependency_resolver.js +9 -4
- package/ngcc/src/dependencies/dts_dependency_host.d.ts +21 -0
- package/ngcc/src/dependencies/dts_dependency_host.js +34 -0
- package/ngcc/src/dependencies/esm_dependency_host.d.ts +8 -1
- package/ngcc/src/dependencies/esm_dependency_host.js +30 -22
- 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.d.ts +1 -1
- package/ngcc/src/dependencies/umd_dependency_host.js +3 -3
- package/ngcc/src/entry_point_finder/targeted_entry_point_finder.d.ts +2 -0
- package/ngcc/src/entry_point_finder/targeted_entry_point_finder.js +49 -9
- package/ngcc/src/execution/cluster/executor.d.ts +3 -1
- package/ngcc/src/execution/cluster/executor.js +12 -7
- package/ngcc/src/execution/cluster/package_json_updater.js +3 -2
- package/ngcc/src/execution/cluster/worker.d.ts +3 -1
- package/ngcc/src/execution/cluster/worker.js +10 -7
- package/ngcc/src/execution/lock_file.d.ts +43 -0
- package/ngcc/src/execution/lock_file.js +129 -0
- package/ngcc/src/execution/single_process_executor.d.ts +3 -1
- package/ngcc/src/execution/single_process_executor.js +18 -15
- package/ngcc/src/execution/task_selection/base_task_queue.d.ts +1 -1
- package/ngcc/src/host/commonjs_host.d.ts +6 -18
- package/ngcc/src/host/commonjs_host.js +45 -81
- package/ngcc/src/host/commonjs_umd_utils.d.ts +73 -0
- package/ngcc/src/host/commonjs_umd_utils.js +109 -0
- package/ngcc/src/host/esm2015_host.d.ts +46 -14
- package/ngcc/src/host/esm2015_host.js +182 -55
- package/ngcc/src/host/esm5_host.js +3 -1
- package/ngcc/src/host/umd_host.d.ts +12 -5
- package/ngcc/src/host/umd_host.js +144 -92
- package/ngcc/src/main.js +65 -122
- package/ngcc/src/migrations/migration.d.ts +1 -0
- package/ngcc/src/migrations/migration.js +1 -1
- package/ngcc/src/packages/build_marker.d.ts +17 -8
- package/ngcc/src/packages/build_marker.js +61 -32
- package/ngcc/src/packages/entry_point_bundle.js +2 -2
- package/ngcc/src/packages/transformer.js +5 -6
- package/ngcc/src/rendering/commonjs_rendering_formatter.js +9 -5
- package/ngcc/src/rendering/dts_renderer.js +8 -5
- package/ngcc/src/rendering/esm_rendering_formatter.js +17 -5
- package/ngcc/src/rendering/renderer.js +4 -4
- package/ngcc/src/rendering/umd_rendering_formatter.d.ts +18 -1
- package/ngcc/src/rendering/umd_rendering_formatter.js +69 -16
- package/ngcc/src/utils.d.ts +14 -0
- package/ngcc/src/utils.js +29 -1
- package/ngcc/src/writing/cleaning/cleaning_strategies.d.ts +45 -0
- package/ngcc/src/writing/cleaning/cleaning_strategies.js +77 -0
- package/ngcc/src/writing/cleaning/package_cleaner.d.ts +39 -0
- package/ngcc/src/writing/cleaning/package_cleaner.js +125 -0
- package/ngcc/src/writing/cleaning/utils.d.ts +16 -0
- package/ngcc/src/writing/cleaning/utils.js +29 -0
- package/ngcc/src/writing/in_place_file_writer.d.ts +1 -0
- package/ngcc/src/writing/in_place_file_writer.js +3 -2
- package/ngcc/src/writing/new_entry_point_file_writer.d.ts +2 -0
- package/ngcc/src/writing/new_entry_point_file_writer.js +5 -4
- package/ngcc/src/writing/package_json_updater.d.ts +24 -10
- package/ngcc/src/writing/package_json_updater.js +53 -10
- package/package.json +6 -5
- package/src/main.d.ts +2 -2
- package/src/metadata/symbols.d.ts +1 -1
- package/src/ngtsc/annotations/src/component.d.ts +58 -20
- package/src/ngtsc/annotations/src/component.js +149 -97
- package/src/ngtsc/annotations/src/diagnostics.d.ts +23 -0
- package/src/ngtsc/annotations/src/diagnostics.js +123 -0
- package/src/ngtsc/annotations/src/directive.d.ts +19 -8
- package/src/ngtsc/annotations/src/directive.js +41 -18
- package/src/ngtsc/annotations/src/injectable.d.ts +8 -4
- package/src/ngtsc/annotations/src/injectable.js +7 -3
- package/src/ngtsc/annotations/src/ng_module.d.ts +22 -7
- package/src/ngtsc/annotations/src/ng_module.js +115 -52
- package/src/ngtsc/annotations/src/pipe.d.ts +12 -6
- package/src/ngtsc/annotations/src/pipe.js +22 -5
- package/src/ngtsc/annotations/src/util.d.ts +22 -0
- package/src/ngtsc/annotations/src/util.js +92 -3
- package/src/ngtsc/core/api.d.ts +368 -0
- package/src/ngtsc/core/api.js +20 -0
- package/src/ngtsc/core/index.d.ts +10 -0
- package/src/ngtsc/core/index.js +24 -0
- package/src/ngtsc/core/src/compiler.d.ts +120 -0
- package/src/ngtsc/core/src/compiler.js +769 -0
- package/src/ngtsc/core/src/host.d.ts +85 -0
- package/src/ngtsc/core/src/host.js +208 -0
- package/src/ngtsc/cycles/src/imports.js +2 -2
- package/src/ngtsc/diagnostics/index.d.ts +1 -1
- package/src/ngtsc/diagnostics/index.js +5 -5
- package/src/ngtsc/diagnostics/src/error.d.ts +1 -1
- package/src/ngtsc/diagnostics/src/error.js +1 -1
- package/src/ngtsc/diagnostics/src/{code.d.ts → error_code.d.ts} +27 -4
- package/src/ngtsc/diagnostics/src/error_code.js +128 -0
- package/src/ngtsc/file_system/src/cached_file_system.d.ts +3 -1
- package/src/ngtsc/file_system/src/cached_file_system.js +48 -4
- package/src/ngtsc/file_system/src/invalid_file_system.d.ts +3 -1
- package/src/ngtsc/file_system/src/invalid_file_system.js +4 -2
- package/src/ngtsc/file_system/src/node_js_file_system.d.ts +3 -1
- package/src/ngtsc/file_system/src/node_js_file_system.js +8 -4
- package/src/ngtsc/file_system/src/types.d.ts +3 -1
- package/src/ngtsc/file_system/src/types.js +1 -1
- package/src/ngtsc/imports/index.d.ts +3 -3
- package/src/ngtsc/imports/index.js +4 -4
- package/src/ngtsc/imports/src/alias.d.ts +12 -11
- package/src/ngtsc/imports/src/alias.js +21 -16
- package/src/ngtsc/imports/src/emitter.d.ts +40 -19
- package/src/ngtsc/imports/src/emitter.js +54 -26
- package/src/ngtsc/imports/src/references.d.ts +30 -8
- package/src/ngtsc/imports/src/references.js +41 -6
- package/src/ngtsc/imports/src/resolver.d.ts +3 -6
- package/src/ngtsc/imports/src/resolver.js +5 -4
- package/src/ngtsc/incremental/api.d.ts +51 -0
- package/src/ngtsc/incremental/api.js +20 -0
- package/src/ngtsc/incremental/index.d.ts +1 -0
- package/src/ngtsc/incremental/index.js +4 -2
- package/src/ngtsc/incremental/src/dependency_tracking.d.ts +56 -0
- package/src/ngtsc/incremental/src/dependency_tracking.js +186 -0
- package/src/ngtsc/incremental/src/noop.d.ts +10 -0
- package/src/ngtsc/incremental/src/noop.js +23 -0
- package/src/ngtsc/incremental/src/state.d.ts +8 -14
- package/src/ngtsc/incremental/src/state.js +83 -80
- package/src/ngtsc/indexer/index.d.ts +1 -0
- package/src/ngtsc/indexer/index.js +4 -2
- package/src/ngtsc/metadata/index.d.ts +1 -1
- package/src/ngtsc/metadata/index.js +2 -1
- package/src/ngtsc/metadata/src/api.d.ts +8 -0
- package/src/ngtsc/metadata/src/api.js +1 -1
- package/src/ngtsc/metadata/src/dts.js +2 -1
- package/src/ngtsc/metadata/src/registry.d.ts +12 -1
- package/src/ngtsc/metadata/src/registry.js +22 -2
- package/src/ngtsc/metadata/src/util.d.ts +2 -0
- package/src/ngtsc/metadata/src/util.js +10 -1
- package/src/ngtsc/modulewithproviders/src/scanner.js +2 -2
- package/src/ngtsc/partial_evaluator/index.d.ts +1 -1
- package/src/ngtsc/partial_evaluator/index.js +1 -1
- package/src/ngtsc/partial_evaluator/src/builtin.d.ts +7 -6
- package/src/ngtsc/partial_evaluator/src/builtin.js +54 -9
- package/src/ngtsc/partial_evaluator/src/interface.d.ts +3 -9
- package/src/ngtsc/partial_evaluator/src/interface.js +4 -3
- package/src/ngtsc/partial_evaluator/src/interpreter.d.ts +4 -3
- package/src/ngtsc/partial_evaluator/src/interpreter.js +11 -7
- package/src/ngtsc/partial_evaluator/src/known_declaration.d.ts +19 -0
- package/src/ngtsc/partial_evaluator/src/known_declaration.js +38 -0
- package/src/ngtsc/partial_evaluator/src/result.d.ts +1 -1
- package/src/ngtsc/partial_evaluator/src/result.js +1 -1
- package/src/ngtsc/partial_evaluator/src/ts_helpers.d.ts +1 -1
- package/src/ngtsc/partial_evaluator/src/ts_helpers.js +13 -3
- package/src/ngtsc/program.d.ts +46 -57
- package/src/ngtsc/program.js +68 -574
- package/src/ngtsc/reflection/src/host.d.ts +19 -2
- package/src/ngtsc/reflection/src/host.js +17 -3
- package/src/ngtsc/reflection/src/typescript.js +11 -7
- package/src/ngtsc/resource/index.d.ts +9 -0
- package/src/ngtsc/resource/index.js +22 -0
- package/src/ngtsc/{resource_loader.d.ts → resource/src/loader.d.ts} +4 -4
- package/src/ngtsc/resource/src/loader.js +193 -0
- package/src/ngtsc/routing/src/route.js +2 -2
- package/src/ngtsc/scope/index.d.ts +1 -1
- package/src/ngtsc/scope/index.js +1 -1
- package/src/ngtsc/scope/src/component_scope.d.ts +2 -2
- package/src/ngtsc/scope/src/component_scope.js +1 -1
- package/src/ngtsc/scope/src/dependency.js +10 -8
- package/src/ngtsc/scope/src/local.d.ts +31 -4
- package/src/ngtsc/scope/src/local.js +83 -15
- package/src/ngtsc/shims/index.d.ts +2 -1
- package/src/ngtsc/shims/index.js +4 -5
- package/src/ngtsc/shims/src/api.d.ts +25 -0
- package/src/ngtsc/shims/src/api.js +13 -0
- package/src/ngtsc/shims/src/factory_generator.d.ts +2 -2
- package/src/ngtsc/shims/src/factory_generator.js +1 -1
- package/src/ngtsc/shims/src/factory_tracker.d.ts +24 -0
- package/src/ngtsc/shims/src/factory_tracker.js +47 -0
- package/src/ngtsc/shims/src/summary_generator.d.ts +1 -1
- package/src/ngtsc/shims/src/summary_generator.js +1 -1
- package/src/ngtsc/shims/src/typecheck_shim.d.ts +1 -1
- package/src/ngtsc/shims/src/typecheck_shim.js +1 -1
- package/src/ngtsc/synthetic_files_compiler_host.d.ts +1 -1
- package/src/ngtsc/transform/index.d.ts +3 -1
- package/src/ngtsc/transform/index.js +8 -3
- package/src/ngtsc/transform/src/alias.d.ts +1 -1
- package/src/ngtsc/transform/src/alias.js +1 -1
- package/src/ngtsc/transform/src/api.d.ts +52 -17
- package/src/ngtsc/transform/src/api.js +1 -1
- package/src/ngtsc/transform/src/compilation.d.ts +68 -47
- package/src/ngtsc/transform/src/compilation.js +498 -313
- package/src/ngtsc/transform/src/declaration.d.ts +1 -1
- package/src/ngtsc/transform/src/declaration.js +6 -1
- package/src/ngtsc/transform/src/trait.d.ts +169 -0
- package/src/ngtsc/transform/src/trait.js +114 -0
- package/src/ngtsc/transform/src/transform.d.ts +2 -2
- package/src/ngtsc/transform/src/transform.js +4 -4
- package/src/ngtsc/translator/src/translator.d.ts +11 -9
- package/src/ngtsc/translator/src/translator.js +51 -18
- package/src/ngtsc/typecheck/index.d.ts +1 -0
- package/src/ngtsc/typecheck/index.js +4 -2
- package/src/ngtsc/typecheck/src/api.d.ts +12 -1
- package/src/ngtsc/typecheck/src/api.js +1 -1
- package/src/ngtsc/typecheck/src/context.d.ts +3 -2
- package/src/ngtsc/typecheck/src/context.js +10 -8
- package/src/ngtsc/typecheck/src/diagnostics.d.ts +30 -31
- package/src/ngtsc/typecheck/src/diagnostics.js +108 -70
- package/src/ngtsc/typecheck/src/dom.d.ts +6 -5
- package/src/ngtsc/typecheck/src/dom.js +3 -3
- package/src/ngtsc/typecheck/src/environment.d.ts +5 -3
- package/src/ngtsc/typecheck/src/environment.js +20 -8
- package/src/ngtsc/typecheck/src/expression.d.ts +2 -3
- package/src/ngtsc/typecheck/src/expression.js +26 -23
- package/src/ngtsc/typecheck/src/host.d.ts +1 -0
- package/src/ngtsc/typecheck/src/host.js +4 -1
- package/src/ngtsc/typecheck/src/oob.d.ts +11 -11
- package/src/ngtsc/typecheck/src/oob.js +15 -4
- package/src/ngtsc/typecheck/src/source.d.ts +9 -9
- package/src/ngtsc/typecheck/src/source.js +15 -15
- package/src/ngtsc/typecheck/src/template_semantics.d.ts +22 -0
- package/src/ngtsc/typecheck/src/template_semantics.js +51 -0
- package/src/ngtsc/typecheck/src/ts_util.js +36 -1
- package/src/ngtsc/typecheck/src/type_check_block.d.ts +3 -3
- package/src/ngtsc/typecheck/src/type_check_block.js +70 -43
- package/src/ngtsc/typecheck/src/type_check_file.d.ts +2 -2
- package/src/ngtsc/typecheck/src/type_check_file.js +3 -3
- package/src/ngtsc/typecheck/src/type_constructor.d.ts +4 -4
- package/src/ngtsc/typecheck/src/type_constructor.js +15 -10
- package/src/ngtsc/typecheck/src/type_emitter.d.ts +72 -0
- package/src/ngtsc/typecheck/src/type_emitter.js +150 -0
- package/src/ngtsc/typecheck/src/type_parameter_emitter.d.ts +31 -0
- package/src/ngtsc/typecheck/src/type_parameter_emitter.js +96 -0
- package/src/ngtsc/util/src/typescript.d.ts +7 -1
- package/src/ngtsc/util/src/typescript.js +15 -5
- package/src/perform_watch.js +6 -5
- package/src/transformers/api.d.ts +3 -204
- package/src/transformers/api.js +1 -1
- package/src/transformers/compiler_host.js +2 -2
- package/src/transformers/program.js +1 -1
- package/src/typescript_support.js +2 -2
- package/src/version.js +1 -1
- package/src/ngtsc/diagnostics/src/code.js +0 -101
- package/src/ngtsc/resource_loader.js +0 -193
- package/src/ngtsc/shims/src/host.d.ts +0 -46
- package/src/ngtsc/shims/src/host.js +0 -82
- package/src/ngtsc/util/src/resource_recorder.d.ts +0 -18
- package/src/ngtsc/util/src/resource_recorder.js +0 -20
package/ngcc/src/utils.js
CHANGED
|
@@ -72,6 +72,30 @@
|
|
|
72
72
|
return /^\/|^\.\.?($|\/)/.test(path);
|
|
73
73
|
}
|
|
74
74
|
exports.isRelativePath = isRelativePath;
|
|
75
|
+
/**
|
|
76
|
+
* A `Map`-like object that can compute and memoize a missing value for any key.
|
|
77
|
+
*
|
|
78
|
+
* The computed values are memoized, so the factory function is not called more than once per key.
|
|
79
|
+
* This is useful for storing values that are expensive to compute and may be used multiple times.
|
|
80
|
+
*/
|
|
81
|
+
// NOTE:
|
|
82
|
+
// Ideally, this class should extend `Map`, but that causes errors in ES5 transpiled code:
|
|
83
|
+
// `TypeError: Constructor Map requires 'new'`
|
|
84
|
+
var FactoryMap = /** @class */ (function () {
|
|
85
|
+
function FactoryMap(factory, entries) {
|
|
86
|
+
this.factory = factory;
|
|
87
|
+
this.internalMap = new Map(entries);
|
|
88
|
+
}
|
|
89
|
+
FactoryMap.prototype.get = function (key) {
|
|
90
|
+
if (!this.internalMap.has(key)) {
|
|
91
|
+
this.internalMap.set(key, this.factory(key));
|
|
92
|
+
}
|
|
93
|
+
return this.internalMap.get(key);
|
|
94
|
+
};
|
|
95
|
+
FactoryMap.prototype.set = function (key, value) { this.internalMap.set(key, value); };
|
|
96
|
+
return FactoryMap;
|
|
97
|
+
}());
|
|
98
|
+
exports.FactoryMap = FactoryMap;
|
|
75
99
|
/**
|
|
76
100
|
* Attempt to resolve a `path` to a file by appending the provided `postFixes`
|
|
77
101
|
* to the `path` and checking if the file exists on disk.
|
|
@@ -109,5 +133,9 @@
|
|
|
109
133
|
return value.replace(/\$\d+$/, '');
|
|
110
134
|
}
|
|
111
135
|
exports.stripDollarSuffix = stripDollarSuffix;
|
|
136
|
+
function stripExtension(fileName) {
|
|
137
|
+
return fileName.replace(/\..+$/, '');
|
|
138
|
+
}
|
|
139
|
+
exports.stripExtension = stripExtension;
|
|
112
140
|
});
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvbmdjYy9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQUE7Ozs7OztPQU1HO0lBQ0gsK0JBQWlDO0lBQ2pDLDJFQUFxRjtJQXdCckYsU0FBZ0IsaUJBQWlCLENBQUMsT0FBdUI7UUFDdkQsT0FBTyxVQUFTLE1BQWlCO1lBQy9CLE9BQU8sRUFBRSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDekYsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUpELDhDQUlDO0lBRUQsU0FBZ0IsU0FBUyxDQUFJLEtBQTJCO1FBQ3RELE9BQU8sQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUZELDhCQUVDO0lBRUQsU0FBZ0IsV0FBVyxDQUFDLElBQXNDO1FBQ2hFLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM1RixDQUFDO0lBRkQsa0NBRUM7SUFFRDs7Ozs7T0FLRztJQUNILFNBQWdCLE9BQU8sQ0FBSSxJQUFhLEVBQUUsSUFBNEM7UUFDcEYsSUFBTSxLQUFLLEdBQVEsRUFBRSxDQUFDO1FBQ3RCLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQixPQUFPLEtBQUssQ0FBQztRQUViLFNBQVMsY0FBYyxDQUFDLENBQVU7WUFDaEMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ1gsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNmO2lCQUFNO2dCQUNMLENBQUMsQ0FBQyxZQUFZLENBQUMsVUFBQSxLQUFLLElBQUksT0FBQSxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQXJCLENBQXFCLENBQUMsQ0FBQzthQUNoRDtRQUNILENBQUM7SUFDSCxDQUFDO0lBWkQsMEJBWUM7SUFFRDs7OztPQUlHO0lBQ0gsU0FBZ0IsaUJBQWlCLENBQUMsV0FBMkI7UUFFM0QsSUFBTSxnQkFBZ0IsR0FBb0MsV0FBVyxDQUFDO1FBQ3RFLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFKRCw4Q0FJQztJQU9EOzs7O09BSUc7SUFDSCxTQUFnQixjQUFjLENBQUMsSUFBWTtRQUN6QyxPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRkQsd0NBRUM7SUFFRDs7OztPQUlHO0lBQ0gsU0FBZ0Isd0JBQXdCLENBQ3BDLEVBQWMsRUFBRSxJQUFvQixFQUFFLFNBQW1COzs7WUFDM0QsS0FBc0IsSUFBQSxjQUFBLGlCQUFBLFNBQVMsQ0FBQSxvQ0FBQSwyREFBRTtnQkFBNUIsSUFBTSxPQUFPLHNCQUFBO2dCQUNoQixJQUFNLFFBQVEsR0FBRywwQkFBWSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQztnQkFDOUMsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7b0JBQ3JELE9BQU8sUUFBUSxDQUFDO2lCQUNqQjthQUNGOzs7Ozs7Ozs7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFURCw0REFTQztJQUVEOzs7Ozs7T0FNRztJQUNILFNBQWdCLGlCQUFpQixDQUFDLEtBQWE7UUFDN0MsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRkQsOENBRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQgKiBhcyB0cyBmcm9tICd0eXBlc2NyaXB0JztcbmltcG9ydCB7QWJzb2x1dGVGc1BhdGgsIEZpbGVTeXN0ZW0sIGFic29sdXRlRnJvbX0gZnJvbSAnLi4vLi4vc3JjL25ndHNjL2ZpbGVfc3lzdGVtJztcblxuLyoqXG4gKiBBIGxpc3QgKGBBcnJheWApIG9mIHBhcnRpYWxseSBvcmRlcmVkIGBUYCBpdGVtcy5cbiAqXG4gKiBUaGUgaXRlbXMgaW4gdGhlIGxpc3QgYXJlIHBhcnRpYWxseSBvcmRlcmVkIGluIHRoZSBzZW5zZSB0aGF0IGFueSBlbGVtZW50IGhhcyBlaXRoZXIgdGhlIHNhbWUgb3JcbiAqIGhpZ2hlciBwcmVjZWRlbmNlIHRoYW4gYW55IGVsZW1lbnQgd2hpY2ggYXBwZWFycyBsYXRlciBpbiB0aGUgbGlzdC4gV2hhdCBcImhpZ2hlciBwcmVjZWRlbmNlXCJcbiAqIG1lYW5zIGFuZCBob3cgaXQgaXMgZGV0ZXJtaW5lZCBpcyBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQuXG4gKlxuICogU2VlIFtQYXJ0aWFsbHlPcmRlcmVkU2V0XShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9QYXJ0aWFsbHlfb3JkZXJlZF9zZXQpIGZvciBtb3JlIGRldGFpbHMuXG4gKiAoUmVmcmFpbmluZyBmcm9tIHVzaW5nIHRoZSB0ZXJtIFwic2V0XCIgaGVyZSwgdG8gYXZvaWQgY29uZnVzaW9uIHdpdGggSmF2YVNjcmlwdCdzXG4gKiBbU2V0XShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9TZXQpLilcbiAqXG4gKiBOT1RFOiBBIHBsYWluIGBBcnJheTxUPmAgaXMgbm90IGFzc2lnbmFibGUgdG8gYSBgUGFydGlhbGx5T3JkZXJlZExpc3Q8VD5gLCBidXQgYVxuICogICAgICAgYFBhcnRpYWxseU9yZGVyZWRMaXN0PFQ+YCBpcyBhc3NpZ25hYmxlIHRvIGFuIGBBcnJheTxUPmAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydGlhbGx5T3JkZXJlZExpc3Q8VD4gZXh0ZW5kcyBBcnJheTxUPiB7XG4gIF9wYXJ0aWFsbHlPcmRlcmVkOiB0cnVlO1xuXG4gIG1hcDxVPihjYWxsYmFja2ZuOiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIsIGFycmF5OiBQYXJ0aWFsbHlPcmRlcmVkTGlzdDxUPikgPT4gVSwgdGhpc0FyZz86IGFueSk6XG4gICAgICBQYXJ0aWFsbHlPcmRlcmVkTGlzdDxVPjtcbiAgc2xpY2UoLi4uYXJnczogUGFyYW1ldGVyczxBcnJheTxUPlsnc2xpY2UnXT4pOiBQYXJ0aWFsbHlPcmRlcmVkTGlzdDxUPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE9yaWdpbmFsU3ltYm9sKGNoZWNrZXI6IHRzLlR5cGVDaGVja2VyKTogKHN5bWJvbDogdHMuU3ltYm9sKSA9PiB0cy5TeW1ib2wge1xuICByZXR1cm4gZnVuY3Rpb24oc3ltYm9sOiB0cy5TeW1ib2wpIHtcbiAgICByZXR1cm4gdHMuU3ltYm9sRmxhZ3MuQWxpYXMgJiBzeW1ib2wuZmxhZ3MgPyBjaGVja2VyLmdldEFsaWFzZWRTeW1ib2woc3ltYm9sKSA6IHN5bWJvbDtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGVmaW5lZDxUPih2YWx1ZTogVCB8IHVuZGVmaW5lZCB8IG51bGwpOiB2YWx1ZSBpcyBUIHtcbiAgcmV0dXJuICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSAmJiAodmFsdWUgIT09IG51bGwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmFtZVRleHQobmFtZTogdHMuUHJvcGVydHlOYW1lIHwgdHMuQmluZGluZ05hbWUpOiBzdHJpbmcge1xuICByZXR1cm4gdHMuaXNJZGVudGlmaWVyKG5hbWUpIHx8IHRzLmlzTGl0ZXJhbEV4cHJlc3Npb24obmFtZSkgPyBuYW1lLnRleHQgOiBuYW1lLmdldFRleHQoKTtcbn1cblxuLyoqXG4gKiBQYXJzZSBkb3duIHRoZSBBU1QgYW5kIGNhcHR1cmUgYWxsIHRoZSBub2RlcyB0aGF0IHNhdGlzZnkgdGhlIHRlc3QuXG4gKiBAcGFyYW0gbm9kZSBUaGUgc3RhcnQgbm9kZS5cbiAqIEBwYXJhbSB0ZXN0IFRoZSBmdW5jdGlvbiB0aGF0IHRlc3RzIHdoZXRoZXIgYSBub2RlIHNob3VsZCBiZSBpbmNsdWRlZC5cbiAqIEByZXR1cm5zIGEgY29sbGVjdGlvbiBvZiBub2RlcyB0aGF0IHNhdGlzZnkgdGhlIHRlc3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kQWxsPFQ+KG5vZGU6IHRzLk5vZGUsIHRlc3Q6IChub2RlOiB0cy5Ob2RlKSA9PiBub2RlIGlzIHRzLk5vZGUgJiBUKTogVFtdIHtcbiAgY29uc3Qgbm9kZXM6IFRbXSA9IFtdO1xuICBmaW5kQWxsVmlzaXRvcihub2RlKTtcbiAgcmV0dXJuIG5vZGVzO1xuXG4gIGZ1bmN0aW9uIGZpbmRBbGxWaXNpdG9yKG46IHRzLk5vZGUpIHtcbiAgICBpZiAodGVzdChuKSkge1xuICAgICAgbm9kZXMucHVzaChuKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbi5mb3JFYWNoQ2hpbGQoY2hpbGQgPT4gZmluZEFsbFZpc2l0b3IoY2hpbGQpKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBEb2VzIHRoZSBnaXZlbiBkZWNsYXJhdGlvbiBoYXZlIGEgbmFtZSB3aGljaCBpcyBhbiBpZGVudGlmaWVyP1xuICogQHBhcmFtIGRlY2xhcmF0aW9uIFRoZSBkZWNsYXJhdGlvbiB0byB0ZXN0LlxuICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgZGVjbGFyYXRpb24gaGFzIGFuIGlkZW50aWZpZXIgZm9yIGEgbmFtZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc05hbWVJZGVudGlmaWVyKGRlY2xhcmF0aW9uOiB0cy5EZWNsYXJhdGlvbik6IGRlY2xhcmF0aW9uIGlzIHRzLkRlY2xhcmF0aW9uJlxuICAgIHtuYW1lOiB0cy5JZGVudGlmaWVyfSB7XG4gIGNvbnN0IG5hbWVkRGVjbGFyYXRpb246IHRzLkRlY2xhcmF0aW9uJntuYW1lPzogdHMuTm9kZX0gPSBkZWNsYXJhdGlvbjtcbiAgcmV0dXJuIG5hbWVkRGVjbGFyYXRpb24ubmFtZSAhPT0gdW5kZWZpbmVkICYmIHRzLmlzSWRlbnRpZmllcihuYW1lZERlY2xhcmF0aW9uLm5hbWUpO1xufVxuXG5leHBvcnQgdHlwZSBQYXRoTWFwcGluZ3MgPSB7XG4gIGJhc2VVcmw6IHN0cmluZyxcbiAgcGF0aHM6IHtba2V5OiBzdHJpbmddOiBzdHJpbmdbXX1cbn07XG5cbi8qKlxuICogVGVzdCB3aGV0aGVyIGEgcGF0aCBpcyBcInJlbGF0aXZlXCIuXG4gKlxuICogUmVsYXRpdmUgcGF0aHMgc3RhcnQgd2l0aCBgL2AsIGAuL2Agb3IgYC4uL2A7IG9yIGFyZSBzaW1wbHkgYC5gIG9yIGAuLmAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1JlbGF0aXZlUGF0aChwYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIC9eXFwvfF5cXC5cXC4/KCR8XFwvKS8udGVzdChwYXRoKTtcbn1cblxuLyoqXG4gKiBBdHRlbXB0IHRvIHJlc29sdmUgYSBgcGF0aGAgdG8gYSBmaWxlIGJ5IGFwcGVuZGluZyB0aGUgcHJvdmlkZWQgYHBvc3RGaXhlc2BcbiAqIHRvIHRoZSBgcGF0aGAgYW5kIGNoZWNraW5nIGlmIHRoZSBmaWxlIGV4aXN0cyBvbiBkaXNrLlxuICogQHJldHVybnMgQW4gYWJzb2x1dGUgcGF0aCB0byB0aGUgZmlyc3QgbWF0Y2hpbmcgZXhpc3RpbmcgZmlsZSwgb3IgYG51bGxgIGlmIG5vbmUgZXhpc3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlRmlsZVdpdGhQb3N0Zml4ZXMoXG4gICAgZnM6IEZpbGVTeXN0ZW0sIHBhdGg6IEFic29sdXRlRnNQYXRoLCBwb3N0Rml4ZXM6IHN0cmluZ1tdKTogQWJzb2x1dGVGc1BhdGh8bnVsbCB7XG4gIGZvciAoY29uc3QgcG9zdEZpeCBvZiBwb3N0Rml4ZXMpIHtcbiAgICBjb25zdCB0ZXN0UGF0aCA9IGFic29sdXRlRnJvbShwYXRoICsgcG9zdEZpeCk7XG4gICAgaWYgKGZzLmV4aXN0cyh0ZXN0UGF0aCkgJiYgZnMuc3RhdCh0ZXN0UGF0aCkuaXNGaWxlKCkpIHtcbiAgICAgIHJldHVybiB0ZXN0UGF0aDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8qKlxuICogQW4gaWRlbnRpZmllciBtYXkgYmVjb21lIHJlcGVhdGVkIHdoZW4gYnVuZGxpbmcgbXVsdGlwbGUgc291cmNlIGZpbGVzIGludG8gYSBzaW5nbGUgYnVuZGxlLCBzb1xuICogYnVuZGxlcnMgaGF2ZSBhIHN0cmF0ZWd5IG9mIHN1ZmZpeGluZyBub24tdW5pcXVlIGlkZW50aWZpZXJzIHdpdGggYSBzdWZmaXggbGlrZSAkMi4gVGhpcyBmdW5jdGlvblxuICogc3RyaXBzIG9mZiBzdWNoIHN1ZmZpeGVzLCBzbyB0aGF0IG5nY2MgZGVhbHMgd2l0aCB0aGUgY2Fub25pY2FsIG5hbWUgb2YgYW4gaWRlbnRpZmllci5cbiAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gc3RyaXAgYW55IHN1ZmZpeCBvZiwgaWYgYXBwbGljYWJsZS5cbiAqIEByZXR1cm5zIFRoZSBjYW5vbmljYWwgcmVwcmVzZW50YXRpb24gb2YgdGhlIHZhbHVlLCB3aXRob3V0IGFueSBzdWZmaXguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdHJpcERvbGxhclN1ZmZpeCh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL1xcJFxcZCskLywgJycpO1xufVxuIl19
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvbmdjYy9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQUE7Ozs7OztPQU1HO0lBQ0gsK0JBQWlDO0lBQ2pDLDJFQUFxRjtJQXdCckYsU0FBZ0IsaUJBQWlCLENBQUMsT0FBdUI7UUFDdkQsT0FBTyxVQUFTLE1BQWlCO1lBQy9CLE9BQU8sRUFBRSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDekYsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUpELDhDQUlDO0lBRUQsU0FBZ0IsU0FBUyxDQUFJLEtBQTJCO1FBQ3RELE9BQU8sQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUZELDhCQUVDO0lBRUQsU0FBZ0IsV0FBVyxDQUFDLElBQXNDO1FBQ2hFLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM1RixDQUFDO0lBRkQsa0NBRUM7SUFFRDs7Ozs7T0FLRztJQUNILFNBQWdCLE9BQU8sQ0FBSSxJQUFhLEVBQUUsSUFBNEM7UUFDcEYsSUFBTSxLQUFLLEdBQVEsRUFBRSxDQUFDO1FBQ3RCLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQixPQUFPLEtBQUssQ0FBQztRQUViLFNBQVMsY0FBYyxDQUFDLENBQVU7WUFDaEMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ1gsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNmO2lCQUFNO2dCQUNMLENBQUMsQ0FBQyxZQUFZLENBQUMsVUFBQSxLQUFLLElBQUksT0FBQSxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQXJCLENBQXFCLENBQUMsQ0FBQzthQUNoRDtRQUNILENBQUM7SUFDSCxDQUFDO0lBWkQsMEJBWUM7SUFFRDs7OztPQUlHO0lBQ0gsU0FBZ0IsaUJBQWlCLENBQUMsV0FBMkI7UUFFM0QsSUFBTSxnQkFBZ0IsR0FBb0MsV0FBVyxDQUFDO1FBQ3RFLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFKRCw4Q0FJQztJQU9EOzs7O09BSUc7SUFDSCxTQUFnQixjQUFjLENBQUMsSUFBWTtRQUN6QyxPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRkQsd0NBRUM7SUFFRDs7Ozs7T0FLRztJQUNILFFBQVE7SUFDUiwwRkFBMEY7SUFDMUYsOENBQThDO0lBQzlDO1FBR0Usb0JBQW9CLE9BQXNCLEVBQUUsT0FBeUM7WUFBakUsWUFBTyxHQUFQLE9BQU8sQ0FBZTtZQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RDLENBQUM7UUFFRCx3QkFBRyxHQUFILFVBQUksR0FBTTtZQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUM5QztZQUVELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFHLENBQUM7UUFDckMsQ0FBQztRQUVELHdCQUFHLEdBQUgsVUFBSSxHQUFNLEVBQUUsS0FBUSxJQUFVLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkUsaUJBQUM7SUFBRCxDQUFDLEFBaEJELElBZ0JDO0lBaEJZLGdDQUFVO0lBa0J2Qjs7OztPQUlHO0lBQ0gsU0FBZ0Isd0JBQXdCLENBQ3BDLEVBQWMsRUFBRSxJQUFvQixFQUFFLFNBQW1COzs7WUFDM0QsS0FBc0IsSUFBQSxjQUFBLGlCQUFBLFNBQVMsQ0FBQSxvQ0FBQSwyREFBRTtnQkFBNUIsSUFBTSxPQUFPLHNCQUFBO2dCQUNoQixJQUFNLFFBQVEsR0FBRywwQkFBWSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQztnQkFDOUMsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7b0JBQ3JELE9BQU8sUUFBUSxDQUFDO2lCQUNqQjthQUNGOzs7Ozs7Ozs7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFURCw0REFTQztJQUVEOzs7Ozs7T0FNRztJQUNILFNBQWdCLGlCQUFpQixDQUFDLEtBQWE7UUFDN0MsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRkQsOENBRUM7SUFFRCxTQUFnQixjQUFjLENBQUMsUUFBZ0I7UUFDN0MsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRkQsd0NBRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQgKiBhcyB0cyBmcm9tICd0eXBlc2NyaXB0JztcbmltcG9ydCB7QWJzb2x1dGVGc1BhdGgsIEZpbGVTeXN0ZW0sIGFic29sdXRlRnJvbX0gZnJvbSAnLi4vLi4vc3JjL25ndHNjL2ZpbGVfc3lzdGVtJztcblxuLyoqXG4gKiBBIGxpc3QgKGBBcnJheWApIG9mIHBhcnRpYWxseSBvcmRlcmVkIGBUYCBpdGVtcy5cbiAqXG4gKiBUaGUgaXRlbXMgaW4gdGhlIGxpc3QgYXJlIHBhcnRpYWxseSBvcmRlcmVkIGluIHRoZSBzZW5zZSB0aGF0IGFueSBlbGVtZW50IGhhcyBlaXRoZXIgdGhlIHNhbWUgb3JcbiAqIGhpZ2hlciBwcmVjZWRlbmNlIHRoYW4gYW55IGVsZW1lbnQgd2hpY2ggYXBwZWFycyBsYXRlciBpbiB0aGUgbGlzdC4gV2hhdCBcImhpZ2hlciBwcmVjZWRlbmNlXCJcbiAqIG1lYW5zIGFuZCBob3cgaXQgaXMgZGV0ZXJtaW5lZCBpcyBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQuXG4gKlxuICogU2VlIFtQYXJ0aWFsbHlPcmRlcmVkU2V0XShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9QYXJ0aWFsbHlfb3JkZXJlZF9zZXQpIGZvciBtb3JlIGRldGFpbHMuXG4gKiAoUmVmcmFpbmluZyBmcm9tIHVzaW5nIHRoZSB0ZXJtIFwic2V0XCIgaGVyZSwgdG8gYXZvaWQgY29uZnVzaW9uIHdpdGggSmF2YVNjcmlwdCdzXG4gKiBbU2V0XShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9TZXQpLilcbiAqXG4gKiBOT1RFOiBBIHBsYWluIGBBcnJheTxUPmAgaXMgbm90IGFzc2lnbmFibGUgdG8gYSBgUGFydGlhbGx5T3JkZXJlZExpc3Q8VD5gLCBidXQgYVxuICogICAgICAgYFBhcnRpYWxseU9yZGVyZWRMaXN0PFQ+YCBpcyBhc3NpZ25hYmxlIHRvIGFuIGBBcnJheTxUPmAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydGlhbGx5T3JkZXJlZExpc3Q8VD4gZXh0ZW5kcyBBcnJheTxUPiB7XG4gIF9wYXJ0aWFsbHlPcmRlcmVkOiB0cnVlO1xuXG4gIG1hcDxVPihjYWxsYmFja2ZuOiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIsIGFycmF5OiBQYXJ0aWFsbHlPcmRlcmVkTGlzdDxUPikgPT4gVSwgdGhpc0FyZz86IGFueSk6XG4gICAgICBQYXJ0aWFsbHlPcmRlcmVkTGlzdDxVPjtcbiAgc2xpY2UoLi4uYXJnczogUGFyYW1ldGVyczxBcnJheTxUPlsnc2xpY2UnXT4pOiBQYXJ0aWFsbHlPcmRlcmVkTGlzdDxUPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE9yaWdpbmFsU3ltYm9sKGNoZWNrZXI6IHRzLlR5cGVDaGVja2VyKTogKHN5bWJvbDogdHMuU3ltYm9sKSA9PiB0cy5TeW1ib2wge1xuICByZXR1cm4gZnVuY3Rpb24oc3ltYm9sOiB0cy5TeW1ib2wpIHtcbiAgICByZXR1cm4gdHMuU3ltYm9sRmxhZ3MuQWxpYXMgJiBzeW1ib2wuZmxhZ3MgPyBjaGVja2VyLmdldEFsaWFzZWRTeW1ib2woc3ltYm9sKSA6IHN5bWJvbDtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGVmaW5lZDxUPih2YWx1ZTogVCB8IHVuZGVmaW5lZCB8IG51bGwpOiB2YWx1ZSBpcyBUIHtcbiAgcmV0dXJuICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSAmJiAodmFsdWUgIT09IG51bGwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmFtZVRleHQobmFtZTogdHMuUHJvcGVydHlOYW1lIHwgdHMuQmluZGluZ05hbWUpOiBzdHJpbmcge1xuICByZXR1cm4gdHMuaXNJZGVudGlmaWVyKG5hbWUpIHx8IHRzLmlzTGl0ZXJhbEV4cHJlc3Npb24obmFtZSkgPyBuYW1lLnRleHQgOiBuYW1lLmdldFRleHQoKTtcbn1cblxuLyoqXG4gKiBQYXJzZSBkb3duIHRoZSBBU1QgYW5kIGNhcHR1cmUgYWxsIHRoZSBub2RlcyB0aGF0IHNhdGlzZnkgdGhlIHRlc3QuXG4gKiBAcGFyYW0gbm9kZSBUaGUgc3RhcnQgbm9kZS5cbiAqIEBwYXJhbSB0ZXN0IFRoZSBmdW5jdGlvbiB0aGF0IHRlc3RzIHdoZXRoZXIgYSBub2RlIHNob3VsZCBiZSBpbmNsdWRlZC5cbiAqIEByZXR1cm5zIGEgY29sbGVjdGlvbiBvZiBub2RlcyB0aGF0IHNhdGlzZnkgdGhlIHRlc3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kQWxsPFQ+KG5vZGU6IHRzLk5vZGUsIHRlc3Q6IChub2RlOiB0cy5Ob2RlKSA9PiBub2RlIGlzIHRzLk5vZGUgJiBUKTogVFtdIHtcbiAgY29uc3Qgbm9kZXM6IFRbXSA9IFtdO1xuICBmaW5kQWxsVmlzaXRvcihub2RlKTtcbiAgcmV0dXJuIG5vZGVzO1xuXG4gIGZ1bmN0aW9uIGZpbmRBbGxWaXNpdG9yKG46IHRzLk5vZGUpIHtcbiAgICBpZiAodGVzdChuKSkge1xuICAgICAgbm9kZXMucHVzaChuKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbi5mb3JFYWNoQ2hpbGQoY2hpbGQgPT4gZmluZEFsbFZpc2l0b3IoY2hpbGQpKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBEb2VzIHRoZSBnaXZlbiBkZWNsYXJhdGlvbiBoYXZlIGEgbmFtZSB3aGljaCBpcyBhbiBpZGVudGlmaWVyP1xuICogQHBhcmFtIGRlY2xhcmF0aW9uIFRoZSBkZWNsYXJhdGlvbiB0byB0ZXN0LlxuICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgZGVjbGFyYXRpb24gaGFzIGFuIGlkZW50aWZpZXIgZm9yIGEgbmFtZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc05hbWVJZGVudGlmaWVyKGRlY2xhcmF0aW9uOiB0cy5EZWNsYXJhdGlvbik6IGRlY2xhcmF0aW9uIGlzIHRzLkRlY2xhcmF0aW9uJlxuICAgIHtuYW1lOiB0cy5JZGVudGlmaWVyfSB7XG4gIGNvbnN0IG5hbWVkRGVjbGFyYXRpb246IHRzLkRlY2xhcmF0aW9uJntuYW1lPzogdHMuTm9kZX0gPSBkZWNsYXJhdGlvbjtcbiAgcmV0dXJuIG5hbWVkRGVjbGFyYXRpb24ubmFtZSAhPT0gdW5kZWZpbmVkICYmIHRzLmlzSWRlbnRpZmllcihuYW1lZERlY2xhcmF0aW9uLm5hbWUpO1xufVxuXG5leHBvcnQgdHlwZSBQYXRoTWFwcGluZ3MgPSB7XG4gIGJhc2VVcmw6IHN0cmluZyxcbiAgcGF0aHM6IHtba2V5OiBzdHJpbmddOiBzdHJpbmdbXX1cbn07XG5cbi8qKlxuICogVGVzdCB3aGV0aGVyIGEgcGF0aCBpcyBcInJlbGF0aXZlXCIuXG4gKlxuICogUmVsYXRpdmUgcGF0aHMgc3RhcnQgd2l0aCBgL2AsIGAuL2Agb3IgYC4uL2A7IG9yIGFyZSBzaW1wbHkgYC5gIG9yIGAuLmAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1JlbGF0aXZlUGF0aChwYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIC9eXFwvfF5cXC5cXC4/KCR8XFwvKS8udGVzdChwYXRoKTtcbn1cblxuLyoqXG4gKiBBIGBNYXBgLWxpa2Ugb2JqZWN0IHRoYXQgY2FuIGNvbXB1dGUgYW5kIG1lbW9pemUgYSBtaXNzaW5nIHZhbHVlIGZvciBhbnkga2V5LlxuICpcbiAqIFRoZSBjb21wdXRlZCB2YWx1ZXMgYXJlIG1lbW9pemVkLCBzbyB0aGUgZmFjdG9yeSBmdW5jdGlvbiBpcyBub3QgY2FsbGVkIG1vcmUgdGhhbiBvbmNlIHBlciBrZXkuXG4gKiBUaGlzIGlzIHVzZWZ1bCBmb3Igc3RvcmluZyB2YWx1ZXMgdGhhdCBhcmUgZXhwZW5zaXZlIHRvIGNvbXB1dGUgYW5kIG1heSBiZSB1c2VkIG11bHRpcGxlIHRpbWVzLlxuICovXG4vLyBOT1RFOlxuLy8gSWRlYWxseSwgdGhpcyBjbGFzcyBzaG91bGQgZXh0ZW5kIGBNYXBgLCBidXQgdGhhdCBjYXVzZXMgZXJyb3JzIGluIEVTNSB0cmFuc3BpbGVkIGNvZGU6XG4vLyBgVHlwZUVycm9yOiBDb25zdHJ1Y3RvciBNYXAgcmVxdWlyZXMgJ25ldydgXG5leHBvcnQgY2xhc3MgRmFjdG9yeU1hcDxLLCBWPiB7XG4gIHByaXZhdGUgaW50ZXJuYWxNYXA6IE1hcDxLLCBWPjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZhY3Rvcnk6IChrZXk6IEspID0+IFYsIGVudHJpZXM/OiByZWFkb25seShyZWFkb25seVtLLCBWXSlbXXxudWxsKSB7XG4gICAgdGhpcy5pbnRlcm5hbE1hcCA9IG5ldyBNYXAoZW50cmllcyk7XG4gIH1cblxuICBnZXQoa2V5OiBLKTogViB7XG4gICAgaWYgKCF0aGlzLmludGVybmFsTWFwLmhhcyhrZXkpKSB7XG4gICAgICB0aGlzLmludGVybmFsTWFwLnNldChrZXksIHRoaXMuZmFjdG9yeShrZXkpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5pbnRlcm5hbE1hcC5nZXQoa2V5KSAhO1xuICB9XG5cbiAgc2V0KGtleTogSywgdmFsdWU6IFYpOiB2b2lkIHsgdGhpcy5pbnRlcm5hbE1hcC5zZXQoa2V5LCB2YWx1ZSk7IH1cbn1cblxuLyoqXG4gKiBBdHRlbXB0IHRvIHJlc29sdmUgYSBgcGF0aGAgdG8gYSBmaWxlIGJ5IGFwcGVuZGluZyB0aGUgcHJvdmlkZWQgYHBvc3RGaXhlc2BcbiAqIHRvIHRoZSBgcGF0aGAgYW5kIGNoZWNraW5nIGlmIHRoZSBmaWxlIGV4aXN0cyBvbiBkaXNrLlxuICogQHJldHVybnMgQW4gYWJzb2x1dGUgcGF0aCB0byB0aGUgZmlyc3QgbWF0Y2hpbmcgZXhpc3RpbmcgZmlsZSwgb3IgYG51bGxgIGlmIG5vbmUgZXhpc3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlRmlsZVdpdGhQb3N0Zml4ZXMoXG4gICAgZnM6IEZpbGVTeXN0ZW0sIHBhdGg6IEFic29sdXRlRnNQYXRoLCBwb3N0Rml4ZXM6IHN0cmluZ1tdKTogQWJzb2x1dGVGc1BhdGh8bnVsbCB7XG4gIGZvciAoY29uc3QgcG9zdEZpeCBvZiBwb3N0Rml4ZXMpIHtcbiAgICBjb25zdCB0ZXN0UGF0aCA9IGFic29sdXRlRnJvbShwYXRoICsgcG9zdEZpeCk7XG4gICAgaWYgKGZzLmV4aXN0cyh0ZXN0UGF0aCkgJiYgZnMuc3RhdCh0ZXN0UGF0aCkuaXNGaWxlKCkpIHtcbiAgICAgIHJldHVybiB0ZXN0UGF0aDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8qKlxuICogQW4gaWRlbnRpZmllciBtYXkgYmVjb21lIHJlcGVhdGVkIHdoZW4gYnVuZGxpbmcgbXVsdGlwbGUgc291cmNlIGZpbGVzIGludG8gYSBzaW5nbGUgYnVuZGxlLCBzb1xuICogYnVuZGxlcnMgaGF2ZSBhIHN0cmF0ZWd5IG9mIHN1ZmZpeGluZyBub24tdW5pcXVlIGlkZW50aWZpZXJzIHdpdGggYSBzdWZmaXggbGlrZSAkMi4gVGhpcyBmdW5jdGlvblxuICogc3RyaXBzIG9mZiBzdWNoIHN1ZmZpeGVzLCBzbyB0aGF0IG5nY2MgZGVhbHMgd2l0aCB0aGUgY2Fub25pY2FsIG5hbWUgb2YgYW4gaWRlbnRpZmllci5cbiAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gc3RyaXAgYW55IHN1ZmZpeCBvZiwgaWYgYXBwbGljYWJsZS5cbiAqIEByZXR1cm5zIFRoZSBjYW5vbmljYWwgcmVwcmVzZW50YXRpb24gb2YgdGhlIHZhbHVlLCB3aXRob3V0IGFueSBzdWZmaXguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdHJpcERvbGxhclN1ZmZpeCh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL1xcJFxcZCskLywgJycpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RyaXBFeHRlbnNpb24oZmlsZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBmaWxlTmFtZS5yZXBsYWNlKC9cXC4uKyQvLCAnJyk7XG59XG4iXX0=
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/// <amd-module name="@angular/compiler-cli/ngcc/src/writing/cleaning/cleaning_strategies" />
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google Inc. All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.io/license
|
|
8
|
+
*/
|
|
9
|
+
import { AbsoluteFsPath, FileSystem, PathSegment } from '../../../../src/ngtsc/file_system';
|
|
10
|
+
/**
|
|
11
|
+
* Implement this interface to extend the cleaning strategies of the `PackageCleaner`.
|
|
12
|
+
*/
|
|
13
|
+
export interface CleaningStrategy {
|
|
14
|
+
canClean(path: AbsoluteFsPath, basename: PathSegment): boolean;
|
|
15
|
+
clean(path: AbsoluteFsPath, basename: PathSegment): void;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* A CleaningStrategy that reverts changes to package.json files by removing the build marker and
|
|
19
|
+
* other properties.
|
|
20
|
+
*/
|
|
21
|
+
export declare class PackageJsonCleaner implements CleaningStrategy {
|
|
22
|
+
private fs;
|
|
23
|
+
constructor(fs: FileSystem);
|
|
24
|
+
canClean(_path: AbsoluteFsPath, basename: PathSegment): boolean;
|
|
25
|
+
clean(path: AbsoluteFsPath, _basename: PathSegment): void;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* A CleaningStrategy that removes the extra directory containing generated entry-point formats.
|
|
29
|
+
*/
|
|
30
|
+
export declare class NgccDirectoryCleaner implements CleaningStrategy {
|
|
31
|
+
private fs;
|
|
32
|
+
constructor(fs: FileSystem);
|
|
33
|
+
canClean(path: AbsoluteFsPath, basename: PathSegment): boolean;
|
|
34
|
+
clean(path: AbsoluteFsPath, _basename: PathSegment): void;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* A CleaningStrategy that reverts files that were overwritten and removes the backup files that
|
|
38
|
+
* ngcc created.
|
|
39
|
+
*/
|
|
40
|
+
export declare class BackupFileCleaner implements CleaningStrategy {
|
|
41
|
+
private fs;
|
|
42
|
+
constructor(fs: FileSystem);
|
|
43
|
+
canClean(path: AbsoluteFsPath, basename: PathSegment): boolean;
|
|
44
|
+
clean(path: AbsoluteFsPath, _basename: PathSegment): void;
|
|
45
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
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/writing/cleaning/cleaning_strategies", ["require", "exports", "@angular/compiler-cli/src/ngtsc/file_system", "@angular/compiler-cli/ngcc/src/packages/build_marker", "@angular/compiler-cli/ngcc/src/writing/in_place_file_writer", "@angular/compiler-cli/ngcc/src/writing/new_entry_point_file_writer", "@angular/compiler-cli/ngcc/src/writing/cleaning/utils"], factory);
|
|
8
|
+
}
|
|
9
|
+
})(function (require, exports) {
|
|
10
|
+
"use strict";
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
/**
|
|
13
|
+
* @license
|
|
14
|
+
* Copyright Google Inc. 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 build_marker_1 = require("@angular/compiler-cli/ngcc/src/packages/build_marker");
|
|
21
|
+
var in_place_file_writer_1 = require("@angular/compiler-cli/ngcc/src/writing/in_place_file_writer");
|
|
22
|
+
var new_entry_point_file_writer_1 = require("@angular/compiler-cli/ngcc/src/writing/new_entry_point_file_writer");
|
|
23
|
+
var utils_1 = require("@angular/compiler-cli/ngcc/src/writing/cleaning/utils");
|
|
24
|
+
/**
|
|
25
|
+
* A CleaningStrategy that reverts changes to package.json files by removing the build marker and
|
|
26
|
+
* other properties.
|
|
27
|
+
*/
|
|
28
|
+
var PackageJsonCleaner = /** @class */ (function () {
|
|
29
|
+
function PackageJsonCleaner(fs) {
|
|
30
|
+
this.fs = fs;
|
|
31
|
+
}
|
|
32
|
+
PackageJsonCleaner.prototype.canClean = function (_path, basename) {
|
|
33
|
+
return basename === 'package.json';
|
|
34
|
+
};
|
|
35
|
+
PackageJsonCleaner.prototype.clean = function (path, _basename) {
|
|
36
|
+
var packageJson = JSON.parse(this.fs.readFile(path));
|
|
37
|
+
if (build_marker_1.cleanPackageJson(packageJson)) {
|
|
38
|
+
this.fs.writeFile(path, JSON.stringify(packageJson, null, 2) + "\n");
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
return PackageJsonCleaner;
|
|
42
|
+
}());
|
|
43
|
+
exports.PackageJsonCleaner = PackageJsonCleaner;
|
|
44
|
+
/**
|
|
45
|
+
* A CleaningStrategy that removes the extra directory containing generated entry-point formats.
|
|
46
|
+
*/
|
|
47
|
+
var NgccDirectoryCleaner = /** @class */ (function () {
|
|
48
|
+
function NgccDirectoryCleaner(fs) {
|
|
49
|
+
this.fs = fs;
|
|
50
|
+
}
|
|
51
|
+
NgccDirectoryCleaner.prototype.canClean = function (path, basename) {
|
|
52
|
+
return basename === new_entry_point_file_writer_1.NGCC_DIRECTORY && utils_1.isLocalDirectory(this.fs, path);
|
|
53
|
+
};
|
|
54
|
+
NgccDirectoryCleaner.prototype.clean = function (path, _basename) { this.fs.removeDeep(path); };
|
|
55
|
+
return NgccDirectoryCleaner;
|
|
56
|
+
}());
|
|
57
|
+
exports.NgccDirectoryCleaner = NgccDirectoryCleaner;
|
|
58
|
+
/**
|
|
59
|
+
* A CleaningStrategy that reverts files that were overwritten and removes the backup files that
|
|
60
|
+
* ngcc created.
|
|
61
|
+
*/
|
|
62
|
+
var BackupFileCleaner = /** @class */ (function () {
|
|
63
|
+
function BackupFileCleaner(fs) {
|
|
64
|
+
this.fs = fs;
|
|
65
|
+
}
|
|
66
|
+
BackupFileCleaner.prototype.canClean = function (path, basename) {
|
|
67
|
+
return this.fs.extname(basename) === in_place_file_writer_1.NGCC_BACKUP_EXTENSION &&
|
|
68
|
+
this.fs.exists(file_system_1.absoluteFrom(path.replace(in_place_file_writer_1.NGCC_BACKUP_EXTENSION, '')));
|
|
69
|
+
};
|
|
70
|
+
BackupFileCleaner.prototype.clean = function (path, _basename) {
|
|
71
|
+
this.fs.moveFile(path, file_system_1.absoluteFrom(path.replace(in_place_file_writer_1.NGCC_BACKUP_EXTENSION, '')));
|
|
72
|
+
};
|
|
73
|
+
return BackupFileCleaner;
|
|
74
|
+
}());
|
|
75
|
+
exports.BackupFileCleaner = BackupFileCleaner;
|
|
76
|
+
});
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW5pbmdfc3RyYXRlZ2llcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyLWNsaS9uZ2NjL3NyYy93cml0aW5nL2NsZWFuaW5nL2NsZWFuaW5nX3N0cmF0ZWdpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFBQTs7Ozs7O09BTUc7SUFDSCwyRUFBd0c7SUFDeEcscUZBQTZEO0lBQzdELG9HQUE4RDtJQUM5RCxrSEFBOEQ7SUFDOUQsK0VBQXlDO0lBVXpDOzs7T0FHRztJQUNIO1FBQ0UsNEJBQW9CLEVBQWM7WUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQUcsQ0FBQztRQUN0QyxxQ0FBUSxHQUFSLFVBQVMsS0FBcUIsRUFBRSxRQUFxQjtZQUNuRCxPQUFPLFFBQVEsS0FBSyxjQUFjLENBQUM7UUFDckMsQ0FBQztRQUNELGtDQUFLLEdBQUwsVUFBTSxJQUFvQixFQUFFLFNBQXNCO1lBQ2hELElBQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUN2RCxJQUFJLCtCQUFnQixDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUNqQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFJLENBQUMsQ0FBQzthQUN0RTtRQUNILENBQUM7UUFDSCx5QkFBQztJQUFELENBQUMsQUFYRCxJQVdDO0lBWFksZ0RBQWtCO0lBYS9COztPQUVHO0lBQ0g7UUFDRSw4QkFBb0IsRUFBYztZQUFkLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBRyxDQUFDO1FBQ3RDLHVDQUFRLEdBQVIsVUFBUyxJQUFvQixFQUFFLFFBQXFCO1lBQ2xELE9BQU8sUUFBUSxLQUFLLDRDQUFjLElBQUksd0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBQ0Qsb0NBQUssR0FBTCxVQUFNLElBQW9CLEVBQUUsU0FBc0IsSUFBVSxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekYsMkJBQUM7SUFBRCxDQUFDLEFBTkQsSUFNQztJQU5ZLG9EQUFvQjtJQVFqQzs7O09BR0c7SUFDSDtRQUNFLDJCQUFvQixFQUFjO1lBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFHLENBQUM7UUFDdEMsb0NBQVEsR0FBUixVQUFTLElBQW9CLEVBQUUsUUFBcUI7WUFDbEQsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyw0Q0FBcUI7Z0JBQ3RELElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLDBCQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyw0Q0FBcUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUUsQ0FBQztRQUNELGlDQUFLLEdBQUwsVUFBTSxJQUFvQixFQUFFLFNBQXNCO1lBQ2hELElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSwwQkFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsNENBQXFCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hGLENBQUM7UUFDSCx3QkFBQztJQUFELENBQUMsQUFURCxJQVNDO0lBVFksOENBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0IHtBYnNvbHV0ZUZzUGF0aCwgRmlsZVN5c3RlbSwgUGF0aFNlZ21lbnQsIGFic29sdXRlRnJvbX0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjL25ndHNjL2ZpbGVfc3lzdGVtJztcbmltcG9ydCB7Y2xlYW5QYWNrYWdlSnNvbn0gZnJvbSAnLi4vLi4vcGFja2FnZXMvYnVpbGRfbWFya2VyJztcbmltcG9ydCB7TkdDQ19CQUNLVVBfRVhURU5TSU9OfSBmcm9tICcuLi9pbl9wbGFjZV9maWxlX3dyaXRlcic7XG5pbXBvcnQge05HQ0NfRElSRUNUT1JZfSBmcm9tICcuLi9uZXdfZW50cnlfcG9pbnRfZmlsZV93cml0ZXInO1xuaW1wb3J0IHtpc0xvY2FsRGlyZWN0b3J5fSBmcm9tICcuL3V0aWxzJztcblxuLyoqXG4qIEltcGxlbWVudCB0aGlzIGludGVyZmFjZSB0byBleHRlbmQgdGhlIGNsZWFuaW5nIHN0cmF0ZWdpZXMgb2YgdGhlIGBQYWNrYWdlQ2xlYW5lcmAuXG4qL1xuZXhwb3J0IGludGVyZmFjZSBDbGVhbmluZ1N0cmF0ZWd5IHtcbiAgY2FuQ2xlYW4ocGF0aDogQWJzb2x1dGVGc1BhdGgsIGJhc2VuYW1lOiBQYXRoU2VnbWVudCk6IGJvb2xlYW47XG4gIGNsZWFuKHBhdGg6IEFic29sdXRlRnNQYXRoLCBiYXNlbmFtZTogUGF0aFNlZ21lbnQpOiB2b2lkO1xufVxuXG4vKipcbiAqIEEgQ2xlYW5pbmdTdHJhdGVneSB0aGF0IHJldmVydHMgY2hhbmdlcyB0byBwYWNrYWdlLmpzb24gZmlsZXMgYnkgcmVtb3ZpbmcgdGhlIGJ1aWxkIG1hcmtlciBhbmRcbiAqIG90aGVyIHByb3BlcnRpZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBQYWNrYWdlSnNvbkNsZWFuZXIgaW1wbGVtZW50cyBDbGVhbmluZ1N0cmF0ZWd5IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmczogRmlsZVN5c3RlbSkge31cbiAgY2FuQ2xlYW4oX3BhdGg6IEFic29sdXRlRnNQYXRoLCBiYXNlbmFtZTogUGF0aFNlZ21lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gYmFzZW5hbWUgPT09ICdwYWNrYWdlLmpzb24nO1xuICB9XG4gIGNsZWFuKHBhdGg6IEFic29sdXRlRnNQYXRoLCBfYmFzZW5hbWU6IFBhdGhTZWdtZW50KTogdm9pZCB7XG4gICAgY29uc3QgcGFja2FnZUpzb24gPSBKU09OLnBhcnNlKHRoaXMuZnMucmVhZEZpbGUocGF0aCkpO1xuICAgIGlmIChjbGVhblBhY2thZ2VKc29uKHBhY2thZ2VKc29uKSkge1xuICAgICAgdGhpcy5mcy53cml0ZUZpbGUocGF0aCwgYCR7SlNPTi5zdHJpbmdpZnkocGFja2FnZUpzb24sIG51bGwsIDIpfVxcbmApO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEEgQ2xlYW5pbmdTdHJhdGVneSB0aGF0IHJlbW92ZXMgdGhlIGV4dHJhIGRpcmVjdG9yeSBjb250YWluaW5nIGdlbmVyYXRlZCBlbnRyeS1wb2ludCBmb3JtYXRzLlxuICovXG5leHBvcnQgY2xhc3MgTmdjY0RpcmVjdG9yeUNsZWFuZXIgaW1wbGVtZW50cyBDbGVhbmluZ1N0cmF0ZWd5IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmczogRmlsZVN5c3RlbSkge31cbiAgY2FuQ2xlYW4ocGF0aDogQWJzb2x1dGVGc1BhdGgsIGJhc2VuYW1lOiBQYXRoU2VnbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBiYXNlbmFtZSA9PT0gTkdDQ19ESVJFQ1RPUlkgJiYgaXNMb2NhbERpcmVjdG9yeSh0aGlzLmZzLCBwYXRoKTtcbiAgfVxuICBjbGVhbihwYXRoOiBBYnNvbHV0ZUZzUGF0aCwgX2Jhc2VuYW1lOiBQYXRoU2VnbWVudCk6IHZvaWQgeyB0aGlzLmZzLnJlbW92ZURlZXAocGF0aCk7IH1cbn1cblxuLyoqXG4gKiBBIENsZWFuaW5nU3RyYXRlZ3kgdGhhdCByZXZlcnRzIGZpbGVzIHRoYXQgd2VyZSBvdmVyd3JpdHRlbiBhbmQgcmVtb3ZlcyB0aGUgYmFja3VwIGZpbGVzIHRoYXRcbiAqIG5nY2MgY3JlYXRlZC5cbiAqL1xuZXhwb3J0IGNsYXNzIEJhY2t1cEZpbGVDbGVhbmVyIGltcGxlbWVudHMgQ2xlYW5pbmdTdHJhdGVneSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnM6IEZpbGVTeXN0ZW0pIHt9XG4gIGNhbkNsZWFuKHBhdGg6IEFic29sdXRlRnNQYXRoLCBiYXNlbmFtZTogUGF0aFNlZ21lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5mcy5leHRuYW1lKGJhc2VuYW1lKSA9PT0gTkdDQ19CQUNLVVBfRVhURU5TSU9OICYmXG4gICAgICAgIHRoaXMuZnMuZXhpc3RzKGFic29sdXRlRnJvbShwYXRoLnJlcGxhY2UoTkdDQ19CQUNLVVBfRVhURU5TSU9OLCAnJykpKTtcbiAgfVxuICBjbGVhbihwYXRoOiBBYnNvbHV0ZUZzUGF0aCwgX2Jhc2VuYW1lOiBQYXRoU2VnbWVudCk6IHZvaWQge1xuICAgIHRoaXMuZnMubW92ZUZpbGUocGF0aCwgYWJzb2x1dGVGcm9tKHBhdGgucmVwbGFjZShOR0NDX0JBQ0tVUF9FWFRFTlNJT04sICcnKSkpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/// <amd-module name="@angular/compiler-cli/ngcc/src/writing/cleaning/package_cleaner" />
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google Inc. All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.io/license
|
|
8
|
+
*/
|
|
9
|
+
import { AbsoluteFsPath, FileSystem } from '../../../../src/ngtsc/file_system';
|
|
10
|
+
import { EntryPoint } from '../../packages/entry_point';
|
|
11
|
+
import { CleaningStrategy } from './cleaning_strategies';
|
|
12
|
+
/**
|
|
13
|
+
* A class that can clean ngcc artifacts from a directory.
|
|
14
|
+
*/
|
|
15
|
+
export declare class PackageCleaner {
|
|
16
|
+
private fs;
|
|
17
|
+
private cleaners;
|
|
18
|
+
constructor(fs: FileSystem, cleaners: CleaningStrategy[]);
|
|
19
|
+
/**
|
|
20
|
+
* Recurse through the file-system cleaning files and directories as determined by the configured
|
|
21
|
+
* cleaning-strategies.
|
|
22
|
+
*
|
|
23
|
+
* @param directory the current directory to clean
|
|
24
|
+
*/
|
|
25
|
+
clean(directory: AbsoluteFsPath): void;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Iterate through the given `entryPoints` identifying the package for each that has at least one
|
|
29
|
+
* outdated processed format, then cleaning those packages.
|
|
30
|
+
*
|
|
31
|
+
* Note that we have to clean entire packages because there is no clear file-system boundary
|
|
32
|
+
* between entry-points within a package. So if one entry-point is outdated we have to clean
|
|
33
|
+
* everything within that package.
|
|
34
|
+
*
|
|
35
|
+
* @param fileSystem the current file-system
|
|
36
|
+
* @param entryPoints the entry-points that have been collected for this run of ngcc
|
|
37
|
+
* @returns true if packages needed to be cleaned.
|
|
38
|
+
*/
|
|
39
|
+
export declare function cleanOutdatedPackages(fileSystem: FileSystem, entryPoints: EntryPoint[]): boolean;
|
|
@@ -0,0 +1,125 @@
|
|
|
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/writing/cleaning/package_cleaner", ["require", "exports", "tslib", "@angular/compiler-cli/ngcc/src/packages/build_marker", "@angular/compiler-cli/ngcc/src/writing/cleaning/cleaning_strategies", "@angular/compiler-cli/ngcc/src/writing/cleaning/utils"], factory);
|
|
8
|
+
}
|
|
9
|
+
})(function (require, exports) {
|
|
10
|
+
"use strict";
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
var tslib_1 = require("tslib");
|
|
13
|
+
var build_marker_1 = require("@angular/compiler-cli/ngcc/src/packages/build_marker");
|
|
14
|
+
var cleaning_strategies_1 = require("@angular/compiler-cli/ngcc/src/writing/cleaning/cleaning_strategies");
|
|
15
|
+
var utils_1 = require("@angular/compiler-cli/ngcc/src/writing/cleaning/utils");
|
|
16
|
+
/**
|
|
17
|
+
* A class that can clean ngcc artifacts from a directory.
|
|
18
|
+
*/
|
|
19
|
+
var PackageCleaner = /** @class */ (function () {
|
|
20
|
+
function PackageCleaner(fs, cleaners) {
|
|
21
|
+
this.fs = fs;
|
|
22
|
+
this.cleaners = cleaners;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Recurse through the file-system cleaning files and directories as determined by the configured
|
|
26
|
+
* cleaning-strategies.
|
|
27
|
+
*
|
|
28
|
+
* @param directory the current directory to clean
|
|
29
|
+
*/
|
|
30
|
+
PackageCleaner.prototype.clean = function (directory) {
|
|
31
|
+
var e_1, _a, e_2, _b;
|
|
32
|
+
var basenames = this.fs.readdir(directory);
|
|
33
|
+
try {
|
|
34
|
+
for (var basenames_1 = tslib_1.__values(basenames), basenames_1_1 = basenames_1.next(); !basenames_1_1.done; basenames_1_1 = basenames_1.next()) {
|
|
35
|
+
var basename = basenames_1_1.value;
|
|
36
|
+
if (basename === 'node_modules') {
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
var path = this.fs.resolve(directory, basename);
|
|
40
|
+
try {
|
|
41
|
+
for (var _c = (e_2 = void 0, tslib_1.__values(this.cleaners)), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
42
|
+
var cleaner = _d.value;
|
|
43
|
+
if (cleaner.canClean(path, basename)) {
|
|
44
|
+
cleaner.clean(path, basename);
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
50
|
+
finally {
|
|
51
|
+
try {
|
|
52
|
+
if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
|
|
53
|
+
}
|
|
54
|
+
finally { if (e_2) throw e_2.error; }
|
|
55
|
+
}
|
|
56
|
+
// Recurse into subdirectories (note that a cleaner may have removed this path)
|
|
57
|
+
if (utils_1.isLocalDirectory(this.fs, path)) {
|
|
58
|
+
this.clean(path);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
63
|
+
finally {
|
|
64
|
+
try {
|
|
65
|
+
if (basenames_1_1 && !basenames_1_1.done && (_a = basenames_1.return)) _a.call(basenames_1);
|
|
66
|
+
}
|
|
67
|
+
finally { if (e_1) throw e_1.error; }
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
return PackageCleaner;
|
|
71
|
+
}());
|
|
72
|
+
exports.PackageCleaner = PackageCleaner;
|
|
73
|
+
/**
|
|
74
|
+
* Iterate through the given `entryPoints` identifying the package for each that has at least one
|
|
75
|
+
* outdated processed format, then cleaning those packages.
|
|
76
|
+
*
|
|
77
|
+
* Note that we have to clean entire packages because there is no clear file-system boundary
|
|
78
|
+
* between entry-points within a package. So if one entry-point is outdated we have to clean
|
|
79
|
+
* everything within that package.
|
|
80
|
+
*
|
|
81
|
+
* @param fileSystem the current file-system
|
|
82
|
+
* @param entryPoints the entry-points that have been collected for this run of ngcc
|
|
83
|
+
* @returns true if packages needed to be cleaned.
|
|
84
|
+
*/
|
|
85
|
+
function cleanOutdatedPackages(fileSystem, entryPoints) {
|
|
86
|
+
var e_3, _a, e_4, _b;
|
|
87
|
+
var packagesToClean = new Set();
|
|
88
|
+
try {
|
|
89
|
+
for (var entryPoints_1 = tslib_1.__values(entryPoints), entryPoints_1_1 = entryPoints_1.next(); !entryPoints_1_1.done; entryPoints_1_1 = entryPoints_1.next()) {
|
|
90
|
+
var entryPoint = entryPoints_1_1.value;
|
|
91
|
+
if (build_marker_1.needsCleaning(entryPoint.packageJson)) {
|
|
92
|
+
packagesToClean.add(entryPoint.package);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
97
|
+
finally {
|
|
98
|
+
try {
|
|
99
|
+
if (entryPoints_1_1 && !entryPoints_1_1.done && (_a = entryPoints_1.return)) _a.call(entryPoints_1);
|
|
100
|
+
}
|
|
101
|
+
finally { if (e_3) throw e_3.error; }
|
|
102
|
+
}
|
|
103
|
+
var cleaner = new PackageCleaner(fileSystem, [
|
|
104
|
+
new cleaning_strategies_1.PackageJsonCleaner(fileSystem),
|
|
105
|
+
new cleaning_strategies_1.NgccDirectoryCleaner(fileSystem),
|
|
106
|
+
new cleaning_strategies_1.BackupFileCleaner(fileSystem),
|
|
107
|
+
]);
|
|
108
|
+
try {
|
|
109
|
+
for (var packagesToClean_1 = tslib_1.__values(packagesToClean), packagesToClean_1_1 = packagesToClean_1.next(); !packagesToClean_1_1.done; packagesToClean_1_1 = packagesToClean_1.next()) {
|
|
110
|
+
var packagePath = packagesToClean_1_1.value;
|
|
111
|
+
cleaner.clean(packagePath);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
115
|
+
finally {
|
|
116
|
+
try {
|
|
117
|
+
if (packagesToClean_1_1 && !packagesToClean_1_1.done && (_b = packagesToClean_1.return)) _b.call(packagesToClean_1);
|
|
118
|
+
}
|
|
119
|
+
finally { if (e_4) throw e_4.error; }
|
|
120
|
+
}
|
|
121
|
+
return packagesToClean.size > 0;
|
|
122
|
+
}
|
|
123
|
+
exports.cleanOutdatedPackages = cleanOutdatedPackages;
|
|
124
|
+
});
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZV9jbGVhbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL25nY2Mvc3JjL3dyaXRpbmcvY2xlYW5pbmcvcGFja2FnZV9jbGVhbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQVFBLHFGQUEwRDtJQUcxRCwyR0FBb0g7SUFDcEgsK0VBQXlDO0lBRXpDOztPQUVHO0lBQ0g7UUFDRSx3QkFBb0IsRUFBYyxFQUFVLFFBQTRCO1lBQXBELE9BQUUsR0FBRixFQUFFLENBQVk7WUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFvQjtRQUFHLENBQUM7UUFFNUU7Ozs7O1dBS0c7UUFDSCw4QkFBSyxHQUFMLFVBQU0sU0FBeUI7O1lBQzdCLElBQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDOztnQkFDN0MsS0FBdUIsSUFBQSxjQUFBLGlCQUFBLFNBQVMsQ0FBQSxvQ0FBQSwyREFBRTtvQkFBN0IsSUFBTSxRQUFRLHNCQUFBO29CQUNqQixJQUFJLFFBQVEsS0FBSyxjQUFjLEVBQUU7d0JBQy9CLFNBQVM7cUJBQ1Y7b0JBRUQsSUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDOzt3QkFDbEQsS0FBc0IsSUFBQSxvQkFBQSxpQkFBQSxJQUFJLENBQUMsUUFBUSxDQUFBLENBQUEsZ0JBQUEsNEJBQUU7NEJBQWhDLElBQU0sT0FBTyxXQUFBOzRCQUNoQixJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFO2dDQUNwQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztnQ0FDOUIsTUFBTTs2QkFDUDt5QkFDRjs7Ozs7Ozs7O29CQUNELCtFQUErRTtvQkFDL0UsSUFBSSx3QkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO3dCQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO3FCQUNsQjtpQkFDRjs7Ozs7Ozs7O1FBQ0gsQ0FBQztRQUNILHFCQUFDO0lBQUQsQ0FBQyxBQTdCRCxJQTZCQztJQTdCWSx3Q0FBYztJQWdDM0I7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxTQUFnQixxQkFBcUIsQ0FBQyxVQUFzQixFQUFFLFdBQXlCOztRQUNyRixJQUFNLGVBQWUsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQzs7WUFDbEQsS0FBeUIsSUFBQSxnQkFBQSxpQkFBQSxXQUFXLENBQUEsd0NBQUEsaUVBQUU7Z0JBQWpDLElBQU0sVUFBVSx3QkFBQTtnQkFDbkIsSUFBSSw0QkFBYSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRTtvQkFDekMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQ3pDO2FBQ0Y7Ozs7Ozs7OztRQUVELElBQU0sT0FBTyxHQUFHLElBQUksY0FBYyxDQUFDLFVBQVUsRUFBRTtZQUM3QyxJQUFJLHdDQUFrQixDQUFDLFVBQVUsQ0FBQztZQUNsQyxJQUFJLDBDQUFvQixDQUFDLFVBQVUsQ0FBQztZQUNwQyxJQUFJLHVDQUFpQixDQUFDLFVBQVUsQ0FBQztTQUNsQyxDQUFDLENBQUM7O1lBQ0gsS0FBMEIsSUFBQSxvQkFBQSxpQkFBQSxlQUFlLENBQUEsZ0RBQUEsNkVBQUU7Z0JBQXRDLElBQU0sV0FBVyw0QkFBQTtnQkFDcEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUM1Qjs7Ozs7Ozs7O1FBRUQsT0FBTyxlQUFlLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBbEJELHNEQWtCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7QWJzb2x1dGVGc1BhdGgsIEZpbGVTeXN0ZW19IGZyb20gJy4uLy4uLy4uLy4uL3NyYy9uZ3RzYy9maWxlX3N5c3RlbSc7XG5pbXBvcnQge25lZWRzQ2xlYW5pbmd9IGZyb20gJy4uLy4uL3BhY2thZ2VzL2J1aWxkX21hcmtlcic7XG5pbXBvcnQge0VudHJ5UG9pbnR9IGZyb20gJy4uLy4uL3BhY2thZ2VzL2VudHJ5X3BvaW50JztcblxuaW1wb3J0IHtCYWNrdXBGaWxlQ2xlYW5lciwgQ2xlYW5pbmdTdHJhdGVneSwgTmdjY0RpcmVjdG9yeUNsZWFuZXIsIFBhY2thZ2VKc29uQ2xlYW5lcn0gZnJvbSAnLi9jbGVhbmluZ19zdHJhdGVnaWVzJztcbmltcG9ydCB7aXNMb2NhbERpcmVjdG9yeX0gZnJvbSAnLi91dGlscyc7XG5cbi8qKlxuICogQSBjbGFzcyB0aGF0IGNhbiBjbGVhbiBuZ2NjIGFydGlmYWN0cyBmcm9tIGEgZGlyZWN0b3J5LlxuICovXG5leHBvcnQgY2xhc3MgUGFja2FnZUNsZWFuZXIge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZzOiBGaWxlU3lzdGVtLCBwcml2YXRlIGNsZWFuZXJzOiBDbGVhbmluZ1N0cmF0ZWd5W10pIHt9XG5cbiAgLyoqXG4gICAqIFJlY3Vyc2UgdGhyb3VnaCB0aGUgZmlsZS1zeXN0ZW0gY2xlYW5pbmcgZmlsZXMgYW5kIGRpcmVjdG9yaWVzIGFzIGRldGVybWluZWQgYnkgdGhlIGNvbmZpZ3VyZWRcbiAgICogY2xlYW5pbmctc3RyYXRlZ2llcy5cbiAgICpcbiAgICogQHBhcmFtIGRpcmVjdG9yeSB0aGUgY3VycmVudCBkaXJlY3RvcnkgdG8gY2xlYW5cbiAgICovXG4gIGNsZWFuKGRpcmVjdG9yeTogQWJzb2x1dGVGc1BhdGgpIHtcbiAgICBjb25zdCBiYXNlbmFtZXMgPSB0aGlzLmZzLnJlYWRkaXIoZGlyZWN0b3J5KTtcbiAgICBmb3IgKGNvbnN0IGJhc2VuYW1lIG9mIGJhc2VuYW1lcykge1xuICAgICAgaWYgKGJhc2VuYW1lID09PSAnbm9kZV9tb2R1bGVzJykge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcGF0aCA9IHRoaXMuZnMucmVzb2x2ZShkaXJlY3RvcnksIGJhc2VuYW1lKTtcbiAgICAgIGZvciAoY29uc3QgY2xlYW5lciBvZiB0aGlzLmNsZWFuZXJzKSB7XG4gICAgICAgIGlmIChjbGVhbmVyLmNhbkNsZWFuKHBhdGgsIGJhc2VuYW1lKSkge1xuICAgICAgICAgIGNsZWFuZXIuY2xlYW4ocGF0aCwgYmFzZW5hbWUpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBSZWN1cnNlIGludG8gc3ViZGlyZWN0b3JpZXMgKG5vdGUgdGhhdCBhIGNsZWFuZXIgbWF5IGhhdmUgcmVtb3ZlZCB0aGlzIHBhdGgpXG4gICAgICBpZiAoaXNMb2NhbERpcmVjdG9yeSh0aGlzLmZzLCBwYXRoKSkge1xuICAgICAgICB0aGlzLmNsZWFuKHBhdGgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8qKlxuICogSXRlcmF0ZSB0aHJvdWdoIHRoZSBnaXZlbiBgZW50cnlQb2ludHNgIGlkZW50aWZ5aW5nIHRoZSBwYWNrYWdlIGZvciBlYWNoIHRoYXQgaGFzIGF0IGxlYXN0IG9uZVxuICogb3V0ZGF0ZWQgcHJvY2Vzc2VkIGZvcm1hdCwgdGhlbiBjbGVhbmluZyB0aG9zZSBwYWNrYWdlcy5cbiAqXG4gKiBOb3RlIHRoYXQgd2UgaGF2ZSB0byBjbGVhbiBlbnRpcmUgcGFja2FnZXMgYmVjYXVzZSB0aGVyZSBpcyBubyBjbGVhciBmaWxlLXN5c3RlbSBib3VuZGFyeVxuICogYmV0d2VlbiBlbnRyeS1wb2ludHMgd2l0aGluIGEgcGFja2FnZS4gU28gaWYgb25lIGVudHJ5LXBvaW50IGlzIG91dGRhdGVkIHdlIGhhdmUgdG8gY2xlYW5cbiAqIGV2ZXJ5dGhpbmcgd2l0aGluIHRoYXQgcGFja2FnZS5cbiAqXG4gKiBAcGFyYW0gZmlsZVN5c3RlbSB0aGUgY3VycmVudCBmaWxlLXN5c3RlbVxuICogQHBhcmFtIGVudHJ5UG9pbnRzIHRoZSBlbnRyeS1wb2ludHMgdGhhdCBoYXZlIGJlZW4gY29sbGVjdGVkIGZvciB0aGlzIHJ1biBvZiBuZ2NjXG4gKiBAcmV0dXJucyB0cnVlIGlmIHBhY2thZ2VzIG5lZWRlZCB0byBiZSBjbGVhbmVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2xlYW5PdXRkYXRlZFBhY2thZ2VzKGZpbGVTeXN0ZW06IEZpbGVTeXN0ZW0sIGVudHJ5UG9pbnRzOiBFbnRyeVBvaW50W10pOiBib29sZWFuIHtcbiAgY29uc3QgcGFja2FnZXNUb0NsZWFuID0gbmV3IFNldDxBYnNvbHV0ZUZzUGF0aD4oKTtcbiAgZm9yIChjb25zdCBlbnRyeVBvaW50IG9mIGVudHJ5UG9pbnRzKSB7XG4gICAgaWYgKG5lZWRzQ2xlYW5pbmcoZW50cnlQb2ludC5wYWNrYWdlSnNvbikpIHtcbiAgICAgIHBhY2thZ2VzVG9DbGVhbi5hZGQoZW50cnlQb2ludC5wYWNrYWdlKTtcbiAgICB9XG4gIH1cblxuICBjb25zdCBjbGVhbmVyID0gbmV3IFBhY2thZ2VDbGVhbmVyKGZpbGVTeXN0ZW0sIFtcbiAgICBuZXcgUGFja2FnZUpzb25DbGVhbmVyKGZpbGVTeXN0ZW0pLFxuICAgIG5ldyBOZ2NjRGlyZWN0b3J5Q2xlYW5lcihmaWxlU3lzdGVtKSxcbiAgICBuZXcgQmFja3VwRmlsZUNsZWFuZXIoZmlsZVN5c3RlbSksXG4gIF0pO1xuICBmb3IgKGNvbnN0IHBhY2thZ2VQYXRoIG9mIHBhY2thZ2VzVG9DbGVhbikge1xuICAgIGNsZWFuZXIuY2xlYW4ocGFja2FnZVBhdGgpO1xuICB9XG5cbiAgcmV0dXJuIHBhY2thZ2VzVG9DbGVhbi5zaXplID4gMDtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/// <amd-module name="@angular/compiler-cli/ngcc/src/writing/cleaning/utils" />
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google Inc. All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.io/license
|
|
8
|
+
*/
|
|
9
|
+
import { AbsoluteFsPath, FileSystem } from '../../../../src/ngtsc/file_system';
|
|
10
|
+
/**
|
|
11
|
+
* Returns true if the given `path` is a directory (not a symlink) and actually exists.
|
|
12
|
+
*
|
|
13
|
+
* @param fs the current filesystem
|
|
14
|
+
* @param path the path to check
|
|
15
|
+
*/
|
|
16
|
+
export declare function isLocalDirectory(fs: FileSystem, path: AbsoluteFsPath): boolean;
|
|
@@ -0,0 +1,29 @@
|
|
|
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/writing/cleaning/utils", ["require", "exports"], factory);
|
|
8
|
+
}
|
|
9
|
+
})(function (require, exports) {
|
|
10
|
+
"use strict";
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
/**
|
|
13
|
+
* Returns true if the given `path` is a directory (not a symlink) and actually exists.
|
|
14
|
+
*
|
|
15
|
+
* @param fs the current filesystem
|
|
16
|
+
* @param path the path to check
|
|
17
|
+
*/
|
|
18
|
+
function isLocalDirectory(fs, path) {
|
|
19
|
+
if (fs.exists(path)) {
|
|
20
|
+
var stat = fs.lstat(path);
|
|
21
|
+
return stat.isDirectory();
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.isLocalDirectory = isLocalDirectory;
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvbmdjYy9zcmMvd3JpdGluZy9jbGVhbmluZy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQVNBOzs7OztPQUtHO0lBQ0gsU0FBZ0IsZ0JBQWdCLENBQUMsRUFBYyxFQUFFLElBQW9CO1FBQ25FLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNuQixJQUFNLElBQUksR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVCLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzNCO2FBQU07WUFDTCxPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQVBELDRDQU9DIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0IHtBYnNvbHV0ZUZzUGF0aCwgRmlsZVN5c3RlbX0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjL25ndHNjL2ZpbGVfc3lzdGVtJztcblxuLyoqXG4gKiBSZXR1cm5zIHRydWUgaWYgdGhlIGdpdmVuIGBwYXRoYCBpcyBhIGRpcmVjdG9yeSAobm90IGEgc3ltbGluaykgYW5kIGFjdHVhbGx5IGV4aXN0cy5cbiAqXG4gKiBAcGFyYW0gZnMgdGhlIGN1cnJlbnQgZmlsZXN5c3RlbVxuICogQHBhcmFtIHBhdGggdGhlIHBhdGggdG8gY2hlY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzTG9jYWxEaXJlY3RvcnkoZnM6IEZpbGVTeXN0ZW0sIHBhdGg6IEFic29sdXRlRnNQYXRoKTogYm9vbGVhbiB7XG4gIGlmIChmcy5leGlzdHMocGF0aCkpIHtcbiAgICBjb25zdCBzdGF0ID0gZnMubHN0YXQocGF0aCk7XG4gICAgcmV0dXJuIHN0YXQuaXNEaXJlY3RvcnkoKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -11,6 +11,7 @@ import { EntryPointJsonProperty } from '../packages/entry_point';
|
|
|
11
11
|
import { EntryPointBundle } from '../packages/entry_point_bundle';
|
|
12
12
|
import { FileToWrite } from '../rendering/utils';
|
|
13
13
|
import { FileWriter } from './file_writer';
|
|
14
|
+
export declare const NGCC_BACKUP_EXTENSION = ".__ivy_ngcc_bak";
|
|
14
15
|
/**
|
|
15
16
|
* This FileWriter overwrites the transformed file, in-place, while creating
|
|
16
17
|
* a back-up of the original file with an extra `.__ivy_ngcc_bak` extension.
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
* found in the LICENSE file at https://angular.io/license
|
|
18
18
|
*/
|
|
19
19
|
var file_system_1 = require("@angular/compiler-cli/src/ngtsc/file_system");
|
|
20
|
+
exports.NGCC_BACKUP_EXTENSION = '.__ivy_ngcc_bak';
|
|
20
21
|
/**
|
|
21
22
|
* This FileWriter overwrites the transformed file, in-place, while creating
|
|
22
23
|
* a back-up of the original file with an extra `.__ivy_ngcc_bak` extension.
|
|
@@ -31,7 +32,7 @@
|
|
|
31
32
|
};
|
|
32
33
|
InPlaceFileWriter.prototype.writeFileAndBackup = function (file) {
|
|
33
34
|
this.fs.ensureDir(file_system_1.dirname(file.path));
|
|
34
|
-
var backPath = file_system_1.absoluteFrom(file.path +
|
|
35
|
+
var backPath = file_system_1.absoluteFrom("" + file.path + exports.NGCC_BACKUP_EXTENSION);
|
|
35
36
|
if (this.fs.exists(backPath)) {
|
|
36
37
|
throw new Error("Tried to overwrite " + backPath + " with an ngcc back up file, which is disallowed.");
|
|
37
38
|
}
|
|
@@ -44,4 +45,4 @@
|
|
|
44
45
|
}());
|
|
45
46
|
exports.InPlaceFileWriter = InPlaceFileWriter;
|
|
46
47
|
});
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5fcGxhY2VfZmlsZV93cml0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvbmdjYy9zcmMvd3JpdGluZy9pbl9wbGFjZV9maWxlX3dyaXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQUNBOzs7Ozs7T0FNRztJQUNILDJFQUFpRjtJQU1wRSxRQUFBLHFCQUFxQixHQUFHLGlCQUFpQixDQUFDO0lBQ3ZEOzs7T0FHRztJQUNIO1FBQ0UsMkJBQXNCLEVBQWM7WUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQUcsQ0FBQztRQUV4Qyx1Q0FBVyxHQUFYLFVBQ0ksT0FBeUIsRUFBRSxnQkFBK0IsRUFDMUQsaUJBQTRDO1lBRmhELGlCQUlDO1lBREMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFVBQUEsSUFBSSxJQUFJLE9BQUEsS0FBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUE3QixDQUE2QixDQUFDLENBQUM7UUFDbEUsQ0FBQztRQUVTLDhDQUFrQixHQUE1QixVQUE2QixJQUFpQjtZQUM1QyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxxQkFBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLElBQU0sUUFBUSxHQUFHLDBCQUFZLENBQUMsS0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLDZCQUF1QixDQUFDLENBQUM7WUFDdEUsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDNUIsTUFBTSxJQUFJLEtBQUssQ0FDWCx3QkFBc0IsUUFBUSxxREFBa0QsQ0FBQyxDQUFDO2FBQ3ZGO1lBQ0QsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7YUFDdkM7WUFDRCxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQ0gsd0JBQUM7SUFBRCxDQUFDLEFBckJELElBcUJDO0lBckJZLDhDQUFpQiIsInNvdXJjZXNDb250ZW50IjpbIlxuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0IHtGaWxlU3lzdGVtLCBhYnNvbHV0ZUZyb20sIGRpcm5hbWV9IGZyb20gJy4uLy4uLy4uL3NyYy9uZ3RzYy9maWxlX3N5c3RlbSc7XG5pbXBvcnQge0VudHJ5UG9pbnRKc29uUHJvcGVydHl9IGZyb20gJy4uL3BhY2thZ2VzL2VudHJ5X3BvaW50JztcbmltcG9ydCB7RW50cnlQb2ludEJ1bmRsZX0gZnJvbSAnLi4vcGFja2FnZXMvZW50cnlfcG9pbnRfYnVuZGxlJztcbmltcG9ydCB7RmlsZVRvV3JpdGV9IGZyb20gJy4uL3JlbmRlcmluZy91dGlscyc7XG5pbXBvcnQge0ZpbGVXcml0ZXJ9IGZyb20gJy4vZmlsZV93cml0ZXInO1xuXG5leHBvcnQgY29uc3QgTkdDQ19CQUNLVVBfRVhURU5TSU9OID0gJy5fX2l2eV9uZ2NjX2Jhayc7XG4vKipcbiAqIFRoaXMgRmlsZVdyaXRlciBvdmVyd3JpdGVzIHRoZSB0cmFuc2Zvcm1lZCBmaWxlLCBpbi1wbGFjZSwgd2hpbGUgY3JlYXRpbmdcbiAqIGEgYmFjay11cCBvZiB0aGUgb3JpZ2luYWwgZmlsZSB3aXRoIGFuIGV4dHJhIGAuX19pdnlfbmdjY19iYWtgIGV4dGVuc2lvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIEluUGxhY2VGaWxlV3JpdGVyIGltcGxlbWVudHMgRmlsZVdyaXRlciB7XG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBmczogRmlsZVN5c3RlbSkge31cblxuICB3cml0ZUJ1bmRsZShcbiAgICAgIF9idW5kbGU6IEVudHJ5UG9pbnRCdW5kbGUsIHRyYW5zZm9ybWVkRmlsZXM6IEZpbGVUb1dyaXRlW10sXG4gICAgICBfZm9ybWF0UHJvcGVydGllcz86IEVudHJ5UG9pbnRKc29uUHJvcGVydHlbXSkge1xuICAgIHRyYW5zZm9ybWVkRmlsZXMuZm9yRWFjaChmaWxlID0+IHRoaXMud3JpdGVGaWxlQW5kQmFja3VwKGZpbGUpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB3cml0ZUZpbGVBbmRCYWNrdXAoZmlsZTogRmlsZVRvV3JpdGUpOiB2b2lkIHtcbiAgICB0aGlzLmZzLmVuc3VyZURpcihkaXJuYW1lKGZpbGUucGF0aCkpO1xuICAgIGNvbnN0IGJhY2tQYXRoID0gYWJzb2x1dGVGcm9tKGAke2ZpbGUucGF0aH0ke05HQ0NfQkFDS1VQX0VYVEVOU0lPTn1gKTtcbiAgICBpZiAodGhpcy5mcy5leGlzdHMoYmFja1BhdGgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYFRyaWVkIHRvIG92ZXJ3cml0ZSAke2JhY2tQYXRofSB3aXRoIGFuIG5nY2MgYmFjayB1cCBmaWxlLCB3aGljaCBpcyBkaXNhbGxvd2VkLmApO1xuICAgIH1cbiAgICBpZiAodGhpcy5mcy5leGlzdHMoZmlsZS5wYXRoKSkge1xuICAgICAgdGhpcy5mcy5tb3ZlRmlsZShmaWxlLnBhdGgsIGJhY2tQYXRoKTtcbiAgICB9XG4gICAgdGhpcy5mcy53cml0ZUZpbGUoZmlsZS5wYXRoLCBmaWxlLmNvbnRlbnRzKTtcbiAgfVxufVxuIl19
|
|
@@ -12,6 +12,8 @@ import { EntryPointBundle } from '../packages/entry_point_bundle';
|
|
|
12
12
|
import { FileToWrite } from '../rendering/utils';
|
|
13
13
|
import { InPlaceFileWriter } from './in_place_file_writer';
|
|
14
14
|
import { PackageJsonUpdater } from './package_json_updater';
|
|
15
|
+
export declare const NGCC_DIRECTORY = "__ivy_ngcc__";
|
|
16
|
+
export declare const NGCC_PROPERTY_EXTENSION = "_ivy_ngcc";
|
|
15
17
|
/**
|
|
16
18
|
* This FileWriter creates a copy of the original entry-point, then writes the transformed
|
|
17
19
|
* files onto the files in this copy, and finally updates the package.json with a new
|
|
@@ -20,7 +20,8 @@
|
|
|
20
20
|
var file_system_1 = require("@angular/compiler-cli/src/ngtsc/file_system");
|
|
21
21
|
var typescript_1 = require("@angular/compiler-cli/src/ngtsc/util/src/typescript");
|
|
22
22
|
var in_place_file_writer_1 = require("@angular/compiler-cli/ngcc/src/writing/in_place_file_writer");
|
|
23
|
-
|
|
23
|
+
exports.NGCC_DIRECTORY = '__ivy_ngcc__';
|
|
24
|
+
exports.NGCC_PROPERTY_EXTENSION = '_ivy_ngcc';
|
|
24
25
|
/**
|
|
25
26
|
* This FileWriter creates a copy of the original entry-point, then writes the transformed
|
|
26
27
|
* files onto the files in this copy, and finally updates the package.json with a new
|
|
@@ -40,7 +41,7 @@
|
|
|
40
41
|
var _this = this;
|
|
41
42
|
// The new folder is at the root of the overall package
|
|
42
43
|
var entryPoint = bundle.entryPoint;
|
|
43
|
-
var ngccFolder = file_system_1.join(entryPoint.package, NGCC_DIRECTORY);
|
|
44
|
+
var ngccFolder = file_system_1.join(entryPoint.package, exports.NGCC_DIRECTORY);
|
|
44
45
|
this.copyBundle(bundle, entryPoint.package, ngccFolder);
|
|
45
46
|
transformedFiles.forEach(function (file) { return _this.writeFile(file, entryPoint.package, ngccFolder); });
|
|
46
47
|
this.updatePackageJson(entryPoint, formatProperties, ngccFolder);
|
|
@@ -92,7 +93,7 @@
|
|
|
92
93
|
throw new Error("Unable to update '" + packageJsonPath + "': Format properties " +
|
|
93
94
|
("(" + formatProperties.join(', ') + ") map to more than one format-path."));
|
|
94
95
|
}
|
|
95
|
-
update.addChange([formatProperty +
|
|
96
|
+
update.addChange(["" + formatProperty + exports.NGCC_PROPERTY_EXTENSION], newFormatPath, { before: formatProperty });
|
|
96
97
|
}
|
|
97
98
|
}
|
|
98
99
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
@@ -108,4 +109,4 @@
|
|
|
108
109
|
}(in_place_file_writer_1.InPlaceFileWriter));
|
|
109
110
|
exports.NewEntryPointFileWriter = NewEntryPointFileWriter;
|
|
110
111
|
});
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3X2VudHJ5X3BvaW50X2ZpbGVfd3JpdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL25nY2Mvc3JjL3dyaXRpbmcvbmV3X2VudHJ5X3BvaW50X2ZpbGVfd3JpdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUNBOzs7Ozs7T0FNRztJQUNILDJFQUEySDtJQUMzSCxrRkFBaUU7SUFLakUsb0dBQXlEO0lBR3pELElBQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQztJQUV0Qzs7Ozs7OztPQU9HO0lBQ0g7UUFBNkMsbURBQWlCO1FBQzVELGlDQUFZLEVBQWMsRUFBVSxjQUFrQztZQUF0RSxZQUEwRSxrQkFBTSxFQUFFLENBQUMsU0FBRztZQUFsRCxvQkFBYyxHQUFkLGNBQWMsQ0FBb0I7O1FBQWUsQ0FBQztRQUV0Riw2Q0FBVyxHQUFYLFVBQ0ksTUFBd0IsRUFBRSxnQkFBK0IsRUFDekQsZ0JBQTBDO1lBRjlDLGlCQVNDO1lBTkMsdURBQXVEO1lBQ3ZELElBQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7WUFDckMsSUFBTSxVQUFVLEdBQUcsa0JBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1lBQzVELElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDeEQsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFVBQUEsSUFBSSxJQUFJLE9BQUEsS0FBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsRUFBcEQsQ0FBb0QsQ0FBQyxDQUFDO1lBQ3ZGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDbkUsQ0FBQztRQUVTLDRD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QWEsRUFBRTt3QkFDakQsTUFBTSxJQUFJLEtBQUssQ0FDWCx1QkFBcUIsZUFBZSwwQkFBdUI7NkJBQzNELE1BQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx3Q0FBcUMsQ0FBQSxDQUFDLENBQUM7cUJBQzNFO29CQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBSSxjQUFjLGNBQVcsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDO2lCQUNqRTs7Ozs7Ozs7O1lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDcEQsQ0FBQztRQUNILDhCQUFDO0lBQUQsQ0FBQyxBQXpFRCxDQUE2Qyx3Q0FBaUIsR0F5RTdEO0lBekVZLDBEQUF1QiIsInNvdXJjZXNDb250ZW50IjpbIlxuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0IHtBYnNvbHV0ZUZzUGF0aCwgRmlsZVN5c3RlbSwgYWJzb2x1dGVGcm9tU291cmNlRmlsZSwgZGlybmFtZSwgam9pbiwgcmVsYXRpdmV9IGZyb20gJy4uLy4uLy4uL3NyYy9uZ3RzYy9maWxlX3N5c3RlbSc7XG5pbXBvcnQge2lzRHRzUGF0aH0gZnJvbSAnLi4vLi4vLi4vc3JjL25ndHNjL3V0aWwvc3JjL3R5cGVzY3JpcHQnO1xuaW1wb3J0IHtFbnRyeVBvaW50LCBFbnRyeVBvaW50SnNvblByb3BlcnR5fSBmcm9tICcuLi9wYWNrYWdlcy9lbnRyeV9wb2ludCc7XG5pbXBvcnQge0VudHJ5UG9pbnRCdW5kbGV9IGZyb20gJy4uL3BhY2thZ2VzL2VudHJ5X3BvaW50X2J1bmRsZSc7XG5pbXBvcnQge0ZpbGVUb1dyaXRlfSBmcm9tICcuLi9yZW5kZXJpbmcvdXRpbHMnO1xuXG5pbXBvcnQge0luUGxhY2VGaWxlV3JpdGVyfSBmcm9tICcuL2luX3BsYWNlX2ZpbGVfd3JpdGVyJztcbmltcG9ydCB7UGFja2FnZUpzb25VcGRhdGVyfSBmcm9tICcuL3BhY2thZ2VfanNvbl91cGRhdGVyJztcblxuY29uc3QgTkdDQ19ESVJFQ1RPUlkgPSAnX19pdnlfbmdjY19fJztcblxuLyoqXG4gKiBUaGlzIEZpbGVXcml0ZXIgY3JlYXRlcyBhIGNvcHkgb2YgdGhlIG9yaWdpbmFsIGVudHJ5LXBvaW50LCB0aGVuIHdyaXRlcyB0aGUgdHJhbnNmb3JtZWRcbiAqIGZpbGVzIG9udG8gdGhlIGZpbGVzIGluIHRoaXMgY29weSwgYW5kIGZpbmFsbHkgdXBkYXRlcyB0aGUgcGFja2FnZS5qc29uIHdpdGggYSBuZXdcbiAqIGVudHJ5LXBvaW50IGZvcm1hdCBwcm9wZXJ0eSB0aGF0IHBvaW50cyB0byB0aGlzIG5ldyBlbnRyeS1wb2ludC5cbiAqXG4gKiBJZiB0aGVyZSBhcmUgdHJhbnNmb3JtZWQgdHlwaW5ncyBmaWxlcyBpbiB0aGlzIGJ1bmRsZSwgdGhleSBhcmUgdXBkYXRlZCBpbi1wbGFjZSAoc2VlIHRoZVxuICogYEluUGxhY2VGaWxlV3JpdGVyYCkuXG4gKi9cbmV4cG9ydCBjbGFzcyBOZXdFbnRyeVBvaW50RmlsZVdyaXRlciBleHRlbmRzIEluUGxhY2VGaWxlV3JpdGVyIHtcbiAgY29uc3RydWN0b3IoZnM6IEZpbGVTeXN0ZW0sIHByaXZhdGUgcGtnSnNvblVwZGF0ZXI6IFBhY2thZ2VKc29uVXBkYXRlcikgeyBzdXBlcihmcyk7IH1cblxuICB3cml0ZUJ1bmRsZShcbiAgICAgIGJ1bmRsZTogRW50cnlQb2ludEJ1bmRsZSwgdHJhbnNmb3JtZWRGaWxlczogRmlsZVRvV3JpdGVbXSxcbiAgICAgIGZvcm1hdFByb3BlcnRpZXM6IEVudHJ5UG9pbnRKc29uUHJvcGVydHlbXSkge1xuICAgIC8vIFRoZSBuZXcgZm9sZGVyIGlzIGF0IHRoZSByb290IG9mIHRoZSBvdmVyYWxsIHBhY2thZ2VcbiAgICBjb25zdCBlbnRyeVBvaW50ID0gYnVuZGxlLmVudHJ5UG9pbnQ7XG4gICAgY29uc3QgbmdjY0ZvbGRlciA9IGpvaW4oZW50cnlQb2ludC5wYWNrYWdlLCBOR0NDX0RJUkVDVE9SWSk7XG4gICAgdGhpcy5jb3B5QnVuZGxlKGJ1bmRsZSwgZW50cnlQb2ludC5wYWNrYWdlLCBuZ2NjRm9sZGVyKTtcbiAgICB0cmFuc2Zvcm1lZEZpbGVzLmZvckVhY2goZmlsZSA9PiB0aGlzLndyaXRlRmlsZShmaWxlLCBlbnRyeVBvaW50LnBhY2thZ2UsIG5nY2NGb2xkZXIpKTtcbiAgICB0aGlzLnVwZGF0ZVBhY2thZ2VKc29uKGVudHJ5UG9pbnQsIGZvcm1hdFByb3BlcnRpZXMsIG5nY2NGb2xkZXIpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvcHlCdW5kbGUoXG4gICAgICBidW5kbGU6IEVudHJ5UG9pbnRCdW5kbGUsIHBhY2thZ2VQYXRoOiBBYnNvbHV0ZUZzUGF0aCwgbmdjY0ZvbGRlcjogQWJzb2x1dGVGc1BhdGgpIHtcbiAgICBidW5kbGUuc3JjLnByb2dyYW0uZ2V0U291cmNlRmlsZXMoKS5mb3JFYWNoKHNvdXJjZUZpbGUgPT4ge1xuICAgICAgY29uc3QgcmVsYXRpdmVQYXRoID0gcmVsYXRpdmUocGFja2FnZVBhdGgsIGFic29sdXRlRnJvbVNvdXJjZUZpbGUoc291cmNlRmlsZSkpO1xuICAgICAgY29uc3QgaXNPdXRzaWRlUGFja2FnZSA9IHJlbGF0aXZlUGF0aC5zdGFydHNXaXRoKCcuLicpO1xuICAgICAgaWYgKCFzb3VyY2VGaWxlLmlzRGVjbGFyYXRpb25GaWxlICYmICFpc091dHNpZGVQYWNrYWdlKSB7XG4gICAgICAgIGNvbnN0IG5ld0ZpbGVQYXRoID0gam9pbihuZ2NjRm9sZGVyLCByZWxhdGl2ZVBhdGgpO1xuICAgICAgICB0aGlzLmZzLmVuc3VyZURpcihkaXJuYW1lKG5ld0ZpbGVQYXRoKSk7XG4gICAgICAgIHRoaXMuZnMuY29weUZpbGUoYWJzb2x1dGVGcm9tU291cmNlRmlsZShzb3VyY2VGaWxlKSwgbmV3RmlsZVBhdGgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHdyaXRlRmlsZShmaWxlOiBGaWxlVG9Xcml0ZSwgcGFja2FnZVBhdGg6IEFic29sdXRlRnNQYXRoLCBuZ2NjRm9sZGVyOiBBYnNvbHV0ZUZzUGF0aCk6XG4gICAgICB2b2lkIHtcbiAgICBpZiAoaXNEdHNQYXRoKGZpbGUucGF0aC5yZXBsYWNlKC9cXC5tYXAkLywgJycpKSkge1xuICAgICAgLy8gVGhpcyBpcyBlaXRoZXIgYC5kLnRzYCBvciBgLmQudHMubWFwYCBmaWxlXG4gICAgICBzdXBlci53cml0ZUZpbGVBbmRCYWNrdXAoZmlsZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHJlbGF0aXZlUGF0aCA9IHJlbGF0aXZlKHBhY2thZ2VQYXRoLCBmaWxlLnBhdGgpO1xuICAgICAgY29uc3QgbmV3RmlsZVBhdGggPSBqb2luKG5nY2NGb2xkZXIsIHJlbGF0aXZlUGF0aCk7XG4gICAgICB0aGlzLmZzLmVuc3VyZURpcihkaXJuYW1lKG5ld0ZpbGVQYXRoKSk7XG4gICAgICB0aGlzLmZzLndyaXRlRmlsZShuZXdGaWxlUGF0aCwgZmlsZS5jb250ZW50cyk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZVBhY2thZ2VKc29uKFxuICAgICAgZW50cnlQb2ludDogRW50cnlQb2ludCwgZm9ybWF0UHJvcGVydGllczogRW50cnlQb2ludEpzb25Qcm9wZXJ0eVtdLFxuICAgICAgbmdjY0ZvbGRlcjogQWJzb2x1dGVGc1BhdGgpIHtcbiAgICBpZiAoZm9ybWF0UHJvcGVydGllcy5sZW5ndGggPT09IDApIHtcbiAgICAgIC8vIE5vIGZvcm1hdCBwcm9wZXJ0aWVzIG5lZWQgdXBkYXRpbmcuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcGFja2FnZUpzb24gPSBlbnRyeVBvaW50LnBhY2thZ2VKc29uO1xuICAgIGNvbnN0IHBhY2thZ2VKc29uUGF0aCA9IGpvaW4oZW50cnlQb2ludC5wYXRoLCAncGFja2FnZS5qc29uJyk7XG5cbiAgICAvLyBBbGwgZm9ybWF0IHByb3BlcnRpZXMgcG9pbnQgdG8gdGhlIHNhbWUgZm9ybWF0LXBhdGguXG4gICAgY29uc3Qgb2xkRm9ybWF0UHJvcCA9IGZvcm1hdFByb3BlcnRpZXNbMF0gITtcbiAgICBjb25zdCBvbGRGb3JtYXRQYXRoID0gcGFja2FnZUpzb25bb2xkRm9ybWF0UHJvcF0gITtcbiAgICBjb25zdCBvbGRBYnNGb3JtYXRQYXRoID0gam9pbihlbnRyeVBvaW50LnBhdGgsIG9sZEZvcm1hdFBhdGgpO1xuICAgIGNvbnN0IG5ld0Fic0Zvcm1hdFBhdGggPSBqb2luKG5nY2NGb2xkZXIsIHJlbGF0aXZlKGVudHJ5UG9pbnQucGFja2FnZSwgb2xkQWJzRm9ybWF0UGF0aCkpO1xuICAgIGNvbnN0IG5ld0Zvcm1hdFBhdGggPSByZWxhdGl2ZShlbnRyeVBvaW50LnBhdGgsIG5ld0Fic0Zvcm1hdFBhdGgpO1xuXG4gICAgLy8gVXBkYXRlIGFsbCBwcm9wZXJ0aWVzIGluIGBwYWNrYWdlLmpzb25gIChib3RoIGluIG1lbW9yeSBhbmQgb24gZGlzaykuXG4gICAgY29uc3QgdXBkYXRlID0gdGhpcy5wa2dKc29uVXBkYXRlci5jcmVhdGVVcGRhdGUoKTtcblxuICAgIGZvciAoY29uc3QgZm9ybWF0UHJvcGVydHkgb2YgZm9ybWF0UHJvcGVydGllcykge1xuICAgICAgaWYgKHBhY2thZ2VKc29uW2Zvcm1hdFByb3BlcnR5XSAhPT0gb2xkRm9ybWF0UGF0aCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgVW5hYmxlIHRvIHVwZGF0ZSAnJHtwYWNrYWdlSnNvblBhdGh9JzogRm9ybWF0IHByb3BlcnRpZXMgYCArXG4gICAgICAgICAgICBgKCR7Zm9ybWF0UHJvcGVydGllcy5qb2luKCcsICcpfSkgbWFwIHRvIG1vcmUgdGhhbiBvbmUgZm9ybWF0LXBhdGguYCk7XG4gICAgICB9XG5cbiAgICAgIHVwZGF0ZS5hZGRDaGFuZ2UoW2Ake2Zvcm1hdFByb3BlcnR5fV9pdnlfbmdjY2BdLCBuZXdGb3JtYXRQYXRoKTtcbiAgICB9XG5cbiAgICB1cGRhdGUud3JpdGVDaGFuZ2VzKHBhY2thZ2VKc29uUGF0aCwgcGFja2FnZUpzb24pO1xuICB9XG59XG4iXX0=
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3X2VudHJ5X3BvaW50X2ZpbGVfd3JpdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL25nY2Mvc3JjL3dyaXRpbmcvbmV3X2VudHJ5X3BvaW50X2ZpbGVfd3JpdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUNBOzs7Ozs7T0FNRztJQUNILDJFQUEySDtJQUMzSCxrRkFBaUU7SUFLakUsb0dBQXlEO0lBRzVDLFFBQUEsY0FBYyxHQUFHLGNBQWMsQ0FBQztJQUNoQyxRQUFBLHVCQUF1QixHQUFHLFdBQVcsQ0FBQztJQUVuRDs7Ozs7OztPQU9HO0lBQ0g7UUFBNkMsbURBQWlCO1FBQzVELGlDQUFZLEVBQWMsRUFBVSxjQUFrQztZQUF0RSxZQUEwRSxrQkFBTSxFQUFFLENBQUMsU0FBRztZQUFsRCxvQkFBYyxHQUFkLGNBQWMsQ0FBb0I7O1FBQWUsQ0FBQztRQUV0Riw2Q0FBVyxHQUFYLFVBQ0ksTUFBd0IsRUFBRSxnQkFBK0IsRUFDekQsZ0JBQTBDO1lBRjlDLGlCQVNDO1lBTkMsdURBQXVEO1lBQ3ZELElBQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7WUFDckMsSUFBTSxVQUFVLEdBQUcsa0JBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLHNCQUFjLENBQUMsQ0FBQztZQUM1RCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3hELGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxVQUFBLElBQUksSUFBSSxPQUFBLEtBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLEVBQXBELENBQW9ELENBQUMsQ0FBQztZQUN2RixJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUFFLGdCQUFnQixFQUFF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QixJQUFJLFdBQVcsQ0FBQyxjQUFjLENBQUMsS0FBSyxhQUFhLEVBQUU7d0JBQ2pELE1BQU0sSUFBSSxLQUFLLENBQ1gsdUJBQXFCLGVBQWUsMEJBQXVCOzZCQUMzRCxNQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsd0NBQXFDLENBQUEsQ0FBQyxDQUFDO3FCQUMzRTtvQkFFRCxNQUFNLENBQUMsU0FBUyxDQUNaLENBQUMsS0FBRyxjQUFjLEdBQUcsK0JBQXlCLENBQUMsRUFBRSxhQUFhLEVBQUUsRUFBQyxNQUFNLEVBQUUsY0FBYyxFQUFDLENBQUMsQ0FBQztpQkFDL0Y7Ozs7Ozs7OztZQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFDSCw4QkFBQztJQUFELENBQUMsQUExRUQsQ0FBNkMsd0NBQWlCLEdBMEU3RDtJQTFFWSwwREFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7QWJzb2x1dGVGc1BhdGgsIEZpbGVTeXN0ZW0sIGFic29sdXRlRnJvbVNvdXJjZUZpbGUsIGRpcm5hbWUsIGpvaW4sIHJlbGF0aXZlfSBmcm9tICcuLi8uLi8uLi9zcmMvbmd0c2MvZmlsZV9zeXN0ZW0nO1xuaW1wb3J0IHtpc0R0c1BhdGh9IGZyb20gJy4uLy4uLy4uL3NyYy9uZ3RzYy91dGlsL3NyYy90eXBlc2NyaXB0JztcbmltcG9ydCB7RW50cnlQb2ludCwgRW50cnlQb2ludEpzb25Qcm9wZXJ0eX0gZnJvbSAnLi4vcGFja2FnZXMvZW50cnlfcG9pbnQnO1xuaW1wb3J0IHtFbnRyeVBvaW50QnVuZGxlfSBmcm9tICcuLi9wYWNrYWdlcy9lbnRyeV9wb2ludF9idW5kbGUnO1xuaW1wb3J0IHtGaWxlVG9Xcml0ZX0gZnJvbSAnLi4vcmVuZGVyaW5nL3V0aWxzJztcblxuaW1wb3J0IHtJblBsYWNlRmlsZVdyaXRlcn0gZnJvbSAnLi9pbl9wbGFjZV9maWxlX3dyaXRlcic7XG5pbXBvcnQge1BhY2thZ2VKc29uVXBkYXRlcn0gZnJvbSAnLi9wYWNrYWdlX2pzb25fdXBkYXRlcic7XG5cbmV4cG9ydCBjb25zdCBOR0NDX0RJUkVDVE9SWSA9ICdfX2l2eV9uZ2NjX18nO1xuZXhwb3J0IGNvbnN0IE5HQ0NfUFJPUEVSVFlfRVhURU5TSU9OID0gJ19pdnlfbmdjYyc7XG5cbi8qKlxuICogVGhpcyBGaWxlV3JpdGVyIGNyZWF0ZXMgYSBjb3B5IG9mIHRoZSBvcmlnaW5hbCBlbnRyeS1wb2ludCwgdGhlbiB3cml0ZXMgdGhlIHRyYW5zZm9ybWVkXG4gKiBmaWxlcyBvbnRvIHRoZSBmaWxlcyBpbiB0aGlzIGNvcHksIGFuZCBmaW5hbGx5IHVwZGF0ZXMgdGhlIHBhY2thZ2UuanNvbiB3aXRoIGEgbmV3XG4gKiBlbnRyeS1wb2ludCBmb3JtYXQgcHJvcGVydHkgdGhhdCBwb2ludHMgdG8gdGhpcyBuZXcgZW50cnktcG9pbnQuXG4gKlxuICogSWYgdGhlcmUgYXJlIHRyYW5zZm9ybWVkIHR5cGluZ3MgZmlsZXMgaW4gdGhpcyBidW5kbGUsIHRoZXkgYXJlIHVwZGF0ZWQgaW4tcGxhY2UgKHNlZSB0aGVcbiAqIGBJblBsYWNlRmlsZVdyaXRlcmApLlxuICovXG5leHBvcnQgY2xhc3MgTmV3RW50cnlQb2ludEZpbGVXcml0ZXIgZXh0ZW5kcyBJblBsYWNlRmlsZVdyaXRlciB7XG4gIGNvbnN0cnVjdG9yKGZzOiBGaWxlU3lzdGVtLCBwcml2YXRlIHBrZ0pzb25VcGRhdGVyOiBQYWNrYWdlSnNvblVwZGF0ZXIpIHsgc3VwZXIoZnMpOyB9XG5cbiAgd3JpdGVCdW5kbGUoXG4gICAgICBidW5kbGU6IEVudHJ5UG9pbnRCdW5kbGUsIHRyYW5zZm9ybWVkRmlsZXM6IEZpbGVUb1dyaXRlW10sXG4gICAgICBmb3JtYXRQcm9wZXJ0aWVzOiBFbnRyeVBvaW50SnNvblByb3BlcnR5W10pIHtcbiAgICAvLyBUaGUgbmV3IGZvbGRlciBpcyBhdCB0aGUgcm9vdCBvZiB0aGUgb3ZlcmFsbCBwYWNrYWdlXG4gICAgY29uc3QgZW50cnlQb2ludCA9IGJ1bmRsZS5lbnRyeVBvaW50O1xuICAgIGNvbnN0IG5nY2NGb2xkZXIgPSBqb2luKGVudHJ5UG9pbnQucGFja2FnZSwgTkdDQ19ESVJFQ1RPUlkpO1xuICAgIHRoaXMuY29weUJ1bmRsZShidW5kbGUsIGVudHJ5UG9pbnQucGFja2FnZSwgbmdjY0ZvbGRlcik7XG4gICAgdHJhbnNmb3JtZWRGaWxlcy5mb3JFYWNoKGZpbGUgPT4gdGhpcy53cml0ZUZpbGUoZmlsZSwgZW50cnlQb2ludC5wYWNrYWdlLCBuZ2NjRm9sZGVyKSk7XG4gICAgdGhpcy51cGRhdGVQYWNrYWdlSnNvbihlbnRyeVBvaW50LCBmb3JtYXRQcm9wZXJ0aWVzLCBuZ2NjRm9sZGVyKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjb3B5QnVuZGxlKFxuICAgICAgYnVuZGxlOiBFbnRyeVBvaW50QnVuZGxlLCBwYWNrYWdlUGF0aDogQWJzb2x1dGVGc1BhdGgsIG5nY2NGb2xkZXI6IEFic29sdXRlRnNQYXRoKSB7XG4gICAgYnVuZGxlLnNyYy5wcm9ncmFtLmdldFNvdXJjZUZpbGVzKCkuZm9yRWFjaChzb3VyY2VGaWxlID0+IHtcbiAgICAgIGNvbnN0IHJlbGF0aXZlUGF0aCA9IHJlbGF0aXZlKHBhY2thZ2VQYXRoLCBhYnNvbHV0ZUZyb21Tb3VyY2VGaWxlKHNvdXJjZUZpbGUpKTtcbiAgICAgIGNvbnN0IGlzT3V0c2lkZVBhY2thZ2UgPSByZWxhdGl2ZVBhdGguc3RhcnRzV2l0aCgnLi4nKTtcbiAgICAgIGlmICghc291cmNlRmlsZS5pc0RlY2xhcmF0aW9uRmlsZSAmJiAhaXNPdXRzaWRlUGFja2FnZSkge1xuICAgICAgICBjb25zdCBuZXdGaWxlUGF0aCA9IGpvaW4obmdjY0ZvbGRlciwgcmVsYXRpdmVQYXRoKTtcbiAgICAgICAgdGhpcy5mcy5lbnN1cmVEaXIoZGlybmFtZShuZXdGaWxlUGF0aCkpO1xuICAgICAgICB0aGlzLmZzLmNvcHlGaWxlKGFic29sdXRlRnJvbVNvdXJjZUZpbGUoc291cmNlRmlsZSksIG5ld0ZpbGVQYXRoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCB3cml0ZUZpbGUoZmlsZTogRmlsZVRvV3JpdGUsIHBhY2thZ2VQYXRoOiBBYnNvbHV0ZUZzUGF0aCwgbmdjY0ZvbGRlcjogQWJzb2x1dGVGc1BhdGgpOlxuICAgICAgdm9pZCB7XG4gICAgaWYgKGlzRHRzUGF0aChmaWxlLnBhdGgucmVwbGFjZSgvXFwubWFwJC8sICcnKSkpIHtcbiAgICAgIC8vIFRoaXMgaXMgZWl0aGVyIGAuZC50c2Agb3IgYC5kLnRzLm1hcGAgZmlsZVxuICAgICAgc3VwZXIud3JpdGVGaWxlQW5kQmFja3VwKGZpbGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCByZWxhdGl2ZVBhdGggPSByZWxhdGl2ZShwYWNrYWdlUGF0aCwgZmlsZS5wYXRoKTtcbiAgICAgIGNvbnN0IG5ld0ZpbGVQYXRoID0gam9pbihuZ2NjRm9sZGVyLCByZWxhdGl2ZVBhdGgpO1xuICAgICAgdGhpcy5mcy5lbnN1cmVEaXIoZGlybmFtZShuZXdGaWxlUGF0aCkpO1xuICAgICAgdGhpcy5mcy53cml0ZUZpbGUobmV3RmlsZVBhdGgsIGZpbGUuY29udGVudHMpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVQYWNrYWdlSnNvbihcbiAgICAgIGVudHJ5UG9pbnQ6IEVudHJ5UG9pbnQsIGZvcm1hdFByb3BlcnRpZXM6IEVudHJ5UG9pbnRKc29uUHJvcGVydHlbXSxcbiAgICAgIG5nY2NGb2xkZXI6IEFic29sdXRlRnNQYXRoKSB7XG4gICAgaWYgKGZvcm1hdFByb3BlcnRpZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAvLyBObyBmb3JtYXQgcHJvcGVydGllcyBuZWVkIHVwZGF0aW5nLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHBhY2thZ2VKc29uID0gZW50cnlQb2ludC5wYWNrYWdlSnNvbjtcbiAgICBjb25zdCBwYWNrYWdlSnNvblBhdGggPSBqb2luKGVudHJ5UG9pbnQucGF0aCwgJ3BhY2thZ2UuanNvbicpO1xuXG4gICAgLy8gQWxsIGZvcm1hdCBwcm9wZXJ0aWVzIHBvaW50IHRvIHRoZSBzYW1lIGZvcm1hdC1wYXRoLlxuICAgIGNvbnN0IG9sZEZvcm1hdFByb3AgPSBmb3JtYXRQcm9wZXJ0aWVzWzBdICE7XG4gICAgY29uc3Qgb2xkRm9ybWF0UGF0aCA9IHBhY2thZ2VKc29uW29sZEZvcm1hdFByb3BdICE7XG4gICAgY29uc3Qgb2xkQWJzRm9ybWF0UGF0aCA9IGpvaW4oZW50cnlQb2ludC5wYXRoLCBvbGRGb3JtYXRQYXRoKTtcbiAgICBjb25zdCBuZXdBYnNGb3JtYXRQYXRoID0gam9pbihuZ2NjRm9sZGVyLCByZWxhdGl2ZShlbnRyeVBvaW50LnBhY2thZ2UsIG9sZEFic0Zvcm1hdFBhdGgpKTtcbiAgICBjb25zdCBuZXdGb3JtYXRQYXRoID0gcmVsYXRpdmUoZW50cnlQb2ludC5wYXRoLCBuZXdBYnNGb3JtYXRQYXRoKTtcblxuICAgIC8vIFVwZGF0ZSBhbGwgcHJvcGVydGllcyBpbiBgcGFja2FnZS5qc29uYCAoYm90aCBpbiBtZW1vcnkgYW5kIG9uIGRpc2spLlxuICAgIGNvbnN0IHVwZGF0ZSA9IHRoaXMucGtnSnNvblVwZGF0ZXIuY3JlYXRlVXBkYXRlKCk7XG5cbiAgICBmb3IgKGNvbnN0IGZvcm1hdFByb3BlcnR5IG9mIGZvcm1hdFByb3BlcnRpZXMpIHtcbiAgICAgIGlmIChwYWNrYWdlSnNvbltmb3JtYXRQcm9wZXJ0eV0gIT09IG9sZEZvcm1hdFBhdGgpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYFVuYWJsZSB0byB1cGRhdGUgJyR7cGFja2FnZUpzb25QYXRofSc6IEZvcm1hdCBwcm9wZXJ0aWVzIGAgK1xuICAgICAgICAgICAgYCgke2Zvcm1hdFByb3BlcnRpZXMuam9pbignLCAnKX0pIG1hcCB0byBtb3JlIHRoYW4gb25lIGZvcm1hdC1wYXRoLmApO1xuICAgICAgfVxuXG4gICAgICB1cGRhdGUuYWRkQ2hhbmdlKFxuICAgICAgICAgIFtgJHtmb3JtYXRQcm9wZXJ0eX0ke05HQ0NfUFJPUEVSVFlfRVhURU5TSU9OfWBdLCBuZXdGb3JtYXRQYXRoLCB7YmVmb3JlOiBmb3JtYXRQcm9wZXJ0eX0pO1xuICAgIH1cblxuICAgIHVwZGF0ZS53cml0ZUNoYW5nZXMocGFja2FnZUpzb25QYXRoLCBwYWNrYWdlSnNvbik7XG4gIH1cbn1cbiJdfQ==
|