@angular/compiler-cli 17.1.0-next.5 → 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 (79) hide show
  1. package/bundles/{chunk-EFMKZSXJ.js → chunk-3WRR7A6G.js} +876 -34
  2. package/bundles/chunk-3WRR7A6G.js.map +6 -0
  3. package/bundles/{chunk-BLWWEEEL.js → chunk-5KZ4IU2X.js} +5 -5
  4. package/bundles/{chunk-SBDNBITT.js → chunk-CF2CT7RQ.js} +3 -3
  5. package/bundles/{chunk-U4EFDEE4.js → chunk-GM44CTB7.js} +497 -320
  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-YGXKICXB.js → chunk-MLI2QFE3.js} +94 -11
  10. package/bundles/chunk-MLI2QFE3.js.map +6 -0
  11. package/bundles/{chunk-OZXTEOXW.js → chunk-P34DHQ65.js} +50 -30
  12. package/bundles/chunk-P34DHQ65.js.map +6 -0
  13. package/bundles/chunk-TGR3NXO6.js +62 -0
  14. package/bundles/chunk-TGR3NXO6.js.map +6 -0
  15. package/bundles/{chunk-WCD6LVCP.js → chunk-WMUBJYYX.js} +7 -7
  16. package/bundles/{chunk-N5SJSJNW.js → chunk-YFIBJR5K.js} +203 -149
  17. package/bundles/chunk-YFIBJR5K.js.map +6 -0
  18. package/bundles/index.js +14 -12
  19. package/bundles/index.js.map +1 -1
  20. package/bundles/linker/babel/index.js +15 -13
  21. package/bundles/linker/babel/index.js.map +1 -1
  22. package/bundles/linker/index.js +4 -5
  23. package/bundles/ngcc/index.js +1 -1
  24. package/bundles/private/bazel.js +1 -1
  25. package/bundles/private/localize.js +3 -3
  26. package/bundles/private/migrations.js +8 -7
  27. package/bundles/private/tooling.js +7 -3
  28. package/bundles/src/bin/ng_xi18n.js +10 -10
  29. package/bundles/src/bin/ngc.js +8 -8
  30. package/bundles_metadata.json +1 -1
  31. package/linker/babel/src/ast/babel_ast_host.d.ts +1 -0
  32. package/linker/src/ast/ast_host.d.ts +4 -0
  33. package/linker/src/ast/ast_value.d.ts +8 -1
  34. package/linker/src/ast/typescript/typescript_ast_host.d.ts +1 -0
  35. package/linker/src/file_linker/partial_linkers/util.d.ts +1 -1
  36. package/package.json +2 -2
  37. package/private/tooling.d.ts +22 -6
  38. package/src/ngtsc/annotations/component/src/handler.d.ts +21 -1
  39. package/src/ngtsc/annotations/component/src/metadata.d.ts +7 -1
  40. package/src/ngtsc/annotations/component/src/util.d.ts +1 -1
  41. package/src/ngtsc/annotations/directive/index.d.ts +1 -0
  42. package/src/ngtsc/annotations/directive/src/handler.d.ts +1 -1
  43. package/src/ngtsc/annotations/directive/src/input_function.d.ts +4 -13
  44. package/src/ngtsc/annotations/directive/src/shared.d.ts +2 -2
  45. package/src/ngtsc/annotations/index.d.ts +2 -2
  46. package/src/ngtsc/annotations/src/injectable.d.ts +1 -1
  47. package/src/ngtsc/core/api/src/public_options.d.ts +10 -0
  48. package/src/ngtsc/diagnostics/src/error_code.d.ts +26 -0
  49. package/src/ngtsc/imports/src/deferred_symbol_tracker.d.ts +16 -2
  50. package/src/ngtsc/metadata/src/api.d.ts +11 -0
  51. package/src/ngtsc/scope/src/api.d.ts +1 -0
  52. package/src/ngtsc/scope/src/typecheck.d.ts +3 -3
  53. package/src/ngtsc/scope/src/util.d.ts +1 -0
  54. package/src/ngtsc/transform/index.d.ts +1 -0
  55. package/src/ngtsc/transform/src/api.d.ts +1 -1
  56. package/src/ngtsc/transform/src/utils.d.ts +1 -1
  57. package/src/ngtsc/translator/src/api/ast_factory.d.ts +1 -1
  58. package/src/ngtsc/translator/src/import_manager.d.ts +2 -1
  59. package/src/ngtsc/typecheck/api/api.d.ts +3 -2
  60. package/src/ngtsc/typecheck/api/context.d.ts +2 -1
  61. package/src/ngtsc/typecheck/src/context.d.ts +2 -1
  62. package/src/ngtsc/typecheck/src/oob.d.ts +20 -0
  63. package/src/ngtsc/typecheck/src/tcb_util.d.ts +1 -1
  64. package/src/ngtsc/typecheck/src/type_check_block.d.ts +3 -2
  65. package/src/transformers/{downlevel_decorators_transform → jit_transforms}/index.d.ts +1 -0
  66. package/src/transformers/jit_transforms/signal_inputs_metadata_transform.d.ts +21 -0
  67. package/bundles/chunk-EFMKZSXJ.js.map +0 -6
  68. package/bundles/chunk-MFE4YVWE.js +0 -831
  69. package/bundles/chunk-MFE4YVWE.js.map +0 -6
  70. package/bundles/chunk-N5SJSJNW.js.map +0 -6
  71. package/bundles/chunk-OZXTEOXW.js.map +0 -6
  72. package/bundles/chunk-U4EFDEE4.js.map +0 -6
  73. package/bundles/chunk-YGXKICXB.js.map +0 -6
  74. /package/bundles/{chunk-BLWWEEEL.js.map → chunk-5KZ4IU2X.js.map} +0 -0
  75. /package/bundles/{chunk-SBDNBITT.js.map → chunk-CF2CT7RQ.js.map} +0 -0
  76. /package/bundles/{chunk-QPMYDNZG.js.map → chunk-I3M5LXMW.js.map} +0 -0
  77. /package/bundles/{chunk-R4KQI5XI.js.map → chunk-JOIB3454.js.map} +0 -0
  78. /package/bundles/{chunk-WCD6LVCP.js.map → chunk-WMUBJYYX.js.map} +0 -0
  79. /package/src/transformers/{downlevel_decorators_transform → jit_transforms}/downlevel_decorators_transform.d.ts +0 -0
@@ -2,18 +2,13 @@
2
2
  import {createRequire as __cjsCompatRequire} from 'module';
3
3
  const require = __cjsCompatRequire(import.meta.url);
4
4
 
5
- import {
6
- ImportManager,
7
- translateExpression,
8
- translateStatement,
9
- translateType
10
- } from "./chunk-MFE4YVWE.js";
11
5
  import {
12
6
  AmbientImport,
13
7
  ClassMemberKind,
14
8
  ErrorCode,
15
9
  FatalDiagnosticError,
16
10
  ImportFlags,
11
+ ImportManager,
17
12
  Reference,
18
13
  assertSuccessfulReferenceEmit,
19
14
  attachDefaultImportDeclaration,
@@ -30,19 +25,22 @@ import {
30
25
  nodeNameForError,
31
26
  reflectObjectLiteral,
32
27
  reflectTypeEntityToDeclaration,
28
+ translateExpression,
29
+ translateStatement,
30
+ translateType,
33
31
  typeNodeToValueExpr
34
- } from "./chunk-EFMKZSXJ.js";
32
+ } from "./chunk-3WRR7A6G.js";
35
33
  import {
36
34
  PerfEvent,
37
35
  PerfPhase
38
- } from "./chunk-R4KQI5XI.js";
36
+ } from "./chunk-JOIB3454.js";
39
37
  import {
40
38
  absoluteFrom,
41
39
  absoluteFromSourceFile,
42
40
  relative
43
- } from "./chunk-QPMYDNZG.js";
41
+ } from "./chunk-I3M5LXMW.js";
44
42
 
45
- // 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
46
44
  import { ExternalExpr, ParseLocation, ParseSourceFile, ParseSourceSpan, ReadPropExpr, WrappedNodeExpr } from "@angular/compiler";
47
45
  import ts from "typescript";
