@angular/core 13.0.0-rc.1 → 13.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/core.d.ts +1 -1
  2. package/esm2020/index.mjs +6 -5
  3. package/esm2020/src/render3/error_code.mjs +2 -5
  4. package/esm2020/src/render3/error_details_base_url.mjs +16 -0
  5. package/esm2020/src/version.mjs +1 -1
  6. package/esm2020/testing/src/logger.mjs +3 -3
  7. package/esm2020/testing/src/ng_zone_mock.mjs +3 -3
  8. package/esm2020/testing/src/test_compiler.mjs +3 -3
  9. package/fesm2015/core.mjs +17 -5
  10. package/fesm2015/core.mjs.map +1 -1
  11. package/fesm2015/testing.mjs +4 -4
  12. package/fesm2020/core.mjs +17 -5
  13. package/fesm2020/core.mjs.map +1 -1
  14. package/fesm2020/testing.mjs +4 -4
  15. package/package.json +1 -1
  16. package/schematics/migrations.json +0 -100
  17. package/testing/testing.d.ts +1 -1
  18. package/schematics/migrations/abstract-control-parent/index.d.ts +0 -11
  19. package/schematics/migrations/abstract-control-parent/index.js +0 -69
  20. package/schematics/migrations/abstract-control-parent/util.d.ts +0 -14
  21. package/schematics/migrations/abstract-control-parent/util.js +0 -67
  22. package/schematics/migrations/activated-route-snapshot-fragment/index.d.ts +0 -13
  23. package/schematics/migrations/activated-route-snapshot-fragment/index.js +0 -73
  24. package/schematics/migrations/activated-route-snapshot-fragment/util.d.ts +0 -16
  25. package/schematics/migrations/activated-route-snapshot-fragment/util.js +0 -51
  26. package/schematics/migrations/can-activate-with-redirect-to/index.d.ts +0 -11
  27. package/schematics/migrations/can-activate-with-redirect-to/index.js +0 -69
  28. package/schematics/migrations/can-activate-with-redirect-to/util.d.ts +0 -11
  29. package/schematics/migrations/can-activate-with-redirect-to/util.js +0 -73
  30. package/schematics/migrations/deep-shadow-piercing-selector/index.d.ts +0 -10
  31. package/schematics/migrations/deep-shadow-piercing-selector/index.js +0 -49
  32. package/schematics/migrations/dynamic-queries/index.d.ts +0 -13
  33. package/schematics/migrations/dynamic-queries/index.js +0 -76
  34. package/schematics/migrations/dynamic-queries/util.d.ts +0 -25
  35. package/schematics/migrations/dynamic-queries/util.js +0 -84
  36. package/schematics/migrations/initial-navigation/collector.d.ts +0 -22
  37. package/schematics/migrations/initial-navigation/collector.js +0 -122
  38. package/schematics/migrations/initial-navigation/index.d.ts +0 -11
  39. package/schematics/migrations/initial-navigation/index.js +0 -83
  40. package/schematics/migrations/initial-navigation/transform.d.ts +0 -20
  41. package/schematics/migrations/initial-navigation/transform.js +0 -71
  42. package/schematics/migrations/initial-navigation/update_recorder.d.ts +0 -18
  43. package/schematics/migrations/initial-navigation/update_recorder.js +0 -20
  44. package/schematics/migrations/initial-navigation/util.d.ts +0 -12
  45. package/schematics/migrations/initial-navigation/util.js +0 -46
  46. package/schematics/migrations/missing-injectable/definition_collector.d.ts +0 -37
  47. package/schematics/migrations/missing-injectable/definition_collector.js +0 -92
  48. package/schematics/migrations/missing-injectable/index.d.ts +0 -11
  49. package/schematics/migrations/missing-injectable/index.js +0 -136
  50. package/schematics/migrations/missing-injectable/providers_evaluator.d.ts +0 -26
  51. package/schematics/migrations/missing-injectable/providers_evaluator.js +0 -71
  52. package/schematics/migrations/missing-injectable/transform.d.ts +0 -70
  53. package/schematics/migrations/missing-injectable/transform.js +0 -203
  54. package/schematics/migrations/missing-injectable/update_recorder.d.ts +0 -21
  55. package/schematics/migrations/missing-injectable/update_recorder.js +0 -20
  56. package/schematics/migrations/module-with-providers/collector.d.ts +0 -34
  57. package/schematics/migrations/module-with-providers/collector.js +0 -76
  58. package/schematics/migrations/module-with-providers/index.d.ts +0 -13
  59. package/schematics/migrations/module-with-providers/index.js +0 -107
  60. package/schematics/migrations/module-with-providers/transform.d.ts +0 -50
  61. package/schematics/migrations/module-with-providers/transform.js +0 -149
  62. package/schematics/migrations/module-with-providers/util.d.ts +0 -13
  63. package/schematics/migrations/module-with-providers/util.js +0 -43
  64. package/schematics/migrations/move-document/document_import_visitor.d.ts +0 -27
  65. package/schematics/migrations/move-document/document_import_visitor.js +0 -77
  66. package/schematics/migrations/move-document/index.d.ts +0 -11
  67. package/schematics/migrations/move-document/index.js +0 -93
  68. package/schematics/migrations/move-document/move-import.d.ts +0 -12
  69. package/schematics/migrations/move-document/move-import.js +0 -64
  70. package/schematics/migrations/native-view-encapsulation/index.d.ts +0 -11
  71. package/schematics/migrations/native-view-encapsulation/index.js +0 -63
  72. package/schematics/migrations/native-view-encapsulation/util.d.ts +0 -11
  73. package/schematics/migrations/native-view-encapsulation/util.js +0 -51
  74. package/schematics/migrations/navigation-extras-omissions/index.d.ts +0 -11
  75. package/schematics/migrations/navigation-extras-omissions/index.js +0 -72
  76. package/schematics/migrations/navigation-extras-omissions/util.d.ts +0 -11
  77. package/schematics/migrations/navigation-extras-omissions/util.js +0 -129
  78. package/schematics/migrations/relative-link-resolution/collector.d.ts +0 -22
  79. package/schematics/migrations/relative-link-resolution/collector.js +0 -98
  80. package/schematics/migrations/relative-link-resolution/index.d.ts +0 -11
  81. package/schematics/migrations/relative-link-resolution/index.js +0 -84
  82. package/schematics/migrations/relative-link-resolution/transform.d.ts +0 -22
  83. package/schematics/migrations/relative-link-resolution/transform.js +0 -68
  84. package/schematics/migrations/relative-link-resolution/update_recorder.d.ts +0 -18
  85. package/schematics/migrations/relative-link-resolution/update_recorder.js +0 -20
  86. package/schematics/migrations/relative-link-resolution/util.d.ts +0 -12
  87. package/schematics/migrations/relative-link-resolution/util.js +0 -46
  88. package/schematics/migrations/renderer-to-renderer2/helpers.d.ts +0 -25
  89. package/schematics/migrations/renderer-to-renderer2/helpers.js +0 -241
  90. package/schematics/migrations/renderer-to-renderer2/index.d.ts +0 -14
  91. package/schematics/migrations/renderer-to-renderer2/index.js +0 -138
  92. package/schematics/migrations/renderer-to-renderer2/migration.d.ts +0 -18
  93. package/schematics/migrations/renderer-to-renderer2/migration.js +0 -228
  94. package/schematics/migrations/renderer-to-renderer2/util.d.ts +0 -18
  95. package/schematics/migrations/renderer-to-renderer2/util.js +0 -86
  96. package/schematics/migrations/router-preserve-query-params/index.d.ts +0 -14
  97. package/schematics/migrations/router-preserve-query-params/index.js +0 -75
  98. package/schematics/migrations/router-preserve-query-params/util.d.ts +0 -11
  99. package/schematics/migrations/router-preserve-query-params/util.js +0 -106
  100. package/schematics/migrations/static-queries/angular/directive_inputs.d.ts +0 -11
  101. package/schematics/migrations/static-queries/angular/directive_inputs.js +0 -87
  102. package/schematics/migrations/static-queries/angular/ng_query_visitor.d.ts +0 -45
  103. package/schematics/migrations/static-queries/angular/ng_query_visitor.js +0 -130
  104. package/schematics/migrations/static-queries/angular/query-definition.d.ts +0 -37
  105. package/schematics/migrations/static-queries/angular/query-definition.js +0 -33
  106. package/schematics/migrations/static-queries/angular/super_class.d.ts +0 -15
  107. package/schematics/migrations/static-queries/angular/super_class.js +0 -35
  108. package/schematics/migrations/static-queries/index.d.ts +0 -11
  109. package/schematics/migrations/static-queries/index.js +0 -244
  110. package/schematics/migrations/static-queries/strategies/template_strategy/template_strategy.d.ts +0 -41
  111. package/schematics/migrations/static-queries/strategies/template_strategy/template_strategy.js +0 -210
  112. package/schematics/migrations/static-queries/strategies/test_strategy/test_strategy.d.ts +0 -24
  113. package/schematics/migrations/static-queries/strategies/test_strategy/test_strategy.js +0 -38
  114. package/schematics/migrations/static-queries/strategies/timing-strategy.d.ts +0 -19
  115. package/schematics/migrations/static-queries/strategies/timing-strategy.js +0 -20
  116. package/schematics/migrations/static-queries/strategies/usage_strategy/declaration_usage_visitor.d.ts +0 -82
  117. package/schematics/migrations/static-queries/strategies/usage_strategy/declaration_usage_visitor.js +0 -372
  118. package/schematics/migrations/static-queries/strategies/usage_strategy/super_class_context.d.ts +0 -18
  119. package/schematics/migrations/static-queries/strategies/usage_strategy/super_class_context.js +0 -55
  120. package/schematics/migrations/static-queries/strategies/usage_strategy/template_usage_visitor.d.ts +0 -27
  121. package/schematics/migrations/static-queries/strategies/usage_strategy/template_usage_visitor.js +0 -93
  122. package/schematics/migrations/static-queries/strategies/usage_strategy/usage_strategy.d.ts +0 -34
  123. package/schematics/migrations/static-queries/strategies/usage_strategy/usage_strategy.js +0 -172
  124. package/schematics/migrations/static-queries/transform.d.ts +0 -21
  125. package/schematics/migrations/static-queries/transform.js +0 -105
  126. package/schematics/migrations/template-var-assignment/analyze_template.d.ts +0 -20
  127. package/schematics/migrations/template-var-assignment/analyze_template.js +0 -38
  128. package/schematics/migrations/template-var-assignment/angular/html_variable_assignment_visitor.d.ts +0 -28
  129. package/schematics/migrations/template-var-assignment/angular/html_variable_assignment_visitor.js +0 -80
  130. package/schematics/migrations/template-var-assignment/index.d.ts +0 -11
  131. package/schematics/migrations/template-var-assignment/index.js +0 -101
  132. package/schematics/migrations/undecorated-classes-with-decorated-fields/index.d.ts +0 -14
  133. package/schematics/migrations/undecorated-classes-with-decorated-fields/index.js +0 -128
  134. package/schematics/migrations/undecorated-classes-with-decorated-fields/transform.d.ts +0 -64
  135. package/schematics/migrations/undecorated-classes-with-decorated-fields/transform.js +0 -302
  136. package/schematics/migrations/undecorated-classes-with-decorated-fields/update_recorder.d.ts +0 -19
  137. package/schematics/migrations/undecorated-classes-with-decorated-fields/update_recorder.js +0 -20
  138. package/schematics/migrations/undecorated-classes-with-di/create_ngc_program.d.ts +0 -18
  139. package/schematics/migrations/undecorated-classes-with-di/create_ngc_program.js +0 -56
  140. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/convert_directive_metadata.d.ts +0 -18
  141. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/convert_directive_metadata.js +0 -99
  142. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/decorator_rewriter.d.ts +0 -37
  143. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/decorator_rewriter.js +0 -118
  144. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/import_rewrite_visitor.d.ts +0 -37
  145. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/import_rewrite_visitor.js +0 -129
  146. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/path_format.d.ts +0 -10
  147. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/path_format.js +0 -31
  148. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/source_file_exports.d.ts +0 -16
  149. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/source_file_exports.js +0 -68
  150. package/schematics/migrations/undecorated-classes-with-di/index.d.ts +0 -11
  151. package/schematics/migrations/undecorated-classes-with-di/index.js +0 -226
  152. package/schematics/migrations/undecorated-classes-with-di/ng_declaration_collector.d.ts +0 -38
  153. package/schematics/migrations/undecorated-classes-with-di/ng_declaration_collector.js +0 -135
  154. package/schematics/migrations/undecorated-classes-with-di/transform.d.ts +0 -97
  155. package/schematics/migrations/undecorated-classes-with-di/transform.js +0 -373
  156. package/schematics/migrations/undecorated-classes-with-di/update_recorder.d.ts +0 -20
  157. package/schematics/migrations/undecorated-classes-with-di/update_recorder.js +0 -20
  158. package/schematics/migrations/wait-for-async/index.d.ts +0 -11
  159. package/schematics/migrations/wait-for-async/index.js +0 -101
  160. package/schematics/migrations/wait-for-async/util.d.ts +0 -11
  161. package/schematics/migrations/wait-for-async/util.js +0 -40
  162. package/schematics/migrations/xhr-factory/index.d.ts +0 -10
  163. package/schematics/migrations/xhr-factory/index.js +0 -107
