@angular/compiler-cli 17.2.0-next.0 → 17.2.0-rc.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 (78) hide show
  1. package/bundles/{chunk-WCD6LVCP.js → chunk-2WQIUGOU.js} +7 -7
  2. package/bundles/{chunk-6RVHVK7X.js → chunk-63UQIYTZ.js} +37 -33
  3. package/bundles/chunk-63UQIYTZ.js.map +6 -0
  4. package/bundles/{chunk-R4KQI5XI.js → chunk-64JBPJBS.js} +5 -5
  5. package/bundles/{chunk-Q5Y7HH3O.js → chunk-6VEEN3ZS.js} +5 -5
  6. package/bundles/{chunk-U6M6KQUQ.js → chunk-CVK4HV4K.js} +261 -194
  7. package/bundles/chunk-CVK4HV4K.js.map +6 -0
  8. package/bundles/{chunk-VYUC5NTT.js → chunk-JIFH6OZK.js} +273 -179
  9. package/bundles/chunk-JIFH6OZK.js.map +6 -0
  10. package/bundles/{chunk-455YOO3E.js → chunk-KYE5EYIK.js} +181 -59
  11. package/bundles/chunk-KYE5EYIK.js.map +6 -0
  12. package/bundles/{chunk-SBDNBITT.js → chunk-LYJKWJUC.js} +3 -3
  13. package/bundles/{chunk-YJ2WTOVI.js → chunk-PQBKKYRL.js} +2761 -2545
  14. package/bundles/chunk-PQBKKYRL.js.map +6 -0
  15. package/bundles/{chunk-QPMYDNZG.js → chunk-UM6JO3VZ.js} +9 -9
  16. package/bundles/{chunk-QPMYDNZG.js.map → chunk-UM6JO3VZ.js.map} +1 -1
  17. package/bundles/{chunk-SIMT2UHI.js → chunk-VVX2ZXGV.js} +5 -5
  18. package/bundles/index.js +17 -13
  19. package/bundles/index.js.map +1 -1
  20. package/bundles/linker/babel/index.js +12 -12
  21. package/bundles/linker/index.js +4 -4
  22. package/bundles/ngcc/index.js +1 -1
  23. package/bundles/private/bazel.js +1 -1
  24. package/bundles/private/localize.js +3 -3
  25. package/bundles/private/migrations.js +5 -5
  26. package/bundles/private/tooling.js +5 -7
  27. package/bundles/src/bin/ng_xi18n.js +10 -10
  28. package/bundles/src/bin/ngc.js +8 -8
  29. package/bundles_metadata.json +1 -1
  30. package/index.d.ts +1 -0
  31. package/linker/src/file_linker/partial_linkers/util.d.ts +2 -1
  32. package/package.json +3 -3
  33. package/private/tooling.d.ts +4 -21
  34. package/src/ngtsc/annotations/common/src/diagnostics.d.ts +11 -0
  35. package/src/ngtsc/annotations/component/src/handler.d.ts +4 -2
  36. package/src/ngtsc/annotations/component/src/metadata.d.ts +4 -1
  37. package/src/ngtsc/annotations/directive/index.d.ts +3 -0
  38. package/src/ngtsc/annotations/directive/src/handler.d.ts +3 -1
  39. package/src/ngtsc/annotations/directive/src/initializer_functions.d.ts +1 -1
  40. package/src/ngtsc/annotations/directive/src/input_output_parse_options.d.ts +18 -0
  41. package/src/ngtsc/annotations/directive/src/model_function.d.ts +13 -0
  42. package/src/ngtsc/annotations/directive/src/output_function.d.ts +18 -0
  43. package/src/ngtsc/annotations/directive/src/query_functions.d.ts +1 -2
  44. package/src/ngtsc/annotations/directive/src/shared.d.ts +5 -2
  45. package/src/ngtsc/annotations/index.d.ts +2 -2
  46. package/src/ngtsc/annotations/ng_module/src/handler.d.ts +3 -2
  47. package/src/ngtsc/annotations/src/pipe.d.ts +2 -1
  48. package/src/ngtsc/core/api/src/public_options.d.ts +10 -0
  49. package/src/ngtsc/diagnostics/src/error.d.ts +4 -3
  50. package/src/ngtsc/diagnostics/src/error_code.d.ts +9 -11
  51. package/src/ngtsc/docs/src/entities.d.ts +1 -0
  52. package/src/ngtsc/docs/src/function_extractor.d.ts +3 -2
  53. package/src/ngtsc/imports/index.d.ts +1 -0
  54. package/src/ngtsc/imports/src/local_compilation_extra_imports_tracker.d.ts +56 -0
  55. package/src/ngtsc/metadata/src/api.d.ts +9 -0
  56. package/src/ngtsc/reflection/src/typescript.d.ts +1 -2
  57. package/src/ngtsc/transform/src/transform.d.ts +2 -2
  58. package/src/ngtsc/translator/index.d.ts +1 -1
  59. package/src/ngtsc/translator/src/import_manager.d.ts +19 -2
  60. package/src/ngtsc/typecheck/src/comments.d.ts +2 -1
  61. package/src/ngtsc/typecheck/src/ts_util.d.ts +2 -0
  62. package/src/transformers/jit_transforms/index.d.ts +21 -1
  63. package/src/transformers/jit_transforms/{signal_inputs_metadata_transform.d.ts → initializer_api_transforms/input_function.d.ts} +5 -6
  64. package/src/transformers/jit_transforms/initializer_api_transforms/model_function.d.ts +13 -0
  65. package/src/transformers/jit_transforms/initializer_api_transforms/output_function.d.ts +19 -0
  66. package/src/transformers/jit_transforms/initializer_api_transforms/query_functions.d.ts +20 -0
  67. package/src/transformers/jit_transforms/initializer_api_transforms/transform.d.ts +17 -0
  68. package/src/transformers/jit_transforms/initializer_api_transforms/transform_api.d.ts +23 -0
  69. package/bundles/chunk-455YOO3E.js.map +0 -6
  70. package/bundles/chunk-6RVHVK7X.js.map +0 -6
  71. package/bundles/chunk-U6M6KQUQ.js.map +0 -6
  72. package/bundles/chunk-VYUC5NTT.js.map +0 -6
  73. package/bundles/chunk-YJ2WTOVI.js.map +0 -6
  74. /package/bundles/{chunk-WCD6LVCP.js.map → chunk-2WQIUGOU.js.map} +0 -0
  75. /package/bundles/{chunk-R4KQI5XI.js.map → chunk-64JBPJBS.js.map} +0 -0
  76. /package/bundles/{chunk-Q5Y7HH3O.js.map → chunk-6VEEN3ZS.js.map} +0 -0
  77. /package/bundles/{chunk-SBDNBITT.js.map → chunk-LYJKWJUC.js.map} +0 -0
  78. /package/bundles/{chunk-SIMT2UHI.js.map → chunk-VVX2ZXGV.js.map} +0 -0
@@ -8,7 +8,7 @@ import {
8
8
  PotentialImportKind,
9
9
  PotentialImportMode,
10
10
  SymbolKind
11
- } from "./chunk-Q5Y7HH3O.js";
11
+ } from "./chunk-6VEEN3ZS.js";
12
12
  import {
13
13
  CompilationMode,
14
14
  ComponentDecoratorHandler,
@@ -39,7 +39,7 @@ import {
39
39
  declarationTransformFactory,
40
40
  isHostDirectiveMetaForGlobalMode,
41
41
  ivyTransformFactory
42
- } from "./chunk-YJ2WTOVI.js";
42
+ } from "./chunk-PQBKKYRL.js";
43
43
  import {
44
44
  AbsoluteModuleStrategy,
45
45
  AliasStrategy,
@@ -50,9 +50,9 @@ import {
50
50
  ERROR_DETAILS_PAGE_BASE_URL,
51
51
  ErrorCode,
52
52
  ExtendedTemplateDiagnosticName,
53
- FatalDiagnosticError,
54
53
  ImportFlags,
55
54
  ImportManager,
55
+ LocalCompilationExtraImportsTracker,
56
56
  LocalIdentifierStrategy,
57
57
  LogicalProjectStrategy,
58
58
  ModuleResolver,
@@ -74,6 +74,7 @@ import {
74
74
  getTokenAtPosition,
75
75
  isAssignment,
76
76
  isDtsPath,
77
+ isFatalDiagnosticError,
77
78
  isNamedClassDeclaration,
78
79
  isNonDeclarationTsPath,
79
80
  isSymbolWithValueDeclaration,
@@ -87,14 +88,14 @@ import {
87
88
  toUnredirectedSourceFile,
88
89
  translateExpression,
89
90
  translateType
90
- } from "./chunk-U6M6KQUQ.js";
91
+ } from "./chunk-CVK4HV4K.js";
91
92
  import {
92
93
  ActivePerfRecorder,
93
94
  DelegatingPerfRecorder,
94
95
  PerfCheckpoint,
95
96
  PerfEvent,
96
97
  PerfPhase
97
- } from "./chunk-R4KQI5XI.js";
98
+ } from "./chunk-64JBPJBS.js";
98
99
  import {
99
100
  LogicalFileSystem,
100
101
  absoluteFrom,
@@ -104,9 +105,9 @@ import {
104
105
  getSourceFileOrError,
105
106
  join,
106
107
  resolve
107
- } from "./chunk-QPMYDNZG.js";
108
+ } from "./chunk-UM6JO3VZ.js";
108
109
 
109
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/transformers/api.mjs
110
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/transformers/api.mjs
110
111
  var DEFAULT_ERROR_CODE = 100;
111
112
  var UNKNOWN_ERROR_CODE = 500;
112
113
  var SOURCE = "angular";
@@ -124,7 +125,7 @@ var EmitFlags;
124
125
  EmitFlags2[EmitFlags2["All"] = 31] = "All";
125
126
  })(EmitFlags || (EmitFlags = {}));
126
127
 
127
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/transformers/compiler_host.mjs
128
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/transformers/compiler_host.mjs
128
129
  import ts from "typescript";
129
130
  var wrapHostForTest = null;
