@angular/compiler-cli 17.1.0-rc.0 → 17.1.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 (56) hide show
  1. package/bundles/{chunk-OQ7ITPZT.js → chunk-3WRR7A6G.js} +69 -42
  2. package/bundles/chunk-3WRR7A6G.js.map +6 -0
  3. package/bundles/{chunk-FIHKBAQF.js → chunk-5KZ4IU2X.js} +5 -5
  4. package/bundles/{chunk-SBDNBITT.js → chunk-CF2CT7RQ.js} +3 -3
  5. package/bundles/{chunk-YS2EFQ7B.js → chunk-GM44CTB7.js} +405 -220
  6. package/bundles/chunk-GM44CTB7.js.map +6 -0
  7. package/bundles/{chunk-QPMYDNZG.js → chunk-I3M5LXMW.js} +7 -7
  8. package/bundles/{chunk-R4KQI5XI.js → chunk-JOIB3454.js} +5 -5
  9. package/bundles/{chunk-AJU3W7PS.js → chunk-MLI2QFE3.js} +6 -6
  10. package/bundles/{chunk-R5FBSX7J.js → chunk-P34DHQ65.js} +32 -30
  11. package/bundles/{chunk-R5FBSX7J.js.map → chunk-P34DHQ65.js.map} +1 -1
  12. package/bundles/{chunk-Q5Y7HH3O.js → chunk-TGR3NXO6.js} +5 -5
  13. package/bundles/{chunk-WCD6LVCP.js → chunk-WMUBJYYX.js} +7 -7
  14. package/bundles/{chunk-75SXFAVW.js → chunk-YFIBJR5K.js} +184 -132
  15. package/bundles/chunk-YFIBJR5K.js.map +6 -0
  16. package/bundles/index.js +12 -12
  17. package/bundles/linker/babel/index.js +12 -12
  18. package/bundles/linker/index.js +4 -4
  19. package/bundles/ngcc/index.js +1 -1
  20. package/bundles/private/bazel.js +1 -1
  21. package/bundles/private/localize.js +3 -3
  22. package/bundles/private/migrations.js +5 -5
  23. package/bundles/private/tooling.js +5 -5
  24. package/bundles/src/bin/ng_xi18n.js +10 -10
  25. package/bundles/src/bin/ngc.js +8 -8
  26. package/bundles_metadata.json +1 -1
  27. package/linker/src/file_linker/partial_linkers/util.d.ts +1 -1
  28. package/package.json +2 -2
  29. package/src/ngtsc/annotations/component/src/handler.d.ts +21 -1
  30. package/src/ngtsc/annotations/component/src/metadata.d.ts +7 -1
  31. package/src/ngtsc/annotations/component/src/util.d.ts +1 -1
  32. package/src/ngtsc/annotations/directive/src/handler.d.ts +1 -1
  33. package/src/ngtsc/annotations/src/injectable.d.ts +1 -1
  34. package/src/ngtsc/core/api/src/public_options.d.ts +10 -0
  35. package/src/ngtsc/diagnostics/src/error_code.d.ts +20 -0
  36. package/src/ngtsc/imports/src/deferred_symbol_tracker.d.ts +16 -2
  37. package/src/ngtsc/metadata/src/api.d.ts +11 -0
  38. package/src/ngtsc/scope/src/api.d.ts +1 -0
  39. package/src/ngtsc/scope/src/typecheck.d.ts +3 -3
  40. package/src/ngtsc/scope/src/util.d.ts +1 -0
  41. package/src/ngtsc/transform/src/api.d.ts +1 -1
  42. package/src/ngtsc/typecheck/api/api.d.ts +3 -2
  43. package/src/ngtsc/typecheck/api/context.d.ts +2 -1
  44. package/src/ngtsc/typecheck/src/context.d.ts +2 -1
  45. package/src/ngtsc/typecheck/src/oob.d.ts +20 -0
  46. package/src/ngtsc/typecheck/src/type_check_block.d.ts +3 -2
  47. package/bundles/chunk-75SXFAVW.js.map +0 -6
  48. package/bundles/chunk-OQ7ITPZT.js.map +0 -6
  49. package/bundles/chunk-YS2EFQ7B.js.map +0 -6
  50. /package/bundles/{chunk-FIHKBAQF.js.map → chunk-5KZ4IU2X.js.map} +0 -0
  51. /package/bundles/{chunk-SBDNBITT.js.map → chunk-CF2CT7RQ.js.map} +0 -0
  52. /package/bundles/{chunk-QPMYDNZG.js.map → chunk-I3M5LXMW.js.map} +0 -0
  53. /package/bundles/{chunk-R4KQI5XI.js.map → chunk-JOIB3454.js.map} +0 -0
  54. /package/bundles/{chunk-AJU3W7PS.js.map → chunk-MLI2QFE3.js.map} +0 -0
  55. /package/bundles/{chunk-Q5Y7HH3O.js.map → chunk-TGR3NXO6.js.map} +0 -0
  56. /package/bundles/{chunk-WCD6LVCP.js.map → chunk-WMUBJYYX.js.map} +0 -0
@@ -29,18 +29,18 @@ import {
29
29
  translateStatement,
30
30
  translateType,
31
31
  typeNodeToValueExpr
32
- } from "./chunk-OQ7ITPZT.js";
32
+ } from "./chunk-3WRR7A6G.js";
33
33
  import {
34
34
  PerfEvent,
35
35
  PerfPhase
36
- } from "./chunk-R4KQI5XI.js";
36
+ } from "./chunk-JOIB3454.js";
37
37
  import {
38
38
  absoluteFrom,
39
39
  absoluteFromSourceFile,
40
40
  relative
41
- } from "./chunk-QPMYDNZG.js";
41
+ } from "./chunk-I3M5LXMW.js";
42
42
 
43
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/util.mjs
43
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/util.mjs
44
44
  import { ExternalExpr, ParseLocation, ParseSourceFile, ParseSourceSpan, ReadPropExpr, WrappedNodeExpr } from "@angular/compiler";
45
45
  import ts from "typescript";