48
46
  function valueReferenceToExpression(valueRef) {
@@ -287,7 +285,7 @@ function isAbstractClassDeclaration(clazz) {
287
285
  return ts.canHaveModifiers(clazz) && clazz.modifiers !== void 0 ? clazz.modifiers.some((mod) => mod.kind === ts.SyntaxKind.AbstractKeyword) : false;
288
286
  }
289
287
 
290
- // 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
291
289
  var DynamicValue = class {
292
290
  constructor(node, reason, code) {
293
291
  this.node = node;
@@ -377,10 +375,10 @@ var DynamicValue = class {
377
375
  }
378
376
  };
379
377
 
380
- // 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
381
379
  import ts2 from "typescript";
382
380
 
383
- // 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
384
382
  var ResolvedModule = class {
385
383
  constructor(exports, evaluate) {
386
384
  this.exports = exports;
@@ -410,7 +408,7 @@ var EnumValue = class {
410
408
  var KnownFn = class {
411
409
  };
412
410
 
413
- // 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
414
412
  var ArraySliceBuiltinFn = class extends KnownFn {
415
413
  constructor(lhs) {
416
414
  super();
@@ -462,14 +460,14 @@ var StringConcatBuiltinFn = class extends KnownFn {
462
460
  }
463
461
  };
464
462
 
465
- // 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
466
464
  var SyntheticValue = class {
467
465
  constructor(value) {
468
466
  this.value = value;
469
467
  }
470
468
  };
471
469
 
472
- // 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
473
471
  function literalBinaryOp(op) {
474
472
  return { op, literal: true };
475
473
  }
@@ -1047,7 +1045,7 @@ function owningModule(context, override = null) {
1047
1045
  }
1048
1046
  }
1049
1047
 
1050
- // 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
1051
1049
  var PartialEvaluator = class {
1052
1050
  constructor(host, checker, dependencyTracker) {
1053
1051
  this.host = host;
@@ -1067,7 +1065,7 @@ var PartialEvaluator = class {
1067
1065
  }
1068
1066
  };
1069
1067
 
1070
- // 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
1071
1069
  import ts3 from "typescript";
1072
1070
  function describeResolvedType(value, maxDepth = 1) {
1073
1071
  var _a, _b;
@@ -1197,7 +1195,7 @@ function getContainerNode(node) {
1197
1195
  return node.getSourceFile();
1198
1196
  }
1199
1197
 
1200
- // 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
1201
1199
  import { LiteralExpr, WrappedNodeExpr as WrappedNodeExpr2 } from "@angular/compiler";
1202
1200
  import ts4 from "typescript";
1203
1201
  function getConstructorDependencies(clazz, reflector, isCore) {
@@ -1341,10 +1339,10 @@ function createUnsuitableInjectionTokenError(clazz, error) {
1341
1339
  return new FatalDiagnosticError(ErrorCode.PARAM_MISSING_TOKEN, param.nameNode, chain, hints);
1342
1340
  }
1343
1341
 
1344
- // 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
1345
1343
  import ts7 from "typescript";
1346
1344
 
1347
- // 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
1348
1346
  var MetaKind;
1349
1347
  (function(MetaKind2) {
1350
1348
  MetaKind2[MetaKind2["Directive"] = 0] = "Directive";
@@ -1357,10 +1355,10 @@ var MatchSource;
1357
1355
  MatchSource2[MatchSource2["HostDirective"] = 1] = "HostDirective";
1358
1356
  })(MatchSource || (MatchSource = {}));
1359
1357
 
1360
- // 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
1361
1359
  import ts6 from "typescript";
1362
1360
 
1363
- // 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
1364
1362
  var ClassPropertyMapping = class {
1365
1363
  constructor(forwardMap) {
1366
1364
  this.forwardMap = forwardMap;
@@ -1440,7 +1438,7 @@ function reverseMapFromForwardMap(forwardMap) {
1440
1438
  return reverseMap;
1441
1439
  }
1442
1440
 
1443
- // 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
1444
1442
  import ts5 from "typescript";
1445
1443
  function extractReferencesFromType(checker, def, bestGuessOwningModule) {
1446
1444
  if (!ts5.isTupleTypeNode(def)) {
@@ -1630,7 +1628,7 @@ function hasInjectableFields(clazz, host) {
1630
1628
  return members.some(({ isStatic, name }) => isStatic && (name === "\u0275prov" || name === "\u0275fac"));
1631
1629
  }
1632
1630
 
1633
- // 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
1634
1632
  var DtsMetadataReader = class {
1635
1633
  constructor(checker, reflector) {
1636
1634
  this.checker = checker;
@@ -1700,10 +1698,12 @@ var DtsMetadataReader = class {
1700
1698
  isStandalone,
1701
1699
  isSignal,
1702
1700
  imports: null,
1701
+ deferredImports: null,
1703
1702
  schemas: null,
1704
1703
  decorator: null,
1705
1704
  assumedToExportProviders: isComponent && isStandalone,
1706
- preserveWhitespaces: false
1705
+ preserveWhitespaces: false,
1706
+ isExplicitlyDeferred: false
1707
1707
  };
1708
1708
  }
1709
1709
  getPipeMetadata(ref) {
@@ -1726,7 +1726,8 @@ var DtsMetadataReader = class {
1726
1726
  name,
1727
1727
  nameExpr: null,
1728
1728
  isStandalone,
1729
- decorator: null
1729
+ decorator: null,
1730
+ isExplicitlyDeferred: false
1730
1731
  };
1731
1732
  }
1732
1733
  };
@@ -1810,7 +1811,7 @@ function readHostDirectivesType(checker, type, bestGuessOwningModule) {
1810
1811
  return result.length > 0 ? result : null;
1811
1812
  }
1812
1813
 
1813
- // 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
1814
1815
  function flattenInheritedDirectiveMetadata(reader, dir) {
1815
1816
  const topMeta = reader.getDirectiveMetadata(dir);
1816
1817
  if (topMeta === null) {
@@ -1874,7 +1875,7 @@ function flattenInheritedDirectiveMetadata(reader, dir) {
1874
1875
  };
1875
1876
  }
1876
1877
 
1877
- // 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
1878
1879
  var LocalMetadataRegistry = class {
1879
1880
  constructor() {
1880
1881
  this.directives = /* @__PURE__ */ new Map();
@@ -1931,7 +1932,7 @@ var CompoundMetadataRegistry = class {
1931
1932
  }
1932
1933
  };
1933
1934
 
1934
- // 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
1935
1936
  var ResourceRegistry = class {
1936
1937
  constructor() {
1937
1938
  this.externalTemplateToComponentsMap = /* @__PURE__ */ new Map();
@@ -1996,7 +1997,7 @@ var ResourceRegistry = class {
1996
1997
  }
1997
1998
  };
1998
1999
 
1999
- // 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
2000
2001
  var ExportedProviderStatusResolver = class {
2001
2002
  constructor(metaReader) {
2002
2003
  this.metaReader = metaReader;
@@ -2040,7 +2041,7 @@ var ExportedProviderStatusResolver = class {
2040
2041
  }
2041
2042
  };
2042
2043
 
2043
- // 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
2044
2045
  var EMPTY_ARRAY = [];
2045
2046
  var HostDirectivesResolver = class {
2046
2047
  constructor(metaReader) {
@@ -2103,7 +2104,7 @@ function resolveOutput(bindingName) {
2103
2104
  return bindingName;
2104
2105
  }
2105
2106
 
2106
- // 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
2107
2108
  function makeDuplicateDeclarationError(node, data, kind) {
2108
2109
  const context = [];
2109
2110
  for (const decl of data) {
@@ -2299,7 +2300,7 @@ function getInheritedUndecoratedCtorDiagnostic(node, baseClass, kind) {
2299
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}.`);
2300
2301
  }
2301
2302
 
2302
- // 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
2303
2304
  import { ViewEncapsulation } from "@angular/compiler";
2304
2305
  import ts8 from "typescript";
2305
2306
  function resolveEnumValue(evaluator, metadata, field, enumSymbolName) {
@@ -2350,7 +2351,7 @@ function resolveLiteral(decorator, literalCache) {
2350
2351
  return meta;
2351
2352
  }
2352
2353
 
2353
- // 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
2354
2355
  import { compileDeclareFactoryFunction, compileFactoryFunction } from "@angular/compiler";
2355
2356
  function compileNgFactoryDefField(metadata) {
2356
2357
  const res = compileFactoryFunction(metadata);
@@ -2373,7 +2374,7 @@ function compileDeclareFactory(metadata) {
2373
2374
  };
2374
2375
  }
2375
2376
 
2376
- // 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
2377
2378
  var InjectableClassRegistry = class {
2378
2379
  constructor(host, isCore) {
2379
2380
  this.host = host;
@@ -2399,7 +2400,7 @@ var InjectableClassRegistry = class {
2399
2400
  }
2400
2401
  };
2401
2402
 
2402
- // 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
2403
2404
  import { ArrowFunctionExpr, LiteralArrayExpr, LiteralExpr as LiteralExpr2, literalMap, WrappedNodeExpr as WrappedNodeExpr3 } from "@angular/compiler";
2404
2405
  import ts9 from "typescript";
2405
2406
  function extractClassMetadata(clazz, reflection, isCore, annotateForClosureCompiler, angularDecoratorTransform = (dec) => dec) {
@@ -2484,7 +2485,7 @@ function removeIdentifierReferences(node, names) {
2484
2485
  return result.transformed[0];
2485
2486
  }
2486
2487
 
2487
- // 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
2488
2489
  import { literal as literal2, WrappedNodeExpr as WrappedNodeExpr4 } from "@angular/compiler";
2489
2490
  import * as path from "path";
2490
2491
  function extractClassDebugInfo(clazz, reflection, rootDirs, forbidOrphanRendering) {
@@ -2511,13 +2512,13 @@ function computeRelativePathIfPossible(filePath, rootDirs) {
2511
2512
  return null;
2512
2513
  }
2513
2514
 
2514
- // 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
2515
2516
  var NoopReferencesRegistry = class {
2516
2517
  add(source, ...references) {
2517
2518
  }
2518
2519
  };
2519
2520
 
2520
- // 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
2521
2522
  import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from "@angular/compiler";
2522
2523
  function extractSchemas(rawExpr, evaluator, context) {
2523
2524
  const schemas = [];
@@ -2547,7 +2548,7 @@ function extractSchemas(rawExpr, evaluator, context) {
2547
2548
  return schemas;
2548
2549
  }
2549
2550
 
2550
- // 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
2551
2552
  import { outputAst } from "@angular/compiler";
2552
2553
  function compileInputTransformFields(inputs) {
2553
2554
  const extraFields = [];
@@ -2565,11 +2566,11 @@ function compileInputTransformFields(inputs) {
2565
2566
  return extraFields;
2566
2567
  }
2567
2568
 
2568
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/handler.mjs
2569
- 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";
2570
2571
  import ts25 from "typescript";
2571
2572
 
2572
- // 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
2573
2574
  import ts10 from "typescript";
2574
2575
  var SemanticSymbol = class {
2575
2576
  constructor(decl) {
@@ -2585,7 +2586,7 @@ function getSymbolIdentifier(decl) {
2585
2586
  return decl.name.text;
2586
2587
  }
2587
2588
 
2588
- // 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
2589
2590
  import { ExternalExpr as ExternalExpr2 } from "@angular/compiler";
2590
2591
  var OpaqueSymbol = class extends SemanticSymbol {
2591
2592
  isPublicApiAffected() {
@@ -2728,10 +2729,10 @@ function getImportPath(expr) {
2728
2729
  }
2729
2730
  }
2730
2731
 
2731
- // 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
2732
2733
  import ts11 from "typescript";
2733
2734
 
2734
- // 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
2735
2736
  function isSymbolEqual(a, b) {
2736
2737
  if (a.decl === b.decl) {
2737
2738
  return true;
@@ -2781,7 +2782,7 @@ function isSetEqual(a, b, equalityTester = referenceEquality) {
2781
2782
  return true;
2782
2783
  }
2783
2784
 
2784
- // 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
2785
2786
  function extractSemanticTypeParameters(node) {
2786
2787
  if (!ts11.isClassDeclaration(node) || node.typeParameters === void 0) {
2787
2788
  return null;
@@ -2801,14 +2802,14 @@ function isTypeParameterEqual(a, b) {
2801
2802
  return a.hasGenericTypeBound === b.hasGenericTypeBound;
2802
2803
  }
2803
2804
 
2804
- // 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
2805
2806
  var ComponentScopeKind;
2806
2807
  (function(ComponentScopeKind2) {
2807
2808
  ComponentScopeKind2[ComponentScopeKind2["NgModule"] = 0] = "NgModule";
2808
2809
  ComponentScopeKind2[ComponentScopeKind2["Standalone"] = 1] = "Standalone";
2809
2810
  })(ComponentScopeKind || (ComponentScopeKind = {}));
2810
2811
 
2811
- // 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
2812
2813
  var CompoundComponentScopeReader = class {
2813
2814
  constructor(readers) {
2814
2815
  this.readers = readers;
@@ -2833,7 +2834,7 @@ var CompoundComponentScopeReader = class {
2833
2834
  }
2834
2835
  };
2835
2836
 
2836
- // 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
2837
2838
  var MetadataDtsModuleScopeResolver = class {
2838
2839
  constructor(dtsMetaReader, aliasingHost) {
2839
2840
  this.dtsMetaReader = dtsMetaReader;
@@ -2909,11 +2910,11 @@ var MetadataDtsModuleScopeResolver = class {
2909
2910
  }
2910
2911
  };
2911
2912
 
2912
- // 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
2913
2914
  import { ExternalExpr as ExternalExpr3 } from "@angular/compiler";
2914
2915
  import ts12 from "typescript";
2915
2916
 
2916
- // 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
2917
2918
  function getDiagnosticNode(ref, rawExpr) {
2918
2919
  return rawExpr !== null ? ref.getOriginForDiagnostics(rawExpr) : ref.node.name;
2919
2920
  }
@@ -2935,8 +2936,11 @@ function makeNotStandaloneDiagnostic(scopeReader, ref, rawExpr, kind) {
2935
2936
  function makeUnknownComponentImportDiagnostic(ref, rawExpr) {
2936
2937
  return makeDiagnostic(ErrorCode.COMPONENT_UNKNOWN_IMPORT, getDiagnosticNode(ref, rawExpr), `Component imports must be standalone components, directives, pipes, or must be NgModules.`);
2937
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
+ }
2938
2942
 
2939
- // 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
2940
2944
  var LocalModuleScopeRegistry = class {
2941
2945
  constructor(localReader, fullReader, dependencyScopeReader, refEmitter, aliasingHost) {
2942
2946
  this.localReader = localReader;
@@ -3275,7 +3279,7 @@ function reexportCollision(module, refA, refB) {
3275
3279
  ]);
3276
3280
  }
3277
3281
 
3278
- // 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
3279
3283
  import { CssSelector, SelectorMatcher } from "@angular/compiler";
3280
3284
  import ts13 from "typescript";
3281
3285
  var TypeCheckScopeRegistry = class {
@@ -3300,24 +3304,30 @@ var TypeCheckScopeRegistry = class {
3300
3304
  isPoisoned: false
3301
3305
  };
3302
3306
  }
3303
- const cacheKey = scope.kind === ComponentScopeKind.NgModule ? scope.ngModule : scope.component;
3304
- 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;
3305
3310
  if (this.scopeCache.has(cacheKey)) {
3306
3311
  return this.scopeCache.get(cacheKey);
3307
3312
  }
3308
- 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) {
3309
3318
  if (meta.kind === MetaKind.Directive && meta.selector !== null) {
3310
3319
  const extMeta = this.getTypeCheckDirectiveMetadata(meta.ref);
3311
3320
  if (extMeta === null) {
3312
3321
  continue;
3313
3322
  }
3314
- matcher.addSelectables(CssSelector.parse(meta.selector), [...this.hostDirectivesResolver.resolve(extMeta), extMeta]);
3315
- 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);
3316
3326
  } else if (meta.kind === MetaKind.Pipe) {
3317
3327
  if (!ts13.isClassDeclaration(meta.ref.node)) {
3318
3328
  throw new Error(`Unexpected non-class declaration ${ts13.SyntaxKind[meta.ref.node.kind]} for pipe ${meta.ref.debugName}`);
3319
3329
  }
3320
- pipes.set(meta.name, meta.ref);
3330
+ pipes.set(meta.name, meta);
3321
3331
  }
3322
3332
  }
3323
3333
  const typeCheckScope = {
@@ -3342,9 +3352,12 @@ var TypeCheckScopeRegistry = class {
3342
3352
  this.flattenedDirectiveMetaCache.set(clazz, meta);
3343
3353
  return meta;
3344
3354
  }
3355
+ applyExplicitlyDeferredFlag(meta, isExplicitlyDeferred) {
3356
+ return isExplicitlyDeferred === true ? { ...meta, isExplicitlyDeferred } : meta;
3357
+ }
3345
3358
  };
3346
3359
 
3347
- // 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
3348
3361
  var CompilationMode;
3349
3362
  (function(CompilationMode2) {
3350
3363
  CompilationMode2[CompilationMode2["FULL"] = 0] = "FULL";
@@ -3358,7 +3371,7 @@ var HandlerPrecedence;
3358
3371
  HandlerPrecedence2[HandlerPrecedence2["WEAK"] = 2] = "WEAK";
3359
3372
  })(HandlerPrecedence || (HandlerPrecedence = {}));
3360
3373
 
3361
- // 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
3362
3375
  import ts14 from "typescript";
3363
3376
  function aliasTransformFactory(exportStatements) {
3364
3377
  return () => {
@@ -3381,10 +3394,10 @@ function aliasTransformFactory(exportStatements) {
3381
3394
  };
3382
3395
  }
3383
3396
 
3384
- // 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
3385
3398
  import ts15 from "typescript";
3386
3399
 
3387
- // 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
3388
3401
  var TraitState;
3389
3402
  (function(TraitState2) {
3390
3403
  TraitState2[TraitState2["Pending"] = 0] = "Pending";
@@ -3441,7 +3454,7 @@ var TraitImpl = class {
3441
3454
  }
3442
3455
  };
3443
3456
 
3444
- // 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
3445
3458
  var TraitCompiler = class {
3446
3459
  constructor(handlers, reflector, perf, incrementalBuild, compileNonExportedClasses, compilationMode, dtsTransforms, semanticDepGraphUpdater, sourceFileTypeIdentifier) {
3447
3460
  this.handlers = handlers;
@@ -3669,16 +3682,13 @@ var TraitCompiler = class {
3669
3682
  }
3670
3683
  }
3671
3684
  const symbol = this.makeSymbolForTrait(trait.handler, clazz, (_a = result.analysis) != null ? _a : null);
3672
- 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) {
3673
3686
  trait.handler.register(clazz, result.analysis);
3674
3687
  }
3675
3688
  trait = trait.toAnalyzed((_b = result.analysis) != null ? _b : null, (_c = result.diagnostics) != null ? _c : null, symbol);
3676
3689
  }
3677
3690
  resolve() {
3678
3691
  var _a, _b;
3679
- if (this.compilationMode === CompilationMode.LOCAL) {
3680
- return;
3681
- }
3682
3692
  const classes = this.classes.keys();
3683
3693
  for (const clazz of classes) {
3684
3694
  const record = this.classes.get(clazz);
@@ -3725,7 +3735,7 @@ var TraitCompiler = class {
3725
3735
  }
3726
3736
  }
3727
3737
  typeCheck(sf, ctx) {
3728
- if (!this.fileToClasses.has(sf)) {
3738
+ if (!this.fileToClasses.has(sf) || this.compilationMode === CompilationMode.LOCAL) {
3729
3739
  return;
3730
3740
  }
3731
3741
  for (const clazz of this.fileToClasses.get(sf)) {
@@ -3816,15 +3826,12 @@ var TraitCompiler = class {
3816
3826
  let res = [];
3817
3827
  for (const trait of record.traits) {
3818
3828
  let compileRes;
3829
+ if (trait.state !== TraitState.Resolved || containsErrors(trait.analysisDiagnostics) || containsErrors(trait.resolveDiagnostics)) {
3830
+ continue;
3831
+ }
3819
3832
  if (this.compilationMode === CompilationMode.LOCAL) {
3820
- if (trait.state !== TraitState.Analyzed || trait.analysis === null || containsErrors(trait.analysisDiagnostics)) {
3821
- continue;
3822
- }
3823
- compileRes = trait.handler.compileLocal(clazz, trait.analysis, constantPool);
3833
+ compileRes = trait.handler.compileLocal(clazz, trait.analysis, trait.resolution, constantPool);
3824
3834
  } else {
3825
- if (trait.state !== TraitState.Resolved || containsErrors(trait.analysisDiagnostics) || containsErrors(trait.resolveDiagnostics)) {
3826
- continue;
3827
- }
3828
3835
  if (this.compilationMode === CompilationMode.PARTIAL && trait.handler.compilePartial !== void 0) {
3829
3836
  compileRes = trait.handler.compilePartial(clazz, trait.analysis, trait.resolution);
3830
3837
  } else {
@@ -3889,23 +3896,23 @@ function containsErrors(diagnostics) {
3889
3896
  return diagnostics !== null && diagnostics.some((diag) => diag.category === ts15.DiagnosticCategory.Error);
3890
3897
  }
3891
3898
 
3892
- // 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
3893
3900
  import ts17 from "typescript";
3894
3901
 
3895
- // 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
3896
3903
  import ts16 from "typescript";
3897
- function addImports(importManager, sf, extraStatements = []) {
3904
+ function addImports(factory = ts16.factory, importManager, sf, extraStatements = []) {
3898
3905
  const addedImports = importManager.getAllImports(sf.fileName).map((i) => {
3899
- const qualifier = ts16.factory.createIdentifier(i.qualifier.text);
3900
- const importClause = ts16.factory.createImportClause(
3906
+ const qualifier = factory.createIdentifier(i.qualifier.text);
3907
+ const importClause = factory.createImportClause(
3901
3908
  false,
3902
3909
  void 0,
3903
- ts16.factory.createNamespaceImport(qualifier)
3910
+ factory.createNamespaceImport(qualifier)
3904
3911
  );
3905
- const decl = ts16.factory.createImportDeclaration(
3912
+ const decl = factory.createImportDeclaration(
3906
3913
  void 0,
3907
3914
  importClause,
3908
- ts16.factory.createStringLiteral(i.specifier)
3915
+ factory.createStringLiteral(i.specifier)
3909
3916
  );
3910
3917
  ts16.setOriginalNode(i.qualifier, decl);
3911
3918
  return decl;
@@ -3913,8 +3920,8 @@ function addImports(importManager, sf, extraStatements = []) {
3913
3920
  const existingImports = sf.statements.filter((stmt) => isImportStatement(stmt));
3914
3921
  const body = sf.statements.filter((stmt) => !isImportStatement(stmt));
3915
3922
  if (addedImports.length > 0) {
3916
- const fileoverviewAnchorStmt = ts16.factory.createNotEmittedStatement(sf);
3917
- return ts16.factory.updateSourceFile(sf, ts16.factory.createNodeArray([
3923
+ const fileoverviewAnchorStmt = factory.createNotEmittedStatement(sf);
3924
+ return factory.updateSourceFile(sf, factory.createNodeArray([
3918
3925
  fileoverviewAnchorStmt,
3919
3926
  ...existingImports,
3920
3927
  ...addedImports,
@@ -3928,7 +3935,7 @@ function isImportStatement(stmt) {
3928
3935
  return ts16.isImportDeclaration(stmt) || ts16.isImportEqualsDeclaration(stmt) || ts16.isNamespaceImport(stmt);
3929
3936
  }
3930
3937
 
3931
- // 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
3932
3939
  var DtsTransformRegistry = class {
3933
3940
  constructor() {
3934
3941
  this.ivyDeclarationTransforms = /* @__PURE__ */ new Map();
@@ -3987,7 +3994,7 @@ var DtsTransformer = class {
3987
3994
  }
3988
3995
  };
3989
3996
  sf = ts17.visitNode(sf, visitor, ts17.isSourceFile) || sf;
3990
- return addImports(imports, sf);
3997
+ return addImports(this.ctx.factory, imports, sf);
3991
3998
  }
3992
3999
  transformClassDeclaration(clazz, transforms, imports) {
3993
4000
  let elements = clazz.members;
@@ -4075,11 +4082,11 @@ function markForEmitAsSingleLine(node) {
4075
4082
  ts17.forEachChild(node, markForEmitAsSingleLine);
4076
4083
  }
4077
4084
 
4078
- // 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
4079
4086
  import { ConstantPool } from "@angular/compiler";
4080
4087
  import ts19 from "typescript";
4081
4088
 
4082
- // 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
4083
4090
  import ts18 from "typescript";
4084
4091
  function visit(node, visitor, context) {
4085
4092
  return visitor._visit(node, context);
@@ -4140,7 +4147,7 @@ var Visitor = class {
4140
4147
  }
4141
4148
  };
4142
4149
 
4143
- // 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
4144
4151
  var NO_DECORATORS = /* @__PURE__ */ new Set();
4145
4152
  var CLOSURE_FILE_OVERVIEW_REGEXP = /\s+@fileoverview\s+/i;
4146
4153
  function ivyTransformFactory(compilation, reflector, importRewriter, defaultImportTracker, perf, isCore, isClosureCompilerEnabled) {
@@ -4298,7 +4305,7 @@ function transformIvySourceFile(compilation, context, reflector, importRewriter,
4298
4305
  annotateForClosureCompiler: isClosureCompilerEnabled
4299
4306
  }));
4300
4307
  const fileOverviewMeta = isClosureCompilerEnabled ? getFileOverviewComment(sf.statements) : null;
4301
- sf = addImports(importManager, sf, constants);
4308
+ sf = addImports(context.factory, importManager, sf, constants);
4302
4309
  if (fileOverviewMeta !== null) {
4303
4310
  setFileOverviewComment(sf, fileOverviewMeta);
4304
4311
  }
@@ -4364,14 +4371,14 @@ function nodeArrayFromDecoratorsArray(decorators) {
4364
4371
  return array;
4365
4372
  }
4366
4373
 
4367
- // 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
4368
4375
  import { compileClassMetadata, compileDeclareClassMetadata, compileDeclareDirectiveFromMetadata, compileDirectiveFromMetadata, FactoryTarget, makeBindingParser, WrappedNodeExpr as WrappedNodeExpr6 } from "@angular/compiler";
4369
4376
 
4370
- // 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
4371
4378
  import { createMayBeForwardRefExpression, emitDistinctChangesOnlyDefaultValue, ExternalExpr as ExternalExpr4, getSafePropertyAccessString, parseHostBindings, verifyHostBindings, WrappedNodeExpr as WrappedNodeExpr5 } from "@angular/compiler";
4372
4379
  import ts21 from "typescript";
4373
4380
 
4374
- // 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
4375
4382
  import ts20 from "typescript";
4376
4383
  function tryParseInputInitializerAndOptions(member, reflector, coreModule) {
4377
4384
  if (member.value === null || !ts20.isCallExpression(member.value)) {
@@ -4382,7 +4389,7 @@ function tryParseInputInitializerAndOptions(member, reflector, coreModule) {
4382
4389
  if (target === null) {
4383
4390
  return null;
4384
4391
  }
4385
- if (target.text === "input" || target.text === "\u0275input") {
4392
+ if (target.text === "input") {
4386
4393
  if (!isReferenceToInputFunction(target, coreModule, reflector)) {
4387
4394
  return null;
4388
4395
  }
@@ -4413,17 +4420,49 @@ function extractPropertyTarget(node) {
4413
4420
  return null;
4414
4421
  }
4415
4422
  function isReferenceToInputFunction(target, coreModule, reflector) {
4416
- const decl = reflector.getDeclarationOfIdentifier(target);
4417
- if (decl === null || !ts20.isVariableDeclaration(decl.node) || decl.node.name === void 0 || !ts20.isIdentifier(decl.node.name)) {
4418
- return false;
4423
+ let targetImport = reflector.getImportOfIdentifier(target);
4424
+ if (targetImport === null) {
4425
+ if (coreModule !== void 0) {
4426
+ return false;
4427
+ }
4428
+ targetImport = { name: target.text };
4419
4429
  }
4420
- if (coreModule !== void 0 && decl.viaModule !== coreModule) {
4421
- return false;
4430
+ return targetImport.name === "input";
4431
+ }
4432
+ function parseAndValidateOptions(optionsNode) {
4433
+ if (!ts20.isObjectLiteralExpression(optionsNode)) {
4434
+ throw new FatalDiagnosticError(ErrorCode.VALUE_HAS_WRONG_TYPE, optionsNode, "Argument needs to be an object literal that is statically analyzable.");
4422
4435
  }
4423
- return decl.node.name.text === "input" || decl.node.name.text === "\u0275input";
4436
+ const options = reflectObjectLiteral(optionsNode);
4437
+ let alias = void 0;
4438
+ if (options.has("alias")) {
4439
+ const aliasExpr = options.get("alias");
4440
+ if (!ts20.isStringLiteralLike(aliasExpr)) {
4441
+ throw new FatalDiagnosticError(ErrorCode.VALUE_HAS_WRONG_TYPE, aliasExpr, "Alias needs to be a string that is statically analyzable.");
4442
+ }
4443
+ alias = aliasExpr.text;
4444
+ }
4445
+ return { alias };
4446
+ }
4447
+ function tryParseSignalInputMapping(member, reflector, coreModule) {
4448
+ var _a;
4449
+ const signalInput = tryParseInputInitializerAndOptions(member, reflector, coreModule);
4450
+ if (signalInput === null) {
4451
+ return null;
4452
+ }
4453
+ const optionsNode = signalInput.optionsNode;
4454
+ const options = optionsNode !== void 0 ? parseAndValidateOptions(optionsNode) : null;
4455
+ const classPropertyName = member.name;
4456
+ return {
4457
+ isSignal: true,
4458
+ classPropertyName,
4459
+ bindingPropertyName: (_a = options == null ? void 0 : options.alias) != null ? _a : classPropertyName,
4460
+ required: signalInput.isRequired,
4461
+ transform: null
4462
+ };
4424
4463
  }
4425
4464
 
4426
- // 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
4427
4466
  var EMPTY_OBJECT = {};
4428
4467
  var QUERY_TYPES = /* @__PURE__ */ new Set([
4429
4468
  "ContentChild",
@@ -4433,7 +4472,7 @@ var QUERY_TYPES = /* @__PURE__ */ new Set([
4433
4472
  ]);
4434
4473
  function extractDirectiveMetadata(clazz, decorator, reflector, evaluator, refEmitter, referencesRegistry, isCore, annotateForClosureCompiler, compilationMode, defaultSelector = null) {
4435
4474
  let directive;
4436
- if (decorator === null || decorator.args === null || decorator.args.length === 0) {
4475
+ if (decorator.args === null || decorator.args.length === 0) {
4437
4476
  directive = /* @__PURE__ */ new Map();
4438
4477
  } else if (decorator.args.length !== 1) {
4439
4478
  throw new FatalDiagnosticError(ErrorCode.DECORATOR_ARITY_WRONG, decorator.node, `Incorrect number of arguments to @${decorator.name} decorator`);
@@ -4450,8 +4489,8 @@ function extractDirectiveMetadata(clazz, decorator, reflector, evaluator, refEmi
4450
4489
  const members = reflector.getMembersOfClass(clazz);
4451
4490
  const decoratedElements = members.filter((member) => !member.isStatic && member.decorators !== null);
4452
4491
  const coreModule = isCore ? void 0 : "@angular/core";
4453
- const inputsFromMeta = parseInputsArray(clazz, directive, evaluator, reflector, refEmitter);
4454
- const inputsFromFields = parseInputFields(clazz, members, evaluator, reflector, refEmitter, coreModule);
4492
+ const inputsFromMeta = parseInputsArray(clazz, directive, evaluator, reflector, refEmitter, compilationMode);
4493
+ const inputsFromFields = parseInputFields(clazz, members, evaluator, reflector, refEmitter, coreModule, compilationMode, inputsFromMeta, decorator);
4455
4494
  const inputs = ClassPropertyMapping.fromMappedObject({ ...inputsFromMeta, ...inputsFromFields });
4456
4495
  const outputsFromMeta = parseOutputsArray(directive, evaluator);
4457
4496
  const outputsFromFields = parseOutputFields(filterToMembersWithDecorator(decoratedElements, "Output", coreModule), evaluator);
@@ -4788,7 +4827,7 @@ function parseDecoratedFields(fields, evaluator, callback) {
4788
4827
  }
4789
4828
  }
4790
4829
  }
4791
- function parseInputsArray(clazz, decoratorMetadata, evaluator, reflector, refEmitter) {
4830
+ function parseInputsArray(clazz, decoratorMetadata, evaluator, reflector, refEmitter, compilationMode) {
4792
4831
  const inputsField = decoratorMetadata.get("inputs");
4793
4832
  if (inputsField === void 0) {
4794
4833
  return {};
@@ -4822,7 +4861,7 @@ function parseInputsArray(clazz, decoratorMetadata, evaluator, reflector, refEmi
4822
4861
  if (!(transformValue instanceof DynamicValue) && !(transformValue instanceof Reference)) {
4823
4862
  throw createValueHasWrongTypeError(inputsField, transformValue, `Transform of value at position ${i} of @Directive.inputs array must be a function`);
4824
4863
  }
4825
- transform = parseDecoratorInputTransformFunction(clazz, name, transformValue, reflector, refEmitter);
4864
+ transform = parseDecoratorInputTransformFunction(clazz, name, transformValue, reflector, refEmitter, compilationMode);
4826
4865
  }
4827
4866
  inputs[name] = {
4828
4867
  classPropertyName: name,
@@ -4852,9 +4891,13 @@ function tryGetDecoratorOnMember(member, decoratorName, coreModule) {
4852
4891
  }
4853
4892
  return null;
4854
4893
  }
4855
- function tryParseInputFieldMapping(clazz, member, evaluator, reflector, coreModule, refEmitter) {
4894
+ function tryParseInputFieldMapping(clazz, member, evaluator, reflector, coreModule, refEmitter, compilationMode) {
4856
4895
  const classPropertyName = member.name;
4857
4896
  const decorator = tryGetDecoratorOnMember(member, "Input", coreModule);
4897
+ const signalInputMapping = tryParseSignalInputMapping(member, reflector, coreModule);
4898
+ if (decorator !== null && signalInputMapping !== null) {
4899
+ throw new FatalDiagnosticError(ErrorCode.SIGNAL_INPUT_AND_DISALLOWED_DECORATOR, decorator.node, `Using @Input with a signal input is not allowed.`);
4900
+ }
4858
4901
  if (decorator !== null) {
4859
4902
  if (decorator.args !== null && decorator.args.length > 1) {
4860
4903
  throw new FatalDiagnosticError(ErrorCode.DECORATOR_ARITY_WRONG, decorator.node, `@${decorator.name} can have at most one argument, got ${decorator.args.length} argument(s)`);
@@ -4878,7 +4921,7 @@ function tryParseInputFieldMapping(clazz, member, evaluator, reflector, coreModu
4878
4921
  if (!(transformValue instanceof DynamicValue) && !(transformValue instanceof Reference)) {
4879
4922
  throw createValueHasWrongTypeError(optionsNode, transformValue, `Input transform must be a function`);
4880
4923
  }
4881
- transform = parseDecoratorInputTransformFunction(clazz, classPropertyName, transformValue, reflector, refEmitter);
4924
+ transform = parseDecoratorInputTransformFunction(clazz, classPropertyName, transformValue, reflector, refEmitter, compilationMode);
4882
4925
  }
4883
4926
  return {
4884
4927
  isSignal: false,
@@ -4888,40 +4931,42 @@ function tryParseInputFieldMapping(clazz, member, evaluator, reflector, coreModu
4888
4931
  required
4889
4932
  };
4890
4933
  }
4891
- const signalInput = tryParseInputInitializerAndOptions(member, reflector, coreModule);
4892
- if (signalInput !== null) {
4893
- const optionsNode = signalInput.optionsNode;
4894
- const options = optionsNode !== void 0 ? evaluator.evaluate(optionsNode) : null;
4895
- let bindingPropertyName = classPropertyName;
4896
- if (options instanceof Map && typeof options.get("alias") === "string") {
4897
- bindingPropertyName = options.get("alias");
4898
- }
4899
- return {
4900
- isSignal: true,
4901
- classPropertyName,
4902
- bindingPropertyName,
4903
- required: signalInput.isRequired,
4904
- transform: null
4905
- };
4934
+ if (signalInputMapping !== null) {
4935
+ return signalInputMapping;
4906
4936
  }
4907
4937
  return null;
4908
4938
  }
4909
- function parseInputFields(clazz, members, evaluator, reflector, refEmitter, coreModule) {
4939
+ function parseInputFields(clazz, members, evaluator, reflector, refEmitter, coreModule, compilationMode, inputsFromClassDecorator, classDecorator) {
4940
+ var _a, _b;
4910
4941
  const inputs = {};
4911
4942
  for (const member of members) {
4912
- if (member.isStatic) {
4943
+ const classPropertyName = member.name;
4944
+ const inputMapping = tryParseInputFieldMapping(clazz, member, evaluator, reflector, coreModule, refEmitter, compilationMode);
4945
+ if (inputMapping === null) {
4913
4946
  continue;
4914
4947
  }
4915
- const classPropertyName = member.name;
4916
- const inputMapping = tryParseInputFieldMapping(clazz, member, evaluator, reflector, coreModule, refEmitter);
4917
- if (inputMapping !== null) {
4918
- inputs[classPropertyName] = inputMapping;
4948
+ if (member.isStatic) {
4949
+ throw new FatalDiagnosticError(ErrorCode.INPUT_DECLARED_ON_STATIC_MEMBER, (_a = member.node) != null ? _a : clazz, `Input "${member.name}" is incorrectly declared as static member of "${clazz.name.text}".`);
4919
4950
  }
4951
+ if (inputMapping.isSignal && inputsFromClassDecorator.hasOwnProperty(classPropertyName)) {
4952
+ throw new FatalDiagnosticError(ErrorCode.SIGNAL_INPUT_AND_INPUTS_ARRAY_COLLISION, (_b = member.node) != null ? _b : clazz, `Input "${member.name}" is also declared as non-signal in @${classDecorator.name}.`);
4953
+ }
4954
+ inputs[classPropertyName] = inputMapping;
4920
4955
  }
4921
4956
  return inputs;
4922
4957
  }
4923
- function parseDecoratorInputTransformFunction(clazz, classPropertyName, value, reflector, refEmitter) {
4958
+ function parseDecoratorInputTransformFunction(clazz, classPropertyName, value, reflector, refEmitter, compilationMode) {
4924
4959
  var _a;
4960
+ if (compilationMode === CompilationMode.LOCAL) {
4961
+ const node2 = value instanceof Reference ? value.getIdentityIn(clazz.getSourceFile()) : value.node;
4962
+ if (node2 === null) {
4963
+ throw createValueHasWrongTypeError(value.node, value, "Input transform function could not be referenced");
4964
+ }
4965
+ return {
4966
+ node: node2,
4967
+ type: new Reference(ts21.factory.createKeywordTypeNode(ts21.SyntaxKind.UnknownKeyword))
4968
+ };
4969
+ }
4925
4970
  const definition = reflector.getDefinitionOfFunction(value.node);
4926
4971
  if (definition === null) {
4927
4972
  throw createValueHasWrongTypeError(value.node, value, "Input transform must be a function");
@@ -5072,7 +5117,7 @@ function toR3InputMetadata(mapping) {
5072
5117
  };
5073
5118
  }
5074
5119
 
5075
- // 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
5076
5121
  var DirectiveSymbol = class extends SemanticSymbol {
5077
5122
  constructor(decl, selector, inputs, outputs, exportAs, typeCheckMeta, typeParameters) {
5078
5123
  super(decl);
@@ -5152,7 +5197,7 @@ function isBaseClassEqual(current, previous) {
5152
5197
  return isSymbolEqual(current, previous);
5153
5198
  }
5154
5199
 
5155
- // 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
5156
5201
  var FIELD_DECORATORS = [
5157
5202
  "Input",
5158
5203
  "Output",
@@ -5242,6 +5287,9 @@ var DirectiveDecoratorHandler = class {
5242
5287
  return new DirectiveSymbol(node, analysis.meta.selector, analysis.inputs, analysis.outputs, analysis.meta.exportAs, analysis.typeCheckMeta, typeParameters);
5243
5288
  }
5244
5289
  register(node, analysis) {
5290
+ if (this.compilationMode === CompilationMode.LOCAL) {
5291
+ return;
5292
+ }
5245
5293
  const ref = new Reference(node);
5246
5294
  this.metaRegistry.registerDirectiveMetadata({
5247
5295
  kind: MetaKind.Directive,
@@ -5263,17 +5311,22 @@ var DirectiveDecoratorHandler = class {
5263
5311
  isStandalone: analysis.meta.isStandalone,
5264
5312
  isSignal: analysis.meta.isSignal,
5265
5313
  imports: null,
5314
+ deferredImports: null,
5266
5315
  schemas: null,
5267
5316
  ngContentSelectors: null,
5268
5317
  decorator: analysis.decorator,
5269
5318
  preserveWhitespaces: false,
5270
- assumedToExportProviders: false
5319
+ assumedToExportProviders: false,
5320
+ isExplicitlyDeferred: false
5271
5321
  });
5272
5322
  this.injectableRegistry.registerInjectable(node, {
5273
5323
  ctorDeps: analysis.meta.deps
5274
5324
  });
5275
5325
  }
5276
5326
  resolve(node, analysis, symbol) {
5327
+ if (this.compilationMode === CompilationMode.LOCAL) {
5328
+ return {};
5329
+ }
5277
5330
  if (this.semanticDepGraphUpdater !== null && analysis.baseClass instanceof Reference) {
5278
5331
  symbol.baseClass = this.semanticDepGraphUpdater.getSymbol(analysis.baseClass.node);
5279
5332
  }
@@ -5306,7 +5359,7 @@ var DirectiveDecoratorHandler = class {
5306
5359
  const classMetadata = analysis.classMetadata !== null ? compileDeclareClassMetadata(analysis.classMetadata).toStmt() : null;
5307
5360
  return compileResults(fac, def, classMetadata, "\u0275dir", inputTransformFields, null);
5308
5361
  }
5309
- compileLocal(node, analysis, pool) {
5362
+ compileLocal(node, analysis, resolution, pool) {
5310
5363
  const fac = compileNgFactoryDefField(toFactoryMetadata(analysis.meta, FactoryTarget.Directive));
5311
5364
  const def = compileDirectiveFromMetadata(analysis.meta, pool, makeBindingParser());
5312
5365
  const inputTransformFields = compileInputTransformFields(analysis.inputs);
@@ -5326,11 +5379,11 @@ var DirectiveDecoratorHandler = class {
5326
5379
  }
5327
5380
  };
5328
5381
 
5329
- // 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
5330
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";
5331
5384
  import ts23 from "typescript";
5332
5385
 
5333
- // 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
5334
5387
  import ts22 from "typescript";
5335
5388
  function createModuleWithProvidersResolver(reflector, isCore) {
5336
5389
  function _reflectModuleFromTypeParam(type, node) {
@@ -5397,7 +5450,7 @@ function isResolvedModuleWithProviders(sv) {
5397
5450
  return typeof sv.value === "object" && sv.value != null && sv.value.hasOwnProperty("ngModule") && sv.value.hasOwnProperty("mwpCall");
5398
5451
  }
5399
5452
 
5400
- // 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
5401
5454
  var NgModuleSymbol = class extends SemanticSymbol {
5402
5455
  constructor(decl, hasProviders) {
5403
5456
  super(decl);
@@ -5706,6 +5759,9 @@ var NgModuleDecoratorHandler = class {
5706
5759
  return new NgModuleSymbol(node, analysis.providers !== null);
5707
5760
  }
5708
5761
  register(node, analysis) {
5762
+ if (this.compilationMode === CompilationMode.LOCAL) {
5763
+ return;
5764
+ }
5709
5765
  this.metaRegistry.registerNgModuleMetadata({
5710
5766
  kind: MetaKind.NgModule,
5711
5767
  ref: new Reference(node),
@@ -5724,6 +5780,9 @@ var NgModuleDecoratorHandler = class {
5724
5780
  });
5725
5781
  }
5726
5782
  resolve(node, analysis) {
5783
+ if (this.compilationMode === CompilationMode.LOCAL) {
5784
+ return {};
5785
+ }
5727
5786
  const scope = this.scopeRegistry.getScopeOfModule(node);
5728
5787
  const diagnostics = [];
5729
5788
  const scopeDiagnostics = this.scopeRegistry.getDiagnosticsOfModule(node);
@@ -5966,7 +6025,7 @@ function isSyntheticReference(ref) {
5966
6025
  return ref.synthetic;
5967
6026
  }
5968
6027
 
5969
- // 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
5970
6029
  function makeCyclicImportInfo(ref, type, cycle) {
5971
6030
  const name = ref.debugName || "(unknown)";
5972
6031
  const path2 = cycle.getPath().map((sf) => sf.fileName).join(" -> ");
@@ -5989,7 +6048,7 @@ function checkCustomElementSelectorForErrors(selector) {
5989
6048
  return null;
5990
6049
  }
5991
6050
 
5992
- // 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
5993
6052
  import { DEFAULT_INTERPOLATION_CONFIG, InterpolationConfig, ParseSourceFile as ParseSourceFile2, parseTemplate } from "@angular/compiler";
5994
6053
  import ts24 from "typescript";
5995
6054
  function getTemplateDeclarationNodeForError(declaration) {
@@ -6348,7 +6407,7 @@ function _extractTemplateStyleUrls(template) {
6348
6407
  return template.styleUrls.map((url) => ({ url, source: 1, nodeForError }));
6349
6408
  }
6350
6409
 
6351
- // 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
6352
6411
  var ComponentSymbol = class extends DirectiveSymbol {
6353
6412
  constructor() {
6354
6413
  super(...arguments);
@@ -6383,7 +6442,7 @@ var ComponentSymbol = class extends DirectiveSymbol {
6383
6442
  }
6384
6443
  };
6385
6444
 
6386
- // 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
6387
6446
  function collectAnimationNames(value, animationTriggerNames) {
6388
6447
  if (value instanceof Map) {
6389
6448
  const name = value.get("name");
@@ -6416,10 +6475,11 @@ var animationTriggerResolver = (fn, node, resolve, unresolvable) => {
6416
6475
  res.set("name", resolve(triggerNameExpression));
6417
6476
  return res;
6418
6477
  };
6419
- function validateAndFlattenComponentImports(imports, expr) {
6478
+ function validateAndFlattenComponentImports(imports, expr, isDeferred) {
6420
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.`;
6421
6481
  if (!Array.isArray(imports)) {
6422
- 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();
6423
6483
  return {
6424
6484
  imports: [],
6425
6485
  diagnostics: [error]
@@ -6428,23 +6488,23 @@ function validateAndFlattenComponentImports(imports, expr) {
6428
6488
  const diagnostics = [];
6429
6489
  for (const ref of imports) {
6430
6490
  if (Array.isArray(ref)) {
6431
- const { imports: childImports, diagnostics: childDiagnostics } = validateAndFlattenComponentImports(ref, expr);
6491
+ const { imports: childImports, diagnostics: childDiagnostics } = validateAndFlattenComponentImports(ref, expr, isDeferred);
6432
6492
  flattened.push(...childImports);
6433
6493
  diagnostics.push(...childDiagnostics);
6434
6494
  } else if (ref instanceof Reference) {
6435
6495
  if (isNamedClassDeclaration(ref.node)) {
6436
6496
  flattened.push(ref);
6437
6497
  } else {
6438
- 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());
6439
6499
  }
6440
6500
  } else if (isLikelyModuleWithProviders(ref)) {
6441
6501
  let origin = expr;
6442
6502
  if (ref instanceof SyntheticValue) {
6443
6503
  origin = getOriginNodeForDiagnostics(ref.value.mwpCall, expr);
6444
6504
  }
6445
- 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.`));
6446
6506
  } else {
6447
- 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());
6448
6508
  }
6449
6509
  }
6450
6510
  return { imports: flattened, diagnostics };
@@ -6459,7 +6519,7 @@ function isLikelyModuleWithProviders(value) {
6459
6519
  return false;
6460
6520
  }
6461
6521
 
6462
- // 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
6463
6523
  var EMPTY_ARRAY2 = [];
6464
6524
  var isUsedDirective = (decl) => decl.kind === R3TemplateDependencyKind.Directive;
6465
6525
  var isUsedPipe = (decl) => decl.kind === R3TemplateDependencyKind.Pipe;
@@ -6569,7 +6629,7 @@ var ComponentDecoratorHandler = class {
6569
6629
  ]).then(() => void 0);
6570
6630
  }
6571
6631
  analyze(node, decorator) {
6572
- var _a, _b, _c, _d;
6632
+ var _a, _b, _c, _d, _e;
6573
6633
  this.perf.eventCount(PerfEvent.AnalyzeComponent);
6574
6634
  const containingFile = node.getSourceFile().fileName;
6575
6635
  this.literalCache.delete(decorator);
@@ -6616,23 +6676,38 @@ var ComponentDecoratorHandler = class {
6616
6676
  providersRequiringFactory = resolveProvidersRequiringFactory(component.get("providers"), this.reflector, this.evaluator);
6617
6677
  }
6618
6678
  let resolvedImports = null;
6679
+ let resolvedDeferredImports = null;
6619
6680
  let rawImports = (_b = component.get("imports")) != null ? _b : null;
6620
- if (rawImports && !metadata.isStandalone) {
6681
+ let rawDeferredImports = (_c = component.get("deferredImports")) != null ? _c : null;
6682
+ if ((rawImports || rawDeferredImports) && !metadata.isStandalone) {
6621
6683
  if (diagnostics === void 0) {
6622
6684
  diagnostics = [];
6623
6685
  }
6624
- 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?`)]));
6625
6688
  isPoisoned = true;
6626
- } else if (this.compilationMode !== CompilationMode.LOCAL && rawImports) {
6627
- const expr = rawImports;
6689
+ } else if (this.compilationMode !== CompilationMode.LOCAL && (rawImports || rawDeferredImports)) {
6628
6690
  const importResolvers = combineResolvers([
6629
6691
  createModuleWithProvidersResolver(this.reflector, this.isCore),
6630
6692
  forwardRefResolver
6631
6693
  ]);
6632
- const imported = this.evaluator.evaluate(expr, importResolvers);
6633
- const { imports: flattened, diagnostics: importDiagnostics } = validateAndFlattenComponentImports(imported, expr);
6634
- resolvedImports = flattened;
6635
- 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
+ }
6636
6711
  if (importDiagnostics.length > 0) {
6637
6712
  isPoisoned = true;
6638
6713
  if (diagnostics === void 0) {
@@ -6726,6 +6801,15 @@ var ComponentDecoratorHandler = class {
6726
6801
  if (template.styles.length > 0) {
6727
6802
  styles.push(...template.styles);
6728
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
+ }
6729
6813
  const output = {
6730
6814
  analysis: {
6731
6815
  baseClass: readBaseClass(node, this.reflector, this.evaluator),
@@ -6738,7 +6822,7 @@ var ComponentDecoratorHandler = class {
6738
6822
  template,
6739
6823
  encapsulation,
6740
6824
  changeDetection,
6741
- interpolation: (_c = template.interpolationConfig) != null ? _c : DEFAULT_INTERPOLATION_CONFIG2,
6825
+ interpolation: (_d = template.interpolationConfig) != null ? _d : DEFAULT_INTERPOLATION_CONFIG2,
6742
6826
  styles,
6743
6827
  animations,
6744
6828
  viewProviders: wrappedViewProviders,
@@ -6767,8 +6851,11 @@ var ComponentDecoratorHandler = class {
6767
6851
  animationTriggerNames,
6768
6852
  rawImports,
6769
6853
  resolvedImports,
6854
+ rawDeferredImports,
6855
+ resolvedDeferredImports,
6856
+ explicitlyDeferredTypes,
6770
6857
  schemas,
6771
- decorator: (_d = decorator == null ? void 0 : decorator.node) != null ? _d : null
6858
+ decorator: (_e = decorator == null ? void 0 : decorator.node) != null ? _e : null
6772
6859
  },
6773
6860
  diagnostics
6774
6861
  };
@@ -6780,6 +6867,9 @@ var ComponentDecoratorHandler = class {
6780
6867
  }
6781
6868
  register(node, analysis) {
6782
6869
  var _a;
6870
+ if (this.compilationMode === CompilationMode.LOCAL) {
6871
+ return;
6872
+ }
6783
6873
  const ref = new Reference(node);
6784
6874
  this.metaRegistry.registerDirectiveMetadata({
6785
6875
  kind: MetaKind.Directive,
@@ -6800,12 +6890,14 @@ var ComponentDecoratorHandler = class {
6800
6890
  isStandalone: analysis.meta.isStandalone,
6801
6891
  isSignal: analysis.meta.isSignal,
6802
6892
  imports: analysis.resolvedImports,
6893
+ deferredImports: analysis.resolvedDeferredImports,
6803
6894
  animationTriggerNames: analysis.animationTriggerNames,
6804
6895
  schemas: analysis.schemas,
6805
6896
  decorator: analysis.decorator,
6806
6897
  assumedToExportProviders: false,
6807
6898
  ngContentSelectors: analysis.template.ngContentSelectors,
6808
- preserveWhitespaces: (_a = analysis.template.preserveWhitespaces) != null ? _a : false
6899
+ preserveWhitespaces: (_a = analysis.template.preserveWhitespaces) != null ? _a : false,
6900
+ isExplicitlyDeferred: false
6809
6901
  });
6810
6902
  this.resourceRegistry.registerResources(analysis.resources, node);
6811
6903
  this.injectableRegistry.registerInjectable(node, {
@@ -6862,38 +6954,66 @@ var ComponentDecoratorHandler = class {
6862
6954
  return extendedTemplateChecker.getDiagnosticsForComponent(component);
6863
6955
  }
6864
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
+ }
6865
6980
  if (this.semanticDepGraphUpdater !== null && analysis.baseClass instanceof Reference) {
6866
6981
  symbol.baseClass = this.semanticDepGraphUpdater.getSymbol(analysis.baseClass.node);
6867
6982
  }
6868
6983
  if (analysis.isPoisoned && !this.usePoisonedData) {
6869
6984
  return {};
6870
6985
  }
6871
- const context = getSourceFile(node);
6872
- const metadata = analysis.meta;
6873
6986
  const data = {
6874
6987
  declarations: EMPTY_ARRAY2,
6875
6988
  declarationListEmitMode: 0,
6876
6989
  deferBlocks: /* @__PURE__ */ new Map(),
6877
- deferrableDeclToImportDecl: /* @__PURE__ */ new Map()
6990
+ deferBlockDepsEmitMode: 0,
6991
+ deferrableDeclToImportDecl: /* @__PURE__ */ new Map(),
6992
+ deferrableTypes: /* @__PURE__ */ new Map()
6878
6993
  };
6879
- const diagnostics = [];
6880
6994
  const scope = this.scopeReader.getScopeForComponent(node);
6881
6995
  if (scope !== null) {
6882
- const matcher = new SelectorMatcher2();
6883
- const pipes = /* @__PURE__ */ new Map();
6884
- const dependencies = scope.kind === ComponentScopeKind.NgModule ? scope.compilation.dependencies : scope.dependencies;
6885
- for (const dep of dependencies) {
6886
- if (dep.kind === MetaKind.Directive && dep.selector !== null) {
6887
- matcher.addSelectables(CssSelector2.parse(dep.selector), [dep]);
6888
- } else if (dep.kind === MetaKind.Pipe) {
6889
- 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);
6890
7003
  }
6891
7004
  }
6892
- 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
+ }
6893
7013
  const bound = binder.bind({ template: metadata.template.nodes });
6894
7014
  const deferBlocks = /* @__PURE__ */ new Map();
6895
7015
  for (const deferBlock of bound.getDeferBlocks()) {
6896
- deferBlocks.set(deferBlock, binder.bind({ template: deferBlock.children }));
7016
+ deferBlocks.set(deferBlock, deferBlockBinder.bind({ template: deferBlock.children }));
6897
7017
  }
6898
7018
  const eagerlyUsed = /* @__PURE__ */ new Set();
6899
7019
  for (const dir of bound.getEagerlyUsedDirectives()) {
@@ -6918,7 +7038,7 @@ var ComponentDecoratorHandler = class {
6918
7038
  }
6919
7039
  }
6920
7040
  const declarations = /* @__PURE__ */ new Map();
6921
- for (const dep of dependencies) {
7041
+ for (const dep of allDependencies) {
6922
7042
  if (declarations.has(dep.ref.node)) {
6923
7043
  continue;
6924
7044
  }
@@ -6972,7 +7092,7 @@ var ComponentDecoratorHandler = class {
6972
7092
  symbol.usedPipes = Array.from(declarations.values()).filter(isUsedPipe).map(getSemanticReference);
6973
7093
  }
6974
7094
  const eagerDeclarations = Array.from(declarations.values()).filter((decl) => decl.kind === R3TemplateDependencyKind.NgModule || eagerlyUsed.has(decl.ref.node));
6975
- this.resolveDeferBlocks(deferBlocks, declarations, data, analysis, eagerlyUsed, bound);
7095
+ this.resolveDeferBlocks(node, deferBlocks, declarations, data, analysis, eagerlyUsed, bound);
6976
7096
  const cyclesFromDirectives = /* @__PURE__ */ new Map();
6977
7097
  const cyclesFromPipes = /* @__PURE__ */ new Map();
6978
7098
  if (!metadata.isStandalone) {
@@ -7023,19 +7143,15 @@ var ComponentDecoratorHandler = class {
7023
7143
  }
7024
7144
  }
7025
7145
  } else {
7026
- const directivelessBinder = new R3TargetBinder(new SelectorMatcher2());
7027
- const bound = directivelessBinder.bind({ template: metadata.template.nodes });
7028
- const deferredBlocks = bound.getDeferBlocks();
7029
- const triggerElements = /* @__PURE__ */ new Map();
7030
- for (const block of deferredBlocks) {
7031
- this.resolveDeferTriggers(block, block.triggers, bound, triggerElements);
7032
- this.resolveDeferTriggers(block, block.prefetchTriggers, bound, triggerElements);
7033
- data.deferBlocks.set(block, { deps: [], triggerElements });
7034
- }
7146
+ data.deferBlocks = this.locateDeferBlocksWithoutScope(metadata.template);
7035
7147
  }
7036
7148
  if (analysis.resolvedImports !== null && analysis.rawImports !== null) {
7037
- const standaloneDiagnostics = validateStandaloneImports(analysis.resolvedImports, analysis.rawImports, this.metaReader, this.scopeReader);
7038
- 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);
7039
7155
  }
7040
7156
  if (analysis.providersRequiringFactory !== null && analysis.meta.providers instanceof WrappedNodeExpr8) {
7041
7157
  const providerDiagnostics = getProviderDiagnostics(analysis.providersRequiringFactory, analysis.meta.providers.node, this.injectableRegistry);
@@ -7049,9 +7165,9 @@ var ComponentDecoratorHandler = class {
7049
7165
  if (directiveDiagnostics !== null) {
7050
7166
  diagnostics.push(...directiveDiagnostics);
7051
7167
  }
7052
- const hostDirectivesDiagnotics = analysis.hostDirectives && analysis.rawHostDirectives ? validateHostDirectives(analysis.rawHostDirectives, analysis.hostDirectives, this.metaReader) : null;
7053
- if (hostDirectivesDiagnotics !== null) {
7054
- 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);
7055
7171
  }
7056
7172
  if (diagnostics.length > 0) {
7057
7173
  return { diagnostics };
@@ -7090,30 +7206,17 @@ var ComponentDecoratorHandler = class {
7090
7206
  analysis.meta.styles = styles.filter((s) => s.trim().length > 0);
7091
7207
  }
7092
7208
  compileFull(node, analysis, resolution, pool) {
7093
- var _a;
7094
7209
  if (analysis.template.errors !== null && analysis.template.errors.length > 0) {
7095
7210
  return [];
7096
7211
  }
7097
- const deferrableTypes = /* @__PURE__ */ new Map();
7098
- for (const [_, metadata] of resolution.deferBlocks) {
7099
- for (const deferBlockDep of metadata.deps) {
7100
- const dep = deferBlockDep;
7101
- const classDecl = dep.classDeclaration;
7102
- const importDecl = (_a = resolution.deferrableDeclToImportDecl.get(classDecl)) != null ? _a : null;
7103
- if (importDecl && this.deferredSymbolTracker.canDefer(importDecl)) {
7104
- deferBlockDep.isDeferrable = true;
7105
- deferBlockDep.importPath = importDecl.moduleSpecifier.text;
7106
- deferrableTypes.set(deferBlockDep.symbolName, deferBlockDep.importPath);
7107
- }
7108
- }
7109
- }
7110
- const meta = { ...analysis.meta, ...resolution };
7212
+ const deferrableTypes = this.collectDeferredSymbols(resolution);
7213
+ const meta = {
7214
+ ...analysis.meta,
7215
+ ...resolution,
7216
+ deferrableTypes
7217
+ };
7111
7218
  const fac = compileNgFactoryDefField(toFactoryMetadata(meta, FactoryTarget3.Component));
7112
- if (analysis.classMetadata) {
7113
- const deferrableSymbols = new Set(deferrableTypes.keys());
7114
- const rewrittenDecoratorsNode = removeIdentifierReferences(analysis.classMetadata.decorators.node, deferrableSymbols);
7115
- analysis.classMetadata.decorators = new WrappedNodeExpr8(rewrittenDecoratorsNode);
7116
- }
7219
+ removeDeferrableTypesFromComponentDecorator(analysis, deferrableTypes);
7117
7220
  const def = compileComponentFromMetadata(meta, pool, makeBindingParser2());
7118
7221
  const inputTransformFields = compileInputTransformFields(analysis.inputs);
7119
7222
  const classMetadata = analysis.classMetadata !== null ? compileComponentClassMetadata(analysis.classMetadata, deferrableTypes).toStmt() : null;
@@ -7138,23 +7241,73 @@ var ComponentDecoratorHandler = class {
7138
7241
  const classMetadata = analysis.classMetadata !== null ? compileDeclareClassMetadata3(analysis.classMetadata).toStmt() : null;
7139
7242
  return compileResults(fac, def, classMetadata, "\u0275cmp", inputTransformFields, null);
7140
7243
  }
7141
- compileLocal(node, analysis, pool) {
7244
+ compileLocal(node, analysis, resolution, pool) {
7142
7245
  if (analysis.template.errors !== null && analysis.template.errors.length > 0) {
7143
7246
  return [];
7144
7247
  }
7248
+ const deferrableTypes = analysis.explicitlyDeferredTypes;
7145
7249
  const meta = {
7146
7250
  ...analysis.meta,
7147
- declarationListEmitMode: !analysis.meta.isStandalone || analysis.rawImports !== null ? 3 : 0,
7148
- declarations: EMPTY_ARRAY2,
7149
- deferBlocks: /* @__PURE__ */ new Map(),
7150
- deferrableDeclToImportDecl: /* @__PURE__ */ new Map()
7251
+ ...resolution,
7252
+ deferrableTypes: deferrableTypes != null ? deferrableTypes : /* @__PURE__ */ new Map()
7151
7253
  };
7254
+ if (analysis.explicitlyDeferredTypes !== null) {
7255
+ removeDeferrableTypesFromComponentDecorator(analysis, analysis.explicitlyDeferredTypes);
7256
+ }
7152
7257
  const fac = compileNgFactoryDefField(toFactoryMetadata(meta, FactoryTarget3.Component));
7153
7258
  const def = compileComponentFromMetadata(meta, pool, makeBindingParser2());
7154
7259
  const inputTransformFields = compileInputTransformFields(analysis.inputs);
7155
- const classMetadata = analysis.classMetadata !== null ? compileClassMetadata3(analysis.classMetadata).toStmt() : null;
7260
+ const classMetadata = analysis.classMetadata !== null ? compileComponentClassMetadata(analysis.classMetadata, deferrableTypes).toStmt() : null;
7156
7261
  const debugInfo = analysis.classDebugInfo !== null ? compileClassDebugInfo(analysis.classDebugInfo).toStmt() : null;
7157
- 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;
7158
7311
  }
7159
7312
  _checkForCyclicImport(importedFile, expr, origin) {
7160
7313
  const imported = resolveImportedFile(this.moduleResolver, importedFile, expr, origin);
@@ -7170,7 +7323,7 @@ var ComponentDecoratorHandler = class {
7170
7323
  }
7171
7324
  this.cycleAnalyzer.recordSyntheticImport(origin, imported);
7172
7325
  }
7173
- resolveDeferBlocks(deferBlocks, deferrableDecls, resolutionData, analysisData, eagerlyUsedDecls, componentBoundTarget) {
7326
+ resolveDeferBlocks(componentClassDecl, deferBlocks, deferrableDecls, resolutionData, analysisData, eagerlyUsedDecls, componentBoundTarget) {
7174
7327
  const allDeferredDecls = /* @__PURE__ */ new Set();
7175
7328
  for (const [deferBlock, bound] of deferBlocks) {
7176
7329
  const usedDirectives = new Set(bound.getEagerlyUsedDirectives().map((d) => d.ref.node));
@@ -7200,45 +7353,56 @@ var ComponentDecoratorHandler = class {
7200
7353
  this.resolveDeferTriggers(deferBlock, deferBlock.prefetchTriggers, componentBoundTarget, triggerElements);
7201
7354
  resolutionData.deferBlocks.set(deferBlock, { deps, triggerElements });
7202
7355
  }
7203
- if (analysisData.meta.isStandalone && analysisData.rawImports !== null && ts25.isArrayLiteralExpression(analysisData.rawImports)) {
7204
- for (const element of analysisData.rawImports.elements) {
7205
- const node = tryUnwrapForwardRef(element, this.reflector) || element;
7206
- if (!ts25.isIdentifier(node)) {
7207
- continue;
7208
- }
7209
- const imp = this.reflector.getImportOfIdentifier(node);
7210
- if (imp === null) {
7211
- continue;
7212
- }
7213
- const decl = this.reflector.getDeclarationOfIdentifier(node);
7214
- if (decl === null) {
7215
- continue;
7216
- }
7217
- if (!isNamedClassDeclaration(decl.node)) {
7218
- continue;
7219
- }
7220
- if (!allDeferredDecls.has(decl.node)) {
7221
- continue;
7222
- }
7223
- if (eagerlyUsedDecls.has(decl.node)) {
7224
- continue;
7225
- }
7226
- const dirMeta = this.metaReader.getDirectiveMetadata(new Reference(decl.node));
7227
- if (dirMeta !== null && !dirMeta.isStandalone) {
7228
- continue;
7229
- }
7230
- const pipeMeta = this.metaReader.getPipeMetadata(new Reference(decl.node));
7231
- if (pipeMeta !== null && !pipeMeta.isStandalone) {
7232
- continue;
7233
- }
7234
- if (dirMeta === null && pipeMeta === null) {
7235
- continue;
7236
- }
7237
- resolutionData.deferrableDeclToImportDecl.set(decl.node, imp.node);
7238
- 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);
7239
7362
  }
7240
7363
  }
7241
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;
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);
7404
+ }
7405
+ }
7242
7406
  resolveDeferTriggers(block, triggers, componentBoundTarget, triggerElements) {
7243
7407
  Object.keys(triggers).forEach((key) => {
7244
7408
  const trigger = triggers[key];
@@ -7246,7 +7410,50 @@ var ComponentDecoratorHandler = class {
7246
7410
  });
7247
7411
  }
7248
7412
  };
7249
- 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) {
7250
7457
  const diagnostics = [];
7251
7458
  for (const ref of importRefs) {
7252
7459
  const dirMeta = metaReader.getDirectiveMetadata(ref);
@@ -7264,16 +7471,17 @@ function validateStandaloneImports(importRefs, importExpr, metaReader, scopeRead
7264
7471
  continue;
7265
7472
  }
7266
7473
  const ngModuleMeta = metaReader.getNgModuleMetadata(ref);
7267
- if (ngModuleMeta !== null) {
7474
+ if (!isDeferredImport && ngModuleMeta !== null) {
7268
7475
  continue;
7269
7476
  }
7270
- diagnostics.push(makeUnknownComponentImportDiagnostic(ref, importExpr));
7477
+ const error = isDeferredImport ? makeUnknownComponentDeferredImportDiagnostic(ref, importExpr) : makeUnknownComponentImportDiagnostic(ref, importExpr);
7478
+ diagnostics.push(error);
7271
7479
  }
7272
7480
  return diagnostics;
7273
7481
  }
7274
7482
 
7275
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/src/injectable.mjs
7276
- 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";
7277
7485
  import ts26 from "typescript";
7278
7486
  var InjectableDecoratorHandler = class {
7279
7487
  constructor(reflector, evaluator, isCore, strictCtorDeps, injectableRegistry, perf, includeClassMetadata, compilationMode, errorOnDuplicateProv = true) {
@@ -7321,11 +7529,17 @@ var InjectableDecoratorHandler = class {
7321
7529
  return null;
7322
7530
  }
7323
7531
  register(node, analysis) {
7532
+ if (this.compilationMode === CompilationMode.LOCAL) {
7533
+ return;
7534
+ }
7324
7535
  this.injectableRegistry.registerInjectable(node, {
7325
7536
  ctorDeps: analysis.ctorDeps
7326
7537
  });
7327
7538
  }
7328
- resolve(node, analysis, symbol) {
7539
+ resolve(node, analysis) {
7540
+ if (this.compilationMode === CompilationMode.LOCAL) {
7541
+ return {};
7542
+ }
7329
7543
  if (requiresValidCtor(analysis.meta)) {
7330
7544
  const diagnostic = checkInheritanceOfInjectable(node, this.injectableRegistry, this.reflector, this.evaluator, this.strictCtorDeps, "Injectable");
7331
7545
  if (diagnostic !== null) {
@@ -7337,13 +7551,13 @@ var InjectableDecoratorHandler = class {
7337
7551
  return {};
7338
7552
  }
7339
7553
  compileFull(node, analysis) {
7340
- return this.compile(compileNgFactoryDefField, (meta) => compileInjectable(meta, false), compileClassMetadata4, node, analysis);
7554
+ return this.compile(compileNgFactoryDefField, (meta) => compileInjectable(meta, false), compileClassMetadata3, node, analysis);
7341
7555
  }
7342
7556
  compilePartial(node, analysis) {
7343
7557
  return this.compile(compileDeclareFactory, compileDeclareInjectableFromMetadata, compileDeclareClassMetadata4, node, analysis);
7344
7558
  }
7345
7559
  compileLocal(node, analysis) {
7346
- return this.compile(compileNgFactoryDefField, (meta) => compileInjectable(meta, false), compileClassMetadata4, node, analysis);
7560
+ return this.compile(compileNgFactoryDefField, (meta) => compileInjectable(meta, false), compileClassMetadata3, node, analysis);
7347
7561
  }
7348
7562
  compile(compileFactoryFn, compileInjectableFn, compileClassMetadataFn, node, analysis) {
7349
7563
  const results = [];
@@ -7498,8 +7712,8 @@ function getDep(dep, reflector) {
7498
7712
  return meta;
7499
7713
  }
7500
7714
 
7501
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/src/pipe.mjs
7502
- 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";
7503
7717
  import ts27 from "typescript";
7504
7718
  var PipeSymbol = class extends SemanticSymbol {
7505
7719
  constructor(decl, name) {
@@ -7608,6 +7822,9 @@ var PipeDecoratorHandler = class {
7608
7822
  return new PipeSymbol(node, analysis.meta.pipeName);
7609
7823
  }
7610
7824
  register(node, analysis) {
7825
+ if (this.compilationMode === CompilationMode.LOCAL) {
7826
+ return;
7827
+ }
7611
7828
  const ref = new Reference(node);
7612
7829
  this.metaRegistry.registerPipeMetadata({
7613
7830
  kind: MetaKind.Pipe,
@@ -7615,13 +7832,17 @@ var PipeDecoratorHandler = class {
7615
7832
  name: analysis.meta.pipeName,
7616
7833
  nameExpr: analysis.pipeNameExpr,
7617
7834
  isStandalone: analysis.meta.isStandalone,
7618
- decorator: analysis.decorator
7835
+ decorator: analysis.decorator,
7836
+ isExplicitlyDeferred: false
7619
7837
  });
7620
7838
  this.injectableRegistry.registerInjectable(node, {
7621
7839
  ctorDeps: analysis.meta.deps
7622
7840
  });
7623
7841
  }
7624
7842
  resolve(node) {
7843
+ if (this.compilationMode === CompilationMode.LOCAL) {
7844
+ return {};
7845
+ }
7625
7846
  const duplicateDeclData = this.scopeRegistry.getDuplicateDeclarations(node);
7626
7847
  if (duplicateDeclData !== null) {
7627
7848
  return {
@@ -7633,7 +7854,7 @@ var PipeDecoratorHandler = class {
7633
7854
  compileFull(node, analysis) {
7634
7855
  const fac = compileNgFactoryDefField(toFactoryMetadata(analysis.meta, FactoryTarget5.Pipe));
7635
7856
  const def = compilePipeFromMetadata(analysis.meta);
7636
- const classMetadata = analysis.classMetadata !== null ? compileClassMetadata5(analysis.classMetadata).toStmt() : null;
7857
+ const classMetadata = analysis.classMetadata !== null ? compileClassMetadata4(analysis.classMetadata).toStmt() : null;
7637
7858
  return compileResults(fac, def, classMetadata, "\u0275pipe", null, null);
7638
7859
  }
7639
7860
  compilePartial(node, analysis) {
@@ -7645,54 +7866,13 @@ var PipeDecoratorHandler = class {
7645
7866
  compileLocal(node, analysis) {
7646
7867
  const fac = compileNgFactoryDefField(toFactoryMetadata(analysis.meta, FactoryTarget5.Pipe));
7647
7868
  const def = compilePipeFromMetadata(analysis.meta);
7648
- const classMetadata = analysis.classMetadata !== null ? compileClassMetadata5(analysis.classMetadata).toStmt() : null;
7869
+ const classMetadata = analysis.classMetadata !== null ? compileClassMetadata4(analysis.classMetadata).toStmt() : null;
7649
7870
  return compileResults(fac, def, classMetadata, "\u0275pipe", null, null);
7650
7871
  }
7651
7872
  };
7652
7873
 
7653
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/api/checker.mjs
7654
- var OptimizeFor;
7655
- (function(OptimizeFor2) {
7656
- OptimizeFor2[OptimizeFor2["SingleFile"] = 0] = "SingleFile";
7657
- OptimizeFor2[OptimizeFor2["WholeProgram"] = 1] = "WholeProgram";
7658
- })(OptimizeFor || (OptimizeFor = {}));
7659
-
7660
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/api/scope.mjs
7661
- var PotentialImportKind;
7662
- (function(PotentialImportKind2) {
7663
- PotentialImportKind2[PotentialImportKind2["NgModule"] = 0] = "NgModule";
7664
- PotentialImportKind2[PotentialImportKind2["Standalone"] = 1] = "Standalone";
7665
- })(PotentialImportKind || (PotentialImportKind = {}));
7666
- var PotentialImportMode;
7667
- (function(PotentialImportMode2) {
7668
- PotentialImportMode2[PotentialImportMode2["Normal"] = 0] = "Normal";
7669
- PotentialImportMode2[PotentialImportMode2["ForceDirect"] = 1] = "ForceDirect";
7670
- })(PotentialImportMode || (PotentialImportMode = {}));
7671
-
7672
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/api/completion.mjs
7673
- var CompletionKind;
7674
- (function(CompletionKind2) {
7675
- CompletionKind2[CompletionKind2["Reference"] = 0] = "Reference";
7676
- CompletionKind2[CompletionKind2["Variable"] = 1] = "Variable";
7677
- })(CompletionKind || (CompletionKind = {}));
7678
-
7679
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/api/symbols.mjs
7680
- var SymbolKind;
7681
- (function(SymbolKind2) {
7682
- SymbolKind2[SymbolKind2["Input"] = 0] = "Input";
7683
- SymbolKind2[SymbolKind2["Output"] = 1] = "Output";
7684
- SymbolKind2[SymbolKind2["Binding"] = 2] = "Binding";
7685
- SymbolKind2[SymbolKind2["Reference"] = 3] = "Reference";
7686
- SymbolKind2[SymbolKind2["Variable"] = 4] = "Variable";
7687
- SymbolKind2[SymbolKind2["Directive"] = 5] = "Directive";
7688
- SymbolKind2[SymbolKind2["Element"] = 6] = "Element";
7689
- SymbolKind2[SymbolKind2["Template"] = 7] = "Template";
7690
- SymbolKind2[SymbolKind2["Expression"] = 8] = "Expression";
7691
- SymbolKind2[SymbolKind2["DomBinding"] = 9] = "DomBinding";
7692
- SymbolKind2[SymbolKind2["Pipe"] = 10] = "Pipe";
7693
- })(SymbolKind || (SymbolKind = {}));
7694
-
7695
7874
  export {
7875
+ isAngularDecorator,
7696
7876
  forwardRefResolver,
7697
7877
  MetaKind,
7698
7878
  CompoundMetadataReader,
@@ -7716,19 +7896,16 @@ export {
7716
7896
  CompilationMode,
7717
7897
  aliasTransformFactory,
7718
7898
  TraitCompiler,
7899
+ addImports,
7719
7900
  DtsTransformRegistry,
7720
7901
  declarationTransformFactory,
7721
7902
  ivyTransformFactory,
7903
+ tryParseSignalInputMapping,
7722
7904
  DirectiveDecoratorHandler,
7723
7905
  NgModuleDecoratorHandler,
7724
7906
  ComponentDecoratorHandler,
7725
7907
  InjectableDecoratorHandler,
7726
- PipeDecoratorHandler,
7727
- OptimizeFor,
7728
- CompletionKind,
7729
- PotentialImportKind,
7730
- PotentialImportMode,
7731
- SymbolKind
7908
+ PipeDecoratorHandler
7732
7909
  };
7733
7910
  /*!
7734
7911
  * @license
@@ -7744,4 +7921,4 @@ export {
7744
7921
  * Use of this source code is governed by an MIT-style license that can be
7745
7922
  * found in the LICENSE file at https://angular.io/license
7746
7923
  */
7747
- //# sourceMappingURL=chunk-U4EFDEE4.js.map
7924
+ //# sourceMappingURL=chunk-GM44CTB7.js.map