@angular/core 13.0.0-rc.1 → 13.0.1

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 (180) 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/debug/debug_node.mjs +2 -3
  6. package/esm2020/src/linker/component_factory_resolver.mjs +5 -5
  7. package/esm2020/src/linker/ng_module_factory.mjs +1 -1
  8. package/esm2020/src/metadata/view.mjs +3 -1
  9. package/esm2020/src/render3/definition.mjs +2 -7
  10. package/esm2020/src/render3/di.mjs +3 -3
  11. package/esm2020/src/render3/di_setup.mjs +1 -1
  12. package/esm2020/src/render3/error_code.mjs +2 -5
  13. package/esm2020/src/render3/error_details_base_url.mjs +16 -0
  14. package/esm2020/src/render3/fields.mjs +1 -2
  15. package/esm2020/src/render3/instructions/lview_debug.mjs +36 -13
  16. package/esm2020/src/render3/instructions/shared.mjs +3 -5
  17. package/esm2020/src/render3/ng_module_ref.mjs +2 -5
  18. package/esm2020/src/render3/util/view_traversal_utils.mjs +1 -1
  19. package/esm2020/src/version.mjs +1 -1
  20. package/esm2020/testing/src/logger.mjs +3 -3
  21. package/esm2020/testing/src/ng_zone_mock.mjs +3 -3
  22. package/esm2020/testing/src/test_compiler.mjs +3 -3
  23. package/fesm2015/core.mjs +103 -78
  24. package/fesm2015/core.mjs.map +1 -1
  25. package/fesm2015/testing.mjs +4 -4
  26. package/fesm2020/core.mjs +103 -78
  27. package/fesm2020/core.mjs.map +1 -1
  28. package/fesm2020/testing.mjs +4 -4
  29. package/package.json +1 -1
  30. package/schematics/migrations/router-link-empty-expression/index.js +2 -2
  31. package/schematics/migrations.json +0 -100
  32. package/schematics/utils/ng_component_template.d.ts +4 -1
  33. package/schematics/utils/ng_component_template.js +28 -14
  34. package/testing/testing.d.ts +1 -1
  35. package/schematics/migrations/abstract-control-parent/index.d.ts +0 -11
  36. package/schematics/migrations/abstract-control-parent/index.js +0 -69
  37. package/schematics/migrations/abstract-control-parent/util.d.ts +0 -14
  38. package/schematics/migrations/abstract-control-parent/util.js +0 -67
  39. package/schematics/migrations/activated-route-snapshot-fragment/index.d.ts +0 -13
  40. package/schematics/migrations/activated-route-snapshot-fragment/index.js +0 -73
  41. package/schematics/migrations/activated-route-snapshot-fragment/util.d.ts +0 -16
  42. package/schematics/migrations/activated-route-snapshot-fragment/util.js +0 -51
  43. package/schematics/migrations/can-activate-with-redirect-to/index.d.ts +0 -11
  44. package/schematics/migrations/can-activate-with-redirect-to/index.js +0 -69
  45. package/schematics/migrations/can-activate-with-redirect-to/util.d.ts +0 -11
  46. package/schematics/migrations/can-activate-with-redirect-to/util.js +0 -73
  47. package/schematics/migrations/deep-shadow-piercing-selector/index.d.ts +0 -10
  48. package/schematics/migrations/deep-shadow-piercing-selector/index.js +0 -49
  49. package/schematics/migrations/dynamic-queries/index.d.ts +0 -13
  50. package/schematics/migrations/dynamic-queries/index.js +0 -76
  51. package/schematics/migrations/dynamic-queries/util.d.ts +0 -25
  52. package/schematics/migrations/dynamic-queries/util.js +0 -84
  53. package/schematics/migrations/initial-navigation/collector.d.ts +0 -22
  54. package/schematics/migrations/initial-navigation/collector.js +0 -122
  55. package/schematics/migrations/initial-navigation/index.d.ts +0 -11
  56. package/schematics/migrations/initial-navigation/index.js +0 -83
  57. package/schematics/migrations/initial-navigation/transform.d.ts +0 -20
  58. package/schematics/migrations/initial-navigation/transform.js +0 -71
  59. package/schematics/migrations/initial-navigation/update_recorder.d.ts +0 -18
  60. package/schematics/migrations/initial-navigation/update_recorder.js +0 -20
  61. package/schematics/migrations/initial-navigation/util.d.ts +0 -12
  62. package/schematics/migrations/initial-navigation/util.js +0 -46
  63. package/schematics/migrations/missing-injectable/definition_collector.d.ts +0 -37
  64. package/schematics/migrations/missing-injectable/definition_collector.js +0 -92
  65. package/schematics/migrations/missing-injectable/index.d.ts +0 -11
  66. package/schematics/migrations/missing-injectable/index.js +0 -136
  67. package/schematics/migrations/missing-injectable/providers_evaluator.d.ts +0 -26
  68. package/schematics/migrations/missing-injectable/providers_evaluator.js +0 -71
  69. package/schematics/migrations/missing-injectable/transform.d.ts +0 -70
  70. package/schematics/migrations/missing-injectable/transform.js +0 -203
  71. package/schematics/migrations/missing-injectable/update_recorder.d.ts +0 -21
  72. package/schematics/migrations/missing-injectable/update_recorder.js +0 -20
  73. package/schematics/migrations/module-with-providers/collector.d.ts +0 -34
  74. package/schematics/migrations/module-with-providers/collector.js +0 -76
  75. package/schematics/migrations/module-with-providers/index.d.ts +0 -13
  76. package/schematics/migrations/module-with-providers/index.js +0 -107
  77. package/schematics/migrations/module-with-providers/transform.d.ts +0 -50
  78. package/schematics/migrations/module-with-providers/transform.js +0 -149
  79. package/schematics/migrations/module-with-providers/util.d.ts +0 -13
  80. package/schematics/migrations/module-with-providers/util.js +0 -43
  81. package/schematics/migrations/move-document/document_import_visitor.d.ts +0 -27
  82. package/schematics/migrations/move-document/document_import_visitor.js +0 -77
  83. package/schematics/migrations/move-document/index.d.ts +0 -11
  84. package/schematics/migrations/move-document/index.js +0 -93
  85. package/schematics/migrations/move-document/move-import.d.ts +0 -12
  86. package/schematics/migrations/move-document/move-import.js +0 -64
  87. package/schematics/migrations/native-view-encapsulation/index.d.ts +0 -11
  88. package/schematics/migrations/native-view-encapsulation/index.js +0 -63
  89. package/schematics/migrations/native-view-encapsulation/util.d.ts +0 -11
  90. package/schematics/migrations/native-view-encapsulation/util.js +0 -51
  91. package/schematics/migrations/navigation-extras-omissions/index.d.ts +0 -11
  92. package/schematics/migrations/navigation-extras-omissions/index.js +0 -72
  93. package/schematics/migrations/navigation-extras-omissions/util.d.ts +0 -11
  94. package/schematics/migrations/navigation-extras-omissions/util.js +0 -129
  95. package/schematics/migrations/relative-link-resolution/collector.d.ts +0 -22
  96. package/schematics/migrations/relative-link-resolution/collector.js +0 -98
  97. package/schematics/migrations/relative-link-resolution/index.d.ts +0 -11
  98. package/schematics/migrations/relative-link-resolution/index.js +0 -84
  99. package/schematics/migrations/relative-link-resolution/transform.d.ts +0 -22
  100. package/schematics/migrations/relative-link-resolution/transform.js +0 -68
  101. package/schematics/migrations/relative-link-resolution/update_recorder.d.ts +0 -18
  102. package/schematics/migrations/relative-link-resolution/update_recorder.js +0 -20
  103. package/schematics/migrations/relative-link-resolution/util.d.ts +0 -12
  104. package/schematics/migrations/relative-link-resolution/util.js +0 -46
  105. package/schematics/migrations/renderer-to-renderer2/helpers.d.ts +0 -25
  106. package/schematics/migrations/renderer-to-renderer2/helpers.js +0 -241
  107. package/schematics/migrations/renderer-to-renderer2/index.d.ts +0 -14
  108. package/schematics/migrations/renderer-to-renderer2/index.js +0 -138
  109. package/schematics/migrations/renderer-to-renderer2/migration.d.ts +0 -18
  110. package/schematics/migrations/renderer-to-renderer2/migration.js +0 -228
  111. package/schematics/migrations/renderer-to-renderer2/util.d.ts +0 -18
  112. package/schematics/migrations/renderer-to-renderer2/util.js +0 -86
  113. package/schematics/migrations/router-preserve-query-params/index.d.ts +0 -14
  114. package/schematics/migrations/router-preserve-query-params/index.js +0 -75
  115. package/schematics/migrations/router-preserve-query-params/util.d.ts +0 -11
  116. package/schematics/migrations/router-preserve-query-params/util.js +0 -106
  117. package/schematics/migrations/static-queries/angular/directive_inputs.d.ts +0 -11
  118. package/schematics/migrations/static-queries/angular/directive_inputs.js +0 -87
  119. package/schematics/migrations/static-queries/angular/ng_query_visitor.d.ts +0 -45
  120. package/schematics/migrations/static-queries/angular/ng_query_visitor.js +0 -130
  121. package/schematics/migrations/static-queries/angular/query-definition.d.ts +0 -37
  122. package/schematics/migrations/static-queries/angular/query-definition.js +0 -33
  123. package/schematics/migrations/static-queries/angular/super_class.d.ts +0 -15
  124. package/schematics/migrations/static-queries/angular/super_class.js +0 -35
  125. package/schematics/migrations/static-queries/index.d.ts +0 -11
  126. package/schematics/migrations/static-queries/index.js +0 -244
  127. package/schematics/migrations/static-queries/strategies/template_strategy/template_strategy.d.ts +0 -41
  128. package/schematics/migrations/static-queries/strategies/template_strategy/template_strategy.js +0 -210
  129. package/schematics/migrations/static-queries/strategies/test_strategy/test_strategy.d.ts +0 -24
  130. package/schematics/migrations/static-queries/strategies/test_strategy/test_strategy.js +0 -38
  131. package/schematics/migrations/static-queries/strategies/timing-strategy.d.ts +0 -19
  132. package/schematics/migrations/static-queries/strategies/timing-strategy.js +0 -20
  133. package/schematics/migrations/static-queries/strategies/usage_strategy/declaration_usage_visitor.d.ts +0 -82
  134. package/schematics/migrations/static-queries/strategies/usage_strategy/declaration_usage_visitor.js +0 -372
  135. package/schematics/migrations/static-queries/strategies/usage_strategy/super_class_context.d.ts +0 -18
  136. package/schematics/migrations/static-queries/strategies/usage_strategy/super_class_context.js +0 -55
  137. package/schematics/migrations/static-queries/strategies/usage_strategy/template_usage_visitor.d.ts +0 -27
  138. package/schematics/migrations/static-queries/strategies/usage_strategy/template_usage_visitor.js +0 -93
  139. package/schematics/migrations/static-queries/strategies/usage_strategy/usage_strategy.d.ts +0 -34
  140. package/schematics/migrations/static-queries/strategies/usage_strategy/usage_strategy.js +0 -172
  141. package/schematics/migrations/static-queries/transform.d.ts +0 -21
  142. package/schematics/migrations/static-queries/transform.js +0 -105
  143. package/schematics/migrations/template-var-assignment/analyze_template.d.ts +0 -20
  144. package/schematics/migrations/template-var-assignment/analyze_template.js +0 -38
  145. package/schematics/migrations/template-var-assignment/angular/html_variable_assignment_visitor.d.ts +0 -28
  146. package/schematics/migrations/template-var-assignment/angular/html_variable_assignment_visitor.js +0 -80
  147. package/schematics/migrations/template-var-assignment/index.d.ts +0 -11
  148. package/schematics/migrations/template-var-assignment/index.js +0 -101
  149. package/schematics/migrations/undecorated-classes-with-decorated-fields/index.d.ts +0 -14
  150. package/schematics/migrations/undecorated-classes-with-decorated-fields/index.js +0 -128
  151. package/schematics/migrations/undecorated-classes-with-decorated-fields/transform.d.ts +0 -64
  152. package/schematics/migrations/undecorated-classes-with-decorated-fields/transform.js +0 -302
  153. package/schematics/migrations/undecorated-classes-with-decorated-fields/update_recorder.d.ts +0 -19
  154. package/schematics/migrations/undecorated-classes-with-decorated-fields/update_recorder.js +0 -20
  155. package/schematics/migrations/undecorated-classes-with-di/create_ngc_program.d.ts +0 -18
  156. package/schematics/migrations/undecorated-classes-with-di/create_ngc_program.js +0 -56
  157. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/convert_directive_metadata.d.ts +0 -18
  158. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/convert_directive_metadata.js +0 -99
  159. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/decorator_rewriter.d.ts +0 -37
  160. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/decorator_rewriter.js +0 -118
  161. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/import_rewrite_visitor.d.ts +0 -37
  162. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/import_rewrite_visitor.js +0 -129
  163. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/path_format.d.ts +0 -10
  164. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/path_format.js +0 -31
  165. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/source_file_exports.d.ts +0 -16
  166. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/source_file_exports.js +0 -68
  167. package/schematics/migrations/undecorated-classes-with-di/index.d.ts +0 -11
  168. package/schematics/migrations/undecorated-classes-with-di/index.js +0 -226
  169. package/schematics/migrations/undecorated-classes-with-di/ng_declaration_collector.d.ts +0 -38
  170. package/schematics/migrations/undecorated-classes-with-di/ng_declaration_collector.js +0 -135
  171. package/schematics/migrations/undecorated-classes-with-di/transform.d.ts +0 -97
  172. package/schematics/migrations/undecorated-classes-with-di/transform.js +0 -373
  173. package/schematics/migrations/undecorated-classes-with-di/update_recorder.d.ts +0 -20
  174. package/schematics/migrations/undecorated-classes-with-di/update_recorder.js +0 -20
  175. package/schematics/migrations/wait-for-async/index.d.ts +0 -11
  176. package/schematics/migrations/wait-for-async/index.js +0 -101
  177. package/schematics/migrations/wait-for-async/util.d.ts +0 -11
  178. package/schematics/migrations/wait-for-async/util.js +0 -40
  179. package/schematics/migrations/xhr-factory/index.d.ts +0 -10
  180. package/schematics/migrations/xhr-factory/index.js +0 -107