46
46
  function valueReferenceToExpression(valueRef) {
@@ -285,7 +285,7 @@ function isAbstractClassDeclaration(clazz) {
285
285
  return ts.canHaveModifiers(clazz) && clazz.modifiers !== void 0 ? clazz.modifiers.some((mod) => mod.kind === ts.SyntaxKind.AbstractKeyword) : false;
286
286
  }
287
287
 
288
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/dynamic.mjs
288
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/dynamic.mjs
289
289
  var DynamicValue = class {
290
290
  constructor(node, reason, code) {
291
291
  this.node = node;
@@ -375,10 +375,10 @@ var DynamicValue = class {
375
375
  }
376
376
  };
377
377
 
378
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/interpreter.mjs
378
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/interpreter.mjs
379
379
  import ts2 from "typescript";
380
380
 
381
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/result.mjs
381
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/result.mjs
382
382
  var ResolvedModule = class {
383
383
  constructor(exports, evaluate) {
384
384
  this.exports = exports;
@@ -408,7 +408,7 @@ var EnumValue = class {
408
408
  var KnownFn = class {
409
409
  };
410
410
 
411
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/builtin.mjs
411
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/builtin.mjs
412
412
  var ArraySliceBuiltinFn = class extends KnownFn {
413
413
  constructor(lhs) {
414
414
  super();
@@ -460,14 +460,14 @@ var StringConcatBuiltinFn = class extends KnownFn {
460
460
  }
461
461
  };
462
462
 
463
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/synthetic.mjs
463
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/synthetic.mjs
464
464
  var SyntheticValue = class {
465
465
  constructor(value) {
466
466
  this.value = value;
467
467
  }
468
468
  };
469
469
 
470
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/interpreter.mjs
470
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/interpreter.mjs
471
471
  function literalBinaryOp(op) {
472
472
  return { op, literal: true };
473
473
  }
@@ -1045,7 +1045,7 @@ function owningModule(context, override = null) {
1045
1045
  }
1046
1046
  }
1047
1047
 
1048
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/interface.mjs
1048
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/interface.mjs
1049
1049
  var PartialEvaluator = class {
1050
1050
  constructor(host, checker, dependencyTracker) {
1051
1051
  this.host = host;
@@ -1065,7 +1065,7 @@ var PartialEvaluator = class {
1065
1065
  }
1066
1066
  };
1067
1067
 
1068
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/diagnostics.mjs
1068
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/diagnostics.mjs
1069
1069
  import ts3 from "typescript";
1070
1070
  function describeResolvedType(value, maxDepth = 1) {
1071
1071
  var _a, _b;
@@ -1195,7 +1195,7 @@ function getContainerNode(node) {
1195
1195
  return node.getSourceFile();
1196
1196
  }
1197
1197
 
1198
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/di.mjs
1198
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/di.mjs
1199
1199
  import { LiteralExpr, WrappedNodeExpr as WrappedNodeExpr2 } from "@angular/compiler";
1200
1200
  import ts4 from "typescript";
1201
1201
  function getConstructorDependencies(clazz, reflector, isCore) {
@@ -1339,10 +1339,10 @@ function createUnsuitableInjectionTokenError(clazz, error) {
1339
1339
  return new FatalDiagnosticError(ErrorCode.PARAM_MISSING_TOKEN, param.nameNode, chain, hints);
1340
1340
  }
1341
1341
 
1342
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/diagnostics.mjs
1342
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/diagnostics.mjs
1343
1343
  import ts7 from "typescript";
1344
1344
 
1345
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/api.mjs
1345
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/api.mjs
1346
1346
  var MetaKind;
1347
1347
  (function(MetaKind2) {
1348
1348
  MetaKind2[MetaKind2["Directive"] = 0] = "Directive";
@@ -1355,10 +1355,10 @@ var MatchSource;
1355
1355
  MatchSource2[MatchSource2["HostDirective"] = 1] = "HostDirective";
1356
1356
  })(MatchSource || (MatchSource = {}));
1357
1357
 
1358
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/dts.mjs
1358
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/dts.mjs
1359
1359
  import ts6 from "typescript";
1360
1360
 
1361
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/property_mapping.mjs
1361
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/property_mapping.mjs
1362
1362
  var ClassPropertyMapping = class {
1363
1363
  constructor(forwardMap) {
1364
1364
  this.forwardMap = forwardMap;
@@ -1438,7 +1438,7 @@ function reverseMapFromForwardMap(forwardMap) {
1438
1438
  return reverseMap;
1439
1439
  }
1440
1440
 
1441
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/util.mjs
1441
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/util.mjs
1442
1442
  import ts5 from "typescript";
1443
1443
  function extractReferencesFromType(checker, def, bestGuessOwningModule) {
1444
1444
  if (!ts5.isTupleTypeNode(def)) {
@@ -1628,7 +1628,7 @@ function hasInjectableFields(clazz, host) {
1628
1628
  return members.some(({ isStatic, name }) => isStatic && (name === "\u0275prov" || name === "\u0275fac"));
1629
1629
  }
1630
1630
 
1631
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/dts.mjs
1631
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/dts.mjs
1632
1632
  var DtsMetadataReader = class {
1633
1633
  constructor(checker, reflector) {
1634
1634
  this.checker = checker;
@@ -1698,10 +1698,12 @@ var DtsMetadataReader = class {
1698
1698
  isStandalone,
1699
1699
  isSignal,
1700
1700
  imports: null,
1701
+ deferredImports: null,
1701
1702
  schemas: null,
1702
1703
  decorator: null,
1703
1704
  assumedToExportProviders: isComponent && isStandalone,
1704
- preserveWhitespaces: false
1705
+ preserveWhitespaces: false,
1706
+ isExplicitlyDeferred: false
1705
1707
  };
1706
1708
  }
1707
1709
  getPipeMetadata(ref) {
@@ -1724,7 +1726,8 @@ var DtsMetadataReader = class {
1724
1726
  name,
1725
1727
  nameExpr: null,
1726
1728
  isStandalone,
1727
- decorator: null
1729
+ decorator: null,
1730
+ isExplicitlyDeferred: false
1728
1731
  };
1729
1732
  }
1730
1733
  };
@@ -1808,7 +1811,7 @@ function readHostDirectivesType(checker, type, bestGuessOwningModule) {
1808
1811
  return result.length > 0 ? result : null;
1809
1812
  }
1810
1813
 
1811
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/inheritance.mjs
1814
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/inheritance.mjs
1812
1815
  function flattenInheritedDirectiveMetadata(reader, dir) {
1813
1816
  const topMeta = reader.getDirectiveMetadata(dir);
1814
1817
  if (topMeta === null) {
@@ -1872,7 +1875,7 @@ function flattenInheritedDirectiveMetadata(reader, dir) {
1872
1875
  };
1873
1876
  }
1874
1877
 
1875
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/registry.mjs
1878
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/registry.mjs
1876
1879
  var LocalMetadataRegistry = class {
1877
1880
  constructor() {
1878
1881
  this.directives = /* @__PURE__ */ new Map();
@@ -1929,7 +1932,7 @@ var CompoundMetadataRegistry = class {
1929
1932
  }
1930
1933
  };
1931
1934
 
1932
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/resource_registry.mjs
1935
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/resource_registry.mjs
1933
1936
  var ResourceRegistry = class {
1934
1937
  constructor() {
1935
1938
  this.externalTemplateToComponentsMap = /* @__PURE__ */ new Map();
@@ -1994,7 +1997,7 @@ var ResourceRegistry = class {
1994
1997
  }
1995
1998
  };
1996
1999
 
1997
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/providers.mjs
2000
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/providers.mjs
1998
2001
  var ExportedProviderStatusResolver = class {
1999
2002
  constructor(metaReader) {
2000
2003
  this.metaReader = metaReader;
@@ -2038,7 +2041,7 @@ var ExportedProviderStatusResolver = class {
2038
2041
  }
2039
2042
  };
2040
2043
 
2041
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/host_directives_resolver.mjs
2044
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/host_directives_resolver.mjs
2042
2045
  var EMPTY_ARRAY = [];
2043
2046
  var HostDirectivesResolver = class {
2044
2047
  constructor(metaReader) {
@@ -2101,7 +2104,7 @@ function resolveOutput(bindingName) {
2101
2104
  return bindingName;
2102
2105
  }
2103
2106
 
2104
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/diagnostics.mjs
2107
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/diagnostics.mjs
2105
2108
  function makeDuplicateDeclarationError(node, data, kind) {
2106
2109
  const context = [];
2107
2110
  for (const decl of data) {
@@ -2297,7 +2300,7 @@ function getInheritedUndecoratedCtorDiagnostic(node, baseClass, kind) {
2297
2300
  return makeDiagnostic(ErrorCode.DIRECTIVE_INHERITS_UNDECORATED_CTOR, node.name, `The ${kind.toLowerCase()} ${node.name.text} inherits its constructor from ${baseClassName}, but the latter does not have an Angular decorator of its own. Dependency injection will not be able to resolve the parameters of ${baseClassName}'s constructor. Either add a @${baseNeedsDecorator} decorator to ${baseClassName}, or add an explicit constructor to ${node.name.text}.`);
2298
2301
  }
2299
2302
 
2300
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/evaluation.mjs
2303
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/evaluation.mjs
2301
2304
  import { ViewEncapsulation } from "@angular/compiler";
2302
2305
  import ts8 from "typescript";
2303
2306
  function resolveEnumValue(evaluator, metadata, field, enumSymbolName) {
@@ -2348,7 +2351,7 @@ function resolveLiteral(decorator, literalCache) {
2348
2351
  return meta;
2349
2352
  }
2350
2353
 
2351
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/factory.mjs
2354
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/factory.mjs
2352
2355
  import { compileDeclareFactoryFunction, compileFactoryFunction } from "@angular/compiler";
2353
2356
  function compileNgFactoryDefField(metadata) {
2354
2357
  const res = compileFactoryFunction(metadata);
@@ -2371,7 +2374,7 @@ function compileDeclareFactory(metadata) {
2371
2374
  };
2372
2375
  }
2373
2376
 
2374
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/injectable_registry.mjs
2377
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/injectable_registry.mjs
2375
2378
  var InjectableClassRegistry = class {
2376
2379
  constructor(host, isCore) {
2377
2380
  this.host = host;
@@ -2397,7 +2400,7 @@ var InjectableClassRegistry = class {
2397
2400
  }
2398
2401
  };
2399
2402
 
2400
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/metadata.mjs
2403
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/metadata.mjs
2401
2404
  import { ArrowFunctionExpr, LiteralArrayExpr, LiteralExpr as LiteralExpr2, literalMap, WrappedNodeExpr as WrappedNodeExpr3 } from "@angular/compiler";
2402
2405
  import ts9 from "typescript";
2403
2406
  function extractClassMetadata(clazz, reflection, isCore, annotateForClosureCompiler, angularDecoratorTransform = (dec) => dec) {
@@ -2482,7 +2485,7 @@ function removeIdentifierReferences(node, names) {
2482
2485
  return result.transformed[0];
2483
2486
  }
2484
2487
 
2485
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/debug_info.mjs
2488
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/debug_info.mjs
2486
2489
  import { literal as literal2, WrappedNodeExpr as WrappedNodeExpr4 } from "@angular/compiler";
2487
2490
  import * as path from "path";
2488
2491
  function extractClassDebugInfo(clazz, reflection, rootDirs, forbidOrphanRendering) {
@@ -2509,13 +2512,13 @@ function computeRelativePathIfPossible(filePath, rootDirs) {
2509
2512
  return null;
2510
2513
  }
2511
2514
 
2512
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/references_registry.mjs
2515
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/references_registry.mjs
2513
2516
  var NoopReferencesRegistry = class {
2514
2517
  add(source, ...references) {
2515
2518
  }
2516
2519
  };
2517
2520
 
2518
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/schema.mjs
2521
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/schema.mjs
2519
2522
  import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from "@angular/compiler";
2520
2523
  function extractSchemas(rawExpr, evaluator, context) {
2521
2524
  const schemas = [];
@@ -2545,7 +2548,7 @@ function extractSchemas(rawExpr, evaluator, context) {
2545
2548
  return schemas;
2546
2549
  }
2547
2550
 
2548
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/input_transforms.mjs
2551
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/input_transforms.mjs
2549
2552
  import { outputAst } from "@angular/compiler";
2550
2553
  function compileInputTransformFields(inputs) {
2551
2554
  const extraFields = [];
@@ -2563,11 +2566,11 @@ function compileInputTransformFields(inputs) {
2563
2566
  return extraFields;
2564
2567
  }
2565
2568
 
2566
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/handler.mjs
2567
- import { compileClassDebugInfo, compileClassMetadata as compileClassMetadata3, compileComponentClassMetadata, compileComponentFromMetadata, compileDeclareClassMetadata as compileDeclareClassMetadata3, compileDeclareComponentFromMetadata, CssSelector as CssSelector2, DEFAULT_INTERPOLATION_CONFIG as DEFAULT_INTERPOLATION_CONFIG2, DomElementSchemaRegistry, FactoryTarget as FactoryTarget3, makeBindingParser as makeBindingParser2, R3TargetBinder, R3TemplateDependencyKind, SelectorMatcher as SelectorMatcher2, ViewEncapsulation as ViewEncapsulation2, WrappedNodeExpr as WrappedNodeExpr8 } from "@angular/compiler";
2569
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/handler.mjs
2570
+ import { compileClassDebugInfo, compileComponentClassMetadata, compileComponentFromMetadata, compileDeclareClassMetadata as compileDeclareClassMetadata3, compileDeclareComponentFromMetadata, CssSelector as CssSelector2, DEFAULT_INTERPOLATION_CONFIG as DEFAULT_INTERPOLATION_CONFIG2, DomElementSchemaRegistry, FactoryTarget as FactoryTarget3, makeBindingParser as makeBindingParser2, R3TargetBinder, R3TemplateDependencyKind, SelectorMatcher as SelectorMatcher2, ViewEncapsulation as ViewEncapsulation2, WrappedNodeExpr as WrappedNodeExpr8 } from "@angular/compiler";
2568
2571
  import ts25 from "typescript";
2569
2572
 
2570
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/api.mjs
2573
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/api.mjs
2571
2574
  import ts10 from "typescript";
2572
2575
  var SemanticSymbol = class {
2573
2576
  constructor(decl) {
@@ -2583,7 +2586,7 @@ function getSymbolIdentifier(decl) {
2583
2586
  return decl.name.text;
2584
2587
  }
2585
2588
 
2586
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/graph.mjs
2589
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/graph.mjs
2587
2590
  import { ExternalExpr as ExternalExpr2 } from "@angular/compiler";
2588
2591
  var OpaqueSymbol = class extends SemanticSymbol {
2589
2592
  isPublicApiAffected() {
@@ -2726,10 +2729,10 @@ function getImportPath(expr) {
2726
2729
  }
2727
2730
  }
2728
2731
 
2729
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/type_parameters.mjs
2732
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/type_parameters.mjs
2730
2733
  import ts11 from "typescript";
2731
2734
 
2732
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/util.mjs
2735
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/util.mjs
2733
2736
  function isSymbolEqual(a, b) {
2734
2737
  if (a.decl === b.decl) {
2735
2738
  return true;
@@ -2779,7 +2782,7 @@ function isSetEqual(a, b, equalityTester = referenceEquality) {
2779
2782
  return true;
2780
2783
  }
2781
2784
 
2782
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/type_parameters.mjs
2785
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/type_parameters.mjs
2783
2786
  function extractSemanticTypeParameters(node) {
2784
2787
  if (!ts11.isClassDeclaration(node) || node.typeParameters === void 0) {
2785
2788
  return null;
@@ -2799,14 +2802,14 @@ function isTypeParameterEqual(a, b) {
2799
2802
  return a.hasGenericTypeBound === b.hasGenericTypeBound;
2800
2803
  }
2801
2804
 
2802
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/api.mjs
2805
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/api.mjs
2803
2806
  var ComponentScopeKind;
2804
2807
  (function(ComponentScopeKind2) {
2805
2808
  ComponentScopeKind2[ComponentScopeKind2["NgModule"] = 0] = "NgModule";
2806
2809
  ComponentScopeKind2[ComponentScopeKind2["Standalone"] = 1] = "Standalone";
2807
2810
  })(ComponentScopeKind || (ComponentScopeKind = {}));
2808
2811
 
2809
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/component_scope.mjs
2812
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/component_scope.mjs
2810
2813
  var CompoundComponentScopeReader = class {
2811
2814
  constructor(readers) {
2812
2815
  this.readers = readers;
@@ -2831,7 +2834,7 @@ var CompoundComponentScopeReader = class {
2831
2834
  }
2832
2835
  };
2833
2836
 
2834
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/dependency.mjs
2837
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/dependency.mjs
2835
2838
  var MetadataDtsModuleScopeResolver = class {
2836
2839
  constructor(dtsMetaReader, aliasingHost) {
2837
2840
  this.dtsMetaReader = dtsMetaReader;
@@ -2907,11 +2910,11 @@ var MetadataDtsModuleScopeResolver = class {
2907
2910
  }
2908
2911
  };
2909
2912
 
2910
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/local.mjs
2913
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/local.mjs
2911
2914
  import { ExternalExpr as ExternalExpr3 } from "@angular/compiler";
2912
2915
  import ts12 from "typescript";
2913
2916
 
2914
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/util.mjs
2917
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/util.mjs
2915
2918
  function getDiagnosticNode(ref, rawExpr) {
2916
2919
  return rawExpr !== null ? ref.getOriginForDiagnostics(rawExpr) : ref.node.name;
2917
2920
  }
@@ -2933,8 +2936,11 @@ function makeNotStandaloneDiagnostic(scopeReader, ref, rawExpr, kind) {
2933
2936
  function makeUnknownComponentImportDiagnostic(ref, rawExpr) {
2934
2937
  return makeDiagnostic(ErrorCode.COMPONENT_UNKNOWN_IMPORT, getDiagnosticNode(ref, rawExpr), `Component imports must be standalone components, directives, pipes, or must be NgModules.`);
2935
2938
  }
2939
+ function makeUnknownComponentDeferredImportDiagnostic(ref, rawExpr) {
2940
+ return makeDiagnostic(ErrorCode.COMPONENT_UNKNOWN_DEFERRED_IMPORT, getDiagnosticNode(ref, rawExpr), `Component deferred imports must be standalone components, directives or pipes.`);
2941
+ }
2936
2942
 
2937
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/local.mjs
2943
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/local.mjs
2938
2944
  var LocalModuleScopeRegistry = class {
2939
2945
  constructor(localReader, fullReader, dependencyScopeReader, refEmitter, aliasingHost) {
2940
2946
  this.localReader = localReader;
@@ -3273,7 +3279,7 @@ function reexportCollision(module, refA, refB) {
3273
3279
  ]);
3274
3280
  }
3275
3281
 
3276
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/typecheck.mjs
3282
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/typecheck.mjs
3277
3283
  import { CssSelector, SelectorMatcher } from "@angular/compiler";
3278
3284
  import ts13 from "typescript";
3279
3285
  var TypeCheckScopeRegistry = class {
@@ -3298,24 +3304,30 @@ var TypeCheckScopeRegistry = class {
3298
3304
  isPoisoned: false
3299
3305
  };
3300
3306
  }
3301
- const cacheKey = scope.kind === ComponentScopeKind.NgModule ? scope.ngModule : scope.component;
3302
- const dependencies = scope.kind === ComponentScopeKind.NgModule ? scope.compilation.dependencies : scope.dependencies;
3307
+ const isNgModuleScope = scope.kind === ComponentScopeKind.NgModule;
3308
+ const cacheKey = isNgModuleScope ? scope.ngModule : scope.component;
3309
+ const dependencies = isNgModuleScope ? scope.compilation.dependencies : scope.dependencies;
3303
3310
  if (this.scopeCache.has(cacheKey)) {
3304
3311
  return this.scopeCache.get(cacheKey);
3305
3312
  }
3306
- for (const meta of dependencies) {
3313
+ let allDependencies = dependencies;
3314
+ if (!isNgModuleScope && Array.isArray(scope.deferredDependencies) && scope.deferredDependencies.length > 0) {
3315
+ allDependencies = [...allDependencies, ...scope.deferredDependencies];
3316
+ }
3317
+ for (const meta of allDependencies) {
3307
3318
  if (meta.kind === MetaKind.Directive && meta.selector !== null) {
3308
3319
  const extMeta = this.getTypeCheckDirectiveMetadata(meta.ref);
3309
3320
  if (extMeta === null) {
3310
3321
  continue;
3311
3322
  }
3312
- matcher.addSelectables(CssSelector.parse(meta.selector), [...this.hostDirectivesResolver.resolve(extMeta), extMeta]);
3313
- directives.push(extMeta);
3323
+ const directiveMeta = this.applyExplicitlyDeferredFlag(extMeta, meta.isExplicitlyDeferred);
3324
+ matcher.addSelectables(CssSelector.parse(meta.selector), [...this.hostDirectivesResolver.resolve(directiveMeta), directiveMeta]);
3325
+ directives.push(directiveMeta);
3314
3326
  } else if (meta.kind === MetaKind.Pipe) {
3315
3327
  if (!ts13.isClassDeclaration(meta.ref.node)) {
3316
3328
  throw new Error(`Unexpected non-class declaration ${ts13.SyntaxKind[meta.ref.node.kind]} for pipe ${meta.ref.debugName}`);
3317
3329
  }
3318
- pipes.set(meta.name, meta.ref);
3330
+ pipes.set(meta.name, meta);
3319
3331
  }
3320
3332
  }
3321
3333
  const typeCheckScope = {
@@ -3340,9 +3352,12 @@ var TypeCheckScopeRegistry = class {
3340
3352
  this.flattenedDirectiveMetaCache.set(clazz, meta);
3341
3353
  return meta;
3342
3354
  }
3355
+ applyExplicitlyDeferredFlag(meta, isExplicitlyDeferred) {
3356
+ return isExplicitlyDeferred === true ? { ...meta, isExplicitlyDeferred } : meta;
3357
+ }
3343
3358
  };
3344
3359
 
3345
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/api.mjs
3360
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/api.mjs
3346
3361
  var CompilationMode;
3347
3362
  (function(CompilationMode2) {
3348
3363
  CompilationMode2[CompilationMode2["FULL"] = 0] = "FULL";
@@ -3356,7 +3371,7 @@ var HandlerPrecedence;
3356
3371
  HandlerPrecedence2[HandlerPrecedence2["WEAK"] = 2] = "WEAK";
3357
3372
  })(HandlerPrecedence || (HandlerPrecedence = {}));
3358
3373
 
3359
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/alias.mjs
3374
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/alias.mjs
3360
3375
  import ts14 from "typescript";
3361
3376
  function aliasTransformFactory(exportStatements) {
3362
3377
  return () => {
@@ -3379,10 +3394,10 @@ function aliasTransformFactory(exportStatements) {
3379
3394
  };
3380
3395
  }
3381
3396
 
3382
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/compilation.mjs
3397
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/compilation.mjs
3383
3398
  import ts15 from "typescript";
3384
3399
 
3385
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/trait.mjs
3400
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/trait.mjs
3386
3401
  var TraitState;
3387
3402
  (function(TraitState2) {
3388
3403
  TraitState2[TraitState2["Pending"] = 0] = "Pending";
@@ -3439,7 +3454,7 @@ var TraitImpl = class {
3439
3454
  }
3440
3455
  };
3441
3456
 
3442
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/compilation.mjs
3457
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/compilation.mjs
3443
3458
  var TraitCompiler = class {
3444
3459
  constructor(handlers, reflector, perf, incrementalBuild, compileNonExportedClasses, compilationMode, dtsTransforms, semanticDepGraphUpdater, sourceFileTypeIdentifier) {
3445
3460
  this.handlers = handlers;
@@ -3667,16 +3682,13 @@ var TraitCompiler = class {
3667
3682
  }
3668
3683
  }
3669
3684
  const symbol = this.makeSymbolForTrait(trait.handler, clazz, (_a = result.analysis) != null ? _a : null);
3670
- if (this.compilationMode !== CompilationMode.LOCAL && result.analysis !== void 0 && trait.handler.register !== void 0) {
3685
+ if (result.analysis !== void 0 && trait.handler.register !== void 0) {
3671
3686
  trait.handler.register(clazz, result.analysis);
3672
3687
  }
3673
3688
  trait = trait.toAnalyzed((_b = result.analysis) != null ? _b : null, (_c = result.diagnostics) != null ? _c : null, symbol);
3674
3689
  }
3675
3690
  resolve() {
3676
3691
  var _a, _b;
3677
- if (this.compilationMode === CompilationMode.LOCAL) {
3678
- return;
3679
- }
3680
3692
  const classes = this.classes.keys();
3681
3693
  for (const clazz of classes) {
3682
3694
  const record = this.classes.get(clazz);
@@ -3723,7 +3735,7 @@ var TraitCompiler = class {
3723
3735
  }
3724
3736
  }
3725
3737
  typeCheck(sf, ctx) {
3726
- if (!this.fileToClasses.has(sf)) {
3738
+ if (!this.fileToClasses.has(sf) || this.compilationMode === CompilationMode.LOCAL) {
3727
3739
  return;
3728
3740
  }
3729
3741
  for (const clazz of this.fileToClasses.get(sf)) {
@@ -3814,15 +3826,12 @@ var TraitCompiler = class {
3814
3826
  let res = [];
3815
3827
  for (const trait of record.traits) {
3816
3828
  let compileRes;
3829
+ if (trait.state !== TraitState.Resolved || containsErrors(trait.analysisDiagnostics) || containsErrors(trait.resolveDiagnostics)) {
3830
+ continue;
3831
+ }
3817
3832
  if (this.compilationMode === CompilationMode.LOCAL) {
3818
- if (trait.state !== TraitState.Analyzed || trait.analysis === null || containsErrors(trait.analysisDiagnostics)) {
3819
- continue;
3820
- }
3821
- compileRes = trait.handler.compileLocal(clazz, trait.analysis, constantPool);
3833
+ compileRes = trait.handler.compileLocal(clazz, trait.analysis, trait.resolution, constantPool);
3822
3834
  } else {
3823
- if (trait.state !== TraitState.Resolved || containsErrors(trait.analysisDiagnostics) || containsErrors(trait.resolveDiagnostics)) {
3824
- continue;
3825
- }
3826
3835
  if (this.compilationMode === CompilationMode.PARTIAL && trait.handler.compilePartial !== void 0) {
3827
3836
  compileRes = trait.handler.compilePartial(clazz, trait.analysis, trait.resolution);
3828
3837
  } else {
@@ -3887,10 +3896,10 @@ function containsErrors(diagnostics) {
3887
3896
  return diagnostics !== null && diagnostics.some((diag) => diag.category === ts15.DiagnosticCategory.Error);
3888
3897
  }
3889
3898
 
3890
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/declaration.mjs
3899
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/declaration.mjs
3891
3900
  import ts17 from "typescript";
3892
3901
 
3893
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/utils.mjs
3902
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/utils.mjs
3894
3903
  import ts16 from "typescript";
3895
3904
  function addImports(factory = ts16.factory, importManager, sf, extraStatements = []) {
3896
3905
  const addedImports = importManager.getAllImports(sf.fileName).map((i) => {
@@ -3926,7 +3935,7 @@ function isImportStatement(stmt) {
3926
3935
  return ts16.isImportDeclaration(stmt) || ts16.isImportEqualsDeclaration(stmt) || ts16.isNamespaceImport(stmt);
3927
3936
  }
3928
3937
 
3929
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/declaration.mjs
3938
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/declaration.mjs
3930
3939
  var DtsTransformRegistry = class {
3931
3940
  constructor() {
3932
3941
  this.ivyDeclarationTransforms = /* @__PURE__ */ new Map();
@@ -4073,11 +4082,11 @@ function markForEmitAsSingleLine(node) {
4073
4082
  ts17.forEachChild(node, markForEmitAsSingleLine);
4074
4083
  }
4075
4084
 
4076
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/transform.mjs
4085
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/transform.mjs
4077
4086
  import { ConstantPool } from "@angular/compiler";
4078
4087
  import ts19 from "typescript";
4079
4088
 
4080
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/util/src/visitor.mjs
4089
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/util/src/visitor.mjs
4081
4090
  import ts18 from "typescript";
4082
4091
  function visit(node, visitor, context) {
4083
4092
  return visitor._visit(node, context);
@@ -4138,7 +4147,7 @@ var Visitor = class {
4138
4147
  }
4139
4148
  };
4140
4149
 
4141
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/transform.mjs
4150
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/transform.mjs
4142
4151
  var NO_DECORATORS = /* @__PURE__ */ new Set();
4143
4152
  var CLOSURE_FILE_OVERVIEW_REGEXP = /\s+@fileoverview\s+/i;
4144
4153
  function ivyTransformFactory(compilation, reflector, importRewriter, defaultImportTracker, perf, isCore, isClosureCompilerEnabled) {
@@ -4362,14 +4371,14 @@ function nodeArrayFromDecoratorsArray(decorators) {
4362
4371
  return array;
4363
4372
  }
4364
4373
 
4365
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/handler.mjs
4374
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/handler.mjs
4366
4375
  import { compileClassMetadata, compileDeclareClassMetadata, compileDeclareDirectiveFromMetadata, compileDirectiveFromMetadata, FactoryTarget, makeBindingParser, WrappedNodeExpr as WrappedNodeExpr6 } from "@angular/compiler";
4367
4376
 
4368
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/shared.mjs
4377
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/shared.mjs
4369
4378
  import { createMayBeForwardRefExpression, emitDistinctChangesOnlyDefaultValue, ExternalExpr as ExternalExpr4, getSafePropertyAccessString, parseHostBindings, verifyHostBindings, WrappedNodeExpr as WrappedNodeExpr5 } from "@angular/compiler";
4370
4379
  import ts21 from "typescript";
4371
4380
 
4372
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/input_function.mjs
4381
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/input_function.mjs
4373
4382
  import ts20 from "typescript";
4374
4383
  function tryParseInputInitializerAndOptions(member, reflector, coreModule) {
4375
4384
  if (member.value === null || !ts20.isCallExpression(member.value)) {
@@ -4453,7 +4462,7 @@ function tryParseSignalInputMapping(member, reflector, coreModule) {
4453
4462
  };
4454
4463
  }
4455
4464
 
4456
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/shared.mjs
4465
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/shared.mjs
4457
4466
  var EMPTY_OBJECT = {};
4458
4467
  var QUERY_TYPES = /* @__PURE__ */ new Set([
4459
4468
  "ContentChild",
@@ -5108,7 +5117,7 @@ function toR3InputMetadata(mapping) {
5108
5117
  };
5109
5118
  }
5110
5119
 
5111
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/symbol.mjs
5120
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/symbol.mjs
5112
5121
  var DirectiveSymbol = class extends SemanticSymbol {
5113
5122
  constructor(decl, selector, inputs, outputs, exportAs, typeCheckMeta, typeParameters) {
5114
5123
  super(decl);
@@ -5188,7 +5197,7 @@ function isBaseClassEqual(current, previous) {
5188
5197
  return isSymbolEqual(current, previous);
5189
5198
  }
5190
5199
 
5191
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/handler.mjs
5200
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/handler.mjs
5192
5201
  var FIELD_DECORATORS = [
5193
5202
  "Input",
5194
5203
  "Output",
@@ -5278,6 +5287,9 @@ var DirectiveDecoratorHandler = class {
5278
5287
  return new DirectiveSymbol(node, analysis.meta.selector, analysis.inputs, analysis.outputs, analysis.meta.exportAs, analysis.typeCheckMeta, typeParameters);
5279
5288
  }
5280
5289
  register(node, analysis) {
5290
+ if (this.compilationMode === CompilationMode.LOCAL) {
5291
+ return;
5292
+ }
5281
5293
  const ref = new Reference(node);
5282
5294
  this.metaRegistry.registerDirectiveMetadata({
5283
5295
  kind: MetaKind.Directive,
@@ -5299,17 +5311,22 @@ var DirectiveDecoratorHandler = class {
5299
5311
  isStandalone: analysis.meta.isStandalone,
5300
5312
  isSignal: analysis.meta.isSignal,
5301
5313
  imports: null,
5314
+ deferredImports: null,
5302
5315
  schemas: null,
5303
5316
  ngContentSelectors: null,
5304
5317
  decorator: analysis.decorator,
5305
5318
  preserveWhitespaces: false,
5306
- assumedToExportProviders: false
5319
+ assumedToExportProviders: false,
5320
+ isExplicitlyDeferred: false
5307
5321
  });
5308
5322
  this.injectableRegistry.registerInjectable(node, {
5309
5323
  ctorDeps: analysis.meta.deps
5310
5324
  });
5311
5325
  }
5312
5326
  resolve(node, analysis, symbol) {
5327
+ if (this.compilationMode === CompilationMode.LOCAL) {
5328
+ return {};
5329
+ }
5313
5330
  if (this.semanticDepGraphUpdater !== null && analysis.baseClass instanceof Reference) {
5314
5331
  symbol.baseClass = this.semanticDepGraphUpdater.getSymbol(analysis.baseClass.node);
5315
5332
  }
@@ -5342,7 +5359,7 @@ var DirectiveDecoratorHandler = class {
5342
5359
  const classMetadata = analysis.classMetadata !== null ? compileDeclareClassMetadata(analysis.classMetadata).toStmt() : null;
5343
5360
  return compileResults(fac, def, classMetadata, "\u0275dir", inputTransformFields, null);
5344
5361
  }
5345
- compileLocal(node, analysis, pool) {
5362
+ compileLocal(node, analysis, resolution, pool) {
5346
5363
  const fac = compileNgFactoryDefField(toFactoryMetadata(analysis.meta, FactoryTarget.Directive));
5347
5364
  const def = compileDirectiveFromMetadata(analysis.meta, pool, makeBindingParser());
5348
5365
  const inputTransformFields = compileInputTransformFields(analysis.inputs);
@@ -5362,11 +5379,11 @@ var DirectiveDecoratorHandler = class {
5362
5379
  }
5363
5380
  };
5364
5381
 
5365
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/ng_module/src/handler.mjs
5382
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/ng_module/src/handler.mjs
5366
5383
  import { compileClassMetadata as compileClassMetadata2, compileDeclareClassMetadata as compileDeclareClassMetadata2, compileDeclareInjectorFromMetadata, compileDeclareNgModuleFromMetadata, compileInjector, compileNgModule, ExternalExpr as ExternalExpr5, FactoryTarget as FactoryTarget2, FunctionExpr, InvokeFunctionExpr, LiteralArrayExpr as LiteralArrayExpr2, R3Identifiers, R3NgModuleMetadataKind, R3SelectorScopeMode, ReturnStatement, WrappedNodeExpr as WrappedNodeExpr7 } from "@angular/compiler";
5367
5384
  import ts23 from "typescript";
5368
5385
 
5369
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/ng_module/src/module_with_providers.mjs
5386
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/ng_module/src/module_with_providers.mjs
5370
5387
  import ts22 from "typescript";
5371
5388
  function createModuleWithProvidersResolver(reflector, isCore) {
5372
5389
  function _reflectModuleFromTypeParam(type, node) {
@@ -5433,7 +5450,7 @@ function isResolvedModuleWithProviders(sv) {
5433
5450
  return typeof sv.value === "object" && sv.value != null && sv.value.hasOwnProperty("ngModule") && sv.value.hasOwnProperty("mwpCall");
5434
5451
  }
5435
5452
 
5436
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/ng_module/src/handler.mjs
5453
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/ng_module/src/handler.mjs
5437
5454
  var NgModuleSymbol = class extends SemanticSymbol {
5438
5455
  constructor(decl, hasProviders) {
5439
5456
  super(decl);
@@ -5742,6 +5759,9 @@ var NgModuleDecoratorHandler = class {
5742
5759
  return new NgModuleSymbol(node, analysis.providers !== null);
5743
5760
  }
5744
5761
  register(node, analysis) {
5762
+ if (this.compilationMode === CompilationMode.LOCAL) {
5763
+ return;
5764
+ }
5745
5765
  this.metaRegistry.registerNgModuleMetadata({
5746
5766
  kind: MetaKind.NgModule,
5747
5767
  ref: new Reference(node),
@@ -5760,6 +5780,9 @@ var NgModuleDecoratorHandler = class {
5760
5780
  });
5761
5781
  }
5762
5782
  resolve(node, analysis) {
5783
+ if (this.compilationMode === CompilationMode.LOCAL) {
5784
+ return {};
5785
+ }
5763
5786
  const scope = this.scopeRegistry.getScopeOfModule(node);
5764
5787
  const diagnostics = [];
5765
5788
  const scopeDiagnostics = this.scopeRegistry.getDiagnosticsOfModule(node);
@@ -6002,7 +6025,7 @@ function isSyntheticReference(ref) {
6002
6025
  return ref.synthetic;
6003
6026
  }
6004
6027
 
6005
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/diagnostics.mjs
6028
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/diagnostics.mjs
6006
6029
  function makeCyclicImportInfo(ref, type, cycle) {
6007
6030
  const name = ref.debugName || "(unknown)";
6008
6031
  const path2 = cycle.getPath().map((sf) => sf.fileName).join(" -> ");
@@ -6025,7 +6048,7 @@ function checkCustomElementSelectorForErrors(selector) {
6025
6048
  return null;
6026
6049
  }
6027
6050
 
6028
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/resources.mjs
6051
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/resources.mjs
6029
6052
  import { DEFAULT_INTERPOLATION_CONFIG, InterpolationConfig, ParseSourceFile as ParseSourceFile2, parseTemplate } from "@angular/compiler";
6030
6053
  import ts24 from "typescript";
6031
6054
  function getTemplateDeclarationNodeForError(declaration) {
@@ -6384,7 +6407,7 @@ function _extractTemplateStyleUrls(template) {
6384
6407
  return template.styleUrls.map((url) => ({ url, source: 1, nodeForError }));
6385
6408
  }
6386
6409
 
6387
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/symbol.mjs
6410
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/symbol.mjs
6388
6411
  var ComponentSymbol = class extends DirectiveSymbol {
6389
6412
  constructor() {
6390
6413
  super(...arguments);
@@ -6419,7 +6442,7 @@ var ComponentSymbol = class extends DirectiveSymbol {
6419
6442
  }
6420
6443
  };
6421
6444
 
6422
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/util.mjs
6445
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/util.mjs
6423
6446
  function collectAnimationNames(value, animationTriggerNames) {
6424
6447
  if (value instanceof Map) {
6425
6448
  const name = value.get("name");
@@ -6452,10 +6475,11 @@ var animationTriggerResolver = (fn, node, resolve, unresolvable) => {
6452
6475
  res.set("name", resolve(triggerNameExpression));
6453
6476
  return res;
6454
6477
  };
6455
- function validateAndFlattenComponentImports(imports, expr) {
6478
+ function validateAndFlattenComponentImports(imports, expr, isDeferred) {
6456
6479
  const flattened = [];
6480
+ const errorMessage = isDeferred ? `'deferredImports' must be an array of components, directives, or pipes.` : `'imports' must be an array of components, directives, pipes, or NgModules.`;
6457
6481
  if (!Array.isArray(imports)) {
6458
- const error = createValueHasWrongTypeError(expr, imports, `'imports' must be an array of components, directives, pipes, or NgModules.`).toDiagnostic();
6482
+ const error = createValueHasWrongTypeError(expr, imports, errorMessage).toDiagnostic();
6459
6483
  return {
6460
6484
  imports: [],
6461
6485
  diagnostics: [error]
@@ -6464,23 +6488,23 @@ function validateAndFlattenComponentImports(imports, expr) {
6464
6488
  const diagnostics = [];
6465
6489
  for (const ref of imports) {
6466
6490
  if (Array.isArray(ref)) {
6467
- const { imports: childImports, diagnostics: childDiagnostics } = validateAndFlattenComponentImports(ref, expr);
6491
+ const { imports: childImports, diagnostics: childDiagnostics } = validateAndFlattenComponentImports(ref, expr, isDeferred);
6468
6492
  flattened.push(...childImports);
6469
6493
  diagnostics.push(...childDiagnostics);
6470
6494
  } else if (ref instanceof Reference) {
6471
6495
  if (isNamedClassDeclaration(ref.node)) {
6472
6496
  flattened.push(ref);
6473
6497
  } else {
6474
- diagnostics.push(createValueHasWrongTypeError(ref.getOriginForDiagnostics(expr), ref, `'imports' must be an array of components, directives, pipes, or NgModules.`).toDiagnostic());
6498
+ diagnostics.push(createValueHasWrongTypeError(ref.getOriginForDiagnostics(expr), ref, errorMessage).toDiagnostic());
6475
6499
  }
6476
6500
  } else if (isLikelyModuleWithProviders(ref)) {
6477
6501
  let origin = expr;
6478
6502
  if (ref instanceof SyntheticValue) {
6479
6503
  origin = getOriginNodeForDiagnostics(ref.value.mwpCall, expr);
6480
6504
  }
6481
- diagnostics.push(makeDiagnostic(ErrorCode.COMPONENT_UNKNOWN_IMPORT, origin, `'imports' contains a ModuleWithProviders value, likely the result of a 'Module.forRoot()'-style call. These calls are not used to configure components and are not valid in standalone component imports - consider importing them in the application bootstrap instead.`));
6505
+ diagnostics.push(makeDiagnostic(ErrorCode.COMPONENT_UNKNOWN_IMPORT, origin, `Component imports contains a ModuleWithProviders value, likely the result of a 'Module.forRoot()'-style call. These calls are not used to configure components and are not valid in standalone component imports - consider importing them in the application bootstrap instead.`));
6482
6506
  } else {
6483
- diagnostics.push(createValueHasWrongTypeError(expr, imports, `'imports' must be an array of components, directives, pipes, or NgModules.`).toDiagnostic());
6507
+ diagnostics.push(createValueHasWrongTypeError(expr, imports, errorMessage).toDiagnostic());
6484
6508
  }
6485
6509
  }
6486
6510
  return { imports: flattened, diagnostics };
@@ -6495,7 +6519,7 @@ function isLikelyModuleWithProviders(value) {
6495
6519
  return false;
6496
6520
  }
6497
6521
 
6498
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/handler.mjs
6522
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/handler.mjs
6499
6523
  var EMPTY_ARRAY2 = [];
6500
6524
  var isUsedDirective = (decl) => decl.kind === R3TemplateDependencyKind.Directive;
6501
6525
  var isUsedPipe = (decl) => decl.kind === R3TemplateDependencyKind.Pipe;
@@ -6605,7 +6629,7 @@ var ComponentDecoratorHandler = class {
6605
6629
  ]).then(() => void 0);
6606
6630
  }
6607
6631
  analyze(node, decorator) {
6608
- var _a, _b, _c, _d;
6632
+ var _a, _b, _c, _d, _e;
6609
6633
  this.perf.eventCount(PerfEvent.AnalyzeComponent);
6610
6634
  const containingFile = node.getSourceFile().fileName;
6611
6635
  this.literalCache.delete(decorator);
@@ -6652,23 +6676,38 @@ var ComponentDecoratorHandler = class {
6652
6676
  providersRequiringFactory = resolveProvidersRequiringFactory(component.get("providers"), this.reflector, this.evaluator);
6653
6677
  }
6654
6678
  let resolvedImports = null;
6679
+ let resolvedDeferredImports = null;
6655
6680
  let rawImports = (_b = component.get("imports")) != null ? _b : null;
6656
- if (rawImports && !metadata.isStandalone) {
6681
+ let rawDeferredImports = (_c = component.get("deferredImports")) != null ? _c : null;
6682
+ if ((rawImports || rawDeferredImports) && !metadata.isStandalone) {
6657
6683
  if (diagnostics === void 0) {
6658
6684
  diagnostics = [];
6659
6685
  }
6660
- diagnostics.push(makeDiagnostic(ErrorCode.COMPONENT_NOT_STANDALONE, component.get("imports"), `'imports' is only valid on a component that is standalone.`, [makeRelatedInformation(node.name, `Did you forget to add 'standalone: true' to this @Component?`)]));
6686
+ const importsField = rawImports ? "imports" : "deferredImports";
6687
+ diagnostics.push(makeDiagnostic(ErrorCode.COMPONENT_NOT_STANDALONE, component.get(importsField), `'${importsField}' is only valid on a component that is standalone.`, [makeRelatedInformation(node.name, `Did you forget to add 'standalone: true' to this @Component?`)]));
6661
6688
  isPoisoned = true;
6662
- } else if (this.compilationMode !== CompilationMode.LOCAL && rawImports) {
6663
- const expr = rawImports;
6689
+ } else if (this.compilationMode !== CompilationMode.LOCAL && (rawImports || rawDeferredImports)) {
6664
6690
  const importResolvers = combineResolvers([
6665
6691
  createModuleWithProvidersResolver(this.reflector, this.isCore),
6666
6692
  forwardRefResolver
6667
6693
  ]);
6668
- const imported = this.evaluator.evaluate(expr, importResolvers);
6669
- const { imports: flattened, diagnostics: importDiagnostics } = validateAndFlattenComponentImports(imported, expr);
6670
- resolvedImports = flattened;
6671
- rawImports = expr;
6694
+ const importDiagnostics = [];
6695
+ if (rawImports) {
6696
+ const expr = rawImports;
6697
+ const imported = this.evaluator.evaluate(expr, importResolvers);
6698
+ const { imports: flattened, diagnostics: diagnostics2 } = validateAndFlattenComponentImports(imported, expr, false);
6699
+ importDiagnostics.push(...diagnostics2);
6700
+ resolvedImports = flattened;
6701
+ rawImports = expr;
6702
+ }
6703
+ if (rawDeferredImports) {
6704
+ const expr = rawDeferredImports;
6705
+ const imported = this.evaluator.evaluate(expr, importResolvers);
6706
+ const { imports: flattened, diagnostics: diagnostics2 } = validateAndFlattenComponentImports(imported, expr, true);
6707
+ importDiagnostics.push(...diagnostics2);
6708
+ resolvedDeferredImports = flattened;
6709
+ rawDeferredImports = expr;
6710
+ }
6672
6711
  if (importDiagnostics.length > 0) {
6673
6712
  isPoisoned = true;
6674
6713
  if (diagnostics === void 0) {
@@ -6762,6 +6801,15 @@ var ComponentDecoratorHandler = class {
6762
6801
  if (template.styles.length > 0) {
6763
6802
  styles.push(...template.styles);
6764
6803
  }
6804
+ let explicitlyDeferredTypes = null;
6805
+ if (metadata.isStandalone && rawDeferredImports !== null) {
6806
+ const deferredTypes = this.collectExplicitlyDeferredSymbols(rawDeferredImports);
6807
+ for (const [deferredType, importDetails] of deferredTypes) {
6808
+ explicitlyDeferredTypes != null ? explicitlyDeferredTypes : explicitlyDeferredTypes = /* @__PURE__ */ new Map();
6809
+ explicitlyDeferredTypes.set(importDetails.name, importDetails.from);
6810
+ this.deferredSymbolTracker.markAsDeferrableCandidate(deferredType, importDetails.node, node, true);
6811
+ }
6812
+ }
6765
6813
  const output = {
6766
6814
  analysis: {
6767
6815
  baseClass: readBaseClass(node, this.reflector, this.evaluator),
@@ -6774,7 +6822,7 @@ var ComponentDecoratorHandler = class {
6774
6822
  template,
6775
6823
  encapsulation,
6776
6824
  changeDetection,
6777
- interpolation: (_c = template.interpolationConfig) != null ? _c : DEFAULT_INTERPOLATION_CONFIG2,
6825
+ interpolation: (_d = template.interpolationConfig) != null ? _d : DEFAULT_INTERPOLATION_CONFIG2,
6778
6826
  styles,
6779
6827
  animations,
6780
6828
  viewProviders: wrappedViewProviders,
@@ -6803,8 +6851,11 @@ var ComponentDecoratorHandler = class {
6803
6851
  animationTriggerNames,
6804
6852
  rawImports,
6805
6853
  resolvedImports,
6854
+ rawDeferredImports,
6855
+ resolvedDeferredImports,
6856
+ explicitlyDeferredTypes,
6806
6857
  schemas,
6807
- decorator: (_d = decorator == null ? void 0 : decorator.node) != null ? _d : null
6858
+ decorator: (_e = decorator == null ? void 0 : decorator.node) != null ? _e : null
6808
6859
  },
6809
6860
  diagnostics
6810
6861
  };
@@ -6816,6 +6867,9 @@ var ComponentDecoratorHandler = class {
6816
6867
  }
6817
6868
  register(node, analysis) {
6818
6869
  var _a;
6870
+ if (this.compilationMode === CompilationMode.LOCAL) {
6871
+ return;
6872
+ }
6819
6873
  const ref = new Reference(node);
6820
6874
  this.metaRegistry.registerDirectiveMetadata({
6821
6875
  kind: MetaKind.Directive,
@@ -6836,12 +6890,14 @@ var ComponentDecoratorHandler = class {
6836
6890
  isStandalone: analysis.meta.isStandalone,
6837
6891
  isSignal: analysis.meta.isSignal,
6838
6892
  imports: analysis.resolvedImports,
6893
+ deferredImports: analysis.resolvedDeferredImports,
6839
6894
  animationTriggerNames: analysis.animationTriggerNames,
6840
6895
  schemas: analysis.schemas,
6841
6896
  decorator: analysis.decorator,
6842
6897
  assumedToExportProviders: false,
6843
6898
  ngContentSelectors: analysis.template.ngContentSelectors,
6844
- preserveWhitespaces: (_a = analysis.template.preserveWhitespaces) != null ? _a : false
6899
+ preserveWhitespaces: (_a = analysis.template.preserveWhitespaces) != null ? _a : false,
6900
+ isExplicitlyDeferred: false
6845
6901
  });
6846
6902
  this.resourceRegistry.registerResources(analysis.resources, node);
6847
6903
  this.injectableRegistry.registerInjectable(node, {
@@ -6898,38 +6954,66 @@ var ComponentDecoratorHandler = class {
6898
6954
  return extendedTemplateChecker.getDiagnosticsForComponent(component);
6899
6955
  }
6900
6956
  resolve(node, analysis, symbol) {
6957
+ const metadata = analysis.meta;
6958
+ const diagnostics = [];
6959
+ const context = getSourceFile(node);
6960
+ const nonRemovableImports = this.deferredSymbolTracker.getNonRemovableDeferredImports(context, node);
6961
+ if (nonRemovableImports.length > 0) {
6962
+ for (const importDecl of nonRemovableImports) {
6963
+ const diagnostic = makeDiagnostic(ErrorCode.DEFERRED_DEPENDENCY_IMPORTED_EAGERLY, importDecl, `This import contains symbols used in the \`@Component.deferredImports\` array of the \`${node.name.getText()}\` component, but also some other symbols that are not in any \`@Component.deferredImports\` array. This renders all these defer imports useless as this import remains and its module is eagerly loaded. To fix this, make sure that this import contains *only* symbols that are used within \`@Component.deferredImports\` arrays.`);
6964
+ diagnostics.push(diagnostic);
6965
+ }
6966
+ return { diagnostics };
6967
+ }
6968
+ if (this.compilationMode === CompilationMode.LOCAL) {
6969
+ return {
6970
+ data: {
6971
+ declarationListEmitMode: !analysis.meta.isStandalone || analysis.rawImports !== null ? 3 : 0,
6972
+ declarations: EMPTY_ARRAY2,
6973
+ deferBlocks: this.locateDeferBlocksWithoutScope(analysis.template),
6974
+ deferBlockDepsEmitMode: 1,
6975
+ deferrableDeclToImportDecl: /* @__PURE__ */ new Map(),
6976
+ deferrableTypes: /* @__PURE__ */ new Map()
6977
+ }
6978
+ };
6979
+ }
6901
6980
  if (this.semanticDepGraphUpdater !== null && analysis.baseClass instanceof Reference) {
6902
6981
  symbol.baseClass = this.semanticDepGraphUpdater.getSymbol(analysis.baseClass.node);
6903
6982
  }
6904
6983
  if (analysis.isPoisoned && !this.usePoisonedData) {
6905
6984
  return {};
6906
6985
  }
6907
- const context = getSourceFile(node);
6908
- const metadata = analysis.meta;
6909
6986
  const data = {
6910
6987
  declarations: EMPTY_ARRAY2,
6911
6988
  declarationListEmitMode: 0,
6912
6989
  deferBlocks: /* @__PURE__ */ new Map(),
6913
- deferrableDeclToImportDecl: /* @__PURE__ */ new Map()
6990
+ deferBlockDepsEmitMode: 0,
6991
+ deferrableDeclToImportDecl: /* @__PURE__ */ new Map(),
6992
+ deferrableTypes: /* @__PURE__ */ new Map()
6914
6993
  };
6915
- const diagnostics = [];
6916
6994
  const scope = this.scopeReader.getScopeForComponent(node);
6917
6995
  if (scope !== null) {
6918
- const matcher = new SelectorMatcher2();
6919
- const pipes = /* @__PURE__ */ new Map();
6920
- const dependencies = scope.kind === ComponentScopeKind.NgModule ? scope.compilation.dependencies : scope.dependencies;
6921
- for (const dep of dependencies) {
6922
- if (dep.kind === MetaKind.Directive && dep.selector !== null) {
6923
- matcher.addSelectables(CssSelector2.parse(dep.selector), [dep]);
6924
- } else if (dep.kind === MetaKind.Pipe) {
6925
- pipes.set(dep.name, dep);
6996
+ const isModuleScope = scope.kind === ComponentScopeKind.NgModule;
6997
+ const dependencies = isModuleScope ? scope.compilation.dependencies : scope.dependencies;
6998
+ const explicitlyDeferredDependencies = getExplicitlyDeferredDeps(scope);
6999
+ if (metadata.isStandalone && analysis.rawDeferredImports !== null && explicitlyDeferredDependencies.length > 0) {
7000
+ const diagnostic = validateNoImportOverlap(dependencies, explicitlyDeferredDependencies, analysis.rawDeferredImports);
7001
+ if (diagnostic !== null) {
7002
+ diagnostics.push(diagnostic);
6926
7003
  }
6927
7004
  }
6928
- const binder = new R3TargetBinder(matcher);
7005
+ const binder = createTargetBinder(dependencies);
7006
+ const pipes = extractPipes(dependencies);
7007
+ let allDependencies = dependencies;
7008
+ let deferBlockBinder = binder;
7009
+ if (explicitlyDeferredDependencies.length > 0) {
7010
+ allDependencies = [...explicitlyDeferredDependencies, ...dependencies];
7011
+ deferBlockBinder = createTargetBinder(allDependencies);
7012
+ }
6929
7013
  const bound = binder.bind({ template: metadata.template.nodes });
6930
7014
  const deferBlocks = /* @__PURE__ */ new Map();
6931
7015
  for (const deferBlock of bound.getDeferBlocks()) {
6932
- deferBlocks.set(deferBlock, binder.bind({ template: deferBlock.children }));
7016
+ deferBlocks.set(deferBlock, deferBlockBinder.bind({ template: deferBlock.children }));
6933
7017
  }
6934
7018
  const eagerlyUsed = /* @__PURE__ */ new Set();
6935
7019
  for (const dir of bound.getEagerlyUsedDirectives()) {
@@ -6954,7 +7038,7 @@ var ComponentDecoratorHandler = class {
6954
7038
  }
6955
7039
  }
6956
7040
  const declarations = /* @__PURE__ */ new Map();
6957
- for (const dep of dependencies) {
7041
+ for (const dep of allDependencies) {
6958
7042
  if (declarations.has(dep.ref.node)) {
6959
7043
  continue;
6960
7044
  }
@@ -7008,7 +7092,7 @@ var ComponentDecoratorHandler = class {
7008
7092
  symbol.usedPipes = Array.from(declarations.values()).filter(isUsedPipe).map(getSemanticReference);
7009
7093
  }
7010
7094
  const eagerDeclarations = Array.from(declarations.values()).filter((decl) => decl.kind === R3TemplateDependencyKind.NgModule || eagerlyUsed.has(decl.ref.node));
7011
- this.resolveDeferBlocks(deferBlocks, declarations, data, analysis, eagerlyUsed, bound);
7095
+ this.resolveDeferBlocks(node, deferBlocks, declarations, data, analysis, eagerlyUsed, bound);
7012
7096
  const cyclesFromDirectives = /* @__PURE__ */ new Map();
7013
7097
  const cyclesFromPipes = /* @__PURE__ */ new Map();
7014
7098
  if (!metadata.isStandalone) {
@@ -7059,19 +7143,15 @@ var ComponentDecoratorHandler = class {
7059
7143
  }
7060
7144
  }
7061
7145
  } else {
7062
- const directivelessBinder = new R3TargetBinder(new SelectorMatcher2());
7063
- const bound = directivelessBinder.bind({ template: metadata.template.nodes });
7064
- const deferredBlocks = bound.getDeferBlocks();
7065
- const triggerElements = /* @__PURE__ */ new Map();
7066
- for (const block of deferredBlocks) {
7067
- this.resolveDeferTriggers(block, block.triggers, bound, triggerElements);
7068
- this.resolveDeferTriggers(block, block.prefetchTriggers, bound, triggerElements);
7069
- data.deferBlocks.set(block, { deps: [], triggerElements });
7070
- }
7146
+ data.deferBlocks = this.locateDeferBlocksWithoutScope(metadata.template);
7071
7147
  }
7072
7148
  if (analysis.resolvedImports !== null && analysis.rawImports !== null) {
7073
- const standaloneDiagnostics = validateStandaloneImports(analysis.resolvedImports, analysis.rawImports, this.metaReader, this.scopeReader);
7074
- diagnostics.push(...standaloneDiagnostics);
7149
+ const importDiagnostics = validateStandaloneImports(analysis.resolvedImports, analysis.rawImports, this.metaReader, this.scopeReader, false);
7150
+ diagnostics.push(...importDiagnostics);
7151
+ }
7152
+ if (analysis.resolvedDeferredImports !== null && analysis.rawDeferredImports !== null) {
7153
+ const importDiagnostics = validateStandaloneImports(analysis.resolvedDeferredImports, analysis.rawDeferredImports, this.metaReader, this.scopeReader, true);
7154
+ diagnostics.push(...importDiagnostics);
7075
7155
  }
7076
7156
  if (analysis.providersRequiringFactory !== null && analysis.meta.providers instanceof WrappedNodeExpr8) {
7077
7157
  const providerDiagnostics = getProviderDiagnostics(analysis.providersRequiringFactory, analysis.meta.providers.node, this.injectableRegistry);
@@ -7085,9 +7165,9 @@ var ComponentDecoratorHandler = class {
7085
7165
  if (directiveDiagnostics !== null) {
7086
7166
  diagnostics.push(...directiveDiagnostics);
7087
7167
  }
7088
- const hostDirectivesDiagnotics = analysis.hostDirectives && analysis.rawHostDirectives ? validateHostDirectives(analysis.rawHostDirectives, analysis.hostDirectives, this.metaReader) : null;
7089
- if (hostDirectivesDiagnotics !== null) {
7090
- diagnostics.push(...hostDirectivesDiagnotics);
7168
+ const hostDirectivesDiagnostics = analysis.hostDirectives && analysis.rawHostDirectives ? validateHostDirectives(analysis.rawHostDirectives, analysis.hostDirectives, this.metaReader) : null;
7169
+ if (hostDirectivesDiagnostics !== null) {
7170
+ diagnostics.push(...hostDirectivesDiagnostics);
7091
7171
  }
7092
7172
  if (diagnostics.length > 0) {
7093
7173
  return { diagnostics };
@@ -7126,30 +7206,17 @@ var ComponentDecoratorHandler = class {
7126
7206
  analysis.meta.styles = styles.filter((s) => s.trim().length > 0);
7127
7207
  }
7128
7208
  compileFull(node, analysis, resolution, pool) {
7129
- var _a;
7130
7209
  if (analysis.template.errors !== null && analysis.template.errors.length > 0) {
7131
7210
  return [];
7132
7211
  }
7133
- const deferrableTypes = /* @__PURE__ */ new Map();
7134
- for (const [_, metadata] of resolution.deferBlocks) {
7135
- for (const deferBlockDep of metadata.deps) {
7136
- const dep = deferBlockDep;
7137
- const classDecl = dep.classDeclaration;
7138
- const importDecl = (_a = resolution.deferrableDeclToImportDecl.get(classDecl)) != null ? _a : null;
7139
- if (importDecl && this.deferredSymbolTracker.canDefer(importDecl)) {
7140
- deferBlockDep.isDeferrable = true;
7141
- deferBlockDep.importPath = importDecl.moduleSpecifier.text;
7142
- deferrableTypes.set(deferBlockDep.symbolName, deferBlockDep.importPath);
7143
- }
7144
- }
7145
- }
7146
- const meta = { ...analysis.meta, ...resolution };
7212
+ const deferrableTypes = this.collectDeferredSymbols(resolution);
7213
+ const meta = {
7214
+ ...analysis.meta,
7215
+ ...resolution,
7216
+ deferrableTypes
7217
+ };
7147
7218
  const fac = compileNgFactoryDefField(toFactoryMetadata(meta, FactoryTarget3.Component));
7148
- if (analysis.classMetadata) {
7149
- const deferrableSymbols = new Set(deferrableTypes.keys());
7150
- const rewrittenDecoratorsNode = removeIdentifierReferences(analysis.classMetadata.decorators.node, deferrableSymbols);
7151
- analysis.classMetadata.decorators = new WrappedNodeExpr8(rewrittenDecoratorsNode);
7152
- }
7219
+ removeDeferrableTypesFromComponentDecorator(analysis, deferrableTypes);
7153
7220
  const def = compileComponentFromMetadata(meta, pool, makeBindingParser2());
7154
7221
  const inputTransformFields = compileInputTransformFields(analysis.inputs);
7155
7222
  const classMetadata = analysis.classMetadata !== null ? compileComponentClassMetadata(analysis.classMetadata, deferrableTypes).toStmt() : null;
@@ -7174,23 +7241,73 @@ var ComponentDecoratorHandler = class {
7174
7241
  const classMetadata = analysis.classMetadata !== null ? compileDeclareClassMetadata3(analysis.classMetadata).toStmt() : null;
7175
7242
  return compileResults(fac, def, classMetadata, "\u0275cmp", inputTransformFields, null);
7176
7243
  }
7177
- compileLocal(node, analysis, pool) {
7244
+ compileLocal(node, analysis, resolution, pool) {
7178
7245
  if (analysis.template.errors !== null && analysis.template.errors.length > 0) {
7179
7246
  return [];
7180
7247
  }
7248
+ const deferrableTypes = analysis.explicitlyDeferredTypes;
7181
7249
  const meta = {
7182
7250
  ...analysis.meta,
7183
- declarationListEmitMode: !analysis.meta.isStandalone || analysis.rawImports !== null ? 3 : 0,
7184
- declarations: EMPTY_ARRAY2,
7185
- deferBlocks: /* @__PURE__ */ new Map(),
7186
- deferrableDeclToImportDecl: /* @__PURE__ */ new Map()
7251
+ ...resolution,
7252
+ deferrableTypes: deferrableTypes != null ? deferrableTypes : /* @__PURE__ */ new Map()
7187
7253
  };
7254
+ if (analysis.explicitlyDeferredTypes !== null) {
7255
+ removeDeferrableTypesFromComponentDecorator(analysis, analysis.explicitlyDeferredTypes);
7256
+ }
7188
7257
  const fac = compileNgFactoryDefField(toFactoryMetadata(meta, FactoryTarget3.Component));
7189
7258
  const def = compileComponentFromMetadata(meta, pool, makeBindingParser2());
7190
7259
  const inputTransformFields = compileInputTransformFields(analysis.inputs);
7191
- const classMetadata = analysis.classMetadata !== null ? compileClassMetadata3(analysis.classMetadata).toStmt() : null;
7260
+ const classMetadata = analysis.classMetadata !== null ? compileComponentClassMetadata(analysis.classMetadata, deferrableTypes).toStmt() : null;
7192
7261
  const debugInfo = analysis.classDebugInfo !== null ? compileClassDebugInfo(analysis.classDebugInfo).toStmt() : null;
7193
- return compileResults(fac, def, classMetadata, "\u0275cmp", inputTransformFields, null, debugInfo);
7262
+ const deferrableImports = this.deferredSymbolTracker.getDeferrableImportDecls();
7263
+ return compileResults(fac, def, classMetadata, "\u0275cmp", inputTransformFields, deferrableImports, debugInfo);
7264
+ }
7265
+ locateDeferBlocksWithoutScope(template) {
7266
+ const deferBlocks = /* @__PURE__ */ new Map();
7267
+ const directivelessBinder = new R3TargetBinder(new SelectorMatcher2());
7268
+ const bound = directivelessBinder.bind({ template: template.nodes });
7269
+ const deferredBlocks = bound.getDeferBlocks();
7270
+ const triggerElements = /* @__PURE__ */ new Map();
7271
+ for (const block of deferredBlocks) {
7272
+ this.resolveDeferTriggers(block, block.triggers, bound, triggerElements);
7273
+ this.resolveDeferTriggers(block, block.prefetchTriggers, bound, triggerElements);
7274
+ deferBlocks.set(block, { deps: [], triggerElements });
7275
+ }
7276
+ return deferBlocks;
7277
+ }
7278
+ collectDeferredSymbols(resolution) {
7279
+ var _a;
7280
+ const deferrableTypes = /* @__PURE__ */ new Map();
7281
+ for (const [_, metadata] of resolution.deferBlocks) {
7282
+ for (const deferBlockDep of metadata.deps) {
7283
+ const dep = deferBlockDep;
7284
+ const classDecl = dep.classDeclaration;
7285
+ const importDecl = (_a = resolution.deferrableDeclToImportDecl.get(classDecl)) != null ? _a : null;
7286
+ if (importDecl !== null && this.deferredSymbolTracker.canDefer(importDecl)) {
7287
+ deferBlockDep.isDeferrable = true;
7288
+ deferBlockDep.importPath = importDecl.moduleSpecifier.text;
7289
+ deferrableTypes.set(deferBlockDep.symbolName, deferBlockDep.importPath);
7290
+ }
7291
+ }
7292
+ }
7293
+ return deferrableTypes;
7294
+ }
7295
+ collectExplicitlyDeferredSymbols(rawDeferredImports) {
7296
+ const deferredTypes = /* @__PURE__ */ new Map();
7297
+ if (!ts25.isArrayLiteralExpression(rawDeferredImports)) {
7298
+ return deferredTypes;
7299
+ }
7300
+ for (const element of rawDeferredImports.elements) {
7301
+ const node = tryUnwrapForwardRef(element, this.reflector) || element;
7302
+ if (!ts25.isIdentifier(node)) {
7303
+ continue;
7304
+ }
7305
+ const imp = this.reflector.getImportOfIdentifier(node);
7306
+ if (imp !== null) {
7307
+ deferredTypes.set(node, imp);
7308
+ }
7309
+ }
7310
+ return deferredTypes;
7194
7311
  }
7195
7312
  _checkForCyclicImport(importedFile, expr, origin) {
7196
7313
  const imported = resolveImportedFile(this.moduleResolver, importedFile, expr, origin);
@@ -7206,7 +7323,7 @@ var ComponentDecoratorHandler = class {
7206
7323
  }
7207
7324
  this.cycleAnalyzer.recordSyntheticImport(origin, imported);
7208
7325
  }
7209
- resolveDeferBlocks(deferBlocks, deferrableDecls, resolutionData, analysisData, eagerlyUsedDecls, componentBoundTarget) {
7326
+ resolveDeferBlocks(componentClassDecl, deferBlocks, deferrableDecls, resolutionData, analysisData, eagerlyUsedDecls, componentBoundTarget) {
7210
7327
  const allDeferredDecls = /* @__PURE__ */ new Set();
7211
7328
  for (const [deferBlock, bound] of deferBlocks) {
7212
7329
  const usedDirectives = new Set(bound.getEagerlyUsedDirectives().map((d) => d.ref.node));
@@ -7236,43 +7353,54 @@ var ComponentDecoratorHandler = class {
7236
7353
  this.resolveDeferTriggers(deferBlock, deferBlock.prefetchTriggers, componentBoundTarget, triggerElements);
7237
7354
  resolutionData.deferBlocks.set(deferBlock, { deps, triggerElements });
7238
7355
  }
7239
- if (analysisData.meta.isStandalone && analysisData.rawImports !== null && ts25.isArrayLiteralExpression(analysisData.rawImports)) {
7240
- for (const element of analysisData.rawImports.elements) {
7241
- const node = tryUnwrapForwardRef(element, this.reflector) || element;
7242
- if (!ts25.isIdentifier(node)) {
7243
- continue;
7244
- }
7245
- const imp = this.reflector.getImportOfIdentifier(node);
7246
- if (imp === null) {
7247
- continue;
7248
- }
7249
- const decl = this.reflector.getDeclarationOfIdentifier(node);
7250
- if (decl === null) {
7251
- continue;
7252
- }
7253
- if (!isNamedClassDeclaration(decl.node)) {
7254
- continue;
7255
- }
7256
- if (!allDeferredDecls.has(decl.node)) {
7257
- continue;
7258
- }
7259
- if (eagerlyUsedDecls.has(decl.node)) {
7260
- continue;
7261
- }
7262
- const dirMeta = this.metaReader.getDirectiveMetadata(new Reference(decl.node));
7263
- if (dirMeta !== null && !dirMeta.isStandalone) {
7264
- continue;
7265
- }
7266
- const pipeMeta = this.metaReader.getPipeMetadata(new Reference(decl.node));
7267
- if (pipeMeta !== null && !pipeMeta.isStandalone) {
7268
- continue;
7269
- }
7270
- if (dirMeta === null && pipeMeta === null) {
7271
- continue;
7272
- }
7273
- resolutionData.deferrableDeclToImportDecl.set(decl.node, imp.node);
7274
- this.deferredSymbolTracker.markAsDeferrableCandidate(node, imp.node);
7356
+ if (analysisData.meta.isStandalone) {
7357
+ if (analysisData.rawImports !== null) {
7358
+ this.registerDeferrableCandidates(componentClassDecl, analysisData.rawImports, false, allDeferredDecls, eagerlyUsedDecls, resolutionData);
7359
+ }
7360
+ if (analysisData.rawDeferredImports !== null) {
7361
+ this.registerDeferrableCandidates(componentClassDecl, analysisData.rawDeferredImports, true, allDeferredDecls, eagerlyUsedDecls, resolutionData);
7362
+ }
7363
+ }
7364
+ }
7365
+ registerDeferrableCandidates(componentClassDecl, importsExpr, isDeferredImport, allDeferredDecls, eagerlyUsedDecls, resolutionData) {
7366
+ if (!ts25.isArrayLiteralExpression(importsExpr)) {
7367
+ return;
7368
+ }
7369
+ for (const element of importsExpr.elements) {
7370
+ const node = tryUnwrapForwardRef(element, this.reflector) || element;
7371
+ if (!ts25.isIdentifier(node)) {
7372
+ continue;
7373
+ }
7374
+ const imp = this.reflector.getImportOfIdentifier(node);
7375
+ if (imp === null) {
7376
+ continue;
7377
+ }
7378
+ const decl = this.reflector.getDeclarationOfIdentifier(node);
7379
+ if (decl === null) {
7380
+ continue;
7381
+ }
7382
+ if (!isNamedClassDeclaration(decl.node)) {
7383
+ continue;
7384
+ }
7385
+ if (!allDeferredDecls.has(decl.node)) {
7386
+ continue;
7387
+ }
7388
+ if (eagerlyUsedDecls.has(decl.node)) {
7389
+ continue;
7390
+ }
7391
+ const dirMeta = this.metaReader.getDirectiveMetadata(new Reference(decl.node));
7392
+ if (dirMeta !== null && !dirMeta.isStandalone) {
7393
+ continue;
7275
7394
  }
7395
+ const pipeMeta = this.metaReader.getPipeMetadata(new Reference(decl.node));
7396
+ if (pipeMeta !== null && !pipeMeta.isStandalone) {
7397
+ continue;
7398
+ }
7399
+ if (dirMeta === null && pipeMeta === null) {
7400
+ continue;
7401
+ }
7402
+ resolutionData.deferrableDeclToImportDecl.set(decl.node, imp.node);
7403
+ this.deferredSymbolTracker.markAsDeferrableCandidate(node, imp.node, componentClassDecl, isDeferredImport);
7276
7404
  }
7277
7405
  }
7278
7406
  resolveDeferTriggers(block, triggers, componentBoundTarget, triggerElements) {
@@ -7282,7 +7410,50 @@ var ComponentDecoratorHandler = class {
7282
7410
  });
7283
7411
  }
7284
7412
  };
7285
- function validateStandaloneImports(importRefs, importExpr, metaReader, scopeReader) {
7413
+ function createTargetBinder(dependencies) {
7414
+ const matcher = new SelectorMatcher2();
7415
+ for (const dep of dependencies) {
7416
+ if (dep.kind === MetaKind.Directive && dep.selector !== null) {
7417
+ matcher.addSelectables(CssSelector2.parse(dep.selector), [dep]);
7418
+ }
7419
+ }
7420
+ return new R3TargetBinder(matcher);
7421
+ }
7422
+ function getExplicitlyDeferredDeps(scope) {
7423
+ return scope.kind === ComponentScopeKind.NgModule ? [] : scope.deferredDependencies;
7424
+ }
7425
+ function extractPipes(dependencies) {
7426
+ const pipes = /* @__PURE__ */ new Map();
7427
+ for (const dep of dependencies) {
7428
+ if (dep.kind === MetaKind.Pipe) {
7429
+ pipes.set(dep.name, dep);
7430
+ }
7431
+ }
7432
+ return pipes;
7433
+ }
7434
+ function removeDeferrableTypesFromComponentDecorator(analysis, deferrableTypes) {
7435
+ if (analysis.classMetadata) {
7436
+ const deferrableSymbols = new Set(deferrableTypes.keys());
7437
+ const rewrittenDecoratorsNode = removeIdentifierReferences(analysis.classMetadata.decorators.node, deferrableSymbols);
7438
+ analysis.classMetadata.decorators = new WrappedNodeExpr8(rewrittenDecoratorsNode);
7439
+ }
7440
+ }
7441
+ function validateNoImportOverlap(eagerDeps, deferredDeps, rawDeferredImports) {
7442
+ let diagnostic = null;
7443
+ const eagerDepsSet = /* @__PURE__ */ new Set();
7444
+ for (const eagerDep of eagerDeps) {
7445
+ eagerDepsSet.add(eagerDep.ref.node);
7446
+ }
7447
+ for (const deferredDep of deferredDeps) {
7448
+ if (eagerDepsSet.has(deferredDep.ref.node)) {
7449
+ const classInfo = deferredDep.ref.debugName ? `The \`${deferredDep.ref.debugName}\`` : "One of the dependencies";
7450
+ diagnostic = makeDiagnostic(ErrorCode.DEFERRED_DEPENDENCY_IMPORTED_EAGERLY, getDiagnosticNode(deferredDep.ref, rawDeferredImports), `\`${classInfo}\` is imported via both \`@Component.imports\` and \`@Component.deferredImports\`. To fix this, make sure that dependencies are imported only once.`);
7451
+ break;
7452
+ }
7453
+ }
7454
+ return diagnostic;
7455
+ }
7456
+ function validateStandaloneImports(importRefs, importExpr, metaReader, scopeReader, isDeferredImport) {
7286
7457
  const diagnostics = [];
7287
7458
  for (const ref of importRefs) {
7288
7459
  const dirMeta = metaReader.getDirectiveMetadata(ref);
@@ -7300,16 +7471,17 @@ function validateStandaloneImports(importRefs, importExpr, metaReader, scopeRead
7300
7471
  continue;
7301
7472
  }
7302
7473
  const ngModuleMeta = metaReader.getNgModuleMetadata(ref);
7303
- if (ngModuleMeta !== null) {
7474
+ if (!isDeferredImport && ngModuleMeta !== null) {
7304
7475
  continue;
7305
7476
  }
7306
- diagnostics.push(makeUnknownComponentImportDiagnostic(ref, importExpr));
7477
+ const error = isDeferredImport ? makeUnknownComponentDeferredImportDiagnostic(ref, importExpr) : makeUnknownComponentImportDiagnostic(ref, importExpr);
7478
+ diagnostics.push(error);
7307
7479
  }
7308
7480
  return diagnostics;
7309
7481
  }
7310
7482
 
7311
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/src/injectable.mjs
7312
- import { compileClassMetadata as compileClassMetadata4, compileDeclareClassMetadata as compileDeclareClassMetadata4, compileDeclareInjectableFromMetadata, compileInjectable, createMayBeForwardRefExpression as createMayBeForwardRefExpression2, FactoryTarget as FactoryTarget4, LiteralExpr as LiteralExpr3, WrappedNodeExpr as WrappedNodeExpr9 } from "@angular/compiler";
7483
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/src/injectable.mjs
7484
+ import { compileClassMetadata as compileClassMetadata3, compileDeclareClassMetadata as compileDeclareClassMetadata4, compileDeclareInjectableFromMetadata, compileInjectable, createMayBeForwardRefExpression as createMayBeForwardRefExpression2, FactoryTarget as FactoryTarget4, LiteralExpr as LiteralExpr3, WrappedNodeExpr as WrappedNodeExpr9 } from "@angular/compiler";
7313
7485
  import ts26 from "typescript";
7314
7486
  var InjectableDecoratorHandler = class {
7315
7487
  constructor(reflector, evaluator, isCore, strictCtorDeps, injectableRegistry, perf, includeClassMetadata, compilationMode, errorOnDuplicateProv = true) {
@@ -7357,11 +7529,17 @@ var InjectableDecoratorHandler = class {
7357
7529
  return null;
7358
7530
  }
7359
7531
  register(node, analysis) {
7532
+ if (this.compilationMode === CompilationMode.LOCAL) {
7533
+ return;
7534
+ }
7360
7535
  this.injectableRegistry.registerInjectable(node, {
7361
7536
  ctorDeps: analysis.ctorDeps
7362
7537
  });
7363
7538
  }
7364
- resolve(node, analysis, symbol) {
7539
+ resolve(node, analysis) {
7540
+ if (this.compilationMode === CompilationMode.LOCAL) {
7541
+ return {};
7542
+ }
7365
7543
  if (requiresValidCtor(analysis.meta)) {
7366
7544
  const diagnostic = checkInheritanceOfInjectable(node, this.injectableRegistry, this.reflector, this.evaluator, this.strictCtorDeps, "Injectable");
7367
7545
  if (diagnostic !== null) {
@@ -7373,13 +7551,13 @@ var InjectableDecoratorHandler = class {
7373
7551
  return {};
7374
7552
  }
7375
7553
  compileFull(node, analysis) {
7376
- return this.compile(compileNgFactoryDefField, (meta) => compileInjectable(meta, false), compileClassMetadata4, node, analysis);
7554
+ return this.compile(compileNgFactoryDefField, (meta) => compileInjectable(meta, false), compileClassMetadata3, node, analysis);
7377
7555
  }
7378
7556
  compilePartial(node, analysis) {
7379
7557
  return this.compile(compileDeclareFactory, compileDeclareInjectableFromMetadata, compileDeclareClassMetadata4, node, analysis);
7380
7558
  }
7381
7559
  compileLocal(node, analysis) {
7382
- return this.compile(compileNgFactoryDefField, (meta) => compileInjectable(meta, false), compileClassMetadata4, node, analysis);
7560
+ return this.compile(compileNgFactoryDefField, (meta) => compileInjectable(meta, false), compileClassMetadata3, node, analysis);
7383
7561
  }
7384
7562
  compile(compileFactoryFn, compileInjectableFn, compileClassMetadataFn, node, analysis) {
7385
7563
  const results = [];
@@ -7534,8 +7712,8 @@ function getDep(dep, reflector) {
7534
7712
  return meta;
7535
7713
  }
7536
7714
 
7537
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/src/pipe.mjs
7538
- import { compileClassMetadata as compileClassMetadata5, compileDeclareClassMetadata as compileDeclareClassMetadata5, compileDeclarePipeFromMetadata, compilePipeFromMetadata, FactoryTarget as FactoryTarget5 } from "@angular/compiler";
7715
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/src/pipe.mjs
7716
+ import { compileClassMetadata as compileClassMetadata4, compileDeclareClassMetadata as compileDeclareClassMetadata5, compileDeclarePipeFromMetadata, compilePipeFromMetadata, FactoryTarget as FactoryTarget5 } from "@angular/compiler";
7539
7717
  import ts27 from "typescript";
7540
7718
  var PipeSymbol = class extends SemanticSymbol {
7541
7719
  constructor(decl, name) {
@@ -7644,6 +7822,9 @@ var PipeDecoratorHandler = class {
7644
7822
  return new PipeSymbol(node, analysis.meta.pipeName);
7645
7823
  }
7646
7824
  register(node, analysis) {
7825
+ if (this.compilationMode === CompilationMode.LOCAL) {
7826
+ return;
7827
+ }
7647
7828
  const ref = new Reference(node);
7648
7829
  this.metaRegistry.registerPipeMetadata({
7649
7830
  kind: MetaKind.Pipe,
@@ -7651,13 +7832,17 @@ var PipeDecoratorHandler = class {
7651
7832
  name: analysis.meta.pipeName,
7652
7833
  nameExpr: analysis.pipeNameExpr,
7653
7834
  isStandalone: analysis.meta.isStandalone,
7654
- decorator: analysis.decorator
7835
+ decorator: analysis.decorator,
7836
+ isExplicitlyDeferred: false
7655
7837
  });
7656
7838
  this.injectableRegistry.registerInjectable(node, {
7657
7839
  ctorDeps: analysis.meta.deps
7658
7840
  });
7659
7841
  }
7660
7842
  resolve(node) {
7843
+ if (this.compilationMode === CompilationMode.LOCAL) {
7844
+ return {};
7845
+ }
7661
7846
  const duplicateDeclData = this.scopeRegistry.getDuplicateDeclarations(node);
7662
7847
  if (duplicateDeclData !== null) {
7663
7848
  return {
@@ -7669,7 +7854,7 @@ var PipeDecoratorHandler = class {
7669
7854
  compileFull(node, analysis) {
7670
7855
  const fac = compileNgFactoryDefField(toFactoryMetadata(analysis.meta, FactoryTarget5.Pipe));
7671
7856
  const def = compilePipeFromMetadata(analysis.meta);
7672
- const classMetadata = analysis.classMetadata !== null ? compileClassMetadata5(analysis.classMetadata).toStmt() : null;
7857
+ const classMetadata = analysis.classMetadata !== null ? compileClassMetadata4(analysis.classMetadata).toStmt() : null;
7673
7858
  return compileResults(fac, def, classMetadata, "\u0275pipe", null, null);
7674
7859
  }
7675
7860
  compilePartial(node, analysis) {
@@ -7681,7 +7866,7 @@ var PipeDecoratorHandler = class {
7681
7866
  compileLocal(node, analysis) {
7682
7867
  const fac = compileNgFactoryDefField(toFactoryMetadata(analysis.meta, FactoryTarget5.Pipe));
7683
7868
  const def = compilePipeFromMetadata(analysis.meta);
7684
- const classMetadata = analysis.classMetadata !== null ? compileClassMetadata5(analysis.classMetadata).toStmt() : null;
7869
+ const classMetadata = analysis.classMetadata !== null ? compileClassMetadata4(analysis.classMetadata).toStmt() : null;
7685
7870
  return compileResults(fac, def, classMetadata, "\u0275pipe", null, null);
7686
7871
  }
7687
7872
  };
@@ -7736,4 +7921,4 @@ export {
7736
7921
  * Use of this source code is governed by an MIT-style license that can be
7737
7922
  * found in the LICENSE file at https://angular.io/license
7738
7923
  */
7739
- //# sourceMappingURL=chunk-YS2EFQ7B.js.map
7924
+ //# sourceMappingURL=chunk-GM44CTB7.js.map