130
131
  function createCompilerHost({ options, tsHost = ts.createCompilerHost(options, true) }) {
@@ -134,7 +135,7 @@ function createCompilerHost({ options, tsHost = ts.createCompilerHost(options, t
134
135
  return tsHost;
135
136
  }
136
137
 
137
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/entities.mjs
138
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/entities.mjs
138
139
  var EntryType;
139
140
  (function(EntryType2) {
140
141
  EntryType2["Block"] = "block";
@@ -177,11 +178,11 @@ var MemberTags;
177
178
  MemberTags2["Inherited"] = "override";
178
179
  })(MemberTags || (MemberTags = {}));
179
180
 
180
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/program.mjs
181
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/program.mjs
181
182
  import { HtmlParser, MessageBundle } from "@angular/compiler";
182
183
  import ts37 from "typescript";
183
184
 
184
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/transformers/i18n.mjs
185
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/transformers/i18n.mjs
185
186
  import { Xliff, Xliff2, Xmb } from "@angular/compiler";
186
187
  import * as path from "path";
187
188
  function i18nGetExtension(formatName) {
@@ -232,10 +233,10 @@ function getPathNormalizer(basePath) {
232
233
  };
233
234
  }
234
235
 
235
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/typescript_support.mjs
236
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/typescript_support.mjs
236
237
  import ts2 from "typescript";
237
238
 
238
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/version_helpers.mjs
239
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/version_helpers.mjs
239
240
  function toNumbers(value) {
240
241
  const suffixIndex = value.lastIndexOf("-");
241
242
  return value.slice(0, suffixIndex === -1 ? value.length : suffixIndex).split(".").map((segment) => {
@@ -270,7 +271,7 @@ function compareVersions(v1, v2) {
270
271
  return compareNumbers(toNumbers(v1), toNumbers(v2));
271
272
  }
272
273
 
273
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/typescript_support.mjs
274
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/typescript_support.mjs
274
275
  var MIN_TS_VERSION = "5.2.0";
275
276
  var MAX_TS_VERSION = "5.4.0";
276
277
  var tsVersion = ts2.version;
@@ -283,10 +284,10 @@ function verifySupportedTypeScriptVersion() {
283
284
  checkVersion(tsVersion, MIN_TS_VERSION, MAX_TS_VERSION);
284
285
  }
285
286
 
286
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/compiler.mjs
287
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/compiler.mjs
287
288
  import ts35 from "typescript";
288
289
 
289
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/cycles/src/analyzer.mjs
290
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/cycles/src/analyzer.mjs
290
291
  var CycleAnalyzer = class {
291
292
  constructor(importGraph) {
292
293
  this.importGraph = importGraph;
@@ -357,7 +358,7 @@ var Cycle = class {
357
358
  }
358
359
  };
359
360
 
360
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/cycles/src/imports.mjs
361
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/cycles/src/imports.mjs
361
362
  import ts3 from "typescript";
362
363
  var ImportGraph = class {
363
364
  constructor(checker, perf) {
@@ -449,23 +450,23 @@ var Found = class {
449
450
  }
450
451
  };
451
452
 
452
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/extractor.mjs
453
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/extractor.mjs
453
454
  import ts9 from "typescript";
454
455
 
455
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/class_extractor.mjs
456
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/class_extractor.mjs
456
457
  import ts6 from "typescript";
457
458
 
458
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/filters.mjs
459
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/filters.mjs
459
460
  function isAngularPrivateName(name) {
460
461
  var _a;
461
462
  const firstChar = (_a = name[0]) != null ? _a : "";
462
463
  return firstChar === "\u0275" || firstChar === "_";
463
464
  }
464
465
 
465
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/function_extractor.mjs
466
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/function_extractor.mjs
466
467
  import ts5 from "typescript";
467
468
 
468
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/generics_extractor.mjs
469
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/generics_extractor.mjs
469
470
  function extractGenerics(declaration) {
470
471
  var _a, _b;
471
472
  return (_b = (_a = declaration.typeParameters) == null ? void 0 : _a.map((typeParam) => {
@@ -478,7 +479,7 @@ function extractGenerics(declaration) {
478
479
  })) != null ? _b : [];
479
480
  }
480
481
 
481
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/jsdoc_extractor.mjs
482
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/jsdoc_extractor.mjs
482
483
  import ts4 from "typescript";
483
484
  var decoratorExpression = /@(?=(Injectable|Component|Directive|Pipe|NgModule|Input|Output|HostBinding|HostListener|Inject|Optional|Self|Host|SkipSelf))/g;
484
485
  function extractJsDocTags(node) {
@@ -522,14 +523,15 @@ function unescapeAngularDecorators(comment) {
522
523
  return comment.replace(/_NG_AT_/g, "@");
523
524
  }
524
525
 
525
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/type_extractor.mjs
526
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/type_extractor.mjs
526
527
  function extractResolvedTypeString(node, checker) {
527
528
  return checker.typeToString(checker.getTypeAtLocation(node));
528
529
  }
529
530
 
530
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/function_extractor.mjs
531
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/function_extractor.mjs
531
532
  var FunctionExtractor = class {
532
- constructor(declaration, typeChecker) {
533
+ constructor(name, declaration, typeChecker) {
534
+ this.name = name;
533
535
  this.declaration = declaration;
534
536
  this.typeChecker = typeChecker;
535
537
  }
@@ -538,7 +540,8 @@ var FunctionExtractor = class {
538
540
  const returnType = signature ? this.typeChecker.typeToString(this.typeChecker.getReturnTypeOfSignature(signature)) : "unknown";
539
541
  return {
540
542
  params: this.extractAllParams(this.declaration.parameters),
541
- name: this.declaration.name.getText(),
543
+ name: this.name,
544
+ isNewType: ts5.isConstructSignatureDeclaration(this.declaration),
542
545
  returnType,
543
546
  entryType: EntryType.Function,
544
547
  generics: extractGenerics(this.declaration),
@@ -581,7 +584,7 @@ var FunctionExtractor = class {
581
584
  }
582
585
  };
583
586
 
584
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/class_extractor.mjs
587
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/class_extractor.mjs
585
588
  var ClassExtractor = class {
586
589
  constructor(declaration, typeChecker) {
587
590
  this.declaration = declaration;
@@ -592,7 +595,7 @@ var ClassExtractor = class {
592
595
  name: this.declaration.name.text,
593
596
  isAbstract: this.isAbstract(),
594
597
  entryType: ts6.isInterfaceDeclaration(this.declaration) ? EntryType.Interface : EntryType.UndecoratedClass,
595
- members: this.extractAllClassMembers(),
598
+ members: this.extractSignatures().concat(this.extractAllClassMembers()),
596
599
  generics: extractGenerics(this.declaration),
597
600
  description: extractJsDocDescription(this.declaration),
598
601
  jsdocTags: extractJsDocTags(this.declaration),
@@ -621,14 +624,25 @@ var ClassExtractor = class {
621
624
  }
622
625
  return void 0;
623
626
  }
627
+ extractSignatures() {
628
+ return this.computeAllSignatureDeclarations().map((s) => this.extractSignature(s));
629
+ }
624
630
  extractMethod(methodDeclaration) {
625
- const functionExtractor = new FunctionExtractor(methodDeclaration, this.typeChecker);
631
+ const functionExtractor = new FunctionExtractor(methodDeclaration.name.getText(), methodDeclaration, this.typeChecker);
626
632
  return {
627
633
  ...functionExtractor.extract(),
628
634
  memberType: MemberType.Method,
629
635
  memberTags: this.getMemberTags(methodDeclaration)
630
636
  };
631
637
  }
638
+ extractSignature(signature) {
639
+ const functionExtractor = new FunctionExtractor(ts6.isConstructSignatureDeclaration(signature) ? "new" : "", signature, this.typeChecker);
640
+ return {
641
+ ...functionExtractor.extract(),
642
+ memberType: MemberType.Method,
643
+ memberTags: []
644
+ };
645
+ }
632
646
  extractClassProperty(propertyDeclaration) {
633
647
  return {
634
648
  name: propertyDeclaration.name.getText(),
@@ -656,6 +670,21 @@ var ClassExtractor = class {
656
670
  }
657
671
  return tags;
658
672
  }
673
+ computeAllSignatureDeclarations() {
674
+ const type = this.typeChecker.getTypeAtLocation(this.declaration);
675
+ const signatures = [
676
+ ...type.getCallSignatures(),
677
+ ...type.getConstructSignatures()
678
+ ];
679
+ const result = [];
680
+ for (const signature of signatures) {
681
+ const decl = signature.getDeclaration();
682
+ if (this.isDocumentableSignature(decl) && this.isDocumentableMember(decl)) {
683
+ result.push(decl);
684
+ }
685
+ }
686
+ return result;
687
+ }
659
688
  getMemberDeclarations() {
660
689
  var _a;
661
690
  const type = this.typeChecker.getTypeAtLocation(this.declaration);
@@ -709,6 +738,9 @@ var ClassExtractor = class {
709
738
  isMethod(member) {
710
739
  return ts6.isMethodDeclaration(member) || ts6.isMethodSignature(member);
711
740
  }
741
+ isDocumentableSignature(signature) {
742
+ return ts6.isConstructSignatureDeclaration(signature) || ts6.isCallSignatureDeclaration(signature);
743
+ }
712
744
  isAbstract() {
713
745
  var _a;
714
746
  const modifiers = (_a = this.declaration.modifiers) != null ? _a : [];
@@ -813,7 +845,7 @@ function extractInterface(declaration, typeChecker) {
813
845
  return extractor.extract();
814
846
  }
815
847
 
816
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/constant_extractor.mjs
848
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/constant_extractor.mjs
817
849
  function extractConstant(declaration, typeChecker) {
818
850
  const resolvedType = typeChecker.getBaseTypeOfLiteralType(typeChecker.getTypeAtLocation(declaration));
819
851
  const variableStatement = declaration.parent.parent;
@@ -831,7 +863,7 @@ function isSyntheticAngularConstant(declaration) {
831
863
  return declaration.name.getText() === "USED_FOR_NG_TYPE_CHECKING";
832
864
  }
833
865
 
834
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/decorator_extractor.mjs
866
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/decorator_extractor.mjs
835
867
  import ts7 from "typescript";
836
868
  function extractorDecorator(declaration, typeChecker) {
837
869
  const documentedNode = getDecoratorJsDocNode(declaration);
@@ -904,7 +936,7 @@ function getDecoratorJsDocNode(declaration) {
904
936
  return callSignature;
905
937
  }
906
938
 
907
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/enum_extractor.mjs
939
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/enum_extractor.mjs
908
940
  import ts8 from "typescript";
909
941
  function extractEnum(declaration, typeChecker) {
910
942
  return {
@@ -935,7 +967,7 @@ function getEnumMemberValue(memberNode) {
935
967
  return (_a = literal == null ? void 0 : literal.getText()) != null ? _a : "";
936
968
  }
937
969
 
938
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/type_alias_extractor.mjs
970
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/type_alias_extractor.mjs
939
971
  function extractTypeAlias(declaration) {
940
972
  return {
941
973
  name: declaration.name.getText(),
@@ -947,7 +979,7 @@ function extractTypeAlias(declaration) {
947
979
  };
948
980
  }
949
981
 
950
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/extractor.mjs
982
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/extractor.mjs
951
983
  var DocsExtractor = class {
952
984
  constructor(typeChecker, metadataReader) {
953
985
  this.typeChecker = typeChecker;
@@ -974,7 +1006,7 @@ var DocsExtractor = class {
974
1006
  return extractInterface(node, this.typeChecker);
975
1007
  }
976
1008
  if (ts9.isFunctionDeclaration(node)) {
977
- const functionExtractor = new FunctionExtractor(node, this.typeChecker);
1009
+ const functionExtractor = new FunctionExtractor(node.name.getText(), node, this.typeChecker);
978
1010
  return functionExtractor.extract();
979
1011
  }
980
1012
  if (ts9.isVariableDeclaration(node) && !isSyntheticAngularConstant(node)) {
@@ -997,7 +1029,7 @@ var DocsExtractor = class {
997
1029
  for (let i = 0; i < declarationCount; i++) {
998
1030
  const [exportName, declaration] = exportedDeclarations[i];
999
1031
  if (ts9.isFunctionDeclaration(declaration)) {
1000
- const extractor = new FunctionExtractor(declaration, this.typeChecker);
1032
+ const extractor = new FunctionExtractor(exportName, declaration, this.typeChecker);
1001
1033
  const overloads = extractor.getOverloads().map((overload) => [exportName, overload]);
1002
1034
  exportedDeclarations.push(...overloads);
1003
1035
  }
@@ -1009,7 +1041,7 @@ function isIgnoredInterface(node) {
1009
1041
  return node.name.getText().endsWith("Decorator") || isDecoratorOptionsInterface(node);
1010
1042
  }
1011
1043
 
1012
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/generator.mjs
1044
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/generator.mjs
1013
1045
  import ts10 from "typescript";
1014
1046
  var FlatIndexGenerator = class {
1015
1047
  constructor(entryPoint, relativeFlatIndexPath, moduleName) {
@@ -1034,7 +1066,7 @@ export * from '${relativeEntryPoint}';
1034
1066
  }
1035
1067
  };
1036
1068
 
1037
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/logic.mjs
1069
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/logic.mjs
1038
1070
  function findFlatIndexEntryPoint(rootFiles) {
1039
1071
  const tsFiles = rootFiles.filter((file) => isNonDeclarationTsPath(file));
1040
1072
  let resolvedEntryPoint = null;
@@ -1050,7 +1082,7 @@ function findFlatIndexEntryPoint(rootFiles) {
1050
1082
  return resolvedEntryPoint;
1051
1083
  }
1052
1084
 
1053
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/private_export_checker.mjs
1085
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/private_export_checker.mjs
1054
1086
  import ts11 from "typescript";
1055
1087
  function checkForPrivateExports(entryPoint, checker, refGraph) {
1056
1088
  const diagnostics = [];
@@ -1130,7 +1162,7 @@ function getDescriptorOfDeclaration(decl) {
1130
1162
  }
1131
1163
  }
1132
1164
 
1133
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/reference_graph.mjs
1165
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/reference_graph.mjs
1134
1166
  var ReferenceGraph = class {
1135
1167
  constructor() {
1136
1168
  this.references = /* @__PURE__ */ new Map();
@@ -1184,7 +1216,7 @@ var ReferenceGraph = class {
1184
1216
  }
1185
1217
  };
1186
1218
 
1187
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/program_driver/src/api.mjs
1219
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/program_driver/src/api.mjs
1188
1220
  var NgOriginalFile = Symbol("NgOriginalFile");
1189
1221
  var UpdateMode;
1190
1222
  (function(UpdateMode2) {
@@ -1192,13 +1224,13 @@ var UpdateMode;
1192
1224
  UpdateMode2[UpdateMode2["Incremental"] = 1] = "Incremental";
1193
1225
  })(UpdateMode || (UpdateMode = {}));
1194
1226
 
1195
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/program_driver/src/ts_create_program_driver.mjs
1227
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/program_driver/src/ts_create_program_driver.mjs
1196
1228
  import ts13 from "typescript";
1197
1229
 
1198
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/adapter.mjs
1230
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/adapter.mjs
1199
1231
  import ts12 from "typescript";
1200
1232
 
1201
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/expando.mjs
1233
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/expando.mjs
1202
1234
  var NgExtension = Symbol("NgExtension");
1203
1235
  function isExtended(sf) {
1204
1236
  return sf[NgExtension] !== void 0;
@@ -1258,13 +1290,13 @@ function retagTsFile(sf) {
1258
1290
  }
1259
1291
  }
1260
1292
 
1261
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/util.mjs
1293
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/util.mjs
1262
1294
  var TS_EXTENSIONS = /\.tsx?$/i;
1263
1295
  function makeShimFileName(fileName, suffix) {
1264
1296
  return absoluteFrom(fileName.replace(TS_EXTENSIONS, suffix));
1265
1297
  }
1266
1298
 
1267
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/adapter.mjs
1299
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/adapter.mjs
1268
1300
  var ShimAdapter = class {
1269
1301
  constructor(delegate, tsRootFiles, topLevelGenerators, perFileGenerators, oldProgram) {
1270
1302
  this.delegate = delegate;
@@ -1359,7 +1391,7 @@ var ShimAdapter = class {
1359
1391
  }
1360
1392
  };
1361
1393
 
1362
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/reference_tagger.mjs
1394
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/reference_tagger.mjs
1363
1395
  var ShimReferenceTagger = class {
1364
1396
  constructor(shimExtensions) {
1365
1397
  this.tagged = /* @__PURE__ */ new Set();
@@ -1393,7 +1425,7 @@ var ShimReferenceTagger = class {
1393
1425
  }
1394
1426
  };
1395
1427
 
1396
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/program_driver/src/ts_create_program_driver.mjs
1428
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/program_driver/src/ts_create_program_driver.mjs
1397
1429
  var DelegatingCompilerHost = class {
1398
1430
  get jsDocParsingMode() {
1399
1431
  return this.delegate.jsDocParsingMode;
@@ -1512,7 +1544,7 @@ var TsCreateProgramDriver = class {
1512
1544
  }
1513
1545
  };
1514
1546
 
1515
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/dependency_tracking.mjs
1547
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/dependency_tracking.mjs
1516
1548
  var FileDependencyGraph = class {
1517
1549
  constructor() {
1518
1550
  this.nodes = /* @__PURE__ */ new Map();
@@ -1579,7 +1611,7 @@ function isLogicallyChanged(sf, node, changedTsPaths, deletedTsPaths, changedRes
1579
1611
  return false;
1580
1612
  }
1581
1613
 
1582
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/state.mjs
1614
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/state.mjs
1583
1615
  var IncrementalStateKind;
1584
1616
  (function(IncrementalStateKind2) {
1585
1617
  IncrementalStateKind2[IncrementalStateKind2["Fresh"] = 0] = "Fresh";
@@ -1587,7 +1619,7 @@ var IncrementalStateKind;
1587
1619
  IncrementalStateKind2[IncrementalStateKind2["Analyzed"] = 2] = "Analyzed";
1588
1620
  })(IncrementalStateKind || (IncrementalStateKind = {}));
1589
1621
 
1590
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/incremental.mjs
1622
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/incremental.mjs
1591
1623
  var PhaseKind;
1592
1624
  (function(PhaseKind2) {
1593
1625
  PhaseKind2[PhaseKind2["Analysis"] = 0] = "Analysis";
@@ -1788,7 +1820,7 @@ function toOriginalSourceFile(sf) {
1788
1820
  }
1789
1821
  }
1790
1822
 
1791
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/strategy.mjs
1823
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/strategy.mjs
1792
1824
  var TrackedIncrementalBuildStrategy = class {
1793
1825
  constructor() {
1794
1826
  this.state = null;
@@ -1824,7 +1856,7 @@ var PatchedProgramIncrementalBuildStrategy = class {
1824
1856
  };
1825
1857
  var SYM_INCREMENTAL_STATE = Symbol("NgIncrementalState");
1826
1858
 
1827
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/api.mjs
1859
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/api.mjs
1828
1860
  var IdentifierKind;
1829
1861
  (function(IdentifierKind2) {
1830
1862
  IdentifierKind2[IdentifierKind2["Property"] = 0] = "Property";
@@ -1842,7 +1874,7 @@ var AbsoluteSourceSpan = class {
1842
1874
  }
1843
1875
  };
1844
1876
 
1845
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/context.mjs
1877
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/context.mjs
1846
1878
  var IndexingContext = class {
1847
1879
  constructor() {
1848
1880
  this.components = /* @__PURE__ */ new Set();
@@ -1852,10 +1884,10 @@ var IndexingContext = class {
1852
1884
  }
1853
1885
  };
1854
1886
 
1855
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/transform.mjs
1887
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/transform.mjs
1856
1888
  import { ParseSourceFile } from "@angular/compiler";
1857
1889
 
1858
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/template.mjs
1890
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/template.mjs
1859
1891
  import { ASTWithSource, ImplicitReceiver, PropertyRead, PropertyWrite, RecursiveAstVisitor, TmplAstBoundDeferredTrigger, TmplAstElement, TmplAstRecursiveVisitor, TmplAstReference, TmplAstTemplate } from "@angular/compiler";
1860
1892
  var ExpressionVisitor = class extends RecursiveAstVisitor {
1861
1893
  constructor(expressionStr, absoluteOffset, boundTemplate, targetToIdentifier) {
@@ -2137,7 +2169,7 @@ function getTemplateIdentifiers(boundTemplate) {
2137
2169
  return { identifiers: visitor.identifiers, errors: visitor.errors };
2138
2170
  }
2139
2171
 
2140
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/transform.mjs
2172
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/transform.mjs
2141
2173
  function generateAnalysis(context) {
2142
2174
  const analysis = /* @__PURE__ */ new Map();
2143
2175
  context.components.forEach(({ declaration, selector, boundTemplate, templateMeta }) => {
@@ -2173,7 +2205,7 @@ function generateAnalysis(context) {
2173
2205
  return analysis;
2174
2206
  }
2175
2207
 
2176
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/ng_module_index.mjs
2208
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/ng_module_index.mjs
2177
2209
  var NgModuleIndexImpl = class {
2178
2210
  constructor(metaReader, localReader) {
2179
2211
  this.metaReader = metaReader;
@@ -2262,7 +2294,7 @@ var NgModuleIndexImpl = class {
2262
2294
  }
2263
2295
  };
2264
2296
 
2265
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/resource/src/loader.mjs
2297
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/resource/src/loader.mjs
2266
2298
  import ts14 from "typescript";
2267
2299
  var CSS_PREPROCESSOR_EXT = /(\.scss|\.sass|\.less|\.styl)$/;
2268
2300
  var RESOURCE_MARKER = ".$ngresource$";
@@ -2408,7 +2440,7 @@ function createLookupResolutionHost(adapter) {
2408
2440
  };
2409
2441
  }
2410
2442
 
2411
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/standalone.mjs
2443
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/standalone.mjs
2412
2444
  var StandaloneComponentScopeReader = class {
2413
2445
  constructor(metaReader, localModuleReader, dtsModuleReader) {
2414
2446
  this.metaReader = metaReader;
@@ -2504,10 +2536,10 @@ var StandaloneComponentScopeReader = class {
2504
2536
  }
2505
2537
  };
2506
2538
 
2507
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/checker.mjs
2539
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/checker.mjs
2508
2540
  import { CssSelector as CssSelector2, DomElementSchemaRegistry as DomElementSchemaRegistry2, ExternalExpr as ExternalExpr2, WrappedNodeExpr as WrappedNodeExpr2 } from "@angular/compiler";
2509
2541
 
2510
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/diagnostics/src/diagnostic.mjs
2542
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/diagnostics/src/diagnostic.mjs
2511
2543
  import ts15 from "typescript";
2512
2544
  function makeTemplateDiagnostic(templateId, mapping, span, category, code, messageText, relatedMessages) {
2513
2545
  var _a;
@@ -2614,7 +2646,7 @@ function parseTemplateAsSourceFile(fileName, template) {
2614
2646
  return ts15.createSourceFile(fileName, template, ts15.ScriptTarget.Latest, false, ts15.ScriptKind.JSX);
2615
2647
  }
2616
2648
 
2617
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/diagnostics/src/id.mjs
2649
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/diagnostics/src/id.mjs
2618
2650
  var TEMPLATE_ID = Symbol("ngTemplateId");
2619
2651
  var NEXT_TEMPLATE_ID = Symbol("ngNextTemplateId");
2620
2652
  function getTemplateId(clazz) {
@@ -2631,11 +2663,11 @@ function allocateTemplateId(sf) {
2631
2663
  return `tcb${sf[NEXT_TEMPLATE_ID]++}`;
2632
2664
  }
2633
2665
 
2634
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/completion.mjs
2666
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/completion.mjs
2635
2667
  import { EmptyExpr, ImplicitReceiver as ImplicitReceiver2, PropertyRead as PropertyRead2, PropertyWrite as PropertyWrite2, SafePropertyRead, TmplAstReference as TmplAstReference2, TmplAstTextAttribute } from "@angular/compiler";
2636
2668
  import ts17 from "typescript";
2637
2669
 
2638
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/comments.mjs
2670
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/comments.mjs
2639
2671
  import { AbsoluteSourceSpan as AbsoluteSourceSpan2 } from "@angular/compiler";
2640
2672
  import ts16 from "typescript";
2641
2673
  var parseSpanComment = /^(\d+),(\d+)$/;
@@ -2662,6 +2694,7 @@ var ExpressionIdentifier;
2662
2694
  ExpressionIdentifier2["DIRECTIVE"] = "DIR";
2663
2695
  ExpressionIdentifier2["COMPONENT_COMPLETION"] = "COMPCOMP";
2664
2696
  ExpressionIdentifier2["EVENT_PARAMETER"] = "EP";
2697
+ ExpressionIdentifier2["VARIABLE_AS_EXPRESSION"] = "VAE";
2665
2698
  })(ExpressionIdentifier || (ExpressionIdentifier = {}));
2666
2699
  function addExpressionIdentifier(node, identifier) {
2667
2700
  ts16.addSyntheticTrailingComment(
@@ -2765,7 +2798,7 @@ function hasExpressionIdentifier(sourceFile, node, identifier) {
2765
2798
  }) || false;
2766
2799
  }
2767
2800
 
2768
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/completion.mjs
2801
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/completion.mjs
2769
2802
  var CompletionEngine = class {
2770
2803
  constructor(tcb, data, tcbPath, tcbIsShim) {
2771
2804
  this.tcb = tcb;
@@ -2922,10 +2955,10 @@ var CompletionEngine = class {
2922
2955
  }
2923
2956
  };
2924
2957
 
2925
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/context.mjs
2958
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/context.mjs
2926
2959
  import ts30 from "typescript";
2927
2960
 
2928
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/dom.mjs
2961
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/dom.mjs
2929
2962
  import { DomElementSchemaRegistry } from "@angular/compiler";
2930
2963
  import ts18 from "typescript";
2931
2964
  var REGISTRY = new DomElementSchemaRegistry();
@@ -2978,10 +3011,10 @@ var RegistryDomSchemaChecker = class {
2978
3011
  }
2979
3012
  };
2980
3013
 
2981
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/environment.mjs
3014
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/environment.mjs
2982
3015
  import ts23 from "typescript";
2983
3016
 
2984
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/reference_emit_environment.mjs
3017
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/reference_emit_environment.mjs
2985
3018
  import { ExpressionType, ExternalExpr, TypeModifier } from "@angular/compiler";
2986
3019
  var ReferenceEmitEnvironment = class {
2987
3020
  constructor(importManager, refEmitter, reflector, contextFile) {
@@ -3012,7 +3045,7 @@ var ReferenceEmitEnvironment = class {
3012
3045
  }
3013
3046
  };
3014
3047
 
3015
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/ts_util.mjs
3048
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/ts_util.mjs
3016
3049
  import ts19 from "typescript";
3017
3050
  var SAFE_TO_CAST_WITHOUT_PARENS = /* @__PURE__ */ new Set([
3018
3051
  ts19.SyntaxKind.ParenthesizedExpression,
@@ -3048,14 +3081,12 @@ function tsCreateElement(tagName) {
3048
3081
  );
3049
3082
  }
3050
3083
  function tsDeclareVariable(id, type) {
3051
- let initializer = ts19.factory.createNonNullExpression(ts19.factory.createNull());
3052
- if (type.kind === ts19.SyntaxKind.BooleanKeyword) {
3053
- initializer = ts19.factory.createAsExpression(initializer, ts19.factory.createKeywordTypeNode(ts19.SyntaxKind.BooleanKeyword));
3054
- }
3084
+ addExpressionIdentifier(type, ExpressionIdentifier.VARIABLE_AS_EXPRESSION);
3085
+ const initializer = ts19.factory.createAsExpression(ts19.factory.createNonNullExpression(ts19.factory.createNull()), type);
3055
3086
  const decl = ts19.factory.createVariableDeclaration(
3056
3087
  id,
3057
3088
  void 0,
3058
- type,
3089
+ void 0,
3059
3090
  initializer
3060
3091
  );
3061
3092
  return ts19.factory.createVariableStatement(
@@ -3096,16 +3127,23 @@ function tsNumericExpression(value) {
3096
3127
  }
3097
3128
  return ts19.factory.createNumericLiteral(value);
3098
3129
  }
3130
+ function getImportString(imp) {
3131
+ if (imp.qualifier === null) {
3132
+ return `import from '${imp.specifier}';`;
3133
+ } else {
3134
+ return `import * as ${imp.qualifier.text} from '${imp.specifier}';`;
3135
+ }
3136
+ }
3099
3137
 
3100
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_constructor.mjs
3138
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_constructor.mjs
3101
3139
  import { ExpressionType as ExpressionType2, R3Identifiers as R3Identifiers2, WrappedNodeExpr } from "@angular/compiler";
3102
3140
  import ts22 from "typescript";
3103
3141
 
3104
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/tcb_util.mjs
3142
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/tcb_util.mjs
3105
3143
  import { R3Identifiers } from "@angular/compiler";
3106
3144
  import ts21 from "typescript";
3107
3145
 
3108
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_parameter_emitter.mjs
3146
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_parameter_emitter.mjs
3109
3147
  import ts20 from "typescript";
3110
3148
  var TypeParameterEmitter = class {
3111
3149
  constructor(typeParameters, reflector) {
@@ -3183,7 +3221,7 @@ var TypeParameterEmitter = class {
3183
3221
  }
3184
3222
  };
3185
3223
 
3186
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/tcb_util.mjs
3224
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/tcb_util.mjs
3187
3225
  var TCB_FILE_IMPORT_GRAPH_PREPARE_MODULES = [
3188
3226
  R3Identifiers.InputSignalBrandWriteType.moduleName
3189
3227
  ];
@@ -3271,7 +3309,7 @@ function checkIfGenericTypeBoundsCanBeEmitted(node, reflector, env) {
3271
3309
  return emitter.canEmit((ref) => env.canReferenceType(ref));
3272
3310
  }
3273
3311
 
3274
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_constructor.mjs
3312
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_constructor.mjs
3275
3313
  function generateTypeCtorDeclarationFn(env, meta, nodeTypeRef, typeParams) {
3276
3314
  const rawTypeArgs = typeParams !== void 0 ? generateGenericArgs(typeParams) : void 0;
3277
3315
  const rawType = ts22.factory.createTypeReferenceNode(nodeTypeRef, rawTypeArgs);
@@ -3394,7 +3432,7 @@ function typeParametersWithDefaultTypes(params) {
3394
3432
  });
3395
3433
  }
3396
3434
 
3397
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/environment.mjs
3435
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/environment.mjs
3398
3436
  var Environment = class extends ReferenceEmitEnvironment {
3399
3437
  constructor(config, importManager, refEmitter, reflector, contextFile) {
3400
3438
  super(importManager, refEmitter, reflector, contextFile);
@@ -3469,7 +3507,7 @@ var Environment = class extends ReferenceEmitEnvironment {
3469
3507
  }
3470
3508
  };
3471
3509
 
3472
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/oob.mjs
3510
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/oob.mjs
3473
3511
  import { AbsoluteSourceSpan as AbsoluteSourceSpan3, TmplAstElement as TmplAstElement2, TmplAstForLoopBlock, TmplAstForLoopBlockEmpty } from "@angular/compiler";
3474
3512
  import ts24 from "typescript";
3475
3513
  var OutOfBandDiagnosticRecorderImpl = class {
@@ -3671,7 +3709,7 @@ function makeInlineDiagnostic(templateId, code, node, messageText, relatedInform
3671
3709
  };
3672
3710
  }
3673
3711
 
3674
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/shim.mjs
3712
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/shim.mjs
3675
3713
  import ts25 from "typescript";
3676
3714
  var TypeCheckShimGenerator = class {
3677
3715
  constructor() {
@@ -3689,11 +3727,11 @@ var TypeCheckShimGenerator = class {
3689
3727
  }
3690
3728
  };
3691
3729
 
3692
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_block.mjs
3730
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_block.mjs
3693
3731
  import { BindingPipe, Call as Call2, createCssSelectorFromNode, CssSelector, DYNAMIC_TYPE, ImplicitReceiver as ImplicitReceiver4, PropertyRead as PropertyRead4, PropertyWrite as PropertyWrite3, R3Identifiers as R3Identifiers3, SafeCall, SafePropertyRead as SafePropertyRead3, SelectorMatcher, ThisReceiver, TmplAstBoundAttribute, TmplAstBoundText, TmplAstDeferredBlock, TmplAstElement as TmplAstElement3, TmplAstForLoopBlock as TmplAstForLoopBlock2, TmplAstIcu, TmplAstIfBlock, TmplAstIfBlockBranch, TmplAstReference as TmplAstReference3, TmplAstSwitchBlock, TmplAstTemplate as TmplAstTemplate2, TmplAstText, TmplAstTextAttribute as TmplAstTextAttribute2, TmplAstVariable as TmplAstVariable2, TransplantedType } from "@angular/compiler";
3694
3732
  import ts28 from "typescript";
3695
3733
 
3696
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/diagnostics.mjs
3734
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/diagnostics.mjs
3697
3735
  import { AbsoluteSourceSpan as AbsoluteSourceSpan4 } from "@angular/compiler";
3698
3736
  import ts26 from "typescript";
3699
3737
  function wrapForDiagnostics(expr) {
@@ -3739,7 +3777,7 @@ function translateDiagnostic(diagnostic, resolver) {
3739
3777
  return makeTemplateDiagnostic(sourceLocation.id, templateSourceMapping, span, diagnostic.category, diagnostic.code, diagnostic.messageText);
3740
3778
  }
3741
3779
 
3742
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/expression.mjs
3780
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/expression.mjs
3743
3781
  import { ASTWithSource as ASTWithSource2, Call, EmptyExpr as EmptyExpr2, PropertyRead as PropertyRead3, SafeKeyedRead, SafePropertyRead as SafePropertyRead2 } from "@angular/compiler";
3744
3782
  import ts27 from "typescript";
3745
3783
  var NULL_AS_ANY = ts27.factory.createAsExpression(ts27.factory.createNull(), ts27.factory.createKeywordTypeNode(ts27.SyntaxKind.AnyKeyword));
@@ -4072,7 +4110,7 @@ var VeSafeLhsInferenceBugDetector = _VeSafeLhsInferenceBugDetector;
4072
4110
  _VeSafeLhsInferenceBugDetector.SINGLETON = new _VeSafeLhsInferenceBugDetector();
4073
4111
  })();
4074
4112
 
4075
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/template_semantics.mjs
4113
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/template_semantics.mjs
4076
4114
  import { ImplicitReceiver as ImplicitReceiver3, RecursiveAstVisitor as RecursiveAstVisitor2, TmplAstVariable } from "@angular/compiler";
4077
4115
  var ExpressionSemanticVisitor = class extends RecursiveAstVisitor2 {
4078
4116
  constructor(templateId, boundTarget, oob) {
@@ -4096,7 +4134,7 @@ var ExpressionSemanticVisitor = class extends RecursiveAstVisitor2 {
4096
4134
  }
4097
4135
  };
4098
4136
 
4099
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_block.mjs
4137
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_block.mjs
4100
4138
  var TcbGenericContextBehavior;
4101
4139
  (function(TcbGenericContextBehavior2) {
4102
4140
  TcbGenericContextBehavior2[TcbGenericContextBehavior2["UseEmitter"] = 0] = "UseEmitter";
@@ -4321,8 +4359,8 @@ var TcbDirectiveTypeOpBase = class extends TcbOp {
4321
4359
  type = ts28.factory.createTypeReferenceNode(rawType.typeName, typeArguments);
4322
4360
  }
4323
4361
  const id = this.tcb.allocateId();
4324
- addExpressionIdentifier(type, ExpressionIdentifier.DIRECTIVE);
4325
- addParseSpanInfo(type, this.node.startSourceSpan || this.node.sourceSpan);
4362
+ addExpressionIdentifier(id, ExpressionIdentifier.DIRECTIVE);
4363
+ addParseSpanInfo(id, this.node.startSourceSpan || this.node.sourceSpan);
4326
4364
  this.scope.addStatement(tsDeclareVariable(id, type));
4327
4365
  return id;
4328
4366
  }
@@ -4405,7 +4443,7 @@ var TcbDirectiveCtorOp = class extends TcbOp {
4405
4443
  if (!this.tcb.env.config.checkTypeOfAttributes && attr.attribute instanceof TmplAstTextAttribute2) {
4406
4444
  continue;
4407
4445
  }
4408
- for (const { fieldName } of attr.inputs) {
4446
+ for (const { fieldName, isTwoWayBinding } of attr.inputs) {
4409
4447
  if (genericInputs.has(fieldName)) {
4410
4448
  continue;
4411
4449
  }
@@ -4414,7 +4452,8 @@ var TcbDirectiveCtorOp = class extends TcbOp {
4414
4452
  type: "binding",
4415
4453
  field: fieldName,
4416
4454
  expression,
4417
- sourceSpan: attr.attribute.sourceSpan
4455
+ sourceSpan: attr.attribute.sourceSpan,
4456
+ isTwoWayBinding
4418
4457
  });
4419
4458
  }
4420
4459
  }
@@ -4450,7 +4489,7 @@ var TcbDirectiveInputsOp = class extends TcbOp {
4450
4489
  for (const attr of boundAttrs) {
4451
4490
  const expr = widenBinding(translateInput(attr.attribute, this.tcb, this.scope), this.tcb);
4452
4491
  let assignment = wrapForDiagnostics(expr);
4453
- for (const { fieldName, required, transformType, isSignal: isSignal2 } of attr.inputs) {
4492
+ for (const { fieldName, required, transformType, isSignal: isSignal2, isTwoWayBinding } of attr.inputs) {
4454
4493
  let target;
4455
4494
  if (required) {
4456
4495
  seenRequiredInputs.add(fieldName);
@@ -4500,6 +4539,9 @@ var TcbDirectiveInputsOp = class extends TcbOp {
4500
4539
  if (attr.attribute.keySpan !== void 0) {
4501
4540
  addParseSpanInfo(target, attr.attribute.keySpan);
4502
4541
  }
4542
+ if (isTwoWayBinding) {
4543
+ assignment = unwrapWritableSignal(assignment, this.tcb);
4544
+ }
4503
4545
  assignment = ts28.factory.createBinaryExpression(target, ts28.SyntaxKind.EqualsToken, assignment);
4504
4546
  }
4505
4547
  addParseSpanInfo(assignment, attr.attribute.sourceSpan);
@@ -4559,14 +4601,13 @@ var TcbDomSchemaCheckerOp = class extends TcbOp {
4559
4601
  this.tcb.domSchemaChecker.checkElement(this.tcb.id, this.element, this.tcb.schemas, this.tcb.hostIsStandalone);
4560
4602
  }
4561
4603
  for (const binding of this.element.inputs) {
4562
- if (binding.type === 0 && this.claimedInputs.has(binding.name)) {
4604
+ const isPropertyBinding = binding.type === 0 || binding.type === 5;
4605
+ if (isPropertyBinding && this.claimedInputs.has(binding.name)) {
4563
4606
  continue;
4564
4607
  }
4565
- if (binding.type === 0) {
4566
- if (binding.name !== "style" && binding.name !== "class") {
4567
- const propertyName = (_a = ATTR_TO_PROP.get(binding.name)) != null ? _a : binding.name;
4568
- this.tcb.domSchemaChecker.checkProperty(this.tcb.id, this.element, propertyName, binding.sourceSpan, this.tcb.schemas, this.tcb.hostIsStandalone);
4569
- }
4608
+ if (isPropertyBinding && binding.name !== "style" && binding.name !== "class") {
4609
+ const propertyName = (_a = ATTR_TO_PROP.get(binding.name)) != null ? _a : binding.name;
4610
+ this.tcb.domSchemaChecker.checkProperty(this.tcb.id, this.element, propertyName, binding.sourceSpan, this.tcb.schemas, this.tcb.hostIsStandalone);
4570
4611
  }
4571
4612
  }
4572
4613
  return null;
@@ -4668,11 +4709,12 @@ var TcbUnclaimedInputsOp = class extends TcbOp {
4668
4709
  var _a;
4669
4710
  let elId = null;
4670
4711
  for (const binding of this.element.inputs) {
4671
- if (binding.type === 0 && this.claimedInputs.has(binding.name)) {
4712
+ const isPropertyBinding = binding.type === 0 || binding.type === 5;
4713
+ if (isPropertyBinding && this.claimedInputs.has(binding.name)) {
4672
4714
  continue;
4673
4715
  }
4674
4716
  const expr = widenBinding(tcbExpression(binding.value, this.tcb, this.scope), this.tcb);
4675
- if (this.tcb.env.config.checkTypeOfDomBindings && binding.type === 0) {
4717
+ if (this.tcb.env.config.checkTypeOfDomBindings && isPropertyBinding) {
4676
4718
  if (binding.name !== "style" && binding.name !== "class") {
4677
4719
  if (elId === null) {
4678
4720
  elId = this.scope.resolve(this.element);
@@ -4707,7 +4749,7 @@ var TcbDirectiveOutputsOp = class extends TcbOp {
4707
4749
  let dirId = null;
4708
4750
  const outputs = this.dir.outputs;
4709
4751
  for (const output of this.node.outputs) {
4710
- if (output.type !== 0 || !outputs.hasBindingPropertyName(output.name)) {
4752
+ if (output.type === 1 || !outputs.hasBindingPropertyName(output.name)) {
4711
4753
  continue;
4712
4754
  }
4713
4755
  if (this.tcb.env.config.checkTypeOfOutputEvents && output.name.endsWith("Change")) {
@@ -4815,7 +4857,9 @@ var TcbBlockVariableOp = class extends TcbOp {
4815
4857
  execute() {
4816
4858
  const id = this.tcb.allocateId();
4817
4859
  addParseSpanInfo(id, this.variable.keySpan);
4818
- this.scope.addStatement(tsCreateVariable(id, this.initializer));
4860
+ const variable = tsCreateVariable(id, wrapForTypeChecker(this.initializer));
4861
+ addParseSpanInfo(variable.declarationList.declarations[0], this.variable.sourceSpan);
4862
+ this.scope.addStatement(variable);
4819
4863
  return id;
4820
4864
  }
4821
4865
  };
@@ -4831,7 +4875,9 @@ var TcbBlockImplicitVariableOp = class extends TcbOp {
4831
4875
  execute() {
4832
4876
  const id = this.tcb.allocateId();
4833
4877
  addParseSpanInfo(id, this.variable.keySpan);
4834
- this.scope.addStatement(tsDeclareVariable(id, this.type));
4878
+ const variable = tsDeclareVariable(id, this.type);
4879
+ addParseSpanInfo(variable.declarationList.declarations[0], this.variable.sourceSpan);
4880
+ this.scope.addStatement(variable);
4835
4881
  return id;
4836
4882
  }
4837
4883
  };
@@ -4967,6 +5013,7 @@ var TcbForOfOp = class extends TcbOp {
4967
5013
  throw new Error(`Could not resolve for loop variable ${this.block.item.name} to an identifier`);
4968
5014
  }
4969
5015
  const initializer = ts28.factory.createVariableDeclarationList([ts28.factory.createVariableDeclaration(initializerId)], ts28.NodeFlags.Const);
5016
+ addParseSpanInfo(initializer, this.block.item.keySpan);
4970
5017
  const expression = ts28.factory.createNonNullExpression(tcbExpression(this.block.expression, this.tcb, loopScope));
4971
5018
  const trackTranslator = new TcbForLoopTrackTranslator(this.tcb, loopScope, this.block);
4972
5019
  const trackExpression = trackTranslator.translate(this.block.trackBy);
@@ -5452,7 +5499,10 @@ function tcbCallTypeCtor(dir, tcb, inputs) {
5452
5499
  const members = inputs.map((input) => {
5453
5500
  const propertyName = ts28.factory.createStringLiteral(input.field);
5454
5501
  if (input.type === "binding") {
5455
- const expr = widenBinding(input.expression, tcb);
5502
+ let expr = widenBinding(input.expression, tcb);
5503
+ if (input.isTwoWayBinding) {
5504
+ expr = unwrapWritableSignal(expr, tcb);
5505
+ }
5456
5506
  const assignment = ts28.factory.createPropertyAssignment(propertyName, wrapForDiagnostics(expr));
5457
5507
  addParseSpanInfo(assignment, input.sourceSpan);
5458
5508
  return assignment;
@@ -5469,7 +5519,7 @@ function tcbCallTypeCtor(dir, tcb, inputs) {
5469
5519
  function getBoundAttributes(directive, node) {
5470
5520
  const boundInputs = [];
5471
5521
  const processAttribute = (attr) => {
5472
- if (attr instanceof TmplAstBoundAttribute && attr.type !== 0) {
5522
+ if (attr instanceof TmplAstBoundAttribute && attr.type !== 0 && attr.type !== 5) {
5473
5523
  return;
5474
5524
  }
5475
5525
  const inputs = directive.inputs.getByBindingPropertyName(attr.name);
@@ -5482,7 +5532,8 @@ function getBoundAttributes(directive, node) {
5482
5532
  fieldName: input.classPropertyName,
5483
5533
  required: input.required,
5484
5534
  transformType: ((_a = input.transform) == null ? void 0 : _a.type) || null,
5485
- isSignal: input.isSignal
5535
+ isSignal: input.isSignal,
5536
+ isTwoWayBinding: attr instanceof TmplAstBoundAttribute && attr.type === 5
5486
5537
  };
5487
5538
  })
5488
5539
  });
@@ -5515,6 +5566,10 @@ function widenBinding(expr, tcb) {
5515
5566
  return expr;
5516
5567
  }
5517
5568
  }
5569
+ function unwrapWritableSignal(expression, tcb) {
5570
+ const unwrapRef = tcb.env.referenceExternalSymbol(R3Identifiers3.unwrapWritableSignal.moduleName, R3Identifiers3.unwrapWritableSignal.name);
5571
+ return ts28.factory.createCallExpression(unwrapRef, void 0, [expression]);
5572
+ }
5518
5573
  var EVENT_PARAMETER = "$event";
5519
5574
  function tcbCreateEventHandler(event, tcb, scope, eventType) {
5520
5575
  const handler = tcbEventHandlerExpression(event.handler, tcb, scope);
@@ -5597,7 +5652,7 @@ var TcbForLoopTrackTranslator = class extends TcbExpressionTranslator {
5597
5652
  }
5598
5653
  };
5599
5654
 
5600
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_file.mjs
5655
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_file.mjs
5601
5656
  import ts29 from "typescript";
5602
5657
  var TypeCheckFile = class extends Environment {
5603
5658
  constructor(fileName, config, refEmitter, reflector, compilerHost) {
@@ -5613,7 +5668,7 @@ var TypeCheckFile = class extends Environment {
5613
5668
  }
5614
5669
  render(removeComments) {
5615
5670
  ensureTypeCheckFilePreparationImports(this);
5616
- let source = this.importManager.getAllImports(this.contextFile.fileName).map((i) => `import * as ${i.qualifier.text} from '${i.specifier}';`).join("\n") + "\n\n";
5671
+ let source = this.importManager.getAllImports(this.contextFile.fileName).map(getImportString).join("\n") + "\n\n";
5617
5672
  const printer = ts29.createPrinter({ removeComments });
5618
5673
  source += "\n";
5619
5674
  for (const stmt of this.pipeInstStatements) {
@@ -5634,7 +5689,7 @@ var TypeCheckFile = class extends Environment {
5634
5689
  }
5635
5690
  };
5636
5691
 
5637
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/context.mjs
5692
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/context.mjs
5638
5693
  var InliningMode;
5639
5694
  (function(InliningMode2) {
5640
5695
  InliningMode2[InliningMode2["InlineOps"] = 0] = "InlineOps";
@@ -5746,7 +5801,7 @@ var TypeCheckContextImpl = class {
5746
5801
  const text = op.execute(importManager, sf, this.refEmitter, printer);
5747
5802
  code += "\n\n" + text + textParts[idx + 1];
5748
5803
  });
5749
- let imports = importManager.getAllImports(sf.fileName).map((i) => `import * as ${i.qualifier.text} from '${i.specifier}';`).join("\n");
5804
+ let imports = importManager.getAllImports(sf.fileName).map(getImportString).join("\n");
5750
5805
  code = imports + "\n" + code;
5751
5806
  return code;
5752
5807
  }
@@ -5874,10 +5929,10 @@ function splitStringAtPoints(str, points) {
5874
5929
  return splits;
5875
5930
  }
5876
5931
 
5877
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/source.mjs
5932
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/source.mjs
5878
5933
  import { ParseLocation, ParseSourceSpan } from "@angular/compiler";
5879
5934
 
5880
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/line_mappings.mjs
5935
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/line_mappings.mjs
5881
5936
  var LF_CHAR = 10;
5882
5937
  var CR_CHAR = 13;
5883
5938
  var LINE_SEP_CHAR = 8232;
@@ -5918,7 +5973,7 @@ function findClosestLineStartPosition(linesMap, position, low = 0, high = linesM
5918
5973
  return low - 1;
5919
5974
  }
5920
5975
 
5921
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/source.mjs
5976
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/source.mjs
5922
5977
  var TemplateSource = class {
5923
5978
  constructor(mapping, file) {
5924
5979
  this.mapping = mapping;
@@ -5969,8 +6024,8 @@ var TemplateSourceManager = class {
5969
6024
  }
5970
6025
  };
5971
6026
 
5972
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/template_symbol_builder.mjs
5973
- import { AST, ASTWithSource as ASTWithSource3, BindingPipe as BindingPipe2, PropertyRead as PropertyRead5, PropertyWrite as PropertyWrite4, SafePropertyRead as SafePropertyRead4, TmplAstBoundAttribute as TmplAstBoundAttribute2, TmplAstBoundEvent, TmplAstElement as TmplAstElement4, TmplAstReference as TmplAstReference4, TmplAstTemplate as TmplAstTemplate3, TmplAstTextAttribute as TmplAstTextAttribute3, TmplAstVariable as TmplAstVariable3 } from "@angular/compiler";
6027
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/template_symbol_builder.mjs
6028
+ import { AST, ASTWithSource as ASTWithSource3, BindingPipe as BindingPipe2, PropertyRead as PropertyRead5, PropertyWrite as PropertyWrite4, R3Identifiers as R3Identifiers4, SafePropertyRead as SafePropertyRead4, TmplAstBoundAttribute as TmplAstBoundAttribute2, TmplAstBoundEvent, TmplAstElement as TmplAstElement4, TmplAstReference as TmplAstReference4, TmplAstTemplate as TmplAstTemplate3, TmplAstTextAttribute as TmplAstTextAttribute3, TmplAstVariable as TmplAstVariable3 } from "@angular/compiler";
5974
6029
  import ts31 from "typescript";
5975
6030
  var SymbolBuilder = class {
5976
6031
  constructor(tcbPath, tcbIsShim, typeCheckBlock, templateData, componentScopeReader, getTypeChecker) {
@@ -6209,6 +6264,7 @@ var SymbolBuilder = class {
6209
6264
  return { kind: SymbolKind.Output, bindings };
6210
6265
  }
6211
6266
  getSymbolOfInputBinding(binding) {
6267
+ var _a;
6212
6268
  const consumer = this.templateData.boundTarget.getConsumerOfBinding(binding);
6213
6269
  if (consumer === null) {
6214
6270
  return null;
@@ -6223,11 +6279,23 @@ var SymbolBuilder = class {
6223
6279
  if (!isAccessExpression(node.left)) {
6224
6280
  continue;
6225
6281
  }
6226
- const symbolInfo = this.getSymbolOfTsNode(node.left);
6282
+ const signalInputAssignment = unwrapSignalInputWriteTAccessor(node.left);
6283
+ let symbolInfo = null;
6284
+ if (signalInputAssignment !== null) {
6285
+ const fieldSymbol = this.getSymbolOfTsNode(signalInputAssignment.fieldExpr);
6286
+ const typeSymbol = this.getSymbolOfTsNode(signalInputAssignment.typeExpr);
6287
+ symbolInfo = fieldSymbol === null || typeSymbol === null ? null : {
6288
+ tcbLocation: fieldSymbol.tcbLocation,
6289
+ tsSymbol: fieldSymbol.tsSymbol,
6290
+ tsType: typeSymbol.tsType
6291
+ };
6292
+ } else {
6293
+ symbolInfo = this.getSymbolOfTsNode(node.left);
6294
+ }
6227
6295
  if (symbolInfo === null || symbolInfo.tsSymbol === null) {
6228
6296
  continue;
6229
6297
  }
6230
- const target = this.getDirectiveSymbolForAccessExpression(node.left, consumer);
6298
+ const target = this.getDirectiveSymbolForAccessExpression((_a = signalInputAssignment == null ? void 0 : signalInputAssignment.fieldExpr) != null ? _a : node.left, consumer);
6231
6299
  if (target === null) {
6232
6300
  continue;
6233
6301
  }
@@ -6243,9 +6311,9 @@ var SymbolBuilder = class {
6243
6311
  }
6244
6312
  return { kind: SymbolKind.Input, bindings };
6245
6313
  }
6246
- getDirectiveSymbolForAccessExpression(node, { isComponent, selector, isStructural }) {
6314
+ getDirectiveSymbolForAccessExpression(fieldAccessExpr, { isComponent, selector, isStructural }) {
6247
6315
  var _a;
6248
- const tsSymbol = this.getTypeChecker().getSymbolAtLocation(node.expression);
6316
+ const tsSymbol = this.getTypeChecker().getSymbolAtLocation(fieldAccessExpr.expression);
6249
6317
  if ((tsSymbol == null ? void 0 : tsSymbol.declarations) === void 0 || tsSymbol.declarations.length === 0 || selector === null) {
6250
6318
  return null;
6251
6319
  }
@@ -6279,17 +6347,22 @@ var SymbolBuilder = class {
6279
6347
  }
6280
6348
  getSymbolOfVariable(variable) {
6281
6349
  const node = findFirstMatchingNode(this.typeCheckBlock, { withSpan: variable.sourceSpan, filter: ts31.isVariableDeclaration });
6282
- if (node === null || node.initializer === void 0) {
6350
+ if (node === null) {
6283
6351
  return null;
6284
6352
  }
6285
- const expressionSymbol = this.getSymbolOfTsNode(node.initializer);
6286
- if (expressionSymbol === null) {
6353
+ let nodeValueSymbol = null;
6354
+ if (ts31.isForOfStatement(node.parent.parent)) {
6355
+ nodeValueSymbol = this.getSymbolOfTsNode(node);
6356
+ } else if (node.initializer !== void 0) {
6357
+ nodeValueSymbol = this.getSymbolOfTsNode(node.initializer);
6358
+ }
6359
+ if (nodeValueSymbol === null) {
6287
6360
  return null;
6288
6361
  }
6289
6362
  return {
6290
- tsType: expressionSymbol.tsType,
6291
- tsSymbol: expressionSymbol.tsSymbol,
6292
- initializerLocation: expressionSymbol.tcbLocation,
6363
+ tsType: nodeValueSymbol.tsType,
6364
+ tsSymbol: nodeValueSymbol.tsSymbol,
6365
+ initializerLocation: nodeValueSymbol.tcbLocation,
6293
6366
  kind: SymbolKind.Variable,
6294
6367
  declaration: variable,
6295
6368
  localVarLocation: {
@@ -6418,8 +6491,6 @@ var SymbolBuilder = class {
6418
6491
  let tsSymbol;
6419
6492
  if (ts31.isPropertyAccessExpression(node)) {
6420
6493
  tsSymbol = this.getTypeChecker().getSymbolAtLocation(node.name);
6421
- } else if (ts31.isElementAccessExpression(node)) {
6422
- tsSymbol = this.getTypeChecker().getSymbolAtLocation(node.argumentExpression);
6423
6494
  } else {
6424
6495
  tsSymbol = this.getTypeChecker().getSymbolAtLocation(node);
6425
6496
  }
@@ -6455,8 +6526,23 @@ function anyNodeFilter(n) {
6455
6526
  function sourceSpanEqual(a, b) {
6456
6527
  return a.start.offset === b.start.offset && a.end.offset === b.end.offset;
6457
6528
  }
6529
+ function unwrapSignalInputWriteTAccessor(expr) {
6530
+ if (!ts31.isElementAccessExpression(expr) || !ts31.isPropertyAccessExpression(expr.argumentExpression)) {
6531
+ return null;
6532
+ }
6533
+ if (!ts31.isIdentifier(expr.argumentExpression.name) || expr.argumentExpression.name.text !== R3Identifiers4.InputSignalBrandWriteType.name) {
6534
+ return null;
6535
+ }
6536
+ if (!ts31.isPropertyAccessExpression(expr.expression) && !ts31.isElementAccessExpression(expr.expression)) {
6537
+ throw new Error("Unexpected expression for signal input write type.");
6538
+ }
6539
+ return {
6540
+ fieldExpr: expr.expression,
6541
+ typeExpr: expr
6542
+ };
6543
+ }
6458
6544
 
6459
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/checker.mjs
6545
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/checker.mjs
6460
6546
  var REGISTRY2 = new DomElementSchemaRegistry2();
6461
6547
  var TemplateTypeCheckerImpl = class {
6462
6548
  constructor(originalProgram, programDriver, typeCheckAdapter, config, refEmitter, reflector, compilerHost, priorBuild, metaReader, localMetaReader, ngModuleIndex, componentScopeReader, typeCheckScopeRegistry, perf) {
@@ -7153,10 +7239,10 @@ var SingleShimTypeCheckingHost = class extends SingleFileTypeCheckingHost {
7153
7239
  }
7154
7240
  };
7155
7241
 
7156
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/interpolated_signal_not_invoked/index.mjs
7242
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/interpolated_signal_not_invoked/index.mjs
7157
7243
  import { Interpolation, PropertyRead as PropertyRead6 } from "@angular/compiler";
7158
7244
 
7159
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/api/api.mjs
7245
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/api/api.mjs
7160
7246
  import { ASTWithSource as ASTWithSource4, RecursiveAstVisitor as RecursiveAstVisitor3, TmplAstBoundDeferredTrigger as TmplAstBoundDeferredTrigger2 } from "@angular/compiler";
7161
7247
  var TemplateCheckWithVisitor = class {
7162
7248
  run(ctx, component, template) {
@@ -7280,7 +7366,7 @@ var TemplateVisitor2 = class extends RecursiveAstVisitor3 {
7280
7366
  }
7281
7367
  };
7282
7368
 
7283
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/interpolated_signal_not_invoked/index.mjs
7369
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/interpolated_signal_not_invoked/index.mjs
7284
7370
  var InterpolatedSignalCheck = class extends TemplateCheckWithVisitor {
7285
7371
  constructor() {
7286
7372
  super(...arguments);
@@ -7299,7 +7385,7 @@ var InterpolatedSignalCheck = class extends TemplateCheckWithVisitor {
7299
7385
  }
7300
7386
  };
7301
7387
  function isSignal(symbol) {
7302
- return ((symbol == null ? void 0 : symbol.escapedName) === "WritableSignal" || (symbol == null ? void 0 : symbol.escapedName) === "Signal" || (symbol == null ? void 0 : symbol.escapedName) === "InputSignal") && symbol.parent.escapedName.includes("@angular/core");
7388
+ return ((symbol == null ? void 0 : symbol.escapedName) === "WritableSignal" || (symbol == null ? void 0 : symbol.escapedName) === "Signal" || (symbol == null ? void 0 : symbol.escapedName) === "InputSignal" || (symbol == null ? void 0 : symbol.escapedName) === "InputSignalWithTransform" || (symbol == null ? void 0 : symbol.escapedName) === "ModelSignal") && symbol.parent.escapedName.includes("@angular/core");
7303
7389
  }
7304
7390
  function buildDiagnosticForSignal(ctx, node, component) {
7305
7391
  const symbol = ctx.templateTypeChecker.getSymbolOfNode(node, component);
@@ -7317,7 +7403,7 @@ var factory = {
7317
7403
  create: () => new InterpolatedSignalCheck()
7318
7404
  };
7319
7405
 
7320
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/invalid_banana_in_box/index.mjs
7406
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/invalid_banana_in_box/index.mjs
7321
7407
  import { TmplAstBoundEvent as TmplAstBoundEvent2 } from "@angular/compiler";
7322
7408
  var InvalidBananaInBoxCheck = class extends TemplateCheckWithVisitor {
7323
7409
  constructor() {
@@ -7343,7 +7429,7 @@ var factory2 = {
7343
7429
  create: () => new InvalidBananaInBoxCheck()
7344
7430
  };
7345
7431
 
7346
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/missing_control_flow_directive/index.mjs
7432
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/missing_control_flow_directive/index.mjs
7347
7433
  import { TmplAstTemplate as TmplAstTemplate4 } from "@angular/compiler";
7348
7434
  var KNOWN_CONTROL_FLOW_DIRECTIVES = /* @__PURE__ */ new Map([
7349
7435
  ["ngIf", { directive: "NgIf", builtIn: "@if" }],
@@ -7388,7 +7474,7 @@ var factory3 = {
7388
7474
  }
7389
7475
  };
7390
7476
 
7391
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/missing_ngforof_let/index.mjs
7477
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/missing_ngforof_let/index.mjs
7392
7478
  import { TmplAstTemplate as TmplAstTemplate5 } from "@angular/compiler";
7393
7479
  var MissingNgForOfLetCheck = class extends TemplateCheckWithVisitor {
7394
7480
  constructor() {
@@ -7421,7 +7507,7 @@ var factory4 = {
7421
7507
  create: () => new MissingNgForOfLetCheck()
7422
7508
  };
7423
7509
 
7424
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/nullish_coalescing_not_nullable/index.mjs
7510
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/nullish_coalescing_not_nullable/index.mjs
7425
7511
  import { Binary } from "@angular/compiler";
7426
7512
  import ts32 from "typescript";
7427
7513
  var NullishCoalescingNotNullableCheck = class extends TemplateCheckWithVisitor {
@@ -7466,7 +7552,7 @@ var factory5 = {
7466
7552
  }
7467
7553
  };
7468
7554
 
7469
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/optional_chain_not_nullable/index.mjs
7555
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/optional_chain_not_nullable/index.mjs
7470
7556
  import { SafeCall as SafeCall2, SafeKeyedRead as SafeKeyedRead2, SafePropertyRead as SafePropertyRead5 } from "@angular/compiler";
7471
7557
  import ts33 from "typescript";
7472
7558
  var OptionalChainNotNullableCheck = class extends TemplateCheckWithVisitor {
@@ -7512,7 +7598,7 @@ var factory6 = {
7512
7598
  }
7513
7599
  };
7514
7600
 
7515
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/suffix_not_supported/index.mjs
7601
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/suffix_not_supported/index.mjs
7516
7602
  import { TmplAstBoundAttribute as TmplAstBoundAttribute3 } from "@angular/compiler";
7517
7603
  var STYLE_SUFFIXES = ["px", "%", "em"];
7518
7604
  var SuffixNotSupportedCheck = class extends TemplateCheckWithVisitor {
@@ -7536,7 +7622,7 @@ var factory7 = {
7536
7622
  create: () => new SuffixNotSupportedCheck()
7537
7623
  };
7538
7624
 
7539
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/text_attribute_not_binding/index.mjs
7625
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/text_attribute_not_binding/index.mjs
7540
7626
  import { TmplAstTextAttribute as TmplAstTextAttribute4 } from "@angular/compiler";
7541
7627
  var TextAttributeNotBindingSpec = class extends TemplateCheckWithVisitor {
7542
7628
  constructor() {
@@ -7575,10 +7661,10 @@ var factory8 = {
7575
7661
  create: () => new TextAttributeNotBindingSpec()
7576
7662
  };
7577
7663
 
7578
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/src/extended_template_checker.mjs
7664
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/src/extended_template_checker.mjs
7579
7665
  import ts34 from "typescript";
7580
7666
 
7581
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/api/src/public_options.mjs
7667
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/api/src/public_options.mjs
7582
7668
  var DiagnosticCategoryLabel;
7583
7669
  (function(DiagnosticCategoryLabel2) {
7584
7670
  DiagnosticCategoryLabel2["Warning"] = "warning";
@@ -7586,7 +7672,7 @@ var DiagnosticCategoryLabel;
7586
7672
  DiagnosticCategoryLabel2["Suppress"] = "suppress";
7587
7673
  })(DiagnosticCategoryLabel || (DiagnosticCategoryLabel = {}));
7588
7674
 
7589
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/src/extended_template_checker.mjs
7675
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/src/extended_template_checker.mjs
7590
7676
  var ExtendedTemplateCheckerImpl = class {
7591
7677
  constructor(templateTypeChecker, typeChecker, templateCheckFactories, options) {
7592
7678
  var _a, _b, _c, _d, _e;
@@ -7639,7 +7725,7 @@ function assertNever(value) {
7639
7725
  ${value}`);
7640
7726
  }
7641
7727
 
7642
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/index.mjs
7728
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/index.mjs
7643
7729
  var ALL_DIAGNOSTIC_FACTORIES = [
7644
7730
  factory2,
7645
7731
  factory5,
@@ -7655,7 +7741,8 @@ var SUPPORTED_DIAGNOSTIC_NAMES = /* @__PURE__ */ new Set([
7655
7741
  ...ALL_DIAGNOSTIC_FACTORIES.map((factory9) => factory9.name)
7656
7742
  ]);
7657
7743
 
7658
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/compiler.mjs
7744
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/compiler.mjs
7745
+ var SHOULD_USE_TEMPLATE_PIPELINE = false;
7659
7746
  var CompilationTicketKind;
7660
7747
  (function(CompilationTicketKind2) {
7661
7748
  CompilationTicketKind2[CompilationTicketKind2["Fresh"] = 0] = "Fresh";
@@ -7802,10 +7889,19 @@ var NgCompiler = class {
7802
7889
  return this.incrementalCompilation.depGraph.getResourceDependencies(file);
7803
7890
  }
7804
7891
  getDiagnostics() {
7805
- const diagnostics = [];
7806
- diagnostics.push(...this.getNonTemplateDiagnostics(), ...this.getTemplateDiagnostics());
7807
- if (this.options.strictTemplates) {
7808
- diagnostics.push(...this.getExtendedTemplateDiagnostics());
7892
+ const diagnostics = [
7893
+ ...this.getNonTemplateDiagnostics()
7894
+ ];
7895
+ try {
7896
+ diagnostics.push(...this.getTemplateDiagnostics());
7897
+ if (this.options.strictTemplates) {
7898
+ diagnostics.push(...this.getExtendedTemplateDiagnostics());
7899
+ }
7900
+ } catch (err) {
7901
+ if (!isFatalDiagnosticError(err)) {
7902
+ throw err;
7903
+ }
7904
+ diagnostics.push(err.toDiagnostic());
7809
7905
  }
7810
7906
  return this.addMessageTextDetails(diagnostics);
7811
7907
  }
@@ -7816,11 +7912,11 @@ var NgCompiler = class {
7816
7912
  if (this.options.strictTemplates) {
7817
7913
  diagnostics.push(...this.getExtendedTemplateDiagnostics(file));
7818
7914
  }
7819
- } catch (e) {
7820
- if (e instanceof FatalDiagnosticError) {
7821
- diagnostics.push(e.toDiagnostic());
7915
+ } catch (err) {
7916
+ if (!isFatalDiagnosticError(err)) {
7917
+ throw err;
7822
7918
  }
7823
- throw e;
7919
+ diagnostics.push(err.toDiagnostic());
7824
7920
  }
7825
7921
  return this.addMessageTextDetails(diagnostics);
7826
7922
  }
@@ -7835,7 +7931,7 @@ var NgCompiler = class {
7835
7931
  diagnostics.push(...extendedTemplateChecker.getDiagnosticsForComponent(component));
7836
7932
  }
7837
7933
  } catch (err) {
7838
- if (!(err instanceof FatalDiagnosticError)) {
7934
+ if (!isFatalDiagnosticError(err)) {
7839
7935
  throw err;
7840
7936
  }
7841
7937
  diagnostics.push(err.toDiagnostic());
@@ -7930,7 +8026,7 @@ var NgCompiler = class {
7930
8026
  }
7931
8027
  const defaultImportTracker = new DefaultImportTracker();
7932
8028
  const before = [
7933
- ivyTransformFactory(compilation.traitCompiler, compilation.reflector, importRewriter, defaultImportTracker, this.delegatingPerfRecorder, compilation.isCore, this.closureCompilerEnabled),
8029
+ ivyTransformFactory(compilation.traitCompiler, compilation.reflector, importRewriter, defaultImportTracker, compilation.localCompilationExtraImportsTracker, this.delegatingPerfRecorder, compilation.isCore, this.closureCompilerEnabled),
7934
8030
  aliasTransformFactory(compilation.traitCompiler.exportStatements),
7935
8031
  defaultImportTracker.importPreservingTransformer()
7936
8032
  ];
@@ -8095,14 +8191,7 @@ var NgCompiler = class {
8095
8191
  if (sf.isDeclarationFile || this.adapter.isShim(sf)) {
8096
8192
  continue;
8097
8193
  }
8098
- try {
8099
- diagnostics.push(...compilation.templateTypeChecker.getDiagnosticsForFile(sf, OptimizeFor.WholeProgram));
8100
- } catch (err) {
8101
- if (!(err instanceof FatalDiagnosticError)) {
8102
- throw err;
8103
- }
8104
- diagnostics.push(err.toDiagnostic());
8105
- }
8194
+ diagnostics.push(...compilation.templateTypeChecker.getDiagnosticsForFile(sf, OptimizeFor.WholeProgram));
8106
8195
  }
8107
8196
  const program = this.programDriver.getProgram();
8108
8197
  this.incrementalStrategy.setIncrementalState(this.incrementalCompilation.state, program);
@@ -8146,7 +8235,7 @@ var NgCompiler = class {
8146
8235
  return diagnostics;
8147
8236
  }
8148
8237
  makeCompilation() {
8149
- var _a, _b, _c, _d;
8238
+ var _a, _b, _c, _d, _e, _f;
8150
8239
  const isCore = isAngularCorePackage(this.inputProgram);
8151
8240
  let compilationMode = CompilationMode.FULL;
8152
8241
  if (!isCore) {
@@ -8218,7 +8307,11 @@ var NgCompiler = class {
8218
8307
  const dtsTransforms = new DtsTransformRegistry();
8219
8308
  const resourceRegistry = new ResourceRegistry();
8220
8309
  const deferredSymbolsTracker = new DeferredSymbolTracker(this.inputProgram.getTypeChecker(), (_a = this.options.onlyExplicitDeferDependencyImports) != null ? _a : false);
8221
- const cycleHandlingStrategy = compilationMode === CompilationMode.FULL ? 0 : 1;
8310
+ let localCompilationExtraImportsTracker = null;
8311
+ if (compilationMode === CompilationMode.LOCAL && this.options.generateExtraImportsInLocalMode) {
8312
+ localCompilationExtraImportsTracker = new LocalCompilationExtraImportsTracker(checker);
8313
+ }
8314
+ const cycleHandlingStrategy = compilationMode === CompilationMode.PARTIAL ? 1 : 0;
8222
8315
  const strictCtorDeps = this.options.strictInjectionParameters || false;
8223
8316
  const supportJitMode = (_b = this.options["supportJitMode"]) != null ? _b : true;
8224
8317
  const supportTestBed = (_c = this.options["supportTestBed"]) != null ? _c : true;
@@ -8232,11 +8325,11 @@ var NgCompiler = class {
8232
8325
  throw new Error('JIT mode support ("supportJitMode" option) cannot be disabled when forbidOrphanComponents is set to true');
8233
8326
  }
8234
8327
  const handlers = [
8235
- new ComponentDecoratorHandler(reflector, evaluator, metaRegistry, metaReader, scopeReader, depScopeReader, ngModuleScopeRegistry, typeCheckScopeRegistry, resourceRegistry, isCore, strictCtorDeps, this.resourceManager, this.adapter.rootDirs, this.options.preserveWhitespaces || false, this.options.i18nUseExternalIds !== false, this.options.enableI18nLegacyMessageIdFormat !== false, this.usePoisonedData, this.options.i18nNormalizeLineEndingsInICUs === true, this.moduleResolver, this.cycleAnalyzer, cycleHandlingStrategy, refEmitter, referencesRegistry, this.incrementalCompilation.depGraph, injectableRegistry, semanticDepGraphUpdater, this.closureCompilerEnabled, this.delegatingPerfRecorder, hostDirectivesResolver, supportTestBed, compilationMode, deferredSymbolsTracker, !!this.options.forbidOrphanComponents, this.enableBlockSyntax),
8236
- new DirectiveDecoratorHandler(reflector, evaluator, metaRegistry, ngModuleScopeRegistry, metaReader, injectableRegistry, refEmitter, referencesRegistry, isCore, strictCtorDeps, semanticDepGraphUpdater, this.closureCompilerEnabled, this.delegatingPerfRecorder, supportTestBed, compilationMode),
8237
- new PipeDecoratorHandler(reflector, evaluator, metaRegistry, ngModuleScopeRegistry, injectableRegistry, isCore, this.delegatingPerfRecorder, supportTestBed, compilationMode),
8328
+ new ComponentDecoratorHandler(reflector, evaluator, metaRegistry, metaReader, scopeReader, depScopeReader, ngModuleScopeRegistry, typeCheckScopeRegistry, resourceRegistry, isCore, strictCtorDeps, this.resourceManager, this.adapter.rootDirs, this.options.preserveWhitespaces || false, this.options.i18nUseExternalIds !== false, this.options.enableI18nLegacyMessageIdFormat !== false, this.usePoisonedData, this.options.i18nNormalizeLineEndingsInICUs === true, this.moduleResolver, this.cycleAnalyzer, cycleHandlingStrategy, refEmitter, referencesRegistry, this.incrementalCompilation.depGraph, injectableRegistry, semanticDepGraphUpdater, this.closureCompilerEnabled, this.delegatingPerfRecorder, hostDirectivesResolver, supportTestBed, compilationMode, deferredSymbolsTracker, !!this.options.forbidOrphanComponents, this.enableBlockSyntax, (_d = this.options.useTemplatePipeline) != null ? _d : SHOULD_USE_TEMPLATE_PIPELINE, localCompilationExtraImportsTracker),
8329
+ new DirectiveDecoratorHandler(reflector, evaluator, metaRegistry, ngModuleScopeRegistry, metaReader, injectableRegistry, refEmitter, referencesRegistry, isCore, strictCtorDeps, semanticDepGraphUpdater, this.closureCompilerEnabled, this.delegatingPerfRecorder, supportTestBed, compilationMode, (_e = this.options.useTemplatePipeline) != null ? _e : SHOULD_USE_TEMPLATE_PIPELINE, !!this.options.generateExtraImportsInLocalMode),
8330
+ new PipeDecoratorHandler(reflector, evaluator, metaRegistry, ngModuleScopeRegistry, injectableRegistry, isCore, this.delegatingPerfRecorder, supportTestBed, compilationMode, !!this.options.generateExtraImportsInLocalMode),
8238
8331
  new InjectableDecoratorHandler(reflector, evaluator, isCore, strictCtorDeps, injectableRegistry, this.delegatingPerfRecorder, supportTestBed, compilationMode),
8239
- new NgModuleDecoratorHandler(reflector, evaluator, metaReader, metaRegistry, ngModuleScopeRegistry, referencesRegistry, exportedProviderStatusResolver, semanticDepGraphUpdater, isCore, refEmitter, this.closureCompilerEnabled, (_d = this.options.onlyPublishPublicTypingsForNgModules) != null ? _d : false, injectableRegistry, this.delegatingPerfRecorder, supportTestBed, supportJitMode, compilationMode)
8332
+ new NgModuleDecoratorHandler(reflector, evaluator, metaReader, metaRegistry, ngModuleScopeRegistry, referencesRegistry, exportedProviderStatusResolver, semanticDepGraphUpdater, isCore, refEmitter, this.closureCompilerEnabled, (_f = this.options.onlyPublishPublicTypingsForNgModules) != null ? _f : false, injectableRegistry, this.delegatingPerfRecorder, supportTestBed, supportJitMode, compilationMode, localCompilationExtraImportsTracker)
8240
8333
  ];
8241
8334
  const traitCompiler = new TraitCompiler(handlers, reflector, this.delegatingPerfRecorder, this.incrementalCompilation, this.options.compileNonExportedClasses !== false, compilationMode, dtsTransforms, semanticDepGraphUpdater, this.adapter);
8242
8335
  const notifyingDriver = new NotifyingProgramDriverWrapper(this.programDriver, (program) => {
@@ -8258,7 +8351,8 @@ var NgCompiler = class {
8258
8351
  refEmitter,
8259
8352
  templateTypeChecker,
8260
8353
  resourceRegistry,
8261
- extendedTemplateChecker
8354
+ extendedTemplateChecker,
8355
+ localCompilationExtraImportsTracker
8262
8356
  };
8263
8357
  }
8264
8358
  };
@@ -8422,7 +8516,7 @@ function versionMapFromProgram(program, driver) {
8422
8516
  return versions;
8423
8517
  }
8424
8518
 
8425
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/host.mjs
8519
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/host.mjs
8426
8520
  import ts36 from "typescript";
8427
8521
  var DelegatingCompilerHost2 = class {
8428
8522
  get jsDocParsingMode() {
@@ -8561,7 +8655,7 @@ var NgCompilerHost = class extends DelegatingCompilerHost2 {
8561
8655
  }
8562
8656
  };
8563
8657
 
8564
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/program.mjs
8658
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/program.mjs
8565
8659
  var NgtscProgram = class {
8566
8660
  constructor(rootNames, options, delegateHost, oldProgram) {
8567
8661
  this.options = options;
@@ -8788,15 +8882,15 @@ function mergeEmitResults(emitResults) {
8788
8882
  return { diagnostics, emitSkipped, emittedFiles };
8789
8883
  }
8790
8884
 
8791
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/transformers/program.mjs
8885
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/transformers/program.mjs
8792
8886
  function createProgram({ rootNames, options, host, oldProgram }) {
8793
8887
  return new NgtscProgram(rootNames, options, host, oldProgram);
8794
8888
  }
8795
8889
 
8796
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/perform_compile.mjs
8890
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/perform_compile.mjs
8797
8891
  import ts39 from "typescript";
8798
8892
 
8799
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/transformers/util.mjs
8893
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/transformers/util.mjs
8800
8894
  import ts38 from "typescript";
8801
8895
  function createMessageDiagnostic(messageText) {
8802
8896
  return {
@@ -8810,7 +8904,7 @@ function createMessageDiagnostic(messageText) {
8810
8904
  };
8811
8905
  }
8812
8906
 
8813
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/perform_compile.mjs
8907
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/perform_compile.mjs
8814
8908
  var defaultFormatHost = {
8815
8909
  getCurrentDirectory: () => ts39.sys.getCurrentDirectory(),
8816
8910
  getCanonicalFileName: (fileName) => fileName,
@@ -9023,4 +9117,4 @@ export {
9023
9117
  * Use of this source code is governed by an MIT-style license that can be
9024
9118
  * found in the LICENSE file at https://angular.io/license
9025
9119
  */
9026
- //# sourceMappingURL=chunk-VYUC5NTT.js.map
9120
+ //# sourceMappingURL=chunk-JIFH6OZK.js.map