@angular/core 12.1.1 → 12.1.5

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 (159) hide show
  1. package/bundles/core-testing.umd.js +15 -4
  2. package/bundles/core-testing.umd.js.map +1 -1
  3. package/bundles/core.umd.js +91 -41
  4. package/bundles/core.umd.js.map +1 -1
  5. package/core.d.ts +12 -12
  6. package/core.metadata.json +1 -1
  7. package/esm2015/src/application_init.js +5 -5
  8. package/esm2015/src/application_ref.js +6 -2
  9. package/esm2015/src/change_detection/differs/iterable_differs.js +1 -1
  10. package/esm2015/src/compiler/compiler_facade.js +31 -8
  11. package/esm2015/src/compiler/compiler_facade_interface.js +1 -1
  12. package/esm2015/src/di/jit/injectable.js +4 -3
  13. package/esm2015/src/di/r3_injector.js +5 -2
  14. package/esm2015/src/error_handler.js +4 -8
  15. package/esm2015/src/errors.js +2 -2
  16. package/esm2015/src/event_emitter.js +1 -1
  17. package/esm2015/src/linker/component_factory_resolver.js +1 -1
  18. package/esm2015/src/linker/template_ref.js +1 -1
  19. package/esm2015/src/linker/view_container_ref.js +1 -1
  20. package/esm2015/src/metadata/di.js +1 -1
  21. package/esm2015/src/render3/component_ref.js +1 -1
  22. package/esm2015/src/render3/jit/directive.js +6 -5
  23. package/esm2015/src/render3/jit/module.js +7 -4
  24. package/esm2015/src/render3/jit/partial.js +27 -9
  25. package/esm2015/src/render3/jit/pipe.js +5 -3
  26. package/esm2015/src/render3/ng_module_ref.js +1 -1
  27. package/esm2015/src/render3/view_ref.js +1 -1
  28. package/esm2015/src/sanitization/bypass.js +1 -1
  29. package/esm2015/src/version.js +1 -1
  30. package/esm2015/src/view/entrypoint.js +1 -1
  31. package/esm2015/src/view/refs.js +1 -1
  32. package/esm2015/testing/src/ng_zone_mock.js +1 -1
  33. package/esm2015/testing/src/r3_test_bed_compiler.js +4 -1
  34. package/esm2015/testing/src/resolvers.js +1 -1
  35. package/esm2015/testing/src/test_bed.js +12 -4
  36. package/fesm2015/core.js +91 -41
  37. package/fesm2015/core.js.map +1 -1
  38. package/fesm2015/testing.js +15 -4
  39. package/fesm2015/testing.js.map +1 -1
  40. package/package.json +1 -1
  41. package/schematics/migrations/missing-injectable/providers_evaluator.js +1 -1
  42. package/schematics/migrations/static-queries/strategies/usage_strategy/template_usage_visitor.js +1 -1
  43. package/schematics/migrations/template-var-assignment/angular/html_variable_assignment_visitor.js +1 -1
  44. package/schematics/migrations.json +1 -1
  45. package/src/r3_symbols.d.ts +2 -3
  46. package/testing/testing.d.ts +2 -1
  47. package/testing/testing.metadata.json +1 -1
  48. package/testing.d.ts +1 -1
  49. package/schematics/migrations/abstract-control-parent/abstract-control-parent.externs.js +0 -0
  50. package/schematics/migrations/abstract-control-parent/index.mjs +0 -47
  51. package/schematics/migrations/abstract-control-parent/util.mjs +0 -50
  52. package/schematics/migrations/activated-route-snapshot-fragment/activated-route-snapshot-fragment.externs.js +0 -0
  53. package/schematics/migrations/activated-route-snapshot-fragment/index.mjs +0 -48
  54. package/schematics/migrations/activated-route-snapshot-fragment/util.mjs +0 -33
  55. package/schematics/migrations/can-activate-with-redirect-to/can-activate-with-redirect-to.externs.js +0 -0
  56. package/schematics/migrations/can-activate-with-redirect-to/index.mjs +0 -44
  57. package/schematics/migrations/can-activate-with-redirect-to/util.mjs +0 -55
  58. package/schematics/migrations/deep-shadow-piercing-selector/deep-shadow-piercing-selector.externs.js +0 -0
  59. package/schematics/migrations/deep-shadow-piercing-selector/index.mjs +0 -36
  60. package/schematics/migrations/dynamic-queries/dynamic-queries.externs.js +0 -0
  61. package/schematics/migrations/dynamic-queries/index.mjs +0 -51
  62. package/schematics/migrations/dynamic-queries/util.mjs +0 -65
  63. package/schematics/migrations/initial-navigation/collector.mjs +0 -105
  64. package/schematics/migrations/initial-navigation/index.mjs +0 -61
  65. package/schematics/migrations/initial-navigation/initial-navigation.externs.js +0 -0
  66. package/schematics/migrations/initial-navigation/transform.mjs +0 -54
  67. package/schematics/migrations/initial-navigation/update_recorder.mjs +0 -9
  68. package/schematics/migrations/initial-navigation/util.mjs +0 -28
  69. package/schematics/migrations/missing-injectable/definition_collector.mjs +0 -75
  70. package/schematics/migrations/missing-injectable/index.mjs +0 -100
  71. package/schematics/migrations/missing-injectable/missing-injectable.externs.js +0 -0
  72. package/schematics/migrations/missing-injectable/providers_evaluator.mjs +0 -50
  73. package/schematics/migrations/missing-injectable/transform.mjs +0 -187
  74. package/schematics/migrations/missing-injectable/update_recorder.mjs +0 -9
  75. package/schematics/migrations/module-with-providers/collector.mjs +0 -59
  76. package/schematics/migrations/module-with-providers/index.mjs +0 -71
  77. package/schematics/migrations/module-with-providers/module-with-providers.externs.js +0 -0
  78. package/schematics/migrations/module-with-providers/transform.mjs +0 -134
  79. package/schematics/migrations/module-with-providers/util.mjs +0 -25
  80. package/schematics/migrations/move-document/document_import_visitor.mjs +0 -60
  81. package/schematics/migrations/move-document/index.mjs +0 -71
  82. package/schematics/migrations/move-document/move-document.externs.js +0 -0
  83. package/schematics/migrations/move-document/move-import.mjs +0 -45
  84. package/schematics/migrations/native-view-encapsulation/index.mjs +0 -41
  85. package/schematics/migrations/native-view-encapsulation/native-view-encapsulation.externs.js +0 -0
  86. package/schematics/migrations/native-view-encapsulation/util.mjs +0 -34
  87. package/schematics/migrations/navigation-extras-omissions/index.mjs +0 -47
  88. package/schematics/migrations/navigation-extras-omissions/navigation-extras-omissions.externs.js +0 -0
  89. package/schematics/migrations/navigation-extras-omissions/util.mjs +0 -111
  90. package/schematics/migrations/relative-link-resolution/collector.mjs +0 -81
  91. package/schematics/migrations/relative-link-resolution/index.mjs +0 -62
  92. package/schematics/migrations/relative-link-resolution/relative-link-resolution.externs.js +0 -0
  93. package/schematics/migrations/relative-link-resolution/transform.mjs +0 -51
  94. package/schematics/migrations/relative-link-resolution/update_recorder.mjs +0 -9
  95. package/schematics/migrations/relative-link-resolution/util.mjs +0 -28
  96. package/schematics/migrations/renderer-to-renderer2/helpers.mjs +0 -224
  97. package/schematics/migrations/renderer-to-renderer2/index.mjs +0 -113
  98. package/schematics/migrations/renderer-to-renderer2/migration.mjs +0 -211
  99. package/schematics/migrations/renderer-to-renderer2/renderer-to-renderer2.externs.js +0 -0
  100. package/schematics/migrations/renderer-to-renderer2/util.mjs +0 -69
  101. package/schematics/migrations/router-preserve-query-params/index.mjs +0 -50
  102. package/schematics/migrations/router-preserve-query-params/router-preserve-query-params.externs.js +0 -0
  103. package/schematics/migrations/router-preserve-query-params/util.mjs +0 -88
  104. package/schematics/migrations/static-queries/angular/directive_inputs.mjs +0 -70
  105. package/schematics/migrations/static-queries/angular/ng_query_visitor.mjs +0 -113
  106. package/schematics/migrations/static-queries/angular/query-definition.mjs +0 -20
  107. package/schematics/migrations/static-queries/angular/super_class.mjs +0 -21
  108. package/schematics/migrations/static-queries/index.mjs +0 -206
  109. package/schematics/migrations/static-queries/static-queries.externs.js +0 -0
  110. package/schematics/migrations/static-queries/strategies/template_strategy/template_strategy.mjs +0 -200
  111. package/schematics/migrations/static-queries/strategies/test_strategy/test_strategy.mjs +0 -24
  112. package/schematics/migrations/static-queries/strategies/timing-strategy.mjs +0 -9
  113. package/schematics/migrations/static-queries/strategies/usage_strategy/declaration_usage_visitor.mjs +0 -355
  114. package/schematics/migrations/static-queries/strategies/usage_strategy/super_class_context.mjs +0 -38
  115. package/schematics/migrations/static-queries/strategies/usage_strategy/template_usage_visitor.mjs +0 -80
  116. package/schematics/migrations/static-queries/strategies/usage_strategy/usage_strategy.mjs +0 -154
  117. package/schematics/migrations/static-queries/transform.mjs +0 -88
  118. package/schematics/migrations/template-var-assignment/analyze_template.mjs +0 -25
  119. package/schematics/migrations/template-var-assignment/angular/html_variable_assignment_visitor.mjs +0 -65
  120. package/schematics/migrations/template-var-assignment/index.mjs +0 -68
  121. package/schematics/migrations/template-var-assignment/template-var-assignment.externs.js +0 -0
  122. package/schematics/migrations/undecorated-classes-with-decorated-fields/index.mjs +0 -92
  123. package/schematics/migrations/undecorated-classes-with-decorated-fields/transform.mjs +0 -286
  124. package/schematics/migrations/undecorated-classes-with-decorated-fields/undecorated-classes-with-decorated-fields.externs.js +0 -0
  125. package/schematics/migrations/undecorated-classes-with-decorated-fields/update_recorder.mjs +0 -9
  126. package/schematics/migrations/undecorated-classes-with-di/create_ngc_program.mjs +0 -43
  127. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/convert_directive_metadata.mjs +0 -82
  128. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/decorator_rewriter.mjs +0 -102
  129. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/import_rewrite_visitor.mjs +0 -111
  130. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/path_format.mjs +0 -17
  131. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/source_file_exports.mjs +0 -51
  132. package/schematics/migrations/undecorated-classes-with-di/index.mjs +0 -162
  133. package/schematics/migrations/undecorated-classes-with-di/ng_declaration_collector.mjs +0 -124
  134. package/schematics/migrations/undecorated-classes-with-di/transform.mjs +0 -356
  135. package/schematics/migrations/undecorated-classes-with-di/undecorated-classes-with-di.externs.js +0 -0
  136. package/schematics/migrations/undecorated-classes-with-di/update_recorder.mjs +0 -9
  137. package/schematics/migrations/wait-for-async/index.mjs +0 -76
  138. package/schematics/migrations/wait-for-async/util.mjs +0 -23
  139. package/schematics/migrations/wait-for-async/wait-for-async.externs.js +0 -0
  140. package/schematics/migrations/xhr-factory/index.mjs +0 -91
  141. package/schematics/migrations/xhr-factory/xhr-factory.externs.js +0 -0
  142. package/schematics/utils/import_manager.mjs +0 -197
  143. package/schematics/utils/line_mappings.mjs +0 -60
  144. package/schematics/utils/ng_component_template.mjs +0 -96
  145. package/schematics/utils/ng_decorators.mjs +0 -23
  146. package/schematics/utils/parse_html.mjs +0 -24
  147. package/schematics/utils/project_tsconfig_paths.mjs +0 -74
  148. package/schematics/utils/schematics_prompt.mjs +0 -30
  149. package/schematics/utils/typescript/class_declaration.mjs +0 -33
  150. package/schematics/utils/typescript/compiler_host.mjs +0 -66
  151. package/schematics/utils/typescript/decorators.mjs +0 -20
  152. package/schematics/utils/typescript/find_base_classes.mjs +0 -30
  153. package/schematics/utils/typescript/functions.mjs +0 -28
  154. package/schematics/utils/typescript/imports.mjs +0 -91
  155. package/schematics/utils/typescript/nodes.mjs +0 -57
  156. package/schematics/utils/typescript/parse_tsconfig.mjs +0 -26
  157. package/schematics/utils/typescript/property_name.mjs +0 -23
  158. package/schematics/utils/typescript/symbol.mjs +0 -72
  159. package/schematics/utils/utils.externs.js +0 -0