@@ -1,93 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
- (function (factory) {
18
- if (typeof module === "object" && typeof module.exports === "object") {
19
- var v = factory(require, exports);
20
- if (v !== undefined) module.exports = v;
21
- }
22
- else if (typeof define === "function" && define.amd) {
23
- define("@angular/core/schematics/migrations/move-document", ["require", "exports", "@angular-devkit/schematics", "path", "@angular/core/schematics/utils/project_tsconfig_paths", "@angular/core/schematics/utils/typescript/compiler_host", "@angular/core/schematics/migrations/move-document/document_import_visitor", "@angular/core/schematics/migrations/move-document/move-import"], factory);
24
- }
25
- })(function (require, exports) {
26
- "use strict";
27
- Object.defineProperty(exports, "__esModule", { value: true });
28
- const schematics_1 = require("@angular-devkit/schematics");
29
- const path_1 = require("path");
30
- const project_tsconfig_paths_1 = require("@angular/core/schematics/utils/project_tsconfig_paths");
31
- const compiler_host_1 = require("@angular/core/schematics/utils/typescript/compiler_host");
32
- const document_import_visitor_1 = require("@angular/core/schematics/migrations/move-document/document_import_visitor");
33
- const move_import_1 = require("@angular/core/schematics/migrations/move-document/move-import");
34
- /** Entry point for the V8 move-document migration. */
35
- function default_1() {
36
- return (tree) => __awaiter(this, void 0, void 0, function* () {
37
- const { buildPaths, testPaths } = yield (0, project_tsconfig_paths_1.getProjectTsConfigPaths)(tree);
38
- const basePath = process.cwd();
39
- if (!buildPaths.length && !testPaths.length) {
40
- throw new schematics_1.SchematicsException(`Could not find any tsconfig file. Cannot migrate DOCUMENT
41
- to new import source.`);
42
- }
43
- for (const tsconfigPath of [...buildPaths, ...testPaths]) {
44
- runMoveDocumentMigration(tree, tsconfigPath, basePath);
45
- }
46
- });
47
- }
48
- exports.default = default_1;
49
- /**
50
- * Runs the DOCUMENT InjectionToken import migration for the given TypeScript project. The
51
- * schematic analyzes the imports within the project and moves the deprecated symbol to the
52
- * new import source.
53
- */
54
- function runMoveDocumentMigration(tree, tsconfigPath, basePath) {
55
- const { program } = (0, compiler_host_1.createMigrationProgram)(tree, tsconfigPath, basePath);
56
- const typeChecker = program.getTypeChecker();
57
- const visitor = new document_import_visitor_1.DocumentImportVisitor(typeChecker);
58
- const sourceFiles = program.getSourceFiles().filter(sourceFile => (0, compiler_host_1.canMigrateFile)(basePath, sourceFile, program));
59
- // Analyze source files by finding imports.
60
- sourceFiles.forEach(sourceFile => visitor.visitNode(sourceFile));
61
- const { importsMap } = visitor;
62
- // Walk through all source files that contain resolved queries and update
63
- // the source files if needed. Note that we need to update multiple queries
64
- // within a source file within the same recorder in order to not throw off
65
- // the TypeScript node offsets.
66
- importsMap.forEach((resolvedImport, sourceFile) => {
67
- const { platformBrowserImport, commonImport, documentElement } = resolvedImport;
68
- if (!documentElement || !platformBrowserImport) {
69
- return;
70
- }
71
- const update = tree.beginUpdate((0, path_1.relative)(basePath, sourceFile.fileName));
72
- const platformBrowserDeclaration = platformBrowserImport.parent.parent;
73
- const newPlatformBrowserText = (0, move_import_1.removeFromImport)(platformBrowserImport, sourceFile, document_import_visitor_1.DOCUMENT_TOKEN_NAME);
74
- const newCommonText = commonImport ?
75
- (0, move_import_1.addToImport)(commonImport, sourceFile, documentElement.name, documentElement.propertyName) :
76
- (0, move_import_1.createImport)(document_import_visitor_1.COMMON_IMPORT, sourceFile, documentElement.name, documentElement.propertyName);
77
- // Replace the existing query decorator call expression with the updated
78
- // call expression node.
79
- update.remove(platformBrowserDeclaration.getStart(), platformBrowserDeclaration.getWidth());
80
- update.insertRight(platformBrowserDeclaration.getStart(), newPlatformBrowserText);
81
- if (commonImport) {
82
- const commonDeclaration = commonImport.parent.parent;
83
- update.remove(commonDeclaration.getStart(), commonDeclaration.getWidth());
84
- update.insertRight(commonDeclaration.getStart(), newCommonText);
85
- }
86
- else {
87
- update.insertRight(platformBrowserDeclaration.getStart(), newCommonText);
88
- }
89
- tree.commitUpdate(update);
90
- });
91
- }
92
- });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NjaGVtYXRpY3MvbWlncmF0aW9ucy9tb3ZlLWRvY3VtZW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBRUgsMkRBQTJFO0lBQzNFLCtCQUE4QjtJQUc5QixrR0FBMkU7SUFDM0UsMkZBQTRGO0lBRTVGLHVIQUE0SDtJQUM1SCwrRkFBMEU7SUFHMUUsc0RBQXNEO0lBQ3REO1FBQ0UsT0FBTyxDQUFPLElBQVUsRUFBRSxFQUFFO1lBQzFCLE1BQU0sRUFBQyxVQUFVLEVBQUUsU0FBUyxFQUFDLEdBQUcsTUFBTSxJQUFBLGdEQUF1QixFQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BFLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUUvQixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUU7Z0JBQzNDLE1BQU0sSUFBSSxnQ0FBbUIsQ0FBQztnQ0FDSixDQUFDLENBQUM7YUFDN0I7WUFFRCxLQUFLLE1BQU0sWUFBWSxJQUFJLENBQUMsR0FBRyxVQUFVLEVBQUUsR0FBRyxTQUFTLENBQUMsRUFBRTtnQkFDeEQsd0JBQXdCLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQzthQUN4RDtRQUNILENBQUMsQ0FBQSxDQUFDO0lBQ0osQ0FBQztJQWRELDRCQWNDO0lBRUQ7Ozs7T0FJRztJQUNILFNBQVMsd0JBQXdCLENBQUMsSUFBVSxFQUFFLFlBQW9CLEVBQUUsUUFBZ0I7UUFDbEYsTUFBTSxFQUFDLE9BQU8sRUFBQyxHQUFHLElBQUEsc0NBQXNCLEVBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN2RSxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDN0MsTUFBTSxPQUFPLEdBQUcsSUFBSSwrQ0FBcUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN2RCxNQUFNLFdBQVcsR0FDYixPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBQSw4QkFBYyxFQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUVqRywyQ0FBMkM7UUFDM0MsV0FBVyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUVqRSxNQUFNLEVBQUMsVUFBVSxFQUFDLEdBQUcsT0FBTyxDQUFDO1FBRTdCLHlFQUF5RTtRQUN6RSwyRUFBMkU7UUFDM0UsMEVBQTBFO1FBQzFFLCtCQUErQjtRQUMvQixVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsY0FBc0MsRUFBRSxVQUF5QixFQUFFLEVBQUU7WUFDdkYsTUFBTSxFQUFDLHFCQUFxQixFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUMsR0FBRyxjQUFjLENBQUM7WUFDOUUsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLHFCQUFxQixFQUFFO2dCQUM5QyxPQUFPO2FBQ1I7WUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUEsZUFBUSxFQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUV6RSxNQUFNLDBCQUEwQixHQUFHLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDdkUsTUFBTSxzQkFBc0IsR0FDeEIsSUFBQSw4QkFBZ0IsRUFBQyxxQkFBcUIsRUFBRSxVQUFVLEVBQUUsNkNBQW1CLENBQUMsQ0FBQztZQUM3RSxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsQ0FBQztnQkFDaEMsSUFBQSx5QkFBVyxFQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsZUFBZSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztnQkFDM0YsSUFBQSwwQkFBWSxFQUFDLHVDQUFhLEVBQUUsVUFBVSxFQUFFLGVBQWUsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBRWhHLHdFQUF3RTtZQUN4RSx3QkFBd0I7WUFDeEIsTUFBTSxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsRUFBRSwwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQzVGLE1BQU0sQ0FBQyxXQUFXLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztZQUVsRixJQUFJLFlBQVksRUFBRTtnQkFDaEIsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztnQkFDckQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUMxRSxNQUFNLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxFQUFFLGFBQWEsQ0FBQyxDQUFDO2FBQ2pFO2lCQUFNO2dCQUNMLE1BQU0sQ0FBQyxXQUFXLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLEVBQUUsYUFBYSxDQUFDLENBQUM7YUFDMUU7WUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge1J1bGUsIFNjaGVtYXRpY3NFeGNlcHRpb24sIFRyZWV9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9zY2hlbWF0aWNzJztcbmltcG9ydCB7cmVsYXRpdmV9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuXG5pbXBvcnQge2dldFByb2plY3RUc0NvbmZpZ1BhdGhzfSBmcm9tICcuLi8uLi91dGlscy9wcm9qZWN0X3RzY29uZmlnX3BhdGhzJztcbmltcG9ydCB7Y2FuTWlncmF0ZUZpbGUsIGNyZWF0ZU1pZ3JhdGlvblByb2dyYW19IGZyb20gJy4uLy4uL3V0aWxzL3R5cGVzY3JpcHQvY29tcGlsZXJfaG9zdCc7XG5cbmltcG9ydCB7Q09NTU9OX0lNUE9SVCwgRE9DVU1FTlRfVE9LRU5fTkFNRSwgRG9jdW1lbnRJbXBvcnRWaXNpdG9yLCBSZXNvbHZlZERvY3VtZW50SW1wb3J0fSBmcm9tICcuL2RvY3VtZW50X2ltcG9ydF92aXNpdG9yJztcbmltcG9ydCB7YWRkVG9JbXBvcnQsIGNyZWF0ZUltcG9ydCwgcmVtb3ZlRnJvbUltcG9ydH0gZnJvbSAnLi9tb3ZlLWltcG9ydCc7XG5cblxuLyoqIEVudHJ5IHBvaW50IGZvciB0aGUgVjggbW92ZS1kb2N1bWVudCBtaWdyYXRpb24uICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbigpOiBSdWxlIHtcbiAgcmV0dXJuIGFzeW5jICh0cmVlOiBUcmVlKSA9PiB7XG4gICAgY29uc3Qge2J1aWxkUGF0aHMsIHRlc3RQYXRoc30gPSBhd2FpdCBnZXRQcm9qZWN0VHNDb25maWdQYXRocyh0cmVlKTtcbiAgICBjb25zdCBiYXNlUGF0aCA9IHByb2Nlc3MuY3dkKCk7XG5cbiAgICBpZiAoIWJ1aWxkUGF0aHMubGVuZ3RoICYmICF0ZXN0UGF0aHMubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgU2NoZW1hdGljc0V4Y2VwdGlvbihgQ291bGQgbm90IGZpbmQgYW55IHRzY29uZmlnIGZpbGUuIENhbm5vdCBtaWdyYXRlIERPQ1VNRU5UXG4gICAgICAgICAgdG8gbmV3IGltcG9ydCBzb3VyY2UuYCk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCB0c2NvbmZpZ1BhdGggb2YgWy4uLmJ1aWxkUGF0aHMsIC4uLnRlc3RQYXRoc10pIHtcbiAgICAgIHJ1bk1vdmVEb2N1bWVudE1pZ3JhdGlvbih0cmVlLCB0c2NvbmZpZ1BhdGgsIGJhc2VQYXRoKTtcbiAgICB9XG4gIH07XG59XG5cbi8qKlxuICogUnVucyB0aGUgRE9DVU1FTlQgSW5qZWN0aW9uVG9rZW4gaW1wb3J0IG1pZ3JhdGlvbiBmb3IgdGhlIGdpdmVuIFR5cGVTY3JpcHQgcHJvamVjdC4gVGhlXG4gKiBzY2hlbWF0aWMgYW5hbHl6ZXMgdGhlIGltcG9ydHMgd2l0aGluIHRoZSBwcm9qZWN0IGFuZCBtb3ZlcyB0aGUgZGVwcmVjYXRlZCBzeW1ib2wgdG8gdGhlXG4gKiBuZXcgaW1wb3J0IHNvdXJjZS5cbiAqL1xuZnVuY3Rpb24gcnVuTW92ZURvY3VtZW50TWlncmF0aW9uKHRyZWU6IFRyZWUsIHRzY29uZmlnUGF0aDogc3RyaW5nLCBiYXNlUGF0aDogc3RyaW5nKSB7XG4gIGNvbnN0IHtwcm9ncmFtfSA9IGNyZWF0ZU1pZ3JhdGlvblByb2dyYW0odHJlZSwgdHNjb25maWdQYXRoLCBiYXNlUGF0aCk7XG4gIGNvbnN0IHR5cGVDaGVja2VyID0gcHJvZ3JhbS5nZXRUeXBlQ2hlY2tlcigpO1xuICBjb25zdCB2aXNpdG9yID0gbmV3IERvY3VtZW50SW1wb3J0VmlzaXRvcih0eXBlQ2hlY2tlcik7XG4gIGNvbnN0IHNvdXJjZUZpbGVzID1cbiAgICAgIHByb2dyYW0uZ2V0U291cmNlRmlsZXMoKS5maWx0ZXIoc291cmNlRmlsZSA9PiBjYW5NaWdyYXRlRmlsZShiYXNlUGF0aCwgc291cmNlRmlsZSwgcHJvZ3JhbSkpO1xuXG4gIC8vIEFuYWx5emUgc291cmNlIGZpbGVzIGJ5IGZpbmRpbmcgaW1wb3J0cy5cbiAgc291cmNlRmlsZXMuZm9yRWFjaChzb3VyY2VGaWxlID0+IHZpc2l0b3IudmlzaXROb2RlKHNvdXJjZUZpbGUpKTtcblxuICBjb25zdCB7aW1wb3J0c01hcH0gPSB2aXNpdG9yO1xuXG4gIC8vIFdhbGsgdGhyb3VnaCBhbGwgc291cmNlIGZpbGVzIHRoYXQgY29udGFpbiByZXNvbHZlZCBxdWVyaWVzIGFuZCB1cGRhdGVcbiAgLy8gdGhlIHNvdXJjZSBmaWxlcyBpZiBuZWVkZWQuIE5vdGUgdGhhdCB3ZSBuZWVkIHRvIHVwZGF0ZSBtdWx0aXBsZSBxdWVyaWVzXG4gIC8vIHdpdGhpbiBhIHNvdXJjZSBmaWxlIHdpdGhpbiB0aGUgc2FtZSByZWNvcmRlciBpbiBvcmRlciB0byBub3QgdGhyb3cgb2ZmXG4gIC8vIHRoZSBUeXBlU2NyaXB0IG5vZGUgb2Zmc2V0cy5cbiAgaW1wb3J0c01hcC5mb3JFYWNoKChyZXNvbHZlZEltcG9ydDogUmVzb2x2ZWREb2N1bWVudEltcG9ydCwgc291cmNlRmlsZTogdHMuU291cmNlRmlsZSkgPT4ge1xuICAgIGNvbnN0IHtwbGF0Zm9ybUJyb3dzZXJJbXBvcnQsIGNvbW1vbkltcG9ydCwgZG9jdW1lbnRFbGVtZW50fSA9IHJlc29sdmVkSW1wb3J0O1xuICAgIGlmICghZG9jdW1lbnRFbGVtZW50IHx8ICFwbGF0Zm9ybUJyb3dzZXJJbXBvcnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdXBkYXRlID0gdHJlZS5iZWdpblVwZGF0ZShyZWxhdGl2ZShiYXNlUGF0aCwgc291cmNlRmlsZS5maWxlTmFtZSkpO1xuXG4gICAgY29uc3QgcGxhdGZvcm1Ccm93c2VyRGVjbGFyYXRpb24gPSBwbGF0Zm9ybUJyb3dzZXJJbXBvcnQucGFyZW50LnBhcmVudDtcbiAgICBjb25zdCBuZXdQbGF0Zm9ybUJyb3dzZXJUZXh0ID1cbiAgICAgICAgcmVtb3ZlRnJvbUltcG9ydChwbGF0Zm9ybUJyb3dzZXJJbXBvcnQsIHNvdXJjZUZpbGUsIERPQ1VNRU5UX1RPS0VOX05BTUUpO1xuICAgIGNvbnN0IG5ld0NvbW1vblRleHQgPSBjb21tb25JbXBvcnQgP1xuICAgICAgICBhZGRUb0ltcG9ydChjb21tb25JbXBvcnQsIHNvdXJjZUZpbGUsIGRvY3VtZW50RWxlbWVudC5uYW1lLCBkb2N1bWVudEVsZW1lbnQucHJvcGVydHlOYW1lKSA6XG4gICAgICAgIGNyZWF0ZUltcG9ydChDT01NT05fSU1QT1JULCBzb3VyY2VGaWxlLCBkb2N1bWVudEVsZW1lbnQubmFtZSwgZG9jdW1lbnRFbGVtZW50LnByb3BlcnR5TmFtZSk7XG5cbiAgICAvLyBSZXBsYWNlIHRoZSBleGlzdGluZyBxdWVyeSBkZWNvcmF0b3IgY2FsbCBleHByZXNzaW9uIHdpdGggdGhlIHVwZGF0ZWRcbiAgICAvLyBjYWxsIGV4cHJlc3Npb24gbm9kZS5cbiAgICB1cGRhdGUucmVtb3ZlKHBsYXRmb3JtQnJvd3NlckRlY2xhcmF0aW9uLmdldFN0YXJ0KCksIHBsYXRmb3JtQnJvd3NlckRlY2xhcmF0aW9uLmdldFdpZHRoKCkpO1xuICAgIHVwZGF0ZS5pbnNlcnRSaWdodChwbGF0Zm9ybUJyb3dzZXJEZWNsYXJhdGlvbi5nZXRTdGFydCgpLCBuZXdQbGF0Zm9ybUJyb3dzZXJUZXh0KTtcblxuICAgIGlmIChjb21tb25JbXBvcnQpIHtcbiAgICAgIGNvbnN0IGNvbW1vbkRlY2xhcmF0aW9uID0gY29tbW9uSW1wb3J0LnBhcmVudC5wYXJlbnQ7XG4gICAgICB1cGRhdGUucmVtb3ZlKGNvbW1vbkRlY2xhcmF0aW9uLmdldFN0YXJ0KCksIGNvbW1vbkRlY2xhcmF0aW9uLmdldFdpZHRoKCkpO1xuICAgICAgdXBkYXRlLmluc2VydFJpZ2h0KGNvbW1vbkRlY2xhcmF0aW9uLmdldFN0YXJ0KCksIG5ld0NvbW1vblRleHQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB1cGRhdGUuaW5zZXJ0UmlnaHQocGxhdGZvcm1Ccm93c2VyRGVjbGFyYXRpb24uZ2V0U3RhcnQoKSwgbmV3Q29tbW9uVGV4dCk7XG4gICAgfVxuXG4gICAgdHJlZS5jb21taXRVcGRhdGUodXBkYXRlKTtcbiAgfSk7XG59XG4iXX0=
@@ -1,12 +0,0 @@
1
- /// <amd-module name="@angular/core/schematics/migrations/move-document/move-import" />
2
- /**
3
- * @license
4
- * Copyright Google LLC All Rights Reserved.
5
- *
6
- * Use of this source code is governed by an MIT-style license that can be
7
- * found in the LICENSE file at https://angular.io/license
8
- */
9
- import ts from 'typescript';
10
- export declare function removeFromImport(importNode: ts.NamedImports, sourceFile: ts.SourceFile, importName: string): string;
11
- export declare function addToImport(importNode: ts.NamedImports, sourceFile: ts.SourceFile, name: ts.Identifier, propertyName?: ts.Identifier): string;
12
- export declare function createImport(importSource: string, sourceFile: ts.SourceFile, name: ts.Identifier, propertyName?: ts.Identifier): string;
@@ -1,64 +0,0 @@
1
- var __importDefault = (this && this.__importDefault) || function (mod) {
2
- return (mod && mod.__esModule) ? mod : { "default": mod };
3
- };
4
- (function (factory) {
5
- if (typeof module === "object" && typeof module.exports === "object") {
6
- var v = factory(require, exports);
7
- if (v !== undefined) module.exports = v;
8
- }
9
- else if (typeof define === "function" && define.amd) {
10
- define("@angular/core/schematics/migrations/move-document/move-import", ["require", "exports", "typescript"], factory);
11
- }
12
- })(function (require, exports) {
13
- "use strict";
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.createImport = exports.addToImport = exports.removeFromImport = void 0;
16
- /**
17
- * @license
18
- * Copyright Google LLC All Rights Reserved.
19
- *
20
- * Use of this source code is governed by an MIT-style license that can be
21
- * found in the LICENSE file at https://angular.io/license
22
- */
23
- const typescript_1 = __importDefault(require("typescript"));
24
- function removeFromImport(importNode, sourceFile, importName) {
25
- const printer = typescript_1.default.createPrinter();
26
- const elements = importNode.elements.filter(el => String((el.propertyName || el.name).escapedText) !== importName);
27
- if (!elements.length) {
28
- return '';
29
- }
30
- const oldDeclaration = importNode.parent.parent;
31
- const newImport = typescript_1.default.createNamedImports(elements);
32
- const importClause = typescript_1.default.createImportClause(undefined, newImport);
33
- const newDeclaration = typescript_1.default.createImportDeclaration(undefined, undefined, importClause, oldDeclaration.moduleSpecifier);
34
- return printer.printNode(typescript_1.default.EmitHint.Unspecified, newDeclaration, sourceFile);
35
- }
36
- exports.removeFromImport = removeFromImport;
37
- function addToImport(importNode, sourceFile, name, propertyName) {
38
- const printer = typescript_1.default.createPrinter();
39
- const propertyNameIdentifier = propertyName ? typescript_1.default.createIdentifier(String(propertyName.escapedText)) : undefined;
40
- const nameIdentifier = typescript_1.default.createIdentifier(String(name.escapedText));
41
- const newSpecfier = typescript_1.default.createImportSpecifier(propertyNameIdentifier, nameIdentifier);
42
- const elements = [...importNode.elements];
43
- elements.push(newSpecfier);
44
- const oldDeclaration = importNode.parent.parent;
45
- const newImport = typescript_1.default.createNamedImports(elements);
46
- const importClause = typescript_1.default.createImportClause(undefined, newImport);
47
- const newDeclaration = typescript_1.default.createImportDeclaration(undefined, undefined, importClause, oldDeclaration.moduleSpecifier);
48
- return printer.printNode(typescript_1.default.EmitHint.Unspecified, newDeclaration, sourceFile);
49
- }
50
- exports.addToImport = addToImport;
51
- function createImport(importSource, sourceFile, name, propertyName) {
52
- const printer = typescript_1.default.createPrinter();
53
- const propertyNameIdentifier = propertyName ? typescript_1.default.createIdentifier(String(propertyName.escapedText)) : undefined;
54
- const nameIdentifier = typescript_1.default.createIdentifier(String(name.escapedText));
55
- const newSpecfier = typescript_1.default.createImportSpecifier(propertyNameIdentifier, nameIdentifier);
56
- const newNamedImports = typescript_1.default.createNamedImports([newSpecfier]);
57
- const importClause = typescript_1.default.createImportClause(undefined, newNamedImports);
58
- const moduleSpecifier = typescript_1.default.createStringLiteral(importSource);
59
- const newImport = typescript_1.default.createImportDeclaration(undefined, undefined, importClause, moduleSpecifier);
60
- return printer.printNode(typescript_1.default.EmitHint.Unspecified, newImport, sourceFile);
61
- }
62
- exports.createImport = createImport;
63
- });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZS1pbXBvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NjaGVtYXRpY3MvbWlncmF0aW9ucy9tb3ZlLWRvY3VtZW50L21vdmUtaW1wb3J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztJQUFBOzs7Ozs7T0FNRztJQUNILDREQUE0QjtJQUU1QixTQUFnQixnQkFBZ0IsQ0FDNUIsVUFBMkIsRUFBRSxVQUF5QixFQUFFLFVBQWtCO1FBQzVFLE1BQU0sT0FBTyxHQUFHLG9CQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDbkMsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQ3ZDLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssVUFBVSxDQUFDLENBQUM7UUFFM0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDcEIsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUVELE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQ2hELE1BQU0sU0FBUyxHQUFHLG9CQUFFLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEQsTUFBTSxZQUFZLEdBQUcsb0JBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDakUsTUFBTSxjQUFjLEdBQUcsb0JBQUUsQ0FBQyx1QkFBdUIsQ0FDN0MsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRXhFLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxvQkFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFqQkQsNENBaUJDO0lBRUQsU0FBZ0IsV0FBVyxDQUN2QixVQUEyQixFQUFFLFVBQXlCLEVBQUUsSUFBbUIsRUFDM0UsWUFBNEI7UUFDOUIsTUFBTSxPQUFPLEdBQUcsb0JBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNuQyxNQUFNLHNCQUFzQixHQUN4QixZQUFZLENBQUMsQ0FBQyxDQUFDLG9CQUFFLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDckYsTUFBTSxjQUFjLEdBQUcsb0JBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDckUsTUFBTSxXQUFXLEdBQUcsb0JBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxzQkFBc0IsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNyRixNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFM0IsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDaEQsTUFBTSxTQUFTLEdBQUcsb0JBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsRCxNQUFNLFlBQVksR0FBRyxvQkFBRSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNqRSxNQUFNLGNBQWMsR0FBRyxvQkFBRSxDQUFDLHVCQUF1QixDQUM3QyxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFeEUsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDLG9CQUFFLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxjQUFjLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQW5CRCxrQ0FtQkM7SUFFRCxTQUFnQixZQUFZLENBQ3hCLFlBQW9CLEVBQUUsVUFBeUIsRUFBRSxJQUFtQixFQUNwRSxZQUE0QjtRQUM5QixNQUFNLE9BQU8sR0FBRyxvQkFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ25DLE1BQU0sc0JBQXNCLEdBQ3hCLFlBQVksQ0FBQyxDQUFDLENBQUMsb0JBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNyRixNQUFNLGNBQWMsR0FBRyxvQkFBRSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNyRSxNQUFNLFdBQVcsR0FBRyxvQkFBRSxDQUFDLHFCQUFxQixDQUFDLHNCQUFzQixFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3JGLE1BQU0sZUFBZSxHQUFHLG9CQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQzdELE1BQU0sWUFBWSxHQUFHLG9CQUFFLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ3ZFLE1BQU0sZUFBZSxHQUFHLG9CQUFFLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0QsTUFBTSxTQUFTLEdBQUcsb0JBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxlQUFlLENBQUMsQ0FBQztRQUVsRyxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsb0JBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBZEQsb0NBY0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB0cyBmcm9tICd0eXBlc2NyaXB0JztcblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUZyb21JbXBvcnQoXG4gICAgaW1wb3J0Tm9kZTogdHMuTmFtZWRJbXBvcnRzLCBzb3VyY2VGaWxlOiB0cy5Tb3VyY2VGaWxlLCBpbXBvcnROYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBwcmludGVyID0gdHMuY3JlYXRlUHJpbnRlcigpO1xuICBjb25zdCBlbGVtZW50cyA9IGltcG9ydE5vZGUuZWxlbWVudHMuZmlsdGVyKFxuICAgICAgZWwgPT4gU3RyaW5nKChlbC5wcm9wZXJ0eU5hbWUgfHwgZWwubmFtZSkuZXNjYXBlZFRleHQpICE9PSBpbXBvcnROYW1lKTtcblxuICBpZiAoIWVsZW1lbnRzLmxlbmd0aCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGNvbnN0IG9sZERlY2xhcmF0aW9uID0gaW1wb3J0Tm9kZS5wYXJlbnQucGFyZW50O1xuICBjb25zdCBuZXdJbXBvcnQgPSB0cy5jcmVhdGVOYW1lZEltcG9ydHMoZWxlbWVudHMpO1xuICBjb25zdCBpbXBvcnRDbGF1c2UgPSB0cy5jcmVhdGVJbXBvcnRDbGF1c2UodW5kZWZpbmVkLCBuZXdJbXBvcnQpO1xuICBjb25zdCBuZXdEZWNsYXJhdGlvbiA9IHRzLmNyZWF0ZUltcG9ydERlY2xhcmF0aW9uKFxuICAgICAgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGltcG9ydENsYXVzZSwgb2xkRGVjbGFyYXRpb24ubW9kdWxlU3BlY2lmaWVyKTtcblxuICByZXR1cm4gcHJpbnRlci5wcmludE5vZGUodHMuRW1pdEhpbnQuVW5zcGVjaWZpZWQsIG5ld0RlY2xhcmF0aW9uLCBzb3VyY2VGaWxlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFRvSW1wb3J0KFxuICAgIGltcG9ydE5vZGU6IHRzLk5hbWVkSW1wb3J0cywgc291cmNlRmlsZTogdHMuU291cmNlRmlsZSwgbmFtZTogdHMuSWRlbnRpZmllcixcbiAgICBwcm9wZXJ0eU5hbWU/OiB0cy5JZGVudGlmaWVyKTogc3RyaW5nIHtcbiAgY29uc3QgcHJpbnRlciA9IHRzLmNyZWF0ZVByaW50ZXIoKTtcbiAgY29uc3QgcHJvcGVydHlOYW1lSWRlbnRpZmllciA9XG4gICAgICBwcm9wZXJ0eU5hbWUgPyB0cy5jcmVhdGVJZGVudGlmaWVyKFN0cmluZyhwcm9wZXJ0eU5hbWUuZXNjYXBlZFRleHQpKSA6IHVuZGVmaW5lZDtcbiAgY29uc3QgbmFtZUlkZW50aWZpZXIgPSB0cy5jcmVhdGVJZGVudGlmaWVyKFN0cmluZyhuYW1lLmVzY2FwZWRUZXh0KSk7XG4gIGNvbnN0IG5ld1NwZWNmaWVyID0gdHMuY3JlYXRlSW1wb3J0U3BlY2lmaWVyKHByb3BlcnR5TmFtZUlkZW50aWZpZXIsIG5hbWVJZGVudGlmaWVyKTtcbiAgY29uc3QgZWxlbWVudHMgPSBbLi4uaW1wb3J0Tm9kZS5lbGVtZW50c107XG5cbiAgZWxlbWVudHMucHVzaChuZXdTcGVjZmllcik7XG5cbiAgY29uc3Qgb2xkRGVjbGFyYXRpb24gPSBpbXBvcnROb2RlLnBhcmVudC5wYXJlbnQ7XG4gIGNvbnN0IG5ld0ltcG9ydCA9IHRzLmNyZWF0ZU5hbWVkSW1wb3J0cyhlbGVtZW50cyk7XG4gIGNvbnN0IGltcG9ydENsYXVzZSA9IHRzLmNyZWF0ZUltcG9ydENsYXVzZSh1bmRlZmluZWQsIG5ld0ltcG9ydCk7XG4gIGNvbnN0IG5ld0RlY2xhcmF0aW9uID0gdHMuY3JlYXRlSW1wb3J0RGVjbGFyYXRpb24oXG4gICAgICB1bmRlZmluZWQsIHVuZGVmaW5lZCwgaW1wb3J0Q2xhdXNlLCBvbGREZWNsYXJhdGlvbi5tb2R1bGVTcGVjaWZpZXIpO1xuXG4gIHJldHVybiBwcmludGVyLnByaW50Tm9kZSh0cy5FbWl0SGludC5VbnNwZWNpZmllZCwgbmV3RGVjbGFyYXRpb24sIHNvdXJjZUZpbGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSW1wb3J0KFxuICAgIGltcG9ydFNvdXJjZTogc3RyaW5nLCBzb3VyY2VGaWxlOiB0cy5Tb3VyY2VGaWxlLCBuYW1lOiB0cy5JZGVudGlmaWVyLFxuICAgIHByb3BlcnR5TmFtZT86IHRzLklkZW50aWZpZXIpIHtcbiAgY29uc3QgcHJpbnRlciA9IHRzLmNyZWF0ZVByaW50ZXIoKTtcbiAgY29uc3QgcHJvcGVydHlOYW1lSWRlbnRpZmllciA9XG4gICAgICBwcm9wZXJ0eU5hbWUgPyB0cy5jcmVhdGVJZGVudGlmaWVyKFN0cmluZyhwcm9wZXJ0eU5hbWUuZXNjYXBlZFRleHQpKSA6IHVuZGVmaW5lZDtcbiAgY29uc3QgbmFtZUlkZW50aWZpZXIgPSB0cy5jcmVhdGVJZGVudGlmaWVyKFN0cmluZyhuYW1lLmVzY2FwZWRUZXh0KSk7XG4gIGNvbnN0IG5ld1NwZWNmaWVyID0gdHMuY3JlYXRlSW1wb3J0U3BlY2lmaWVyKHByb3BlcnR5TmFtZUlkZW50aWZpZXIsIG5hbWVJZGVudGlmaWVyKTtcbiAgY29uc3QgbmV3TmFtZWRJbXBvcnRzID0gdHMuY3JlYXRlTmFtZWRJbXBvcnRzKFtuZXdTcGVjZmllcl0pO1xuICBjb25zdCBpbXBvcnRDbGF1c2UgPSB0cy5jcmVhdGVJbXBvcnRDbGF1c2UodW5kZWZpbmVkLCBuZXdOYW1lZEltcG9ydHMpO1xuICBjb25zdCBtb2R1bGVTcGVjaWZpZXIgPSB0cy5jcmVhdGVTdHJpbmdMaXRlcmFsKGltcG9ydFNvdXJjZSk7XG4gIGNvbnN0IG5ld0ltcG9ydCA9IHRzLmNyZWF0ZUltcG9ydERlY2xhcmF0aW9uKHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBpbXBvcnRDbGF1c2UsIG1vZHVsZVNwZWNpZmllcik7XG5cbiAgcmV0dXJuIHByaW50ZXIucHJpbnROb2RlKHRzLkVtaXRIaW50LlVuc3BlY2lmaWVkLCBuZXdJbXBvcnQsIHNvdXJjZUZpbGUpO1xufVxuIl19
@@ -1,11 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- /// <amd-module name="@angular/core/schematics/migrations/native-view-encapsulation" />
9
- import { Rule } from '@angular-devkit/schematics';
10
- /** Migration that switches from `ViewEncapsulation.Native` to `ViewEncapsulation.ShadowDom`. */
11
- export default function (): Rule;
@@ -1,63 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
- (function (factory) {
18
- if (typeof module === "object" && typeof module.exports === "object") {
19
- var v = factory(require, exports);
20
- if (v !== undefined) module.exports = v;
21
- }
22
- else if (typeof define === "function" && define.amd) {
23
- define("@angular/core/schematics/migrations/native-view-encapsulation", ["require", "exports", "@angular-devkit/schematics", "path", "@angular/core/schematics/utils/project_tsconfig_paths", "@angular/core/schematics/utils/typescript/compiler_host", "@angular/core/schematics/migrations/native-view-encapsulation/util"], factory);
24
- }
25
- })(function (require, exports) {
26
- "use strict";
27
- Object.defineProperty(exports, "__esModule", { value: true });
28
- const schematics_1 = require("@angular-devkit/schematics");
29
- const path_1 = require("path");
30
- const project_tsconfig_paths_1 = require("@angular/core/schematics/utils/project_tsconfig_paths");
31
- const compiler_host_1 = require("@angular/core/schematics/utils/typescript/compiler_host");
32
- const util_1 = require("@angular/core/schematics/migrations/native-view-encapsulation/util");
33
- /** Migration that switches from `ViewEncapsulation.Native` to `ViewEncapsulation.ShadowDom`. */
34
- function default_1() {
35
- return (tree) => __awaiter(this, void 0, void 0, function* () {
36
- const { buildPaths, testPaths } = yield (0, project_tsconfig_paths_1.getProjectTsConfigPaths)(tree);
37
- const basePath = process.cwd();
38
- const allPaths = [...buildPaths, ...testPaths];
39
- if (!allPaths.length) {
40
- throw new schematics_1.SchematicsException('Could not find any tsconfig file. Cannot migrate away from Native view encapsulation.');
41
- }
42
- for (const tsconfigPath of allPaths) {
43
- runNativeViewEncapsulationMigration(tree, tsconfigPath, basePath);
44
- }
45
- });
46
- }
47
- exports.default = default_1;
48
- function runNativeViewEncapsulationMigration(tree, tsconfigPath, basePath) {
49
- const { program } = (0, compiler_host_1.createMigrationProgram)(tree, tsconfigPath, basePath);
50
- const typeChecker = program.getTypeChecker();
51
- const sourceFiles = program.getSourceFiles().filter(sourceFile => (0, compiler_host_1.canMigrateFile)(basePath, sourceFile, program));
52
- sourceFiles.forEach(sourceFile => {
53
- const update = tree.beginUpdate((0, path_1.relative)(basePath, sourceFile.fileName));
54
- const identifiers = (0, util_1.findNativeEncapsulationNodes)(typeChecker, sourceFile);
55
- identifiers.forEach(node => {
56
- update.remove(node.getStart(), node.getWidth());
57
- update.insertRight(node.getStart(), 'ShadowDom');
58
- });
59
- tree.commitUpdate(update);
60
- });
61
- }
62
- });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NjaGVtYXRpY3MvbWlncmF0aW9ucy9uYXRpdmUtdmlldy1lbmNhcHN1bGF0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBRUgsMkRBQTJFO0lBQzNFLCtCQUE4QjtJQUU5QixrR0FBMkU7SUFDM0UsMkZBQTRGO0lBQzVGLDZGQUFvRDtJQUdwRCxnR0FBZ0c7SUFDaEc7UUFDRSxPQUFPLENBQU8sSUFBVSxFQUFFLEVBQUU7WUFDMUIsTUFBTSxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUMsR0FBRyxNQUFNLElBQUEsZ0RBQXVCLEVBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEUsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQy9CLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBRyxVQUFVLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQztZQUUvQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtnQkFDcEIsTUFBTSxJQUFJLGdDQUFtQixDQUN6Qix1RkFBdUYsQ0FBQyxDQUFDO2FBQzlGO1lBRUQsS0FBSyxNQUFNLFlBQVksSUFBSSxRQUFRLEVBQUU7Z0JBQ25DLG1DQUFtQyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7YUFDbkU7UUFDSCxDQUFDLENBQUEsQ0FBQztJQUNKLENBQUM7SUFmRCw0QkFlQztJQUVELFNBQVMsbUNBQW1DLENBQUMsSUFBVSxFQUFFLFlBQW9CLEVBQUUsUUFBZ0I7UUFDN0YsTUFBTSxFQUFDLE9BQU8sRUFBQyxHQUFHLElBQUEsc0NBQXNCLEVBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN2RSxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDN0MsTUFBTSxXQUFXLEdBQ2IsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLElBQUEsOEJBQWMsRUFBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFFakcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUMvQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUEsZUFBUSxFQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUN6RSxNQUFNLFdBQVcsR0FBRyxJQUFBLG1DQUE0QixFQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUUxRSxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUN6QixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFDaEQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDbkQsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge1J1bGUsIFNjaGVtYXRpY3NFeGNlcHRpb24sIFRyZWV9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9zY2hlbWF0aWNzJztcbmltcG9ydCB7cmVsYXRpdmV9IGZyb20gJ3BhdGgnO1xuXG5pbXBvcnQge2dldFByb2plY3RUc0NvbmZpZ1BhdGhzfSBmcm9tICcuLi8uLi91dGlscy9wcm9qZWN0X3RzY29uZmlnX3BhdGhzJztcbmltcG9ydCB7Y2FuTWlncmF0ZUZpbGUsIGNyZWF0ZU1pZ3JhdGlvblByb2dyYW19IGZyb20gJy4uLy4uL3V0aWxzL3R5cGVzY3JpcHQvY29tcGlsZXJfaG9zdCc7XG5pbXBvcnQge2ZpbmROYXRpdmVFbmNhcHN1bGF0aW9uTm9kZXN9IGZyb20gJy4vdXRpbCc7XG5cblxuLyoqIE1pZ3JhdGlvbiB0aGF0IHN3aXRjaGVzIGZyb20gYFZpZXdFbmNhcHN1bGF0aW9uLk5hdGl2ZWAgdG8gYFZpZXdFbmNhcHN1bGF0aW9uLlNoYWRvd0RvbWAuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbigpOiBSdWxlIHtcbiAgcmV0dXJuIGFzeW5jICh0cmVlOiBUcmVlKSA9PiB7XG4gICAgY29uc3Qge2J1aWxkUGF0aHMsIHRlc3RQYXRoc30gPSBhd2FpdCBnZXRQcm9qZWN0VHNDb25maWdQYXRocyh0cmVlKTtcbiAgICBjb25zdCBiYXNlUGF0aCA9IHByb2Nlc3MuY3dkKCk7XG4gICAgY29uc3QgYWxsUGF0aHMgPSBbLi4uYnVpbGRQYXRocywgLi4udGVzdFBhdGhzXTtcblxuICAgIGlmICghYWxsUGF0aHMubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgU2NoZW1hdGljc0V4Y2VwdGlvbihcbiAgICAgICAgICAnQ291bGQgbm90IGZpbmQgYW55IHRzY29uZmlnIGZpbGUuIENhbm5vdCBtaWdyYXRlIGF3YXkgZnJvbSBOYXRpdmUgdmlldyBlbmNhcHN1bGF0aW9uLicpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgdHNjb25maWdQYXRoIG9mIGFsbFBhdGhzKSB7XG4gICAgICBydW5OYXRpdmVWaWV3RW5jYXBzdWxhdGlvbk1pZ3JhdGlvbih0cmVlLCB0c2NvbmZpZ1BhdGgsIGJhc2VQYXRoKTtcbiAgICB9XG4gIH07XG59XG5cbmZ1bmN0aW9uIHJ1bk5hdGl2ZVZpZXdFbmNhcHN1bGF0aW9uTWlncmF0aW9uKHRyZWU6IFRyZWUsIHRzY29uZmlnUGF0aDogc3RyaW5nLCBiYXNlUGF0aDogc3RyaW5nKSB7XG4gIGNvbnN0IHtwcm9ncmFtfSA9IGNyZWF0ZU1pZ3JhdGlvblByb2dyYW0odHJlZSwgdHNjb25maWdQYXRoLCBiYXNlUGF0aCk7XG4gIGNvbnN0IHR5cGVDaGVja2VyID0gcHJvZ3JhbS5nZXRUeXBlQ2hlY2tlcigpO1xuICBjb25zdCBzb3VyY2VGaWxlcyA9XG4gICAgICBwcm9ncmFtLmdldFNvdXJjZUZpbGVzKCkuZmlsdGVyKHNvdXJjZUZpbGUgPT4gY2FuTWlncmF0ZUZpbGUoYmFzZVBhdGgsIHNvdXJjZUZpbGUsIHByb2dyYW0pKTtcblxuICBzb3VyY2VGaWxlcy5mb3JFYWNoKHNvdXJjZUZpbGUgPT4ge1xuICAgIGNvbnN0IHVwZGF0ZSA9IHRyZWUuYmVnaW5VcGRhdGUocmVsYXRpdmUoYmFzZVBhdGgsIHNvdXJjZUZpbGUuZmlsZU5hbWUpKTtcbiAgICBjb25zdCBpZGVudGlmaWVycyA9IGZpbmROYXRpdmVFbmNhcHN1bGF0aW9uTm9kZXModHlwZUNoZWNrZXIsIHNvdXJjZUZpbGUpO1xuXG4gICAgaWRlbnRpZmllcnMuZm9yRWFjaChub2RlID0+IHtcbiAgICAgIHVwZGF0ZS5yZW1vdmUobm9kZS5nZXRTdGFydCgpLCBub2RlLmdldFdpZHRoKCkpO1xuICAgICAgdXBkYXRlLmluc2VydFJpZ2h0KG5vZGUuZ2V0U3RhcnQoKSwgJ1NoYWRvd0RvbScpO1xuICAgIH0pO1xuXG4gICAgdHJlZS5jb21taXRVcGRhdGUodXBkYXRlKTtcbiAgfSk7XG59XG4iXX0=
@@ -1,11 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- /// <amd-module name="@angular/core/schematics/migrations/native-view-encapsulation/util" />
9
- import ts from 'typescript';
10
- /** Finds all the Identifier nodes in a file that refer to `Native` view encapsulation. */
11
- export declare function findNativeEncapsulationNodes(typeChecker: ts.TypeChecker, sourceFile: ts.SourceFile): Set<ts.Identifier>;
@@ -1,51 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
- (function (factory) {
12
- if (typeof module === "object" && typeof module.exports === "object") {
13
- var v = factory(require, exports);
14
- if (v !== undefined) module.exports = v;
15
- }
16
- else if (typeof define === "function" && define.amd) {
17
- define("@angular/core/schematics/migrations/native-view-encapsulation/util", ["require", "exports", "typescript", "@angular/core/schematics/utils/typescript/imports"], factory);
18
- }
19
- })(function (require, exports) {
20
- "use strict";
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.findNativeEncapsulationNodes = void 0;
23
- const typescript_1 = __importDefault(require("typescript"));
24
- const imports_1 = require("@angular/core/schematics/utils/typescript/imports");
25
- /** Finds all the Identifier nodes in a file that refer to `Native` view encapsulation. */
26
- function findNativeEncapsulationNodes(typeChecker, sourceFile) {
27
- const results = new Set();
28
- sourceFile.forEachChild(function walkNode(node) {
29
- // Note that we look directly for nodes in the form of `<something>.Native`, rather than going
30
- // for `Component` class decorators, because it's much simpler and it allows us to handle cases
31
- // where `ViewEncapsulation.Native` might be used in a different context (e.g. a variable).
32
- // Using the encapsulation outside of a decorator is an edge case, but we do have public APIs
33
- // where it can be passed in (see the `defaultViewEncapsulation` property on the
34
- // `COMPILER_OPTIONS` provider).
35
- if (typescript_1.default.isPropertyAccessExpression(node) && typescript_1.default.isIdentifier(node.name) &&
36
- node.name.text === 'Native' && typescript_1.default.isIdentifier(node.expression)) {
37
- const expressionImport = (0, imports_1.getImportOfIdentifier)(typeChecker, node.expression);
38
- if (expressionImport && expressionImport.name === 'ViewEncapsulation' &&
39
- expressionImport.importModule === '@angular/core') {
40
- results.add(node.name);
41
- }
42
- }
43
- else {
44
- node.forEachChild(walkNode);
45
- }
46
- });
47
- return results;
48
- }
49
- exports.findNativeEncapsulationNodes = findNativeEncapsulationNodes;
50
- });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc2NoZW1hdGljcy9taWdyYXRpb25zL25hdGl2ZS12aWV3LWVuY2Fwc3VsYXRpb24vdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFSCw0REFBNEI7SUFFNUIsK0VBQXFFO0lBRXJFLDBGQUEwRjtJQUMxRixTQUFnQiw0QkFBNEIsQ0FDeEMsV0FBMkIsRUFBRSxVQUF5QjtRQUN4RCxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBaUIsQ0FBQztRQUV6QyxVQUFVLENBQUMsWUFBWSxDQUFDLFNBQVMsUUFBUSxDQUFDLElBQWE7WUFDckQsOEZBQThGO1lBQzlGLCtGQUErRjtZQUMvRiwyRkFBMkY7WUFDM0YsNkZBQTZGO1lBQzdGLGdGQUFnRjtZQUNoRixnQ0FBZ0M7WUFDaEMsSUFBSSxvQkFBRSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxJQUFJLG9CQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ2pFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxvQkFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ25FLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSwrQkFBcUIsRUFBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUM3RSxJQUFJLGdCQUFnQixJQUFJLGdCQUFnQixDQUFDLElBQUksS0FBSyxtQkFBbUI7b0JBQ2pFLGdCQUFnQixDQUFDLFlBQVksS0FBSyxlQUFlLEVBQUU7b0JBQ3JELE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUN4QjthQUNGO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDN0I7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUF4QkQsb0VBd0JDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB0cyBmcm9tICd0eXBlc2NyaXB0JztcblxuaW1wb3J0IHtnZXRJbXBvcnRPZklkZW50aWZpZXJ9IGZyb20gJy4uLy4uL3V0aWxzL3R5cGVzY3JpcHQvaW1wb3J0cyc7XG5cbi8qKiBGaW5kcyBhbGwgdGhlIElkZW50aWZpZXIgbm9kZXMgaW4gYSBmaWxlIHRoYXQgcmVmZXIgdG8gYE5hdGl2ZWAgdmlldyBlbmNhcHN1bGF0aW9uLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmROYXRpdmVFbmNhcHN1bGF0aW9uTm9kZXMoXG4gICAgdHlwZUNoZWNrZXI6IHRzLlR5cGVDaGVja2VyLCBzb3VyY2VGaWxlOiB0cy5Tb3VyY2VGaWxlKTogU2V0PHRzLklkZW50aWZpZXI+IHtcbiAgY29uc3QgcmVzdWx0cyA9IG5ldyBTZXQ8dHMuSWRlbnRpZmllcj4oKTtcblxuICBzb3VyY2VGaWxlLmZvckVhY2hDaGlsZChmdW5jdGlvbiB3YWxrTm9kZShub2RlOiB0cy5Ob2RlKSB7XG4gICAgLy8gTm90ZSB0aGF0IHdlIGxvb2sgZGlyZWN0bHkgZm9yIG5vZGVzIGluIHRoZSBmb3JtIG9mIGA8c29tZXRoaW5nPi5OYXRpdmVgLCByYXRoZXIgdGhhbiBnb2luZ1xuICAgIC8vIGZvciBgQ29tcG9uZW50YCBjbGFzcyBkZWNvcmF0b3JzLCBiZWNhdXNlIGl0J3MgbXVjaCBzaW1wbGVyIGFuZCBpdCBhbGxvd3MgdXMgdG8gaGFuZGxlIGNhc2VzXG4gICAgLy8gd2hlcmUgYFZpZXdFbmNhcHN1bGF0aW9uLk5hdGl2ZWAgbWlnaHQgYmUgdXNlZCBpbiBhIGRpZmZlcmVudCBjb250ZXh0IChlLmcuIGEgdmFyaWFibGUpLlxuICAgIC8vIFVzaW5nIHRoZSBlbmNhcHN1bGF0aW9uIG91dHNpZGUgb2YgYSBkZWNvcmF0b3IgaXMgYW4gZWRnZSBjYXNlLCBidXQgd2UgZG8gaGF2ZSBwdWJsaWMgQVBJc1xuICAgIC8vIHdoZXJlIGl0IGNhbiBiZSBwYXNzZWQgaW4gKHNlZSB0aGUgYGRlZmF1bHRWaWV3RW5jYXBzdWxhdGlvbmAgcHJvcGVydHkgb24gdGhlXG4gICAgLy8gYENPTVBJTEVSX09QVElPTlNgIHByb3ZpZGVyKS5cbiAgICBpZiAodHMuaXNQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24obm9kZSkgJiYgdHMuaXNJZGVudGlmaWVyKG5vZGUubmFtZSkgJiZcbiAgICAgICAgbm9kZS5uYW1lLnRleHQgPT09ICdOYXRpdmUnICYmIHRzLmlzSWRlbnRpZmllcihub2RlLmV4cHJlc3Npb24pKSB7XG4gICAgICBjb25zdCBleHByZXNzaW9uSW1wb3J0ID0gZ2V0SW1wb3J0T2ZJZGVudGlmaWVyKHR5cGVDaGVja2VyLCBub2RlLmV4cHJlc3Npb24pO1xuICAgICAgaWYgKGV4cHJlc3Npb25JbXBvcnQgJiYgZXhwcmVzc2lvbkltcG9ydC5uYW1lID09PSAnVmlld0VuY2Fwc3VsYXRpb24nICYmXG4gICAgICAgICAgZXhwcmVzc2lvbkltcG9ydC5pbXBvcnRNb2R1bGUgPT09ICdAYW5ndWxhci9jb3JlJykge1xuICAgICAgICByZXN1bHRzLmFkZChub2RlLm5hbWUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBub2RlLmZvckVhY2hDaGlsZCh3YWxrTm9kZSk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gcmVzdWx0cztcbn1cbiJdfQ==
@@ -1,11 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- /// <amd-module name="@angular/core/schematics/migrations/navigation-extras-omissions" />
9
- import { Rule } from '@angular-devkit/schematics';
10
- /** Migration that switches `Router.navigateByUrl` and `Router.createUrlTree` to a new signature. */
11
- export default function (): Rule;
@@ -1,72 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
- var __importDefault = (this && this.__importDefault) || function (mod) {
18
- return (mod && mod.__esModule) ? mod : { "default": mod };
19
- };
20
- (function (factory) {
21
- if (typeof module === "object" && typeof module.exports === "object") {
22
- var v = factory(require, exports);
23
- if (v !== undefined) module.exports = v;
24
- }
25
- else if (typeof define === "function" && define.amd) {
26
- define("@angular/core/schematics/migrations/navigation-extras-omissions", ["require", "exports", "@angular-devkit/schematics", "path", "typescript", "@angular/core/schematics/utils/project_tsconfig_paths", "@angular/core/schematics/utils/typescript/compiler_host", "@angular/core/schematics/migrations/navigation-extras-omissions/util"], factory);
27
- }
28
- })(function (require, exports) {
29
- "use strict";
30
- Object.defineProperty(exports, "__esModule", { value: true });
31
- const schematics_1 = require("@angular-devkit/schematics");
32
- const path_1 = require("path");
33
- const typescript_1 = __importDefault(require("typescript"));
34
- const project_tsconfig_paths_1 = require("@angular/core/schematics/utils/project_tsconfig_paths");
35
- const compiler_host_1 = require("@angular/core/schematics/utils/typescript/compiler_host");
36
- const util_1 = require("@angular/core/schematics/migrations/navigation-extras-omissions/util");
37
- /** Migration that switches `Router.navigateByUrl` and `Router.createUrlTree` to a new signature. */
38
- function default_1() {
39
- return (tree) => __awaiter(this, void 0, void 0, function* () {
40
- const { buildPaths, testPaths } = yield (0, project_tsconfig_paths_1.getProjectTsConfigPaths)(tree);
41
- const basePath = process.cwd();
42
- const allPaths = [...buildPaths, ...testPaths];
43
- if (!allPaths.length) {
44
- throw new schematics_1.SchematicsException('Could not find any tsconfig file. Cannot migrate ' +
45
- 'Router.navigateByUrl and Router.createUrlTree calls.');
46
- }
47
- for (const tsconfigPath of allPaths) {
48
- runNavigationExtrasOmissionsMigration(tree, tsconfigPath, basePath);
49
- }
50
- });
51
- }
52
- exports.default = default_1;
53
- function runNavigationExtrasOmissionsMigration(tree, tsconfigPath, basePath) {
54
- const { program } = (0, compiler_host_1.createMigrationProgram)(tree, tsconfigPath, basePath);
55
- const typeChecker = program.getTypeChecker();
56
- const printer = typescript_1.default.createPrinter();
57
- const sourceFiles = program.getSourceFiles().filter(sourceFile => (0, compiler_host_1.canMigrateFile)(basePath, sourceFile, program));
58
- sourceFiles.forEach(sourceFile => {
59
- const literalsToMigrate = (0, util_1.findLiteralsToMigrate)(sourceFile, typeChecker);
60
- const update = tree.beginUpdate((0, path_1.relative)(basePath, sourceFile.fileName));
61
- literalsToMigrate.forEach((instances, methodName) => instances.forEach(instance => {
62
- const migratedNode = (0, util_1.migrateLiteral)(methodName, instance);
63
- if (migratedNode !== instance) {
64
- update.remove(instance.getStart(), instance.getWidth());
65
- update.insertRight(instance.getStart(), printer.printNode(typescript_1.default.EmitHint.Unspecified, migratedNode, sourceFile));
66
- }
67
- }));
68
- tree.commitUpdate(update);
69
- });
70
- }
71
- });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NjaGVtYXRpY3MvbWlncmF0aW9ucy9uYXZpZ2F0aW9uLWV4dHJhcy1vbWlzc2lvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFSCwyREFBMkU7SUFDM0UsK0JBQThCO0lBQzlCLDREQUE0QjtJQUU1QixrR0FBMkU7SUFDM0UsMkZBQTRGO0lBQzVGLCtGQUE2RDtJQUc3RCxvR0FBb0c7SUFDcEc7UUFDRSxPQUFPLENBQU8sSUFBVSxFQUFFLEVBQUU7WUFDMUIsTUFBTSxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUMsR0FBRyxNQUFNLElBQUEsZ0RBQXVCLEVBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEUsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQy9CLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBRyxVQUFVLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQztZQUUvQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtnQkFDcEIsTUFBTSxJQUFJLGdDQUFtQixDQUN6QixtREFBbUQ7b0JBQ25ELHNEQUFzRCxDQUFDLENBQUM7YUFDN0Q7WUFFRCxLQUFLLE1BQU0sWUFBWSxJQUFJLFFBQVEsRUFBRTtnQkFDbkMscUNBQXFDLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQzthQUNyRTtRQUNILENBQUMsQ0FBQSxDQUFDO0lBQ0osQ0FBQztJQWhCRCw0QkFnQkM7SUFFRCxTQUFTLHFDQUFxQyxDQUFDLElBQVUsRUFBRSxZQUFvQixFQUFFLFFBQWdCO1FBQy9GLE1BQU0sRUFBQyxPQUFPLEVBQUMsR0FBRyxJQUFBLHNDQUFzQixFQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdkUsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzdDLE1BQU0sT0FBTyxHQUFHLG9CQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDbkMsTUFBTSxXQUFXLEdBQ2IsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLElBQUEsOEJBQWMsRUFBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFFakcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUMvQixNQUFNLGlCQUFpQixHQUFHLElBQUEsNEJBQXFCLEVBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQ3pFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBQSxlQUFRLEVBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBRXpFLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ2hGLE1BQU0sWUFBWSxHQUFHLElBQUEscUJBQWMsRUFBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBRTFELElBQUksWUFBWSxLQUFLLFFBQVEsRUFBRTtvQkFDN0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7b0JBQ3hELE1BQU0sQ0FBQyxXQUFXLENBQ2QsUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUNuQixPQUFPLENBQUMsU0FBUyxDQUFDLG9CQUFFLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztpQkFDM0U7WUFDSCxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRUosSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtSdWxlLCBTY2hlbWF0aWNzRXhjZXB0aW9uLCBUcmVlfSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQge3JlbGF0aXZlfSBmcm9tICdwYXRoJztcbmltcG9ydCB0cyBmcm9tICd0eXBlc2NyaXB0JztcblxuaW1wb3J0IHtnZXRQcm9qZWN0VHNDb25maWdQYXRoc30gZnJvbSAnLi4vLi4vdXRpbHMvcHJvamVjdF90c2NvbmZpZ19wYXRocyc7XG5pbXBvcnQge2Nhbk1pZ3JhdGVGaWxlLCBjcmVhdGVNaWdyYXRpb25Qcm9ncmFtfSBmcm9tICcuLi8uLi91dGlscy90eXBlc2NyaXB0L2NvbXBpbGVyX2hvc3QnO1xuaW1wb3J0IHtmaW5kTGl0ZXJhbHNUb01pZ3JhdGUsIG1pZ3JhdGVMaXRlcmFsfSBmcm9tICcuL3V0aWwnO1xuXG5cbi8qKiBNaWdyYXRpb24gdGhhdCBzd2l0Y2hlcyBgUm91dGVyLm5hdmlnYXRlQnlVcmxgIGFuZCBgUm91dGVyLmNyZWF0ZVVybFRyZWVgIHRvIGEgbmV3IHNpZ25hdHVyZS4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKCk6IFJ1bGUge1xuICByZXR1cm4gYXN5bmMgKHRyZWU6IFRyZWUpID0+IHtcbiAgICBjb25zdCB7YnVpbGRQYXRocywgdGVzdFBhdGhzfSA9IGF3YWl0IGdldFByb2plY3RUc0NvbmZpZ1BhdGhzKHRyZWUpO1xuICAgIGNvbnN0IGJhc2VQYXRoID0gcHJvY2Vzcy5jd2QoKTtcbiAgICBjb25zdCBhbGxQYXRocyA9IFsuLi5idWlsZFBhdGhzLCAuLi50ZXN0UGF0aHNdO1xuXG4gICAgaWYgKCFhbGxQYXRocy5sZW5ndGgpIHtcbiAgICAgIHRocm93IG5ldyBTY2hlbWF0aWNzRXhjZXB0aW9uKFxuICAgICAgICAgICdDb3VsZCBub3QgZmluZCBhbnkgdHNjb25maWcgZmlsZS4gQ2Fubm90IG1pZ3JhdGUgJyArXG4gICAgICAgICAgJ1JvdXRlci5uYXZpZ2F0ZUJ5VXJsIGFuZCBSb3V0ZXIuY3JlYXRlVXJsVHJlZSBjYWxscy4nKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHRzY29uZmlnUGF0aCBvZiBhbGxQYXRocykge1xuICAgICAgcnVuTmF2aWdhdGlvbkV4dHJhc09taXNzaW9uc01pZ3JhdGlvbih0cmVlLCB0c2NvbmZpZ1BhdGgsIGJhc2VQYXRoKTtcbiAgICB9XG4gIH07XG59XG5cbmZ1bmN0aW9uIHJ1bk5hdmlnYXRpb25FeHRyYXNPbWlzc2lvbnNNaWdyYXRpb24odHJlZTogVHJlZSwgdHNjb25maWdQYXRoOiBzdHJpbmcsIGJhc2VQYXRoOiBzdHJpbmcpIHtcbiAgY29uc3Qge3Byb2dyYW19ID0gY3JlYXRlTWlncmF0aW9uUHJvZ3JhbSh0cmVlLCB0c2NvbmZpZ1BhdGgsIGJhc2VQYXRoKTtcbiAgY29uc3QgdHlwZUNoZWNrZXIgPSBwcm9ncmFtLmdldFR5cGVDaGVja2VyKCk7XG4gIGNvbnN0IHByaW50ZXIgPSB0cy5jcmVhdGVQcmludGVyKCk7XG4gIGNvbnN0IHNvdXJjZUZpbGVzID1cbiAgICAgIHByb2dyYW0uZ2V0U291cmNlRmlsZXMoKS5maWx0ZXIoc291cmNlRmlsZSA9PiBjYW5NaWdyYXRlRmlsZShiYXNlUGF0aCwgc291cmNlRmlsZSwgcHJvZ3JhbSkpO1xuXG4gIHNvdXJjZUZpbGVzLmZvckVhY2goc291cmNlRmlsZSA9PiB7XG4gICAgY29uc3QgbGl0ZXJhbHNUb01pZ3JhdGUgPSBmaW5kTGl0ZXJhbHNUb01pZ3JhdGUoc291cmNlRmlsZSwgdHlwZUNoZWNrZXIpO1xuICAgIGNvbnN0IHVwZGF0ZSA9IHRyZWUuYmVnaW5VcGRhdGUocmVsYXRpdmUoYmFzZVBhdGgsIHNvdXJjZUZpbGUuZmlsZU5hbWUpKTtcblxuICAgIGxpdGVyYWxzVG9NaWdyYXRlLmZvckVhY2goKGluc3RhbmNlcywgbWV0aG9kTmFtZSkgPT4gaW5zdGFuY2VzLmZvckVhY2goaW5zdGFuY2UgPT4ge1xuICAgICAgY29uc3QgbWlncmF0ZWROb2RlID0gbWlncmF0ZUxpdGVyYWwobWV0aG9kTmFtZSwgaW5zdGFuY2UpO1xuXG4gICAgICBpZiAobWlncmF0ZWROb2RlICE9PSBpbnN0YW5jZSkge1xuICAgICAgICB1cGRhdGUucmVtb3ZlKGluc3RhbmNlLmdldFN0YXJ0KCksIGluc3RhbmNlLmdldFdpZHRoKCkpO1xuICAgICAgICB1cGRhdGUuaW5zZXJ0UmlnaHQoXG4gICAgICAgICAgICBpbnN0YW5jZS5nZXRTdGFydCgpLFxuICAgICAgICAgICAgcHJpbnRlci5wcmludE5vZGUodHMuRW1pdEhpbnQuVW5zcGVjaWZpZWQsIG1pZ3JhdGVkTm9kZSwgc291cmNlRmlsZSkpO1xuICAgICAgfVxuICAgIH0pKTtcblxuICAgIHRyZWUuY29tbWl0VXBkYXRlKHVwZGF0ZSk7XG4gIH0pO1xufVxuIl19
@@ -1,11 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- /// <amd-module name="@angular/core/schematics/migrations/navigation-extras-omissions/util" />
9
- import ts from 'typescript';
10
- export declare function migrateLiteral(methodName: string, node: ts.ObjectLiteralExpression): ts.ObjectLiteralExpression;
11
- export declare function findLiteralsToMigrate(sourceFile: ts.SourceFile, typeChecker: ts.TypeChecker): Map<string, Set<ts.ObjectLiteralExpression>>;
@@ -1,129 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
- (function (factory) {
12
- if (typeof module === "object" && typeof module.exports === "object") {
13
- var v = factory(require, exports);
14
- if (v !== undefined) module.exports = v;
15
- }
16
- else if (typeof define === "function" && define.amd) {
17
- define("@angular/core/schematics/migrations/navigation-extras-omissions/util", ["require", "exports", "typescript", "@angular/core/schematics/utils/typescript/imports", "@angular/core/schematics/utils/typescript/symbol"], factory);
18
- }
19
- })(function (require, exports) {
20
- "use strict";
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.findLiteralsToMigrate = exports.migrateLiteral = void 0;
23
- const typescript_1 = __importDefault(require("typescript"));
24
- const imports_1 = require("@angular/core/schematics/utils/typescript/imports");
25
- const symbol_1 = require("@angular/core/schematics/utils/typescript/symbol");
26
- /**
27
- * Configures the methods that the migration should be looking for
28
- * and the properties from `NavigationExtras` that should be preserved.
29
- */
30
- const methodConfig = new Map([
31
- ['navigateByUrl', new Set(['skipLocationChange', 'replaceUrl', 'state'])],
32
- [
33
- 'createUrlTree', new Set([
34
- 'relativeTo', 'queryParams', 'fragment', 'preserveQueryParams', 'queryParamsHandling',
35
- 'preserveFragment'
36
- ])
37
- ]
38
- ]);
39
- function migrateLiteral(methodName, node) {
40
- const allowedProperties = methodConfig.get(methodName);
41
- if (!allowedProperties) {
42
- throw Error(`Attempting to migrate unconfigured method called ${methodName}.`);
43
- }
44
- const propertiesToKeep = [];
45
- const removedPropertyNames = [];
46
- node.properties.forEach(property => {
47
- // Only look for regular and shorthand property assignments since resolving things
48
- // like spread operators becomes too complicated for this migration.
49
- if ((typescript_1.default.isPropertyAssignment(property) || typescript_1.default.isShorthandPropertyAssignment(property)) &&
50
- (typescript_1.default.isStringLiteralLike(property.name) || typescript_1.default.isNumericLiteral(property.name) ||
51
- typescript_1.default.isIdentifier(property.name))) {
52
- if (allowedProperties.has(property.name.text)) {
53
- propertiesToKeep.push(property);
54
- }
55
- else {
56
- removedPropertyNames.push(property.name.text);
57
- }
58
- }
59
- else {
60
- propertiesToKeep.push(property);
61
- }
62
- });
63
- // Don't modify the node if there's nothing to remove.
64
- if (removedPropertyNames.length === 0) {
65
- return node;
66
- }
67
- // Note that the trailing/leading spaces are necessary so the comment looks good.
68
- const removalComment = ` Removed unsupported properties by Angular migration: ${removedPropertyNames.join(', ')}. `;
69
- if (propertiesToKeep.length > 0) {
70
- propertiesToKeep[0] = addUniqueLeadingComment(propertiesToKeep[0], removalComment);
71
- return typescript_1.default.createObjectLiteral(propertiesToKeep);
72
- }
73
- else {
74
- return addUniqueLeadingComment(typescript_1.default.createObjectLiteral(propertiesToKeep), removalComment);
75
- }
76
- }
77
- exports.migrateLiteral = migrateLiteral;
78
- function findLiteralsToMigrate(sourceFile, typeChecker) {
79
- const results = new Map(Array.from(methodConfig.keys(), key => [key, new Set()]));
80
- const routerImport = (0, imports_1.getImportSpecifier)(sourceFile, '@angular/router', 'Router');
81
- const seenLiterals = new Map();
82
- if (routerImport) {
83
- sourceFile.forEachChild(function visitNode(node) {
84
- var _a;
85
- // Look for calls that look like `foo.<method to migrate>` with more than one parameter.
86
- if (typescript_1.default.isCallExpression(node) && node.arguments.length > 1 &&
87
- typescript_1.default.isPropertyAccessExpression(node.expression) && typescript_1.default.isIdentifier(node.expression.name) &&
88
- methodConfig.has(node.expression.name.text)) {
89
- // Check whether the type of the object on which the
90
- // function is called refers to the Router import.
91
- if ((0, symbol_1.isReferenceToImport)(typeChecker, node.expression.expression, routerImport)) {
92
- const methodName = node.expression.name.text;
93
- const parameterDeclaration = (_a = typeChecker.getTypeAtLocation(node.arguments[1]).getSymbol()) === null || _a === void 0 ? void 0 : _a.valueDeclaration;
94
- // Find the source of the object literal.
95
- if (parameterDeclaration && typescript_1.default.isObjectLiteralExpression(parameterDeclaration)) {
96
- if (!seenLiterals.has(parameterDeclaration)) {
97
- results.get(methodName).add(parameterDeclaration);
98
- seenLiterals.set(parameterDeclaration, methodName);
99
- // If the same literal has been passed into multiple different methods, we can't
100
- // migrate it, because the supported properties are different. When we detect such
101
- // a case, we drop it from the results so that it gets ignored. If it's used multiple
102
- // times for the same method, it can still be migrated.
103
- }
104
- else if (seenLiterals.get(parameterDeclaration) !== methodName) {
105
- results.forEach(literals => literals.delete(parameterDeclaration));
106
- }
107
- }
108
- }
109
- }
110
- else {
111
- node.forEachChild(visitNode);
112
- }
113
- });
114
- }
115
- return results;
116
- }
117
- exports.findLiteralsToMigrate = findLiteralsToMigrate;
118
- /** Adds a leading comment to a node, if the node doesn't have such a comment already. */
119
- function addUniqueLeadingComment(node, comment) {
120
- const existingComments = typescript_1.default.getSyntheticLeadingComments(node);
121
- // This logic is primarily to ensure that we don't add the same comment multiple
122
- // times when tslint runs over the same file again with outdated information.
123
- if (!existingComments || existingComments.every(c => c.text !== comment)) {
124
- return typescript_1.default.addSyntheticLeadingComment(node, typescript_1.default.SyntaxKind.MultiLineCommentTrivia, comment);
125
- }
126
- return node;
127
- }
128
- });
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc2NoZW1hdGljcy9taWdyYXRpb25zL25hdmlnYXRpb24tZXh0cmFzLW9taXNzaW9ucy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7OztJQUVILDREQUE0QjtJQUU1QiwrRUFBa0U7SUFDbEUsNkVBQWtFO0lBRWxFOzs7T0FHRztJQUNILE1BQU0sWUFBWSxHQUFHLElBQUksR0FBRyxDQUFzQjtRQUNoRCxDQUFDLGVBQWUsRUFBRSxJQUFJLEdBQUcsQ0FBUyxDQUFDLG9CQUFvQixFQUFFLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ2pGO1lBQ0UsZUFBZSxFQUFFLElBQUksR0FBRyxDQUFTO2dCQUMvQixZQUFZLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSxxQkFBcUI7Z0JBQ3JGLGtCQUFrQjthQUNuQixDQUFDO1NBQ0g7S0FDRixDQUFDLENBQUM7SUFFSCxTQUFnQixjQUFjLENBQzFCLFVBQWtCLEVBQUUsSUFBZ0M7UUFDdEQsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXZELElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN0QixNQUFNLEtBQUssQ0FBQyxvREFBb0QsVUFBVSxHQUFHLENBQUMsQ0FBQztTQUNoRjtRQUVELE1BQU0sZ0JBQWdCLEdBQWtDLEVBQUUsQ0FBQztRQUMzRCxNQUFNLG9CQUFvQixHQUFhLEVBQUUsQ0FBQztRQUUxQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNqQyxrRkFBa0Y7WUFDbEYsb0VBQW9FO1lBQ3BFLElBQUksQ0FBQyxvQkFBRSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxJQUFJLG9CQUFFLENB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QUMsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLEVBQUU7WUFDeEUsT0FBTyxvQkFBRSxDQUFDLDBCQUEwQixDQUFDLElBQUksRUFBRSxvQkFBRSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUMzRjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7Z2V0SW1wb3J0U3BlY2lmaWVyfSBmcm9tICcuLi8uLi91dGlscy90eXBlc2NyaXB0L2ltcG9ydHMnO1xuaW1wb3J0IHtpc1JlZmVyZW5jZVRvSW1wb3J0fSBmcm9tICcuLi8uLi91dGlscy90eXBlc2NyaXB0L3N5bWJvbCc7XG5cbi8qKlxuICogQ29uZmlndXJlcyB0aGUgbWV0aG9kcyB0aGF0IHRoZSBtaWdyYXRpb24gc2hvdWxkIGJlIGxvb2tpbmcgZm9yXG4gKiBhbmQgdGhlIHByb3BlcnRpZXMgZnJvbSBgTmF2aWdhdGlvbkV4dHJhc2AgdGhhdCBzaG91bGQgYmUgcHJlc2VydmVkLlxuICovXG5jb25zdCBtZXRob2RDb25maWcgPSBuZXcgTWFwPHN0cmluZywgU2V0PHN0cmluZz4+KFtcbiAgWyduYXZpZ2F0ZUJ5VXJsJywgbmV3IFNldDxzdHJpbmc+KFsnc2tpcExvY2F0aW9uQ2hhbmdlJywgJ3JlcGxhY2VVcmwnLCAnc3RhdGUnXSldLFxuICBbXG4gICAgJ2NyZWF0ZVVybFRyZWUnLCBuZXcgU2V0PHN0cmluZz4oW1xuICAgICAgJ3JlbGF0aXZlVG8nLCAncXVlcnlQYXJhbXMnLCAnZnJhZ21lbnQnLCAncHJlc2VydmVRdWVyeVBhcmFtcycsICdxdWVyeVBhcmFtc0hhbmRsaW5nJyxcbiAgICAgICdwcmVzZXJ2ZUZyYWdtZW50J1xuICAgIF0pXG4gIF1cbl0pO1xuXG5leHBvcnQgZnVuY3Rpb24gbWlncmF0ZUxpdGVyYWwoXG4gICAgbWV0aG9kTmFtZTogc3RyaW5nLCBub2RlOiB0cy5PYmplY3RMaXRlcmFsRXhwcmVzc2lvbik6IHRzLk9iamVjdExpdGVyYWxFeHByZXNzaW9uIHtcbiAgY29uc3QgYWxsb3dlZFByb3BlcnRpZXMgPSBtZXRob2RDb25maWcuZ2V0KG1ldGhvZE5hbWUpO1xuXG4gIGlmICghYWxsb3dlZFByb3BlcnRpZXMpIHtcbiAgICB0aHJvdyBFcnJvcihgQXR0ZW1wdGluZyB0byBtaWdyYXRlIHVuY29uZmlndXJlZCBtZXRob2QgY2FsbGVkICR7bWV0aG9kTmFtZX0uYCk7XG4gIH1cblxuICBjb25zdCBwcm9wZXJ0aWVzVG9LZWVwOiB0cy5PYmplY3RMaXRlcmFsRWxlbWVudExpa2VbXSA9IFtdO1xuICBjb25zdCByZW1vdmVkUHJvcGVydHlOYW1lczogc3RyaW5nW10gPSBbXTtcblxuICBub2RlLnByb3BlcnRpZXMuZm9yRWFjaChwcm9wZXJ0eSA9PiB7XG4gICAgLy8gT25seSBsb29rIGZvciByZWd1bGFyIGFuZCBzaG9ydGhhbmQgcHJvcGVydHkgYXNzaWdubWVudHMgc2luY2UgcmVzb2x2aW5nIHRoaW5nc1xuICAgIC8vIGxpa2Ugc3ByZWFkIG9wZXJhdG9ycyBiZWNvbWVzIHRvbyBjb21wbGljYXRlZCBmb3IgdGhpcyBtaWdyYXRpb24uXG4gICAgaWYgKCh0cy5pc1Byb3BlcnR5QXNzaWdubWVudChwcm9wZXJ0eSkgfHwgdHMuaXNTaG9ydGhhbmRQcm9wZXJ0eUFzc2lnbm1lbnQocHJvcGVydHkpKSAmJlxuICAgICAgICAodHMuaXNTdHJpbmdMaXRlcmFsTGlrZShwcm9wZXJ0eS5uYW1lKSB8fCB0cy5pc051bWVyaWNMaXRlcmFsKHByb3BlcnR5Lm5hbWUpIHx8XG4gICAgICAgICB0cy5pc0lkZW50aWZpZXIocHJvcGVydHkubmFtZSkpKSB7XG4gICAgICBpZiAoYWxsb3dlZFByb3BlcnRpZXMuaGFzKHByb3BlcnR5Lm5hbWUudGV4dCkpIHtcbiAgICAgICAgcHJvcGVydGllc1RvS2VlcC5wdXNoKHByb3BlcnR5KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlbW92ZWRQcm9wZXJ0eU5hbWVzLnB1c2gocHJvcGVydHkubmFtZS50ZXh0KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcHJvcGVydGllc1RvS2VlcC5wdXNoKHByb3BlcnR5KTtcbiAgICB9XG4gIH0pO1xuXG4gIC8vIERvbid0IG1vZGlmeSB0aGUgbm9kZSBpZiB0aGVyZSdzIG5vdGhpbmcgdG8gcmVtb3ZlLlxuICBpZiAocmVtb3ZlZFByb3BlcnR5TmFtZXMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cblxuICAvLyBOb3RlIHRoYXQgdGhlIHRyYWlsaW5nL2xlYWRpbmcgc3BhY2VzIGFyZSBuZWNlc3Nhcnkgc28gdGhlIGNvbW1lbnQgbG9va3MgZ29vZC5cbiAgY29uc3QgcmVtb3ZhbENvbW1lbnQgPVxuICAgICAgYCBSZW1vdmVkIHVuc3VwcG9ydGVkIHByb3BlcnRpZXMgYnkgQW5ndWxhciBtaWdyYXRpb246ICR7cmVtb3ZlZFByb3BlcnR5TmFtZXMuam9pbignLCAnKX0uIGA7XG5cbiAgaWYgKHByb3BlcnRpZXNUb0tlZXAubGVuZ3RoID4gMCkge1xuICAgIHByb3BlcnRpZXNUb0tlZXBbMF0gPSBhZGRVbmlxdWVMZWFkaW5nQ29tbWVudChwcm9wZXJ0aWVzVG9LZWVwWzBdLCByZW1vdmFsQ29tbWVudCk7XG4gICAgcmV0dXJuIHRzLmNyZWF0ZU9iamVjdExpdGVyYWwocHJvcGVydGllc1RvS2VlcCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGFkZFVuaXF1ZUxlYWRpbmdDb21tZW50KHRzLmNyZWF0ZU9iamVjdExpdGVyYWwocHJvcGVydGllc1RvS2VlcCksIHJlbW92YWxDb21tZW50KTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZExpdGVyYWxzVG9NaWdyYXRlKHNvdXJjZUZpbGU6IHRzLlNvdXJjZUZpbGUsIHR5cGVDaGVja2VyOiB0cy5UeXBlQ2hlY2tlcikge1xuICBjb25zdCByZXN1bHRzID0gbmV3IE1hcDxzdHJpbmcsIFNldDx0cy5PYmplY3RMaXRlcmFsRXhwcmVzc2lvbj4+KFxuICAgICAgQXJyYXkuZnJvbShtZXRob2RDb25maWcua2V5cygpLCBrZXkgPT4gW2tleSwgbmV3IFNldCgpXSkpO1xuICBjb25zdCByb3V0ZXJJbXBvcnQgPSBnZXRJbXBvcnRTcGVjaWZpZXIoc291cmNlRmlsZSwgJ0Bhbmd1bGFyL3JvdXRlcicsICdSb3V0ZXInKTtcbiAgY29uc3Qgc2VlbkxpdGVyYWxzID0gbmV3IE1hcDx0cy5PYmplY3RMaXRlcmFsRXhwcmVzc2lvbiwgc3RyaW5nPigpO1xuXG4gIGlmIChyb3V0ZXJJbXBvcnQpIHtcbiAgICBzb3VyY2VGaWxlLmZvckVhY2hDaGlsZChmdW5jdGlvbiB2aXNpdE5vZGUobm9kZTogdHMuTm9kZSkge1xuICAgICAgLy8gTG9vayBmb3IgY2FsbHMgdGhhdCBsb29rIGxpa2UgYGZvby48bWV0aG9kIHRvIG1pZ3JhdGU+YCB3aXRoIG1vcmUgdGhhbiBvbmUgcGFyYW1ldGVyLlxuICAgICAgaWYgKHRzLmlzQ2FsbEV4cHJlc3Npb24obm9kZSkgJiYgbm9kZS5hcmd1bWVudHMubGVuZ3RoID4gMSAmJlxuICAgICAgICAgIHRzLmlzUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKG5vZGUuZXhwcmVzc2lvbikgJiYgdHMuaXNJZGVudGlmaWVyKG5vZGUuZXhwcmVzc2lvbi5uYW1lKSAmJlxuICAgICAgICAgIG1ldGhvZENvbmZpZy5oYXMobm9kZS5leHByZXNzaW9uLm5hbWUudGV4dCkpIHtcbiAgICAgICAgLy8gQ2hlY2sgd2hldGhlciB0aGUgdHlwZSBvZiB0aGUgb2JqZWN0IG9uIHdoaWNoIHRoZVxuICAgICAgICAvLyBmdW5jdGlvbiBpcyBjYWxsZWQgcmVmZXJzIHRvIHRoZSBSb3V0ZXIgaW1wb3J0LlxuICAgICAgICBpZiAoaXNSZWZlcmVuY2VUb0ltcG9ydCh0eXBlQ2hlY2tlciwgbm9kZS5leHByZXNzaW9uLmV4cHJlc3Npb24sIHJvdXRlckltcG9ydCkpIHtcbiAgICAgICAgICBjb25zdCBtZXRob2ROYW1lID0gbm9kZS5leHByZXNzaW9uLm5hbWUudGV4dDtcbiAgICAgICAgICBjb25zdCBwYXJhbWV0ZXJEZWNsYXJhdGlvbiA9XG4gICAgICAgICAgICAgIHR5cGVDaGVja2VyLmdldFR5cGVBdExvY2F0aW9uKG5vZGUuYXJndW1lbnRzWzFdKS5nZXRTeW1ib2woKT8udmFsdWVEZWNsYXJhdGlvbjtcblxuICAgICAgICAgIC8vIEZpbmQgdGhlIHNvdXJjZSBvZiB0aGUgb2JqZWN0IGxpdGVyYWwuXG4gICAgICAgICAgaWYgKHBhcmFtZXRlckRlY2xhcmF0aW9uICYmIHRzLmlzT2JqZWN0TGl0ZXJhbEV4cHJlc3Npb24ocGFyYW1ldGVyRGVjbGFyYXRpb24pKSB7XG4gICAgICAgICAgICBpZiAoIXNlZW5MaXRlcmFscy5oYXMocGFyYW1ldGVyRGVjbGFyYXRpb24pKSB7XG4gICAgICAgICAgICAgIHJlc3VsdHMuZ2V0KG1ldGhvZE5hbWUpIS5hZGQocGFyYW1ldGVyRGVjbGFyYXRpb24pO1xuICAgICAgICAgICAgICBzZWVuTGl0ZXJhbHMuc2V0KHBhcmFtZXRlckRlY2xhcmF0aW9uLCBtZXRob2ROYW1lKTtcbiAgICAgICAgICAgICAgLy8gSWYgdGhlIHNhbWUgbGl0ZXJhbCBoYXMgYmVlbiBwYXNzZWQgaW50byBtdWx0aXBsZSBkaWZmZXJlbnQgbWV0aG9kcywgd2UgY2FuJ3RcbiAgICAgICAgICAgICAgLy8gbWlncmF0ZSBpdCwgYmVjYXVzZSB0aGUgc3VwcG9ydGVkIHByb3BlcnRpZXMgYXJlIGRpZmZlcmVudC4gV2hlbiB3ZSBkZXRlY3Qgc3VjaFxuICAgICAgICAgICAgICAvLyBhIGNhc2UsIHdlIGRyb3AgaXQgZnJvbSB0aGUgcmVzdWx0cyBzbyB0aGF0IGl0IGdldHMgaWdub3JlZC4gSWYgaXQncyB1c2VkIG11bHRpcGxlXG4gICAgICAgICAgICAgIC8vIHRpbWVzIGZvciB0aGUgc2FtZSBtZXRob2QsIGl0IGNhbiBzdGlsbCBiZSBtaWdyYXRlZC5cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoc2VlbkxpdGVyYWxzLmdldChwYXJhbWV0ZXJEZWNsYXJhdGlvbikgIT09IG1ldGhvZE5hbWUpIHtcbiAgICAgICAgICAgICAgcmVzdWx0cy5mb3JFYWNoKGxpdGVyYWxzID0+IGxpdGVyYWxzLmRlbGV0ZShwYXJhbWV0ZXJEZWNsYXJhdGlvbikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbm9kZS5mb3JFYWNoQ2hpbGQodmlzaXROb2RlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHRzO1xufVxuXG4vKiogQWRkcyBhIGxlYWRpbmcgY29tbWVudCB0byBhIG5vZGUsIGlmIHRoZSBub2RlIGRvZXNuJ3QgaGF2ZSBzdWNoIGEgY29tbWVudCBhbHJlYWR5LiAqL1xuZnVuY3Rpb24gYWRkVW5pcXVlTGVhZGluZ0NvbW1lbnQ8VCBleHRlbmRzIHRzLk5vZGU+KG5vZGU6IFQsIGNvbW1lbnQ6IHN0cmluZyk6IFQge1xuICBjb25zdCBleGlzdGluZ0NvbW1lbnRzID0gdHMuZ2V0U3ludGhldGljTGVhZGluZ0NvbW1lbnRzKG5vZGUpO1xuXG4gIC8vIFRoaXMgbG9naWMgaXMgcHJpbWFyaWx5IHRvIGVuc3VyZSB0aGF0IHdlIGRvbid0IGFkZCB0aGUgc2FtZSBjb21tZW50IG11bHRpcGxlXG4gIC8vIHRpbWVzIHdoZW4gdHNsaW50IHJ1bnMgb3ZlciB0aGUgc2FtZSBmaWxlIGFnYWluIHdpdGggb3V0ZGF0ZWQgaW5mb3JtYXRpb24uXG4gIGlmICghZXhpc3RpbmdDb21tZW50cyB8fCBleGlzdGluZ0NvbW1lbnRzLmV2ZXJ5KGMgPT4gYy50ZXh0ICE9PSBjb21tZW50KSkge1xuICAgIHJldHVybiB0cy5hZGRTeW50aGV0aWNMZWFkaW5nQ29tbWVudChub2RlLCB0cy5TeW50YXhLaW5kLk11bHRpTGluZUNvbW1lbnRUcml2aWEsIGNvbW1lbnQpO1xuICB9XG5cbiAgcmV0dXJuIG5vZGU7XG59XG4iXX0=