@angular/compiler-cli 19.0.0-next.2 → 19.0.0-next.4

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 (52) hide show
  1. package/bundles/{chunk-XNL3EK5H.js → chunk-3W345P4E.js} +7 -7
  2. package/bundles/{chunk-LYN2P66H.js → chunk-52VRTNQS.js} +304 -173
  3. package/bundles/chunk-52VRTNQS.js.map +6 -0
  4. package/bundles/{chunk-4R27633S.js → chunk-5EC5IVIP.js} +3 -3
  5. package/bundles/{chunk-B4ZOGV3N.js → chunk-A6N6CPYP.js} +31 -31
  6. package/bundles/{chunk-THQF5ZZE.js → chunk-ERN7RQQ7.js} +5 -5
  7. package/bundles/{chunk-R3PIQMGX.js → chunk-IYQOLQCE.js} +124 -121
  8. package/bundles/chunk-IYQOLQCE.js.map +6 -0
  9. package/bundles/{chunk-SBDNBITT.js → chunk-LYJKWJUC.js} +3 -3
  10. package/bundles/{chunk-WR7TUJ7M.js → chunk-QYV344EV.js} +7 -7
  11. package/bundles/{chunk-YFWSLIDV.js → chunk-RBUEHZ6Z.js} +5 -5
  12. package/bundles/{chunk-W4UV2VRG.js → chunk-RRBD35GS.js} +12 -12
  13. package/bundles/{chunk-5DVL3S3Z.js → chunk-XHCHVVK2.js} +47 -45
  14. package/bundles/chunk-XHCHVVK2.js.map +6 -0
  15. package/bundles/index.js +12 -12
  16. package/bundles/linker/babel/index.js +12 -12
  17. package/bundles/linker/index.js +4 -4
  18. package/bundles/ngcc/index.js +1 -1
  19. package/bundles/private/bazel.js +1 -1
  20. package/bundles/private/localize.js +3 -3
  21. package/bundles/private/migrations.js +4 -4
  22. package/bundles/private/tooling.js +6 -6
  23. package/bundles/src/bin/ng_xi18n.js +10 -10
  24. package/bundles/src/bin/ngc.js +8 -8
  25. package/bundles_metadata.json +1 -1
  26. package/linker/src/file_linker/partial_linkers/util.d.ts +1 -1
  27. package/package.json +3 -3
  28. package/private/migrations.d.ts +1 -0
  29. package/src/ngtsc/core/src/compiler.d.ts +6 -1
  30. package/src/ngtsc/diagnostics/src/error.d.ts +1 -1
  31. package/src/ngtsc/diagnostics/src/error_code.d.ts +4 -0
  32. package/src/ngtsc/diagnostics/src/extended_template_diagnostic_name.d.ts +2 -1
  33. package/src/ngtsc/docs/src/entities.d.ts +9 -0
  34. package/src/ngtsc/docs/src/extractor.d.ts +4 -1
  35. package/src/ngtsc/docs/src/import_extractor.d.ts +14 -0
  36. package/src/ngtsc/metadata/src/api.d.ts +4 -0
  37. package/src/ngtsc/program.d.ts +4 -1
  38. package/src/ngtsc/typecheck/api/api.d.ts +6 -0
  39. package/src/ngtsc/validation/src/config.d.ts +12 -0
  40. package/src/ngtsc/validation/src/rules/unused_standalone_imports_rule.d.ts +23 -0
  41. package/src/ngtsc/validation/src/source_file_validator.d.ts +2 -1
  42. package/bundles/chunk-5DVL3S3Z.js.map +0 -6
  43. package/bundles/chunk-LYN2P66H.js.map +0 -6
  44. package/bundles/chunk-R3PIQMGX.js.map +0 -6
  45. /package/bundles/{chunk-XNL3EK5H.js.map → chunk-3W345P4E.js.map} +0 -0
  46. /package/bundles/{chunk-4R27633S.js.map → chunk-5EC5IVIP.js.map} +0 -0
  47. /package/bundles/{chunk-B4ZOGV3N.js.map → chunk-A6N6CPYP.js.map} +0 -0
  48. /package/bundles/{chunk-THQF5ZZE.js.map → chunk-ERN7RQQ7.js.map} +0 -0
  49. /package/bundles/{chunk-SBDNBITT.js.map → chunk-LYJKWJUC.js.map} +0 -0
  50. /package/bundles/{chunk-WR7TUJ7M.js.map → chunk-QYV344EV.js.map} +0 -0
  51. /package/bundles/{chunk-YFWSLIDV.js.map → chunk-RBUEHZ6Z.js.map} +0 -0
  52. /package/bundles/{chunk-W4UV2VRG.js.map → chunk-RRBD35GS.js.map} +0 -0
@@ -4,7 +4,7 @@
4
4
 
5
5
  import {
6
6
  angularJitApplicationTransform
7
- } from "./chunk-W4UV2VRG.js";
7
+ } from "./chunk-RRBD35GS.js";
8
8
  import {
9
9
  CompilationMode,
10
10
  ComponentDecoratorHandler,
@@ -51,7 +51,7 @@ import {
51
51
  retagAllTsFiles,
52
52
  tryParseInitializerApi,
53
53
  untagAllTsFiles
54
- } from "./chunk-R3PIQMGX.js";
54
+ } from "./chunk-IYQOLQCE.js";
55
55
  import {
56
56
  AbsoluteModuleStrategy,
57
57
  AliasStrategy,
@@ -82,19 +82,20 @@ import {
82
82
  isNamedClassDeclaration,
83
83
  isNonDeclarationTsPath,
84
84
  makeDiagnostic,
85
+ makeRelatedInformation,
85
86
  ngErrorCode,
86
87
  normalizeSeparators,
87
88
  relativePathBetween,
88
89
  replaceTsWithNgInErrors,
89
90
  toUnredirectedSourceFile
90
- } from "./chunk-5DVL3S3Z.js";
91
+ } from "./chunk-XHCHVVK2.js";
91
92
  import {
92
93
  ActivePerfRecorder,
93
94
  DelegatingPerfRecorder,
94
95
  PerfCheckpoint,
95
96
  PerfEvent,
96
97
  PerfPhase
97
- } from "./chunk-THQF5ZZE.js";
98
+ } from "./chunk-ERN7RQQ7.js";
98
99
  import {
99
100
  LogicalFileSystem,
100
101
  absoluteFrom,
@@ -103,9 +104,9 @@ import {
103
104
  getFileSystem,
104
105
  join,
105
106
  resolve
106
- } from "./chunk-XNL3EK5H.js";
107
+ } from "./chunk-3W345P4E.js";
107
108
 
108
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/transformers/api.mjs
109
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/transformers/api.mjs
109
110
  var DEFAULT_ERROR_CODE = 100;
110
111
  var UNKNOWN_ERROR_CODE = 500;
111
112
  var SOURCE = "angular";
@@ -123,7 +124,7 @@ var EmitFlags;
123
124
  EmitFlags2[EmitFlags2["All"] = 31] = "All";
124
125
  })(EmitFlags || (EmitFlags = {}));
125
126
 
126
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/transformers/compiler_host.mjs
127
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/transformers/compiler_host.mjs
127
128
  import ts from "typescript";
128
129
  var wrapHostForTest = null;