package/fesm2015/core.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v12.1.1
2
+ * @license Angular v12.1.5
3
3
  * (c) 2010-2021 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -4025,15 +4025,38 @@ var ViewEncapsulation$1;
4025
4025
  * Use of this source code is governed by an MIT-style license that can be
4026
4026
  * found in the LICENSE file at https://angular.io/license
4027
4027
  */
4028
- function getCompilerFacade() {
4028
+ function getCompilerFacade(request) {
4029
4029
  const globalNg = _global['ng'];
4030
- if (!globalNg || !globalNg.ɵcompilerFacade) {
4031
- throw new Error(`Angular JIT compilation failed: '@angular/compiler' not loaded!\n` +
4032
- ` - JIT compilation is discouraged for production use-cases! Consider AOT mode instead.\n` +
4033
- ` - Did you bootstrap using '@angular/platform-browser-dynamic' or '@angular/platform-server'?\n` +
4034
- ` - Alternatively provide the compiler with 'import "@angular/compiler";' before bootstrapping.`);
4030
+ if (globalNg && globalNg.ɵcompilerFacade) {
4031
+ return globalNg.ɵcompilerFacade;
4032
+ }
4033
+ if (typeof ngDevMode === 'undefined' || ngDevMode) {
4034
+ // Log the type as an error so that a developer can easily navigate to the type from the
4035
+ // console.
4036
+ console.error(`JIT compilation failed for ${request.kind}`, request.type);
4037
+ let message = `The ${request.kind} '${request
4038
+ .type.name}' needs to be compiled using the JIT compiler, but '@angular/compiler' is not available.\n\n`;
4039
+ if (request.usage === 1 /* PartialDeclaration */) {
4040
+ message += `The ${request.kind} is part of a library that has been partially compiled.\n`;
4041
+ message +=
4042
+ `However, the Angular Linker has not processed the library such that JIT compilation is used as fallback.\n`;
4043
+ message += '\n';
4044
+ message +=
4045
+ `Ideally, the library is processed using the Angular Linker to become fully AOT compiled.\n`;
4046
+ }
4047
+ else {
4048
+ message +=
4049
+ `JIT compilation is discouraged for production use-cases! Consider using AOT mode instead.\n`;
4050
+ }
4051
+ message +=
4052
+ `Alternatively, the JIT compiler should be loaded by bootstrapping using '@angular/platform-browser-dynamic' or '@angular/platform-server',\n`;
4053
+ message +=
4054
+ `or manually provide the compiler with 'import "@angular/compiler";' before bootstrapping.`;
4055
+ throw new Error(message);
4056
+ }
4057
+ else {
4058
+ throw new Error('JIT compiler unavailable');
4035
4059
  }
4036
- return globalNg.ɵcompilerFacade;
4037
4060
  }
4038
4061
 
4039
4062
  /**
@@ -6450,7 +6473,7 @@ function getOriginalError(error) {
6450
6473
  return error[ERROR_ORIGINAL_ERROR];
6451
6474
  }
6452
6475
  function getErrorLogger(error) {
6453
- return error[ERROR_LOGGER] || defaultErrorLogger;
6476
+ return error && error[ERROR_LOGGER] || defaultErrorLogger;
6454
6477
  }
6455
6478
  function defaultErrorLogger(console, ...values) {
6456
6479
  console.error(...values);
@@ -6511,19 +6534,15 @@ class ErrorHandler {
6511
6534
  }
6512
6535
  /** @internal */
6513
6536
  _findContext(error) {
6514
- if (error) {
6515
- return getDebugContext(error) ? getDebugContext(error) :
6516
- this._findContext(getOriginalError(error));
6517
- }
6518
- return null;
6537
+ return error ? (getDebugContext(error) || this._findContext(getOriginalError(error))) : null;
6519
6538
  }
6520
6539
  /** @internal */
6521
6540
  _findOriginalError(error) {
6522
- let e = getOriginalError(error);
6541
+ let e = error && getOriginalError(error);
6523
6542
  while (e && getOriginalError(e)) {
6524
6543
  e = getOriginalError(e);
6525
6544
  }
6526
- return e;
6545
+ return e || null;
6527
6546
  }
6528
6547
  }
6529
6548
 
@@ -11212,6 +11231,7 @@ class R3Injector {
11212
11231
  this.assertNotDestroyed();
11213
11232
  // Set the injection context.
11214
11233
  const previousInjector = setCurrentInjector(this);
11234
+ const previousInjectImplementation = setInjectImplementation(undefined);
11215
11235
  try {
11216
11236
  // Check for the SkipSelf flag.
11217
11237
  if (!(flags & InjectFlags.SkipSelf)) {
@@ -11264,7 +11284,8 @@ class R3Injector {
11264
11284
  }
11265
11285
  }
11266
11286
  finally {
11267
- // Lastly, clean up the state by restoring the previous injector.
11287
+ // Lastly, restore the previous injection context.
11288
+ setInjectImplementation(previousInjectImplementation);
11268
11289
  setCurrentInjector(previousInjector);
11269
11290
  }
11270
11291
  }
@@ -13673,7 +13694,8 @@ function compileInjectable(type, meta) {
13673
13694
  Object.defineProperty(type, NG_PROV_DEF, {
13674
13695
  get: () => {
13675
13696
  if (ngInjectableDef === null) {
13676
- ngInjectableDef = getCompilerFacade().compileInjectable(angularCoreDiEnv, `ng:///${type.name}/ɵprov.js`, getInjectableMetadata(type, meta));
13697
+ const compiler = getCompilerFacade({ usage: 0 /* Decorator */, kind: 'injectable', type });
13698
+ ngInjectableDef = compiler.compileInjectable(angularCoreDiEnv, `ng:///${type.name}/ɵprov.js`, getInjectableMetadata(type, meta));
13677
13699
  }
13678
13700
  return ngInjectableDef;
13679
13701
  },
@@ -13684,7 +13706,7 @@ function compileInjectable(type, meta) {
13684
13706
  Object.defineProperty(type, NG_FACTORY_DEF, {
13685
13707
  get: () => {
13686
13708
  if (ngFactoryDef === null) {
13687
- const compiler = getCompilerFacade();
13709
+ const compiler = getCompilerFacade({ usage: 0 /* Decorator */, kind: 'injectable', type });
13688
13710
  ngFactoryDef = compiler.compileFactory(angularCoreDiEnv, `ng:///${type.name}/ɵfac.js`, {
13689
13711
  name: type.name,
13690
13712
  type,
@@ -21469,7 +21491,7 @@ class Version {
21469
21491
  /**
21470
21492
  * @publicApi
21471
21493
  */
21472
- const VERSION = new Version('12.1.1');
21494
+ const VERSION = new Version('12.1.5');
21473
21495
 
21474
21496
  /**
21475
21497
  * @license
@@ -26928,7 +26950,8 @@ function compileNgModuleDefs(moduleType, ngModule, allowDuplicateDeclarationsInR
26928
26950
  // go into an infinite loop before we've reached the point where we throw all the errors.
26929
26951
  throw new Error(`'${stringifyForError(moduleType)}' module can't import itself`);
26930
26952
  }
26931
- ngModuleDef = getCompilerFacade().compileNgModule(angularCoreEnv, `ng:///${moduleType.name}/ɵmod.js`, {
26953
+ const compiler = getCompilerFacade({ usage: 0 /* Decorator */, kind: 'NgModule', type: moduleType });
26954
+ ngModuleDef = compiler.compileNgModule(angularCoreEnv, `ng:///${moduleType.name}/ɵmod.js`, {
26932
26955
  type: moduleType,
26933
26956
  bootstrap: flatten(ngModule.bootstrap || EMPTY_ARRAY).map(resolveForwardRef),
26934
26957
  declarations: declarations.map(resolveForwardRef),
@@ -26956,7 +26979,7 @@ function compileNgModuleDefs(moduleType, ngModule, allowDuplicateDeclarationsInR
26956
26979
  Object.defineProperty(moduleType, NG_FACTORY_DEF, {
26957
26980
  get: () => {
26958
26981
  if (ngFactoryDef === null) {
26959
- const compiler = getCompilerFacade();
26982
+ const compiler = getCompilerFacade({ usage: 0 /* Decorator */, kind: 'NgModule', type: moduleType });
26960
26983
  ngFactoryDef = compiler.compileFactory(angularCoreEnv, `ng:///${moduleType.name}/ɵfac.js`, {
26961
26984
  name: moduleType.name,
26962
26985
  type: moduleType,
@@ -26985,7 +27008,9 @@ function compileNgModuleDefs(moduleType, ngModule, allowDuplicateDeclarationsInR
26985
27008
  (ngModule.exports || EMPTY_ARRAY).map(resolveForwardRef),
26986
27009
  ],
26987
27010
  };
26988
- ngInjectorDef = getCompilerFacade().compileInjector(angularCoreEnv, `ng:///${moduleType.name}/ɵinj.js`, meta);
27011
+ const compiler = getCompilerFacade({ usage: 0 /* Decorator */, kind: 'NgModule', type: moduleType });
27012
+ ngInjectorDef =
27013
+ compiler.compileInjector(angularCoreEnv, `ng:///${moduleType.name}/ɵinj.js`, meta);
26989
27014
  }
26990
27015
  return ngInjectorDef;
26991
27016
  },
@@ -27351,7 +27376,7 @@ function compileComponent(type, metadata) {
27351
27376
  Object.defineProperty(type, NG_COMP_DEF, {
27352
27377
  get: () => {
27353
27378
  if (ngComponentDef === null) {
27354
- const compiler = getCompilerFacade();
27379
+ const compiler = getCompilerFacade({ usage: 0 /* Decorator */, kind: 'component', type: type });
27355
27380
  if (componentNeedsResolution(metadata)) {
27356
27381
  const error = [`Component '${type.name}' is not resolved:`];
27357
27382
  if (metadata.templateUrl) {
@@ -27442,8 +27467,9 @@ function compileDirective(type, directive) {
27442
27467
  // that use `@Directive()` with no selector. In that case, pass empty object to the
27443
27468
  // `directiveMetadata` function instead of null.
27444
27469
  const meta = getDirectiveMetadata$1(type, directive || {});
27470
+ const compiler = getCompilerFacade({ usage: 0 /* Decorator */, kind: 'directive', type });
27445
27471
  ngDirectiveDef =
27446
- getCompilerFacade().compileDirective(angularCoreEnv, meta.sourceMapUrl, meta.metadata);
27472
+ compiler.compileDirective(angularCoreEnv, meta.sourceMapUrl, meta.metadata);
27447
27473
  }
27448
27474
  return ngDirectiveDef;
27449
27475
  },
@@ -27454,7 +27480,7 @@ function compileDirective(type, directive) {
27454
27480
  function getDirectiveMetadata$1(type, metadata) {
27455
27481
  const name = type && type.name;
27456
27482
  const sourceMapUrl = `ng:///${name}/ɵdir.js`;
27457
- const compiler = getCompilerFacade();
27483
+ const compiler = getCompilerFacade({ usage: 0 /* Decorator */, kind: 'directive', type });
27458
27484
  const facade = directiveMetadata(type, metadata);
27459
27485
  facade.typeSourceSpan = compiler.createParseSourceSpan('Directive', name, sourceMapUrl);
27460
27486
  if (facade.usesInheritance) {
@@ -27468,7 +27494,7 @@ function addDirectiveFactoryDef(type, metadata) {
27468
27494
  get: () => {
27469
27495
  if (ngFactoryDef === null) {
27470
27496
  const meta = getDirectiveMetadata$1(type, metadata);
27471
- const compiler = getCompilerFacade();
27497
+ const compiler = getCompilerFacade({ usage: 0 /* Decorator */, kind: 'directive', type });
27472
27498
  ngFactoryDef = compiler.compileFactory(angularCoreEnv, `ng:///${type.name}/ɵfac.js`, {
27473
27499
  name: meta.metadata.name,
27474
27500
  type: meta.metadata.type,
@@ -27619,7 +27645,7 @@ function compilePipe(type, meta) {
27619
27645
  get: () => {
27620
27646
  if (ngFactoryDef === null) {
27621
27647
  const metadata = getPipeMetadata(type, meta);
27622
- const compiler = getCompilerFacade();
27648
+ const compiler = getCompilerFacade({ usage: 0 /* Decorator */, kind: 'pipe', type: metadata.type });
27623
27649
  ngFactoryDef = compiler.compileFactory(angularCoreEnv, `ng:///${metadata.name}/ɵfac.js`, {
27624
27650
  name: metadata.name,
27625
27651
  type: metadata.type,
@@ -27637,7 +27663,9 @@ function compilePipe(type, meta) {
27637
27663
  get: () => {
27638
27664
  if (ngPipeDef === null) {
27639
27665
  const metadata = getPipeMetadata(type, meta);
27640
- ngPipeDef = getCompilerFacade().compilePipe(angularCoreEnv, `ng:///${metadata.name}/ɵpipe.js`, metadata);
27666
+ const compiler = getCompilerFacade({ usage: 0 /* Decorator */, kind: 'pipe', type: metadata.type });
27667
+ ngPipeDef =
27668
+ compiler.compilePipe(angularCoreEnv, `ng:///${metadata.name}/ɵpipe.js`, metadata);
27641
27669
  }
27642
27670
  return ngPipeDef;
27643
27671
  },
@@ -27877,11 +27905,11 @@ const SWITCH_COMPILE_NGMODULE = SWITCH_COMPILE_NGMODULE__PRE_R3__;
27877
27905
  * through DI.
27878
27906
  *
27879
27907
  * ```
27880
- * function initializeApp(httpClient: HttpClient): Observable<any> {
27881
- * return httpClient.get("https://someUrl.com/api/user")
27908
+ * function initializeAppFactory(httpClient: HttpClient): () => Observable<any> {
27909
+ * return () => httpClient.get("https://someUrl.com/api/user")
27882
27910
  * .pipe(
27883
27911
  * tap(user => { ... })
27884
- * )
27912
+ * );
27885
27913
  * }
27886
27914
  *
27887
27915
  * @NgModule({
@@ -27890,7 +27918,7 @@ const SWITCH_COMPILE_NGMODULE = SWITCH_COMPILE_NGMODULE__PRE_R3__;
27890
27918
  * bootstrap: [AppComponent],
27891
27919
  * providers: [{
27892
27920
  * provide: APP_INITIALIZER,
27893
- * useFactory: initializeApp,
27921
+ * useFactory: initializeAppFactory,
27894
27922
  * deps: [HttpClient],
27895
27923
  * multi: true
27896
27924
  * }]
@@ -29085,7 +29113,11 @@ function compileNgModuleFactory__POST_R3__(injector, options, moduleType) {
29085
29113
  if (compilerProviders.length === 0) {
29086
29114
  return Promise.resolve(moduleFactory);
29087
29115
  }
29088
- const compiler = getCompilerFacade();
29116
+ const compiler = getCompilerFacade({
29117
+ usage: 0 /* Decorator */,
29118
+ kind: 'NgModule',
29119
+ type: moduleType,
29120
+ });
29089
29121
  const compilerInjector = Injector.create({ providers: compilerProviders });
29090
29122
  const resourceLoader = compilerInjector.get(compiler.ResourceLoader);
29091
29123
  // The resource loader can also return a string while the "resolveComponentResources"
@@ -33027,7 +33059,7 @@ class NgModuleFactory_ extends NgModuleFactory {
33027
33059
  * @codeGenApi
33028
33060
  */
33029
33061
  function ɵɵngDeclareDirective(decl) {
33030
- const compiler = getCompilerFacade();
33062
+ const compiler = getCompilerFacade({ usage: 1 /* PartialDeclaration */, kind: 'directive', type: decl.type });
33031
33063
  return compiler.compileDirectiveDeclaration(angularCoreEnv, `ng:///${decl.type.name}/ɵfac.js`, decl);
33032
33064
  }
33033
33065
  /**
@@ -33045,7 +33077,7 @@ function ɵɵngDeclareClassMetadata(decl) {
33045
33077
  * @codeGenApi
33046
33078
  */
33047
33079
  function ɵɵngDeclareComponent(decl) {
33048
- const compiler = getCompilerFacade();
33080
+ const compiler = getCompilerFacade({ usage: 1 /* PartialDeclaration */, kind: 'component', type: decl.type });
33049
33081
  return compiler.compileComponentDeclaration(angularCoreEnv, `ng:///${decl.type.name}/ɵcmp.js`, decl);
33050
33082
  }
33051
33083
  /**
@@ -33054,16 +33086,34 @@ function ɵɵngDeclareComponent(decl) {
33054
33086
  * @codeGenApi
33055
33087
  */
33056
33088
  function ɵɵngDeclareFactory(decl) {
33057
- const compiler = getCompilerFacade();
33089
+ const compiler = getCompilerFacade({
33090
+ usage: 1 /* PartialDeclaration */,
33091
+ kind: getFactoryKind(decl.target),
33092
+ type: decl.type
33093
+ });
33058
33094
  return compiler.compileFactoryDeclaration(angularCoreEnv, `ng:///${decl.type.name}/ɵfac.js`, decl);
33059
33095
  }
33096
+ function getFactoryKind(target) {
33097
+ switch (target) {
33098
+ case FactoryTarget.Directive:
33099
+ return 'directive';
33100
+ case FactoryTarget.Component:
33101
+ return 'component';
33102
+ case FactoryTarget.Injectable:
33103
+ return 'injectable';
33104
+ case FactoryTarget.Pipe:
33105
+ return 'pipe';
33106
+ case FactoryTarget.NgModule:
33107
+ return 'NgModule';
33108
+ }
33109
+ }
33060
33110
  /**
33061
33111
  * Compiles a partial injectable declaration object into a full injectable definition object.
33062
33112
  *
33063
33113
  * @codeGenApi
33064
33114
  */
33065
33115
  function ɵɵngDeclareInjectable(decl) {
33066
- const compiler = getCompilerFacade();
33116
+ const compiler = getCompilerFacade({ usage: 1 /* PartialDeclaration */, kind: 'injectable', type: decl.type });
33067
33117
  return compiler.compileInjectableDeclaration(angularCoreEnv, `ng:///${decl.type.name}/ɵprov.js`, decl);
33068
33118
  }
33069
33119
  /**
@@ -33072,7 +33122,7 @@ function ɵɵngDeclareInjectable(decl) {
33072
33122
  * @codeGenApi
33073
33123
  */
33074
33124
  function ɵɵngDeclareInjector(decl) {
33075
- const compiler = getCompilerFacade();
33125
+ const compiler = getCompilerFacade({ usage: 1 /* PartialDeclaration */, kind: 'NgModule', type: decl.type });
33076
33126
  return compiler.compileInjectorDeclaration(angularCoreEnv, `ng:///${decl.type.name}/ɵinj.js`, decl);
33077
33127
  }
33078
33128
  /**
@@ -33081,7 +33131,7 @@ function ɵɵngDeclareInjector(decl) {
33081
33131
  * @codeGenApi
33082
33132
  */
33083
33133
  function ɵɵngDeclareNgModule(decl) {
33084
- const compiler = getCompilerFacade();
33134
+ const compiler = getCompilerFacade({ usage: 1 /* PartialDeclaration */, kind: 'NgModule', type: decl.type });
33085
33135
  return compiler.compileNgModuleDeclaration(angularCoreEnv, `ng:///${decl.type.name}/ɵmod.js`, decl);
33086
33136
  }
33087
33137
  /**
@@ -33090,7 +33140,7 @@ function ɵɵngDeclareNgModule(decl) {
33090
33140
  * @codeGenApi
33091
33141
  */
33092
33142
  function ɵɵngDeclarePipe(decl) {
33093
- const compiler = getCompilerFacade();
33143
+ const compiler = getCompilerFacade({ usage: 1 /* PartialDeclaration */, kind: 'pipe', type: decl.type });
33094
33144
  return compiler.compilePipeDeclaration(angularCoreEnv, `ng:///${decl.type.name}/ɵpipe.js`, decl);
33095
33145
  }
33096
33146