@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,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
- }