@angular/core 13.0.0-rc.0 → 13.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.
Files changed (175) hide show
  1. package/core.d.ts +224 -221
  2. package/esm2020/index.mjs +6 -5
  3. package/esm2020/src/application_module.mjs +2 -7
  4. package/esm2020/src/core_render3_private_export.mjs +2 -1
  5. package/esm2020/src/linker/component_factory_resolver.mjs +5 -5
  6. package/esm2020/src/linker/ng_module_factory.mjs +1 -1
  7. package/esm2020/src/render3/definition.mjs +2 -5
  8. package/esm2020/src/render3/di.mjs +3 -3
  9. package/esm2020/src/render3/error_code.mjs +2 -5
  10. package/esm2020/src/render3/error_details_base_url.mjs +16 -0
  11. package/esm2020/src/render3/fields.mjs +1 -2
  12. package/esm2020/src/render3/ng_module_ref.mjs +2 -5
  13. package/esm2020/src/render3/util/global_utils.mjs +2 -3
  14. package/esm2020/src/version.mjs +1 -1
  15. package/esm2020/testing/src/logger.mjs +3 -3
  16. package/esm2020/testing/src/ng_zone_mock.mjs +3 -3
  17. package/esm2020/testing/src/test_compiler.mjs +3 -3
  18. package/fesm2015/core.mjs +26 -25
  19. package/fesm2015/core.mjs.map +1 -1
  20. package/fesm2015/testing.mjs +4 -4
  21. package/fesm2020/core.mjs +26 -25
  22. package/fesm2020/core.mjs.map +1 -1
  23. package/fesm2020/testing.mjs +4 -4
  24. package/package.json +1 -1
  25. package/schematics/migrations/router-link-empty-expression/index.js +2 -2
  26. package/schematics/migrations.json +0 -100
  27. package/schematics/utils/ng_component_template.d.ts +4 -1
  28. package/schematics/utils/ng_component_template.js +28 -14
  29. package/testing/testing.d.ts +1 -1
  30. package/schematics/migrations/abstract-control-parent/index.d.ts +0 -11
  31. package/schematics/migrations/abstract-control-parent/index.js +0 -69
  32. package/schematics/migrations/abstract-control-parent/util.d.ts +0 -14
  33. package/schematics/migrations/abstract-control-parent/util.js +0 -67
  34. package/schematics/migrations/activated-route-snapshot-fragment/index.d.ts +0 -13
  35. package/schematics/migrations/activated-route-snapshot-fragment/index.js +0 -73
  36. package/schematics/migrations/activated-route-snapshot-fragment/util.d.ts +0 -16
  37. package/schematics/migrations/activated-route-snapshot-fragment/util.js +0 -51
  38. package/schematics/migrations/can-activate-with-redirect-to/index.d.ts +0 -11
  39. package/schematics/migrations/can-activate-with-redirect-to/index.js +0 -69
  40. package/schematics/migrations/can-activate-with-redirect-to/util.d.ts +0 -11
  41. package/schematics/migrations/can-activate-with-redirect-to/util.js +0 -73
  42. package/schematics/migrations/deep-shadow-piercing-selector/index.d.ts +0 -10
  43. package/schematics/migrations/deep-shadow-piercing-selector/index.js +0 -49
  44. package/schematics/migrations/dynamic-queries/index.d.ts +0 -13
  45. package/schematics/migrations/dynamic-queries/index.js +0 -76
  46. package/schematics/migrations/dynamic-queries/util.d.ts +0 -25
  47. package/schematics/migrations/dynamic-queries/util.js +0 -84
  48. package/schematics/migrations/initial-navigation/collector.d.ts +0 -22
  49. package/schematics/migrations/initial-navigation/collector.js +0 -122
  50. package/schematics/migrations/initial-navigation/index.d.ts +0 -11
  51. package/schematics/migrations/initial-navigation/index.js +0 -83
  52. package/schematics/migrations/initial-navigation/transform.d.ts +0 -20
  53. package/schematics/migrations/initial-navigation/transform.js +0 -71
  54. package/schematics/migrations/initial-navigation/update_recorder.d.ts +0 -18
  55. package/schematics/migrations/initial-navigation/update_recorder.js +0 -20
  56. package/schematics/migrations/initial-navigation/util.d.ts +0 -12
  57. package/schematics/migrations/initial-navigation/util.js +0 -46
  58. package/schematics/migrations/missing-injectable/definition_collector.d.ts +0 -37
  59. package/schematics/migrations/missing-injectable/definition_collector.js +0 -92
  60. package/schematics/migrations/missing-injectable/index.d.ts +0 -11
  61. package/schematics/migrations/missing-injectable/index.js +0 -136
  62. package/schematics/migrations/missing-injectable/providers_evaluator.d.ts +0 -26
  63. package/schematics/migrations/missing-injectable/providers_evaluator.js +0 -71
  64. package/schematics/migrations/missing-injectable/transform.d.ts +0 -70
  65. package/schematics/migrations/missing-injectable/transform.js +0 -203
  66. package/schematics/migrations/missing-injectable/update_recorder.d.ts +0 -21
  67. package/schematics/migrations/missing-injectable/update_recorder.js +0 -20
  68. package/schematics/migrations/module-with-providers/collector.d.ts +0 -34
  69. package/schematics/migrations/module-with-providers/collector.js +0 -76
  70. package/schematics/migrations/module-with-providers/index.d.ts +0 -13
  71. package/schematics/migrations/module-with-providers/index.js +0 -107
  72. package/schematics/migrations/module-with-providers/transform.d.ts +0 -50
  73. package/schematics/migrations/module-with-providers/transform.js +0 -149
  74. package/schematics/migrations/module-with-providers/util.d.ts +0 -13
  75. package/schematics/migrations/module-with-providers/util.js +0 -43
  76. package/schematics/migrations/move-document/document_import_visitor.d.ts +0 -27
  77. package/schematics/migrations/move-document/document_import_visitor.js +0 -77
  78. package/schematics/migrations/move-document/index.d.ts +0 -11
  79. package/schematics/migrations/move-document/index.js +0 -93
  80. package/schematics/migrations/move-document/move-import.d.ts +0 -12
  81. package/schematics/migrations/move-document/move-import.js +0 -64
  82. package/schematics/migrations/native-view-encapsulation/index.d.ts +0 -11
  83. package/schematics/migrations/native-view-encapsulation/index.js +0 -63
  84. package/schematics/migrations/native-view-encapsulation/util.d.ts +0 -11
  85. package/schematics/migrations/native-view-encapsulation/util.js +0 -51
  86. package/schematics/migrations/navigation-extras-omissions/index.d.ts +0 -11
  87. package/schematics/migrations/navigation-extras-omissions/index.js +0 -72
  88. package/schematics/migrations/navigation-extras-omissions/util.d.ts +0 -11
  89. package/schematics/migrations/navigation-extras-omissions/util.js +0 -129
  90. package/schematics/migrations/relative-link-resolution/collector.d.ts +0 -22
  91. package/schematics/migrations/relative-link-resolution/collector.js +0 -98
  92. package/schematics/migrations/relative-link-resolution/index.d.ts +0 -11
  93. package/schematics/migrations/relative-link-resolution/index.js +0 -84
  94. package/schematics/migrations/relative-link-resolution/transform.d.ts +0 -22
  95. package/schematics/migrations/relative-link-resolution/transform.js +0 -68
  96. package/schematics/migrations/relative-link-resolution/update_recorder.d.ts +0 -18
  97. package/schematics/migrations/relative-link-resolution/update_recorder.js +0 -20
  98. package/schematics/migrations/relative-link-resolution/util.d.ts +0 -12
  99. package/schematics/migrations/relative-link-resolution/util.js +0 -46
  100. package/schematics/migrations/renderer-to-renderer2/helpers.d.ts +0 -25
  101. package/schematics/migrations/renderer-to-renderer2/helpers.js +0 -241
  102. package/schematics/migrations/renderer-to-renderer2/index.d.ts +0 -14
  103. package/schematics/migrations/renderer-to-renderer2/index.js +0 -138
  104. package/schematics/migrations/renderer-to-renderer2/migration.d.ts +0 -18
  105. package/schematics/migrations/renderer-to-renderer2/migration.js +0 -228
  106. package/schematics/migrations/renderer-to-renderer2/util.d.ts +0 -18
  107. package/schematics/migrations/renderer-to-renderer2/util.js +0 -86
  108. package/schematics/migrations/router-preserve-query-params/index.d.ts +0 -14
  109. package/schematics/migrations/router-preserve-query-params/index.js +0 -75
  110. package/schematics/migrations/router-preserve-query-params/util.d.ts +0 -11
  111. package/schematics/migrations/router-preserve-query-params/util.js +0 -106
  112. package/schematics/migrations/static-queries/angular/directive_inputs.d.ts +0 -11
  113. package/schematics/migrations/static-queries/angular/directive_inputs.js +0 -87
  114. package/schematics/migrations/static-queries/angular/ng_query_visitor.d.ts +0 -45
  115. package/schematics/migrations/static-queries/angular/ng_query_visitor.js +0 -130
  116. package/schematics/migrations/static-queries/angular/query-definition.d.ts +0 -37
  117. package/schematics/migrations/static-queries/angular/query-definition.js +0 -33
  118. package/schematics/migrations/static-queries/angular/super_class.d.ts +0 -15
  119. package/schematics/migrations/static-queries/angular/super_class.js +0 -35
  120. package/schematics/migrations/static-queries/index.d.ts +0 -11
  121. package/schematics/migrations/static-queries/index.js +0 -244
  122. package/schematics/migrations/static-queries/strategies/template_strategy/template_strategy.d.ts +0 -41
  123. package/schematics/migrations/static-queries/strategies/template_strategy/template_strategy.js +0 -210
  124. package/schematics/migrations/static-queries/strategies/test_strategy/test_strategy.d.ts +0 -24
  125. package/schematics/migrations/static-queries/strategies/test_strategy/test_strategy.js +0 -38
  126. package/schematics/migrations/static-queries/strategies/timing-strategy.d.ts +0 -19
  127. package/schematics/migrations/static-queries/strategies/timing-strategy.js +0 -20
  128. package/schematics/migrations/static-queries/strategies/usage_strategy/declaration_usage_visitor.d.ts +0 -82
  129. package/schematics/migrations/static-queries/strategies/usage_strategy/declaration_usage_visitor.js +0 -372
  130. package/schematics/migrations/static-queries/strategies/usage_strategy/super_class_context.d.ts +0 -18
  131. package/schematics/migrations/static-queries/strategies/usage_strategy/super_class_context.js +0 -55
  132. package/schematics/migrations/static-queries/strategies/usage_strategy/template_usage_visitor.d.ts +0 -27
  133. package/schematics/migrations/static-queries/strategies/usage_strategy/template_usage_visitor.js +0 -93
  134. package/schematics/migrations/static-queries/strategies/usage_strategy/usage_strategy.d.ts +0 -34
  135. package/schematics/migrations/static-queries/strategies/usage_strategy/usage_strategy.js +0 -172
  136. package/schematics/migrations/static-queries/transform.d.ts +0 -21
  137. package/schematics/migrations/static-queries/transform.js +0 -105
  138. package/schematics/migrations/template-var-assignment/analyze_template.d.ts +0 -20
  139. package/schematics/migrations/template-var-assignment/analyze_template.js +0 -38
  140. package/schematics/migrations/template-var-assignment/angular/html_variable_assignment_visitor.d.ts +0 -28
  141. package/schematics/migrations/template-var-assignment/angular/html_variable_assignment_visitor.js +0 -80
  142. package/schematics/migrations/template-var-assignment/index.d.ts +0 -11
  143. package/schematics/migrations/template-var-assignment/index.js +0 -101
  144. package/schematics/migrations/undecorated-classes-with-decorated-fields/index.d.ts +0 -14
  145. package/schematics/migrations/undecorated-classes-with-decorated-fields/index.js +0 -128
  146. package/schematics/migrations/undecorated-classes-with-decorated-fields/transform.d.ts +0 -64
  147. package/schematics/migrations/undecorated-classes-with-decorated-fields/transform.js +0 -302
  148. package/schematics/migrations/undecorated-classes-with-decorated-fields/update_recorder.d.ts +0 -19
  149. package/schematics/migrations/undecorated-classes-with-decorated-fields/update_recorder.js +0 -20
  150. package/schematics/migrations/undecorated-classes-with-di/create_ngc_program.d.ts +0 -18
  151. package/schematics/migrations/undecorated-classes-with-di/create_ngc_program.js +0 -56
  152. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/convert_directive_metadata.d.ts +0 -18
  153. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/convert_directive_metadata.js +0 -99
  154. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/decorator_rewriter.d.ts +0 -37
  155. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/decorator_rewriter.js +0 -118
  156. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/import_rewrite_visitor.d.ts +0 -37
  157. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/import_rewrite_visitor.js +0 -129
  158. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/path_format.d.ts +0 -10
  159. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/path_format.js +0 -31
  160. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/source_file_exports.d.ts +0 -16
  161. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/source_file_exports.js +0 -68
  162. package/schematics/migrations/undecorated-classes-with-di/index.d.ts +0 -11
  163. package/schematics/migrations/undecorated-classes-with-di/index.js +0 -226
  164. package/schematics/migrations/undecorated-classes-with-di/ng_declaration_collector.d.ts +0 -38
  165. package/schematics/migrations/undecorated-classes-with-di/ng_declaration_collector.js +0 -135
  166. package/schematics/migrations/undecorated-classes-with-di/transform.d.ts +0 -97
  167. package/schematics/migrations/undecorated-classes-with-di/transform.js +0 -373
  168. package/schematics/migrations/undecorated-classes-with-di/update_recorder.d.ts +0 -20
  169. package/schematics/migrations/undecorated-classes-with-di/update_recorder.js +0 -20
  170. package/schematics/migrations/wait-for-async/index.d.ts +0 -11
  171. package/schematics/migrations/wait-for-async/index.js +0 -101
  172. package/schematics/migrations/wait-for-async/util.d.ts +0 -11
  173. package/schematics/migrations/wait-for-async/util.js +0 -40
  174. package/schematics/migrations/xhr-factory/index.d.ts +0 -10
  175. package/schematics/migrations/xhr-factory/index.js +0 -107