@@ -1,203 +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/missing-injectable/transform", ["require", "exports", "typescript", "@angular/core/schematics/utils/import_manager", "@angular/core/schematics/utils/ng_decorators", "@angular/core/schematics/migrations/missing-injectable/providers_evaluator"], factory);
18
- }
19
- })(function (require, exports) {
20
- "use strict";
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.MissingInjectableTransform = void 0;
23
- const typescript_1 = __importDefault(require("typescript"));
24
- const import_manager_1 = require("@angular/core/schematics/utils/import_manager");
25
- const ng_decorators_1 = require("@angular/core/schematics/utils/ng_decorators");
26
- const providers_evaluator_1 = require("@angular/core/schematics/migrations/missing-injectable/providers_evaluator");
27
- /**
28
- * Name of decorators which imply that a given class does not need to be migrated.
29
- * - `@Injectable`, `@Directive`, `@Component` and `@Pipe` instruct the compiler
30
- * to generate a factory definition.
31
- * - `@NgModule` instructs the compiler to generate a provider definition that holds
32
- * the factory function.
33
- */
34
- const NO_MIGRATE_DECORATORS = ['Injectable', 'Directive', 'Component', 'Pipe', 'NgModule'];
35
- class MissingInjectableTransform {
36
- constructor(typeChecker, getUpdateRecorder, compilerCliMigrationsModule) {
37
- this.typeChecker = typeChecker;
38
- this.getUpdateRecorder = getUpdateRecorder;
39
- this.compilerCliMigrationsModule = compilerCliMigrationsModule;
40
- this.printer = typescript_1.default.createPrinter();
41
- this.importManager = new import_manager_1.ImportManager(this.getUpdateRecorder, this.printer);
42
- /** Set of provider class declarations which were already checked or migrated. */
43
- this.visitedProviderClasses = new Set();
44
- /** Set of provider object literals which were already checked or migrated. */
45
- this.visitedProviderLiterals = new Set();
46
- this.providersEvaluator = (0, providers_evaluator_1.createProvidersEvaluator)(compilerCliMigrationsModule, new compilerCliMigrationsModule.TypeScriptReflectionHost(typeChecker), typeChecker);
47
- }
48
- recordChanges() {
49
- this.importManager.recordChanges();
50
- }
51
- /**
52
- * Migrates all specified NgModule's by walking through referenced providers
53
- * and decorating them with "@Injectable" if needed.
54
- */
55
- migrateModules(modules) {
56
- return modules.reduce((failures, node) => failures.concat(this.migrateModule(node)), []);
57
- }
58
- /**
59
- * Migrates all specified directives by walking through referenced providers
60
- * and decorating them with "@Injectable" if needed.
61
- */
62
- migrateDirectives(directives) {
63
- return directives.reduce((failures, node) => failures.concat(this.migrateDirective(node)), []);
64
- }
65
- /** Migrates a given NgModule by walking through the referenced providers. */
66
- migrateModule(module) {
67
- if (module.providersExpr === null) {
68
- return [];
69
- }
70
- const { resolvedValue, literals } = this.providersEvaluator.evaluate(module.providersExpr);
71
- this._migrateLiteralProviders(literals);
72
- if (!Array.isArray(resolvedValue)) {
73
- return [
74
- { node: module.providersExpr, message: 'Providers of module are not statically analyzable.' }
75
- ];
76
- }
77
- return this._visitProviderResolvedValue(resolvedValue, module);
78
- }
79
- /**
80
- * Migrates a given directive by walking through defined providers. This method
81
- * also handles components with "viewProviders" defined.
82
- */
83
- migrateDirective(directive) {
84
- const failures = [];
85
- // Migrate "providers" on directives and components if defined.
86
- if (directive.providersExpr) {
87
- const { resolvedValue, literals } = this.providersEvaluator.evaluate(directive.providersExpr);
88
- this._migrateLiteralProviders(literals);
89
- if (!Array.isArray(resolvedValue)) {
90
- return [
91
- { node: directive.providersExpr, message: `Providers are not statically analyzable.` }
92
- ];
93
- }
94
- failures.push(...this._visitProviderResolvedValue(resolvedValue, directive));
95
- }
96
- // Migrate "viewProviders" on components if defined.
97
- if (directive.viewProvidersExpr) {
98
- const { resolvedValue, literals } = this.providersEvaluator.evaluate(directive.viewProvidersExpr);
99
- this._migrateLiteralProviders(literals);
100
- if (!Array.isArray(resolvedValue)) {
101
- return [
102
- { node: directive.viewProvidersExpr, message: `Providers are not statically analyzable.` }
103
- ];
104
- }
105
- failures.push(...this._visitProviderResolvedValue(resolvedValue, directive));
106
- }
107
- return failures;
108
- }
109
- /**
110
- * Migrates a given provider class if it is not decorated with
111
- * any Angular decorator.
112
- */
113
- migrateProviderClass(node, context) {
114
- if (this.visitedProviderClasses.has(node)) {
115
- return;
116
- }
117
- this.visitedProviderClasses.add(node);
118
- const sourceFile = node.getSourceFile();
119
- // We cannot migrate provider classes outside of source files. This is because the
120
- // migration for third-party library files should happen in "ngcc", and in general
121
- // would also involve metadata parsing.
122
- if (sourceFile.isDeclarationFile) {
123
- return;
124
- }
125
- const ngDecorators = node.decorators ? (0, ng_decorators_1.getAngularDecorators)(this.typeChecker, node.decorators) : null;
126
- if (ngDecorators !== null &&
127
- ngDecorators.some(d => NO_MIGRATE_DECORATORS.indexOf(d.name) !== -1)) {
128
- return;
129
- }
130
- const updateRecorder = this.getUpdateRecorder(sourceFile);
131
- const importExpr = this.importManager.addImportToSourceFile(sourceFile, 'Injectable', '@angular/core');
132
- const newDecoratorExpr = typescript_1.default.createDecorator(typescript_1.default.createCall(importExpr, undefined, undefined));
133
- const newDecoratorText = this.printer.printNode(typescript_1.default.EmitHint.Unspecified, newDecoratorExpr, sourceFile);
134
- // In case the class is already decorated with "@Inject(..)", we replace the "@Inject"
135
- // decorator with "@Injectable()" since using "@Inject(..)" on a class is a noop and
136
- // most likely was meant to be "@Injectable()".
137
- const existingInjectDecorator = ngDecorators !== null ? ngDecorators.find(d => d.name === 'Inject') : null;
138
- if (existingInjectDecorator) {
139
- updateRecorder.replaceDecorator(existingInjectDecorator.node, newDecoratorText, context.name);
140
- }
141
- else {
142
- updateRecorder.addClassDecorator(node, newDecoratorText, context.name);
143
- }
144
- }
145
- /**
146
- * Migrates object literal providers which do not use "useValue", "useClass",
147
- * "useExisting" or "useFactory". These providers behave differently in Ivy. e.g.
148
- *
149
- * ```ts
150
- * {provide: X} -> {provide: X, useValue: undefined} // this is how it behaves in VE
151
- * {provide: X} -> {provide: X, useClass: X} // this is how it behaves in Ivy
152
- * ```
153
- *
154
- * To ensure forward compatibility, we migrate these empty object literal providers
155
- * to explicitly use `useValue: undefined`.
156
- */
157
- _migrateLiteralProviders(literals) {
158
- for (let { node, resolvedValue } of literals) {
159
- if (this.visitedProviderLiterals.has(node)) {
160
- continue;
161
- }
162
- this.visitedProviderLiterals.add(node);
163
- if (!resolvedValue || !(resolvedValue instanceof Map) || !resolvedValue.has('provide') ||
164
- resolvedValue.has('useClass') || resolvedValue.has('useValue') ||
165
- resolvedValue.has('useExisting') || resolvedValue.has('useFactory')) {
166
- continue;
167
- }
168
- const sourceFile = node.getSourceFile();
169
- const newObjectLiteral = typescript_1.default.updateObjectLiteral(node, node.properties.concat(typescript_1.default.createPropertyAssignment('useValue', typescript_1.default.createIdentifier('undefined'))));
170
- this.getUpdateRecorder(sourceFile)
171
- .updateObjectLiteral(node, this.printer.printNode(typescript_1.default.EmitHint.Unspecified, newObjectLiteral, sourceFile));
172
- }
173
- }
174
- /**
175
- * Visits the given resolved value of a provider. Providers can be nested in
176
- * arrays and we need to recursively walk through the providers to be able to
177
- * migrate all referenced provider classes. e.g. "providers: [[A, [B]]]".
178
- */
179
- _visitProviderResolvedValue(value, module) {
180
- if (value instanceof this.compilerCliMigrationsModule.Reference &&
181
- typescript_1.default.isClassDeclaration(value.node)) {
182
- this.migrateProviderClass(value.node, module);
183
- }
184
- else if (value instanceof Map) {
185
- // If a "ClassProvider" has the "deps" property set, then we do not need to
186
- // decorate the class. This is because the class is instantiated through the
187
- // specified "deps" and the class does not need a factory definition.
188
- if (value.has('provide') && value.has('useClass') && value.get('deps') == null) {
189
- return this._visitProviderResolvedValue(value.get('useClass'), module);
190
- }
191
- }
192
- else if (Array.isArray(value)) {
193
- return value.reduce((res, v) => res.concat(this._visitProviderResolvedValue(v, module)), []);
194
- }
195
- else if (value instanceof this.compilerCliMigrationsModule.DynamicValue) {
196
- return [{ node: value.node, message: `Provider is not statically analyzable.` }];
197
- }
198
- return [];
199
- }
200
- }
201
- exports.MissingInjectableTransform = MissingInjectableTransform;
202
- });
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zY2hlbWF0aWNzL21pZ3JhdGlvbnMvbWlzc2luZy1pbmplY3RhYmxlL3RyYW5zZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7Ozs7SUFHSCw0REFBNEI7SUFFNUIsa0ZBQXlEO0lBQ3pELGdGQUErRDtJQUcvRCxvSEFBZ0Y7SUFHaEY7Ozs7OztPQU1HO0lBQ0gsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztJQU8zRixNQUFhLDBCQUEwQjtRQVdyQyxZQUNZLFdBQTJCLEVBQzNCLGlCQUF3RCxFQUN4RCwyQkFDcUQ7WUFIckQsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1lBQzNCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBdUM7WUFDeEQsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUMwQjtZQWR6RCxZQUFPLEdBQUcsb0JBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM3QixrQkFBYSxHQUFHLElBQUksOEJBQWEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBR2hGLGlGQUFpRjtZQUN6RSwyQkFBc0IsR0FBRyxJQUFJLEdBQUcsRUFBdUIsQ0FBQztZQUVoRSw4RUFBOEU7WUFDdEUsNEJBQXVCLEdBQUcsSUFBSSxHQUFHLEVBQThCLENBQUM7WUFPdEUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUEsOENBQXdCLEVBQzlDLDJCQUEyQixFQUMzQixJQUFJLDJCQUEyQixDQUFDLHdCQUF3QixDQUFDLFdBQVcsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzFGLENBQUM7UUFFRCxhQUFhO1lBQ1gsSUFBSSxDQUFDLGFBQWEsQ0FB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MkJBQTJCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztpQkFDekU7YUFDRjtpQkFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQy9CLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FDZixDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUNuRSxFQUF1QixDQUFDLENBQUM7YUFDOUI7aUJBQU0sSUFBSSxLQUFLLFlBQVksSUFBSSxDQUFDLDJCQUEyQixDQUFDLFlBQVksRUFBRTtnQkFDekUsT0FBTyxDQUFDLEVBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLHdDQUF3QyxFQUFDLENBQUMsQ0FBQzthQUNoRjtZQUNELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztLQUNGO0lBOU1ELGdFQThNQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgdHlwZSB7UmVzb2x2ZWRWYWx1ZX0gZnJvbSAnQGFuZ3VsYXIvY29tcGlsZXItY2xpL3ByaXZhdGUvbWlncmF0aW9ucyc7XG5pbXBvcnQgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7SW1wb3J0TWFuYWdlcn0gZnJvbSAnLi4vLi4vdXRpbHMvaW1wb3J0X21hbmFnZXInO1xuaW1wb3J0IHtnZXRBbmd1bGFyRGVjb3JhdG9yc30gZnJvbSAnLi4vLi4vdXRpbHMvbmdfZGVjb3JhdG9ycyc7XG5cbmltcG9ydCB7UmVzb2x2ZWREaXJlY3RpdmUsIFJlc29sdmVkTmdNb2R1bGV9IGZyb20gJy4vZGVmaW5pdGlvbl9jb2xsZWN0b3InO1xuaW1wb3J0IHtjcmVhdGVQcm92aWRlcnNFdmFsdWF0b3IsIFByb3ZpZGVyTGl0ZXJhbH0gZnJvbSAnLi9wcm92aWRlcnNfZXZhbHVhdG9yJztcbmltcG9ydCB7VXBkYXRlUmVjb3JkZXJ9IGZyb20gJy4vdXBkYXRlX3JlY29yZGVyJztcblxuLyoqXG4gKiBOYW1lIG9mIGRlY29yYXRvcnMgd2hpY2ggaW1wbHkgdGhhdCBhIGdpdmVuIGNsYXNzIGRvZXMgbm90IG5lZWQgdG8gYmUgbWlncmF0ZWQuXG4gKiAgICAtIGBASW5qZWN0YWJsZWAsIGBARGlyZWN0aXZlYCwgYEBDb21wb25lbnRgIGFuZCBgQFBpcGVgIGluc3RydWN0IHRoZSBjb21waWxlclxuICogICAgICAgdG8gZ2VuZXJhdGUgYSBmYWN0b3J5IGRlZmluaXRpb24uXG4gKiAgICAtIGBATmdNb2R1bGVgIGluc3RydWN0cyB0aGUgY29tcGlsZXIgdG8gZ2VuZXJhdGUgYSBwcm92aWRlciBkZWZpbml0aW9uIHRoYXQgaG9sZHNcbiAqICAgICAgIHRoZSBmYWN0b3J5IGZ1bmN0aW9uLlxuICovXG5jb25zdCBOT19NSUdSQVRFX0RFQ09SQVRPUlMgPSBbJ0luamVjdGFibGUnLCAnRGlyZWN0aXZlJywgJ0NvbXBvbmVudCcsICdQaXBlJywgJ05nTW9kdWxlJ107XG5cbmV4cG9ydCBpbnRlcmZhY2UgQW5hbHlzaXNGYWlsdXJlIHtcbiAgbm9kZTogdHMuTm9kZTtcbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgTWlzc2luZ0luamVjdGFibGVUcmFuc2Zvcm0ge1xuICBwcml2YXRlIHByaW50ZXIgPSB0cy5jcmVhdGVQcmludGVyKCk7XG4gIHByaXZhdGUgaW1wb3J0TWFuYWdlciA9IG5ldyBJbXBvcnRNYW5hZ2VyKHRoaXMuZ2V0VXBkYXRlUmVjb3JkZXIsIHRoaXMucHJpbnRlcik7XG4gIHByaXZhdGUgcHJvdmlkZXJzRXZhbHVhdG9yO1xuXG4gIC8qKiBTZXQgb2YgcHJvdmlkZXIgY2xhc3MgZGVjbGFyYXRpb25zIHdoaWNoIHdlcmUgYWxyZWFkeSBjaGVja2VkIG9yIG1pZ3JhdGVkLiAqL1xuICBwcml2YXRlIHZpc2l0ZWRQcm92aWRlckNsYXNzZXMgPSBuZXcgU2V0PHRzLkNsYXNzRGVjbGFyYXRpb24+KCk7XG5cbiAgLyoqIFNldCBvZiBwcm92aWRlciBvYmplY3QgbGl0ZXJhbHMgd2hpY2ggd2VyZSBhbHJlYWR5IGNoZWNrZWQgb3IgbWlncmF0ZWQuICovXG4gIHByaXZhdGUgdmlzaXRlZFByb3ZpZGVyTGl0ZXJhbHMgPSBuZXcgU2V0PHRzLk9iamVjdExpdGVyYWxFeHByZXNzaW9uPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSB0eXBlQ2hlY2tlcjogdHMuVHlwZUNoZWNrZXIsXG4gICAgICBwcml2YXRlIGdldFVwZGF0ZVJlY29yZGVyOiAoc2Y6IHRzLlNvdXJjZUZpbGUpID0+IFVwZGF0ZVJlY29yZGVyLFxuICAgICAgcHJpdmF0ZSBjb21waWxlckNsaU1pZ3JhdGlvbnNNb2R1bGU6XG4gICAgICAgICAgdHlwZW9mIGltcG9ydCgnQGFuZ3VsYXIvY29tcGlsZXItY2xpL3ByaXZhdGUvbWlncmF0aW9ucycpKSB7XG4gICAgdGhpcy5wcm92aWRlcnNFdmFsdWF0b3IgPSBjcmVhdGVQcm92aWRlcnNFdmFsdWF0b3IoXG4gICAgICAgIGNvbXBpbGVyQ2xpTWlncmF0aW9uc01vZHVsZSxcbiAgICAgICAgbmV3IGNvbXBpbGVyQ2xpTWlncmF0aW9uc01vZHVsZS5UeXBlU2NyaXB0UmVmbGVjdGlvbkhvc3QodHlwZUNoZWNrZXIpLCB0eXBlQ2hlY2tlcik7XG4gIH1cblxuICByZWNvcmRDaGFuZ2VzKCkge1xuICAgIHRoaXMuaW1wb3J0TWFuYWdlci5yZWNvcmRDaGFuZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogTWlncmF0ZXMgYWxsIHNwZWNpZmllZCBOZ01vZHVsZSdzIGJ5IHdhbGtpbmcgdGhyb3VnaCByZWZlcmVuY2VkIHByb3ZpZGVyc1xuICAgKiBhbmQgZGVjb3JhdGluZyB0aGVtIHdpdGggXCJASW5qZWN0YWJsZVwiIGlmIG5lZWRlZC5cbiAgICovXG4gIG1pZ3JhdGVNb2R1bGVzKG1vZHVsZXM6IFJlc29sdmVkTmdNb2R1bGVbXSk6IEFuYWx5c2lzRmFpbHVyZVtdIHtcbiAgICByZXR1cm4gbW9kdWxlcy5yZWR1Y2UoXG4gICAgICAgIChmYWlsdXJlcywgbm9kZSkgPT4gZmFpbHVyZXMuY29uY2F0KHRoaXMubWlncmF0ZU1vZHVsZShub2RlKSksIFtdIGFzIEFuYWx5c2lzRmFpbHVyZVtdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNaWdyYXRlcyBhbGwgc3BlY2lmaWVkIGRpcmVjdGl2ZXMgYnkgd2Fsa2luZyB0aHJvdWdoIHJlZmVyZW5jZWQgcHJvdmlkZXJzXG4gICAqIGFuZCBkZWNvcmF0aW5nIHRoZW0gd2l0aCBcIkBJbmplY3RhYmxlXCIgaWYgbmVlZGVkLlxuICAgKi9cbiAgbWlncmF0ZURpcmVjdGl2ZXMoZGlyZWN0aXZlczogUmVzb2x2ZWREaXJlY3RpdmVbXSk6IEFuYWx5c2lzRmFpbHVyZVtdIHtcbiAgICByZXR1cm4gZGlyZWN0aXZlcy5yZWR1Y2UoXG4gICAgICAgIChmYWlsdXJlcywgbm9kZSkgPT4gZmFpbHVyZXMuY29uY2F0KHRoaXMubWlncmF0ZURpcmVjdGl2ZShub2RlKSksIFtdIGFzIEFuYWx5c2lzRmFpbHVyZVtdKTtcbiAgfVxuXG4gIC8qKiBNaWdyYXRlcyBhIGdpdmVuIE5nTW9kdWxlIGJ5IHdhbGtpbmcgdGhyb3VnaCB0aGUgcmVmZXJlbmNlZCBwcm92aWRlcnMuICovXG4gIG1pZ3JhdGVNb2R1bGUobW9kdWxlOiBSZXNvbHZlZE5nTW9kdWxlKTogQW5hbHlzaXNGYWlsdXJlW10ge1xuICAgIGlmIChtb2R1bGUucHJvdmlkZXJzRXhwciA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IHtyZXNvbHZlZFZhbHVlLCBsaXRlcmFsc30gPSB0aGlzLnByb3ZpZGVyc0V2YWx1YXRvci5ldmFsdWF0ZShtb2R1bGUucHJvdmlkZXJzRXhwcik7XG4gICAgdGhpcy5fbWlncmF0ZUxpdGVyYWxQcm92aWRlcnMobGl0ZXJhbHMpO1xuXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHJlc29sdmVkVmFsdWUpKSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICB7bm9kZTogbW9kdWxlLnByb3ZpZGVyc0V4cHIsIG1lc3NhZ2U6ICdQcm92aWRlcnMgb2YgbW9kdWxlIGFyZSBub3Qgc3RhdGljYWxseSBhbmFseXphYmxlLid9XG4gICAgICBdO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl92aXNpdFByb3ZpZGVyUmVzb2x2ZWRWYWx1ZShyZXNvbHZlZFZhbHVlLCBtb2R1bGUpO1xuICB9XG5cblxuICAvKipcbiAgICogTWlncmF0ZXMgYSBnaXZlbiBkaXJlY3RpdmUgYnkgd2Fsa2luZyB0aHJvdWdoIGRlZmluZWQgcHJvdmlkZXJzLiBUaGlzIG1ldGhvZFxuICAgKiBhbHNvIGhhbmRsZXMgY29tcG9uZW50cyB3aXRoIFwidmlld1Byb3ZpZGVyc1wiIGRlZmluZWQuXG4gICAqL1xuICBtaWdyYXRlRGlyZWN0aXZlKGRpcmVjdGl2ZTogUmVzb2x2ZWREaXJlY3RpdmUpOiBBbmFseXNpc0ZhaWx1cmVbXSB7XG4gICAgY29uc3QgZmFpbHVyZXM6IEFuYWx5c2lzRmFpbHVyZVtdID0gW107XG5cbiAgICAvLyBNaWdyYXRlIFwicHJvdmlkZXJzXCIgb24gZGlyZWN0aXZlcyBhbmQgY29tcG9uZW50cyBpZiBkZWZpbmVkLlxuICAgIGlmIChkaXJlY3RpdmUucHJvdmlkZXJzRXhwcikge1xuICAgICAgY29uc3Qge3Jlc29sdmVkVmFsdWUsIGxpdGVyYWxzfSA9IHRoaXMucHJvdmlkZXJzRXZhbHVhdG9yLmV2YWx1YXRlKGRpcmVjdGl2ZS5wcm92aWRlcnNFeHByKTtcbiAgICAgIHRoaXMuX21pZ3JhdGVMaXRlcmFsUHJvdmlkZXJzKGxpdGVyYWxzKTtcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShyZXNvbHZlZFZhbHVlKSkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIHtub2RlOiBkaXJlY3RpdmUucHJvdmlkZXJzRXhwciwgbWVzc2FnZTogYFByb3ZpZGVycyBhcmUgbm90IHN0YXRpY2FsbHkgYW5hbHl6YWJsZS5gfVxuICAgICAgICBdO1xuICAgICAgfVxuICAgICAgZmFpbHVyZXMucHVzaCguLi50aGlzLl92aXNpdFByb3ZpZGVyUmVzb2x2ZWRWYWx1ZShyZXNvbHZlZFZhbHVlLCBkaXJlY3RpdmUpKTtcbiAgICB9XG5cbiAgICAvLyBNaWdyYXRlIFwidmlld1Byb3ZpZGVyc1wiIG9uIGNvbXBvbmVudHMgaWYgZGVmaW5lZC5cbiAgICBpZiAoZGlyZWN0aXZlLnZpZXdQcm92aWRlcnNFeHByKSB7XG4gICAgICBjb25zdCB7cmVzb2x2ZWRWYWx1ZSwgbGl0ZXJhbHN9ID1cbiAgICAgICAgICB0aGlzLnByb3ZpZGVyc0V2YWx1YXRvci5ldmFsdWF0ZShkaXJlY3RpdmUudmlld1Byb3ZpZGVyc0V4cHIpO1xuICAgICAgdGhpcy5fbWlncmF0ZUxpdGVyYWxQcm92aWRlcnMobGl0ZXJhbHMpO1xuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHJlc29sdmVkVmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAge25vZGU6IGRpcmVjdGl2ZS52aWV3UHJvdmlkZXJzRXhwciwgbWVzc2FnZTogYFByb3ZpZGVycyBhcmUgbm90IHN0YXRpY2FsbHkgYW5hbHl6YWJsZS5gfVxuICAgICAgICBdO1xuICAgICAgfVxuICAgICAgZmFpbHVyZXMucHVzaCguLi50aGlzLl92aXNpdFByb3ZpZGVyUmVzb2x2ZWRWYWx1ZShyZXNvbHZlZFZhbHVlLCBkaXJlY3RpdmUpKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhaWx1cmVzO1xuICB9XG5cbiAgLyoqXG4gICAqIE1pZ3JhdGVzIGEgZ2l2ZW4gcHJvdmlkZXIgY2xhc3MgaWYgaXQgaXMgbm90IGRlY29yYXRlZCB3aXRoXG4gICAqIGFueSBBbmd1bGFyIGRlY29yYXRvci5cbiAgICovXG4gIG1pZ3JhdGVQcm92aWRlckNsYXNzKG5vZGU6IHRzLkNsYXNzRGVjbGFyYXRpb24sIGNvbnRleHQ6IFJlc29sdmVkTmdNb2R1bGV8UmVzb2x2ZWREaXJlY3RpdmUpIHtcbiAgICBpZiAodGhpcy52aXNpdGVkUHJvdmlkZXJDbGFzc2VzLmhhcyhub2RlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnZpc2l0ZWRQcm92aWRlckNsYXNzZXMuYWRkKG5vZGUpO1xuXG4gICAgY29uc3Qgc291cmNlRmlsZSA9IG5vZGUuZ2V0U291cmNlRmlsZSgpO1xuXG4gICAgLy8gV2UgY2Fubm90IG1pZ3JhdGUgcHJvdmlkZXIgY2xhc3NlcyBvdXRzaWRlIG9mIHNvdXJjZSBmaWxlcy4gVGhpcyBpcyBiZWNhdXNlIHRoZVxuICAgIC8vIG1pZ3JhdGlvbiBmb3IgdGhpcmQtcGFydHkgbGlicmFyeSBmaWxlcyBzaG91bGQgaGFwcGVuIGluIFwibmdjY1wiLCBhbmQgaW4gZ2VuZXJhbFxuICAgIC8vIHdvdWxkIGFsc28gaW52b2x2ZSBtZXRhZGF0YSBwYXJzaW5nLlxuICAgIGlmIChzb3VyY2VGaWxlLmlzRGVjbGFyYXRpb25GaWxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbmdEZWNvcmF0b3JzID1cbiAgICAgICAgbm9kZS5kZWNvcmF0b3JzID8gZ2V0QW5ndWxhckRlY29yYXRvcnModGhpcy50eXBlQ2hlY2tlciwgbm9kZS5kZWNvcmF0b3JzKSA6IG51bGw7XG5cbiAgICBpZiAobmdEZWNvcmF0b3JzICE9PSBudWxsICYmXG4gICAgICAgIG5nRGVjb3JhdG9ycy5zb21lKGQgPT4gTk9fTUlHUkFURV9ERUNPUkFUT1JTLmluZGV4T2YoZC5uYW1lKSAhPT0gLTEpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdXBkYXRlUmVjb3JkZXIgPSB0aGlzLmdldFVwZGF0ZVJlY29yZGVyKHNvdXJjZUZpbGUpO1xuICAgIGNvbnN0IGltcG9ydEV4cHIgPVxuICAgICAgICB0aGlzLmltcG9ydE1hbmFnZXIuYWRkSW1wb3J0VG9Tb3VyY2VGaWxlKHNvdXJjZUZpbGUsICdJbmplY3RhYmxlJywgJ0Bhbmd1bGFyL2NvcmUnKTtcbiAgICBjb25zdCBuZXdEZWNvcmF0b3JFeHByID0gdHMuY3JlYXRlRGVjb3JhdG9yKHRzLmNyZWF0ZUNhbGwoaW1wb3J0RXhwciwgdW5kZWZpbmVkLCB1bmRlZmluZWQpKTtcbiAgICBjb25zdCBuZXdEZWNvcmF0b3JUZXh0ID1cbiAgICAgICAgdGhpcy5wcmludGVyLnByaW50Tm9kZSh0cy5FbWl0SGludC5VbnNwZWNpZmllZCwgbmV3RGVjb3JhdG9yRXhwciwgc291cmNlRmlsZSk7XG5cblxuICAgIC8vIEluIGNhc2UgdGhlIGNsYXNzIGlzIGFscmVhZHkgZGVjb3JhdGVkIHdpdGggXCJASW5qZWN0KC4uKVwiLCB3ZSByZXBsYWNlIHRoZSBcIkBJbmplY3RcIlxuICAgIC8vIGRlY29yYXRvciB3aXRoIFwiQEluamVjdGFibGUoKVwiIHNpbmNlIHVzaW5nIFwiQEluamVjdCguLilcIiBvbiBhIGNsYXNzIGlzIGEgbm9vcCBhbmRcbiAgICAvLyBtb3N0IGxpa2VseSB3YXMgbWVhbnQgdG8gYmUgXCJASW5qZWN0YWJsZSgpXCIuXG4gICAgY29uc3QgZXhpc3RpbmdJbmplY3REZWNvcmF0b3IgPVxuICAgICAgICBuZ0RlY29yYXRvcnMgIT09IG51bGwgPyBuZ0RlY29yYXRvcnMuZmluZChkID0+IGQubmFtZSA9PT0gJ0luamVjdCcpIDogbnVsbDtcbiAgICBpZiAoZXhpc3RpbmdJbmplY3REZWNvcmF0b3IpIHtcbiAgICAgIHVwZGF0ZVJlY29yZGVyLnJlcGxhY2VEZWNvcmF0b3IoZXhpc3RpbmdJbmplY3REZWNvcmF0b3Iubm9kZSwgbmV3RGVjb3JhdG9yVGV4dCwgY29udGV4dC5uYW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdXBkYXRlUmVjb3JkZXIuYWRkQ2xhc3NEZWNvcmF0b3Iobm9kZSwgbmV3RGVjb3JhdG9yVGV4dCwgY29udGV4dC5uYW1lKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTWlncmF0ZXMgb2JqZWN0IGxpdGVyYWwgcHJvdmlkZXJzIHdoaWNoIGRvIG5vdCB1c2UgXCJ1c2VWYWx1ZVwiLCBcInVzZUNsYXNzXCIsXG4gICAqIFwidXNlRXhpc3RpbmdcIiBvciBcInVzZUZhY3RvcnlcIi4gVGhlc2UgcHJvdmlkZXJzIGJlaGF2ZSBkaWZmZXJlbnRseSBpbiBJdnkuIGUuZy5cbiAgICpcbiAgICogYGBgdHNcbiAgICogICB7cHJvdmlkZTogWH0gLT4ge3Byb3ZpZGU6IFgsIHVzZVZhbHVlOiB1bmRlZmluZWR9IC8vIHRoaXMgaXMgaG93IGl0IGJlaGF2ZXMgaW4gVkVcbiAgICogICB7cHJvdmlkZTogWH0gLT4ge3Byb3ZpZGU6IFgsIHVzZUNsYXNzOiBYfSAvLyB0aGlzIGlzIGhvdyBpdCBiZWhhdmVzIGluIEl2eVxuICAgKiBgYGBcbiAgICpcbiAgICogVG8gZW5zdXJlIGZvcndhcmQgY29tcGF0aWJpbGl0eSwgd2UgbWlncmF0ZSB0aGVzZSBlbXB0eSBvYmplY3QgbGl0ZXJhbCBwcm92aWRlcnNcbiAgICogdG8gZXhwbGljaXRseSB1c2UgYHVzZVZhbHVlOiB1bmRlZmluZWRgLlxuICAgKi9cbiAgcHJpdmF0ZSBfbWlncmF0ZUxpdGVyYWxQcm92aWRlcnMobGl0ZXJhbHM6IFByb3ZpZGVyTGl0ZXJhbFtdKSB7XG4gICAgZm9yIChsZXQge25vZGUsIHJlc29sdmVkVmFsdWV9IG9mIGxpdGVyYWxzKSB7XG4gICAgICBpZiAodGhpcy52aXNpdGVkUHJvdmlkZXJMaXRlcmFscy5oYXMobm9kZSkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICB0aGlzLnZpc2l0ZWRQcm92aWRlckxpdGVyYWxzLmFkZChub2RlKTtcblxuICAgICAgaWYgKCFyZXNvbHZlZFZhbHVlIHx8ICEocmVzb2x2ZWRWYWx1ZSBpbnN0YW5jZW9mIE1hcCkgfHwgIXJlc29sdmVkVmFsdWUuaGFzKCdwcm92aWRlJykgfHxcbiAgICAgICAgICByZXNvbHZlZFZhbHVlLmhhcygndXNlQ2xhc3MnKSB8fCByZXNvbHZlZFZhbHVlLmhhcygndXNlVmFsdWUnKSB8fFxuICAgICAgICAgIHJlc29sdmVkVmFsdWUuaGFzKCd1c2VFeGlzdGluZycpIHx8IHJlc29sdmVkVmFsdWUuaGFzKCd1c2VGYWN0b3J5JykpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNvdXJjZUZpbGUgPSBub2RlLmdldFNvdXJjZUZpbGUoKTtcbiAgICAgIGNvbnN0IG5ld09iamVjdExpdGVyYWwgPSB0cy51cGRhdGVPYmplY3RMaXRlcmFsKFxuICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgbm9kZS5wcm9wZXJ0aWVzLmNvbmNhdChcbiAgICAgICAgICAgICAgdHMuY3JlYXRlUHJvcGVydHlBc3NpZ25tZW50KCd1c2VWYWx1ZScsIHRzLmNyZWF0ZUlkZW50aWZpZXIoJ3VuZGVmaW5lZCcpKSkpO1xuXG4gICAgICB0aGlzLmdldFVwZGF0ZVJlY29yZGVyKHNvdXJjZUZpbGUpXG4gICAgICAgICAgLnVwZGF0ZU9iamVjdExpdGVyYWwoXG4gICAgICAgICAgICAgIG5vZGUsIHRoaXMucHJpbnRlci5wcmludE5vZGUodHMuRW1pdEhpbnQuVW5zcGVjaWZpZWQsIG5ld09iamVjdExpdGVyYWwsIHNvdXJjZUZpbGUpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVmlzaXRzIHRoZSBnaXZlbiByZXNvbHZlZCB2YWx1ZSBvZiBhIHByb3ZpZGVyLiBQcm92aWRlcnMgY2FuIGJlIG5lc3RlZCBpblxuICAgKiBhcnJheXMgYW5kIHdlIG5lZWQgdG8gcmVjdXJzaXZlbHkgd2FsayB0aHJvdWdoIHRoZSBwcm92aWRlcnMgdG8gYmUgYWJsZSB0b1xuICAgKiBtaWdyYXRlIGFsbCByZWZlcmVuY2VkIHByb3ZpZGVyIGNsYXNzZXMuIGUuZy4gXCJwcm92aWRlcnM6IFtbQSwgW0JdXV1cIi5cbiAgICovXG4gIHByaXZhdGUgX3Zpc2l0UHJvdmlkZXJSZXNvbHZlZFZhbHVlKHZhbHVlOiBSZXNvbHZlZFZhbHVlLCBtb2R1bGU6IFJlc29sdmVkTmdNb2R1bGUpOlxuICAgICAgQW5hbHlzaXNGYWlsdXJlW10ge1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIHRoaXMuY29tcGlsZXJDbGlNaWdyYXRpb25zTW9kdWxlLlJlZmVyZW5jZSAmJlxuICAgICAgICB0cy5pc0NsYXNzRGVjbGFyYXRpb24odmFsdWUubm9kZSkpIHtcbiAgICAgIHRoaXMubWlncmF0ZVByb3ZpZGVyQ2xhc3ModmFsdWUubm9kZSwgbW9kdWxlKTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgTWFwKSB7XG4gICAgICAvLyBJZiBhIFwiQ2xhc3NQcm92aWRlclwiIGhhcyB0aGUgXCJkZXBzXCIgcHJvcGVydHkgc2V0LCB0aGVuIHdlIGRvIG5vdCBuZWVkIHRvXG4gICAgICAvLyBkZWNvcmF0ZSB0aGUgY2xhc3MuIFRoaXMgaXMgYmVjYXVzZSB0aGUgY2xhc3MgaXMgaW5zdGFudGlhdGVkIHRocm91Z2ggdGhlXG4gICAgICAvLyBzcGVjaWZpZWQgXCJkZXBzXCIgYW5kIHRoZSBjbGFzcyBkb2VzIG5vdCBuZWVkIGEgZmFjdG9yeSBkZWZpbml0aW9uLlxuICAgICAgaWYgKHZhbHVlLmhhcygncHJvdmlkZScpICYmIHZhbHVlLmhhcygndXNlQ2xhc3MnKSAmJiB2YWx1ZS5nZXQoJ2RlcHMnKSA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92aXNpdFByb3ZpZGVyUmVzb2x2ZWRWYWx1ZSh2YWx1ZS5nZXQoJ3VzZUNsYXNzJykhLCBtb2R1bGUpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiB2YWx1ZS5yZWR1Y2UoXG4gICAgICAgICAgKHJlcywgdikgPT4gcmVzLmNvbmNhdCh0aGlzLl92aXNpdFByb3ZpZGVyUmVzb2x2ZWRWYWx1ZSh2LCBtb2R1bGUpKSxcbiAgICAgICAgICBbXSBhcyBBbmFseXNpc0ZhaWx1cmVbXSk7XG4gICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIHRoaXMuY29tcGlsZXJDbGlNaWdyYXRpb25zTW9kdWxlLkR5bmFtaWNWYWx1ZSkge1xuICAgICAgcmV0dXJuIFt7bm9kZTogdmFsdWUubm9kZSwgbWVzc2FnZTogYFByb3ZpZGVyIGlzIG5vdCBzdGF0aWNhbGx5IGFuYWx5emFibGUuYH1dO1xuICAgIH1cbiAgICByZXR1cm4gW107XG4gIH1cbn1cbiJdfQ==
@@ -1,21 +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/missing-injectable/update_recorder" />
9
- import ts from 'typescript';
10
- import { ImportManagerUpdateRecorder } from '../../utils/import_manager';
11
- /**
12
- * Update recorder interface that is used to transform source files in a non-colliding
13
- * way. Also this indirection makes it possible to re-use logic for both TSLint rules
14
- * and CLI devkit schematic updates.
15
- */
16
- export interface UpdateRecorder extends ImportManagerUpdateRecorder {
17
- addClassDecorator(node: ts.ClassDeclaration, text: string, className: string): void;
18
- replaceDecorator(node: ts.Decorator, newText: string, className: string): void;
19
- updateObjectLiteral(node: ts.ObjectLiteralExpression, newText: string): void;
20
- commitUpdate(): void;
21
- }
@@ -1,20 +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
- (function (factory) {
9
- if (typeof module === "object" && typeof module.exports === "object") {
10
- var v = factory(require, exports);
11
- if (v !== undefined) module.exports = v;
12
- }
13
- else if (typeof define === "function" && define.amd) {
14
- define("@angular/core/schematics/migrations/missing-injectable/update_recorder", ["require", "exports"], factory);
15
- }
16
- })(function (require, exports) {
17
- "use strict";
18
- Object.defineProperty(exports, "__esModule", { value: true });
19
- });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlX3JlY29yZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zY2hlbWF0aWNzL21pZ3JhdGlvbnMvbWlzc2luZy1pbmplY3RhYmxlL3VwZGF0ZV9yZWNvcmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuaW1wb3J0IHtJbXBvcnRNYW5hZ2VyVXBkYXRlUmVjb3JkZXJ9IGZyb20gJy4uLy4uL3V0aWxzL2ltcG9ydF9tYW5hZ2VyJztcblxuLyoqXG4gKiBVcGRhdGUgcmVjb3JkZXIgaW50ZXJmYWNlIHRoYXQgaXMgdXNlZCB0byB0cmFuc2Zvcm0gc291cmNlIGZpbGVzIGluIGEgbm9uLWNvbGxpZGluZ1xuICogd2F5LiBBbHNvIHRoaXMgaW5kaXJlY3Rpb24gbWFrZXMgaXQgcG9zc2libGUgdG8gcmUtdXNlIGxvZ2ljIGZvciBib3RoIFRTTGludCBydWxlc1xuICogYW5kIENMSSBkZXZraXQgc2NoZW1hdGljIHVwZGF0ZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlUmVjb3JkZXIgZXh0ZW5kcyBJbXBvcnRNYW5hZ2VyVXBkYXRlUmVjb3JkZXIge1xuICBhZGRDbGFzc0RlY29yYXRvcihub2RlOiB0cy5DbGFzc0RlY2xhcmF0aW9uLCB0ZXh0OiBzdHJpbmcsIGNsYXNzTmFtZTogc3RyaW5nKTogdm9pZDtcbiAgcmVwbGFjZURlY29yYXRvcihub2RlOiB0cy5EZWNvcmF0b3IsIG5ld1RleHQ6IHN0cmluZywgY2xhc3NOYW1lOiBzdHJpbmcpOiB2b2lkO1xuICB1cGRhdGVPYmplY3RMaXRlcmFsKG5vZGU6IHRzLk9iamVjdExpdGVyYWxFeHByZXNzaW9uLCBuZXdUZXh0OiBzdHJpbmcpOiB2b2lkO1xuICBjb21taXRVcGRhdGUoKTogdm9pZDtcbn1cbiJdfQ==
@@ -1,34 +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/collector" />
9
- import ts from 'typescript';
10
- import { NgDecorator } from '../../utils/ng_decorators';
11
- export interface ResolvedNgModule {
12
- name: string;
13
- node: ts.ClassDeclaration;
14
- decorator: NgDecorator;
15
- /**
16
- * List of found static method declarations on the module which do not
17
- * declare an explicit return type.
18
- */
19
- staticMethodsWithoutType: ts.MethodDeclaration[];
20
- }
21
- /**
22
- * Visitor that walks through specified TypeScript nodes and collects all
23
- * found NgModule static methods without types and all ModuleWithProviders
24
- * usages without generic types attached.
25
- */
26
- export declare class Collector {
27
- typeChecker: ts.TypeChecker;
28
- resolvedModules: ResolvedNgModule[];
29
- resolvedNonGenerics: ts.TypeReferenceNode[];
30
- constructor(typeChecker: ts.TypeChecker);
31
- visitNode(node: ts.Node): void;
32
- private visitClassDeclaration;
33
- private _visitNgModuleClass;
34
- }
@@ -1,76 +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/collector", ["require", "exports", "typescript", "@angular/core/schematics/utils/ng_decorators", "@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.Collector = void 0;
23
- const typescript_1 = __importDefault(require("typescript"));
24
- const ng_decorators_1 = require("@angular/core/schematics/utils/ng_decorators");
25
- const util_1 = require("@angular/core/schematics/migrations/module-with-providers/util");
26
- /**
27
- * Visitor that walks through specified TypeScript nodes and collects all
28
- * found NgModule static methods without types and all ModuleWithProviders
29
- * usages without generic types attached.
30
- */
31
- class Collector {
32
- constructor(typeChecker) {
33
- this.typeChecker = typeChecker;
34
- this.resolvedModules = [];
35
- this.resolvedNonGenerics = [];
36
- }
37
- visitNode(node) {
38
- if (typescript_1.default.isClassDeclaration(node)) {
39
- this.visitClassDeclaration(node);
40
- }
41
- else if ((0, util_1.isModuleWithProvidersNotGeneric)(this.typeChecker, node)) {
42
- this.resolvedNonGenerics.push(node);
43
- }
44
- typescript_1.default.forEachChild(node, n => this.visitNode(n));
45
- }
46
- visitClassDeclaration(node) {
47
- if (!node.decorators || !node.decorators.length) {
48
- return;
49
- }
50
- const ngDecorators = (0, ng_decorators_1.getAngularDecorators)(this.typeChecker, node.decorators);
51
- const ngModuleDecorator = ngDecorators.find(({ name }) => name === 'NgModule');
52
- if (ngModuleDecorator) {
53
- this._visitNgModuleClass(node, ngModuleDecorator);
54
- }
55
- }
56
- _visitNgModuleClass(node, decorator) {
57
- const decoratorCall = decorator.node.expression;
58
- const metadata = decoratorCall.arguments[0];
59
- if (!metadata || !typescript_1.default.isObjectLiteralExpression(metadata)) {
60
- return;
61
- }
62
- this.resolvedModules.push({
63
- name: node.name ? node.name.text : 'default',
64
- node,
65
- decorator,
66
- staticMethodsWithoutType: node.members.filter(isStaticMethodNoType),
67
- });
68
- }
69
- }
70
- exports.Collector = Collector;
71
- function isStaticMethodNoType(node) {
72
- return typescript_1.default.isMethodDeclaration(node) && !!node.modifiers &&
73
- node.modifiers.findIndex(m => m.kind === typescript_1.default.SyntaxKind.StaticKeyword) > -1 && !node.type;
74
- }
75
- });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zY2hlbWF0aWNzL21pZ3JhdGlvbnMvbW9kdWxlLXdpdGgtcHJvdmlkZXJzL2NvbGxlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFSCw0REFBNEI7SUFFNUIsZ0ZBQTRFO0lBRTVFLHlGQUF1RDtJQWF2RDs7OztPQUlHO0lBQ0gsTUFBYSxTQUFTO1FBSXBCLFlBQW1CLFdBQTJCO1lBQTNCLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtZQUg5QyxvQkFBZSxHQUF1QixFQUFFLENBQUM7WUFDekMsd0JBQW1CLEdBQTJCLEVBQUUsQ0FBQztRQUVBLENBQUM7UUFFbEQsU0FBUyxDQUFDLElBQWE7WUFDckIsSUFBSSxvQkFBRSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUMvQixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDbEM7aUJBQU0sSUFBSSxJQUFBLHNDQUErQixFQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEVBQUU7Z0JBQ2xFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDckM7WUFFRCxvQkFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUVPLHFCQUFxQixDQUFDLElBQXlCO1lBQ3JELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUU7Z0JBQy9DLE9BQU87YUFDUjtZQUVELE1BQU0sWUFBWSxHQUFHLElBQUEsb0NBQW9CLEVBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDN0UsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxJQUFJLEVBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxDQUFDO1lBRTdFLElBQUksaUJBQWlCLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLENBQUMsQ0FBQzthQUNuRDtRQUNILENBQUM7UUFFTyxtQkFBbUIsQ0FBQyxJQUF5QixFQUFFLFNBQXNCO1lBQzNFLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ2hELE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFNUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLG9CQUFFLENBQUMseUJBQXlCLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ3hELE9BQU87YUFDUjtZQUVELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO2dCQUN4QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVM7Z0JBQzVDLElBQUk7Z0JBQ0osU0FBUztnQkFDVCx3QkFBd0IsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQzthQUNwRSxDQUFDLENBQUM7UUFDTCxDQUFDO0tBQ0Y7SUE1Q0QsOEJBNENDO0lBRUQsU0FBUyxvQkFBb0IsQ0FBQyxJQUFxQjtRQUNqRCxPQUFPLG9CQUFFLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQ25ELElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxvQkFBRSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDL0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7Z2V0QW5ndWxhckRlY29yYXRvcnMsIE5nRGVjb3JhdG9yfSBmcm9tICcuLi8uLi91dGlscy9uZ19kZWNvcmF0b3JzJztcblxuaW1wb3J0IHtpc01vZHVsZVdpdGhQcm92aWRlcnNOb3RHZW5lcmljfSBmcm9tICcuL3V0aWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlc29sdmVkTmdNb2R1bGUge1xuICBuYW1lOiBzdHJpbmc7XG4gIG5vZGU6IHRzLkNsYXNzRGVjbGFyYXRpb247XG4gIGRlY29yYXRvcjogTmdEZWNvcmF0b3I7XG4gIC8qKlxuICAgKiBMaXN0IG9mIGZvdW5kIHN0YXRpYyBtZXRob2QgZGVjbGFyYXRpb25zIG9uIHRoZSBtb2R1bGUgd2hpY2ggZG8gbm90XG4gICAqIGRlY2xhcmUgYW4gZXhwbGljaXQgcmV0dXJuIHR5cGUuXG4gICAqL1xuICBzdGF0aWNNZXRob2RzV2l0aG91dFR5cGU6IHRzLk1ldGhvZERlY2xhcmF0aW9uW107XG59XG5cbi8qKlxuICogVmlzaXRvciB0aGF0IHdhbGtzIHRocm91Z2ggc3BlY2lmaWVkIFR5cGVTY3JpcHQgbm9kZXMgYW5kIGNvbGxlY3RzIGFsbFxuICogZm91bmQgTmdNb2R1bGUgc3RhdGljIG1ldGhvZHMgd2l0aG91dCB0eXBlcyBhbmQgYWxsIE1vZHVsZVdpdGhQcm92aWRlcnNcbiAqIHVzYWdlcyB3aXRob3V0IGdlbmVyaWMgdHlwZXMgYXR0YWNoZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb2xsZWN0b3Ige1xuICByZXNvbHZlZE1vZHVsZXM6IFJlc29sdmVkTmdNb2R1bGVbXSA9IFtdO1xuICByZXNvbHZlZE5vbkdlbmVyaWNzOiB0cy5UeXBlUmVmZXJlbmNlTm9kZVtdID0gW107XG5cbiAgY29uc3RydWN0b3IocHVibGljIHR5cGVDaGVja2VyOiB0cy5UeXBlQ2hlY2tlcikge31cblxuICB2aXNpdE5vZGUobm9kZTogdHMuTm9kZSkge1xuICAgIGlmICh0cy5pc0NsYXNzRGVjbGFyYXRpb24obm9kZSkpIHtcbiAgICAgIHRoaXMudmlzaXRDbGFzc0RlY2xhcmF0aW9uKG5vZGUpO1xuICAgIH0gZWxzZSBpZiAoaXNNb2R1bGVXaXRoUHJvdmlkZXJzTm90R2VuZXJpYyh0aGlzLnR5cGVDaGVja2VyLCBub2RlKSkge1xuICAgICAgdGhpcy5yZXNvbHZlZE5vbkdlbmVyaWNzLnB1c2gobm9kZSk7XG4gICAgfVxuXG4gICAgdHMuZm9yRWFjaENoaWxkKG5vZGUsIG4gPT4gdGhpcy52aXNpdE5vZGUobikpO1xuICB9XG5cbiAgcHJpdmF0ZSB2aXNpdENsYXNzRGVjbGFyYXRpb24obm9kZTogdHMuQ2xhc3NEZWNsYXJhdGlvbikge1xuICAgIGlmICghbm9kZS5kZWNvcmF0b3JzIHx8ICFub2RlLmRlY29yYXRvcnMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbmdEZWNvcmF0b3JzID0gZ2V0QW5ndWxhckRlY29yYXRvcnModGhpcy50eXBlQ2hlY2tlciwgbm9kZS5kZWNvcmF0b3JzKTtcbiAgICBjb25zdCBuZ01vZHVsZURlY29yYXRvciA9IG5nRGVjb3JhdG9ycy5maW5kKCh7bmFtZX0pID0+IG5hbWUgPT09ICdOZ01vZHVsZScpO1xuXG4gICAgaWYgKG5nTW9kdWxlRGVjb3JhdG9yKSB7XG4gICAgICB0aGlzLl92aXNpdE5nTW9kdWxlQ2xhc3Mobm9kZSwgbmdNb2R1bGVEZWNvcmF0b3IpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3Zpc2l0TmdNb2R1bGVDbGFzcyhub2RlOiB0cy5DbGFzc0RlY2xhcmF0aW9uLCBkZWNvcmF0b3I6IE5nRGVjb3JhdG9yKSB7XG4gICAgY29uc3QgZGVjb3JhdG9yQ2FsbCA9IGRlY29yYXRvci5ub2RlLmV4cHJlc3Npb247XG4gICAgY29uc3QgbWV0YWRhdGEgPSBkZWNvcmF0b3JDYWxsLmFyZ3VtZW50c1swXTtcblxuICAgIGlmICghbWV0YWRhdGEgfHwgIXRzLmlzT2JqZWN0TGl0ZXJhbEV4cHJlc3Npb24obWV0YWRhdGEpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5yZXNvbHZlZE1vZHVsZXMucHVzaCh7XG4gICAgICBuYW1lOiBub2RlLm5hbWUgPyBub2RlLm5hbWUudGV4dCA6ICdkZWZhdWx0JyxcbiAgICAgIG5vZGUsXG4gICAgICBkZWNvcmF0b3IsXG4gICAgICBzdGF0aWNNZXRob2RzV2l0aG91dFR5cGU6IG5vZGUubWVtYmVycy5maWx0ZXIoaXNTdGF0aWNNZXRob2ROb1R5cGUpLFxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGlzU3RhdGljTWV0aG9kTm9UeXBlKG5vZGU6IHRzLkNsYXNzRWxlbWVudCk6IG5vZGUgaXMgdHMuTWV0aG9kRGVjbGFyYXRpb24ge1xuICByZXR1cm4gdHMuaXNNZXRob2REZWNsYXJhdGlvbihub2RlKSAmJiAhIW5vZGUubW9kaWZpZXJzICYmXG4gICAgICBub2RlLm1vZGlmaWVycy5maW5kSW5kZXgobSA9PiBtLmtpbmQgPT09IHRzLlN5bnRheEtpbmQuU3RhdGljS2V5d29yZCkgPiAtMSAmJiAhbm9kZS50eXBlO1xufVxuIl19
@@ -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" />
9
- import { Rule } from '@angular-devkit/schematics';
10
- /**
11
- * Runs the ModuleWithProviders migration for all TypeScript projects in the current CLI workspace.
12
- */
13
- export default function (): Rule;
@@ -1,107 +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/module-with-providers", ["require", "exports", "@angular-devkit/schematics", "path", "typescript", "@angular/core/schematics/utils/load_esm", "@angular/core/schematics/utils/project_tsconfig_paths", "@angular/core/schematics/utils/typescript/compiler_host", "@angular/core/schematics/migrations/module-with-providers/collector", "@angular/core/schematics/migrations/module-with-providers/transform"], 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 load_esm_1 = require("@angular/core/schematics/utils/load_esm");
35
- const project_tsconfig_paths_1 = require("@angular/core/schematics/utils/project_tsconfig_paths");
36
- const compiler_host_1 = require("@angular/core/schematics/utils/typescript/compiler_host");
37
- const collector_1 = require("@angular/core/schematics/migrations/module-with-providers/collector");
38
- const transform_1 = require("@angular/core/schematics/migrations/module-with-providers/transform");
39
- /**
40
- * Runs the ModuleWithProviders migration for all TypeScript projects in the current CLI workspace.
41
- */
42
- function default_1() {
43
- return (tree, ctx) => __awaiter(this, void 0, void 0, function* () {
44
- const { buildPaths, testPaths } = yield (0, project_tsconfig_paths_1.getProjectTsConfigPaths)(tree);
45
- const basePath = process.cwd();
46
- const allPaths = [...buildPaths, ...testPaths];
47
- const failures = [];
48
- if (!allPaths.length) {
49
- throw new schematics_1.SchematicsException('Could not find any tsconfig file. Cannot migrate ModuleWithProviders.');
50
- }
51
- let compilerCliMigrationsModule;
52
- try {
53
- // Load ESM `@angular/compiler/private/migrations` using the TypeScript dynamic import
54
- // workaround. Once TypeScript provides support for keeping the dynamic import this workaround
55
- // can be changed to a direct dynamic import.
56
- compilerCliMigrationsModule = yield (0, load_esm_1.loadCompilerCliMigrationsModule)();
57
- }
58
- catch (e) {
59
- throw new schematics_1.SchematicsException(`Unable to load the '@angular/compiler-cli' package. Details: ${e.message}`);
60
- }
61
- for (const tsconfigPath of allPaths) {
62
- failures.push(...runModuleWithProvidersMigration(tree, tsconfigPath, basePath, compilerCliMigrationsModule));
63
- }
64
- if (failures.length) {
65
- ctx.logger.info('Could not migrate all instances of ModuleWithProviders');
66
- ctx.logger.info('Please manually fix the following failures:');
67
- failures.forEach(message => ctx.logger.warn(`⮑ ${message}`));
68
- }
69
- });
70
- }
71
- exports.default = default_1;
72
- function runModuleWithProvidersMigration(tree, tsconfigPath, basePath, compilerCliMigrationsModule) {
73
- const { program } = (0, compiler_host_1.createMigrationProgram)(tree, tsconfigPath, basePath);
74
- const failures = [];
75
- const typeChecker = program.getTypeChecker();
76
- const collector = new collector_1.Collector(typeChecker);
77
- const sourceFiles = program.getSourceFiles().filter(sourceFile => (0, compiler_host_1.canMigrateFile)(basePath, sourceFile, program));
78
- // Analyze source files by detecting all modules.
79
- sourceFiles.forEach(sourceFile => collector.visitNode(sourceFile));
80
- const { resolvedModules, resolvedNonGenerics } = collector;
81
- const transformer = new transform_1.ModuleWithProvidersTransform(typeChecker, getUpdateRecorder, compilerCliMigrationsModule);
82
- const updateRecorders = new Map();
83
- [...resolvedModules.reduce((failures, m) => failures.concat(transformer.migrateModule(m)), []),
84
- ...resolvedNonGenerics.reduce((failures, t) => failures.concat(transformer.migrateType(t)), [])]
85
- .forEach(({ message, node }) => {
86
- const nodeSourceFile = node.getSourceFile();
87
- const relativeFilePath = (0, path_1.relative)(basePath, nodeSourceFile.fileName);
88
- const { line, character } = typescript_1.default.getLineAndCharacterOfPosition(node.getSourceFile(), node.getStart());
89
- failures.push(`${relativeFilePath}@${line + 1}:${character + 1}: ${message}`);
90
- });
91
- // Walk through each update recorder and commit the update. We need to commit the
92
- // updates in batches per source file as there can be only one recorder per source
93
- // file in order to avoid shift character offsets.
94
- updateRecorders.forEach(recorder => tree.commitUpdate(recorder));
95
- return failures;
96
- /** Gets the update recorder for the specified source file. */
97
- function getUpdateRecorder(sourceFile) {
98
- if (updateRecorders.has(sourceFile)) {
99
- return updateRecorders.get(sourceFile);
100
- }
101
- const recorder = tree.beginUpdate((0, path_1.relative)(basePath, sourceFile.fileName));
102
- updateRecorders.set(sourceFile, recorder);
103
- return recorder;
104
- }
105
- }
106
- });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NjaGVtYXRpY3MvbWlncmF0aW9ucy9tb2R1bGUtd2l0aC1wcm92aWRlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFSCwyREFBNkc7SUFDN0csK0JBQThCO0lBQzlCLDREQUE0QjtJQUU1QixzRUFBb0Y7SUFDcEYsa0dBQTJFO0lBQzNFLDJGQUE0RjtJQUU1RixtR0FBc0M7SUFDdEMsbUdBQTBFO0lBRzFFOztPQUVHO0lBQ0g7UUFDRSxPQUFPLENBQU8sSUFBVSxFQUFFLEdBQXFCLEVBQUUsRUFBRTtZQUNqRCxNQUFNLEVBQUMsVUFBVSxFQUFFLFNBQVMsRUFBQyxHQUFHLE1BQU0sSUFBQSxnREFBdUIsRUFBQyxJQUFJLENBQUMsQ0FBQztZQUNwRSxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDL0IsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLFVBQVUsRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUFDO1lBQy9DLE1BQU0sUUFBUSxHQUFhLEVBQUUsQ0FBQztZQUU5QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtnQkFDcEIsTUFBTSxJQUFJLGdDQUFtQixDQUN6Qix1RUFBdUUsQ0FBQyxDQUFDO2FBQzlFO1lBRUQsSUFBSSwyQkFBMkIsQ0FBQztZQUNoQyxJQUFJO2dCQUNGLHNGQUFzRjtnQkFDdEYsOEZBQThGO2dCQUM5Riw2Q0FBNkM7Z0JBQzdDLDJCQUEyQixHQUFHLE1BQU0sSUFBQSwwQ0FBK0IsR0FBRSxDQUFDO2FBQ3ZFO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1YsTUFBTSxJQUFJLGdDQUFtQixDQUN6QixnRUFBZ0UsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7YUFDbEY7WUFF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QUFDLENBQUMsQ0FBQztRQUVQLGlGQUFpRjtRQUNqRixrRkFBa0Y7UUFDbEYsa0RBQWtEO1FBQ2xELGVBQWUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFakUsT0FBTyxRQUFRLENBQUM7UUFFaEIsOERBQThEO1FBQzlELFNBQVMsaUJBQWlCLENBQUMsVUFBeUI7WUFDbEQsSUFBSSxlQUFlLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNuQyxPQUFPLGVBQWUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFFLENBQUM7YUFDekM7WUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUEsZUFBUSxFQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUMzRSxlQUFlLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUMxQyxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO0lBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge1J1bGUsIFNjaGVtYXRpY0NvbnRleHQsIFNjaGVtYXRpY3NFeGNlcHRpb24sIFRyZWUsIFVwZGF0ZVJlY29yZGVyfSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQge3JlbGF0aXZlfSBmcm9tICdwYXRoJztcbmltcG9ydCB0cyBmcm9tICd0eXBlc2NyaXB0JztcblxuaW1wb3J0IHtsb2FkQ29tcGlsZXJDbGlNaWdyYXRpb25zTW9kdWxlLCBsb2FkRXNtTW9kdWxlfSBmcm9tICcuLi8uLi91dGlscy9sb2FkX2VzbSc7XG5pbXBvcnQge2dldFByb2plY3RUc0NvbmZpZ1BhdGhzfSBmcm9tICcuLi8uLi91dGlscy9wcm9qZWN0X3RzY29uZmlnX3BhdGhzJztcbmltcG9ydCB7Y2FuTWlncmF0ZUZpbGUsIGNyZWF0ZU1pZ3JhdGlvblByb2dyYW19IGZyb20gJy4uLy4uL3V0aWxzL3R5cGVzY3JpcHQvY29tcGlsZXJfaG9zdCc7XG5cbmltcG9ydCB7Q29sbGVjdG9yfSBmcm9tICcuL2NvbGxlY3Rvcic7XG5pbXBvcnQge0FuYWx5c2lzRmFpbHVyZSwgTW9kdWxlV2l0aFByb3ZpZGVyc1RyYW5zZm9ybX0gZnJvbSAnLi90cmFuc2Zvcm0nO1xuXG5cbi8qKlxuICogUnVucyB0aGUgTW9kdWxlV2l0aFByb3ZpZGVycyBtaWdyYXRpb24gZm9yIGFsbCBUeXBlU2NyaXB0IHByb2plY3RzIGluIHRoZSBjdXJyZW50IENMSSB3b3Jrc3BhY2UuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKCk6IFJ1bGUge1xuICByZXR1cm4gYXN5bmMgKHRyZWU6IFRyZWUsIGN0eDogU2NoZW1hdGljQ29udGV4dCkgPT4ge1xuICAgIGNvbnN0IHtidWlsZFBhdGhzLCB0ZXN0UGF0aHN9ID0gYXdhaXQgZ2V0UHJvamVjdFRzQ29uZmlnUGF0aHModHJlZSk7XG4gICAgY29uc3QgYmFzZVBhdGggPSBwcm9jZXNzLmN3ZCgpO1xuICAgIGNvbnN0IGFsbFBhdGhzID0gWy4uLmJ1aWxkUGF0aHMsIC4uLnRlc3RQYXRoc107XG4gICAgY29uc3QgZmFpbHVyZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICBpZiAoIWFsbFBhdGhzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IFNjaGVtYXRpY3NFeGNlcHRpb24oXG4gICAgICAgICAgJ0NvdWxkIG5vdCBmaW5kIGFueSB0c2NvbmZpZyBmaWxlLiBDYW5ub3QgbWlncmF0ZSBNb2R1bGVXaXRoUHJvdmlkZXJzLicpO1xuICAgIH1cblxuICAgIGxldCBjb21waWxlckNsaU1pZ3JhdGlvbnNNb2R1bGU7XG4gICAgdHJ5IHtcbiAgICAgIC8vIExvYWQgRVNNIGBAYW5ndWxhci9jb21waWxlci9wcml2YXRlL21pZ3JhdGlvbnNgIHVzaW5nIHRoZSBUeXBlU2NyaXB0IGR5bmFtaWMgaW1wb3J0XG4gICAgICAvLyB3b3JrYXJvdW5kLiBPbmNlIFR5cGVTY3JpcHQgcHJvdmlkZXMgc3VwcG9ydCBmb3Iga2VlcGluZyB0aGUgZHluYW1pYyBpbXBvcnQgdGhpcyB3b3JrYXJvdW5kXG4gICAgICAvLyBjYW4gYmUgY2hhbmdlZCB0byBhIGRpcmVjdCBkeW5hbWljIGltcG9ydC5cbiAgICAgIGNvbXBpbGVyQ2xpTWlncmF0aW9uc01vZHVsZSA9IGF3YWl0IGxvYWRDb21waWxlckNsaU1pZ3JhdGlvbnNNb2R1bGUoKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgU2NoZW1hdGljc0V4Y2VwdGlvbihcbiAgICAgICAgICBgVW5hYmxlIHRvIGxvYWQgdGhlICdAYW5ndWxhci9jb21waWxlci1jbGknIHBhY2thZ2UuIERldGFpbHM6ICR7ZS5tZXNzYWdlfWApO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgdHNjb25maWdQYXRoIG9mIGFsbFBhdGhzKSB7XG4gICAgICBmYWlsdXJlcy5wdXNoKC4uLnJ1bk1vZHVsZVdpdGhQcm92aWRlcnNNaWdyYXRpb24oXG4gICAgICAgICAgdHJlZSwgdHNjb25maWdQYXRoLCBiYXNlUGF0aCwgY29tcGlsZXJDbGlNaWdyYXRpb25zTW9kdWxlKSk7XG4gICAgfVxuXG4gICAgaWYgKGZhaWx1cmVzLmxlbmd0aCkge1xuICAgICAgY3R4LmxvZ2dlci5pbmZvKCdDb3VsZCBub3QgbWlncmF0ZSBhbGwgaW5zdGFuY2VzIG9mIE1vZHVsZVdpdGhQcm92aWRlcnMnKTtcbiAgICAgIGN0eC5sb2dnZXIuaW5mbygnUGxlYXNlIG1hbnVhbGx5IGZpeCB0aGUgZm9sbG93aW5nIGZhaWx1cmVzOicpO1xuICAgICAgZmFpbHVyZXMuZm9yRWFjaChtZXNzYWdlID0+IGN0eC5sb2dnZXIud2Fybihg4q6RICAgJHttZXNzYWdlfWApKTtcbiAgICB9XG4gIH07XG59XG5cbmZ1bmN0aW9uIHJ1bk1vZHVsZVdpdGhQcm92aWRlcnNNaWdyYXRpb24oXG4gICAgdHJlZTogVHJlZSwgdHNjb25maWdQYXRoOiBzdHJpbmcsIGJhc2VQYXRoOiBzdHJpbmcsXG4gICAgY29tcGlsZXJDbGlNaWdyYXRpb25zTW9kdWxlOiB0eXBlb2YgaW1wb3J0KCdAYW5ndWxhci9jb21waWxlci1jbGkvcHJpdmF0ZS9taWdyYXRpb25zJykpIHtcbiAgY29uc3Qge3Byb2dyYW19ID0gY3JlYXRlTWlncmF0aW9uUHJvZ3JhbSh0cmVlLCB0c2NvbmZpZ1BhdGgsIGJhc2VQYXRoKTtcbiAgY29uc3QgZmFpbHVyZXM6IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IHR5cGVDaGVja2VyID0gcHJvZ3JhbS5nZXRUeXBlQ2hlY2tlcigpO1xuICBjb25zdCBjb2xsZWN0b3IgPSBuZXcgQ29sbGVjdG9yKHR5cGVDaGVja2VyKTtcbiAgY29uc3Qgc291cmNlRmlsZXMgPVxuICAgICAgcHJvZ3JhbS5nZXRTb3VyY2VGaWxlcygpLmZpbHRlcihzb3VyY2VGaWxlID0+IGNhbk1pZ3JhdGVGaWxlKGJhc2VQYXRoLCBzb3VyY2VGaWxlLCBwcm9ncmFtKSk7XG5cbiAgLy8gQW5hbHl6ZSBzb3VyY2UgZmlsZXMgYnkgZGV0ZWN0aW5nIGFsbCBtb2R1bGVzLlxuICBzb3VyY2VGaWxlcy5mb3JFYWNoKHNvdXJjZUZpbGUgPT4gY29sbGVjdG9yLnZpc2l0Tm9kZShzb3VyY2VGaWxlKSk7XG5cbiAgY29uc3Qge3Jlc29sdmVkTW9kdWxlcywgcmVzb2x2ZWROb25HZW5lcmljc30gPSBjb2xsZWN0b3I7XG4gIGNvbnN0IHRyYW5zZm9ybWVyID1cbiAgICAgIG5ldyBNb2R1bGVXaXRoUHJvdmlkZXJzVHJhbnNmb3JtKHR5cGVDaGVja2VyLCBnZXRVcGRhdGVSZWNvcmRlciwgY29tcGlsZXJDbGlNaWdyYXRpb25zTW9kdWxlKTtcbiAgY29uc3QgdXBkYXRlUmVjb3JkZXJzID0gbmV3IE1hcDx0cy5Tb3VyY2VGaWxlLCBVcGRhdGVSZWNvcmRlcj4oKTtcblxuICBbLi4ucmVzb2x2ZWRNb2R1bGVzLnJlZHVjZShcbiAgICAgICAoZmFpbHVyZXMsIG0pID0+IGZhaWx1cmVzLmNvbmNhdCh0cmFuc2Zvcm1lci5taWdyYXRlTW9kdWxlKG0pKSwgW10gYXMgQW5hbHlzaXNGYWlsdXJlW10pLFxuICAgLi4ucmVzb2x2ZWROb25HZW5lcmljcy5yZWR1Y2UoXG4gICAgICAgKGZhaWx1cmVzLCB0KSA9PiBmYWlsdXJlcy5jb25jYXQodHJhbnNmb3JtZXIubWlncmF0ZVR5cGUodCkpLCBbXSBhcyBBbmFseXNpc0ZhaWx1cmVbXSldXG4gICAgICAuZm9yRWFjaCgoe21lc3NhZ2UsIG5vZGV9KSA9PiB7XG4gICAgICAgIGNvbnN0IG5vZGVTb3VyY2VGaWxlID0gbm9kZS5nZXRTb3VyY2VGaWxlKCk7XG4gICAgICAgIGNvbnN0IHJlbGF0aXZlRmlsZVBhdGggPSByZWxhdGl2ZShiYXNlUGF0aCwgbm9kZVNvdXJjZUZpbGUuZmlsZU5hbWUpO1xuICAgICAgICBjb25zdCB7bGluZSwgY2hhcmFjdGVyfSA9XG4gICAgICAgICAgICB0cy5nZXRMaW5lQW5kQ2hhcmFjdGVyT2ZQb3NpdGlvbihub2RlLmdldFNvdXJjZUZpbGUoKSwgbm9kZS5nZXRTdGFydCgpKTtcbiAgICAgICAgZmFpbHVyZXMucHVzaChgJHtyZWxhdGl2ZUZpbGVQYXRofUAke2xpbmUgKyAxfToke2NoYXJhY3RlciArIDF9OiAke21lc3NhZ2V9YCk7XG4gICAgICB9KTtcblxuICAvLyBXYWxrIHRocm91Z2ggZWFjaCB1cGRhdGUgcmVjb3JkZXIgYW5kIGNvbW1pdCB0aGUgdXBkYXRlLiBXZSBuZWVkIHRvIGNvbW1pdCB0aGVcbiAgLy8gdXBkYXRlcyBpbiBiYXRjaGVzIHBlciBzb3VyY2UgZmlsZSBhcyB0aGVyZSBjYW4gYmUgb25seSBvbmUgcmVjb3JkZXIgcGVyIHNvdXJjZVxuICAvLyBmaWxlIGluIG9yZGVyIHRvIGF2b2lkIHNoaWZ0IGNoYXJhY3RlciBvZmZzZXRzLlxuICB1cGRhdGVSZWNvcmRlcnMuZm9yRWFjaChyZWNvcmRlciA9PiB0cmVlLmNvbW1pdFVwZGF0ZShyZWNvcmRlcikpO1xuXG4gIHJldHVybiBmYWlsdXJlcztcblxuICAvKiogR2V0cyB0aGUgdXBkYXRlIHJlY29yZGVyIGZvciB0aGUgc3BlY2lmaWVkIHNvdXJjZSBmaWxlLiAqL1xuICBmdW5jdGlvbiBnZXRVcGRhdGVSZWNvcmRlcihzb3VyY2VGaWxlOiB0cy5Tb3VyY2VGaWxlKTogVXBkYXRlUmVjb3JkZXIge1xuICAgIGlmICh1cGRhdGVSZWNvcmRlcnMuaGFzKHNvdXJjZUZpbGUpKSB7XG4gICAgICByZXR1cm4gdXBkYXRlUmVjb3JkZXJzLmdldChzb3VyY2VGaWxlKSE7XG4gICAgfVxuICAgIGNvbnN0IHJlY29yZGVyID0gdHJlZS5iZWdpblVwZGF0ZShyZWxhdGl2ZShiYXNlUGF0aCwgc291cmNlRmlsZS5maWxlTmFtZSkpO1xuICAgIHVwZGF0ZVJlY29yZGVycy5zZXQoc291cmNlRmlsZSwgcmVjb3JkZXIpO1xuICAgIHJldHVybiByZWNvcmRlcjtcbiAgfVxufVxuIl19
@@ -1,50 +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/transform" />
9
- import { UpdateRecorder } from '@angular-devkit/schematics';
10
- import type { ResolvedValueMap } from '@angular/compiler-cli/private/migrations';
11
- import ts from 'typescript';
12
- import { ResolvedNgModule } from './collector';
13
- export interface AnalysisFailure {
14
- node: ts.Node;
15
- message: string;
16
- }
17
- export declare class ModuleWithProvidersTransform {
18
- private typeChecker;
19
- private getUpdateRecorder;
20
- private compilerCliMigrationsModule;
21
- private printer;
22
- private partialEvaluator;
23
- constructor(typeChecker: ts.TypeChecker, getUpdateRecorder: (sf: ts.SourceFile) => UpdateRecorder, compilerCliMigrationsModule: typeof import('@angular/compiler-cli/private/migrations'));
24
- /** Migrates a given NgModule by walking through the referenced providers and static methods. */
25
- migrateModule(module: ResolvedNgModule): AnalysisFailure[];
26
- /** Migrates a ModuleWithProviders type definition that has no explicit generic type */
27
- migrateType(type: ts.TypeReferenceNode): AnalysisFailure[];
28
- /** Add a given generic to a type reference node */
29
- private _addGenericToTypeReference;
30
- /**
31
- * Migrates a given static method if its ModuleWithProviders does not provide
32
- * a generic type.
33
- */
34
- private _updateStaticMethodType;
35
- /** Whether the resolved value map represents a ModuleWithProviders object */
36
- isModuleWithProvidersType(value: ResolvedValueMap): boolean;
37
- /**
38
- * Determine the generic type of a suspected ModuleWithProviders return type and add it
39
- * explicitly
40
- */
41
- private _migrateStaticNgModuleMethod;
42
- /** Evaluate and return the ngModule type from an expression */
43
- private _getNgModuleTypeOfExpression;
44
- /**
45
- * Visits a given object literal expression to determine the ngModule type. If the expression
46
- * cannot be resolved, add a TODO to alert the user.
47
- */
48
- private _getTypeOfResolvedValue;
49
- private _updateNode;
50
- }