129
130
  function createCompilerHost({ options, tsHost = ts.createCompilerHost(options, true) }) {
@@ -133,7 +134,7 @@ function createCompilerHost({ options, tsHost = ts.createCompilerHost(options, t
133
134
  return tsHost;
134
135
  }
135
136
 
136
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/entities.mjs
137
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/entities.mjs
137
138
  var EntryType;
138
139
  (function(EntryType2) {
139
140
  EntryType2["Block"] = "block";
@@ -180,23 +181,23 @@ function isDocEntryWithSourceInfo(entry) {
180
181
  return "source" in entry;
181
182
  }
182
183
 
183
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/extractor.mjs
184
- import ts10 from "typescript";
184
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/extractor.mjs
185
+ import ts11 from "typescript";
185
186
 
186
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/class_extractor.mjs
187
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/class_extractor.mjs
187
188
  import ts5 from "typescript";
188
189
 
189
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/filters.mjs
190
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/filters.mjs
190
191
  function isAngularPrivateName(name) {
191
192
  var _a;
192
193
  const firstChar = (_a = name[0]) != null ? _a : "";
193
194
  return firstChar === "\u0275" || firstChar === "_";
194
195
  }
195
196
 
196
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/function_extractor.mjs
197
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/function_extractor.mjs
197
198
  import ts3 from "typescript";
198
199
 
199
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/generics_extractor.mjs
200
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/generics_extractor.mjs
200
201
  function extractGenerics(declaration) {
201
202
  var _a, _b;
202
203
  return (_b = (_a = declaration.typeParameters) == null ? void 0 : _a.map((typeParam) => {
@@ -209,7 +210,7 @@ function extractGenerics(declaration) {
209
210
  })) != null ? _b : [];
210
211
  }
211
212
 
212
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/jsdoc_extractor.mjs
213
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/jsdoc_extractor.mjs
213
214
  import ts2 from "typescript";
214
215
  var decoratorExpression = /@(?=(Injectable|Component|Directive|Pipe|NgModule|Input|Output|HostBinding|HostListener|Inject|Optional|Self|Host|SkipSelf|ViewChild|ViewChildren|ContentChild|ContentChildren))/g;
215
216
  function extractJsDocTags(node) {
@@ -253,12 +254,12 @@ function unescapeAngularDecorators(comment) {
253
254
  return comment.replace(/_NG_AT_/g, "@");
254
255
  }
255
256
 
256
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/type_extractor.mjs
257
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/type_extractor.mjs
257
258
  function extractResolvedTypeString(node, checker) {
258
259
  return checker.typeToString(checker.getTypeAtLocation(node));
259
260
  }
260
261
 
261
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/function_extractor.mjs
262
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/function_extractor.mjs
262
263
  var FunctionExtractor = class {
263
264
  constructor(name, exportDeclaration, typeChecker) {
264
265
  this.name = name;
@@ -346,7 +347,7 @@ function findImplementationOfFunction(node, typeChecker) {
346
347
  return implementation;
347
348
  }
348
349
 
349
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/internal.mjs
350
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/internal.mjs
350
351
  import ts4 from "typescript";
351
352
  function isInternal(member) {
352
353
  return extractJsDocTags(member).some((tag) => tag.name === "internal") || hasLeadingInternalComment(member);
@@ -365,7 +366,7 @@ function hasLeadingInternalComment(member) {
365
366
  )) != null ? _a : false;
366
367
  }
367
368
 
368
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/class_extractor.mjs
369
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/class_extractor.mjs
369
370
  var ClassExtractor = class {
370
371
  constructor(declaration, typeChecker) {
371
372
  this.declaration = declaration;
@@ -380,7 +381,9 @@ var ClassExtractor = class {
380
381
  generics: extractGenerics(this.declaration),
381
382
  description: extractJsDocDescription(this.declaration),
382
383
  jsdocTags: extractJsDocTags(this.declaration),
383
- rawComment: extractRawJsDoc(this.declaration)
384
+ rawComment: extractRawJsDoc(this.declaration),
385
+ extends: this.extractInheritance(this.declaration),
386
+ implements: this.extractInterfaceConformance(this.declaration)
384
387
  };
385
388
  }
386
389
  extractAllClassMembers() {
@@ -440,6 +443,26 @@ var ClassExtractor = class {
440
443
  memberType: ts5.isGetAccessor(accessor) ? MemberType.Getter : MemberType.Setter
441
444
  };
442
445
  }
446
+ extractInheritance(declaration) {
447
+ if (!declaration.heritageClauses) {
448
+ return void 0;
449
+ }
450
+ for (const clause of declaration.heritageClauses) {
451
+ if (clause.token === ts5.SyntaxKind.ExtendsKeyword) {
452
+ const types = clause.types;
453
+ if (types.length > 0) {
454
+ const baseClass = types[0];
455
+ return baseClass.getText();
456
+ }
457
+ }
458
+ }
459
+ return void 0;
460
+ }
461
+ extractInterfaceConformance(declaration) {
462
+ var _a, _b;
463
+ const implementClause = (_a = declaration.heritageClauses) == null ? void 0 : _a.find((clause) => clause.token === ts5.SyntaxKind.ImplementsKeyword);
464
+ return (_b = implementClause == null ? void 0 : implementClause.types.map((m) => m.getText())) != null ? _b : [];
465
+ }
443
466
  getMemberTags(member) {
444
467
  var _a;
445
468
  const tags = this.getMemberTagsFromModifiers((_a = member.modifiers) != null ? _a : []);
@@ -631,7 +654,7 @@ function extractInterface(declaration, typeChecker) {
631
654
  return extractor.extract();
632
655
  }
633
656
 
634
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/constant_extractor.mjs
657
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/constant_extractor.mjs
635
658
  import ts6 from "typescript";
636
659
  var LITERAL_AS_ENUM_TAG = "object-literal-as-enum";
637
660
  function extractConstant(declaration, typeChecker) {
@@ -689,7 +712,7 @@ function extractLiteralPropertiesAsEnumMembers(declaration) {
689
712
  });
690
713
  }
691
714
 
692
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/decorator_extractor.mjs
715
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/decorator_extractor.mjs
693
716
  import ts7 from "typescript";
694
717
  function extractorDecorator(declaration, typeChecker) {
695
718
  const documentedNode = getDecoratorJsDocNode(declaration);
@@ -762,7 +785,7 @@ function getDecoratorJsDocNode(declaration) {
762
785
  return callSignature;
763
786
  }
764
787
 
765
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/enum_extractor.mjs
788
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/enum_extractor.mjs
766
789
  import ts8 from "typescript";
767
790
  function extractEnum(declaration, typeChecker) {
768
791
  return {
@@ -793,7 +816,7 @@ function getEnumMemberValue(memberNode) {
793
816
  return (_a = literal == null ? void 0 : literal.getText()) != null ? _a : "";
794
817
  }
795
818
 
796
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/initializer_api_function_extractor.mjs
819
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/initializer_api_function_extractor.mjs
797
820
  import ts9 from "typescript";
798
821
  var initializerApiTag = "initializerApiFunction";
799
822
  function isInitializerApiFunction(node, typeChecker) {
@@ -902,7 +925,7 @@ function extractFunctionWithOverloads(name, type, typeChecker) {
902
925
  };
903
926
  }
904
927
 
905
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/type_alias_extractor.mjs
928
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/type_alias_extractor.mjs
906
929
  function extractTypeAlias(declaration) {
907
930
  return {
908
931
  name: declaration.name.getText(),
@@ -914,14 +937,40 @@ function extractTypeAlias(declaration) {
914
937
  };
915
938
  }
916
939
 
917
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/extractor.mjs
940
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/import_extractor.mjs
941
+ import ts10 from "typescript";
942
+ function getImportedSymbols(sourceFile) {
943
+ const importSpecifiers = /* @__PURE__ */ new Map();
944
+ function visit(node) {
945
+ var _a;
946
+ if (ts10.isImportDeclaration(node)) {
947
+ let moduleSpecifier = node.moduleSpecifier.getText(sourceFile).replace(/['"]/g, "");
948
+ if (moduleSpecifier.startsWith("@angular/")) {
949
+ const namedBindings = (_a = node.importClause) == null ? void 0 : _a.namedBindings;
950
+ if (namedBindings && ts10.isNamedImports(namedBindings)) {
951
+ namedBindings.elements.forEach((importSpecifier) => {
952
+ const importName = importSpecifier.name.text;
953
+ const importAlias = importSpecifier.propertyName ? importSpecifier.propertyName.text : void 0;
954
+ importSpecifiers.set(importAlias != null ? importAlias : importName, moduleSpecifier);
955
+ });
956
+ }
957
+ }
958
+ }
959
+ ts10.forEachChild(node, visit);
960
+ }
961
+ visit(sourceFile);
962
+ return importSpecifiers;
963
+ }
964
+
965
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/extractor.mjs
918
966
  var DocsExtractor = class {
919
967
  constructor(typeChecker, metadataReader) {
920
968
  this.typeChecker = typeChecker;
921
969
  this.metadataReader = metadataReader;
922
970
  }
923
- extractAll(sourceFile, rootDir) {
971
+ extractAll(sourceFile, rootDir, privateModules) {
924
972
  const entries = [];
973
+ const symbols = /* @__PURE__ */ new Map();
925
974
  const exportedDeclarations = this.getExportedDeclarations(sourceFile);
926
975
  for (const [exportName, node] of exportedDeclarations) {
927
976
  if (isAngularPrivateName(exportName)) {
@@ -930,15 +979,25 @@ var DocsExtractor = class {
930
979
  const entry = this.extractDeclaration(node);
931
980
  if (entry && !isIgnoredDocEntry(entry)) {
932
981
  const realSourceFile = node.getSourceFile();
982
+ const importedSymbols = getImportedSymbols(realSourceFile);
983
+ importedSymbols.forEach((moduleName, symbolName) => {
984
+ if (symbolName.startsWith("\u0275") || privateModules.has(moduleName)) {
985
+ return;
986
+ }
987
+ if (symbols.has(symbolName) && symbols.get(symbolName) !== moduleName) {
988
+ throw new Error(`Ambigous symbol \`${symbolName}\` exported by both ${symbols.get(symbolName)} & ${moduleName}`);
989
+ }
990
+ symbols.set(symbolName, moduleName);
991
+ });
933
992
  entry.source = {
934
993
  filePath: getRelativeFilePath(realSourceFile, rootDir),
935
- startLine: ts10.getLineAndCharacterOfPosition(realSourceFile, node.getStart()).line + 1,
936
- endLine: ts10.getLineAndCharacterOfPosition(realSourceFile, node.getEnd()).line + 1
994
+ startLine: ts11.getLineAndCharacterOfPosition(realSourceFile, node.getStart()).line + 1,
995
+ endLine: ts11.getLineAndCharacterOfPosition(realSourceFile, node.getEnd()).line + 1
937
996
  };
938
997
  entries.push({ ...entry, name: exportName });
939
998
  }
940
999
  }
941
- return entries;
1000
+ return { entries, symbols };
942
1001
  }
943
1002
  extractDeclaration(node) {
944
1003
  if (isNamedClassDeclaration(node)) {
@@ -947,20 +1006,20 @@ var DocsExtractor = class {
947
1006
  if (isInitializerApiFunction(node, this.typeChecker)) {
948
1007
  return extractInitializerApiFunction(node, this.typeChecker);
949
1008
  }
950
- if (ts10.isInterfaceDeclaration(node) && !isIgnoredInterface(node)) {
1009
+ if (ts11.isInterfaceDeclaration(node) && !isIgnoredInterface(node)) {
951
1010
  return extractInterface(node, this.typeChecker);
952
1011
  }
953
- if (ts10.isFunctionDeclaration(node)) {
1012
+ if (ts11.isFunctionDeclaration(node)) {
954
1013
  const functionExtractor = new FunctionExtractor(node.name.getText(), node, this.typeChecker);
955
1014
  return functionExtractor.extract();
956
1015
  }
957
- if (ts10.isVariableDeclaration(node) && !isSyntheticAngularConstant(node)) {
1016
+ if (ts11.isVariableDeclaration(node) && !isSyntheticAngularConstant(node)) {
958
1017
  return isDecoratorDeclaration(node) ? extractorDecorator(node, this.typeChecker) : extractConstant(node, this.typeChecker);
959
1018
  }
960
- if (ts10.isTypeAliasDeclaration(node)) {
1019
+ if (ts11.isTypeAliasDeclaration(node)) {
961
1020
  return extractTypeAlias(node);
962
1021
  }
963
- if (ts10.isEnumDeclaration(node)) {
1022
+ if (ts11.isEnumDeclaration(node)) {
964
1023
  return extractEnum(node, this.typeChecker);
965
1024
  }
966
1025
  return null;
@@ -989,11 +1048,11 @@ function getRelativeFilePath(sourceFile, rootDir) {
989
1048
  return relativePath;
990
1049
  }
991
1050
 
992
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/program.mjs
1051
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/program.mjs
993
1052
  import { HtmlParser, MessageBundle } from "@angular/compiler";
994
- import ts24 from "typescript";
1053
+ import ts26 from "typescript";
995
1054
 
996
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/transformers/i18n.mjs
1055
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/transformers/i18n.mjs
997
1056
  import { Xliff, Xliff2, Xmb } from "@angular/compiler";
998
1057
  import * as path from "path";
999
1058
  function i18nGetExtension(formatName) {
@@ -1046,10 +1105,10 @@ function getPathNormalizer(basePath) {
1046
1105
  };
1047
1106
  }
1048
1107
 
1049
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/typescript_support.mjs
1050
- import ts11 from "typescript";
1108
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/typescript_support.mjs
1109
+ import ts12 from "typescript";
1051
1110
 
1052
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/version_helpers.mjs
1111
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/version_helpers.mjs
1053
1112
  function toNumbers(value) {
1054
1113
  const suffixIndex = value.lastIndexOf("-");
1055
1114
  return value.slice(0, suffixIndex === -1 ? value.length : suffixIndex).split(".").map((segment) => {
@@ -1084,10 +1143,10 @@ function compareVersions(v1, v2) {
1084
1143
  return compareNumbers(toNumbers(v1), toNumbers(v2));
1085
1144
  }
1086
1145
 
1087
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/typescript_support.mjs
1088
- var MIN_TS_VERSION = "5.4.0";
1146
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/typescript_support.mjs
1147
+ var MIN_TS_VERSION = "5.5.0";
1089
1148
  var MAX_TS_VERSION = "5.7.0";
1090
- var tsVersion = ts11.version;
1149
+ var tsVersion = ts12.version;
1091
1150
  function checkVersion(version, minVersion, maxVersion) {
1092
1151
  if (compareVersions(version, minVersion) < 0 || compareVersions(version, maxVersion) >= 0) {
1093
1152
  throw new Error(`The Angular Compiler requires TypeScript >=${minVersion} and <${maxVersion} but ${version} was found instead.`);
@@ -1097,11 +1156,11 @@ function verifySupportedTypeScriptVersion() {
1097
1156
  checkVersion(tsVersion, MIN_TS_VERSION, MAX_TS_VERSION);
1098
1157
  }
1099
1158
 
1100
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/compiler.mjs
1159
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/compiler.mjs
1101
1160
  import { R3Identifiers } from "@angular/compiler";
1102
- import ts22 from "typescript";
1161
+ import ts24 from "typescript";
1103
1162
 
1104
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/cycles/src/analyzer.mjs
1163
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/cycles/src/analyzer.mjs
1105
1164
  var CycleAnalyzer = class {
1106
1165
  constructor(importGraph) {
1107
1166
  this.importGraph = importGraph;
@@ -1172,8 +1231,8 @@ var Cycle = class {
1172
1231
  }
1173
1232
  };
1174
1233
 
1175
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/cycles/src/imports.mjs
1176
- import ts12 from "typescript";
1234
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/cycles/src/imports.mjs
1235
+ import ts13 from "typescript";
1177
1236
  var ImportGraph = class {
1178
1237
  constructor(checker, perf) {
1179
1238
  this.checker = checker;
@@ -1217,10 +1276,10 @@ var ImportGraph = class {
1217
1276
  return this.perf.inPhase(PerfPhase.CycleDetection, () => {
1218
1277
  const imports = /* @__PURE__ */ new Set();
1219
1278
  for (const stmt of sf.statements) {
1220
- if (!ts12.isImportDeclaration(stmt) && !ts12.isExportDeclaration(stmt) || stmt.moduleSpecifier === void 0) {
1279
+ if (!ts13.isImportDeclaration(stmt) && !ts13.isExportDeclaration(stmt) || stmt.moduleSpecifier === void 0) {
1221
1280
  continue;
1222
1281
  }
1223
- if (ts12.isImportDeclaration(stmt) && stmt.importClause !== void 0 && isTypeOnlyImportClause(stmt.importClause)) {
1282
+ if (ts13.isImportDeclaration(stmt) && stmt.importClause !== void 0 && isTypeOnlyImportClause(stmt.importClause)) {
1224
1283
  continue;
1225
1284
  }
1226
1285
  const symbol = this.checker.getSymbolAtLocation(stmt.moduleSpecifier);
@@ -1228,7 +1287,7 @@ var ImportGraph = class {
1228
1287
  continue;
1229
1288
  }
1230
1289
  const moduleFile = symbol.valueDeclaration;
1231
- if (ts12.isSourceFile(moduleFile) && isLocalFile(moduleFile)) {
1290
+ if (ts13.isSourceFile(moduleFile) && isLocalFile(moduleFile)) {
1232
1291
  imports.add(moduleFile);
1233
1292
  }
1234
1293
  }
@@ -1243,7 +1302,7 @@ function isTypeOnlyImportClause(node) {
1243
1302
  if (node.isTypeOnly) {
1244
1303
  return true;
1245
1304
  }
1246
- if (node.namedBindings !== void 0 && ts12.isNamedImports(node.namedBindings) && node.namedBindings.elements.every((specifier) => specifier.isTypeOnly)) {
1305
+ if (node.namedBindings !== void 0 && ts13.isNamedImports(node.namedBindings) && node.namedBindings.elements.every((specifier) => specifier.isTypeOnly)) {
1247
1306
  return true;
1248
1307
  }
1249
1308
  return false;
@@ -1264,8 +1323,8 @@ var Found = class {
1264
1323
  }
1265
1324
  };
1266
1325
 
1267
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/generator.mjs
1268
- import ts13 from "typescript";
1326
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/generator.mjs
1327
+ import ts14 from "typescript";
1269
1328
  var FlatIndexGenerator = class {
1270
1329
  constructor(entryPoint, relativeFlatIndexPath, moduleName) {
1271
1330
  this.entryPoint = entryPoint;
@@ -1281,7 +1340,7 @@ var FlatIndexGenerator = class {
1281
1340
 
1282
1341
  export * from '${relativeEntryPoint}';
1283
1342
  `;
1284
- const genFile = ts13.createSourceFile(this.flatIndexPath, contents, ts13.ScriptTarget.ES2015, true, ts13.ScriptKind.TS);
1343
+ const genFile = ts14.createSourceFile(this.flatIndexPath, contents, ts14.ScriptTarget.ES2015, true, ts14.ScriptKind.TS);
1285
1344
  if (this.moduleName !== null) {
1286
1345
  genFile.moduleName = this.moduleName;
1287
1346
  }
@@ -1289,7 +1348,7 @@ export * from '${relativeEntryPoint}';
1289
1348
  }
1290
1349
  };
1291
1350
 
1292
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/logic.mjs
1351
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/logic.mjs
1293
1352
  function findFlatIndexEntryPoint(rootFiles) {
1294
1353
  const tsFiles = rootFiles.filter((file) => isNonDeclarationTsPath(file));
1295
1354
  let resolvedEntryPoint = null;
@@ -1305,8 +1364,8 @@ function findFlatIndexEntryPoint(rootFiles) {
1305
1364
  return resolvedEntryPoint;
1306
1365
  }
1307
1366
 
1308
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/private_export_checker.mjs
1309
- import ts14 from "typescript";
1367
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/private_export_checker.mjs
1368
+ import ts15 from "typescript";
1310
1369
  function checkForPrivateExports(entryPoint, checker, refGraph) {
1311
1370
  const diagnostics = [];
1312
1371
  const topLevelExports = /* @__PURE__ */ new Set();
@@ -1316,7 +1375,7 @@ function checkForPrivateExports(entryPoint, checker, refGraph) {
1316
1375
  }
1317
1376
  const exportedSymbols = checker.getExportsOfModule(moduleSymbol);
1318
1377
  exportedSymbols.forEach((symbol) => {
1319
- if (symbol.flags & ts14.SymbolFlags.Alias) {
1378
+ if (symbol.flags & ts15.SymbolFlags.Alias) {
1320
1379
  symbol = checker.getAliasedSymbol(symbol);
1321
1380
  }
1322
1381
  const decl = symbol.valueDeclaration;
@@ -1340,7 +1399,7 @@ function checkForPrivateExports(entryPoint, checker, refGraph) {
1340
1399
  visibleVia = transitivePath.map((seg) => getNameOfDeclaration(seg)).join(" -> ");
1341
1400
  }
1342
1401
  const diagnostic = {
1343
- category: ts14.DiagnosticCategory.Error,
1402
+ category: ts15.DiagnosticCategory.Error,
1344
1403
  code: ngErrorCode(ErrorCode.SYMBOL_NOT_EXPORTED),
1345
1404
  file: transitiveReference.getSourceFile(),
1346
1405
  ...getPosOfDeclaration(transitiveReference),
@@ -1360,7 +1419,7 @@ function getPosOfDeclaration(decl) {
1360
1419
  };
1361
1420
  }
1362
1421
  function getIdentifierOfDeclaration(decl) {
1363
- if ((ts14.isClassDeclaration(decl) || ts14.isVariableDeclaration(decl) || ts14.isFunctionDeclaration(decl)) && decl.name !== void 0 && ts14.isIdentifier(decl.name)) {
1422
+ if ((ts15.isClassDeclaration(decl) || ts15.isVariableDeclaration(decl) || ts15.isFunctionDeclaration(decl)) && decl.name !== void 0 && ts15.isIdentifier(decl.name)) {
1364
1423
  return decl.name;
1365
1424
  } else {
1366
1425
  return null;
@@ -1372,20 +1431,20 @@ function getNameOfDeclaration(decl) {
1372
1431
  }
1373
1432
  function getDescriptorOfDeclaration(decl) {
1374
1433
  switch (decl.kind) {
1375
- case ts14.SyntaxKind.ClassDeclaration:
1434
+ case ts15.SyntaxKind.ClassDeclaration:
1376
1435
  return "class";
1377
- case ts14.SyntaxKind.FunctionDeclaration:
1436
+ case ts15.SyntaxKind.FunctionDeclaration:
1378
1437
  return "function";
1379
- case ts14.SyntaxKind.VariableDeclaration:
1438
+ case ts15.SyntaxKind.VariableDeclaration:
1380
1439
  return "variable";
1381
- case ts14.SyntaxKind.EnumDeclaration:
1440
+ case ts15.SyntaxKind.EnumDeclaration:
1382
1441
  return "enum";
1383
1442
  default:
1384
1443
  return "declaration";
1385
1444
  }
1386
1445
  }
1387
1446
 
1388
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/reference_graph.mjs
1447
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/reference_graph.mjs
1389
1448
  var ReferenceGraph = class {
1390
1449
  constructor() {
1391
1450
  this.references = /* @__PURE__ */ new Map();
@@ -1439,7 +1498,7 @@ var ReferenceGraph = class {
1439
1498
  }
1440
1499
  };
1441
1500
 
1442
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/dependency_tracking.mjs
1501
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/dependency_tracking.mjs
1443
1502
  var FileDependencyGraph = class {
1444
1503
  constructor() {
1445
1504
  this.nodes = /* @__PURE__ */ new Map();
@@ -1506,7 +1565,7 @@ function isLogicallyChanged(sf, node, changedTsPaths, deletedTsPaths, changedRes
1506
1565
  return false;
1507
1566
  }
1508
1567
 
1509
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/state.mjs
1568
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/state.mjs
1510
1569
  var IncrementalStateKind;
1511
1570
  (function(IncrementalStateKind2) {
1512
1571
  IncrementalStateKind2[IncrementalStateKind2["Fresh"] = 0] = "Fresh";
@@ -1514,7 +1573,7 @@ var IncrementalStateKind;
1514
1573
  IncrementalStateKind2[IncrementalStateKind2["Analyzed"] = 2] = "Analyzed";
1515
1574
  })(IncrementalStateKind || (IncrementalStateKind = {}));
1516
1575
 
1517
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/incremental.mjs
1576
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/incremental.mjs
1518
1577
  var PhaseKind;
1519
1578
  (function(PhaseKind2) {
1520
1579
  PhaseKind2[PhaseKind2["Analysis"] = 0] = "Analysis";
@@ -1715,7 +1774,7 @@ function toOriginalSourceFile(sf) {
1715
1774
  }
1716
1775
  }
1717
1776
 
1718
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/strategy.mjs
1777
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/strategy.mjs
1719
1778
  var TrackedIncrementalBuildStrategy = class {
1720
1779
  constructor() {
1721
1780
  this.state = null;
@@ -1751,7 +1810,7 @@ var PatchedProgramIncrementalBuildStrategy = class {
1751
1810
  };
1752
1811
  var SYM_INCREMENTAL_STATE = Symbol("NgIncrementalState");
1753
1812
 
1754
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/api.mjs
1813
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/api.mjs
1755
1814
  var IdentifierKind;
1756
1815
  (function(IdentifierKind2) {
1757
1816
  IdentifierKind2[IdentifierKind2["Property"] = 0] = "Property";
@@ -1770,7 +1829,7 @@ var AbsoluteSourceSpan = class {
1770
1829
  }
1771
1830
  };
1772
1831
 
1773
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/context.mjs
1832
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/context.mjs
1774
1833
  var IndexingContext = class {
1775
1834
  constructor() {
1776
1835
  this.components = /* @__PURE__ */ new Set();
@@ -1780,10 +1839,10 @@ var IndexingContext = class {
1780
1839
  }
1781
1840
  };
1782
1841
 
1783
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/transform.mjs
1842
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/transform.mjs
1784
1843
  import { ParseSourceFile } from "@angular/compiler";
1785
1844
 
1786
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/template.mjs
1845
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/template.mjs
1787
1846
  import { ASTWithSource, ImplicitReceiver, PropertyRead, PropertyWrite, RecursiveAstVisitor, TmplAstBoundDeferredTrigger, TmplAstElement, TmplAstRecursiveVisitor, TmplAstReference, TmplAstTemplate, TmplAstVariable } from "@angular/compiler";
1788
1847
  var ExpressionVisitor = class extends RecursiveAstVisitor {
1789
1848
  constructor(expressionStr, absoluteOffset, boundTemplate, targetToIdentifier) {
@@ -2078,7 +2137,7 @@ function getTemplateIdentifiers(boundTemplate) {
2078
2137
  return { identifiers: visitor.identifiers, errors: visitor.errors };
2079
2138
  }
2080
2139
 
2081
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/transform.mjs
2140
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/transform.mjs
2082
2141
  function generateAnalysis(context) {
2083
2142
  const analysis = /* @__PURE__ */ new Map();
2084
2143
  context.components.forEach(({ declaration, selector, boundTemplate, templateMeta }) => {
@@ -2114,7 +2173,7 @@ function generateAnalysis(context) {
2114
2173
  return analysis;
2115
2174
  }
2116
2175
 
2117
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/ng_module_index.mjs
2176
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/ng_module_index.mjs
2118
2177
  var NgModuleIndexImpl = class {
2119
2178
  constructor(metaReader, localReader) {
2120
2179
  this.metaReader = metaReader;
@@ -2203,8 +2262,8 @@ var NgModuleIndexImpl = class {
2203
2262
  }
2204
2263
  };
2205
2264
 
2206
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/resource/src/loader.mjs
2207
- import ts15 from "typescript";
2265
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/resource/src/loader.mjs
2266
+ import ts16 from "typescript";
2208
2267
  var CSS_PREPROCESSOR_EXT = /(\.scss|\.sass|\.less|\.styl)$/;
2209
2268
  var RESOURCE_MARKER = ".$ngresource$";
2210
2269
  var RESOURCE_MARKER_TS = RESOURCE_MARKER + ".ts";
@@ -2318,7 +2377,7 @@ var AdapterResourceLoader = class {
2318
2377
  return this.adapter.rootDirs.map((rootDir) => join(rootDir, segment));
2319
2378
  }
2320
2379
  getResolvedCandidateLocations(url, fromFile) {
2321
- const failedLookup = ts15.resolveModuleName(url + RESOURCE_MARKER, fromFile, this.options, this.lookupResolutionHost);
2380
+ const failedLookup = ts16.resolveModuleName(url + RESOURCE_MARKER, fromFile, this.options, this.lookupResolutionHost);
2322
2381
  if (failedLookup.failedLookupLocations === void 0) {
2323
2382
  throw new Error(`Internal error: expected to find failedLookupLocations during resolution of resource '${url}' in context of ${fromFile}`);
2324
2383
  }
@@ -2353,7 +2412,7 @@ function createLookupResolutionHost(adapter) {
2353
2412
  };
2354
2413
  }
2355
2414
 
2356
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/standalone.mjs
2415
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/standalone.mjs
2357
2416
  var StandaloneComponentScopeReader = class {
2358
2417
  constructor(metaReader, localModuleReader, dtsModuleReader) {
2359
2418
  this.metaReader = metaReader;
@@ -2449,11 +2508,11 @@ var StandaloneComponentScopeReader = class {
2449
2508
  }
2450
2509
  };
2451
2510
 
2452
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/interpolated_signal_not_invoked/index.mjs
2511
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/interpolated_signal_not_invoked/index.mjs
2453
2512
  import { ASTWithSource as ASTWithSource3, BindingType, Interpolation, PropertyRead as PropertyRead2, TmplAstBoundAttribute } from "@angular/compiler";
2454
2513
 
2455
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/symbol_util.mjs
2456
- import ts16 from "typescript";
2514
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/symbol_util.mjs
2515
+ import ts17 from "typescript";
2457
2516
  var SIGNAL_FNS = /* @__PURE__ */ new Set([
2458
2517
  "WritableSignal",
2459
2518
  "Signal",
@@ -2468,11 +2527,11 @@ function isSignalSymbol(symbol) {
2468
2527
  const declarations = symbol.getDeclarations();
2469
2528
  return declarations !== void 0 && declarations.some((decl) => {
2470
2529
  const fileName = decl.getSourceFile().fileName;
2471
- return (ts16.isInterfaceDeclaration(decl) || ts16.isTypeAliasDeclaration(decl)) && SIGNAL_FNS.has(decl.name.text) && (fileName.includes("@angular/core") || fileName.includes("angular2/rc/packages/core"));
2530
+ return (ts17.isInterfaceDeclaration(decl) || ts17.isTypeAliasDeclaration(decl)) && SIGNAL_FNS.has(decl.name.text) && (fileName.includes("@angular/core") || fileName.includes("angular2/rc/packages/core"));
2472
2531
  });
2473
2532
  }
2474
2533
 
2475
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/api/api.mjs
2534
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/api/api.mjs
2476
2535
  import { ASTWithSource as ASTWithSource2, RecursiveAstVisitor as RecursiveAstVisitor2, TmplAstBoundDeferredTrigger as TmplAstBoundDeferredTrigger2 } from "@angular/compiler";
2477
2536
  var TemplateCheckWithVisitor = class {
2478
2537
  constructor() {
@@ -2606,7 +2665,7 @@ var TemplateVisitor2 = class extends RecursiveAstVisitor2 {
2606
2665
  }
2607
2666
  };
2608
2667
 
2609
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/interpolated_signal_not_invoked/index.mjs
2668
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/interpolated_signal_not_invoked/index.mjs
2610
2669
  var SIGNAL_INSTANCE_PROPERTIES = /* @__PURE__ */ new Set(["set", "update", "asReadonly"]);
2611
2670
  var FUNCTION_INSTANCE_PROPERTIES = /* @__PURE__ */ new Set(["name", "length", "prototype"]);
2612
2671
  var InterpolatedSignalCheck = class extends TemplateCheckWithVisitor {
@@ -2658,7 +2717,7 @@ var factory = {
2658
2717
  create: () => new InterpolatedSignalCheck()
2659
2718
  };
2660
2719
 
2661
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/invalid_banana_in_box/index.mjs
2720
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/invalid_banana_in_box/index.mjs
2662
2721
  import { TmplAstBoundEvent } from "@angular/compiler";
2663
2722
  var InvalidBananaInBoxCheck = class extends TemplateCheckWithVisitor {
2664
2723
  constructor() {
@@ -2684,7 +2743,7 @@ var factory2 = {
2684
2743
  create: () => new InvalidBananaInBoxCheck()
2685
2744
  };
2686
2745
 
2687
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/missing_control_flow_directive/index.mjs
2746
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/missing_control_flow_directive/index.mjs
2688
2747
  import { TmplAstTemplate as TmplAstTemplate2 } from "@angular/compiler";
2689
2748
  var KNOWN_CONTROL_FLOW_DIRECTIVES = /* @__PURE__ */ new Map([
2690
2749
  ["ngIf", { directive: "NgIf", builtIn: "@if" }],
@@ -2729,7 +2788,7 @@ var factory3 = {
2729
2788
  }
2730
2789
  };
2731
2790
 
2732
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/missing_ngforof_let/index.mjs
2791
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/missing_ngforof_let/index.mjs
2733
2792
  import { TmplAstTemplate as TmplAstTemplate3 } from "@angular/compiler";
2734
2793
  var MissingNgForOfLetCheck = class extends TemplateCheckWithVisitor {
2735
2794
  constructor() {
@@ -2762,9 +2821,9 @@ var factory4 = {
2762
2821
  create: () => new MissingNgForOfLetCheck()
2763
2822
  };
2764
2823
 
2765
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/nullish_coalescing_not_nullable/index.mjs
2824
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/nullish_coalescing_not_nullable/index.mjs
2766
2825
  import { Binary } from "@angular/compiler";
2767
- import ts17 from "typescript";
2826
+ import ts18 from "typescript";
2768
2827
  var NullishCoalescingNotNullableCheck = class extends TemplateCheckWithVisitor {
2769
2828
  constructor() {
2770
2829
  super(...arguments);
@@ -2779,7 +2838,7 @@ var NullishCoalescingNotNullableCheck = class extends TemplateCheckWithVisitor {
2779
2838
  return [];
2780
2839
  }
2781
2840
  const typeLeft = symbolLeft.tsType;
2782
- if (typeLeft.flags & (ts17.TypeFlags.Any | ts17.TypeFlags.Unknown)) {
2841
+ if (typeLeft.flags & (ts18.TypeFlags.Any | ts18.TypeFlags.Unknown)) {
2783
2842
  return [];
2784
2843
  }
2785
2844
  if (typeLeft.getNonNullableType() !== typeLeft)
@@ -2808,9 +2867,9 @@ var factory5 = {
2808
2867
  }
2809
2868
  };
2810
2869
 
2811
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/optional_chain_not_nullable/index.mjs
2870
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/optional_chain_not_nullable/index.mjs
2812
2871
  import { SafeCall, SafeKeyedRead, SafePropertyRead } from "@angular/compiler";
2813
- import ts18 from "typescript";
2872
+ import ts19 from "typescript";
2814
2873
  var OptionalChainNotNullableCheck = class extends TemplateCheckWithVisitor {
2815
2874
  constructor() {
2816
2875
  super(...arguments);
@@ -2825,7 +2884,7 @@ var OptionalChainNotNullableCheck = class extends TemplateCheckWithVisitor {
2825
2884
  return [];
2826
2885
  }
2827
2886
  const typeLeft = symbolLeft.tsType;
2828
- if (typeLeft.flags & (ts18.TypeFlags.Any | ts18.TypeFlags.Unknown)) {
2887
+ if (typeLeft.flags & (ts19.TypeFlags.Any | ts19.TypeFlags.Unknown)) {
2829
2888
  return [];
2830
2889
  }
2831
2890
  if (typeLeft.getNonNullableType() !== typeLeft)
@@ -2855,7 +2914,7 @@ var factory6 = {
2855
2914
  }
2856
2915
  };
2857
2916
 
2858
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/suffix_not_supported/index.mjs
2917
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/suffix_not_supported/index.mjs
2859
2918
  import { TmplAstBoundAttribute as TmplAstBoundAttribute2 } from "@angular/compiler";
2860
2919
  var STYLE_SUFFIXES = ["px", "%", "em"];
2861
2920
  var SuffixNotSupportedCheck = class extends TemplateCheckWithVisitor {
@@ -2879,7 +2938,7 @@ var factory7 = {
2879
2938
  create: () => new SuffixNotSupportedCheck()
2880
2939
  };
2881
2940
 
2882
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/text_attribute_not_binding/index.mjs
2941
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/text_attribute_not_binding/index.mjs
2883
2942
  import { TmplAstTextAttribute } from "@angular/compiler";
2884
2943
  var TextAttributeNotBindingSpec = class extends TemplateCheckWithVisitor {
2885
2944
  constructor() {
@@ -2918,7 +2977,7 @@ var factory8 = {
2918
2977
  create: () => new TextAttributeNotBindingSpec()
2919
2978
  };
2920
2979
 
2921
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/uninvoked_function_in_event_binding/index.mjs
2980
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/uninvoked_function_in_event_binding/index.mjs
2922
2981
  import { ASTWithSource as ASTWithSource4, Call, Chain, Conditional, ParsedEventType, PropertyRead as PropertyRead3, SafeCall as SafeCall2, SafePropertyRead as SafePropertyRead2, TmplAstBoundEvent as TmplAstBoundEvent2 } from "@angular/compiler";
2923
2982
  var UninvokedFunctionInEventBindingSpec = class extends TemplateCheckWithVisitor {
2924
2983
  constructor() {
@@ -2970,7 +3029,7 @@ var factory9 = {
2970
3029
  create: () => new UninvokedFunctionInEventBindingSpec()
2971
3030
  };
2972
3031
 
2973
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/unused_let_declaration/index.mjs
3032
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/unused_let_declaration/index.mjs
2974
3033
  import { AST, ASTWithSource as ASTWithSource5, TmplAstLetDeclaration } from "@angular/compiler";
2975
3034
  var UnusedLetDeclarationCheck = class extends TemplateCheckWithVisitor {
2976
3035
  constructor() {
@@ -3015,10 +3074,10 @@ var factory10 = {
3015
3074
  create: () => new UnusedLetDeclarationCheck()
3016
3075
  };
3017
3076
 
3018
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/src/extended_template_checker.mjs
3019
- import ts19 from "typescript";
3077
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/src/extended_template_checker.mjs
3078
+ import ts20 from "typescript";
3020
3079
 
3021
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/api/src/public_options.mjs
3080
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/api/src/public_options.mjs
3022
3081
  var DiagnosticCategoryLabel;
3023
3082
  (function(DiagnosticCategoryLabel2) {
3024
3083
  DiagnosticCategoryLabel2["Warning"] = "warning";
@@ -3026,7 +3085,7 @@ var DiagnosticCategoryLabel;
3026
3085
  DiagnosticCategoryLabel2["Suppress"] = "suppress";
3027
3086
  })(DiagnosticCategoryLabel || (DiagnosticCategoryLabel = {}));
3028
3087
 
3029
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/src/extended_template_checker.mjs
3088
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/src/extended_template_checker.mjs
3030
3089
  var ExtendedTemplateCheckerImpl = class {
3031
3090
  constructor(templateTypeChecker, typeChecker, templateCheckFactories, options) {
3032
3091
  var _a, _b, _c, _d, _e;
@@ -3065,9 +3124,9 @@ var ExtendedTemplateCheckerImpl = class {
3065
3124
  function diagnosticLabelToCategory(label) {
3066
3125
  switch (label) {
3067
3126
  case DiagnosticCategoryLabel.Warning:
3068
- return ts19.DiagnosticCategory.Warning;
3127
+ return ts20.DiagnosticCategory.Warning;
3069
3128
  case DiagnosticCategoryLabel.Error:
3070
- return ts19.DiagnosticCategory.Error;
3129
+ return ts20.DiagnosticCategory.Error;
3071
3130
  case DiagnosticCategoryLabel.Suppress:
3072
3131
  return null;
3073
3132
  default:
@@ -3079,7 +3138,7 @@ function assertNever(value) {
3079
3138
  ${value}`);
3080
3139
  }
3081
3140
 
3082
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/index.mjs
3141
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/index.mjs
3083
3142
  var ALL_DIAGNOSTIC_FACTORIES = [
3084
3143
  factory2,
3085
3144
  factory5,
@@ -3094,12 +3153,13 @@ var ALL_DIAGNOSTIC_FACTORIES = [
3094
3153
  ];
3095
3154
  var SUPPORTED_DIAGNOSTIC_NAMES = /* @__PURE__ */ new Set([
3096
3155
  ExtendedTemplateDiagnosticName.CONTROL_FLOW_PREVENTING_CONTENT_PROJECTION,
3156
+ ExtendedTemplateDiagnosticName.UNUSED_STANDALONE_IMPORTS,
3097
3157
  ...ALL_DIAGNOSTIC_FACTORIES.map((factory11) => factory11.name)
3098
3158
  ]);
3099
3159
 
3100
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/template_semantics/src/template_semantics_checker.mjs
3160
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/template_semantics/src/template_semantics_checker.mjs
3101
3161
  import { ASTWithSource as ASTWithSource6, ImplicitReceiver as ImplicitReceiver2, ParsedEventType as ParsedEventType2, RecursiveAstVisitor as RecursiveAstVisitor3, TmplAstBoundEvent as TmplAstBoundEvent3, TmplAstLetDeclaration as TmplAstLetDeclaration2, TmplAstRecursiveVisitor as TmplAstRecursiveVisitor2, TmplAstVariable as TmplAstVariable2 } from "@angular/compiler";
3102
- import ts20 from "typescript";
3162
+ import ts21 from "typescript";
3103
3163
  var TemplateSemanticsCheckerImpl = class {
3104
3164
  constructor(templateTypeChecker) {
3105
3165
  this.templateTypeChecker = templateTypeChecker;
@@ -3174,7 +3234,7 @@ var ExpressionsSemanticsVisitor = class extends RecursiveAstVisitor3 {
3174
3234
  }
3175
3235
  makeIllegalTemplateVarDiagnostic(target, expressionNode, errorMessage) {
3176
3236
  const span = target instanceof TmplAstVariable2 ? target.valueSpan || target.sourceSpan : target.sourceSpan;
3177
- return this.templateTypeChecker.makeTemplateDiagnostic(this.component, expressionNode.handlerSpan, ts20.DiagnosticCategory.Error, ngErrorCode(ErrorCode.WRITE_TO_READ_ONLY_VARIABLE), errorMessage, [
3237
+ return this.templateTypeChecker.makeTemplateDiagnostic(this.component, expressionNode.handlerSpan, ts21.DiagnosticCategory.Error, ngErrorCode(ErrorCode.WRITE_TO_READ_ONLY_VARIABLE), errorMessage, [
3178
3238
  {
3179
3239
  text: `'${target.name}' is declared here.`,
3180
3240
  start: span.start.offset,
@@ -3188,8 +3248,8 @@ function unwrapAstWithSource(ast) {
3188
3248
  return ast instanceof ASTWithSource6 ? ast.ast : ast;
3189
3249
  }
3190
3250
 
3191
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/validation/src/rules/initializer_api_usage_rule.mjs
3192
- import ts21 from "typescript";
3251
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/validation/src/rules/initializer_api_usage_rule.mjs
3252
+ import ts22 from "typescript";
3193
3253
  var APIS_TO_CHECK = [
3194
3254
  INPUT_INITIALIZER_FN,
3195
3255
  MODEL_INITIALIZER_FN,
@@ -3207,13 +3267,13 @@ var InitializerApiUsageRule = class {
3207
3267
  });
3208
3268
  }
3209
3269
  checkNode(node) {
3210
- if (!ts21.isCallExpression(node)) {
3270
+ if (!ts22.isCallExpression(node)) {
3211
3271
  return null;
3212
3272
  }
3213
- while (node.parent && (ts21.isParenthesizedExpression(node.parent) || ts21.isAsExpression(node.parent))) {
3273
+ while (node.parent && (ts22.isParenthesizedExpression(node.parent) || ts22.isAsExpression(node.parent))) {
3214
3274
  node = node.parent;
3215
3275
  }
3216
- if (!node.parent || !ts21.isCallExpression(node)) {
3276
+ if (!node.parent || !ts22.isCallExpression(node)) {
3217
3277
  return null;
3218
3278
  }
3219
3279
  const identifiedInitializer = tryParseInitializerApi(APIS_TO_CHECK, node, this.reflector, this.importedSymbolsTracker);
@@ -3221,12 +3281,12 @@ var InitializerApiUsageRule = class {
3221
3281
  return null;
3222
3282
  }
3223
3283
  const functionName = identifiedInitializer.api.functionName + (identifiedInitializer.isRequired ? ".required" : "");
3224
- if (ts21.isPropertyDeclaration(node.parent) && node.parent.initializer === node) {
3284
+ if (ts22.isPropertyDeclaration(node.parent) && node.parent.initializer === node) {
3225
3285
  let closestClass = node.parent;
3226
- while (closestClass && !ts21.isClassDeclaration(closestClass)) {
3286
+ while (closestClass && !ts22.isClassDeclaration(closestClass)) {
3227
3287
  closestClass = closestClass.parent;
3228
3288
  }
3229
- if (closestClass && ts21.isClassDeclaration(closestClass)) {
3289
+ if (closestClass && ts22.isClassDeclaration(closestClass)) {
3230
3290
  const decorators = this.reflector.getDecoratorsOfDeclaration(closestClass);
3231
3291
  const isComponentOrDirective = decorators !== null && decorators.some((decorator) => {
3232
3292
  var _a;
@@ -3239,10 +3299,75 @@ var InitializerApiUsageRule = class {
3239
3299
  }
3240
3300
  };
3241
3301
 
3242
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/validation/src/source_file_validator.mjs
3302
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/validation/src/rules/unused_standalone_imports_rule.mjs
3303
+ import ts23 from "typescript";
3304
+ var UnusedStandaloneImportsRule = class {
3305
+ constructor(templateTypeChecker, typeCheckingConfig, importedSymbolsTracker) {
3306
+ this.templateTypeChecker = templateTypeChecker;
3307
+ this.typeCheckingConfig = typeCheckingConfig;
3308
+ this.importedSymbolsTracker = importedSymbolsTracker;
3309
+ }
3310
+ shouldCheck(sourceFile) {
3311
+ return this.typeCheckingConfig.unusedStandaloneImports !== "suppress" && (this.importedSymbolsTracker.hasNamedImport(sourceFile, "Component", "@angular/core") || this.importedSymbolsTracker.hasNamespaceImport(sourceFile, "@angular/core"));
3312
+ }
3313
+ checkNode(node) {
3314
+ if (!ts23.isClassDeclaration(node)) {
3315
+ return null;
3316
+ }
3317
+ const metadata = this.templateTypeChecker.getDirectiveMetadata(node);
3318
+ if (!metadata || !metadata.isStandalone || metadata.rawImports === null || metadata.imports === null || metadata.imports.length === 0) {
3319
+ return null;
3320
+ }
3321
+ const usedDirectives = this.templateTypeChecker.getUsedDirectives(node);
3322
+ const usedPipes = this.templateTypeChecker.getUsedPipes(node);
3323
+ if (!usedDirectives || !usedPipes) {
3324
+ return null;
3325
+ }
3326
+ const unused = this.getUnusedSymbols(metadata, new Set(usedDirectives.map((dir) => dir.ref.node)), new Set(usedPipes));
3327
+ if (unused === null) {
3328
+ return null;
3329
+ }
3330
+ const category = this.typeCheckingConfig.unusedStandaloneImports === "error" ? ts23.DiagnosticCategory.Error : ts23.DiagnosticCategory.Warning;
3331
+ if (unused.length === metadata.imports.length) {
3332
+ return makeDiagnostic(ErrorCode.UNUSED_STANDALONE_IMPORTS, metadata.rawImports, "All imports are unused", void 0, category);
3333
+ }
3334
+ return makeDiagnostic(ErrorCode.UNUSED_STANDALONE_IMPORTS, metadata.rawImports, "Imports array contains unused imports", unused.map(([ref, type, name]) => makeRelatedInformation(ref.getOriginForDiagnostics(metadata.rawImports), `${type} "${name}" is not used within the template`)), category);
3335
+ }
3336
+ getUnusedSymbols(metadata, usedDirectives, usedPipes) {
3337
+ if (metadata.imports === null || metadata.rawImports === null) {
3338
+ return null;
3339
+ }
3340
+ let unused = null;
3341
+ for (const current of metadata.imports) {
3342
+ const currentNode = current.node;
3343
+ const dirMeta = this.templateTypeChecker.getDirectiveMetadata(currentNode);
3344
+ if (dirMeta !== null) {
3345
+ if (dirMeta.isStandalone && (usedDirectives === null || !usedDirectives.has(currentNode))) {
3346
+ unused != null ? unused : unused = [];
3347
+ unused.push([current, dirMeta.isComponent ? "Component" : "Directive", dirMeta.name]);
3348
+ }
3349
+ continue;
3350
+ }
3351
+ const pipeMeta = this.templateTypeChecker.getPipeMetadata(currentNode);
3352
+ if (pipeMeta !== null && pipeMeta.isStandalone && (usedPipes === null || !usedPipes.has(pipeMeta.name))) {
3353
+ unused != null ? unused : unused = [];
3354
+ unused.push([current, "Pipe", pipeMeta.ref.node.name.text]);
3355
+ }
3356
+ }
3357
+ return unused;
3358
+ }
3359
+ };
3360
+
3361
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/validation/src/config.mjs
3362
+ var UNUSED_STANDALONE_IMPORTS_RULE_ENABLED = true;
3363
+
3364
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/validation/src/source_file_validator.mjs
3243
3365
  var SourceFileValidator = class {
3244
- constructor(reflector, importedSymbolsTracker) {
3366
+ constructor(reflector, importedSymbolsTracker, templateTypeChecker, typeCheckingConfig) {
3245
3367
  this.rules = [new InitializerApiUsageRule(reflector, importedSymbolsTracker)];
3368
+ if (UNUSED_STANDALONE_IMPORTS_RULE_ENABLED) {
3369
+ this.rules.push(new UnusedStandaloneImportsRule(templateTypeChecker, typeCheckingConfig, importedSymbolsTracker));
3370
+ }
3246
3371
  }
3247
3372
  getDiagnosticsForFile(sourceFile) {
3248
3373
  if (sourceFile.isDeclarationFile || sourceFile.fileName.endsWith(".ngtypecheck.ts")) {
@@ -3277,7 +3402,7 @@ var SourceFileValidator = class {
3277
3402
  }
3278
3403
  };
3279
3404
 
3280
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/core_version.mjs
3405
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/core_version.mjs
3281
3406
  function coreHasSymbol(program, symbol) {
3282
3407
  const checker = program.getTypeChecker();
3283
3408
  for (const sf of program.getSourceFiles().filter(isMaybeCore)) {
@@ -3296,7 +3421,7 @@ function isMaybeCore(sf) {
3296
3421
  return sf.isDeclarationFile && sf.fileName.includes("@angular/core") && sf.fileName.endsWith("index.d.ts");
3297
3422
  }
3298
3423
 
3299
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/feature_detection.mjs
3424
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/feature_detection.mjs
3300
3425
  import semver from "semver";
3301
3426
  function coreVersionSupportsFeature(coreVersion, minVersion) {
3302
3427
  if (coreVersion === `0.0.0-${"PLACEHOLDER"}`) {
@@ -3305,7 +3430,7 @@ function coreVersionSupportsFeature(coreVersion, minVersion) {
3305
3430
  return semver.satisfies(coreVersion, minVersion);
3306
3431
  }
3307
3432
 
3308
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/compiler.mjs
3433
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/compiler.mjs
3309
3434
  var CompilationTicketKind;
3310
3435
  (function(CompilationTicketKind2) {
3311
3436
  CompilationTicketKind2[CompilationTicketKind2["Fresh"] = 0] = "Fresh";
@@ -3399,7 +3524,7 @@ var NgCompiler = class {
3399
3524
  this.currentProgram = inputProgram;
3400
3525
  this.closureCompilerEnabled = !!this.options.annotateForClosureCompiler;
3401
3526
  this.entryPoint = adapter.entryPoint !== null ? getSourceFileOrNull(inputProgram, adapter.entryPoint) : null;
3402
- const moduleResolutionCache = ts22.createModuleResolutionCache(
3527
+ const moduleResolutionCache = ts24.createModuleResolutionCache(
3403
3528
  this.adapter.getCurrentDirectory(),
3404
3529
  this.adapter.getCanonicalFileName.bind(this.adapter)
3405
3530
  );
@@ -3443,7 +3568,7 @@ var NgCompiler = class {
3443
3568
  }
3444
3569
  for (const clazz of classesToUpdate) {
3445
3570
  this.compilation.traitCompiler.updateResources(clazz);
3446
- if (!ts22.isClassDeclaration(clazz)) {
3571
+ if (!ts24.isClassDeclaration(clazz)) {
3447
3572
  continue;
3448
3573
  }
3449
3574
  this.compilation.templateTypeChecker.invalidateClass(clazz);
@@ -3597,12 +3722,12 @@ var NgCompiler = class {
3597
3722
  if (compilation.supportJitMode && compilation.jitDeclarationRegistry.jitDeclarations.size > 0) {
3598
3723
  const { jitDeclarations } = compilation.jitDeclarationRegistry;
3599
3724
  const jitDeclarationsArray = Array.from(jitDeclarations);
3600
- const jitDeclarationOriginalNodes = new Set(jitDeclarationsArray.map((d) => ts22.getOriginalNode(d)));
3725
+ const jitDeclarationOriginalNodes = new Set(jitDeclarationsArray.map((d) => ts24.getOriginalNode(d)));
3601
3726
  const sourceFilesWithJit = new Set(jitDeclarationsArray.map((d) => d.getSourceFile().fileName));
3602
3727
  before.push((ctx) => {
3603
3728
  const reflectionHost = new TypeScriptReflectionHost(this.inputProgram.getTypeChecker());
3604
3729
  const jitTransform = angularJitApplicationTransform(this.inputProgram, compilation.isCore, (node) => {
3605
- node = ts22.getOriginalNode(node, ts22.isClassDeclaration);
3730
+ node = ts24.getOriginalNode(node, ts24.isClassDeclaration);
3606
3731
  return reflectionHost.isClass(node) && jitDeclarationOriginalNodes.has(node);
3607
3732
  })(ctx);
3608
3733
  return (sourceFile) => {
@@ -3628,7 +3753,7 @@ var NgCompiler = class {
3628
3753
  compilation.traitCompiler.index(context);
3629
3754
  return generateAnalysis(context);
3630
3755
  }
3631
- getApiDocumentation(entryPoint) {
3756
+ getApiDocumentation(entryPoint, privateModules) {
3632
3757
  const compilation = this.ensureAnalyzed();
3633
3758
  const checker = this.inputProgram.getTypeChecker();
3634
3759
  const docsExtractor = new DocsExtractor(checker, compilation.metaReader);
@@ -3639,7 +3764,7 @@ var NgCompiler = class {
3639
3764
  throw new Error(`Entry point "${entryPoint}" not found in program sources.`);
3640
3765
  }
3641
3766
  const rootDir = this.inputProgram.getCurrentDirectory();
3642
- return docsExtractor.extractAll(entryPointSourceFile, rootDir);
3767
+ return docsExtractor.extractAll(entryPointSourceFile, rootDir, privateModules);
3643
3768
  }
3644
3769
  xi18n(ctx) {
3645
3770
  const compilation = this.ensureAnalyzed();
@@ -3676,7 +3801,7 @@ var NgCompiler = class {
3676
3801
  return strictTemplates || !!this.options.fullTemplateTypeCheck;
3677
3802
  }
3678
3803
  getTypeCheckingConfig() {
3679
- var _a, _b, _c, _d, _e;
3804
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i;
3680
3805
  const strictTemplates = !!this.options.strictTemplates;
3681
3806
  const useInlineTypeConstructors = this.programDriver.supportsInlineOperations;
3682
3807
  let allowSignalsInTwoWayBindings = (_a = coreHasSymbol(this.inputProgram, R3Identifiers.unwrapWritableSignal)) != null ? _a : this.angularCoreVersion === null || coreVersionSupportsFeature(this.angularCoreVersion, ">= 17.2.0-0");
@@ -3706,6 +3831,7 @@ var NgCompiler = class {
3706
3831
  useInlineTypeConstructors,
3707
3832
  suggestionsForSuboptimalTypeInference: this.enableTemplateTypeChecker && !strictTemplates,
3708
3833
  controlFlowPreventingContentProjection: ((_b = this.options.extendedDiagnostics) == null ? void 0 : _b.defaultCategory) || DiagnosticCategoryLabel.Warning,
3834
+ unusedStandaloneImports: ((_c = this.options.extendedDiagnostics) == null ? void 0 : _c.defaultCategory) || DiagnosticCategoryLabel.Warning,
3709
3835
  allowSignalsInTwoWayBindings
3710
3836
  };
3711
3837
  } else {
@@ -3732,7 +3858,8 @@ var NgCompiler = class {
3732
3858
  enableTemplateTypeChecker: this.enableTemplateTypeChecker,
3733
3859
  useInlineTypeConstructors,
3734
3860
  suggestionsForSuboptimalTypeInference: false,
3735
- controlFlowPreventingContentProjection: ((_c = this.options.extendedDiagnostics) == null ? void 0 : _c.defaultCategory) || DiagnosticCategoryLabel.Warning,
3861
+ controlFlowPreventingContentProjection: ((_d = this.options.extendedDiagnostics) == null ? void 0 : _d.defaultCategory) || DiagnosticCategoryLabel.Warning,
3862
+ unusedStandaloneImports: ((_e = this.options.extendedDiagnostics) == null ? void 0 : _e.defaultCategory) || DiagnosticCategoryLabel.Warning,
3736
3863
  allowSignalsInTwoWayBindings
3737
3864
  };
3738
3865
  }
@@ -3768,9 +3895,12 @@ var NgCompiler = class {
3768
3895
  if (this.options.strictLiteralTypes !== void 0) {
3769
3896
  typeCheckingConfig.strictLiteralTypes = this.options.strictLiteralTypes;
3770
3897
  }
3771
- if (((_e = (_d = this.options.extendedDiagnostics) == null ? void 0 : _d.checks) == null ? void 0 : _e.controlFlowPreventingContentProjection) !== void 0) {
3898
+ if (((_g = (_f = this.options.extendedDiagnostics) == null ? void 0 : _f.checks) == null ? void 0 : _g.controlFlowPreventingContentProjection) !== void 0) {
3772
3899
  typeCheckingConfig.controlFlowPreventingContentProjection = this.options.extendedDiagnostics.checks.controlFlowPreventingContentProjection;
3773
3900
  }
3901
+ if (((_i = (_h = this.options.extendedDiagnostics) == null ? void 0 : _h.checks) == null ? void 0 : _i.unusedStandaloneImports) !== void 0) {
3902
+ typeCheckingConfig.unusedStandaloneImports = this.options.extendedDiagnostics.checks.unusedStandaloneImports;
3903
+ }
3774
3904
  return typeCheckingConfig;
3775
3905
  }
3776
3906
  getTemplateDiagnostics() {
@@ -3942,10 +4072,11 @@ var NgCompiler = class {
3942
4072
  this.incrementalStrategy.setIncrementalState(this.incrementalCompilation.state, program);
3943
4073
  this.currentProgram = program;
3944
4074
  });
3945
- const templateTypeChecker = new TemplateTypeCheckerImpl(this.inputProgram, notifyingDriver, traitCompiler, this.getTypeCheckingConfig(), refEmitter, reflector, this.adapter, this.incrementalCompilation, metaReader, localMetaReader, ngModuleIndex, scopeReader, typeCheckScopeRegistry, this.delegatingPerfRecorder);
4075
+ const typeCheckingConfig = this.getTypeCheckingConfig();
4076
+ const templateTypeChecker = new TemplateTypeCheckerImpl(this.inputProgram, notifyingDriver, traitCompiler, typeCheckingConfig, refEmitter, reflector, this.adapter, this.incrementalCompilation, metaReader, localMetaReader, ngModuleIndex, scopeReader, typeCheckScopeRegistry, this.delegatingPerfRecorder);
3946
4077
  const extendedTemplateChecker = this.constructionDiagnostics.length === 0 ? new ExtendedTemplateCheckerImpl(templateTypeChecker, checker, ALL_DIAGNOSTIC_FACTORIES, this.options) : null;
3947
4078
  const templateSemanticsChecker = this.constructionDiagnostics.length === 0 ? new TemplateSemanticsCheckerImpl(templateTypeChecker) : null;
3948
- const sourceFileValidator = this.constructionDiagnostics.length === 0 ? new SourceFileValidator(reflector, importTracker) : null;
4079
+ const sourceFileValidator = this.constructionDiagnostics.length === 0 ? new SourceFileValidator(reflector, importTracker, templateTypeChecker, typeCheckingConfig) : null;
3949
4080
  return {
3950
4081
  isCore,
3951
4082
  traitCompiler,
@@ -3974,18 +4105,18 @@ function isAngularCorePackage(program) {
3974
4105
  return false;
3975
4106
  }
3976
4107
  return r3Symbols.statements.some((stmt) => {
3977
- if (!ts22.isVariableStatement(stmt)) {
4108
+ if (!ts24.isVariableStatement(stmt)) {
3978
4109
  return false;
3979
4110
  }
3980
- const modifiers = ts22.getModifiers(stmt);
3981
- if (modifiers === void 0 || !modifiers.some((mod) => mod.kind === ts22.SyntaxKind.ExportKeyword)) {
4111
+ const modifiers = ts24.getModifiers(stmt);
4112
+ if (modifiers === void 0 || !modifiers.some((mod) => mod.kind === ts24.SyntaxKind.ExportKeyword)) {
3982
4113
  return false;
3983
4114
  }
3984
4115
  return stmt.declarationList.declarations.some((decl) => {
3985
- if (!ts22.isIdentifier(decl.name) || decl.name.text !== "ITS_JUST_ANGULAR") {
4116
+ if (!ts24.isIdentifier(decl.name) || decl.name.text !== "ITS_JUST_ANGULAR") {
3986
4117
  return false;
3987
4118
  }
3988
- if (decl.initializer === void 0 || decl.initializer.kind !== ts22.SyntaxKind.TrueKeyword) {
4119
+ if (decl.initializer === void 0 || decl.initializer.kind !== ts24.SyntaxKind.TrueKeyword) {
3989
4120
  return false;
3990
4121
  }
3991
4122
  return true;
@@ -3999,7 +4130,7 @@ function* verifyCompatibleTypeCheckOptions(options) {
3999
4130
  var _a, _b, _c;
4000
4131
  if (options.fullTemplateTypeCheck === false && options.strictTemplates === true) {
4001
4132
  yield makeConfigDiagnostic({
4002
- category: ts22.DiagnosticCategory.Error,
4133
+ category: ts24.DiagnosticCategory.Error,
4003
4134
  code: ErrorCode.CONFIG_STRICT_TEMPLATES_IMPLIES_FULL_TEMPLATE_TYPECHECK,
4004
4135
  messageText: `
4005
4136
  Angular compiler option "strictTemplates" is enabled, however "fullTemplateTypeCheck" is disabled.
@@ -4018,7 +4149,7 @@ https://angular.dev/tools/cli/template-typecheck
4018
4149
  }
4019
4150
  if (options.extendedDiagnostics && options.strictTemplates === false) {
4020
4151
  yield makeConfigDiagnostic({
4021
- category: ts22.DiagnosticCategory.Error,
4152
+ category: ts24.DiagnosticCategory.Error,
4022
4153
  code: ErrorCode.CONFIG_EXTENDED_DIAGNOSTICS_IMPLIES_STRICT_TEMPLATES,
4023
4154
  messageText: `
4024
4155
  Angular compiler option "extendedDiagnostics" is configured, however "strictTemplates" is disabled.
@@ -4035,7 +4166,7 @@ One of the following actions is required:
4035
4166
  const defaultCategory = (_a = options.extendedDiagnostics) == null ? void 0 : _a.defaultCategory;
4036
4167
  if (defaultCategory && !allowedCategoryLabels.includes(defaultCategory)) {
4037
4168
  yield makeConfigDiagnostic({
4038
- category: ts22.DiagnosticCategory.Error,
4169
+ category: ts24.DiagnosticCategory.Error,
4039
4170
  code: ErrorCode.CONFIG_EXTENDED_DIAGNOSTICS_UNKNOWN_CATEGORY_LABEL,
4040
4171
  messageText: `
4041
4172
  Angular compiler option "extendedDiagnostics.defaultCategory" has an unknown diagnostic category: "${defaultCategory}".
@@ -4048,7 +4179,7 @@ ${allowedCategoryLabels.join("\n")}
4048
4179
  for (const [checkName, category] of Object.entries((_c = (_b = options.extendedDiagnostics) == null ? void 0 : _b.checks) != null ? _c : {})) {
4049
4180
  if (!SUPPORTED_DIAGNOSTIC_NAMES.has(checkName)) {
4050
4181
  yield makeConfigDiagnostic({
4051
- category: ts22.DiagnosticCategory.Error,
4182
+ category: ts24.DiagnosticCategory.Error,
4052
4183
  code: ErrorCode.CONFIG_EXTENDED_DIAGNOSTICS_UNKNOWN_CHECK,
4053
4184
  messageText: `
4054
4185
  Angular compiler option "extendedDiagnostics.checks" has an unknown check: "${checkName}".
@@ -4060,7 +4191,7 @@ ${Array.from(SUPPORTED_DIAGNOSTIC_NAMES).join("\n")}
4060
4191
  }
4061
4192
  if (!allowedCategoryLabels.includes(category)) {
4062
4193
  yield makeConfigDiagnostic({
4063
- category: ts22.DiagnosticCategory.Error,
4194
+ category: ts24.DiagnosticCategory.Error,
4064
4195
  code: ErrorCode.CONFIG_EXTENDED_DIAGNOSTICS_UNKNOWN_CATEGORY_LABEL,
4065
4196
  messageText: `
4066
4197
  Angular compiler option "extendedDiagnostics.checks['${checkName}']" has an unknown diagnostic category: "${category}".
@@ -4090,7 +4221,7 @@ var ReferenceGraphAdapter = class {
4090
4221
  for (const { node } of references) {
4091
4222
  let sourceFile = node.getSourceFile();
4092
4223
  if (sourceFile === void 0) {
4093
- sourceFile = ts22.getOriginalNode(node).getSourceFile();
4224
+ sourceFile = ts24.getOriginalNode(node).getSourceFile();
4094
4225
  }
4095
4226
  if (sourceFile === void 0 || !isDtsPath(sourceFile.fileName)) {
4096
4227
  this.graph.add(source, node);
@@ -4128,8 +4259,8 @@ function versionMapFromProgram(program, driver) {
4128
4259
  return versions;
4129
4260
  }
4130
4261
 
4131
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/host.mjs
4132
- import ts23 from "typescript";
4262
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/host.mjs
4263
+ import ts25 from "typescript";
4133
4264
  var DelegatingCompilerHost = class {
4134
4265
  get jsDocParsingMode() {
4135
4266
  return this.delegate.jsDocParsingMode;
@@ -4214,7 +4345,7 @@ var NgCompilerHost = class extends DelegatingCompilerHost {
4214
4345
  entryPoint = findFlatIndexEntryPoint(normalizedTsInputFiles);
4215
4346
  if (entryPoint === null) {
4216
4347
  diagnostics.push({
4217
- category: ts23.DiagnosticCategory.Error,
4348
+ category: ts25.DiagnosticCategory.Error,
4218
4349
  code: ngErrorCode(ErrorCode.CONFIG_FLAT_MODULE_NO_INDEX),
4219
4350
  file: void 0,
4220
4351
  start: void 0,
@@ -4257,17 +4388,17 @@ var NgCompilerHost = class extends DelegatingCompilerHost {
4257
4388
  return this.fileNameToModuleName !== void 0 ? this : null;
4258
4389
  }
4259
4390
  createCachedResolveModuleNamesFunction() {
4260
- const moduleResolutionCache = ts23.createModuleResolutionCache(this.getCurrentDirectory(), this.getCanonicalFileName.bind(this));
4391
+ const moduleResolutionCache = ts25.createModuleResolutionCache(this.getCurrentDirectory(), this.getCanonicalFileName.bind(this));
4261
4392
  return (moduleNames, containingFile, reusedNames, redirectedReference, options) => {
4262
4393
  return moduleNames.map((moduleName) => {
4263
- const module = ts23.resolveModuleName(moduleName, containingFile, options, this, moduleResolutionCache, redirectedReference);
4394
+ const module = ts25.resolveModuleName(moduleName, containingFile, options, this, moduleResolutionCache, redirectedReference);
4264
4395
  return module.resolvedModule;
4265
4396
  });
4266
4397
  };
4267
4398
  }
4268
4399
  };
4269
4400
 
4270
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/program.mjs
4401
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/program.mjs
4271
4402
  var NgtscProgram = class {
4272
4403
  constructor(rootNames, options, delegateHost, oldProgram) {
4273
4404
  this.options = options;
@@ -4284,7 +4415,7 @@ var NgtscProgram = class {
4284
4415
  if (reuseProgram !== void 0) {
4285
4416
  retagAllTsFiles(reuseProgram);
4286
4417
  }
4287
- this.tsProgram = perfRecorder.inPhase(PerfPhase.TypeScriptProgramCreate, () => ts24.createProgram(this.host.inputFiles, options, this.host, reuseProgram));
4418
+ this.tsProgram = perfRecorder.inPhase(PerfPhase.TypeScriptProgramCreate, () => ts26.createProgram(this.host.inputFiles, options, this.host, reuseProgram));
4288
4419
  perfRecorder.phase(PerfPhase.Unaccounted);
4289
4420
  perfRecorder.memory(PerfCheckpoint.TypeScriptProgramCreate);
4290
4421
  this.host.postProgramCreationCleanup();
@@ -4473,8 +4604,8 @@ var NgtscProgram = class {
4473
4604
  getIndexedComponents() {
4474
4605
  return this.compiler.getIndexedComponents();
4475
4606
  }
4476
- getApiDocumentation(entryPoint) {
4477
- return this.compiler.getApiDocumentation(entryPoint);
4607
+ getApiDocumentation(entryPoint, privateModules) {
4608
+ return this.compiler.getApiDocumentation(entryPoint, privateModules);
4478
4609
  }
4479
4610
  getEmittedSourceFiles() {
4480
4611
  throw new Error("Method not implemented.");
@@ -4493,37 +4624,37 @@ function mergeEmitResults(emitResults) {
4493
4624
  return { diagnostics, emitSkipped, emittedFiles };
4494
4625
  }
4495
4626
 
4496
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/transformers/program.mjs
4627
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/transformers/program.mjs
4497
4628
  function createProgram({ rootNames, options, host, oldProgram }) {
4498
4629
  return new NgtscProgram(rootNames, options, host, oldProgram);
4499
4630
  }
4500
4631
 
4501
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/perform_compile.mjs
4502
- import ts26 from "typescript";
4632
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/perform_compile.mjs
4633
+ import ts28 from "typescript";
4503
4634
 
4504
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/transformers/util.mjs
4505
- import ts25 from "typescript";
4635
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/transformers/util.mjs
4636
+ import ts27 from "typescript";
4506
4637
  function createMessageDiagnostic(messageText) {
4507
4638
  return {
4508
4639
  file: void 0,
4509
4640
  start: void 0,
4510
4641
  length: void 0,
4511
- category: ts25.DiagnosticCategory.Message,
4642
+ category: ts27.DiagnosticCategory.Message,
4512
4643
  messageText,
4513
4644
  code: DEFAULT_ERROR_CODE,
4514
4645
  source: SOURCE
4515
4646
  };
4516
4647
  }
4517
4648
 
4518
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/perform_compile.mjs
4649
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/perform_compile.mjs
4519
4650
  var defaultFormatHost = {
4520
- getCurrentDirectory: () => ts26.sys.getCurrentDirectory(),
4651
+ getCurrentDirectory: () => ts28.sys.getCurrentDirectory(),
4521
4652
  getCanonicalFileName: (fileName) => fileName,
4522
- getNewLine: () => ts26.sys.newLine
4653
+ getNewLine: () => ts28.sys.newLine
4523
4654
  };
4524
4655
  function formatDiagnostics(diags, host = defaultFormatHost) {
4525
4656
  if (diags && diags.length) {
4526
- return diags.map((diagnostic) => replaceTsWithNgInErrors(ts26.formatDiagnosticsWithColorAndContext([diagnostic], host))).join("");
4657
+ return diags.map((diagnostic) => replaceTsWithNgInErrors(ts28.formatDiagnosticsWithColorAndContext([diagnostic], host))).join("");
4527
4658
  } else {
4528
4659
  return "";
4529
4660
  }
@@ -4540,7 +4671,7 @@ function readConfiguration(project, existingOptions, host = getFileSystem()) {
4540
4671
  var _a;
4541
4672
  try {
4542
4673
  const fs = getFileSystem();
4543
- const readConfigFile = (configFile) => ts26.readConfigFile(configFile, (file) => host.readFile(host.resolve(file)));
4674
+ const readConfigFile = (configFile) => ts28.readConfigFile(configFile, (file) => host.readFile(host.resolve(file)));
4544
4675
  const readAngularCompilerOptions = (configFile, parentOptions = {}) => {
4545
4676
  const { config: config2, error: error2 } = readConfigFile(configFile);
4546
4677
  if (error2) {
@@ -4575,7 +4706,7 @@ function readConfiguration(project, existingOptions, host = getFileSystem()) {
4575
4706
  ...existingOptions
4576
4707
  };
4577
4708
  const parseConfigHost = createParseConfigHost(host, fs);
4578
- const { options, errors, fileNames: rootNames, projectReferences } = ts26.parseJsonConfigFileContent(config, parseConfigHost, basePath, existingCompilerOptions, configFileName);
4709
+ const { options, errors, fileNames: rootNames, projectReferences } = ts28.parseJsonConfigFileContent(config, parseConfigHost, basePath, existingCompilerOptions, configFileName);
4579
4710
  let emitFlags = EmitFlags.Default;
4580
4711
  if (!(options["skipMetadataEmit"] || options["flatModuleOutFile"])) {
4581
4712
  emitFlags |= EmitFlags.Metadata;
@@ -4587,7 +4718,7 @@ function readConfiguration(project, existingOptions, host = getFileSystem()) {
4587
4718
  } catch (e) {
4588
4719
  const errors = [
4589
4720
  {
4590
- category: ts26.DiagnosticCategory.Error,
4721
+ category: ts28.DiagnosticCategory.Error,
4591
4722
  messageText: (_a = e.stack) != null ? _a : e.message,
4592
4723
  file: void 0,
4593
4724
  start: void 0,
@@ -4602,7 +4733,7 @@ function readConfiguration(project, existingOptions, host = getFileSystem()) {
4602
4733
  function createParseConfigHost(host, fs = getFileSystem()) {
4603
4734
  return {
4604
4735
  fileExists: host.exists.bind(host),
4605
- readDirectory: ts26.sys.readDirectory,
4736
+ readDirectory: ts28.sys.readDirectory,
4606
4737
  readFile: host.readFile.bind(host),
4607
4738
  useCaseSensitiveFileNames: fs.isCaseSensitive()
4608
4739
  };
@@ -4622,7 +4753,7 @@ function getExtendedConfigPathWorker(configFile, extendsValue, host, fs) {
4622
4753
  }
4623
4754
  } else {
4624
4755
  const parseConfigHost = createParseConfigHost(host, fs);
4625
- const { resolvedModule } = ts26.nodeModuleNameResolver(extendsValue, configFile, { moduleResolution: ts26.ModuleResolutionKind.Node10, resolveJsonModule: true }, parseConfigHost);
4756
+ const { resolvedModule } = ts28.nodeModuleNameResolver(extendsValue, configFile, { moduleResolution: ts28.ModuleResolutionKind.Node10, resolveJsonModule: true }, parseConfigHost);
4626
4757
  if (resolvedModule) {
4627
4758
  return absoluteFrom(resolvedModule.resolvedFileName);
4628
4759
  }
@@ -4632,7 +4763,7 @@ function getExtendedConfigPathWorker(configFile, extendsValue, host, fs) {
4632
4763
  function exitCodeFromResult(diags) {
4633
4764
  if (!diags)
4634
4765
  return 0;
4635
- if (diags.every((diag) => diag.category !== ts26.DiagnosticCategory.Error)) {
4766
+ if (diags.every((diag) => diag.category !== ts28.DiagnosticCategory.Error)) {
4636
4767
  return 0;
4637
4768
  }
4638
4769
  return diags.some((d) => d.source === "angular" && d.code === UNKNOWN_ERROR_CODE) ? 2 : 1;
@@ -4671,7 +4802,7 @@ function performCompilation({ rootNames, options, host, oldProgram, emitCallback
4671
4802
  } catch (e) {
4672
4803
  program = void 0;
4673
4804
  allDiagnostics.push({
4674
- category: ts26.DiagnosticCategory.Error,
4805
+ category: ts28.DiagnosticCategory.Error,
4675
4806
  messageText: (_a = e.stack) != null ? _a : e.message,
4676
4807
  code: UNKNOWN_ERROR_CODE,
4677
4808
  file: void 0,
@@ -4701,7 +4832,7 @@ function defaultGatherDiagnostics(program) {
4701
4832
  return allDiagnostics;
4702
4833
  }
4703
4834
  function hasErrors(diags) {
4704
- return diags.some((d) => d.category === ts26.DiagnosticCategory.Error);
4835
+ return diags.some((d) => d.category === ts28.DiagnosticCategory.Error);
4705
4836
  }
4706
4837
 
4707
4838
  export {
@@ -4746,4 +4877,4 @@ export {
4746
4877
  * Use of this source code is governed by an MIT-style license that can be
4747
4878
  * found in the LICENSE file at https://angular.io/license
4748
4879
  */
4749
- //# sourceMappingURL=chunk-LYN2P66H.js.map
4880
+ //# sourceMappingURL=chunk-52VRTNQS.js.map