@@ -1,149 +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/module-with-providers/transform", ["require", "exports", "typescript", "@angular/core/schematics/migrations/module-with-providers/util"], factory);
18
- }
19
- })(function (require, exports) {
20
- "use strict";
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.ModuleWithProvidersTransform = void 0;
23
- const typescript_1 = __importDefault(require("typescript"));
24
- const util_1 = require("@angular/core/schematics/migrations/module-with-providers/util");
25
- const TODO_COMMENT = 'TODO: The following node requires a generic type for `ModuleWithProviders`';
26
- class ModuleWithProvidersTransform {
27
- constructor(typeChecker, getUpdateRecorder, compilerCliMigrationsModule) {
28
- this.typeChecker = typeChecker;
29
- this.getUpdateRecorder = getUpdateRecorder;
30
- this.compilerCliMigrationsModule = compilerCliMigrationsModule;
31
- this.printer = typescript_1.default.createPrinter();
32
- this.partialEvaluator = new this.compilerCliMigrationsModule.PartialEvaluator(new this.compilerCliMigrationsModule.TypeScriptReflectionHost(this.typeChecker), this.typeChecker,
33
- /* dependencyTracker */ null);
34
- }
35
- /** Migrates a given NgModule by walking through the referenced providers and static methods. */
36
- migrateModule(module) {
37
- return module.staticMethodsWithoutType.map(this._migrateStaticNgModuleMethod.bind(this))
38
- .filter(v => v);
39
- }
40
- /** Migrates a ModuleWithProviders type definition that has no explicit generic type */
41
- migrateType(type) {
42
- const parent = type.parent;
43
- let moduleText;
44
- if ((typescript_1.default.isFunctionDeclaration(parent) || typescript_1.default.isMethodDeclaration(parent)) && parent.body) {
45
- const returnStatement = parent.body.statements.find(typescript_1.default.isReturnStatement);
46
- // No return type found, exit
47
- if (!returnStatement || !returnStatement.expression) {
48
- return [{ node: parent, message: `Return type is not statically analyzable.` }];
49
- }
50
- moduleText = this._getNgModuleTypeOfExpression(returnStatement.expression);
51
- }
52
- else if (typescript_1.default.isPropertyDeclaration(parent) || typescript_1.default.isVariableDeclaration(parent)) {
53
- if (!parent.initializer) {
54
- addTodoToNode(type, TODO_COMMENT);
55
- this._updateNode(type, type);
56
- return [{ node: parent, message: `Unable to determine type for declaration.` }];
57
- }
58
- moduleText = this._getNgModuleTypeOfExpression(parent.initializer);
59
- }
60
- if (moduleText) {
61
- this._addGenericToTypeReference(type, moduleText);
62
- return [];
63
- }
64
- return [{ node: parent, message: `Type is not statically analyzable.` }];
65
- }
66
- /** Add a given generic to a type reference node */
67
- _addGenericToTypeReference(node, typeName) {
68
- const newGenericExpr = (0, util_1.createModuleWithProvidersType)(typeName, node);
69
- this._updateNode(node, newGenericExpr);
70
- }
71
- /**
72
- * Migrates a given static method if its ModuleWithProviders does not provide
73
- * a generic type.
74
- */
75
- _updateStaticMethodType(method, typeName) {
76
- const newGenericExpr = (0, util_1.createModuleWithProvidersType)(typeName, method.type);
77
- const newMethodDecl = typescript_1.default.updateMethod(method, method.decorators, method.modifiers, method.asteriskToken, method.name, method.questionToken, method.typeParameters, method.parameters, newGenericExpr, method.body);
78
- this._updateNode(method, newMethodDecl);
79
- }
80
- /** Whether the resolved value map represents a ModuleWithProviders object */
81
- isModuleWithProvidersType(value) {
82
- const ngModule = value.get('ngModule') !== undefined;
83
- const providers = value.get('providers') !== undefined;
84
- return ngModule && (value.size === 1 || (providers && value.size === 2));
85
- }
86
- /**
87
- * Determine the generic type of a suspected ModuleWithProviders return type and add it
88
- * explicitly
89
- */
90
- _migrateStaticNgModuleMethod(node) {
91
- const returnStatement = node.body &&
92
- node.body.statements.find(n => typescript_1.default.isReturnStatement(n));
93
- // No return type found, exit
94
- if (!returnStatement || !returnStatement.expression) {
95
- return { node: node, message: `Return type is not statically analyzable.` };
96
- }
97
- const moduleText = this._getNgModuleTypeOfExpression(returnStatement.expression);
98
- if (moduleText) {
99
- this._updateStaticMethodType(node, moduleText);
100
- return null;
101
- }
102
- return { node: node, message: `Method type is not statically analyzable.` };
103
- }
104
- /** Evaluate and return the ngModule type from an expression */
105
- _getNgModuleTypeOfExpression(expr) {
106
- const evaluatedExpr = this.partialEvaluator.evaluate(expr);
107
- return this._getTypeOfResolvedValue(evaluatedExpr);
108
- }
109
- /**
110
- * Visits a given object literal expression to determine the ngModule type. If the expression
111
- * cannot be resolved, add a TODO to alert the user.
112
- */
113
- _getTypeOfResolvedValue(value) {
114
- if (value instanceof Map && this.isModuleWithProvidersType(value)) {
115
- const mapValue = value.get('ngModule');
116
- if (mapValue instanceof this.compilerCliMigrationsModule.Reference &&
117
- typescript_1.default.isClassDeclaration(mapValue.node) && mapValue.node.name) {
118
- return mapValue.node.name.text;
119
- }
120
- else if (mapValue instanceof this.compilerCliMigrationsModule.DynamicValue) {
121
- addTodoToNode(mapValue.node, TODO_COMMENT);
122
- this._updateNode(mapValue.node, mapValue.node);
123
- }
124
- }
125
- return undefined;
126
- }
127
- _updateNode(node, newNode) {
128
- const newText = this.printer.printNode(typescript_1.default.EmitHint.Unspecified, newNode, node.getSourceFile());
129
- const recorder = this.getUpdateRecorder(node.getSourceFile());
130
- recorder.remove(node.getStart(), node.getWidth());
131
- recorder.insertRight(node.getStart(), newText);
132
- }
133
- }
134
- exports.ModuleWithProvidersTransform = ModuleWithProvidersTransform;
135
- /**
136
- * Adds a to-do to the given TypeScript node which alerts developers to fix
137
- * potential issues identified by the migration.
138
- */
139
- function addTodoToNode(node, text) {
140
- typescript_1.default.setSyntheticLeadingComments(node, [{
141
- pos: -1,
142
- end: -1,
143
- hasTrailingNewLine: false,
144
- kind: typescript_1.default.SyntaxKind.MultiLineCommentTrivia,
145
- text: ` ${text} `
146
- }]);
147
- }
148
- });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zY2hlbWF0aWNzL21pZ3JhdGlvbnMvbW9kdWxlLXdpdGgtcHJvdmlkZXJzL3RyYW5zZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7Ozs7SUFJSCw0REFBNEI7SUFHNUIseUZBQXFEO0lBT3JELE1BQU0sWUFBWSxHQUFHLDRFQUE0RSxDQUFDO0lBRWxHLE1BQWEsNEJBQTRCO1FBT3ZDLFlBQ1ksV0FBMkIsRUFDM0IsaUJBQXdELEVBQ3hELDJCQUNxRDtZQUhyRCxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7WUFDM0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF1QztZQUN4RCxnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQzBCO1lBVnpELFlBQU8sR0FBRyxvQkFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzdCLHFCQUFnQixHQUFHLElBQUksSUFBSSxDQUFDLDJCQUEyQixDQUFDLGdCQUFnQixDQUM1RSxJQUFJLElBQUksQ0FBQywyQkFBMkIsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQy9FLElBQUksQ0FBQyxXQUFXO1lBQ2hCLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBTWtDLENBQUM7UUFFckUsZ0dBQWdHO1FBQ2hHLGFBQWEsQ0FBQyxNQUF3QjtZQUNwQyxPQUFPLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDNUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFzQixDQUFDO1FBQ2xELENBQUM7UUFFRCx1RkFBdUY7UUFDdkYsV0FBVyxDQUFDLElBQTBCO1lBQ3BDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FB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YUFBYSxDQUFDLElBQWEsRUFBRSxJQUFZO1FBQ2hELG9CQUFFLENBQUMsMkJBQTJCLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ0wsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDUCxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUNQLGtCQUFrQixFQUFFLEtBQUs7Z0JBQ3pCLElBQUksRUFBRSxvQkFBRSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0I7Z0JBQzFDLElBQUksRUFBRSxJQUFJLElBQUksR0FBRzthQUNsQixDQUFDLENBQUMsQ0FBQztJQUNyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7VXBkYXRlUmVjb3JkZXJ9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9zY2hlbWF0aWNzJztcbmltcG9ydCB0eXBlIHtSZXNvbHZlZFZhbHVlLCBSZXNvbHZlZFZhbHVlTWFwfSBmcm9tICdAYW5ndWxhci9jb21waWxlci1jbGkvcHJpdmF0ZS9taWdyYXRpb25zJztcbmltcG9ydCB0cyBmcm9tICd0eXBlc2NyaXB0JztcblxuaW1wb3J0IHtSZXNvbHZlZE5nTW9kdWxlfSBmcm9tICcuL2NvbGxlY3Rvcic7XG5pbXBvcnQge2NyZWF0ZU1vZHVsZVdpdGhQcm92aWRlcnNUeXBlfSBmcm9tICcuL3V0aWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFuYWx5c2lzRmFpbHVyZSB7XG4gIG5vZGU6IHRzLk5vZGU7XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuY29uc3QgVE9ET19DT01NRU5UID0gJ1RPRE86IFRoZSBmb2xsb3dpbmcgbm9kZSByZXF1aXJlcyBhIGdlbmVyaWMgdHlwZSBmb3IgYE1vZHVsZVdpdGhQcm92aWRlcnNgJztcblxuZXhwb3J0IGNsYXNzIE1vZHVsZVdpdGhQcm92aWRlcnNUcmFuc2Zvcm0ge1xuICBwcml2YXRlIHByaW50ZXIgPSB0cy5jcmVhdGVQcmludGVyKCk7XG4gIHByaXZhdGUgcGFydGlhbEV2YWx1YXRvciA9IG5ldyB0aGlzLmNvbXBpbGVyQ2xpTWlncmF0aW9uc01vZHVsZS5QYXJ0aWFsRXZhbHVhdG9yKFxuICAgICAgbmV3IHRoaXMuY29tcGlsZXJDbGlNaWdyYXRpb25zTW9kdWxlLlR5cGVTY3JpcHRSZWZsZWN0aW9uSG9zdCh0aGlzLnR5cGVDaGVja2VyKSxcbiAgICAgIHRoaXMudHlwZUNoZWNrZXIsXG4gICAgICAvKiBkZXBlbmRlbmN5VHJhY2tlciAqLyBudWxsKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgdHlwZUNoZWNrZXI6IHRzLlR5cGVDaGVja2VyLFxuICAgICAgcHJpdmF0ZSBnZXRVcGRhdGVSZWNvcmRlcjogKHNmOiB0cy5Tb3VyY2VGaWxlKSA9PiBVcGRhdGVSZWNvcmRlcixcbiAgICAgIHByaXZhdGUgY29tcGlsZXJDbGlNaWdyYXRpb25zTW9kdWxlOlxuICAgICAgICAgIHR5cGVvZiBpbXBvcnQoJ0Bhbmd1bGFyL2NvbXBpbGVyLWNsaS9wcml2YXRlL21pZ3JhdGlvbnMnKSkge31cblxuICAvKiogTWlncmF0ZXMgYSBnaXZlbiBOZ01vZHVsZSBieSB3YWxraW5nIHRocm91Z2ggdGhlIHJlZmVyZW5jZWQgcHJvdmlkZXJzIGFuZCBzdGF0aWMgbWV0aG9kcy4gKi9cbiAgbWlncmF0ZU1vZHVsZShtb2R1bGU6IFJlc29sdmVkTmdNb2R1bGUpOiBBbmFseXNpc0ZhaWx1cmVbXSB7XG4gICAgcmV0dXJuIG1vZHVsZS5zdGF0aWNNZXRob2RzV2l0aG91dFR5cGUubWFwKHRoaXMuX21pZ3JhdGVTdGF0aWNOZ01vZHVsZU1ldGhvZC5iaW5kKHRoaXMpKVxuICAgICAgICAgICAgICAgLmZpbHRlcih2ID0+IHYpIGFzIEFuYWx5c2lzRmFpbHVyZVtdO1xuICB9XG5cbiAgLyoqIE1pZ3JhdGVzIGEgTW9kdWxlV2l0aFByb3ZpZGVycyB0eXBlIGRlZmluaXRpb24gdGhhdCBoYXMgbm8gZXhwbGljaXQgZ2VuZXJpYyB0eXBlICovXG4gIG1pZ3JhdGVUeXBlKHR5cGU6IHRzLlR5cGVSZWZlcmVuY2VOb2RlKTogQW5hbHlzaXNGYWlsdXJlW10ge1xuICAgIGNvbnN0IHBhcmVudCA9IHR5cGUucGFyZW50O1xuICAgIGxldCBtb2R1bGVUZXh0OiBzdHJpbmd8dW5kZWZpbmVkO1xuICAgIGlmICgodHMuaXNGdW5jdGlvbkRlY2xhcmF0aW9uKHBhcmVudCkgfHwgdHMuaXNNZXRob2REZWNsYXJhdGlvbihwYXJlbnQpKSAmJiBwYXJlbnQuYm9keSkge1xuICAgICAgY29uc3QgcmV0dXJuU3RhdGVtZW50ID0gcGFyZW50LmJvZHkuc3RhdGVtZW50cy5maW5kKHRzLmlzUmV0dXJuU3RhdGVtZW50KTtcblxuICAgICAgLy8gTm8gcmV0dXJuIHR5cGUgZm91bmQsIGV4aXRcbiAgICAgIGlmICghcmV0dXJuU3RhdGVtZW50IHx8ICFyZXR1cm5TdGF0ZW1lbnQuZXhwcmVzc2lvbikge1xuICAgICAgICByZXR1cm4gW3tub2RlOiBwYXJlbnQsIG1lc3NhZ2U6IGBSZXR1cm4gdHlwZSBpcyBub3Qgc3RhdGljYWxseSBhbmFseXphYmxlLmB9XTtcbiAgICAgIH1cblxuICAgICAgbW9kdWxlVGV4dCA9IHRoaXMuX2dldE5nTW9kdWxlVHlwZU9mRXhwcmVzc2lvbihyZXR1cm5TdGF0ZW1lbnQuZXhwcmVzc2lvbik7XG4gICAgfSBlbHNlIGlmICh0cy5pc1Byb3BlcnR5RGVjbGFyYXRpb24ocGFyZW50KSB8fCB0cy5pc1ZhcmlhYmxlRGVjbGFyYXRpb24ocGFyZW50KSkge1xuICAgICAgaWYgKCFwYXJlbnQuaW5pdGlhbGl6ZXIpIHtcbiAgICAgICAgYWRkVG9kb1RvTm9kZSh0eXBlLCBUT0RPX0NPTU1FTlQpO1xuICAgICAgICB0aGlzLl91cGRhdGVOb2RlKHR5cGUsIHR5cGUpO1xuICAgICAgICByZXR1cm4gW3tub2RlOiBwYXJlbnQsIG1lc3NhZ2U6IGBVbmFibGUgdG8gZGV0ZXJtaW5lIHR5cGUgZm9yIGRlY2xhcmF0aW9uLmB9XTtcbiAgICAgIH1cblxuICAgICAgbW9kdWxlVGV4dCA9IHRoaXMuX2dldE5nTW9kdWxlVHlwZU9mRXhwcmVzc2lvbihwYXJlbnQuaW5pdGlhbGl6ZXIpO1xuICAgIH1cblxuICAgIGlmIChtb2R1bGVUZXh0KSB7XG4gICAgICB0aGlzLl9hZGRHZW5lcmljVG9UeXBlUmVmZXJlbmNlKHR5cGUsIG1vZHVsZVRleHQpO1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHJldHVybiBbe25vZGU6IHBhcmVudCwgbWVzc2FnZTogYFR5cGUgaXMgbm90IHN0YXRpY2FsbHkgYW5hbHl6YWJsZS5gfV07XG4gIH1cblxuICAvKiogQWRkIGEgZ2l2ZW4gZ2VuZXJpYyB0byBhIHR5cGUgcmVmZXJlbmNlIG5vZGUgKi9cbiAgcHJpdmF0ZSBfYWRkR2VuZXJpY1RvVHlwZVJlZmVyZW5jZShub2RlOiB0cy5UeXBlUmVmZXJlbmNlTm9kZSwgdHlwZU5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IG5ld0dlbmVyaWNFeHByID0gY3JlYXRlTW9kdWxlV2l0aFByb3ZpZGVyc1R5cGUodHlwZU5hbWUsIG5vZGUpO1xuICAgIHRoaXMuX3VwZGF0ZU5vZGUobm9kZSwgbmV3R2VuZXJpY0V4cHIpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1pZ3JhdGVzIGEgZ2l2ZW4gc3RhdGljIG1ldGhvZCBpZiBpdHMgTW9kdWxlV2l0aFByb3ZpZGVycyBkb2VzIG5vdCBwcm92aWRlXG4gICAqIGEgZ2VuZXJpYyB0eXBlLlxuICAgKi9cbiAgcHJpdmF0ZSBfdXBkYXRlU3RhdGljTWV0aG9kVHlwZShtZXRob2Q6IHRzLk1ldGhvZERlY2xhcmF0aW9uLCB0eXBlTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgbmV3R2VuZXJpY0V4cHIgPVxuICAgICAgICBjcmVhdGVNb2R1bGVXaXRoUHJvdmlkZXJzVHlwZSh0eXBlTmFtZSwgbWV0aG9kLnR5cGUgYXMgdHMuVHlwZVJlZmVyZW5jZU5vZGUpO1xuICAgIGNvbnN0IG5ld01ldGhvZERlY2wgPSB0cy51cGRhdGVNZXRob2QoXG4gICAgICAgIG1ldGhvZCwgbWV0aG9kLmRlY29yYXRvcnMsIG1ldGhvZC5tb2RpZmllcnMsIG1ldGhvZC5hc3Rlcmlza1Rva2VuLCBtZXRob2QubmFtZSxcbiAgICAgICAgbWV0aG9kLnF1ZXN0aW9uVG9rZW4sIG1ldGhvZC50eXBlUGFyYW1ldGVycywgbWV0aG9kLnBhcmFtZXRlcnMsIG5ld0dlbmVyaWNFeHByLFxuICAgICAgICBtZXRob2QuYm9keSk7XG5cbiAgICB0aGlzLl91cGRhdGVOb2RlKG1ldGhvZCwgbmV3TWV0aG9kRGVjbCk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgcmVzb2x2ZWQgdmFsdWUgbWFwIHJlcHJlc2VudHMgYSBNb2R1bGVXaXRoUHJvdmlkZXJzIG9iamVjdCAqL1xuICBpc01vZHVsZVdpdGhQcm92aWRlcnNUeXBlKHZhbHVlOiBSZXNvbHZlZFZhbHVlTWFwKTogYm9vbGVhbiB7XG4gICAgY29uc3QgbmdNb2R1bGUgPSB2YWx1ZS5nZXQoJ25nTW9kdWxlJykgIT09IHVuZGVmaW5lZDtcbiAgICBjb25zdCBwcm92aWRlcnMgPSB2YWx1ZS5nZXQoJ3Byb3ZpZGVycycpICE9PSB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4gbmdNb2R1bGUgJiYgKHZhbHVlLnNpemUgPT09IDEgfHwgKHByb3ZpZGVycyAmJiB2YWx1ZS5zaXplID09PSAyKSk7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lIHRoZSBnZW5lcmljIHR5cGUgb2YgYSBzdXNwZWN0ZWQgTW9kdWxlV2l0aFByb3ZpZGVycyByZXR1cm4gdHlwZSBhbmQgYWRkIGl0XG4gICAqIGV4cGxpY2l0bHlcbiAgICovXG4gIHByaXZhdGUgX21pZ3JhdGVTdGF0aWNOZ01vZHVsZU1ldGhvZChub2RlOiB0cy5NZXRob2REZWNsYXJhdGlvbik6IEFuYWx5c2lzRmFpbHVyZXxudWxsIHtcbiAgICBjb25zdCByZXR1cm5TdGF0ZW1lbnQgPSBub2RlLmJvZHkgJiZcbiAgICAgICAgbm9kZS5ib2R5LnN0YXRlbWVudHMuZmluZChuID0+IHRzLmlzUmV0dXJuU3RhdGVtZW50KG4pKSBhcyB0cy5SZXR1cm5TdGF0ZW1lbnQgfCB1bmRlZmluZWQ7XG5cbiAgICAvLyBObyByZXR1cm4gdHlwZSBmb3VuZCwgZXhpdFxuICAgIGlmICghcmV0dXJuU3RhdGVtZW50IHx8ICFyZXR1cm5TdGF0ZW1lbnQuZXhwcmVzc2lvbikge1xuICAgICAgcmV0dXJuIHtub2RlOiBub2RlLCBtZXNzYWdlOiBgUmV0dXJuIHR5cGUgaXMgbm90IHN0YXRpY2FsbHkgYW5hbHl6YWJsZS5gfTtcbiAgICB9XG5cbiAgICBjb25zdCBtb2R1bGVUZXh0ID0gdGhpcy5fZ2V0TmdNb2R1bGVUeXBlT2ZFeHByZXNzaW9uKHJldHVyblN0YXRlbWVudC5leHByZXNzaW9uKTtcblxuICAgIGlmIChtb2R1bGVUZXh0KSB7XG4gICAgICB0aGlzLl91cGRhdGVTdGF0aWNNZXRob2RUeXBlKG5vZGUsIG1vZHVsZVRleHQpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtub2RlOiBub2RlLCBtZXNzYWdlOiBgTWV0aG9kIHR5cGUgaXMgbm90IHN0YXRpY2FsbHkgYW5hbHl6YWJsZS5gfTtcbiAgfVxuXG4gIC8qKiBFdmFsdWF0ZSBhbmQgcmV0dXJuIHRoZSBuZ01vZHVsZSB0eXBlIGZyb20gYW4gZXhwcmVzc2lvbiAqL1xuICBwcml2YXRlIF9nZXROZ01vZHVsZVR5cGVPZkV4cHJlc3Npb24oZXhwcjogdHMuRXhwcmVzc2lvbik6IHN0cmluZ3x1bmRlZmluZWQge1xuICAgIGNvbnN0IGV2YWx1YXRlZEV4cHIgPSB0aGlzLnBhcnRpYWxFdmFsdWF0b3IuZXZhbHVhdGUoZXhwcik7XG4gICAgcmV0dXJuIHRoaXMuX2dldFR5cGVPZlJlc29sdmVkVmFsdWUoZXZhbHVhdGVkRXhwcik7XG4gIH1cblxuICAvKipcbiAgICogVmlzaXRzIGEgZ2l2ZW4gb2JqZWN0IGxpdGVyYWwgZXhwcmVzc2lvbiB0byBkZXRlcm1pbmUgdGhlIG5nTW9kdWxlIHR5cGUuIElmIHRoZSBleHByZXNzaW9uXG4gICAqIGNhbm5vdCBiZSByZXNvbHZlZCwgYWRkIGEgVE9ETyB0byBhbGVydCB0aGUgdXNlci5cbiAgICovXG4gIHByaXZhdGUgX2dldFR5cGVPZlJlc29sdmVkVmFsdWUodmFsdWU6IFJlc29sdmVkVmFsdWUpOiBzdHJpbmd8dW5kZWZpbmVkIHtcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBNYXAgJiYgdGhpcy5pc01vZHVsZVdpdGhQcm92aWRlcnNUeXBlKHZhbHVlKSkge1xuICAgICAgY29uc3QgbWFwVmFsdWUgPSB2YWx1ZS5nZXQoJ25nTW9kdWxlJykhO1xuICAgICAgaWYgKG1hcFZhbHVlIGluc3RhbmNlb2YgdGhpcy5jb21waWxlckNsaU1pZ3JhdGlvbnNNb2R1bGUuUmVmZXJlbmNlICYmXG4gICAgICAgICAgdHMuaXNDbGFzc0RlY2xhcmF0aW9uKG1hcFZhbHVlLm5vZGUpICYmIG1hcFZhbHVlLm5vZGUubmFtZSkge1xuICAgICAgICByZXR1cm4gbWFwVmFsdWUubm9kZS5uYW1lLnRleHQ7XG4gICAgICB9IGVsc2UgaWYgKG1hcFZhbHVlIGluc3RhbmNlb2YgdGhpcy5jb21waWxlckNsaU1pZ3JhdGlvbnNNb2R1bGUuRHluYW1pY1ZhbHVlKSB7XG4gICAgICAgIGFkZFRvZG9Ub05vZGUobWFwVmFsdWUubm9kZSwgVE9ET19DT01NRU5UKTtcbiAgICAgICAgdGhpcy5fdXBkYXRlTm9kZShtYXBWYWx1ZS5ub2RlLCBtYXBWYWx1ZS5ub2RlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlTm9kZShub2RlOiB0cy5Ob2RlLCBuZXdOb2RlOiB0cy5Ob2RlKSB7XG4gICAgY29uc3QgbmV3VGV4dCA9IHRoaXMucHJpbnRlci5wcmludE5vZGUodHMuRW1pdEhpbnQuVW5zcGVjaWZpZWQsIG5ld05vZGUsIG5vZGUuZ2V0U291cmNlRmlsZSgpKTtcbiAgICBjb25zdCByZWNvcmRlciA9IHRoaXMuZ2V0VXBkYXRlUmVjb3JkZXIobm9kZS5nZXRTb3VyY2VGaWxlKCkpO1xuXG4gICAgcmVjb3JkZXIucmVtb3ZlKG5vZGUuZ2V0U3RhcnQoKSwgbm9kZS5nZXRXaWR0aCgpKTtcbiAgICByZWNvcmRlci5pbnNlcnRSaWdodChub2RlLmdldFN0YXJ0KCksIG5ld1RleHQpO1xuICB9XG59XG5cbi8qKlxuICogQWRkcyBhIHRvLWRvIHRvIHRoZSBnaXZlbiBUeXBlU2NyaXB0IG5vZGUgd2hpY2ggYWxlcnRzIGRldmVsb3BlcnMgdG8gZml4XG4gKiBwb3RlbnRpYWwgaXNzdWVzIGlkZW50aWZpZWQgYnkgdGhlIG1pZ3JhdGlvbi5cbiAqL1xuZnVuY3Rpb24gYWRkVG9kb1RvTm9kZShub2RlOiB0cy5Ob2RlLCB0ZXh0OiBzdHJpbmcpIHtcbiAgdHMuc2V0U3ludGhldGljTGVhZGluZ0NvbW1lbnRzKG5vZGUsIFt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvczogLTEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZDogLTEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc1RyYWlsaW5nTmV3TGluZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ6IHRzLlN5bnRheEtpbmQuTXVsdGlMaW5lQ29tbWVudFRyaXZpYSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogYCAke3RleHR9IGBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1dKTtcbn1cbiJdfQ==
@@ -1,13 +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/module-with-providers/util" />
9
- import ts from 'typescript';
10
- /** Add a generic type to a type reference. */
11
- export declare function createModuleWithProvidersType(type: string, node?: ts.TypeReferenceNode): ts.TypeReferenceNode;
12
- /** Determine whether a node is a ModuleWithProviders type reference node without a generic type */
13
- export declare function isModuleWithProvidersNotGeneric(typeChecker: ts.TypeChecker, node: ts.Node): node is ts.TypeReferenceNode;
@@ -1,43 +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/module-with-providers/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.isModuleWithProvidersNotGeneric = exports.createModuleWithProvidersType = void 0;
23
- const typescript_1 = __importDefault(require("typescript"));
24
- const imports_1 = require("@angular/core/schematics/utils/typescript/imports");
25
- /** Add a generic type to a type reference. */
26
- function createModuleWithProvidersType(type, node) {
27
- const typeNode = node || typescript_1.default.createTypeReferenceNode('ModuleWithProviders', []);
28
- const typeReferenceNode = typescript_1.default.createTypeReferenceNode(typescript_1.default.createIdentifier(type), []);
29
- return typescript_1.default.updateTypeReferenceNode(typeNode, typeNode.typeName, typescript_1.default.createNodeArray([typeReferenceNode]));
30
- }
31
- exports.createModuleWithProvidersType = createModuleWithProvidersType;
32
- /** Determine whether a node is a ModuleWithProviders type reference node without a generic type */
33
- function isModuleWithProvidersNotGeneric(typeChecker, node) {
34
- if (!typescript_1.default.isTypeReferenceNode(node) || !typescript_1.default.isIdentifier(node.typeName)) {
35
- return false;
36
- }
37
- const imp = (0, imports_1.getImportOfIdentifier)(typeChecker, node.typeName);
38
- return !!imp && imp.name === 'ModuleWithProviders' && imp.importModule === '@angular/core' &&
39
- !node.typeArguments;
40
- }
41
- exports.isModuleWithProvidersNotGeneric = isModuleWithProvidersNotGeneric;
42
- });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc2NoZW1hdGljcy9taWdyYXRpb25zL21vZHVsZS13aXRoLXByb3ZpZGVycy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7OztJQUVILDREQUE0QjtJQUM1QiwrRUFBcUU7SUFFckUsOENBQThDO0lBQzlDLFNBQWdCLDZCQUE2QixDQUN6QyxJQUFZLEVBQUUsSUFBMkI7UUFDM0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxJQUFJLG9CQUFFLENBQUMsdUJBQXVCLENBQUMscUJBQXFCLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDL0UsTUFBTSxpQkFBaUIsR0FBRyxvQkFBRSxDQUFDLHVCQUF1QixDQUFDLG9CQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDcEYsT0FBTyxvQkFBRSxDQUFDLHVCQUF1QixDQUM3QixRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxvQkFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFORCxzRUFNQztJQUVELG1HQUFtRztJQUNuRyxTQUFnQiwrQkFBK0IsQ0FDM0MsV0FBMkIsRUFBRSxJQUFhO1FBQzVDLElBQUksQ0FBQyxvQkFBRSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3BFLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxNQUFNLEdBQUcsR0FBRyxJQUFBLCtCQUFxQixFQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUQsT0FBTyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUsscUJBQXFCLElBQUksR0FBRyxDQUFDLFlBQVksS0FBSyxlQUFlO1lBQ3RGLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUMxQixDQUFDO0lBVEQsMEVBU0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuaW1wb3J0IHtnZXRJbXBvcnRPZklkZW50aWZpZXJ9IGZyb20gJy4uLy4uL3V0aWxzL3R5cGVzY3JpcHQvaW1wb3J0cyc7XG5cbi8qKiBBZGQgYSBnZW5lcmljIHR5cGUgdG8gYSB0eXBlIHJlZmVyZW5jZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNb2R1bGVXaXRoUHJvdmlkZXJzVHlwZShcbiAgICB0eXBlOiBzdHJpbmcsIG5vZGU/OiB0cy5UeXBlUmVmZXJlbmNlTm9kZSk6IHRzLlR5cGVSZWZlcmVuY2VOb2RlIHtcbiAgY29uc3QgdHlwZU5vZGUgPSBub2RlIHx8IHRzLmNyZWF0ZVR5cGVSZWZlcmVuY2VOb2RlKCdNb2R1bGVXaXRoUHJvdmlkZXJzJywgW10pO1xuICBjb25zdCB0eXBlUmVmZXJlbmNlTm9kZSA9IHRzLmNyZWF0ZVR5cGVSZWZlcmVuY2VOb2RlKHRzLmNyZWF0ZUlkZW50aWZpZXIodHlwZSksIFtdKTtcbiAgcmV0dXJuIHRzLnVwZGF0ZVR5cGVSZWZlcmVuY2VOb2RlKFxuICAgICAgdHlwZU5vZGUsIHR5cGVOb2RlLnR5cGVOYW1lLCB0cy5jcmVhdGVOb2RlQXJyYXkoW3R5cGVSZWZlcmVuY2VOb2RlXSkpO1xufVxuXG4vKiogRGV0ZXJtaW5lIHdoZXRoZXIgYSBub2RlIGlzIGEgTW9kdWxlV2l0aFByb3ZpZGVycyB0eXBlIHJlZmVyZW5jZSBub2RlIHdpdGhvdXQgYSBnZW5lcmljIHR5cGUgKi9cbmV4cG9ydCBmdW5jdGlvbiBpc01vZHVsZVdpdGhQcm92aWRlcnNOb3RHZW5lcmljKFxuICAgIHR5cGVDaGVja2VyOiB0cy5UeXBlQ2hlY2tlciwgbm9kZTogdHMuTm9kZSk6IG5vZGUgaXMgdHMuVHlwZVJlZmVyZW5jZU5vZGUge1xuICBpZiAoIXRzLmlzVHlwZVJlZmVyZW5jZU5vZGUobm9kZSkgfHwgIXRzLmlzSWRlbnRpZmllcihub2RlLnR5cGVOYW1lKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGltcCA9IGdldEltcG9ydE9mSWRlbnRpZmllcih0eXBlQ2hlY2tlciwgbm9kZS50eXBlTmFtZSk7XG4gIHJldHVybiAhIWltcCAmJiBpbXAubmFtZSA9PT0gJ01vZHVsZVdpdGhQcm92aWRlcnMnICYmIGltcC5pbXBvcnRNb2R1bGUgPT09ICdAYW5ndWxhci9jb3JlJyAmJlxuICAgICAgIW5vZGUudHlwZUFyZ3VtZW50cztcbn1cbiJdfQ==
@@ -1,27 +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/move-document/document_import_visitor" />
9
- import ts from 'typescript';
10
- export declare const COMMON_IMPORT = "@angular/common";
11
- export declare const PLATFORM_BROWSER_IMPORT = "@angular/platform-browser";
12
- export declare const DOCUMENT_TOKEN_NAME = "DOCUMENT";
13
- /** This contains the metadata necessary to move items from one import to another */
14
- export interface ResolvedDocumentImport {
15
- platformBrowserImport: ts.NamedImports | null;
16
- commonImport: ts.NamedImports | null;
17
- documentElement: ts.ImportSpecifier | null;
18
- }
19
- /** Visitor that can be used to find a set of imports in a TypeScript file. */
20
- export declare class DocumentImportVisitor {
21
- typeChecker: ts.TypeChecker;
22
- importsMap: Map<ts.SourceFile, ResolvedDocumentImport>;
23
- constructor(typeChecker: ts.TypeChecker);
24
- visitNode(node: ts.Node): void;
25
- private visitNamedImport;
26
- private getDocumentElement;
27
- }
@@ -1,77 +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/move-document/document_import_visitor", ["require", "exports", "typescript"], factory);
18
- }
19
- })(function (require, exports) {
20
- "use strict";
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.DocumentImportVisitor = exports.DOCUMENT_TOKEN_NAME = exports.PLATFORM_BROWSER_IMPORT = exports.COMMON_IMPORT = void 0;
23
- const typescript_1 = __importDefault(require("typescript"));
24
- exports.COMMON_IMPORT = '@angular/common';
25
- exports.PLATFORM_BROWSER_IMPORT = '@angular/platform-browser';
26
- exports.DOCUMENT_TOKEN_NAME = 'DOCUMENT';
27
- /** Visitor that can be used to find a set of imports in a TypeScript file. */
28
- class DocumentImportVisitor {
29
- constructor(typeChecker) {
30
- this.typeChecker = typeChecker;
31
- this.importsMap = new Map();
32
- }
33
- visitNode(node) {
34
- if (typescript_1.default.isNamedImports(node)) {
35
- this.visitNamedImport(node);
36
- }
37
- typescript_1.default.forEachChild(node, node => this.visitNode(node));
38
- }
39
- visitNamedImport(node) {
40
- if (!node.elements || !node.elements.length) {
41
- return;
42
- }
43
- const importDeclaration = node.parent.parent;
44
- // If this is not a StringLiteral it will be a grammar error
45
- const moduleSpecifier = importDeclaration.moduleSpecifier;
46
- const sourceFile = node.getSourceFile();
47
- let imports = this.importsMap.get(sourceFile);
48
- if (!imports) {
49
- imports = {
50
- platformBrowserImport: null,
51
- commonImport: null,
52
- documentElement: null,
53
- };
54
- }
55
- if (moduleSpecifier.text === exports.PLATFORM_BROWSER_IMPORT) {
56
- const documentElement = this.getDocumentElement(node);
57
- if (documentElement) {
58
- imports.platformBrowserImport = node;
59
- imports.documentElement = documentElement;
60
- }
61
- }
62
- else if (moduleSpecifier.text === exports.COMMON_IMPORT) {
63
- imports.commonImport = node;
64
- }
65
- else {
66
- return;
67
- }
68
- this.importsMap.set(sourceFile, imports);
69
- }
70
- getDocumentElement(node) {
71
- const elements = node.elements;
72
- return elements.find(el => (el.propertyName || el.name).escapedText === exports.DOCUMENT_TOKEN_NAME);
73
- }
74
- }
75
- exports.DocumentImportVisitor = DocumentImportVisitor;
76
- });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRfaW1wb3J0X3Zpc2l0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NjaGVtYXRpY3MvbWlncmF0aW9ucy9tb3ZlLWRvY3VtZW50L2RvY3VtZW50X2ltcG9ydF92aXNpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7OztJQUVILDREQUE0QjtJQUVmLFFBQUEsYUFBYSxHQUFHLGlCQUFpQixDQUFDO0lBQ2xDLFFBQUEsdUJBQXVCLEdBQUcsMkJBQTJCLENBQUM7SUFDdEQsUUFBQSxtQkFBbUIsR0FBRyxVQUFVLENBQUM7SUFTOUMsOEVBQThFO0lBQzlFLE1BQWEscUJBQXFCO1FBR2hDLFlBQW1CLFdBQTJCO1lBQTNCLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtZQUY5QyxlQUFVLEdBQStDLElBQUksR0FBRyxFQUFFLENBQUM7UUFFbEIsQ0FBQztRQUVsRCxTQUFTLENBQUMsSUFBYTtZQUNyQixJQUFJLG9CQUFFLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUMzQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDN0I7WUFFRCxvQkFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUVPLGdCQUFnQixDQUFDLElBQXFCO1lBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7Z0JBQzNDLE9BQU87YUFDUjtZQUVELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDN0MsNERBQTREO1lBQzVELE1BQU0sZUFBZSxHQUFHLGlCQUFpQixDQUFDLGVBQW1DLENBQUM7WUFDOUUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3hDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ1osT0FBTyxHQUFHO29CQUNSLHFCQUFxQixFQUFFLElBQUk7b0JBQzNCLFlBQVksRUFBRSxJQUFJO29CQUNsQixlQUFlLEVBQUUsSUFBSTtpQkFDdEIsQ0FBQzthQUNIO1lBRUQsSUFBSSxlQUFlLENBQUMsSUFBSSxLQUFLLCtCQUF1QixFQUFFO2dCQUNwRCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3RELElBQUksZUFBZSxFQUFFO29CQUNuQixPQUFPLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDO29CQUNyQyxPQUFPLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQztpQkFDM0M7YUFDRjtpQkFBTSxJQUFJLGVBQWUsQ0FBQyxJQUFJLEtBQUsscUJBQWEsRUFBRTtnQkFDakQsT0FBTyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7YUFDN0I7aUJBQU07Z0JBQ0wsT0FBTzthQUNSO1lBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFFTyxrQkFBa0IsQ0FBQyxJQUFxQjtZQUM5QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQy9CLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxLQUFLLDJCQUFtQixDQUFDLENBQUM7UUFDL0YsQ0FBQztLQUNGO0lBakRELHNEQWlEQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbmV4cG9ydCBjb25zdCBDT01NT05fSU1QT1JUID0gJ0Bhbmd1bGFyL2NvbW1vbic7XG5leHBvcnQgY29uc3QgUExBVEZPUk1fQlJPV1NFUl9JTVBPUlQgPSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5leHBvcnQgY29uc3QgRE9DVU1FTlRfVE9LRU5fTkFNRSA9ICdET0NVTUVOVCc7XG5cbi8qKiBUaGlzIGNvbnRhaW5zIHRoZSBtZXRhZGF0YSBuZWNlc3NhcnkgdG8gbW92ZSBpdGVtcyBmcm9tIG9uZSBpbXBvcnQgdG8gYW5vdGhlciAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlZERvY3VtZW50SW1wb3J0IHtcbiAgcGxhdGZvcm1Ccm93c2VySW1wb3J0OiB0cy5OYW1lZEltcG9ydHN8bnVsbDtcbiAgY29tbW9uSW1wb3J0OiB0cy5OYW1lZEltcG9ydHN8bnVsbDtcbiAgZG9jdW1lbnRFbGVtZW50OiB0cy5JbXBvcnRTcGVjaWZpZXJ8bnVsbDtcbn1cblxuLyoqIFZpc2l0b3IgdGhhdCBjYW4gYmUgdXNlZCB0byBmaW5kIGEgc2V0IG9mIGltcG9ydHMgaW4gYSBUeXBlU2NyaXB0IGZpbGUuICovXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRJbXBvcnRWaXNpdG9yIHtcbiAgaW1wb3J0c01hcDogTWFwPHRzLlNvdXJjZUZpbGUsIFJlc29sdmVkRG9jdW1lbnRJbXBvcnQ+ID0gbmV3IE1hcCgpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0eXBlQ2hlY2tlcjogdHMuVHlwZUNoZWNrZXIpIHt9XG5cbiAgdmlzaXROb2RlKG5vZGU6IHRzLk5vZGUpIHtcbiAgICBpZiAodHMuaXNOYW1lZEltcG9ydHMobm9kZSkpIHtcbiAgICAgIHRoaXMudmlzaXROYW1lZEltcG9ydChub2RlKTtcbiAgICB9XG5cbiAgICB0cy5mb3JFYWNoQ2hpbGQobm9kZSwgbm9kZSA9PiB0aGlzLnZpc2l0Tm9kZShub2RlKSk7XG4gIH1cblxuICBwcml2YXRlIHZpc2l0TmFtZWRJbXBvcnQobm9kZTogdHMuTmFtZWRJbXBvcnRzKSB7XG4gICAgaWYgKCFub2RlLmVsZW1lbnRzIHx8ICFub2RlLmVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGltcG9ydERlY2xhcmF0aW9uID0gbm9kZS5wYXJlbnQucGFyZW50O1xuICAgIC8vIElmIHRoaXMgaXMgbm90IGEgU3RyaW5nTGl0ZXJhbCBpdCB3aWxsIGJlIGEgZ3JhbW1hciBlcnJvclxuICAgIGNvbnN0IG1vZHVsZVNwZWNpZmllciA9IGltcG9ydERlY2xhcmF0aW9uLm1vZHVsZVNwZWNpZmllciBhcyB0cy5TdHJpbmdMaXRlcmFsO1xuICAgIGNvbnN0IHNvdXJjZUZpbGUgPSBub2RlLmdldFNvdXJjZUZpbGUoKTtcbiAgICBsZXQgaW1wb3J0cyA9IHRoaXMuaW1wb3J0c01hcC5nZXQoc291cmNlRmlsZSk7XG4gICAgaWYgKCFpbXBvcnRzKSB7XG4gICAgICBpbXBvcnRzID0ge1xuICAgICAgICBwbGF0Zm9ybUJyb3dzZXJJbXBvcnQ6IG51bGwsXG4gICAgICAgIGNvbW1vbkltcG9ydDogbnVsbCxcbiAgICAgICAgZG9jdW1lbnRFbGVtZW50OiBudWxsLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAobW9kdWxlU3BlY2lmaWVyLnRleHQgPT09IFBMQVRGT1JNX0JST1dTRVJfSU1QT1JUKSB7XG4gICAgICBjb25zdCBkb2N1bWVudEVsZW1lbnQgPSB0aGlzLmdldERvY3VtZW50RWxlbWVudChub2RlKTtcbiAgICAgIGlmIChkb2N1bWVudEVsZW1lbnQpIHtcbiAgICAgICAgaW1wb3J0cy5wbGF0Zm9ybUJyb3dzZXJJbXBvcnQgPSBub2RlO1xuICAgICAgICBpbXBvcnRzLmRvY3VtZW50RWxlbWVudCA9IGRvY3VtZW50RWxlbWVudDtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG1vZHVsZVNwZWNpZmllci50ZXh0ID09PSBDT01NT05fSU1QT1JUKSB7XG4gICAgICBpbXBvcnRzLmNvbW1vbkltcG9ydCA9IG5vZGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pbXBvcnRzTWFwLnNldChzb3VyY2VGaWxlLCBpbXBvcnRzKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RG9jdW1lbnRFbGVtZW50KG5vZGU6IHRzLk5hbWVkSW1wb3J0cyk6IHRzLkltcG9ydFNwZWNpZmllcnx1bmRlZmluZWQge1xuICAgIGNvbnN0IGVsZW1lbnRzID0gbm9kZS5lbGVtZW50cztcbiAgICByZXR1cm4gZWxlbWVudHMuZmluZChlbCA9PiAoZWwucHJvcGVydHlOYW1lIHx8IGVsLm5hbWUpLmVzY2FwZWRUZXh0ID09PSBET0NVTUVOVF9UT0tFTl9OQU1FKTtcbiAgfVxufVxuIl19
@@ -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/move-document" />
9
- import { Rule } from '@angular-devkit/schematics';
10
- /** Entry point for the V8 move-document migration. */
11
- export default function (): Rule;
@@ -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;